A Telegram bot for the Agile Canarias community, built with grammY and Deno. The bot helps manage group rules, suggestions, session proposals, and more.
- /rules: Shows the group rules.
- /suggestion [your suggestion]: Send constructive feedback or improvement proposals to the organization.
- /session: Propose a session, talk, kata, workshop, etc.
- /help: Shows available commands and help.
- Welcomes new members to the group with a custom message.
- Receives and summarizes form responses (e.g., from Tally) and sends them to the organization chat.
- Deno installed locally (for development)
- A Telegram bot token (create one here)
- (Optional) Tally webhook secret for session proposals
Set the following environment variables in your Deno Deploy project settings:
TELEGRAM_TOKEN: Your Telegram bot tokenTELEGRAM_WEBHOOK_SECRET: Secret for Telegram webhookTALLY_WEBHOOK_SECRET: Secret for Tally webhook
deno task devThis will start the bot and listen for incoming webhooks locally.
This bot is deployed on Deno Deploy. To deploy:
- Push your code to a GitHub repository.
- Create a new project in Deno Deploy and link your repository.
- Set the environment variables (
TELEGRAM_TOKEN,TELEGRAM_WEBHOOK_SECRET,TALLY_WEBHOOK_SECRET) in the Deno Deploy dashboard. - Set the entrypoint to
main.ts. - Deploy!
bot.ts: Main bot logic and command handlersmain.ts: HTTP server and webhook handlingsummarySession.ts: Utilities for summarizing and extracting data from form responsesformatNamesList.ts: Helper for formatting user names in welcome messages
MIT