A minimal example of a Telegram Bot running on a Cloudflare Worker.
- Get your new bot token from @BotFather: https://core.telegram.org/bots#6-botfather
- Sign up to Cloudflare Workers: https://workers.cloudflare.com/
- In the Cloudflare Dashboard go to "Workers" and then click "Create a Service"
- Choose a name and click "Create a Service" to create the worker
- Click on "Quick Edit" to change the source code of your new worker
- Copy and paste the code from bot.js into the editor
- Replace the
TOKENvariable in the code with your token from @BotFather - Optional: Change the
WEBHOOKvariable to a different path and theSECRETvariable to a random secret. See https://core.telegram.org/bots/api#setwebhook - Click on "Save and Deploy"
- In the middle panel append
/registerWebhookto the url. For example: https://my-worker-123.username.workers.dev/registerWebhook - Click "Send". In the right panel should appear
Ok. If 401 Unauthorized appears, you may have used a wrong bot token. - That's it, now you can send a text message to your Telegram bot
The bot will send the original message back with Echo: prepended.
If you want to change it, look at the function onMessage(). It receives a Message object and sends a text back:
/**
* Handle incoming Message
* https://core.telegram.org/bots/api#message
*/
function onMessage (message) {
return sendPlainText(message.chat.id, 'Echo:\n' + message.text)
}The file bot2.js contains an improved bot, that demonstrates how to react to commands, send and receive inline buttons, and create MarkdownV2-formatted text.