Mike
если есть, то делайте $bot = new TelegramBot\Api\Client ();
Umid
Заработал, спасибо.
Mike
я знаю этот пакет
Mike
https://github.com/TelegramBot/DevAnswerBot/blob/master/index.php
Mike
вот пример же
Mike
оттуда же
Umid
Блин, не туда смотрел.
Mike
все что надо отправить клиенту делается через TelegramBot\Api\Client
Mike
а для всего остального там достаточно и названия )
Mike
?
Umid
Umid
Я до этого, установил кнопки вот таким образом.
Umid
Затем код удалил. Стал через пакет всё делать.
Umid
Но кнопки не стёрлись. Как можно их удалить?
Mike
т.е. не стерлись?
Mike
бот все равно продолжает отсылать кнопки?
Umid
Да.
Mike
а весь код можно глянуть?
Mike
где собирается сообщение и идет его отправка
Umid
Umid
Вот это свежий код. Вместо того, старого.
Mike
а скрин того что сейчас приходит от бота?
Umid
Umid
Похоже понял, в новом коде не указал id чата, где нужно эти кнопки установить.
Umid
Но где его указывать?
Mike
может попробуете кнопки делать через InlineKeyboardMarkup
Mike
а не Reply
Umid
Не, инлайновые не пойдут.
Mike
хз откуда кнопки беруться)
Mike
нигде же их не отрисовываете
Umid
В этом коде я указывал id чата, в котором необходимо установить кнопки. А в предпоследнем скрине не было подобных указаний. В этом может быть проблема?
Mike
https://tlgrm.ru/docs/bots/api#keyboardbutton
Mike
вот тут про кнопки
Mike
у вас используется скорей всего KeyboardButton
Mike
значит надо их заменить на что-то
Mike
KeyboardButton и делает эти кнопки
Umid
$bot->command( "buttons", function ( $message ) use ($bot) { $keyboard = new \TelegramBot\Api\Types\ReplyKeyboardMarkup([ [ ["text" => "Hello"], ["text" => "World"] ] ], true, true); });
Umid
А такой вариант не сходит почему?
Mike
что - то не так с клавиатурой
Mike
для чего вам тут ReplyKeyboardMarkup?
Umid
для чего вам тут ReplyKeyboardMarkup?
Всё еще не разобрался. Не могли бы вы глянуть ещё 1 раз, пожалуйста.
Umid
Umid
ВОт, команда $bot->run() всё ломает(
Umid
Без неё хоть сообщения работали - лишь 10 строка. А что касательно command('start' ... Так он тоже не работает.
Mike
ну вы немного неправильно делаете все
Umid
)
Mike
нужные функции вынесите лучше отдельно
Mike
и будет вам счастье
Mike
сейчас скину пример из своего
Mike
там одна команда
Mike
и вся магия творится внутри
Mike
http://joxi.ru/D2PJJgOido8LXr
Mike
на определенную команду через функцию замыкание срабатывает нужный контроллер с нужгным методом
Mike
таких блоков вы делаете сколько вам надо
Mike
затем $bot->run()
Mike
самый главный вопрос зачем и почему?
Umid
затем $bot->run()
И впрвду, зачем он?
Mike
если вы посмотрите в код пакета, то увидете что там собирается коллекция таких обработчиков
Mike
Closure Collection
Mike
т.е. сначала накапливаются обработчики
Mike
ничего другого там быть не должно
Mike
а затем только и запускается работа бота
Umid
Оу, т.е. надо сначала вызывать run, а потом и все остальные команды?
Mike
нет
Mike
run() вызывается и все
Mike
остальные команды вызовутся сами в функции замыкании
Mike
http://joxi.ru/a2Xbbl8iyoW6br
Umid
http://joxi.ru/D2PJJgOido8LXr
До сих пор не могу понять, как это использовать.
Mike
просто нужно все обернуть в функцию
Umid
А зачем сервис роутера?
Mike
на него не надо смотреть )
Mike
это был конкретно под мою задачу
Umid
Т.е. он мне не нужен?
Mike
http://joxi.ru/8AnddaPCqQk37m
Mike
вот все что вам надо
Umid
Понял. Сейчас повтыкаю.
Mike
вверху еще неймспейсы, но думаю это и так понятно