This is a Python bot that allows users to register a TrinityCore account by direct messaging a bot with specific commands. Users' Discord identifiers are tied to the game account and both the Discord identifier and the TrinityCore username are checked for duplicates.
- Python3
- Packages:
mysql.connector
,discord
- Packages:
- Access Discord's Developer Portal and create a
New Application
. - Navigate to the
Bot
section of your application settings and clickAdd Bot
.- Set the username and profile icon of the bot.
- Reset and save your bots
Token
. - No permissions are required, as the bot interacts via direct messages with users.
- Navigate to
OAuth2
->URL Generator
.- In the
Scopes
section:-
bot
-
- Copy the
Generated URL
and paste it into your browser to invite it to your server.
- In the
- The bot should now be visible (though offline) in the server you invited it to.
- Edit the bot config file, registration.cfg.
- The
[mysql]
settings should match the database settings of the TrinityCore MySQL server.- There are potential issues with setting
host = localhost
. Use127.0.0.1
instead. - A blank password will connect via the unix socket.
- There are potential issues with setting
- The
[discord]
settings should match the following:apiKey
is the botToken
generated above.targetServer
is the ID of a Discord server the bot is in.logsChannel
is the ID of a Discord channel in the server the bot is in.
- The
- Run the bot.
- Ensure Requirements are met.
- Run
discord_bot.py
- Ensure the bot is online.
- Direct message the bot using the following syntax:
register <username> <password>
- If any errors occur during registration, the bot will let the user know.
- Give a command to authorize GM accounts under the right circumstances
- Add OS specific instructions
- Provide better instructions to maintain safe user permissions and practices
Anyone who uses this on their server is capable of logging passwords. Encourage your users to provide throwaway passwords or unique passwords. This is a potential way to steal credentials, so it's ethical that all users should be aware and instructed to create unique passwords for your server.
There are two versions of the bot, OLD, and 2022. These versions have different password creation methods. If your server is newer than January 2022, please execute the 2022 file. If your compiled core is a version older than 2022, please execute the OLD .py script.
If you'd like to contribute, please fork and create a pull request. Your code will be reviewed and then merged with the main branch.