nerzh / swift-telegram-sdk

🤖 The wrapper for the Telegram Bot API written in Swift. It's not a framework. There is no special syntax here. This is a library that implements all Telegram Bot API methods, which is available to you to work with Vapor, Smoke, Hummingbird, FlyingFox.
https://core.telegram.org/bots/api#available-methods
MIT License
216 stars 32 forks source link

Не могу настроить Webhooks #35

Closed ooleynich closed 2 months ago

ooleynich commented 2 months ago

Сделал все как в readme файле(и в примере https://github.com/nerzh/swift-telegram-sdk/tree/master/Examples/Vapor-Telegram-Bot) Настроил webhooks верно: 1) Запрос https://api.telegram.org/bot{...}/getWebhookInfo показывет корректный url 2) В консоли XCode вижу приходящие запросы при общении с ботом в ТГ

Но почему-то запросы не доходят до бота. В режиме longpolling все работает отлично

В первоначальной библиотеке(https://github.com/givip/Telegrammer) была еще такая строчка: "app.middleware.use(myBot)" Может и тут я что-то упускаю, и приложение просто "не знает", что нужно "перенаправить" запросы в бота?

nerzh commented 2 months ago

в консоли XCode вебхуки работать не будут, чтобы они работали нужен домен и SSL сертификат, тоесть https

nerzh commented 2 months ago

также обратите внимание на телеграм чат ServerSideSwift в ридми, там больше людей меньше задержка ответа и много людей кто использует эту библиотеку и имеет с ней опыт не первый год

ooleynich commented 2 months ago

Спасибо за ссылку на чат, подал запрос А по моему вопросу, наверное, я неверно сформулировал, дополню: я сделал туннель через xTunnel/ngrok, настроил webhooks, как в readme/примере, и получаю запросы от телеграма - вижу их в Vapor хэндлерах: добавляю route "app.post { req async in ... }" и в нем вижу эти запросы, вот прямо все данные в теле JSON(update_id, от кого, callback_data, text, ...). Но до самой либы бота они не доходят - не вызываются хэндлеры именно в боте :-(

ooleynich commented 2 months ago

Покопался в Ваших примерах, нашел, чего не хватает: настроить routes, теперь заработало 😆 PS Добавьте этот пункт настройки в readme, думаю, будет не лишним

nerzh commented 2 months ago

добавил описание в ридми, спасибо