A Discord bot for server and community management with a focus on school/programming/fun related commands.
-
Role Management: Easily manage you and your users roles with designated assignable roles
-
Starboard: Allow your server to highlight the best or funniest messages by members with a starboard, simply assign the starboard channel and react with stars
-
Customizable Prefix: Whatever you want ClemBot to respond to, it can. Just set your servers preferred prefix with
!prefix set <prefix>
-
Python Repl: Coding is fun, Discord is fun. Put them together and collaborative learning is easy with a built in python interpreter. Just type your python code into discord and run it with
!eval
and watch the bot evaluate your code. -
Message Logging: Clembot offers the abillity to log message edits and deletions, just run
!channels add message_log #mychannel
to designate a channel as a log message -
Tags: Tags allow you to create message snippets that can be invoked right in discord with a simple inline command. Just run
!tag add <MyTagName> <MyTagsBody>
and invoke it with$MyTagName
-
Channel Generation: If you are a school related server clembot offers an easy way to generate class channels and roles. Just run
!class add
and follow the onscreen prompts -
Welcome Messages: You can optionally set a message to be sent to new members of your server. Making it easy to make sure people understand rules and procedures.
-
Expression Evaluator: Clembot implements the shunting yard algorithim to allow for rapid mathematical expression evaluation right in discord. just run
!calc 1+1
to get your result -
Meme Generator: SpongeBob text, Crab raves, wheres waldo and more. only one way to find all of them!!
-
Weather Forecasts: Clembot supports weather forecasts from anywhere in the world, simply run
!weather <location>
to get a full 7 day forecast for your area -
Translation: Leveraging Azure translation services Clembot supports over 50 langauges world wide for instant translation!
-
Moderation: Coming soon!!!
and so much more
Clembot is in current active development so check back often to see whats new!!
To invite Clembot to your server click this link: Clembot Invite
We are a community focused on learning and acceptance; anyone is welcome. If you have an idea or a feature you would like to contribute, feel free to open an issue and we as a community can begin discussion.
To start developing and contributing to this project, please see CONTRIBUTING.md
The bot is set up in a simple way. There are 3 layers, the Cog layer, the Service layer and the Data layer.
- Cog layer - This is where the frontend bot command code resides. Anything that you directly use to interface with discord goes in this layer.
- Service layer - This is where all things that are bot related but not controlled through front end commands live. Things like user tracking, event handling etc all go in here.
- Data layer - This is the abstraction on top of the sqlite database. This layer is a collection of repositories which contain the code to query and insert from the DB.
The bot loads Cogs and Services dynamically. To create a new command simply create a class that inherits from Command.Cog and defines a setup function in module scope at the bottom. See example_cog.py for an example.
The bot does the same thing for services, to see how to define a service, see example_service.py