An Open-Source Discord bot created to provide basic functionality which should be in every discord guild. We use this same bot with additional configurations for our guilds.

Overview

Discord Website GitHub issues GitHub pull requests

A Discord bot completely written to be taken from the source and built according to your own custom needs.

This bot supports some core features and is built to be pluggable with other features when and where required.

The core features which will be available for you to use when you setup this bot with the secrets are

  1. Fetching latest Memes from Reddit
  2. [Development] Deleting promotional messages from your server and keeping control where links are allowed.
  3. [Development] Random and motivating quotes on demand and on certain times.
  4. [Development] Saving random messages for particular users in your guild.

While source code of this bot is OpenSource you will need to build and host this bot somewhere to have it running on your guild and steps for that can be found here

Building and running the bot locally

For running the bot there are two ways.

  1. Building a docker image and then running that image.
  2. Running the bot on local virtual environment using pipenv.

Steps for running with docker are -

  1. Build a docker image for the repository. Make sure you have you have docker desktop installed before you do this step.
docker build -t ric-bot-image .

This command will take the Dockerfile in the current directory . and build image for the same.

  1. Run the image by providing necessary .env variables to it.

    In this repository there is a .env.example file which you will have to rename to .env and fill the variable values with correct values yourself.

    DISCORD_TOKEN is bot token provided to you by discord.

    REDDIT_CLIENT_ID is client id of your reddit account.

    REDDIT_CLIENT_SECRET is client secret of your reddit app.

    After doing so run the following command.

docker run --env-file .env -it --rm --name ric-bot-running ric-bot-im

The above command

  1. Checks if there is a image running with the name ric-bot-running and removes it if present.
  2. Provides the .env file to the process.
  3. Runs the image with the provided variables.
Issues
  • Added help function and decode in memes.py

    Added help function and decode in memes.py

    enhancement 
    opened by adnan007d 20
  • Flag offensive words

    Flag offensive words

    Mods cant be present and monitor chat always so I propose we use the bot to flag offensive works to make the space more inclusive

    1. Use this as an initial database https://www.cs.cmu.edu/~biglou/resources/bad-words.txt
    2. create our own database where we can add words to the list by a certain command '\censor word'

    The bot will have permission to delete the message and issue a warning against use of such word in the community.

    help wanted question no-issue-activity 
    opened by anushkrishnav 17
  • Remove NSFW memes coming from the Reddit Sources.

    Remove NSFW memes coming from the Reddit Sources.

    While the sources are picked to be SFW some occurrences have been seen where a NSFW meme gets shared by the bot. It will be best if we handpick the subreddits or sources from which we are fetching memes and make them so that they mostly return SFW content.

    enhancement help wanted 
    opened by gat786 12
  • feat: new directory structure + quotes API

    feat: new directory structure + quotes API

    Related Issues or Pull Requests

    #56 #35

    Have you read the Contributing Guidelines on Pull Requests?

    Yes. I have. 😄

    Description

    • I moved the files that are not cogs and added them to a separate folder
    • Fetching quotes from an API instead of random hard-coded values

    Checklist

    • [x] I've read the contribution guidelines.
    • [x] I've checked the issue list before deciding what to submit.
    • [x] I have performed a self-review of my own code.
    • [x] I have commented my code, particularly in hard-to-understand areas.
    • [x] My changes generate no new warnings.
    • [x] I've followed 4 space indentation throughout the file(s).
    • [x] My code follows the PEP8 style guidelines.
    • [x] I have made corresponding changes to the documentation.
    • [x] I have added tests/screenshots(if any) that prove my fix is effective or that my feature works.

    File(s) Added / Modified

    • src/main.py (Modified)
    • src/modules/commands.py (Added few event listeners)
    • src/modules/memes.py (Modified to fetch the API keys)
    • src/modules/quotes.py (Modified to fetch quotes from API's)
    • Moved these files to src/utils/ directory:
    • __init__.py
    • client.py
    • settings.py
    • log.py

    Language(s) Used

    • Python

    Screenshots

    Testing out the existing features with the new structure:

    Feature Test

    Checking out the Quote Feature:

    Quotes Feature

    opened by KamalDGRT 6
  • Feature to flag offensive words

    Feature to flag offensive words

    Related Issues or Pull Requests

    Flag offensive words

    Have you read the Contributing Guidelines on Pull Requests?

    Yup

    Description

    Deleting messages which contains offensive words and raising a warning

    Checklist

    • [x] I've read the contribution guidelines.
    • [x] I've checked the issue list before deciding what to submit.
    • [x] I have performed a self-review of my own code.
    • [x] I have commented my code, particularly in hard-to-understand areas.
    • [x] My changes generate no new warnings.
    • [x] I've followed 4 space indentation throughout the file(s).
    • [x] My code follows the PEP8 style guidelines.

    File(s) Added / Modified

    • client.py
    • offensive.py
    • offensive.json

    Language(s) Used

    • Python
    WIP 
    opened by adnan007d 5
  • Added Log.py file

    Added Log.py file

    I have set up a basic log file issue #26

    opened by anushkrishnav 4
  • Create a different Github action for PR's which checks Linting and docker build

    Create a different Github action for PR's which checks Linting and docker build

    This action will only run-on PR's and will check code quality as well as the successful creation of a docker image. It should not push it to any registry just check that it builds without any issues.

    enhancement good first issue actions no-issue-activity 
    opened by gat786 4
  • Create a web interface to customize options

    Create a web interface to customize options

    This can include a generated site which gets hosted on port:80 when the container is running and can have options to change for the bot.

    enhancement help wanted web-interface no-issue-activity 
    opened by gat786 4
  • Separate modules for each command

    Separate modules for each command

    Separate modules for each command and changed from discord.Client() to discord.ext.commands.Bot()

    opened by adnan007d 4
  • Anti Spam can be bypassed

    Anti Spam can be bypassed

    https://www.mysupersecretwebsite.com/?bypassed=https://github.com/ https://www.youtube.com/?bypassed=https://github.com/

    Get parameters doesn't hurt the request made so adding github.com in it, can bypass the antispam

    opened by adnan007d 4
Releases(v1.2)
  • v1.2(Apr 22, 2021)

    Added functionality of getting random quotes on !quote command and added a help command to display help message for all the available commands.

    Source code(tar.gz)
    Source code(zip)
  • v1.1(Apr 13, 2021)

    Changelog:

    • Refactored modules to improve code and architectural quality
    • Removed unnecessary imports
    • Cleaned some NSFW subreddits
    • Added a prevision for commands and antispam modules
    • Removed unused modules and fixed piplock file
    Source code(tar.gz)
    Source code(zip)
  • v1.0(Apr 13, 2021)

Owner
Tesseract Coding
Tesseract Coding
A Discord chat bot for the Tardsquad guild (Discord name for server).

Tardsquad Discord Bot A Discord chat bot for the Tardsquad guild (Discord name for server). Resouces Discord Developer Portal A general tutorial for a

Tardsquad Quality Code Inc. 3 Jan 6, 2022
A bot that connects your guild chat to a Discord channel, written in Python.

Guild Chat Bot A bot that connects your guild chat to a discord channel. Uses discord.py and pyCraft Deploy on Railway Railway is a cloud development

Evernote 7 Jan 9, 2022
This Discord bot is to give timely notifications to Students in the Lakehead CS 2021 Guild

Discord-Bot Goal of Project The purpose of this Discord bot is to give timely notifications to Students in the Lakehead CS 2021 Guild. How can I contr

null 6 Jan 8, 2022
A Discord bot written in Python to help with guild administration

forgotten-hydra A Discord bot written in Python to help with guild administration. External libraries Pycord-Development/pycord 1.7.3 djc/couchdb-pyth

null 3 Jan 7, 2022
Discondelete, is a Discord self-bot to delete dm's or purge all messages from a guild.

Discondelete Discondelete, is a Discord self-bot to delete dm's or purge all messages from a guild. Report Bug · Request Feature Table of Contents Abo

core 2 Dec 28, 2021
Some random bot for Discord which was created just for fun (Made with Discord.py library)

Ghosty Previously known as 'secondthunder-py-bot' This is repository of some random bot for Discord which was created just for fun and for some educat

Владислав 7 Dec 26, 2021
Simple bot to receive feedback,same as livegram bot but with more features & full control over bot

Kontak Simple bot to receive feedback,same as livegram bot but with more features & full control over bot Deploy to VPS

Mahin Ahmed 2 Dec 16, 2021
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 6, 2022
A discord program that will send a message to nearly every user in a discord server

Discord Mass DM Scrapes users from a discord server to promote/mass dm Report Bug · Request Feature Features Asynchronous Easy to use Free Auto scrape

dropout 32 Jan 10, 2022
Easy & powerful bot to check if your all Telegram bots are working or not. This bot status bot updates every 45 minutes & runs for 24x7 hours.

PowerfulBotStatus-IDN-C-X Easy & powerful bot to check if your all Telegram bots are working or not. This bot status bot updates every 45 minutes & ru

IDNCoderX 4 Oct 23, 2021
ChairBot is designed to be reliable, easy to use, and lightweight for every user, and easliy to code add-ons for ChairBot.

ChairBot is designed to be reliable, easy to use, and lightweight for every user, and easliy to code add-ons for ChairBot. Ready to see whats possible with ChairBot?

null 1 Nov 8, 2021
Linky bot, A open-source discord bot that allows you to add links to ur website, youtube url, etc for the people all around discord to see!

LinkyBot Linky bot, An open-source discord bot that allows you to add links to ur website, youtube url, etc for the people all around discord to see!

AlexyDaCoder 2 Dec 10, 2021
Provide discord buttons feature for discord.py

dpy_buttons wrapper library for discord.py, providing discord buttons feature. Future of the library Will be merged into discord interaction api libra

Minjun Kim (Lapis0875) 18 Dec 11, 2021
Discord ToolBox is a discord bot developed by DJD320 created for the purpose of having some convenient tools in the form of a single bot.

Discord ToolBox Discord ToolBox is a discord bot developed by DJD320 created for the purpose of having some convenient tools in the form of a single b

null 3 Aug 7, 2021
Demonstrate how GitHub OIDC token getting should be included in boto3

boto3 should add direct support for AssumeRoleWithWebIdentity for GitHub Actions There is a aws-actions/configure-aws-credentials action that will get

Ben Kehoe 6 Oct 5, 2021
Seems Like Everyone Is Posting This, Thought I Should Too, Tokens Get Locked Upon Creation And Im Not Going To Fix For Several Reasons

Member-Booster Seems Like Everyone Is Posting This, Thought I Should Too, Tokens Get Locked Upon Creation And Im Not Going To Fix For Several Reasons

Mintyz 1 Dec 28, 2021
unofficial source of the discord bot, “haunting.” created by: vorqz, vert, & Veltz

hauntingSRC unofficial source of the discord bot, “haunting.” created by: vorqz, vert, & Veltz reasoning: creators skidded the most of this bot and do

Vast 6 Nov 19, 2021
A basic Ubisoft API wrapper created in python.

UbisoftAPI A basic Ubisoft API wrapper created in python. I will be updating this with more endpoints as time goes on. Please note that this is my fir

Ethan 2 Oct 31, 2021
A basic Ubisoft API wrapper created in python.

UbisoftAPI A basic Ubisoft API wrapper created in python. I will be updating this with more endpoints as time goes on. Please note that this is my fir

Ethan 2 Oct 31, 2021