/BobDotBot

BobDotBot is an open source discord bot made by BobDotCom

Primary LanguagePythonMIT LicenseMIT

BobDotBot

BobDotBot is a discord bot made in python 3 using discord.py. It has many features, so you dont have to have many bots in your server just to get the commands that you want. It is always being improved, so if you see a bug or have a suggestion, dont hesitate to use the report bug or suggest commands to contact the devloper. It is always online, so no need to worry about it going offline randomly

Bot Info

Credits

Contributions

While I (BobDotCom) did write, and take credit for the majority of this code, I would like to thank all of the contributors to this project. They are listed on the main GitHub page.

Licensed Material

The RTFM and Help commands are taken from RoboDanny, with some modifications to better fit my purposes. Please note that while RoboDanny switched to an mpl-2.0 license on Oct. 6, 2020, I started using this code before that date, meaning the code used is under an mit license. The correct credit is given in each file where the code occurs.

top.gg

Discord Bots

Invite

Click here

Support Server

Click here

Source Code

All of the old tokens in the source code have been regenerated, and will not work anymore. Also, most of the old code that I had made is pretty bad, as I wrote it at the beginning of learning the programming language. I am currently in the process of fixing the old code. Feel free to make a pull request with your updates if you have and improvements for the code. Json/db/env files are hidden

Commands

Growtopia

Commands relating to the online sandbox game, Growtopia

renderworld

Get a render of a world in Growtopia

online

See how many people are playing the game right now

gt_wiki

Search the wiki for an item

Programming

Commands for programmers

rtfm

Gives you a documentation link for a discord.py entity. Events, objects, and functions are all supported through a a cruddy fuzzy algorithm.

General

General commands that anyone can use

snipe

See the last message that someone deleted from chat

uptime

See how long the bot has been online

noob

Ur nub

invite

Invite a bot to your server! Defaults to me, but you can mention another bot to get their invite too

add

I'm learning new math, but I only do addition for now. I'm pretty fast at it though!

slap

Use this to slap someone Note: If the user has a multi word name, put it in "quotes", or mention it

say

Use the bot to say something

ping

Checks the latency of the bot (lower is better)

porn

Use if you are really horny

credits

Shows the credits for the bot

level

Lists a user's level. You can level up by talking in any channel/server that the bot is in

ligma

Ligmabols

suggest

Make a suggestion about the bot, it can be a new command that you would like to see, or anything else that you want to suggest. NOTE: do not use this command for bugs. To report a bug, use the bug command.

bug

Let the owner know about a bug in the bot. NOTE: do not use this command for suggestions. To make a suggestion, use the suggestion command.

emoji_id

Get the ID of any custom emoji that the bot can see

serverinfo

Get the info of the server that you are in

userinfo

Tells you some info about the member. Note: If the user has a multi word name, put it in "quotes", or mention it

avatar

Get the avatar of a user

mystbin

Send your code to Mystb.in. You may use codeblocks(by putting your code inside ```, followed by the language you want to use) Currently, this bot recognizes python and javascript codeblocks, but will support more in the future.

google

Google something. Returns the first 10 results. Has a cooldown to avoid hitting the google api ratelimit.

rules

Get the rule channel in the current server

github

Get my github link

help

Shows help about the bot, a command, or a category

Reddit

Reddit features.

meme

Memes from various subreddits

showerthought

A random showerthought from r/showerthoughts. CURRENTLY NOT WORKING

dankmemes

Get an image from the dankmemes subreddit.

me_irl

Get an image from the me_irl subreddit.

programmerhumor

Get an image from the ProgrammerHumor subreddit.

reddit

Get an image from a subreddit.

Fun

Fun Commands

amongus

Eject a member of the current server into space

dog

Get an image/fact about dogs

cat

Get an image/fact about cats

panda

Get an image/fact about pandas

red_panda

Get an image/fact about red pandas

fox

Get an image/fact about foxes

bird

Get an image/fact about birds

koala

Get an image/fact about koalas

kangaroo

Get an image/fact about kangaroos

giraffe

Get an image/fact about giraffes

whale

Get an image/fact about whales

raccoon

Get an image/fact about racoons

pikachu

Get an image/fact about pikachu

elephant

Get an image/fact about elephants

random_token

Get a random token (they are fake, just randomly generated)

wink

Get a wink gif

pat

Get a pat gif

hug

Get a hug gif

facepalm

Get a facepalm gif

chatbot

Start a chat with a bot. Once you send your first message, the bot will reply to your messages until you say cancel, or it times out

minecraft

Get information about a minecraft player

pokemon

Get information about a pokemon from a pokedex

binary

Take a string of ASCII text and translate it to binary

text

Take a string of binary and translate it back to ASCII text

encode

Take a string of ASCII text and translate it to base64

decode

Take a string of base64 and translate it back to ASCII text

anothermemecommandlol

A less advanced meme command. Not reccomended for use

animequote

Get a random quote from an anime

joke

Get a random joke

youtube

Pretend to comment as someone else on youtube

youtubeme

Get an image of you commenting on youtube

define

Get the definition of a word. Currently not working

gay

Get a gay pfp of any user

triggered

Get a triggered photo of any user

Moderator

Special moderation commands for moderators in the server

warn

Give a warning to a member. If automod is enabled, it will give them certain punishments at different increments

nickname

Change the nickname of a user

clearwarn

Clear warnings of every user, or just the set user

warncount

Get the amount of warnings that a user has

mute

Mute a member in the server. If you already have a role named muted, it will use that. If not, it will make one for you.

unmute

Unmute a member. This will remove all roles named muted from the member

ban

Ban a member with an optional delete_days parameter The reason must not start with a number, and you may give a reason without deleting messages

unban

Unban a member. Use this format: "Username 1234#0001"

kick

Kick someone

lockchannel

Prevent users from speaking in a channel. If no channel is specified, it will lock the current channel

unlockchannel

Allow everyone to talk in a channel. If no channel is specified, it will unlock the current channel

clear

Clears messages. If not amount is specified, it will clear 2 messages

Time

Time commands so ppl can stalk you

settime

Set your timezone for other people to see

settimefor

Owner command

newjob

Owner command

gettime

Get the current time of a user

Music

Music Commands.

connect

Connect to a voice channel.

play

Play or queue a song with the given query.

pause

Pause the currently playing song.

resume

Resume a currently paused player.

skip

Skip the currently playing song.

stop

Stop the player and clear all internal states.

volume

Change the players volume, between 1 and 100.

shuffle

Shuffle the players queue.

vol_up

Command used for volume up button.

vol_down

Command used for volume down button.

equalizer

Change the players equalizer.

queue

Display the players queued songs.

nowplaying

Update the player controller.

swap_dj

Swap the current DJ to another member in the voice channel.

musicinfo

Retrieve various Node/Server/Player information.

lyrics

Get the lyrics to a song If a song is not specified, it will get the current song If the song is too long, it will send it as a file

cancerlyrics

Get the OwOified lyrics to a song If a song is not specified, it will get the current song If the song is too long, it will send it as a file

Settings

Special commands that only administrators in the server can use

prefix

Set one or multiple prefixes for BobDotBot in your server. If no prefix is specified, it will reset to defaults

welcomer

Set a message to send when a user joins your server. It will automatically send in any channnel with "welcome" in the name. To mention the joining user in the message, type [mention], and to mention a channel, just mention that channel in your message.

leaver

Set a message to send when a user leaves your server. It will automatically send in any channnel with "leave" or "bye" in the name. To send the name of the leaving user in the message, type [member].

joinrole

Set a role to give users when they join your server. Just typing the role name should work, but mentioning it will too.