Telegram module for Strongo bots framework
We build with our own tooling:
- SpecScore — specify requirements as
SpecScore.mdartifacts - SpecStudio — author & manage specs across their lifecycle
- inGitDB — store structured data in Git where applicable
- DALgo — data access layer for Go
- cover100.dev — drive toward 100% test coverage
- DataTug — query & explore data
The tgWebhookHandler struct is implementing botsfw.WebhookHandler interface
and is an entry point for all incoming requests from Telegram. To create it you need to call
NewTgWebhookHandler() function.
To expose local server to the Internet we use ngrok.
ngrok http 4300Make sure that you have started local GAE server & Firestore emulators - follow instructions from README.md.
After ngrok started you will see something like:
Forwarding https://****-***-**.ngrok-free.app -> http://localhost:4300You would need to register the forwarding URL for bot you are testing with Telegram by calling this url:
https://****-***-**.ngrok-free.app/bot/tg/set-webhook?code=BOT_CODE
where ****-***-** is the forwarding URL from ngrok output and BOT_CODE is the code of the bot you are testing.
The bot will be registered using secret tokens that you should set using environment variables:
TELEGRAM_BOT_TOKEN_<BOT_CODE>=<TELEGRAM_BOT_TOKEN>You can create a personal bot for testing purposes using BotFather.
The bot with the given code should be registered in your app and the value is CASE SENSITIVE.