0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DiscordWebHookで投稿を自動化しよう(テキスト編)

Posted at

今回は、DiscordのWebhook機能を使って、メッセージ投稿を自動で行う方法を紹介します。これを読み終えると、Discordへの投稿を自動化出来るようになります。

今回は、Webhookを使ってHello, Webhook World!を投稿してみましょう。

読者前提

  • Discordをある程度使ったことがある人
  • 簡単なHTTP POSTが出来る人
  • Postmanの簡単な使い方が分かる人

WebHookのURLを取得する

まず、Discordで、Webhookで自動化したいサーバを開き、サーバ設定を開きます。そこから「連携サービス」、「ウェブフック」と進みます。
image.png
「ウェブフックの作成」ボタンをクリックし、用途に合わせて設定します。「チャンネル」は、Botが投稿する先のチャンネルを選んで下さい。
image.png

設定を保存して、「ウェブフックURLをコピー」ボタンをクリックしたら、一旦どこかに貼り付けておきましょう。

ドキュメントを読む

Discord WebHookの使い方は、公式ドキュメントにまとめてあります。
今回確認すべき場所は、「Execute Webhook」セクションです。ここに、メッセージ投稿の方法が書かれています。

まず、どのURLを叩くべきか調べます。今回なら、Execute Webhookの下に、図のように書いてあります。image.png
先程コピーしたURLはこれと同じで、すでにwebhook.idwebhook.tokenが入っています。よって、HTTP POSTするURLはコピーしたURLそのもの、ということですね。

次に、URLパラメータに何を指定すればいいかチェックします。image.png
私はGoogle 翻訳を使って読みました。一番右のREQUIREDは「必須」の意味なので、この場合はすべて任意のオプションです。今回はつけずに進みます。

最後に、ボディとして送信することを決めます。JSON/Form Paramsとあるので、JSON形式で送信します。
たくさん引数の表がありますが、今回使うのは1つだけです。

Field Type Description Required
content string the message contents (up to 2000 characters) one of content, file, embeds, poll

contentsキーに、投稿したいテキストを設定すればいいようです。今回の例では次のようなJSONになります。

{
    "content":"Hello, Webhook World!"
}

HTTP POSTする

HTTPメソッドを実行するのにいくつか方法がありますが、今回はVS CodeのPostmanを使ってみようと思います。インストールしていない場合は、【Postman】vscodeの拡張機能でpostmanを使用する を参考にしてください。

さて、起動したら「New HTTP Request」をクリックします。
image.png

URLにはコピーしていたものを、HTTPメソッドは、GETではなくPOSTにしてください。「text」と書いてあるのを「JSON」にするのも忘れずにしてください。
image.png

Bodyタブに移動して、Rawを選択、先程のJSONを貼り付けたら「Send」ボタンをクリックしてください! Discordにボットからメッセージが届くはずです!
image.png

そして自動化へ

VS CodeのPostmanに戻って、「Send」ボタンの下にある「Code」リンクをクリックしてください。
image.png
コードの種類をいろいろと選ぶことができます。ここでは、「cURL」を選びます。curlというコマンドラインツールで、ほとんどのLinux, macに標準でインストールされています。ここのコマンドをコピーしてターミナルに貼り付けて実行すると、同じようにDiscordに投稿できます!

Windowsの場合

コードの種類で、Powershellを選択するとPowershellで実行できるコードが生成されます。

まとめ

雑な記事となってしまいましたが、Discordで自動投稿する方法をお伝えできたと思います。
cURL、PythonやC#など、様々なコードを生成できるので、自動化しやすくなったのではないでしょうか。毎朝8時に投稿、なども簡単に実現できるのでぜひお役立てください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?