Team Search Improvements: Added required game selection before team name input Added VR Battles image as the main embed image Removed buttons for cleaner display Added sorting by game mode (Squads > Duo > Solo) Made team display more compact with icons and shortened stats Added SQL injection protection and input sanitization User Search Improvements: Made game selection required before username input Added VR Battles image as the main embed image Added better user status messages: played Security Enhancements: Added input validation and sanitization at multiple levels Limited input lengths to prevent buffer overflow Added proper error handling and logging Implemented safe API calls with timeouts and validation Added protection against SQL injection Code Organization: Improved error messages for better user feedback Added comprehensive logging for monitoring Made responses visible to everyone in the channel Cleaned up code structure and removed redundant parts Development Environment: Set up proper development configuration Added environment variable management Improved command deployment process
2.0 KiB
2.0 KiB
VRBattles Discord Bot (Development)
This is the development version of the VRBattles Discord Bot. It connects to the VRBattles API and provides various commands for users to interact with VRBattles data through Discord.
Setup
- Clone the repository:
git clone <repository-url>
cd discord-bot
- Install dependencies:
npm install
- Create a
.envfile based on.env.example:
cp .env.example .env
- Set up your development environment:
- Create a new Discord Application at https://discord.com/developers/applications
- Create a new bot for your application
- Get your bot token and client ID
- Create a new Supabase project at https://supabase.com
- Get your Supabase URL and anon key
- Update your
.envfile with the development credentials:
DISCORD_TOKEN=your_dev_bot_token
CLIENT_ID=your_dev_client_id
SUPABASE_URL=your_dev_supabase_url
SUPABASE_KEY=your_dev_supabase_key
NODE_ENV=development
Development
Start the bot in development mode:
npm run dev
Deploy slash commands to your development Discord server:
npm run deploy-commands:dev
Available Commands
/ping- Test bot connectivity/finduser- Find a user by username/matchhistory- View match history/findteam- Find a team by name/subscribe- Subscribe to game notifications (Admin only)/unsubscribe- Unsubscribe from game notifications (Admin only)/register_server- Register Discord server with BattleBot (Admin only)/list_subscriptions- List all game subscriptions (Admin only)
API Integration
The bot connects to the following APIs:
- VRBattles API (
https://www.vrbattles.gg/api/) - Discord API (via discord.js)
- Supabase Database
Contributing
- Create a new branch for your feature:
git checkout -b feature/your-feature-name
- Make your changes and commit them:
git add .
git commit -m "Description of your changes"
- Push to your branch:
git push origin feature/your-feature-name
- Create a Pull Request to merge into the dev branch