Closed VendigoCode closed 7 years ago
Так и есть, либо общая точка входа с роутингом в нужные места, где расположена логика команд, либо все в одном месте
Тогда правильно ли я понимаю что необходимо получить для начала $message, для того чтобы данный участок кода выполнился?
$bot->command('ping', function ($message) use ($bot) { $bot->sendMessage($message->getChat()->getId(), 'pong!'); });
да, этим и занимается $bot->run();
.
class TelegramController extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
public function webhook(Request $request)
{
$token = 'TOKEN_HERE'
$bot = new Client($token);
/** @var BotApi $bot */
$bot = $this->bot;
$bot->command('ping', function (Message $message) use ($bot) {
/** @var BotApi $bot */
$bot->sendMessage($message->getChat()->getId(), 'pong!');
});
$bot->run();
return new JsonResponse($token);
}
}
Route::post('/api/v1/telegram', 'Telegram\TelegramController@webhook');
Вы не могли бы добавить полностью пример только с ping - pong на laravel? Я уверен что после этого все дальнейшие вопросы по использованию библиотеки в laravel отпадут!
Вот же выше
@Troinik честно, не вижу разницы где использовать эту библиотеку, везде подключение будет одинаковое, точку входа указали и всё.
Все норм, все работает, сам протупил. Спасибо :)
Непонятно как вообще работает код ) `try { $bot = new \TelegramBot\Api\Client('*****');
} catch (\TelegramBot\Api\Exception $e) { $e->getMessage(); }`
Если использовать
$bot->sendMessage()
с указанием id чата и сообщением - все отправляется, отправляются и инлайновые элементы, непонятно только каким образом получаем команду? Пробовал и ping и /ping webhook для домена стоит, пробный скрипт отрабатывает хорошо, а вот с этим примером никак не могу разобраться. Единственное что приходит в голову - это вручную разбирать пришедший json, и в зависимости от того что пришло - выбирать нужное действие, но тогда все будет на одном большом switch. Может я что-то делаю не так?