A Telegram bot that delivers daily updates of arXiv papers based on your topics of interest.
- Daily Paper Updates: Receive notifications about new papers in your selected research areas
- Topic Management: Add or remove research topics (e.g., cs.CV, cs.AI)
- Customizable Schedule: Set your preferred notification time and timezone
- Paper Details: View full abstracts and metadata for any paper
- User Authorization: Control who can access your bot
- Python 3.11+
- Telegram Bot Token
# Build the Docker image
docker build -t goidarxiv-bot .
# Run the container
docker run -d --name goidarxiv-bot goidarxiv-bot- Clone the repository
git clone https://github.com/yourusername/goidarxiv.git
cd goidarxiv- Install dependencies using uv
pip install uv
uv sync-
Configure the bot (see Configuration section)
-
Run the bot
uv run main.pyCreate a config.json file with the following structure:
{
"token": "YOUR_TELEGRAM_BOT_TOKEN",
"authorized_users": [123456789],
"topics": ["cs.CV", "cs.AI"],
"notification_time": "09:00",
"timezone": "UTC"
}token: Your Telegram bot token (get it from @BotFather)authorized_users: List of Telegram user IDs allowed to use the bottopics: List of arXiv categories to monitornotification_time: Daily notification time (24-hour format)timezone: Your timezone (e.g., "UTC", "US/Eastern", "Europe/London")
/start- Start the bot/help- Show available commands/topics- Show current topics/add_topic <topic>- Add a new topic (e.g., cs.CV, cs.AI)/remove_topic <topic>- Remove a topic/set_time HH:MM- Set notification time (24h format)/set_timezone <timezone>- Set timezone/today- Get today's papers now/abstract <paper_id>- Show full abstract of a paper by its arXiv ID/authorize <user_id>- Authorize a new user (admin only)
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.