GiveMintBot: An advanced Telegram bot for creating, managing, and automating giveaways in Telegram channels. It supports multi-admin channel management, giveaway templates, automatic deadline handling, smart winner selection, and secure prize delivery via private messages.
- ➕ Add & Manage Channels - Link multiple channels with admin verification
- 🎁 Create Giveaways - Step-by-step wizard for easy setup
- 🏆 Winner Selection - Random or First-X participant selection
- 🎯 Required Subscriptions - Ensure participants join specific channels
- 📊 Dashboard & Analytics - Track active/expired giveaways and stats
- ⏰ Automatic Deadline - Background task checks and ends giveaways
- 💬 Prize Distribution - Automatic DM to winners with their prizes
- 📄 Giveaway Templates – Save pre-configured giveaway settings to create new giveaways faster
- Python 3.11+
- MongoDB (running locally or MongoDB Atlas)
- Telegram Bot Token (from @BotFather)
- Telegram API credentials (from my.telegram.org)
-
Clone or download this project
-
Install dependencies:
pip install -r requirements.txt- Setup environment variables:
Open .env and edit with your values:
BOT_TOKEN=your_bot_token_here
API_ID=your_api_id_here
API_HASH=your_api_hash_here
MONGODB_URI=mongodb://localhost:27017/
DB_NAME=giveaway
BOT_OWNER_ID=your_telegram_user_idHow to get these values:
BOT_TOKEN: Message @BotFather on TelegramAPI_ID&API_HASH: Get from my.telegram.org/appsBOT_OWNER_ID: Message @userinfobot to get your user ID
- Run the bot:
python main.py- Click ➕ Add Channel
- Send the channel ID or @username
- The bot verifies admin permissions
- Channel is linked and ready for giveaways
- Click 🎁 Create Giveaway
- Follow the wizard:
- Select channel
- Enter title
- Enter description
- Set duration (e.g., 5m, 1h, 2d)
- Set winner count
- Choose winner type (Random / First X)
- Send prize(s)
- Add required subscriptions (optional)
- Confirm and publish
Single Prize (same for all winners):
THM-PREMIUM-KEY-9A3X7B2
Multiple Prizes (one per winner):
johndoe:12345
janedoe:pass4321
THM-PREM-KEY-9Q2W
KEY-AAA1-BBB2-CCC3
Supported formats:
username:passwordemail@example.com:passwordREDEEM-CODE-12345KEY-XXXX-YYYY-ZZZZhttps://www.canva.com/join/abc-def-ghi[ Link Suported ]
One prize per line. Each line is treated as a separate prize.
Click 📊 Dashboard to:
- View active giveaways
- View expired giveaways
- Check analytics (participants, winners, etc.)
- The bot must be an admin in every channel where giveaways are hosted
- The bot must be an admin in all channels used for forced subscriptions.
- Required permissions: Post messages, Edit messages, Delete messages
- Prizes are sent via private DM to winners only
- The bot verifies that users are channel admins before allowing them to add channels
"Failed to link channel"
- Ensure the bot is an admin in the channel
- Check that the channel ID/username is correct
- Verify you are an admin in the channel
"Missing permissions"
- Grant the bot: Post, Edit, Delete messages permissions
"Giveaway not posting"
- Verify bot is still an admin with proper permissions
- Name: Bisnu Ray
- Telegram: @itsSmartDev
Feel free to reach out if you have any questions or feedback.