Giter Club home page Giter Club logo

jainy_bot's Introduction

Jainy Bot

Requirements

  • Python 3.12+
  • Discord Account
  • Bot Account (see below for details on how to setup)
  • Docker and Docker Compose

How to get started

Discord Bot Account Setup

  1. Go to discord and make an application for bot
  2. In application page click OAuth -> URL Generator and check the box for bot
  3. Copy the link generated and paste into web browser to invite bot to your discord server
  4. Go to bot page in discord, and reset your token (make sure to copy and paste this somewhere or you will have to reset token again)

Setting up your environment

  1. Use virtualenv to setup a python 3.12 environment or if you want you can use native python 3.12 from system
  2. Run pip install -r requirements.txt from this directory to install dependencies

Setting up Python Secrets and Bot Config

  1. Create a .env file in this directory and set the following variables
DISCORD_BOT_TOKEN=<YOUR TOKEN FROM BEFORE HERE>
MOD_AUDIT_CHANNEL_ID=<Moderation Audit Channel ID here>
ROLE_MESSAGE_ID=<Message to react to for role assignment here>
MODERATOR_ROLES=<roles here separated by `,` for example `a,b,c`>
LOGURU_LEVEL=<LOG LEVEL>
  1. Source the env file you created and run the app.py

jainy_bot's People

Contributors

seekheart avatar dependabot[bot] avatar

Watchers

 avatar  avatar

jainy_bot's Issues

Moderation command suite

Request

As a discord server grows, it becomes more important to moderate the community for bad users. The moderation of the community should also leave a paper trail in the form of logs in a channel to provide context to other moderations on what happened. A bot command suite should be built to enable this.

The bot command should have:

  • mod category which contains commands like kick, ban, timeout which does what name is at face value
  • all commands should have descriptive helper text
  • all mod commands should log to a new channel that is configurable, the event that happened i.e. Kicked <user> because <reason>
  • mod commands in the channel should be an embed discord message with nice formatting to allow for ease of parsing in the future

Bot command to display uptime

Request

As Jainy bot grows in features and complexity, one question that comes up is how long as Jainy been up and when was Jainy deployed (i.e. started on the server)? A bot command to show the uptime a reasonable format

The bot should have:

  • Command to call uptime
  • Display uptime in readable format
  • Description in help command to describe what it does

DALLE Command

What feature are you requesting

Request

For fun it would be nice to have a command that creates a prompt and sends the prompt to DALLE to generate interesting graphics.

The bot command should have:

  • Ability to communicate with a DALLE api to generate images from prompt
  • Records event in correct channel (audit)

Automation of CI/CD

Request

As the project grows, manual creation and deployment of Jainy bot can become tedious. The request is to provide an automated solution for creating the Jainy bot docker image and publishing it to dockerhub and eventually re-deploying the bot on Digital Ocean (DO).

The request should have:

  • Github Actions setup to build docker image whenever PR happens in develop or master
  • Github Actions should push docker image if merge happens in develop or master
  • Github Actions should attempt to run the docker build job when PR is filed

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.