うまげーむさん

ゲームの情報を主に投稿します。

【Discord】JavaでDiscordのBotを作る方法! #2 ログインしてみよう

Umagameです。

今回は前の記事の続きです。

前の記事を見ていない人はこちらから:

umagame.hatenablog.jp

f:id:Umagame:20190219195057p:plain

トークンの取得

まず、https://discordapp.com/developers/applications/へ行き、右の「Bot」を選択し、「Click to Reveal Token」をクリックします。

f:id:Umagame:20190219190736p:plain

「Click to Reveal Token」をクリック

そうするとトークンを呼ばれる、Botを動かすためのIDのようなものが表示されるのでコピーしましょう。

f:id:Umagame:20190219190858p:plain

他人に教えないように!

注意ですが、このトークンが他人にバレるとBotを悪用されてしまう可能性があるため、気をつけましょう。

Botをサーバーに追加

本当は前回で説明すればよかったのですが、めんどくさかったのでここで説明します。

https://discordapp.com/developers/applications/Botを選択し、右の「OAuth2」をクリックします。

「SCOPES」というところの、「bot」にチェックを入れます。

f:id:Umagame:20190219194155p:plain

bot」にチェックを入れる

そして必要ならば、下の「BOT PERMISSIONS」から権限をいじりましょう。

個人的には「管理者」の権限をもたせるのをおすすめします。

URLをコピーして開くと、Botをサーバーに招待することができます。

f:id:Umagame:20190219194415p:plain

URLをコピーして開く

ログインしてみよう

それでは手に入れたトークンを使って、ログインしてみましょう。

まずログインするには、JDABuilderクラスのbuildメソッドを使う必要があります。

(古いバージョンでは、buildメソッドがないためbuildBlockingやbuildAsyncを使いましょう)

そして、setTokenメソッドを後ろに書くことでトークンを設定できます。

こんな感じ。

JDABuilder jdabuilder;
JDA jda;
jda = jdabuilder.setToken("ここにトークンを入力").build();

ですが、「処理されない例外の型 LoginException」とエラーがでるので、tryとcatchで囲みます。

try {
	jda = jdabuilder.setToken("ここにトークンを入力").build();
} catch (LoginException e) {
	e.printStackTrace();
}

最終的にこうなります。

public class TutorialBot {
	public static void main(String[] args) {
		JDABuilder b = new JDABuilder();
		JDA jda;
		try {
			jda = b.setToken("ここにトークンを入力").build();
		} catch (LoginException e) {
			e.printStackTrace();
		}
	}
}

 これで実行すると、Botがオンラインになるはずです。

LoginExceptionでエラーになる場合は、トークンを間違えている可能性があります。

さいごに

今回はここまでです。

前の記事:

umagame.hatenablog.jp

次の記事:

umagame.hatenablog.jp