A Discord bot that allows Discord users to request to join your private discord guild from an external website. Requests can be looked reviewed by staff and then be put to a secure vote by the existing members in your guild.
- Webhook informs staff when new users request an invite
- Staff can approve, "Quick approve", or deny them
- Discord bot handles voting securely by hiding reactions as they come in
- Reactions are removed and Vote is updated in the message
- Website gets updated with votes as they come in
- Implemented
- Needs implementing
- pip install -r requirements.txt
- create a .env file in the root directory, and fill it with
- BOT_TOKEN=my_bot_token_here
- CLIENT_ID=my_bot_client_id_here
- OAUTH_CLIENT_TOKEN=my_oath_token_here
- WEBHOOK_ID=id_for_my_webhook_here
- API_KEY=any_secrect_value_used_for_api
- WEBSITE_SECRET_KEY=any_secrect_value
- Configure botconfig.ini for the bot
- Update [Bot] Section to your guilds id's
- master_server - Server hosting the votes
- voting_channel - Channel where users will vote
- welcome_channel - Discord Welcome channel
- staff_role - Role used to access commands
- vote_ping - Users with this role will be pinged when a vote starts
- welcome_message - Welcome the user that has been voted in
- Update [Bot] Section to your guilds id's
- Configure webconfig.ini for the website
- You can probably leave this alone
- Defaults to debug mode on localhost port 80
- Run both bot and website in any order
- Run the website
python app.py web
- Run the bot
python app.py bot
- Run the website
- Pass the vote
- by percentage (75% positive to 25% negative)
- Minimal difference in percentage
- by number of votes (3 more votes positive than negative)
- Minimal difference in vote count
- by percentage (75% positive to 25% negative)
- Minimal number of votes to pass
- How long before the invite link expires
- Command prefix
- Help
- invite
- Gives you a link straight to sign-up
- link
- Shares the link to the site
- invite
- Voting
- stop
- Force stop an active vote
- quick
- Toggles "Quick voting"
- stop
- Admin - only useable with "admin" role
- manualinv
- DM a manually created an invite
- manualinv