This is a form which allows users to appeal their bans from a Discord server.
By using OAuth2, it ensures users can't forge or fake appeals.
-
Create an application on the Discord Developer Portal.
-
In the Bot section of the newly created application's dashboard, create a bot account and invite it to your server with the Ban Members permission.
Pro tip: Use a permissions calculator to generate the invite link!
-
In your server, create a channel dedicated to ban appeals. Ensure only mods and the bot can view the channel:
The bot will also need the permission to send messages and embed images here. -
In Discord's settings, go in the Appearance section and enable Developer Mode. You will need it soon.
-
In the web page that shows, login to your GitHub or GitLab account. You will be presented fields to fill:
Field name Instructions Client ID You can get this from the General Information section for the application you created in step 1. Client secret You can get this from the General Information section for the application you created in step 1. Bot token Get this in the Bot section that you used in step 2. Guild ID This is where the developer mode you enabled in step 4 comes in handy. Right click your server icon and press Copy ID. Channel ID Same deal than the guild ID, but with the channel you created in step 3. JSON Web Token secret Use a password manager to generate a password with ~50 characters, or mash your keyboard. -
Login to the Netlify dashboard and go to the settings for your site.
-
Click Change site name and give it an appropriate name, or setup a custom domain.
-
Click Deploys, and then Trigger deploy. In the menu that shows up, hit Deploy site. This is important so that the new site name is propagated.
-
Go back to the Discord Developer Portal, open the dashboard for the application you created in step 1, and click on OAuth2.
-
Click on Add Redirect and enter
https://[site-name].netlify.app/.netlify/functions/oauth-callback
, replacing[site-name]
by the name you picked in step 8 (or the entire Netlify domain by your own domain, if you opted for that). -
Hit the green Save Changes button.
-
You should be good to go! You might want to test if it works as intended with an alt account, and if you encounter any problems feel free to create an issue on GitHub.