Skip to content

A discord bot that allows you to set reminders on your server for upcoming codeforces rounds.

License

Notifications You must be signed in to change notification settings

MohamedSaidSallam/CFDiscordNotificationBot

Repository files navigation

CF Discord Notification Bot

CFN Icon

Codacy Badge License GitHub Release Donate Top.gg Support Discord

A discord bot that allows you to set reminders on your server for upcoming codeforces rounds.

Features

To get the full list of commands type ;help after adding the bot to the server.

Upcoming Contests

Use ;upcoming to get the upcoming contest on codeforces.

Upcoming_Example

Contest Notifications

Use ;rfn @ROLE_TO_NOTIFIY to register a channel for notifications.

Register Example

Notification Example

Running the code

You can run the code using any of the following methods.

Venv

Install the required python modules (perferably in a virtual env) to be able to run the bot.

Python -m venv venv
venv\Scripts\activate.bat
Pip install -r requirements.txt

Then copy the .env.example file and rename it to .env and fill in the appropriate values.

Run the bot using the followingL

python -m CFDiscordNotificationBot

Docker

First make sure u have docker installed. Build the image from the dockerfile then run an container using the following commands.

docker build -t cfnbot:latest .
docker run --rm -d -v CFNdata:/usr/src/app/Data/ --name CFN cfnbot:latest

To stop the container:

docker stop CFN

Docker-compose

First make sure u have docker compose installed. Run the following command to start the container.

docker-compose up

Use --build if there has been a change to the Dockerfile.

docker-compose up --build

To stop the container:

docker-compose down

If you to use the same volume as docker change the volume part of docker-compose.yml to:

volumes:
    CFNdata:
        external: true

Built With

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

SemVer was used for versioning. For the versions available, see the tags on this repository. For the Changelog see the CHANGELOG file.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments