Discord: add developer notes to the README (#1728)
This is based on notes taken during exploring of the API and building the hackathon prototype. As the production-ready version is being built right now, they seem like useful notes to keep on hand.
This commit is contained in:
parent
8ca62d6e0c
commit
10244eacbb
|
@ -0,0 +1,68 @@
|
|||
# SourceCred Discord plugin
|
||||
|
||||
This plugin loads data from a Discord server.
|
||||
|
||||
## Developer notes
|
||||
|
||||
Discord developer docs can be found at:
|
||||
https://discordapp.com/developers/docs
|
||||
|
||||
### Setting up a bot
|
||||
|
||||
To query the API with a reasonable rate-limit, you should set up a Discord app,
|
||||
and a Discord bot as part of that app.
|
||||
|
||||
```
|
||||
Discord app
|
||||
└── Discord bot
|
||||
```
|
||||
|
||||
You can create both on the developer portal here:
|
||||
https://discordapp.com/developers/applications
|
||||
|
||||
|
||||
Permissions this bot will need:
|
||||
|
||||
- `View Channels`
|
||||
- `Read Message History`
|
||||
|
||||
Represented as `66560` integer.
|
||||
|
||||
Then, someone with appropriate permissions needs to invite this bot to the server.
|
||||
There isn't a simple generator for this link on the dev portal, you'll need to format it yourself like this:
|
||||
|
||||
`https://discordapp.com/api/oauth2/authorize?client_id={{clientID}}&scope=bot&permissions={{permissionsInt}}`
|
||||
|
||||
And open it in the browser, as a logged-in server admin.
|
||||
|
||||
Read more: https://discordapp.com/developers/docs/topics/oauth2#bot-authorization-flow
|
||||
|
||||
### Authenticating API requests
|
||||
|
||||
You'll want to set your bot's token in a bot style Authorization header.
|
||||
|
||||
https://discordapp.com/developers/docs/reference#authentication
|
||||
|
||||
`Authorization: Bot MTk4NjIyNDgzNDcxOTI1MjQ4.Cl2FMQ.ZnCjm1XVW7vRze4b7Cq4se7kKWs`
|
||||
|
||||
### Finding configuration values / parameters
|
||||
|
||||
Many of the ID's you will need for configuration are exposed using the Discord client.
|
||||
|
||||
By enabling developer mode (under Appearance > Advanced > Developer Mode).
|
||||
A right-click menu option "Copy ID" will appear.
|
||||
|
||||
Not every element will support this "Copy ID". For example custom emoji.
|
||||
You can find some of those out by using the browser version of Discord and inspecting the DOM.
|
||||
|
||||
Otherwise you can also use the API and query for it yourself with tools like Postman or CURL.
|
||||
|
||||
|
||||
With the bot invited and auth set up. Find out the Guild ID using:
|
||||
|
||||
`GET https://discordapp.com/api/users/@me/guilds`
|
||||
|
||||
Find your custom emoji using:
|
||||
|
||||
`GET https://discordapp.com/api/guilds/{{discordGuildId}}/emojis`
|
||||
|
Loading…
Reference in New Issue