All Projects → JayP09 → TragicSimpBot

JayP09 / TragicSimpBot

Licence: MIT License
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

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to TragicSimpBot

mediaforge
A Discord bot for editing and creating videos, images, GIFs, and more!
Stars: ✭ 45 (+104.55%)
Mutual labels:  fun, meme, discord-bot, discord-py
Axley
A simple multi-purpose Discord bot being made using Discord.py API wrapper..
Stars: ✭ 16 (-27.27%)
Mutual labels:  discord-bot, discord-py
Discord-Spammer
Advanced Discord Spammer with multiple options and optional proxys
Stars: ✭ 51 (+131.82%)
Mutual labels:  discord-bot, discord-py
multipurpose-bot
a multipurpose discord bot made with dbd.js
Stars: ✭ 32 (+45.45%)
Mutual labels:  discord-bot, leveling
Shadbot
A configurable multipurpose bot bringing you music, multiplayer games, moderation commands and more!
Stars: ✭ 48 (+118.18%)
Mutual labels:  fun, discord-bot
Kreusada-Cogs
Cogs for Red-DiscordBot
Stars: ✭ 26 (+18.18%)
Mutual labels:  discord-bot, discord-py
Discord-Tools
VSCode extension allowing the integration of a Discord chat, bot templates, snippets, themes and more!
Stars: ✭ 91 (+313.64%)
Mutual labels:  discord-bot, discord-py
mass-dm-discord
A MassDM selfbot which is working in 2021. Only for educational purposes 🥱🚀
Stars: ✭ 87 (+295.45%)
Mutual labels:  discord-bot, discord-py
discord-uptime
Discord bot to monitor uptime of services using ping and http requests
Stars: ✭ 46 (+109.09%)
Mutual labels:  discord-bot, discord-py
miso-bot
Discord bot with too many features
Stars: ✭ 41 (+86.36%)
Mutual labels:  discord-bot, discord-py
albion-discord-bot
Discord Bot for Albion Online that: fetch market prices, search players/guilds, and more!
Stars: ✭ 27 (+22.73%)
Mutual labels:  discord-bot, discord-py
plumeria
🤖 A Discord chat bot with rich data piping between commands
Stars: ✭ 35 (+59.09%)
Mutual labels:  discord-bot, discord-py
discord-leveling-system-ranking-system
A simple rankcard system with the ranking system included using an enmap database, and canvacord
Stars: ✭ 49 (+122.73%)
Mutual labels:  fun, leveling
Guildbomb-Discord-Bot
💣 Guildbomb is a simple discord-bot, which shows you how easy it can be to raid a discord-server within one minute, so everybody will be banned, all emojis will be deleted, all invites will be deleted, every role and every channel too..
Stars: ✭ 182 (+727.27%)
Mutual labels:  discord-bot, discord-py
sudoBot
A discord bot written in Python
Stars: ✭ 28 (+27.27%)
Mutual labels:  discord-bot, discord-py
1bot
"One bot, several uses". 1Bot is a multipurpose bot that has all the moderation tools you need, lots of useful utility commands, and a bunch of fun commands that we all need once in a while.
Stars: ✭ 19 (-13.64%)
Mutual labels:  discord-bot, discord-py
tmerc-cogs
Cogs for the Red Discord bot.
Stars: ✭ 35 (+59.09%)
Mutual labels:  discord-bot, discord-py
Harmonbot
Multi-Platform Factotum Bot
Stars: ✭ 30 (+36.36%)
Mutual labels:  discord-bot, discord-py
Licensy
Discord bot that manages expiration of roles with subscriptions!
Stars: ✭ 47 (+113.64%)
Mutual labels:  discord-bot, discord-py
memer-action
A GitHub Action for Programmer Memes xD
Stars: ✭ 21 (-4.55%)
Mutual labels:  fun, meme



Forks Stars discord.py LinkedIn LinkedIn


Add to your server!

Uptime Robot status Uptime Robot ratio (30 days)


Description

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.


Setup your own bot and database

Read setup.md for more information!


Features

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 is pls .


  • Joke Commands :
    • pls joke - sends a random joke from JokeAPI.
    • pls joke programming - sends a joke on programming from JokeAPI
    • pls joke misc - sends misc joke from JokeAPI
    • pls joke dark - sends a dark joke from JokeAPI
    • pls joke pun - sends pun joke from JokeAPI
    • pls joke spooky - sends a spooky joke from JokeAPI
    • pls joke christmas - sends a christmas joke from JokeAPI
    • pls 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 is mm/dd.
    • pls fact dog - sends a random Dog fact from Some Random Api
    • pls fact cat - sends a random Cat fact from Some Random Api
    • pls fact panda - sends a random Panda fact from Some Random Api
    • pls fact fox - sends a random Fox fact from Some Random Api
    • pls fact bird - sends a random Bird fact from Some Random Api
    • pls 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 API
    • pls 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 :
    • pls rank - sends your rank based on command you have sent in a channel created by Bot.
    • pls learderboard - sends a leaderboard of top 10 user in a server with the highest level.


see full list of documented commands by using the pls help command

How does it work ?

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.

how does fact, joke, quote work ?

When the user types the command pls factor pls jokeor 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.

how does meme work ?

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.

how does levelling system work ?

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.


API Used


Libraries Used

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

  • Discord.py :

    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


Contributing

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.

  1. Fork the Project
  2. Create your Feature Branch git checkout -b feature/AmazingFeature
  3. Commit your Changes git commit -m 'Add some AmazingFeature'
  4. Push to the Branch git push origin feature/AmazingFeature
  5. Open a Pull Request

Contributors

people who already contributed to TragicSimpBot


If you liked our work considering giving it a 🌟.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].