My custom-made, self-hosted Discord bot, MP bot. Rather than having a sole purpose, this bot is aimed at doing all the tasks I want it to do. I made it for a singular server so it may not work for multiple servers (regarding the music playing features).
For more info, view bot.py
- Clear chat (!clear int)
- Can clear up to 100 messages in chat (at the moment)
- Ban (!ban nick/username)
- Get creation date of user (!created_at <user=YOU>)
- Set/get self-assignable roles (!ssr [role1 role2 ...])
- Remove/get self-assignable roles (!rsr [role1 role2 ...])
- Self-set (or get) roles (!role [rolename])
- Send a dm to a user (!dm <user/nick> ) // send it to the bot
- Reply to a dm (!re <thread_id> )
- Enable anonymous messages (!enable)
- Disable anonymous messages (!disable)
- Toggle status (!anontoggle, !anon) // Future replacement
- See if you are opted in or out of the messages (!anonstatus)
- Summon (!summon, !play <query/youtube_url>)
- Play or Add to queue (!play, !p)
- Play next (adds the track to play right after, will rework this later !pn, !play_next)
- Pause/Resume (!pause, !p, !resume)
- Skip (!skip, !next, !n)
- Go Back (!back, !b, !previous, !prev)
- Fast forward (!ff <seconds=5>)
- Rewind (!rw <seconds=5>)
- Skip to (!st )
- Stop (!stop, !s, !end)
- Autoplay (adds to the music queue when the queue is empty or has only the playing track; !auto_play, !ap)
- Repeat Options (!repeat, !repeat_all)
- View Now Playing (!np)
- View Upcoming tracks (!q)
- View Recently Played (!dq)
- Remove track (!rm )
- Move track (!move )
- Shuffle (!shuffle)
- Clear queue (!cq)
- Play from Playlist (!pp <playlist_name/url> [--s]) // use --s for shuffle
- Save queue to playlist (!sq <playlist_name>)
- View playlist (!vp <playlist_name/url>) // use --2/3 for different scopes
- Search playlists (!sp [--page 1] [--query query]) // alphabetically sorted
- Load playlist (!lp <playlist_name/url>) // adds tracks to current queue
- Delete playlist (!dp <playlist_name>)
- Set volume (!volume, !v) // prints volume if no int given
- !v 100 # this will set volume to 100/100
- !v +20 # increase volume by 20
- !v -20 # decrease volume by 20
- !v + # increase volume by 10
- !v - # decrease volume by 10
- Leave Voice chat (!leave, !dc)
- Get the prices of stock(s) (!stock )
- Get top movers (!movers <market='ALL'> <of='day'> <show=5>)
- Get top winners (!gainers <market='ALL'> <of='day'> <show=5>)
- Get top losers (!losers <market='ALL'> <of='day'> <show=5>)
- Get random stock(s) (!random-stock <n=1>)
- Search for a company's ticker (!fs query)
- Add stocks to your watchlist (!watch )
- Remove stocks from your watchlist (!unwatch )
- View stocks in your watchlist (!wl <show_info=False>)
- Get a list of games (!games)
- Tic-Tac-Toe (Difficulty is impossible)
- Use !ttt to start a match
- Shift (!shift)
- A game my friend and I made (sends a link to the chat)
- Youtube Search
- Search for a video (!yt, !youtube)
- See "Listen to Music" for playing tracks from YouTube
- Twitter (DISABLED; Rework pending)
- Get the latest tweet from a user (!twitter )
- Search for a twitter user (!tu_search )
- Set and get invite codes (currently only gets the .env code)
- Report user for bot abuse
Note that this bot has only been tested on Windows
- Clone the repository
- Have MongoDB Community 4.2.X installed
- Have FFmpeg accessible in PATH
- Do
pip install -r requirements.txt
in the terminal of the current directory - If you want to run on Windows boot, import and edit "Discord Bot.xml" in Task Scheduler OR
- Click here to start from scratch