Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 19.05.2018 14:05:24

Кто знает, как насторить Телеграм Бот telegram-bot-sdk 3.0.0?

Скажите, пожалуйста, есть ли у кого-то опыт создания Телеграм бота на telegram-bot-sdk 3.0.0?

Я не могу получить 'chat_id'.
И не знаю, как сообщить серверу Телеграм, что я уже получил от него сообщения. А то мой бот без остановки шлёт мне ответы на мою команду.

Не в сети

#2 28.05.2018 01:54:44

Re: Кто знает, как насторить Телеграм Бот telegram-bot-sdk 3.0.0?

Из реального проекта вырезка кода. Пробуйте, документацию почитайте

class BotApi
{
    protected $botToken;
    protected $httpUrl;
    protected $client;

    /** @var Api */
    protected $api;

    /**
     * BotApi constructor.
     * @throws \Telegram\Bot\Exceptions\TelegramSDKException
     */
    public function __construct()
    {
        $this->botToken = config('telegram.bot_token');
        $this->httpUrl = "[url]https://api.telegram.org/bot[/url]" . $this->botToken . "/";
        $this->client = new Client($this->httpUrl);
        $this->api = new Api($this->botToken);
    }

    /**
     * @return Api
     */
    public function getApi()
    {
        return $this->api;
    }

    public function sendMessage($message, $chat_id, $keyboard = [['0. Назад']])
    {

        $reply_markup = $this->api->replyKeyboardMarkup([
            'keyboard' => $keyboard,
            'resize_keyboard' => false,
            'one_time_keyboard' => false
        ]);

        $this->api->sendMessage([
            'chat_id' => $chat_id,
            'text' => $message,
            'reply_markup' => $reply_markup
        ]);
    }
}

Я не могу получить 'chat_id'.

public function __construct(BotApi $bot)
    {
        $this->bot = $bot;
    }

    public function webhook()
    {
        
        /** @var Update $update */
        $update = $this->bot->getApi()->getWebhookUpdates();
        $message = trim($update->getMessage()->getText());

        $data = [
            'update_id' => $update->getUpdateId(),
            'message_id' => $update->getMessage()->getMessageId(),
            'chat_id' => $update->getMessage()->getChat()->getId(),
            'userName' => $update->getMessage()->getChat()->getUsername(),
            'text' => $update->getMessage()->getText(),
            'photo' => $update->getMessage()->getPhoto()
        ];
    }

Не в сети

Подвал раздела