Giveaway Bot
GiveawayBot is a Telegram bot for conducting giveaways.
Main features:
- Creation of giveaways with settings: number of winners, duration, type, text, captcha, photo/video.
- Participation in two ways — through a keyword in the comments to the post or by pressing a button.
- Selection of winners with animation for transparent results in live broadcasts.
- Notification of participants about the end of the contest.
- Publication of results with a "check results" link leading to the bot with the list of winners.
- Protection against bots (captcha) for button-based giveaways.
- Connection of channels for automatic use in giveaways (a linked group is required for comment-based).
- Editing the end date of the giveaway.
- Error handling with automatic sending of details to owners from the config.
Technical stack: Python 3.10–3.11, PostgreSQL (database), Telegram Bot API, timezone via pytz. Deployment as a systemd service on Linux (auto-start and restart after crashes), code is located in /var/giveaway_bot.
In short: this is a ready-made solution for Telegram channel administrators who regularly hold contests and want to automate the entire process — from creating the giveaway to fairly determining and publishing the winners.
Main features:
- Creation of giveaways with settings: number of winners, duration, type, text, captcha, photo/video.
- Participation in two ways — through a keyword in the comments to the post or by pressing a button.
- Selection of winners with animation for transparent results in live broadcasts.
- Notification of participants about the end of the contest.
- Publication of results with a "check results" link leading to the bot with the list of winners.
- Protection against bots (captcha) for button-based giveaways.
- Connection of channels for automatic use in giveaways (a linked group is required for comment-based).
- Editing the end date of the giveaway.
- Error handling with automatic sending of details to owners from the config.
Technical stack: Python 3.10–3.11, PostgreSQL (database), Telegram Bot API, timezone via pytz. Deployment as a systemd service on Linux (auto-start and restart after crashes), code is located in /var/giveaway_bot.
In short: this is a ready-made solution for Telegram channel administrators who regularly hold contests and want to automate the entire process — from creating the giveaway to fairly determining and publishing the winners.