LINE通知よりも便利なDiscord通知を使ってみよう!
皆さん、BOTの管理(稼働監視、ポジション確認)はどうしてますか?
・稼働してるサーバーのログファイルわざわざ見るのもなあ・・・
・LINEに通知してるけど通知多すぎて見るの面倒
・PCとスマホではLINE使えるけど、タブレットは同一アカウントでLINE使えないから不便
・最近Discord使ってるからそっちで見れたら便利なのに・・・
というわけで、今回はすでにLINE通知を導入している方は、LINE通知関数の置き換え程度の手間で、まだ導入していない方もこれを読めば必ず出来る!(はず)
では、詳細手順をスクリーンショットを交えながら説明します。
⒈ Discordに新規のサーバーを追加する
サーバー一覧の一番下にある”+”を押しましょう
⒉サーバーを作るのか、参加するのかを尋ねられるので、新規作成を選んで、新しくサーバーを作成します
⒊サーバーの情報を入力します
今回の例ではサーバー名を「BOT通知」としました。
サーバーリージョンは変更せずに、そのまま新規作成を押します。
⒋DiscordにB通知というサーバーが追加されたら、チャンネルの編集に移ります。今回の例ではデフォルトで設定されている#generalを名前を変えて使いますが、新規のチャンネルを追加しても問題ありません。
⒌概要タブでは、チャンネル名を変更します。今回の例ではgeneral→bot情報通知と変更しました。
⒍Webhooksタブを選択すると、何もないので、新しくWebhookを登録します。
⒎Webhookを作成を押して、通知用のWebhook情報を設定します。
今回の例では名前を「情報通知BOT」とします、チャンネルは一つしかないので、先程名称を変更した#bot情報通知に投稿されます。折角なので画像をガリガリ君にしてみました。
ここが一番肝心なところです、WEBHOOK URLというのが表示されているので、Copyを押してテキストエディタに貼り付けておきましょう。このURLにリクエストを送ることでDiscordのチャンネルにメッセージを投稿することが出来るようになります。Copyしたら保存を押しましょう。
情報通知BOTというWebhookが作成されました。
では、このWebhookを使って実際に1行のプログラムで投稿してみましょう。
Cloud9等からターミナルを起動して以下の一文を入力してみましょう。さっきコピーしたWEBHOOKURLは、上記手順7でコピーしたURLに置き換えてください。
curl -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"username":"情報通知BOT","content":"Discordへの通知簡単でしょ?"}' 'さっきコピーしたWEBHOOKURL'
成功すれば、先程作ったBOT通知の#bot情報通知に「Discordへの通知簡単でしょ?」と表示されるはずです。
※表示されなかった方は、再度Webhookの設定を開いて、URLを確認してください。
⒏最後にPython3を使ったLINE通知の代わりになるDiscord通知の関数および使い方です。
discord.py
discord()を定義しています。LINE通知より簡単ですね。コメント込みで5行です。discord('discord通知テスト')と書いてあるのは、好きなメッセージに書き換えることで任意のメッセージを送信可能です。
# coding: utf-8
import requests
def discord(message):
# Discordで発行したWebhookのURLを入れる
discord_webhook_url = 'あなたのWebhookURL'
data = {"content": " " + message + " "}
requests.post(discord_webhook_url, data=data)
discord('discord通知テスト')
実際に上記コードを実行して、成功すれば先程のターミナルから打った時に通知されたメッセージと同じようにメッセージが送信されます。
ターミナルから以下のコマンドを入力して実行してみてください。
$python3 discord.py
これで、LINE通知を減らして、通知専用のDiscordチャンネルに押し込むことができました。BOTの種類毎にWebhookを使い分ければ、どのBOTで何が起きたのか等わかりやすくなると思います。色々試してみてください。
新規にBOT用にbitmexのアカウントを作成する際に以下のアフィリンクから登録してもらえると励みになります。https://www.bitmex.com/register/dDuM03
連絡先はこちら
https://twitter.com/ASIM_IKASIK
Discordでは:@asim#4460
BOTテスト用のBTCアドレス(寄付大歓迎)
3BMEX3wpfxko6sy5DonmbC1bfqRdTuQJjR