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_KEY
with the value taken from Discord. Make sure to adddiscord_interactions
to yourrequirements.txt
file, 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.commands
scope. - Run
client_credentials.py
and input your Client ID and Secret, take note of the returned access token in theaccess_token
field. - Run the
register_command.py
script with the token fetched through the client credentials script. - Run the
/dice
command 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
.
doesn't seem like this example command responds to discord fast enough now with azure functions :/