67 комментариев
Страница 1 из 1
    seoonly.ru

    Коммуникабельный бот-)

    Александра

    Спасибо огромное! Реально круто! тоже вчера на эти кнопки полдня убила, но так и не дошла до логичного завершения, а сегодня с вашей помощью все ок! Сейчас пробую методы editMessageCaption и editMessageReplyMarkup, чтоб не новые сообщения отправлялись, а перезатирались старые (особенно полезно для клавиатур). Еще раз спасибо

    Ваше слово, товарищ Браузер

    Ебааааать! Ты Штокман? Троцкач, которого еще когда соцсети были молодыми и рулили форумы, банили повсюду. Чур, меня, чур. Форум РКСМ(б) помнишь, форум ревфронта загорска? Какие срачи были, эх….

    Хасан

    Привет, было бы здорово если бы написал статью про интернет магазинов или доставка еды. Щас такие боты актуальная тема помоэму!

    Виктор

    Здарова, а как подключиться к БД?
    я попробовал так, но не сработал..

    $mysqli = new mysqli(«localhost», «*****», «***********», «*****_db»);
    if ($mysqli->connect_errno) {
    echo «Не удалось подключиться к MySQL: (» . $mysqli->connect_errno . «) » . $mysqli->connect_error;
    }
    $bot->command(‘pip’, function ($message) use ($bot) {
    $res = $mysqli->query(«SELECT name FROM stopwatch Where id=1»);
    $row = $res->fetch_assoc();
    $bot->sendMessage($message->getChat()->getId(), $row);
    });

    Али

    Добрый вечер aftamat4ik!
    как можно обработать InlineKeyboard и ReplyKeyboard в методе on()??

    Mixa

    Скажите, а можно как то отправлять в канал в бдном сообщении и текст, и изображение, да так, чтобы урл изображения не отображался. Пробовал в режиме HTML. но там тег <img не поддерживается

    Роман

    Привет. Пытаюсь по крону запустить файл, чтоб каждые 10 мин слал сообщение в чат, приходят ошибки, хотя если вручную запускать все работает:
    PHP Fatal error: Uncaught exception ‘TelegramBot\Api\HttpException’ with message ‘Bad Request’ in /telegramMonitor/vendor/telegram-bot/api/src/BotApi.php:261

    Подскажите, из-за чего может быть такое?

    Balumba

    Доброго времени суток. Подскажите пожалуйста. Как получить id пользователя, отправившего запрос боту?
    Например:
    $bot->command(‘start’, function ($message) use ($bot) {

    });
    Я не силён в ооп. Поэтому задаю этот, может глупый, вопрос.

    DLC

    Здравствуйте! а можете скинуть пример какова нибудь бота! с использованием этой библиотеки! т.е где используются большинства
    функций и как правильно реализовывать функционал этой библиотеки! если есть уже у вас готовые боты с данной библиотекой!

    DLC

    А как сделать чтобы бот мог читать html теги? при отправке сообщения!

      DLC

      Всё сам разобрался!
      $bot->sendMessage($message->getChat()->getId(), ‘Раздел продукция!’, ‘HTML’);

    DLC

    А можете дать примеры использования: (editMessageText) (editMessageCaption) (editMessageReplyMarkup) и объяснить всём из отличие!

    Fadnier

    Не работает пример с Inline кнопками. Я так подозреваю из за того что функции getCallbackQuery в коде бота нет вообще.

    Gopher

    Александр, спасибо за шикарные статьи! Ваши маны в закладки однозначно! )) Вопросик есть небольшой, как сделать что-бы при нажатии на кнопку (ReplyKeyboardMarkup) наша кастомная клава не пропадала с экрана? делал как у вас в примерах. Заранее благодарен.

      Gopher

      Разобрался короче, может кому пригодится, чтобы кнопки не пропадали, секрет в комментарии
      $keyboard = new \TelegramBot\Api\Types\ReplyKeyboardMarkup(array(array(«one», «two», «three»)), true); // true for one-time keyboard

    Gopher

    Александр, а вы не пробовали менять кнопки ReplyKeyboard например в зависимости от полученного ответа? Такое вообще возможно?

    Gopher

    в обработчике команды start создаю $keyboard, вывожу sendMessage-м, всё нормально. Потом создаю таким-же способом $keyboard2, сообщение с разметкой меняется, а кнопки нет ((

    $keyset = [
    [[«text» => «Today»],[«text» => «Вчера»]],
    [[«text» => «Текущий месяц»],[«text» => «Прошлый месяц»]]
    ];
    $keyboard2 = new \TelegramBot\Api\Types\ReplyKeyboardMarkup($keyset, false, true);
    $bot->sendMessage($Update->getMessage()->getChat()->getId(), $answer, ‘HTML’, false, false, null, $keyboard2);

    Gopher

    не нужен там второй объект клавиатуры ($keyboard2), такое впечатление, как-то с первым нужно работать мне кажется, но пока решения нет.

      Gopher

      Да братка, как ты говоришь тоже работает, но лишнее сообщение приходится отсылать. Это я перемудрил с параметрами, лишний false передал. Можно клаву менять и не скрывая, просто новый объект сразу слать и всё.

      вот так НЕ ПРАВИЛЬНО:
      $bot->sendMessage($Update->getMessage()->getChat()->getId(), $answer, ‘HTML’, false, false, null, $keyboard2);

      а вот так ПРАВИЛЬНО:
      $bot->sendMessage($Update->getMessage()->getChat()->getId(), $answer, ‘HTML’, false, null, $keyboard2);

    Gopher

    А сессии кто нибудь юзал в ботах? Вычитал такую штуку, что вроде как их не получается использовать в ботах. Как вариант, один немчик свой класс запилил и в мускуле хранит переменные. https://pius-ladenburger.de/blog/2016/03/14/a-session-with-a-telegram-bot/ Может кто лучше выход нашел?

    Иван

    Нужна помощь, уже второй день не могу понять как тут реализовать казалось бы очень простую задачу: диалоговый ввод?
    Например нужно получить 3 строки от пользователя
    нажимаем на кнопку ввести данные и бот нас последовательно спрашивает 3 вопроса и запоминает на них ответы, спрашиваю именно про вложенный цикл и последовательный структурированный ввод, что бы можно было либо принять данные(проверить через рег выражение) или отклонить их, что бы нельзя было уйдти в другое меню(кроме /start) просто вбив команду в чат.

    Вот так:
    1: Как к вам обращаться? (Ответ либо имя либо /start)
    Ответ: Иван
    2: Сколько вам лет? (Ответ либо число либо /start)
    Ответ: 19
    3: Введите вашу почту (Ответ либо почта либо /start)
    Ответ: [email protected]

    Ну и на выходе получить эти 3 значения.

    Alex

    Александр, извиняюсь, случайно не встречались с такой ошибкой?

    Fatal error: Uncaught exception ‘TelegramBot\Api\HttpException’ with message ‘couldn’t open file «sitename»‘ in /home/u/upswee4g/sitename.ru/public_html/test/revcom_bot/vendor/telegram-bot/api/src/BotApi.php:245 Stack trace: #0 /home/u/upswee4g/sitename.ru/public_html/test/revcom_bot/vendor/telegram-bot/api/src/BotApi.php(212): TelegramBot\Api\BotApi->executeCurl(Array) #1 /home/u/upswee4g/sitename.ru/public_html/test/revcom_bot/vendor/telegram-bot/api/src/BotApi.php(321): TelegramBot\Api\BotApi->call(‘sendMessage’, Array) #2 [internal function]: TelegramBot\Api\BotApi->sendMessage(‘@sitename’, ‘\xD0\xA2\xD0\xB5\xD1\x81\xD1\x82’) #3 /home/u/upswee4g/sitename.ru/public_html/test/revcom_bot/vendor/telegram-bot/api/src/Client.php(405): call_user_func_array(Array, Array) #4 /home/u/upswee4g/sitename.ru/public_html/test/revcom_bot/index.php(24): TelegramBot\Api\Client->__call(‘sendMessage’, Array) #5 /home/u/upswee4g/sitename.ru/public_html/test/revcom_bot/index.php(24): TelegramBot\Api\Client->sendMess in /home/u/upswee4g/sitename.ru/public_html/test/revcom_bot/vendor/telegram-bot/api/src/BotApi.php on line 245

    Виталий

    а в этой библиотеке тип https://core.telegram.org/bots/api#keyboardbutton не поддерживается, как я понял?

    Killian

    Спасибо за исходники! Я новичок в написании ботов. Как я понял нужно загрузить на хостинг с https. Я так и сделал. но у меня не сработало ничего. Шел по инструкции но не получается. Буду благодарен помощи. Спасибо.

    Killian

    У меня такая же ошибка выдается

    Fatal error: Uncaught Error: Call to undefined function TelegramBot\Api\json_decode() in /home/lessivet/public_html/vladislavgoffman.com/bot/vendor/telegram-bot/api/src/BotApi.php:276 Stack trace: #0 /home/lessivet/public_html/vladislavgoffman.com/bot/vendor/telegram-bot/api/src/BotApi.php(210): TelegramBot\Api\BotApi::jsonValidate(‘{«ok»:true,»res…’, true) #1 /home/lessivet/public_html/vladislavgoffman.com/bot/vendor/telegram-bot/api/src/BotApi.php(415): TelegramBot\Api\BotApi->call(‘setWebhook’, Array) #2 [internal function]: TelegramBot\Api\BotApi->setWebhook(‘https://vladisl…’) #3 /home/lessivet/public_html/vladislavgoffman.com/bot/vendor/telegram-bot/api/src/Client.php(196): call_user_func_array(Array, Array) #4 /home/lessivet/public_html/vladislavgoffman.com/bot/index.php(34): TelegramBot\Api\Client->__call(‘setWebhook’, Array) #5 {main} thrown in /home/lessivet/public_html/vladislavgoffman.com/bot/vendor/telegram-bot/api/src/BotApi.php on line 276

    юзер

    Привет я могу залить этот скрипт в хост и он сразу начинает работать да? после замены токна или сертификат и прочие надо получить?

    Артём

    Отличные статьи. Нашёл всё что нужно.
    Вопрос.
    Есть ли готовый вариант скипта кнопок «лайк» и «дизлайк»?
    Очень помогло бы

    Александр

    Привет, не могу понять, какой командой удалить кнопку под сообщением. Т.е. я показал юзеру кнопку под сообщением и при определенном событии мне нужно её убрать. Так можно сделать вообще? )

Добавить Комментарий