hugelでは、Discordを使用してメンバー間の情報共有を行っています。サーバー管理においても情報をDiscordに集約するため、Webhookを利用してサーバーからメッセージを送信できるよう設定しました。

Discordとは?

Discordは、主にインターネットを通じてコミュニケーションを取るためのアプリケーションで、同様のツールではSlackやTeamsがあります。それらにも共通していますが、以下のような特徴があります。

手順

Webhookは、特定のイベントが発生したときに自動的にHTTPリクエストを送信する仕組みです。Discordの場合、Webhookを設定することで、外部のアプリケーションやサービスからDiscordチャンネルにメッセージを送信することができます。

以下は、Webhookを使用してDiscordに投稿する基本的な手順です:

  1. Discordサーバーの設定でWebhookを作成し、WebhookのURLを取得します。

    image.png

    image.png

    image.png

  2. 取得したWebhook URLに対してHTTPリクエストを送信します。これは通常、POSTリクエストとして行われます。

  3. リクエストのボディに、送信したいメッセージの内容やフォーマットを指定します。

シェルスクリプトの例

このシェルスクリプトは、サーバーのディスク使用量を計算し、その情報をDiscordに送信するものです。

  1. WEBHOOK_URLを設定:DiscordのWebhook URLを指定します。
  2. ディスク使用量の計算:duコマンドを使用してホームディレクトリの使用容量をMB単位で取得し、GB単位に変換します。
  3. メッセージの作成:取得した使用量を含むメッセージを作成します。