mirror of
https://github.com/danog/MadelineProto.git
synced 2024-11-27 01:34:40 +01:00
Wrap remaining amphp helper methods
This commit is contained in:
parent
692bcbcb1d
commit
660be7ae70
2
bot.php
2
bot.php
@ -40,7 +40,7 @@ class EventHandler extends \danog\MadelineProto\EventHandler
|
|||||||
if ($res == '') {
|
if ($res == '') {
|
||||||
$res = var_export($update, true);
|
$res = var_export($update, true);
|
||||||
}
|
}
|
||||||
//yield $this->sleep_async(3);
|
//yield $this->sleep(3);
|
||||||
try {
|
try {
|
||||||
yield $this->messages->sendMessage(['peer' => $update, 'message' => "<code>$res</code>", 'reply_to_msg_id' => isset($update['message']['id']) ? $update['message']['id'] : null, 'parse_mode' => 'HTML']); //'entities' => [['_' => 'messageEntityPre', 'offset' => 0, 'length' => strlen($res), 'language' => 'json']]]);
|
yield $this->messages->sendMessage(['peer' => $update, 'message' => "<code>$res</code>", 'reply_to_msg_id' => isset($update['message']['id']) ? $update['message']['id'] : null, 'parse_mode' => 'HTML']); //'entities' => [['_' => 'messageEntityPre', 'offset' => 0, 'length' => strlen($res), 'language' => 'json']]]);
|
||||||
if (isset($update['message']['media']) && $update['message']['media']['_'] !== 'messageMediaGame') {
|
if (isset($update['message']['media']) && $update['message']['media']['_'] !== 'messageMediaGame') {
|
||||||
|
@ -42,7 +42,7 @@ class EventHandler extends \danog\MadelineProto\CombinedEventHandler
|
|||||||
if ($res == '') {
|
if ($res == '') {
|
||||||
$res = var_export($update, true);
|
$res = var_export($update, true);
|
||||||
}
|
}
|
||||||
yield $MadelineProto->sleep_async(3);
|
yield $MadelineProto->sleep(3);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
yield $MadelineProto->messages->sendMessage(['peer' => $update, 'message' => "<code>$res</code>\n\nDopo 3 secondi, in modo asincrono", 'reply_to_msg_id' => isset($update['message']['id']) ? $update['message']['id'] : null, 'parse_mode' => 'HTML']); //'entities' => [['_' => 'messageEntityPre', 'offset' => 0, 'length' => strlen($res), 'language' => 'json']]]);
|
yield $MadelineProto->messages->sendMessage(['peer' => $update, 'message' => "<code>$res</code>\n\nDopo 3 secondi, in modo asincrono", 'reply_to_msg_id' => isset($update['message']['id']) ? $update['message']['id'] : null, 'parse_mode' => 'HTML']); //'entities' => [['_' => 'messageEntityPre', 'offset' => 0, 'length' => strlen($res), 'language' => 'json']]]);
|
||||||
|
@ -78,7 +78,7 @@ trait UpdateHandler
|
|||||||
if (!$params['timeout']) {
|
if (!$params['timeout']) {
|
||||||
$params['timeout'] = 0.001;
|
$params['timeout'] = 0.001;
|
||||||
}
|
}
|
||||||
yield $this->any([$this->waitUpdate(), new Delayed($params['timeout'] * 1000)]);
|
yield $this->first([$this->waitUpdate(), $this->sleep($params['timeout'])]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($this->updates)) {
|
if (empty($this->updates)) {
|
||||||
|
@ -25,7 +25,10 @@ use Amp\Promise;
|
|||||||
use Amp\Success;
|
use Amp\Success;
|
||||||
use function Amp\Promise\all;
|
use function Amp\Promise\all;
|
||||||
use function Amp\Promise\any;
|
use function Amp\Promise\any;
|
||||||
|
use function Amp\Promise\some;
|
||||||
use function Amp\Promise\wait;
|
use function Amp\Promise\wait;
|
||||||
|
use function Amp\Promise\first;
|
||||||
|
use function Amp\Promise\timeout;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Some tools.
|
* Some tools.
|
||||||
@ -95,23 +98,6 @@ trait Tools
|
|||||||
return $resto < 0 ? $resto + abs($b) : $resto;
|
return $resto < 0 ? $resto + abs($b) : $resto;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function array_cast_recursive($array, $force = false)
|
|
||||||
{
|
|
||||||
if (!\danog\MadelineProto\Magic::$has_thread && !$force) {
|
|
||||||
return $array;
|
|
||||||
}
|
|
||||||
if (is_array($array)) {
|
|
||||||
if (!is_array($array)) {
|
|
||||||
$array = (array) $array;
|
|
||||||
}
|
|
||||||
foreach ($array as $key => $value) {
|
|
||||||
$array[$key] = $this->array_cast_recursive($value, $force);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $array;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function unpack_signed_int($value)
|
public function unpack_signed_int($value)
|
||||||
{
|
{
|
||||||
if (strlen($value) !== 4) {
|
if (strlen($value) !== 4) {
|
||||||
@ -186,14 +172,7 @@ trait Tools
|
|||||||
|
|
||||||
return unpack('d', \danog\MadelineProto\Magic::$BIG_ENDIAN ? strrev($value) : $value)[1];
|
return unpack('d', \danog\MadelineProto\Magic::$BIG_ENDIAN ? strrev($value) : $value)[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function infloop()
|
|
||||||
{
|
|
||||||
while (true) {
|
|
||||||
Loop::loop();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function wait($promise)
|
public function wait($promise)
|
||||||
{
|
{
|
||||||
if ($promise instanceof \Generator) {
|
if ($promise instanceof \Generator) {
|
||||||
@ -202,6 +181,8 @@ trait Tools
|
|||||||
return $promise;
|
return $promise;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$exception = null;
|
||||||
|
$value = null;
|
||||||
$resolved = false;
|
$resolved = false;
|
||||||
do {
|
do {
|
||||||
try {
|
try {
|
||||||
@ -238,6 +219,24 @@ trait Tools
|
|||||||
}
|
}
|
||||||
return any($promises);
|
return any($promises);
|
||||||
}
|
}
|
||||||
|
public function some($promises)
|
||||||
|
{
|
||||||
|
foreach ($promises as &$promise) {
|
||||||
|
$promise = $this->call($promise);
|
||||||
|
}
|
||||||
|
return some($promises);
|
||||||
|
}
|
||||||
|
public function first($promises)
|
||||||
|
{
|
||||||
|
foreach ($promises as &$promise) {
|
||||||
|
$promise = $this->call($promise);
|
||||||
|
}
|
||||||
|
return first($promises);
|
||||||
|
}
|
||||||
|
public function timeout($promise, $timeout)
|
||||||
|
{
|
||||||
|
return timeout($this->call($promise), $timeout);
|
||||||
|
}
|
||||||
public function call($promise)
|
public function call($promise)
|
||||||
{
|
{
|
||||||
if ($promise instanceof \Generator) {
|
if ($promise instanceof \Generator) {
|
||||||
@ -296,7 +295,7 @@ trait Tools
|
|||||||
return $deferred->promise();
|
return $deferred->promise();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function sleep_async($time)
|
public function sleep($time)
|
||||||
{
|
{
|
||||||
return new \Amp\Delayed($time * 1000);
|
return new \Amp\Delayed($time * 1000);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user