本文整理汇总了PHP中Api::getUpdates方法的典型用法代码示例。如果您正苦于以下问题:PHP Api::getUpdates方法的具体用法?PHP Api::getUpdates怎么用?PHP Api::getUpdates使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Api
的用法示例。
在下文中一共展示了Api::getUpdates方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: botCoroutine
/**
* @return Generator
* @throws \Steelbot\TelegramBotApi\Exception\TelegramBotApiException
*/
function botCoroutine() : \Generator
{
$api = new Api(getenv('BOT_TOKEN'));
$updateId = 1;
printf("Waiting for updates ...\n");
while (true) {
// waiting for updates from telegram server
/** @var Update[] $updates */
$updates = (yield from $api->getUpdates($updateId));
foreach ($updates as $update) {
$method = processUpdate($update);
if (is_object($method)) {
yield from $api->execute($method);
}
$updateId = $update->updateId;
}
}
}
示例2: iterate
function iterate($offset)
{
$file = Api::getUpdates((string) $offset);
for ($i = 0; $i < count($file); $i++) {
$current = new Message($file[$i]);
$offset = max($current->updateId, $offset) + 1;
$cityLevel = [['Алматы'], ['Астана'], ['Шымкент'], ['Тараз'], ['Кызылорда'], ['Атырау'], ['Актау'], ['Караганда'], ['Павлодар'], ['Семипалатинск'], ['Костанай'], ['Петропавловск'], ['Талдыкорган'], ['Кокшетау']];
$firstLevel = [['Услуги'], ['Акции'], ['Проверить Баланс'], ['Адреса, контакты'], ['Отправить запрос о неполадках'], ['Приложения АЛМА-ТВ']];
$secondLevel = [['Телевидение'], ['Интернет'], ['Интернет + ТВ'], ['TV BOX']];
// $current->reply("Ima got your text with {$current->text()}");
if ($current->text() == '/start') {
$current->replyCode('Добро пожаловать! Вас приветствует официальный бот АЛМА-ТВ' . '%0A' . 'Чтобы продолжить выберите ваш город:', $cityLevel);
}
if ($current->text() == 'Павлодар') {
$current->replyDropDown("Выберите:", $firstLevel);
}
if ($current->text() == 'Алматы') {
$current->replyDropDown("Выберите:", $firstLevel);
}
if ($current->text() == 'Шымкент') {
$current->replyDropDown("Выберите:", $firstLevel);
}
if ($current->text() == 'Услуги') {
$current->replyDropDown("Выберите:", $secondLevel);
}
if ($current->text() == 'Акции') {
$current->reply('Уважаемые дамы и господа!' . '%0A' . 'АЛМА-ТВ запускает новогоднюю акцию, которая позволяет сэкономить до 10 000 тенге.' . '%0A' . 'При внесении предоплаты за 12 и более месяцев, предоставляются скидки:' . '%0A' . '- на пакеты «TV100+» и «Антенна80+» - скидка 18%' . '%0A' . '- на пакеты «TVMAX» и «AntennaMAX» -скидка в 24%.' . '%0A' . 'Специальное предложение, действует до 31 января 2016 года.');
}
if ($current->text() == 'Адреса, контакты') {
$current->replyDropDown("Выберите:", $secondLevel);
}
if ($current->text() == 'Отправить запрос о неполадках') {
$current->replyDropDown("Выберите:", $secondLevel);
}
if ($current->text() == 'Приложения АЛМА-ТВ') {
$current->reply('Приложение “Alma TV” позволяет получить мгновенный доступ к балансу Вашего счёта, телепрограмме и многому другому. Дополнительно, у пользователя есть возможность отправки заявок на подключение или ремонт в несколько простых шагов.
Для проверки баланса требуется быть абонентом компании «АЛМА-ТВ», остальные функции доступны всем пользователям. Возможность управления Вашим счётом и множество иных функций появятся в следующих версиях приложения.' . '%0A' . 'Для скачивания приложения ALMA-TV на Android перейдите по ссылке: ' . '%0A' . 'Приложение "TV BOX". Смотрите любимые передачи, как на телевизоре, так и на мобильных устройствах.
Сортируйте каналы по жанрам, ставьте видео на паузу и перематывайте, выбирайте звуковую дорожку и качество изображения. Подробнее об этих и других функциях TV Box на сайте tv-box.kz' . '%0A' . 'Для скачивания приложения TV BOX на Ваше мобильное устройство, пройдите по ссылкам:', $secondLevel);
}
echo "==> Message text {$current->text()} \n\r";
}
echo "==> Setup new offset {$offset}\n\r";
return $offset;
}
示例3: checkUpdates
/**
* Check updates
*
* @return void
*/
public function checkUpdates()
{
$updates = json_decode($this->_botApi->getUpdates($this->_lastUpdate->getBotUpdateId()), $assoc = true);
$this->_updatesHandler->handleBotApiUpdates($updates);
}
示例4: dirname
#!/usr/bin/env php
<?php
require dirname(__DIR__) . '/vendor/autoload.php';
use Icicle\Loop;
use Steelbot\TelegramBotApi\{Api, InlineQueryResult\InlineQueryResultArticle, InputMessageContent\InputContactMessageContent, InputMessageContent\InputLocationMessageContent, InputMessageContent\InputTextMessageContent, InputMessageContent\InputVenueMessageContent, Type\Update};
if (!getenv('BOT_TOKEN')) {
echo "Error: BOT_TOKEN environment variable not found\n";
printf("Usage:\n BOT_TOKEN=123:telegram_bot_token ./%s\n", basename(__FILE__));
exit(-1);
}
$generator = function () {
$api = new Api(getenv('BOT_TOKEN'));
while (true) {
// waiting for updates from telegram server
/** @var Update[] $updates */
$updates = (yield from $api->getUpdates());
foreach ($updates as $update) {
if ($update->inlineQuery) {
$inlineQuery = $update->inlineQuery;
$results[] = new InlineQueryResultArticle(null, "Text result", new InputTextMessageContent("You entered 1: " . $inlineQuery->query));
$results[] = new InlineQueryResultArticle(null, "Location result", new InputLocationMessageContent(55.757, 37, 616));
$results[] = new InlineQueryResultArticle(null, "Venue result", new InputVenueMessageContent(55.757, 37.616, "Venue title", "Venue address"));
$results[] = new InlineQueryResultArticle(null, "Contact result", new InputContactMessageContent('+0123456789', "First Name"));
$method = new \Steelbot\TelegramBotApi\Method\AnswerInlineQuery($inlineQuery->id, $results);
echo "Answering to #{$inlineQuery->id}\n";
yield from $api->execute($method);
}
}
}
};
$coroutine = new \Icicle\Coroutine\Coroutine($generator());