TragicSimp is a discord bot that can send memes, facts, jokes, quotes and track user stats. This bot has leveling system which rank user based on their commands in a channel created by Bot. This bot can run on Multiple Server.
Read setup.md for more information!
Here are list of the various commands of the bot.
- Setup Commands :
pls setup
- Use this command when you add a bot to your server for first time. This command create text_channel where you can send commands for a meme, fact, quote, joke. This command also create certain roles for levelling system.pls prefix prefix
- This command change prefix for commands . default prefix ispls
.
- Joke Commands :
pls joke
- sends a random joke from JokeAPI.pls joke programming
- sends a joke on programming from JokeAPIpls joke misc
- sends misc joke from JokeAPIpls joke dark
- sends a dark joke from JokeAPIpls joke pun
- sends pun joke from JokeAPIpls joke spooky
- sends a spooky joke from JokeAPIpls joke christmas
- sends a christmas joke from JokeAPIpls joke dadjoke
- sends a random dadjoke from icanhazdadjoke
- Facts Commands :
pls fact
- sends a random fact from Uselessfacts API.pls fact number
- sends random number fact from Numbersapi.pls fact number
- sends fact for specific Number for Example:pls fact 23
will send fact on number 23.pls fact date
- sends fact for specific Date for Example:pls fact 06/09
will send fact on 9 june. format for date ismm/dd
.pls fact dog
- sends a random Dog fact from Some Random Apipls fact cat
- sends a random Cat fact from Some Random Apipls fact panda
- sends a random Panda fact from Some Random Apipls fact fox
- sends a random Fox fact from Some Random Apipls fact bird
- sends a random Bird fact from Some Random Apipls fact koala
- sends a random koala fact from Some Random Api
- Quotes Commands :
pls quote
- sends a random Quote from Favqs.pls quote category
- sends a random Quote from category list.categary
=MOTIVATION
,inspiration
,inspire
,motivational
,productive
pls quote qotd
- sends a quote of the Day form Favqs API.
- Meme Commands :
pls meme
- sends a random Meme from a database. In this Database we have collected a top meme of week from reddit APIpls meme pagename
- sends a Meme from Page list.Pages
=funny
,dankmemes
,memes
,teenagers
,Chodi
,DsyncTV
,cursedcomments
,holdup
,SaimanSays/
,wholesomememes
,IndianMeyMeys
,indiameme
,desimemes
,Tinder
,2meirl4meirl
,ComedyCemetery
,terriblefacebookmemes
meme pagename
- sends a Meme from user specified page name.
- Leveling System Commands :
see full list of documented commands by using the pls help
command
we are using the discord.py library. This Discord.py library revolves around the concept of the event. An event is something you listen to and respond to an event. Discord.py is an asynchronous library so things are done with callbacks. the callback is a function that is called when something else happens. For Example: when the user types the command pls fact then in discord bot will receive an event about it then the bot responds to it with fact.When you add this bot to your server and you type pls setup command then it will create a text channel and certain roles for the levelling system.
When the user types the command pls fact
or pls joke
or pls quote
then the tragicsimp bot fetches the facts or joke from API and it creates an embed message then the bot sends that message to the user.
When the user type command pls meme
then the tragicsimp bot fetches the meme from the MongoDB database and it creates embed message and send it to the user. For a meme, we are using a database because fetching from the API takes some time to return a response as compared to the database. In the database, we are storing the top memes of the week. Every week bot deletes old memes and fetches new top memes of the week, adds them to the database. We have programmed the bot in such a way that its probability of repetition of the meme is increasing on every pls meme
command.
When the user type command for a joke, fact, quote, or meme bot will increase their XP based on that XP bot will calculate the level of the user. When the user will reach levels 5,10,15,20 then the bot will assign a certain role to a user. Based on their level and XP user rank is decided.
-
Joke :
-
Facts :
-
Quotes :
-
Meme :
-
pymongo :
PyMongo is a Python distribution containing tools for working with MongoDB, and is the recommended way to work with MongoDB from Python. This documentation attempts to explain everything you need to know to use PyMongo.
-
Praw :
PRAW, an acronym for “Python Reddit API Wrapper”, is a Python package that allows for simple access to Reddit’s API. PRAW aims to be easy to use and internally follows all of Reddit’s API rules. With PRAW there’s no need to introduce sleep calls in your code. Give your client an appropriate user agent and you’re set.
-
Re :
This module provides regular expression matching operations similar to those found in Perl.
-
Random :
This module implements pseudo-random number generators for various distributions.
-
A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python.This discord libraryy revolves around the concept of event.
-
Requests :
The requests library is the de facto standard for making HTTP requests in Python
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch
git checkout -b feature/AmazingFeature
- Commit your Changes
git commit -m 'Add some AmazingFeature'
- Push to the Branch
git push origin feature/AmazingFeature
- Open a Pull Request
people who already contributed to TragicSimpBot