A Telegram bot that helps you discover QA and IT conferences across Europe and notifies you about new events with early bird ticket availability.
- π Search Conferences: Find upcoming QA and IT conferences across Europe
- π Smart Notifications: Get notified when new conferences are added
- ποΈ Early Bird Alerts: Never miss early bird ticket opportunities
- π Custom Filters: Filter by country, topic, and date
- πΎ Conference Database: Stores conference information locally
- Open Telegram and search for @BotFather
- Send
/newbotcommand - Choose a name for your bot (e.g., "Conference Finder")
- Choose a username (must end in 'bot', e.g., "qa_conference_finder_bot")
- BotFather will give you an API token - save this!
# Create a virtual environment (recommended)
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txtSet your Telegram bot token as an environment variable:
# Linux/Mac
export TELEGRAM_BOT_TOKEN='your-token-from-botfather'
# Windows (Command Prompt)
set TELEGRAM_BOT_TOKEN=your-token-from-botfather
# Windows (PowerShell)
$env:TELEGRAM_BOT_TOKEN='your-token-from-botfather'Or create a .env file:
TELEGRAM_BOT_TOKEN=your-token-from-botfather
python conference_bot.pyThe bot will start and you should see "Starting bot..." in the console.
/start- Start the bot and see welcome message/search- Search for QA/IT conferences/subscribe- Enable notifications for new conferences/unsubscribe- Disable notifications/upcoming- View upcoming conferences (next 3 months)/filters- Set your notification preferences/help- Show help message
- Start a chat with your bot on Telegram
- Send
/startto initialize - Send
/subscribeto enable notifications - Send
/searchto find conferences - Use
/filtersto customize what you see - Receive automatic notifications about new conferences!
conference_bot.py # Main bot logic
βββ ConferenceBot # Core bot class
βββ Command Handlers # /start, /search, /subscribe, etc.
βββ Callback Handlers # Button interactions
βββ Background Jobs # Periodic conference checks
conferences.json # Conference database
users.json # User subscriptions and preferences
The bot uses JSON files to store:
- conferences.json: All discovered conferences with details
- users.json: User subscriptions and filter preferences
The bot runs a background job every 12 hours to:
- Search for new conferences online
- Compare with existing database
- Notify subscribed users about new findings
- Alert about upcoming early bird deadlines
To enable real-time conference discovery, integrate web scraping:
import requests
from bs4 import BeautifulSoup
def scrape_conferences():
"""Scrape conferences from popular sites"""
sources = [
'https://confs.tech',
'https://conferenceindex.org',
# Add more sources
]
# Implement scraping logicPopular conference aggregators:
- Confs.tech (has an API!)
- Conferenceindex.org
- 10times.com
- Eventbrite API
- Meetup API
For production use, consider replacing JSON files with:
- SQLite (built-in Python)
- PostgreSQL (scalable)
- MongoDB (flexible schema)
Simple for testing, but bot stops when computer is off.
Free Options:
- Heroku (with worker dyno)
- Railway.app
- Render.com
- PythonAnywhere
Paid Options:
- AWS EC2
- Google Cloud
- DigitalOcean
- AWS Lambda with scheduled triggers
- Google Cloud Functions
# Install Heroku CLI
# https://devcenter.heroku.com/articles/heroku-cli
# Login to Heroku
heroku login
# Create app
heroku create your-conference-bot
# Set environment variable
heroku config:set TELEGRAM_BOT_TOKEN='your-token'
# Create Procfile
echo "worker: python conference_bot.py" > Procfile
# Deploy
git init
git add .
git commit -m "Initial commit"
git push heroku main
# Start the worker
heroku ps:scale worker=1- Check if the bot is running (
python conference_bot.py) - Verify your token is correct
- Check console for error messages
- Ensure you've subscribed with
/subscribe - Check that the background job is running
- Verify conferences exist in the database
- Make sure Python 3.8+ is installed
- Try reinstalling:
pip install -r requirements.txt --upgrade
- Integration with conference APIs (Confs.tech, Eventbrite)
- Calendar export (iCal format)
- Price tracking for tickets
- Conference reviews and ratings
- Multi-language support
- Speaking opportunity alerts
- Hotel and travel recommendations
- Early bird ticket countdown timer
Feel free to enhance the bot with:
- More data sources
- Better search algorithms
- UI improvements
- Additional notification options
This project is open source and available under the MIT License.
If you encounter issues:
- Check the console output for errors
- Verify your bot token
- Ensure all dependencies are installed
- Check Telegram API status
Built with:
- python-telegram-bot
- Conference data from community sources
Happy conference hunting! π