DFC Bot is a Discord bot for managing the Diablo Fighting Championship (DFC) roster. It helps users register for events, update information, and interact with the DFC community.
- Register Command: Allows users to register for the DFC roster.
- Signup Command: Allows users to sign up for weekly DFC events.
- Google Sheets Integration: Stores all roster information in a Google Spreadsheet for easy management and tracking.
- Role Management: Automatically assigns the
@DFC Duelerrole to registered users.
- Description: Register for the DFC roster.
- Usage:
/register character_name:<Character Name> - Options:
character_name: Enter your in-game character name.
- Behavior:
- Registers the user in the DFC roster stored in Google Sheets.
- If the user is already registered, they will receive a notification.
- Assigns the
@DFC Duelerrole if not already assigned. - Sends a confirmation message in the form of an embedded message with successful registration details.
- Description: Sign up for the weekly DFC event.
- Usage:
/signup character_name:<Character Name> - Options:
character_name: Enter your in-game character name.
- Behavior:
- Signs up the user for the weekly event and stores the information in the Google Sheet under the
Weekly Signupstab. - Sends a confirmation message if the signup is successful.
- If the user is already signed up, they will be notified.
- Signs up the user for the weekly event and stores the information in the Google Sheet under the
- Node.js and npm installed.
- Google Service Account with credentials JSON file for accessing Google Sheets.
- Discord Bot Token.
- Clone this repository.
git clone <repository_url>
- Navigate to the project directory.
cd DFC-bot - Install dependencies.
npm install
- Create a
.envfile in the root directory and add the following:DISCORD_TOKEN=<Your_Discord_Bot_Token> GOOGLE_SHEET_ID=<Your_Google_Sheet_ID>
- Add your Google Service Account credentials to
config/credentials.json(ensure it is added to.gitignoreto avoid exposing it).
- Start the bot using the following command:
npm run start
- The bot uses a Google Sheet to store DFC roster information.
- The sheet should have the following columns:
Arena Name,Discord Name,Discord User ID,Battle Tag,DFC Role,Champion,Current Champ,Titles,Notes,Leave Status.
- Users require the
@DFC Duelerrole to register and participate. - The bot will automatically assign this role upon successful registration if not already assigned.
- If an error occurs during registration or signup (e.g., issues accessing Google Sheets), the bot will notify the user to try again later.
- Contributions are welcome! Feel free to submit pull requests to improve the bot.
- This project is licensed under the MIT License.
- Credentials Issue: Ensure
config/credentials.jsonis added to.gitignoreand not tracked by Git to avoid exposing sensitive information. - Push Issues: If GitHub blocks a push due to secrets, remove credentials from history and ensure they are properly ignored.