Skip to content

About

Discord Bot meant to facilitate coding practice through configurable daily problems, contest alerts, and other settings.

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Repository files navigation

This project is completed and likely will not receive any new features, only maintenance updates.

Overview

A Discord bot that encourages LeetCode practice within a server by automatically posting personalized, recurring coding problems.

It's intended for servers that want structured, recurring practice with light competition elements. Server administrators choose which days and times problems are posted, their difficulty, and whether premium problems are included.

Features:

  • Scheduled Problems: Up to 5 recurring problems, each posted on any number of days with its own difficulty
  • Competition: Users submit problems they've solved for points on a server leaderboard
  • Contest Notifications: Reminders for upcoming contests and alerts when they go live
  • Daily Problem: Notifications for the official daily LeetCode problem

Links:

View more about the project on its showcase page.

Usage

To get started, I recommend using /help, which briefly explains most of the implicit parts of the bot. After that, configure your server with /serverconfig, then your problems with /problemconfig. For a full walkthrough, visit the Help Page.

Arguments marked with * are optional.

Main Commands

  • /lcproblem <dif> <premium*> - Posts a problem for users to solve.
  • /dailylcproblem - Posts the LeetCode daily problem.
  • /contests - Displays upcoming contest times.

Competition Commands

  • /submitproblems - Submits recently completed problems. Earns points if they were active.
  • /leaderboard - Displays the current point leaderboard.
  • /rank <user*> - Displays the current leaderboard position of a user.

Config & Status Commands

  • /userinfo <user*> - Displays user information.
  • /setusername <username> - Sets the LeetCode username of the user.
  • /deleteuser - Deletes a user's config.
  • /problemconfig <problemID> - Configures a problem.
  • /probleminfo - Displays information about all configured problems.
  • /problemactive - Displays the problems that can be submitted for points.
  • /deleteproblem <problemID> - Deletes a problem's config.
  • /serverconfig <setting group> - Configures server settings.
  • /serverinfo - Displays information about a server's config.
  • /resetdupes - Clears a server's duplicate problems.
  • /deleteserver - Deletes a server's config.

Misc. Commands

  • /about - Displays some information about the bot.
  • /report - Provides the GitHub link so users can report bugs.
  • /help <command*> - Explains background info and gives details about an individual command.
  • /vote - Provides a link to Top.gg to show support.
  • /tutorial - Provides a link to the Help Page.

Showcase

BeastCode bot overview

Example problem posted by the bot

Example problem posted by the bot

Setup

To run this locally, you need your own Discord key, stored in a key.json file in the data folder.

pip install -r requirements.txt
{
  "key": "string — production API key",
  "testkey": "string — local testing API key",
  "id": int — Discord user ID for error logging
}

License & Credits

The project is licensed under the MIT License.

This is a personal project and has no official affiliation with LeetCode.

Support

If you found this project helpful or enjoyable, and want to support future work, you can buy me a coffee on Ko-fi

ko-fi

About

Discord Bot meant to facilitate coding practice through configurable daily problems, contest alerts, and other settings.

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages