社内通貨を実現!!SlackでNEMの投げ銭ができるTipSLACK導入手順まとめ

先日たまたまこのようなツイートを見つけました。

2018年7月17日 なになに、SlackでNEMの投げ銭ができるですと・・。このライブラリを導入すればSlackを使っている企業ではすぐ社内通貨が実現できちゃいますね。素晴らしい。

普段Slackを利用している。かつNEMberとして黙って見過ごすわけにはいきません。ということで、早速試してみた。

2018年8月11日

2018年8月11日 無事設定完了して送金に成功!!!

利用するまでの準備は難しくはないのですが、色々手順があるためまとめてみようと思います。この記事を参考にしながらさくっと導入を試してもらえると幸いです。

ちなみに社内通貨とするには100XEMを支払ってモザイクを発行する必要がありますが、2018年8月12日現在ではXEMの価格がかなり下がっているので今がチャンスです。

TipSLACKとは

TipSlackとはXEMBookを作りました @xembookさんが開発したライブラリになります。

できることとしては、Slack上でコマンドを叩くことによってXEM、モザイク(独自通貨)の送金ができます。残高の確認はできません。

もしかしたら追って機能は他にも追加されていくかもしれません。

手順の前提条件

こちらは手順を確認する際の前提条件になります。条件を満たしていない場合はslacknode.jsNanoWalletそれぞれ一度使ってみることをオススメします。

  • slackを一通り使ったことがある
  • node.jsのコードを実行したことがある
  • NanoWalletの利用したことがある

動作環境

動作させた環境は以下になります。

  • Mac OS High Sierra v10.13.5
  • node v10.0.0

それでは早速見ていきましょう。

TipSlackを利用する準備をする

Running 498257 640

以下の流れで進めていきます。

1. ngrokをインストール・起動する

ngrokを使うことによってnodeでローカルサーバを起動した際に、グルーバルなURLでアクセスできるように準備をしておきます。

まずはインストール。

インストールしたら起動させましょう。今回はポート番号は1337を利用します。

このような表示がされればOK。URLが発行されました。

1 ngrok

このURLは次の手順で利用します。

「Ctrl + C」で停止させれますが、再度起動させるとURLが変更することにご注意ください。

2. SlackにSlash Commandsをインストールする

Slack上で「/command hogehoge」のように打ち込むと特定の動きをするようにします。「/command」 の文字列の部分でフックさせてプログラムを実行するようにします。

では、まずはSlash Commandsをインストールして設定いきましょう。

https://[使えるようにしたいワークスペース].slack.com/apps/manage」にアクセスして「Slash Commands」と入力して検索しましょう。

App 管理 まつしん Slack

設定を追加」で次へ。

Slash Commands Slack App ディレクトリ

/tipslack」と入力して次へ。入力した文字がSlackで入力するコマンドとなります。

Slash Commands まつしん Slack

連携が完了後に設定を追加します。

画面少し下の「Integration Settiongs」のエリアにて「URL」を入力してください。

1.の手順で入手したURLの後に「/tipslack」を追加して入力。「トークン」は4の手順で利用します。

Slash Commands Slack App ディレクトリ

入力が完了したら、「インテグレーションの保存」でSlash Commandsの設定完了!

3. 着信Webフックの設定を追加する

次に「着信Webフック」の設定をしていきましょう。設定が完了すると「Webhook URL」が発行されます。

Weghook URLによってローカルでプログラム実行時にどのチャンネルに通知をするかの指定ができます。

https://[使えるようにしたいワークスペース].slack.com/apps/manage」にアクセスして「web」と入力して検索しましょう。

App 管理 まつしん Slack

設定を追加」で次へ。

着信 Web フック Slack App ディレクトリ

TipSLACKを利用したいSlackのチャンネルを選択してください。

着信 Web フック まつしん Slack

連携が完了しました。画面下に表示されている「Webhook URL」は4の手順で利用します。

着信 Web フック Slack App ディレクトリ

以上で着信Webフックの設定は終わりです。

次にコマンドが叩かれた際に実行されるコードを実装しましょう!

4. TipSlackのコードファイルを取得する

それでは肝心のTipSLACKのコードを入手しましょう。Slack上で叩かれたコマンドによって実行されるコードになります。

ダウンロードできたらtipslack.jsの設定部分のコードを書き換えていきます。

43行目に記述された利用環境をメインネットから、テストネットに変更。まず試してみるにはテストネットに切り替えるのが無難でしょう。

コードを変更し終えたら、必要なライブラリを適宜インストールしましょう

TipSLACKではJavaScriptで書かれたNEMのAPIを利用したライブラリであるNEM Libraryを利用しているようですね。

5. サーバーを起動する

それではサーバを起動してコードが実行できるようにしましょう!

下記のようなログが表示されれば起動完了!

1 node

お疲れ様でした!これでやっと準備は完了です。次から実際にコマンドを叩いて動作確認をしていきましょう。

動作を確認する

Children 1822688 640

3の手順で設定したSlackのチャンネルで「/tipslack deposit」と入力。

Slack まつしん

TipSLACK用のアドレスが発行されたらOK!

さて、ついに送金です。テストネットのXEMがないとかであれば下記記事を参考に準備後に先ほど発行したTipSLACK用のアドレスにNanoWalletから送金してください。

【NEM開発入門】仮想通貨NEMのAPIを利用した開発の事前準備をする

2018.07.21

xemでの投げ銭は「/tipslack withdraw 送金先アドレス 送金量 xem」と入力。

Slack まつしん

SUCCESSと通知されれば完了!!NanoWallet側でも着金したことを確認できるかと思います。

モザイク(独自通貨)を投げ銭したい場合は「/tipslack tip 送金先アドレス 送金量 ネームスペース名:モザイク名」のコマンドでできます。

補足

今回は試しでngrokを使っているので、同じSlackのワークスペース内のユーザは誰でも同様にコマンドを利用できます。

ただし、ローカルでngrokで起動したままにしておくのは不便です。本格的に運用する場合はHeroku等のサービスにてtipslack.jsをデプロイして稼働させてください。

所感

今やSlackを利用しているユーザはエンジニアを中心に非エンジニアまで広がりを見せています。なのでSlack上で投げ銭ができるというのはとても可能性を感じましたし面白いです。ライブラリを開発して下さった@xembookさんに感謝です。

贅沢を言うなら機能的にはやはり残高の確認までできれば嬉しい。現状TipSLACKで発行したアドレスの残高を確認する方法がありませんので、そこができるようになると使い勝手がぐっと上がる感じがしています。

興味を持ったエンジニアの方が社内通貨として導入して、社内の人は知らずにNEMを使っている。という状態が広がっていけば嬉しいですね〜。

参考

コメントを残す

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