DUCK-E is a fun and interactive bot designed for Computer Science and Tech communities platformed on discord. It's core objective is to create a fun and interactive space for learning and discussion amongst its server members. This bot was created and is maintained by students at Columbus State University within the ACM Chapter. The duck represents the official mascot for the ACM @ CSU organization and is beloved by all. We hope you enjoy our project!
- /explain-question Explains the answer to a selected question
- /flash-events-start One 'Quick event' question will be sent at random on a daily occurence. Those on that're able to answer quickly and correctly will be rewarded a generous amount of server points.
- /flash-events-stop Stops the flash-events in the channel where the command was given. (Admin Only)
- /question Posts a random multiple-choice question from a selected topic, allows reactions, and evaluates answers.
- /quiz Posts multiple random questions from the chosen topic into a dedicated thread within the interactions channel. Great for studying!
- /subject-overview Provides the subject topic and subtopic details.
- /leaderboard Returns the Top 10 Users with the highest point value
- /my-points Returns user points
- /tell-a-joke Tells a joke to the channel server. Jokes are a blend between bad puns, dad jokes, boomer humor, and zoomer humor.
- /ping Tests bot latency. Helpful for performing health checks on the server.
All code should be tested and approved by a 2nd developer prior to integrating code with main. To test, please walkthrough the information listed on how to get started locally.
Create a branch based off main. It is recommended to name it after the task being done but {Name}'s First Bot will suffice if unsure of what to pick up at first.
- A python virtual environment to run on
python -m venv myenv
- Python 3.9+
- Packages
pip install requirements.txt -r- Warning
⚠️ : If skipped and package versions are off far enough, your code may break once pushed to production. Please be cautious of this when skipping this command.
- Add a .env file
- Create a .env file at the root of the project directory.
- Insert
DISCORD_TOKEN=your-token-here - We'll come back here shortly to enter this token
- Creating a discord bot token and bot placed
on a server for testing
- This video will kindly walk you through all the needed steps.
Creating a Discord Bot in Python (2025) | Episode 1: Setup & Basics
- No need to implement their code, although all is helpful and recommended for beginners to watch
- Key time stamps: 1:15-7:15, 13:51-16:10
- Note: In the 2nd portion, you will instead add your token to .env
- This video will kindly walk you through all the needed steps.
Creating a Discord Bot in Python (2025) | Episode 1: Setup & Basics
- To have a database to connect to you can either set up a MySQL database or use SQLite following the steps located at the bottom of the ducke/constants/constants.py file.
- Open the Issues Tab and look for good first issue. This will help you gain good footing and understanding of the repo while still contributing to important tasks.
- Once complete, submit a PR and notify the @Bot Programmer role members in the ACM discord, a kept up to date link of our discord channel is provided here.
- Feel free to read up on some other issues, TODOs, and discussion plans. Your help is greatly appreciated!! ❤️
For more information on planned features please refer to the Issues Tab. At a high level this will provide:
- Personal studying material - /add-subject, /remove-subjuct
- Weekly Coding Challenges - /weekly-coding-tasks-start, /weekly-coding-tasks-end
- Study Progress Tracking - /quiz-progress-chart
- Club Info Reporting - /announcements
- Board Games - /start-game
- Board Game Server Tournaments - /start-game-tournament
DUCK-E picture: flikr - Jo Blakely