A contest reminder bot.
Go to file
adithyagenie 65590c88f2
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Add auto-rescheduler and error handlers
Signed-off-by: adithyagenie <adithyagenie@gmail.com>
2024-06-19 19:34:53 +05:30
.woodpecker Dockerfile 2024-06-16 00:29:36 +05:30
src Add auto-rescheduler and error handlers 2024-06-19 19:34:53 +05:30
.gitignore Basic implementation of LC contest reminders 2024-06-12 18:01:20 +05:30
Dockerfile Dockerfile 2024-06-16 00:29:36 +05:30
ecosystem.config.js Dockerfile 2024-06-16 00:29:36 +05:30
LICENSE Basic implementation of LC contest reminders 2024-06-12 18:01:20 +05:30
package.json Add throttler for bot 2024-06-16 00:33:06 +05:30
pnpm-lock.yaml Add throttler for bot 2024-06-16 00:33:06 +05:30
README.md Add multiple group broadcast support 2024-06-16 00:52:00 +05:30
tsconfig.json Dockerfile 2024-06-16 00:29:36 +05:30

Force++ (F++)

Force++ (F++ for short) is a Telegram bot designed to notify users about upcoming coding contests on popular competitive programming platforms. Currently, the bot supports notifications for LeetCode, Codeforces and CodeChef contests.

⚠️ Development Status

Note: This bot is heavily unstable and highly in development. Use it at your own risk, and expect frequent changes and potential issues. As of now, it works for a single group or person configured by the chat ID in environment variables.

Installation

  1. Clone the repository:

    git clone https://git.ptr.moe/adithyagenie/forceplusplus.git
    cd forceplusplus
    
  2. Install the required dependencies:

    pnpm install
    
  3. Set up your environment variables. Create a .env file in the root directory and add the following:

    RUN_METHOD="WEBHOOK" or "POLLING"
    BOT_TOKEN="your_telegram_bot_token"
    WEBHOOK_URL="your_webhook_url"
    WEBHOOK_SECRET="your_webhook_secret"
    PORT=your_port_number
    CHAT_ID="your_chat_ids seperated by commas"
    
  4. Run the bot:

    pnpm start
    

Configuration

  • RUN_METHOD: The method to run the bot. Use "WEBHOOK" for webhook mode or "POLLING" for polling mode.
  • BOT_TOKEN: The token you get from BotFather on Telegram.
  • WEBHOOK_URL: The URL for the webhook (required if using webhook mode).
  • WEBHOOK_SECRET: The secret for the webhook (required if using webhook mode).
  • PORT: The port number to run the webhook server on (required if using webhook mode).
  • CHAT_ID: The chat IDs of the group or person where the bot will send notifications, seperated by commas.

Usage

Once the bot is running, it will automatically send notifications about upcoming contests to the configured chat ID.

License

This project is licensed under the AGPL-v3.0 License. See the LICENSE file for details.