#使い方
##1.applicationを作成
https://discordapp.com/developers/applications
の右上のNew Applicationで登録
→
General Informationページでclient_idとclient_secretを取得できる
##2.Botアカウントを作成
参考
https://discordpy.readthedocs.io/ja/latest/discord.html
Botアカウントを作成し、アクセストークンを取得。
→
利用するチャンネルにBotを招待し、必要な権限を与える。
##3.APIの呼び出し方
https://discordapp.com/api
{Authorization: Bot 取得したボットトークン}
のようにボットトークンをヘッダーで送る。
#APIでできること(一部のみ)
##チャンネル系
###・チャンネル招待リンクURL作成
参考
https://discordapp.com/developers/docs/resources/channel#create-channel-invite
POST https://discordapp.com/api/channels/{channel.id}/invites
{
"max_uses":1, //招待コードを1回のみ有効にする。
"unique":true //発行する度に新しい文字列の招待コードを発行する。
}
{
"code": "リンクのコード"
"その他":"その他"
}
`https://discord.gg/${responsebody.code}`
##サーバー系
###・サーバーから退出させる
チャンネルから退出させるAPIはなさそう。。。
Remove Guild Member
https://discordapp.com/developers/docs/resources/guild#remove-guild-member
DELETE https://discordapp.com/api/guilds/{guild.id}/members/{user.id}
###・サーバーに追加する
注)チャンネル自体に登録するAPIはない。
privateチャンネルに登録したければ、サーバーに追加する際にそのチャンネルを閲覧できる権限を与えればよい。
1.codeの取得
以下のAPIを呼び出し、画面上でユーザにIDとパスワードを入力してもらう
GET https://discordapp.com/api/oauth2/authorize?
client_id= クライアントID
&redirect_uri= リダイレクトURL
&response_type= code
&scope=guilds.join
http://指定したリダイレクトURL?code= コードの文字列
2.access_tokenの取得
上記codeを使って以下のAPIを呼びたしアクセストークンを取得する。
POST https://discordapp.com/api/v6/oauth2/token
{Content-Type:application/x-www-form-urlencoded}
{
grant_type:authorization_code,
code: 取得したコード,
redirect_uri: リダイレクトURL,
scope:guilds.join"
}
{
"access_token": "",
"expires_in": 604800,
"refresh_token": "",
"scope": "guilds.join",
"token_type": "Bearer"
}
3.guildに追加
Add Guild Member
https://discordapp.com/developers/docs/resources/guild#add-guild-member
注)追加したいギルド内で'CREATE_INSTANT_INVITE'の権限を持つボットのトークンが必要
PUT https://discordapp.com/api/guilds/{guild.id}/members/{user.id}
{Authorization: Bot ボットトークン}
{
"access_token"(required): 取得したaccess_token,
"roles": [ロールのID], guild内のロールを付与する
}
{
"user": {
"id": "",
"username": "",
"avatar": null,
"discriminator": "",
"public_flags": 0
},
"roles": [],
"nick": null,
"premium_since": null,
"mute": false,
"deaf": false,
"joined_at": ""
}
###・ロールを付与する
Add Guild Member Role
https://discordapp.com/developers/docs/resources/guild#add-guild-member-role
PUT https://discordapp.com/api/guilds/{guild.id}/members/{user.id}/roles/{role.id}
###・ロールを剥奪する
Remove Guild Member Role
https://discordapp.com/developers/docs/resources/guild#remove-guild-member-role
DELETE https://discordapp.com/api/guilds/{guild.id}/members/{user.id}/roles/{role.id}
##ユーザー
###・ユーザのuserIDを取得する方法
1.codeを追加
以下のAPIを呼び出し、画面上でユーザにIDとパスワードを入力してもらう
参考
https://discordapp.com/developers/docs/topics/oauth2#authorization-code-grant
GET https://discordapp.com/api/oauth2/authorize?
client_id= クライアントID
&redirect_uri= リダイレクトURL
&response_type= code
&scope=identify
http://指定したリダイレクトURL?code= コードの文字列
2.アクセストークンを取得
上記codeを使って以下のAPIを呼びたしアクセストークンを取得する。
POST https://discordapp.com/api/v6/oauth2/token
{Content-Type:application/x-www-form-urlencoded}
{
grant_type:authorization_code,
code: 取得したコード,
redirect_uri: リダイレクトURL,
scope:identify
}
{
access_token: トークン
その他:その他
}
3.ユーザー情報を取得
トークンを用いてget current userAPIでユーザ情報を取得する
参考
https://discordapp.com/developers/docs/resources/user#get-current-user
GET https://discordapp.com/api/users/@me
{Authorization:Bearer 取得したトークン}
id:ユーザID
その他:その他
#モジュールについて
js
https://discord.js.org/#/docs/main/stable/general/welcome