2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Windows・Linuxからコマンド1行でDiscordにメッセージを送信する

Posted at

Discordで自分用のサーバーを作っておき、そこにプログラム等から通知を送るようにしておけば、スマホにも通知が届いて何かと便利。自動実行をしているプログラムが想定外の動作をした時や、サーバー障害を検出した時など。

通知を送るには、まずDiscordクライアントで通知を送りたいチャンネルの設定を開き、Webhook(ウェブフック)を作成する。URLをコピーしておく。

2023-08-30_14h31_27.png

WindowsのコマンドプロンプトやLinuxのシェルからメッセージを送信するには、curlコマンドを使って以下のように実行する。curlは多くのLinuxディストリビューション及びWindows 10のバージョン 1803以降ならデフォルトでインストールされている。

curl -H "Content-Type: application/json" -X POST -d "{\"username\": \"ユーザー名\", \"content\": \"メッセージ本文\"}" ウェブフックURL

このコマンドをLinuxならシェルスクリプト、Windowsならバッチファイルに書き、他のプログラム・スクリプトやCron・タスクスケジューラから実行することもできる。

ただし、最近のWindowsでデフォルトになっているPowershellの場合、curlコマンドはInvoke-WebRequestコマンドのエイリアスとして設定されているため、同じコマンドだとエラーになる。Invoke-WebRequestで実行することもできるが、コマンドが複雑になる上、日本語が文字化けしたりする。cmd.exeを介して以下のように実行することはできる。

cmd.exe /c 'curl -H "Content-Type: application/json" -X POST -d "{\"username\": \"ユーザー名\", \"content\": \"メッセージ本文\"}" ウェブフックURL

Discordはサーバー・チャンネルごとに通知をカスタマイズすることができるので、スマホにもプッシュ通知を送るチャンネルと、通知は行わず情報を貯めておいて時間のある時に見るチャンネルを分けるといった使い分けをすると便利。

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?