A Discord bot with focus on wrestling events and Matches.
My Discord Server: WatchWrestling
This Discord Bot was originally created back in 2017 to integrate Matches into the server. This allows users to bet and rate matches, look up Superstar biographies, share gifs, and be alerted of upcomming wrestling events.
Originally, this bot ran through a single Python file. I had no idea that I would still be supporting the bot this long or even begin scaling it to include additonal features and commands. Because of the expansion of the bot, I decided to transition this Discord Bot project to use cogs. Made code management a whole lot easier. Now I continue support on the bot as a hobby and development experience.
Register an account
!register
Get a login link via PM
!login
Display current stats
!stats
Display current leaderboard
!top
Display Superstar/Wrestler's info
!bio Alexa
Display current matches
!matches
Bet on a match
!bet 100 Brock
Display current bets
!bets
many more commands available. see the documentation
- Python 3
- MySQL
- Discord Server
Clone repository
git clone https://github.com/idle-user/fjbot.git
Install requirements
pip install discord.py[voice] mysqlclient youtube_dl tweepy m2r
Create config file. See config.py
./fjbot/config.py
Run MySQL Database setup There are many tables, procedures, and triggers required to run accounts properly
# TODO
Run bot
python3 bot.py
2020-03-19
- Fixed prefix issue on PM
- Updated Start and End bot.py messages
see more
2020-03-12
- Command name changes
- Formatting
2020-03-11
- Docstring and a lot of documentation
- Reconfigured config.py format
- Bug fixes
2020-03-06
- Updated config.py format
- Added option to change command prefix (multi-server support)
- Updated permission checks that required fixed values
- Moved event alerts from matches to scheduler cog
- Started FJBucks cog
- Updated README
2020-03-02
- Number formatting
- README overhaul coming soon
2020-01-17
- Fixed Scheduler COG
- Added support to Royal Rumble entry command
2020-01-06
- Added scheduler cog for routine alerts
- Fixed voice cog permissions for volume
- Updated config file formatting
- Removed weekly alerts from matches cog
2019-10-17
- Added AEW schedule
- Added chatango PM logging/display
- Removed Tweet tasks
- Fixes
2019-05-29
- Added basic logging
- Updated Match short-view text to include titles
- Fixed Mute and Unmute commands
2019-05-21
- Updated Matches command to display short view if too many
- Added current match command
2019-05-19
- Fixed User Register through Chatango
- Organized Chatang cog prints
2019-05-18
- Fixed User Match betting
- Fixed Match team searches
2019-05-17
- Added user register functionality
- Changed Discord message logging to prints (logging later)
- Added cooldown to Open Matches command
- Fixed betting command
- Fixed twitter cog
- Clean up
2019-05-16
- PEP 8 by using Black - bye-bye tabs ... :(
- Code clean-up
- Still to be updated: twitter cog
2019-05-15
- Renamed fjbot.py to bot.py
- Updated admin commands
- Moved base user commands from matches cog to member cog
- Moved config.py to root
- Updated imports of all files
- Added a new error class for future use
- Removed unecessary log messages (moving to logging later)
- Added base royal rumble support
- Updated README structure and setup instructions
- Added 2019.05.14 updates because it mysteriously disappeared
- Still to be updated: twitter cog
2019-05-14
- Added voice cog (based on official example)
- Moved on_member_join to bot.py
- Added user reset password link command
- Updated command names and aliases
- Removed uneeded command based on rewrite
2019-05-13
- Complete rewrite in progress
- Superstar, DiscordUser, ChatangoUser, Match are now classes
- Complete overhaul of Database handling
- Database calls are now handled by the classes
- Updated function checks
- Renamed credentials.py to config.py
- Chatango Bot rewrite
- Update quickembed to support Class structures
- Cleaned up error handling
- Still be updated: twitter cog, voice cog
2019-05-06
- Complete update to comply with discord.py rewrite
- Bot messages are now embeded
- Removed cross-cog dependency
- Added quickembed.py to utils for quick embeded messages
- Commented out Tweepy unsupported calls (Repo does not support new Twitter API)
- Updated voice cog to search YouTube video by title or direct link
- Created a class for: Match, Superstar, Userstats
- Match and User classes can output their info in embed format
- Code cleanup
2019-02-05
- Added Voice cog (plays YouTube audio)
- Role checks are based only on IDs now
- Updated credential sample to include only IDs
- Added function for quick login for registered users
- Added a Discord Channel for Logging
- Added logging calls within project
- Twitter cog updated (functionality limited by latest Twitter API update)
- Updated query calls based on database table updates
- Various new functions added
- Text fixes
2018-10-14
- Added User class
- Updated cogs to use new User class
- Added direct PM to Discord Server owner function
- Updated admin cog checks
- Updated ch library with alterations (bugs found)
- Updated chatango cog to include match listings and betting
- Modifications to dbhandler to explicitly call queries
- Updated credentials to include Discord invite link
- Text fixes
2018-09-06
- Database redesign (to be included in repository)
- Various database optimization within dbhandler
- Created Class module for readability
- Removed __obosolete__ directory
- Updated logging between cogs - all use main fjbot function now
- Added admin commands
- Heavily updated chatango cog
- Updated tweet log within twitter cog to use async functions
- Started progress on twitter cog to accept PMs
- Added additional checks
- Renamed wwe cog to matches
- Bug fixes
2018-06-24
- Updated database reference between cogs
- Added ch.py library used for the chatango.py cog
- Bug fixes
2018-06-10
- Bug fixes with cog communication
2018-06-09
- Transition to cog model
2018-06-08
- Initial introduction to GitHub
This project is licensed under the GNU GPLv3 License - see the LICENSE file for details
idle-user