投稿 2022年12月25日
更新 2023年2月26日
【Discord API】Java17でDiscord APIを使うには?
JavaでDiscord API
Discord APIをJavaで実行します。
バージョンはJava17です。
curlなどでやっている記事はいくつかありますが、
Javaでやっている記事が見当たらなかったので、やってみました。
前提
Discord APIの実行環境は、整っている前提で話を進めます。
※curlなどでDiscord APIをたたける前提
もしまだ環境が整っていない方は、整えてからご覧ください。
コード
Java
- import java.net.URI;
- import java.net.http.HttpClient;
- import java.net.http.HttpRequest;
- import java.net.http.HttpRequest.BodyPublishers;
- import java.net.http.HttpResponse;
- import java.net.http.HttpResponse.BodyHandlers;
- String token = "xxxxxxxxxxxxxxxxxxxxxxxxx";
- String channelId = "0000000000000000000";
- String mentionId = "1111111111111111111";
- String msg = "はじめまして\\nよろしく!";
- String apiUrl = "https://discordapp.com/api/channels/" + channelId + "/messages";
- String contents = "{\"content\":\"<@" + mentionId + ">\\n" + msg + "\"}";
- HttpRequest request = HttpRequest.newBuilder()
- .uri(URI.create(apiUrl))
- .header("content-type", "application/json")
- .header("Authorization", "Bot " + token)
- .method("POST", BodyPublishers.ofString(contents))
- .build();
- String response = HttpClient.newHttpClient()
- .send(request, BodyHandlers.ofString())
- .body();
- System.out.println(response);
curl
curl --request POST \
--url https://discordapp.com/api/channels/0000000000000000000/messages \
--header 'content-type: application/json' \
--header 'Authorization: Bot xxxxxxxxxxxxxxxxxxxxxxxxx' \
--data '{"content":"<@1111111111111111111>\nはじめまして\nよろしく!"}'
リンク
GitHubにもメソッド版を上げています。
そちらも参考にどうぞ。
まとめ
PHPやcurlは検索すれば出てくるとは思いますが、Javaが思ったより出てこなかったので書いてみました
どうすれば出来るかを考えるのは楽しいです!
仕組みさえわかれば、どうにかなるもんですね。
以上、ここまで見ていただきありがとうございます。
皆さまの快適な開発ライフに、ほんの少しでもお役に立てれば幸いです。
コメント一覧