A Discord bot that simulates political factions and voting for control of a Discord server, with certain features being restricted or available based on faction control.
This bot creates a simulated political environment within your Discord server where users can:
- Join different political factions/parties
- Vote in elections for server control
- Access (or be restricted from) certain features based on ruling party policies
- Participate in debates and policy-making decisions
- Faction System: Create and join political parties with unique platforms
- Voting Mechanism: Hold regular elections for server control
- Policy Implementation: Winning factions can implement policies affecting server features
- Role Management: Automatic assignment of roles based on faction membership
- Command System: Intuitive slash commands for all bot interactions
-
Clone the repository:
git clone https://github.com/probsJustin/discord_democracy_bot.git cd discord_democracy_bot -
Install dependencies:
npm install
-
Set up your
.envfile:discord_token=YOUR_DISCORD_BOT_TOKEN -
Start the bot:
npm start
The bot uses Discord's slash commands. Here are some examples:
/hello- Basic greeting command (currently implemented)/join-party [party-name]- Join a political faction/vote [candidate]- Cast your vote in an election/create-policy [details]- Propose a new server policy
This bot is built with:
- Discord.js - Discord API library
- TypeScript - For strongly typed JavaScript
- Node.js - Runtime environment
The project structure follows a modular pattern:
src/bot.ts- Main bot initializationsrc/command.ts- Command interface definitionsrc/commands.ts- Command registrationsrc/commands/- Individual command implementationssrc/listeners/- Event listeners for Discord events
Contributions are welcome! Feel free to:
- Fork the repository
- Create a new branch:
git checkout -b feature-name - Make your changes
- Submit a pull request
This project is licensed under the ISC License - see the LICENSE file for details.
For issues and feature requests, please use the GitHub issue tracker.