public function onCompletion(Server $server) { if ($this->hasResult()) { PocketTelegram::debug("Result: " . $this->getResult()); if (!is_null($this->callback)) { call_user_func($this->callback, $this->getResult()); } } }
public function onRun($currentTick) { PocketTelegram::request("getUpdates", is_null(self::$lastUpdate) ? [] : ['offset' => self::$lastUpdate->getUpdateId() + 1], function ($json) { $response = json_decode($json, true); if (!isset($response['ok']) or $response['ok'] !== true) { PocketTelegram::getUpdates(GetUpdatesTask::$errorCounter *= 2); return; } foreach ($response['result'] as $result) { GetUpdatesTask::$lastUpdate = $update = Update::create($result); if (!is_null($update->getMessage())) { Server::getInstance()->getPluginManager()->callEvent(new TelegramMessageEvent($update->getMessage())); } } GetUpdatesTask::$errorCounter = 1; PocketTelegram::getUpdates(); }); }
public function onPlayerQuit(PlayerQuitEvent $event) { $event->getPlayer()->setDisplayName(substr($event->getPlayer()->getDisplayName(), strlen(PocketTelegram::getInstance()->getConfig()->get("minecraftUserPrefix", "~")))); $event->setQuitMessage($event->getPlayer()->getLeaveMessage()); }
/** * @param TextMessage|TranslationContainer|string $message * @param Chat|string $chatId * @param Message|int $replyToMessage */ public static function sendMessage($message, $chatId, $replyToMessage = null) { if (is_null($message) or $message === "" or is_null($chatId) or $chatId === "") { return; } if ($message instanceof TextMessage) { $message = $message->getText(); } else { if ($message instanceof TranslationContainer) { $message = PocketTelegram::translateString($message); } } $message = TextFormat::clean($message); if ($chatId instanceof Chat) { $chatId = $chatId->getId(); } if ($replyToMessage instanceof Message) { $replyToMessage = $replyToMessage->getMessageId(); } while (true) { $nextMessage = null; if (($len = mb_strlen($message, 'UTF-8')) >= 4096) { $nextMessage = mb_substr($message, 4096, $len, 'UTF-8'); $message = mb_substr($message, 0, 4096, 'UTF-8'); } $params = ['chat_id' => $chatId, 'text' => $message]; if (self::$enableMarkdownParsing) { $params['parse_mode'] = "Markdown"; } if (self::$disableWebPagePreview) { $params['disable_web_page_preview'] = "true"; } if (!is_null($replyToMessage)) { $params['reply_to_message_id'] = $replyToMessage; } PocketTelegram::request("sendMessage", $params); if (is_null($nextMessage) or $nextMessage === "") { break; } $message = $nextMessage; } }
public function __construct(Message $message) { parent::__construct(PocketTelegram::getInstance()); $this->message = $message; }