NEMの入出金を通知するDiscordのBotを作った

Discord良いですね。最近になって Discord を使う機会があったので使ってみてますが、軽いし、サーバ作るのも簡単にできるし流行るのわかる気がする。

というわけで、今回は Discord の Bot にも手を出してみました。

作ったのは、以前 Skype で作った Bot を Discord に移植したものになります。

NEM の指定アドレスのトランザクションを通知する Bot になります。

Discord メインで使ってるプロジェクトの共有のアドレスの入金を監視するのに良いかと。

寄付アドレスとか。

いつ入金されるかわからないアドレスに使えるかなーと思います。

使い方

1. Bot をサーバに招待する

下記招待リンクをクリックして Bot をサーバに追加します。この作業はDiscordのサーバを作成した人しかできないみたいなので、必要ならサーバ管理者に追加してもらってください。

https://discordapp.com/oauth2/authorize?client_id=397481563270545408&scope=bot&permissions=0

2. 通知するチャンネルの Webhook を登録する

Bot に通知して欲しいチャンネルの設定で、Webhookを有効にします。

チャンネルの編集より

Webhooks を選択。Webhook の作成を行います。

適当に名前をつけます。Webhook URL を後で使うのでコピーしておきます。

チャンネルの編集画面を閉じて、該当するチャンネルで npb.register さっきコピーしたWebhookのURL を入力します。 npb.register と URL の間は半角スペース。

成功すると、チャンネル登録完了のメッセージが Bot から通知されます。

3. アドレスを登録する

npb.add NEMのアドレス 適当な名前 入力します。下画像は nem-kotlin の寄付アドレスを登録した場合。

これで登録完了です。あとは指定したアドレスに入金(出金)が行われると、Bot から通知が来ます。

その他いろいろ

だいたい Skype の時と同じですが、

  • npb.help で使い方が表示されます。
  • npb. のかわりに Bot をメンションしても反応します。@NemPushBot add ... とか
  • npb.balance で残高表示します。
  • 暗号化されたメッセージには対応してません。

コードについて

ソースコードはGitHub に置いてます。

Websocket でトランザクション監視して通知してるだけですね。ライブラリは勿論 nem-kotlin

さいごに

Skype の方のベースがあったのもありますが、すごい簡単に Bot 導入できました。

Discord すごい好きになってしまいそう。

何かあれば @ryuta461 までお気軽にご連絡ください〜。


最後まで読んでいただきありがとうございます。 このブログを「いいな」と感じていただけましたら、Twiter にてフォローいただけるとうれしいです。ブログ更新情報などもお届けします。



この記事をシェアする




りゅーた
フリーランスのエンジニアしてます。Android、iOS アプリの開発、対向サーバの開発、C/C++のライブラリ開発が現在のメイン。趣味はテニス・ゲーム・自転車。3児の父

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA