This project is based on discord.py and is meant to be a 'Quick Start Bot' to cut down on the time it takes to write complex discord bots.

Overview

Generic-DiscordBot

This project is based on discord.py and is meant to be a 'Quick Start Bot' to cut down on the time it takes to write complex discord bots.

NOTE: Written for python 3. Last updated [2020-12-20].


Features:

  • Full multi-server support
    • Per-server bot settings
    • Per-server command prefix
    • Global bot settings
    • Ban a user globally or a guild from using the bot
  • Useful bot admin utilites
    • Get invite to requested server
    • Have the bot echo your message
    • Detailed logging
    • Automated testing
  • Easy to add new commands and games
    • Add command aliases
    • Define permission levels
    • Set commands to DM only
    • Add command descriptions and usage information
    • No need to worry about restarting bot during any running games
  • Custom help messages based on user's permission level (superadmin, server admin, user)
  • Get notified if the bot is unable to access the database

And any other bot/server specific features you wish to write!


Version 1.0 Checklist:

  • Broadcast message to bot server admins
  • Switch help and settings commands to use interactive embeds
  • Enable/disable commands on global level
  • Enable/disable commands on server level
  • Restrict commands to certain channels on server level
  • Chunk and zip log files if size exceeds limit

Setup Instructions:

  1. Install Python Dependencies:

    $ python3 -m pip install discord.py
    $ python3 -m pip install pymysql
    $ python3 -m pip install asgiref
    
  2. Install MySQL:

  3. Place bot files directory in '/usr/local/lib/':

    • After placing the files, make update the file permissions
      $ sudo chown root:root /usr/local/lib/Generic-DiscordBot/src/DB_main.py
      $ sudo chmod 644 /usr/local/lib/Generic-DiscordBot/src/DB_main.py
      
  4. Set up discord bot user

    • Go to the discord developer portal create an application.
    • Create a bot user for your application.
    • Enable the 'Server Members Intent' setting under the 'Privileged Gateway Intents' section.
  5. Update the bot's settings:

    • Update the prefs.json file found in the /res folder.
    • If not present run the bot once to generate both the folder and file.
    • Bot tester client token is only necessary when running the tester bot.
  6. Allow bot's stop and start to be handled by systemd:

    • Place 'generic_bot.service' in '/etc/systemd/system/'
    • Then run:
      $ sudo chown root:root /etc/systemd/system/generic_bot.service
      $ sudo chmod 644 /etc/systemd/system/generic_bot.service
      
      $ sudo systemctl daemon-reload
      $ sudo systemctl enable generic_bot
      

Visit here to learn more about systemd and unit files

  1. Check if the bot's service is enabled properly:

    $ sudo systemctl list-unit-files | grep generic_bot
    generic_bot.service                enabled
    
  2. Start / stop the bot's service:

    $ sudo systemctl start generic_bot
    $ sudo systemctl stop generic_bot
    $ sudo systemctl restart generic_bot
    $ sudo systemctl status generic_bot
    

And you're done! The bot automatically creates all of the folders, files, and database tables it uses as needed.

Owner
Alec Ibarra
Texas A&M University - Electrical Engineering
Alec Ibarra
Huggingface inference with GPU Docker on AWS

This repository contains code to containerize and deploy a GPU docker on AWS for summarization task. Find a detailed blogpost here Youtube Video Versi

Ramsri Goutham Golla 21 Dec 30, 2022
Vladilena Mirize Music - Bot Music Telegram By @zenfrans

Vladilena Mirize Music - Bot Music Telegram By @zenfrans

Wahyusaputra 3 Feb 12, 2022
discord vc exploit to lightly lag vcs

discord-vc-reconnector discord vc exploit to lag vcs how to use open the py file, then open devtools on discord, go to network and join a vc, dont sta

Tesco 30 Aug 09, 2022
Scratch2py or S2py is a easy to use, versatile tool to communicate with the Scratch API Based of Scratch2py

Scratch2py Scratch2py or S2py is a easy to use, versatile tool to communicate with the Scratch API Based of Scratch2py Installation Run this command i

2 Jan 13, 2022
Maintained wavelink fork for pycord

Pycord.Wavelink Wavelink is robust and powerful Lavalink wrapper for Pycord! Wavelink features a fully asynchronous API that's intuitive and easy to u

Pycord Development 23 Dec 11, 2022
Ein PY-Skript, mit dem tiled-Editor-Maps bearbeitet werden

tilesetCopyrighter Ein PY-Skript, mit dem tiled-Editor-Maps bearbeitet werden können fügt je Tileset eine custom-Property tilesetCopyright (string) hi

1 Dec 26, 2021
Super simple anti-spam Discord bot

AutoAntiRaidBot Super simple anti-spam Discord bot. Will automatically kick any member with an account made under 1 day ago, and will ban any member w

Kainoa Kanter 6 Jun 27, 2022
Make low level API wrapper in fast, easy.

The lowrapper is a library for quickly and easily creating an environment for tapping the API without implementation.

tasuren 1 Oct 25, 2022
0-1 knapsack with an additional constraint of maximum number of items used

extended_knapsack 0-1 knapsack with an additional constraint of maximum number of items used. Usage pip3 install extended_knapsack from extended_knaps

Lion Ralfs 1 Jan 06, 2022
Moderation and Utility Discord bot.

Qrista An advanced Moderation and Utility Discord bot. Features Uses Hikari and Lightbulb as a command handler Advance Logging & Whole new enviroment

Blaze Camp 2 Jan 11, 2022
Source code of u/pekofy_bot from reddit.

pekofy-bot Source code of u/pekofy_bot from reddit. Get more info about the bot here: https://www.reddit.com/user/pekofy_bot/comments/krxxol/pekofy_bo

32 Dec 25, 2022
Lol qq parser - A League of Legends parser for QQ data

lol_qq_parser A League of Legends parser for QQ data Sources This package relies

Tolki 3 Jul 13, 2022
An attendance bot that joins google meet automatically according to schedule and marks present in the google meet.

Google-meet-self-attendance-bot An attendance bot which joins google meet automatically according to schedule and marks present in the google meet. I

Sarvesh Wadi 12 Sep 20, 2022
A wrapper to stream information from Twitter's Full-Archive Search Endpoint

A wrapper to stream information from Twitter's Full-Archive Search Endpoint. To exploit this library, one must have approved academic research access.

Daniela Pinto Veizaga 9 Nov 28, 2022
A web app via which users can buy and sell stocks using virtual money

finance Virtual Stock Trader. A web app via which users can buy and sell stocks using virtual money. All stock prices are real and provided by IEX. Fe

Kiron Deb 0 Jan 15, 2022
Editing a Tinder bot created by @frederikme

tinder_bot_edit Editing a Tinder bot created by @frederikme Table of Contents Basic Swipe Bot Basic Swipe Bot Download the code as a zip or clone the

Alex Carter 1 Nov 23, 2021
Chorok - High quality Discord music bot

Chorok - High quality Discord music bot Rewrite with dico Config guide

Chorok Opensource project 10 May 03, 2022
eBay Scraper Homework 3 With Python

eBay Scraper Homework 3 Description of Code My ebay-dl.py file is programmed with python to download 6 key pieces of information - name, if there are

1 Nov 10, 2021
A free sniper bot built to work with PancakeSwap: Router V2

Pancakeswap Sniper Bot PancakeSwap sniper bot. Automated sniping bot to snipe crypto coin launches. How it works The sniping bot can be used in three

89 Aug 06, 2022
A Python SDK for Tinybird 🐦

Verdin Verdin is a tiny bird, and also a Python SDK for Tinybird . Install pip install verdin Usage Query a Pipe # the tinybird module exposes all im

LocalStack 13 Dec 14, 2022