This is a very basic Discord Interaction designed to run on Azure Function Apps using the Python runtime.
- Head to Discord and create a new application, take note of the Client ID, Client Secret and Interactions Public Key.
- Create a new Azure function app with the code in
azure_function.py, make sure to add an app setting calledINTERACTION_PUBLIC_KEYwith the value taken from Discord. Make sure to adddiscord_interactionsto yourrequirements.txtfile, the function depends on it! - Place the URL of your App Function HTTP trigger into the Discord Developer portal. If things are working it will allow you to save.
- Add the application to your server by visiting the OAuth2 URL generator in the Developer portal and creating a link with the
application.commandsscope. - Run
client_credentials.pyand input your Client ID and Secret, take note of the returned access token in theaccess_tokenfield. - Run the
register_command.pyscript with the token fetched through the client credentials script. - Run the
/dicecommand in your Discord server!
At some point you'll want to have the commands appear by default in your users Discord servers without having to manually add them to the guild. To do this swap the URL in register_command.py for one that looks like the following:
url = f"https://discord.com/api/v8/applications/{APP_ID}/commands"After you run the script once more the new command will begin to propagate across your applications Discord servers over a period of an hour.
All code in this project is licensed under MIT. The full license can be found in the file named LICENSE.
Thank you Joe, very cool.