Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DUCK-E

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!

Commands

Trivia and Studying

  • /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.

Member Points

  • /leaderboard Returns the Top 10 Users with the highest point value
  • /my-points Returns user points

Miscellaneos Fun

  • /tell-a-joke Tells a joke to the channel server. Jokes are a blend between bad puns, dad jokes, boomer humor, and zoomer humor.

Client Server Comms

  • /ping Tests bot latency. Helpful for performing health checks on the server.

Getting Started

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.

Grabbing the repo

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.

Optional:

Virual Environment

  • A python virtual environment to run on
    • python -m venv myenv

Required:

Python

  • 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.

Discord Bot

  • 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

SQL Connection

  • 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.

Going past the first run 🫡

  • 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!! ❤️

Future Features

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

Credits

DUCK-E picture: flikr - Jo Blakely

About

Discord Bot named DUCK-E. For ACM channel at CSU.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages