A powerful and multilingual Telegram bot to create professional-looking polls with various formats โ including basic polls, quiz polls, and multi-format polls. Built using Telegraf.js, this bot supports persistent buttons, inline help, image replies, and rate limiting.
- ๐ฏ Basic, Quiz, and Multi-format Polls
- ๐ Language-ready format (currently English, extensible)
- ๐ง Rate-limiting to avoid spam
- ๐ธ Welcome Image with Inline Buttons
- ๐ Smart Message Editing for Help/Back buttons
- ๐งฉ Modular and easy-to-extend structure
- Node.js (v18 or above)
- Telegram Bot Token from BotFather
git clone https://github.com/SudoR2spr/Quiz-polls-Bot.git
cd Quiz-polls-Bot
npm install
Create a .env
file in the root directory with the following:
BOT_TOKEN=your_bot_token_here
BASE_URL=https://your-app-url.com
PORT=3000
npm start
The bot will start and respond to the following commands:
Command | Description |
---|---|
/start | Sends welcome image and buttons |
/help | Shows poll creation guide |
/poll | Basic poll: /poll "Question" |
/pollquiz | Quiz poll with explanation |
/pollmult | Advanced format: options in A/B/C form |
/future | (Planned) Show upcoming features |
The /start
command sends an image with:
- โ Inline button: Help
- ๐ External button: Join Channel
If message editing fails, the bot deletes the previous message and sends a new one.
/pollmult Which country has the largest Bengali-speaking population?
a) India
b) Bangladesh โ
c) Pakistan
Based on 2023 language census data
/pollquiz What is the capital of France?
Paris โ
| Berlin | Madrid
Correct answer is Paris.
To avoid abuse, each user can trigger a command once every 3 seconds.
If exceeded, the bot replies:
โ เฆฆเงเฆพ เฆเฆฐเง เฆเฆเฆเง เฆ เฆชเงเฆเงเฆทเฆพ เฆเฆฐเงเฆจ! เฆเงเฆฌ เฆฆเงเฆฐเงเฆค เฆเฆฎเฆพเฆจเงเฆก เฆชเฆพเฆ เฆพเฆเงเฆเงเฆจเฅค
- ๐ Multi-language UI
- ๐ Scheduled Polls
- ๐ Poll Analytics Dashboard
- ๐ Poll Templates
MIT License ยฉ [SudoR2spr]
See the LICENSE file for more info.