Questionable is a daily chaos generator for your Telegram group. Every day, a fresh question drops, and the poll options? The names of your own crew. It’s messy, fun, and a little bit ruthless. Vote on who fits the question best and watch the drama unfold. Built for laughs, banter, and keeping your group on its toes :).
Questionable is composed of two main modules:
- Question Generator — a Python script that uses the Gemini API to create a new question every day.
- Telegram Bot — a bot that retrieves the latest question from a Supabase database, generates a related image using Cloudflare Workers AI (
@cf/leonardo/lucid-origin), and posts them as a poll in a Telegram group.
The entire workflow is automated through GitHub Actions:
- The Question Generator runs daily and stores the generated question in Supabase.
- The Telegram Bot is then triggered to retrieve the question, create a visual image from it, and publish the poll automatically.
Questionable was born because our group chat wanted to have fun, but without spending a single penny. You can do the same! All the required services (GitHub, Supabase, Gemini, Cloudflare Workers AI and Telegram Bot) offer free tiers that fully cover this use case, so you can build and customize your own Questionable!
These are the steps you have to follow:
- Create a repository on GitHub (you can clone this repository or add each component by hand).
- You can edit the contexts list or the model prompt in the
update_question.pyfile to change language or style of the question as you like (currently the style is "simple" but you can make it "punk" or even more "family friendly"). - Create a Telegram group chat and make anyone in the group admin.
- Get a Google AI API key.
- Get a Cloudflare Workers AI API token as your Cloudflare Account token ID.
- Create a Supabase Project and build the questions table as specified, you can use the
create_questions_table.txtfile content and run it in the Supabase SQL editor. - Create a Telegram Bot, add it to your group chat and make it admin.
- Store the required API keys and token (look at update_question.py and bot.py) in the GitHub Secrets key section. (
Settings->Security->Secrets and variables->Actions->New repository secret) - Now enjoy the chaos with your friends :).
This project is licensed under the MIT License. See the LICENSE file for details.
- Clone the repository
git clone https://github.com/foughtmoss/questionable.git
cd questionable
