Code Monkey home page Code Monkey logo

codysgithub / clembot Goto Github PK

View Code? Open in Web Editor NEW

This project forked from clembotproject/clembot

0.0 0.0 0.0 14.56 MB

A Discord bot for server management with a focus on school related commands. We are a community focused on learning and acceptance and 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.

License: MIT License

Python 99.60% Shell 0.05% Dockerfile 0.35%

clembot's Introduction

ClemBot


Support Made with Python 3.8 MIT License

ClemBot

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

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

  • Moderation: Coming soon!!!

and so much more

Clembot is in current active development so check back often to see whats new!!

Bot Invite

To invite Clembot to your server click this link: Clembot Invite

Community

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.

Development

To start developing and contributing to this project, please see CONTRIBUTING.md

Architecture overview

The bot is set up in a simple way. There are 3 layers, the Cog layer, the Service layer and the Data layer.

  1. Cog layer - This is where the frontend bot command code resides. Anything that you directly use to interface with discord goes in this layer.
  2. 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.
  3. 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

ClemBot Master Deployment

clembot's People

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.