Skip to content

codebam/cf-workers-telegram-bot

 
 

Repository files navigation

cf-workers-telegram-bot

Deploy to Cloudflare Workers

screenshot of cf-workers-telegram-bot

serverless telegram bot on cf workers

The original worker.js is the content of Nikhil John's https://github.com/nikhiljohn10/telegram-bot-worker which is licensed with MIT. My modifications are licensed under the Apache license.

The first bot configuration is fully featured, and responds to all received messages with llama2 if a command isn't found.

To get continuous conversation with llama2 working make sure you add a database to your wrangler.toml and initailize it with the schema.sql

To use the deploy button:

  • Click the deploy button

  • Navigate to your new GitHub repository > Settings > Secrets and add the following secrets:

    - Name: CF_API_TOKEN (should be added automatically)
    - Name: CF_ACCOUNT_ID (should be added automatically)
    
    - Name: SECRET_TELEGRAM_API_TOKEN
    - Value: your-telegram-bot-token
  • Push to master to trigger a deploy

To fork this repo and use wrangler:

  • Click fork
  • npm i -g wrangler
  • wrangler secret put SECRET_TELEGRAM_API_TOKEN and set it to your telegram bot token
  • wrangler d1 create llama2
  • put the database block from the command in your wrangler.toml
  • wrangler d1 execute llama2 --file ./schema.sql
  • wrangler deploy
  • Done!

Getting started with cf-workers-telegram-bot

Once you've deployed the bot you can get your Webhook command URL by doing any of the following.

  • sha256sum(YourTelegramSecretKey) is the path to your webhook commands and should be put at the end of your worker URL to access commands such as setting your webhook
  • Use echo -n yoursecretkey | sha256sum to get the path
  • Open the Cloudflare Worker Logs under Workers > cf-workers-telegram-bot > Logs > Begin log stream and make a GET request (open it in your browser) to your Worker URL and look at the logs to see your Access URL
  • Run wrangler tail --format pretty from inside your git repository and make a GET request to your Worker URL

Example URL for setting the Webhook and dropping pending updates:

https://cf-workers-telegram-bot.codebam.workers.dev/a948904f2f0f479b8f8197694b30184b0d2ed1c1cd2a1ec0fb85d299a192a447?command=set

About

Serverless AI Telegram Bot on CloudFlare Workers

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE
MIT
LICENSE_MIT

Stars

Watchers

Forks

Sponsor this project

 

Languages

  • TypeScript 98.0%
  • Makefile 1.5%
  • JavaScript 0.5%