Giter Club home page Giter Club logo

contest-bot's Introduction

contest-bot

A simple discord bot to notify you regarding upcoming contests on Codeforces and Hackerearth.

Disclaimer

The bot is still under construction, and can be buggy

Steps to install

  • pip3 install discord.py

Steps to run

  • python3 bot.py

Features as of now

  • Returns Codeforces contests in personal chat as an embed

Folder Heirarchy

.
├── bot.py
├── cogs
│   ├── commands.py
│   ├── events.py
├── config.py
├── config.py.example
├── LICENSE
├── README.md
└── utils
    ├── cf.py
    ├── he.py
    └── utility.py

  • bot.py consists of all the core methods to run the bot. It is just like the main file.
  • cogs folder currently consists of events.py and commands.py. All events and commands must be coded in their respective files.
  • Once you clone from Github, you need to first make the config file on your own. You have to get the token from discord developer portal and replace in the token variable.
  • Rename config.py.example as config.py.example
  • cf.py consists of all the API related tasks/scraping to be done from CodeForces
  • he.py needs to be made similarly so that all related tasks can be done from HackerEarth.

A small advice. While making changes, try working on a new branch.

Do check out DiscordPy documentation for more details.

Contribution

In case you find any issues, feel free to add them in the Issues tab.

contest-bot's People

Contributors

rtwksai avatar

Watchers

 avatar  avatar

contest-bot's Issues

Feat: Set Reminders on the day of the contest

Once -cfnext command is exectued, the client must get an option to set reminders.

Features

  • A command -remind must be present with the parameter which means contest id.
  • An alternative would be using emoji reactions.
  • Emoji reactions can be used to set the time as well as to choose the contest

Change: -cfnext doesn't return the latest contests

-cfnext command doesn't return the latest commands.
Rather it returns by reversing the list given by the API and then , which is incorrect in implementation.

Solution:
Use relativeTimeSeconds to sort the contests, and then send the first few contests accordingly.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.