Skip to content

Repository files navigation

GoidArXiv Bot

A Telegram bot that delivers daily updates of arXiv papers based on your topics of interest.

Features

  • 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

Setup

Prerequisites

  • Python 3.11+
  • Telegram Bot Token

Installation

Using Docker (Recommended)

# Build the Docker image
docker build -t goidarxiv-bot .

# Run the container
docker run -d --name goidarxiv-bot goidarxiv-bot

Manual Setup

  1. Clone the repository
git clone https://github.com/yourusername/goidarxiv.git
cd goidarxiv
  1. Install dependencies using uv
pip install uv
uv sync
  1. Configure the bot (see Configuration section)

  2. Run the bot

uv run main.py

Configuration

Create 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 bot
  • topics: List of arXiv categories to monitor
  • notification_time: Daily notification time (24-hour format)
  • timezone: Your timezone (e.g., "UTC", "US/Eastern", "Europe/London")

Usage

Bot Commands

  • /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)

License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages