there are a few variants.
the simplest and most common:
https://discord.com/api/oauth2/authorize?<&-SEPARATED LIST OF PARAM=VALUE PAIRS>
query param | description |
---|---|
client_id | integer given by bot owner |
scope | %20-separated list of scopes |
permissions | bitwise calculated permissions |
guild_id | integer given by server admin |
https://discord.com/api/oauth2/authorize?client_id=DANNY_PROVIDES_THIS&scope=bot&permissions=0&guild_id=854180783828762664
https://discord.com/api/oauth2/authorize?client_id=DANNY_PROVIDES_THIS&scope=bot&permissions=446676978752&guild_id=854180783828762664
https://discord.com/api/oauth2/authorize?client_id=DANNY_PROVIDES_THIS&scope=bot%20applications.commands&permissions=448824462400&guild_id=854180783828762664
query param | recommended value | rationale |
---|---|---|
client_id | tbd | danny provides this |
scope | bot | typical |
scope | bot%20applications.commands | if danny's bot has slash commands |
permissions | 0 | permissions set 0 |
permissions | 446676978752 | permissions set 1 |
permissions | 448824462400 | permissions set 2 |
guild_id | 854180783828762664 | friendzymes server ID |
permissions set 0 is no permissions.
the bot is added without any special permissions.
then a role is created for it by server admin.
the bot is assigned that role for permissions.
permissions set 1 is the following:
permissions set 2 is the following:
This set is for the scenario where danny's bot has slash commands.
https://discord.com/developers/docs/topics/permissions#permissions-bitwise-permission-flags
type | safe | permission | value (hex) | value (dec) |
---|---|---|---|---|
Y | no permissions | 0 | 0 | |
general | Y | view channels | 0x400 | 1024 |
general | Y | create invite | 0x1 | 1 |
general | Y | change nickname | 0x4000000 | 67108864 |
general | N | manage channels | 0x10 | 16 |
general | N | manage roles | 0x10000000 | 268435456 |
general | N | manage emojis and stickers | 0x40000000 | 1073741824 |
general | N | view audit log | 0x80 | 128 |
general | N | view server insights | 0x80000 | 524288 |
general | N | manage webhooks | 0x20000000 | 536870912 |
general | N | manage server | 0x20 | 32 |
general | N | manage nicknames | 0x8000000 | 134217728 |
general | N | kick members | 0x2 | 2 |
general | N | ban members | 0x4 | 4 |
general | N | manage events | 0x200000000 | 8589934592 |
general | N | administrator (all permissions) | 0x8 | 8 |
text | Y | send messages | 0x800 | 2048 |
text | Y | send messages in threads | 0x4000000000 | 274877906944 |
text | Y | create public threads | 0x800000000 | 34359738368 |
text | Y | embed links | 0x4000 | 16384 |
text | Y | attach files | 0x8000 | 32768 |
text | Y | add reactions | 0x40 | 64 |
text | Y | use external emoji | 0x40000 | 262144 |
text | Y | use external stickers | 0x2000000000 | 137438953472 |
text | Y | read message history | 0x10000 | 65536 |
text | Y | use application commands | 0x80000000 | 2147483648 |
text | N | create private threads | 0x1000000000 | 68719476736 |
text | N | mention @everyone, @here, and All Roles | 0x20000 | 131072 |
text | N | send text-to-speech messages | 0x1000 | 4096 |
text | N | manage messages | 0x2000 | 8192 |
text | N | manage threads | 0x400000000 | 17179869184 |
voice | Y | connect | 0x100000 | 1048576 |
voice | Y | speak | 0x200000 | 2097152 |
voice | Y | video | 0x200 | 512 |
voice | Y | start activities | 0x8000000000 | 549755813888 |
voice | Y | use voice activity | 0x2000000 | 33554432 |
voice | Y | priority speaker | 0x100 | 256 |
voice | Y | mute members | 0x400000 | 4194304 |
voice | Y | deafen members | 0x800000 | 8388608 |
voice | Y | move members | 0x1000000 | 16777216 |
voice | Y | request to speak | 0x100000000 | 4294967296 |