public function testGetText() { /** @var ClientInterface $user */ $user = $this->createMock(UserInterface::class); $payload = new TextMessage('incoming text', $user, $user); $this->assertEquals('incoming text', $payload->getText()); }
public function testFileQueue() { $dir = ONPHP_TEMP_PATH . 'tests/messages'; $uri = $dir . '/fileQueueItems'; if (!is_dir($dir)) { mkdir($dir, 0700, true); } if (file_exists($uri)) { unlink($uri); } $queue = TextFileQueue::create()->setFileName($uri); $sender = TextFileSender::create()->setQueue($queue); $receiver = TextFileReceiver::create()->setQueue($queue); $sender->send(TextMessage::create()->setText('first ape')); $sender->send(TextMessage::create()->setText('second ape')); $message = $receiver->receive(); $this->assertNotNull($message); $this->assertEquals('first ape', $message->getText()); $message = $receiver->receive(); $this->assertNotNull($message); $this->assertEquals('second ape', $message->getText()); $sender->send(TextMessage::create()->setText('third ape')); $message = $receiver->receive(); $this->assertNotNull($message); $this->assertEquals('third ape', $message->getText()); }
protected function __construct(array $message) { parent::__construct($message); $this->command = $message['rulezdev:custom']['command']; $this->to = $message['rulezdev:custom']['to']; $this->arguments = $message['rulezdev:custom']['arguments']; }
/** * Фабрикует класс, обрабатывающий сообщение * @param array $m Сообщение на вход * @return object Класс, ответственный за данный тип сообщения */ public static function parseInput($m) { if (empty($m['message_id'])) { return NULL; } if (!empty($m['text'])) { $command = Command::create($m); return $command ? $command : TextMessage::create($m); } elseif (!empty($m['location'])) { return Location::create($m); } }
public function say($text, $reply_to = null, array $reply_markup = null, array $additionalParams = []) { if ($this->parse_mode && empty($additionalParams['parse_mode'])) { $additionalParams['parse_mode'] = $this->parse_mode; } if (!$reply_markup && $this->hide_keyboard) { $reply_markup = ['hide_keyboard' => true]; } $msg = $this->api->sendMessage($this->msg->getChat()->getID(), $text, $reply_to, $reply_markup, $additionalParams); if (empty($msg['ok'])) { throw new \Exception("Error Processing Request: " . print_r($msg, true)); } return TextMessage::create($msg['result']); }
/** * @return Message **/ public function receive($uTimeout = null) { if (!$this->queue) { throw new WrongStateException('you must set the queue first'); } if ($uTimeout && $this->getStream()->isEof()) { usleep($uTimeout); } $string = $this->getStream()->readString(); if (!$string && $this->getStream()->isEof()) { return null; } $this->getQueue()->setOffset($this->getStream()->getOffset()); $string = rtrim($string, PHP_EOL); $chunks = preg_split("/\t/", $string, 2); $time = isset($chunks[0]) ? $chunks[0] : null; $text = isset($chunks[1]) ? $chunks[1] : null; Assert::isNotNull($time); $result = TextMessage::create(Timestamp::create($time))->setText($text); return $result; }
<?php require_once "TextMessage.php"; /*$language = textMessage::setLang("tr_TR"); print $language->msg('cow'); print "\n"; print $language->msg('date'); print "\n"; */ $args = array('32'); $lang = new TextMessage("en_US"); print $lang->getLangCode() . "\n"; print $lang->msg('i am X years old', $args) . "\n"; print $lang->msg('cow') . "\n"; print $lang->msg('date') . "\n"; print "\n \n"; $lang = new TextMessage("tr_TR"); print $lang->getLangCode() . "\n"; print $lang->msg('language', $args) . "\n"; print $lang->msg('i am X years old', $args) . "\n"; print $lang->msg('cow') . "\n"; print $lang->msg('date') . "\n"; setlocale(LC_ALL, 'tr_TR'); $locale_info = localeconv(); print_r($locale_info); setlocale(LC_ALL, 'en_US'); $locale_info = localeconv(); print_r($locale_info);