L is Bエンジニアブログ

ビジネス用メッセンジャーdirectのエンジニアによるブログ

LisBエンジニアブログ

ビジネスチャットdirectのエンジニアブログ

NASAも使っている!OSSのRethinkDBをbotから使ってみた

f:id:nabeyama:20160523113621p:plain

お久しぶりです。鍋山です。

 

今回はNASAでも使われているらしい、RethinkDBhttps://rethinkdb.com/)をbotを経由して使ってみました!

RethinkDBのブログにNASAでのユースケースの記事があり、Google翻訳を使って読んでみました。

One small step for the Thinker: A case study of RethinkDB at NASA - RethinkDB

宇宙遊泳やらISSやら厳かなキーワードがあるあたりに、とてもすごいプロジェクトで使われているのかな・・・とドキドキしました。

 

hubotのデータストアの標準には、robot.brainを経由して利用するRedisがあります。
これをRethinkDBというOSSを代わりに使えないかと思い、簡単なbot開発を行いつつ利用してみました。

続きを読む

複数のdaabを異なるNode.jsのバージョンで実行する方法

f:id:nabeyama:20160401153852p:plain

こんにちは、鍋山です。

いつものローカル開発環境では、気楽にNode.jsのバージョンを切り替えてdaabを実行しています。 Node.jsのバージョンの切り替えが楽にできるツールは、nvmやnodebrewなどがあります。

nvmでは、「nvm use 4.0.0」とコマンドを打つことで、Node.js 4.0.0に切り替えられます。 nodebrewでは、「nodebrew use 4.0.0」といったようにどちらも似通った使い方ができます。

では、同環境下で複数のBotを実行する場合に、それぞれで異なるNode.jsのバージョンを使いたい場合にどうしたら良いのでしょう?

今回は、これらのツールを使って、同一環境下で一つのBotをNode.js 4.x.xで実行し、もう一つのBotをNode.js 5.x.xで実行する方法を紹介します。

用意しておくこと

  • nvm or nodebrewのインストール
  • 各バージョンにdaabインストール

nvm or nodebrewのインストール

nvmやnodebrewは利用する環境にインストールする必要があります。 今回の記事では省略させていただきます。

github.com

github.com

各バージョンにdaabインストール(v4.4.2とv5.10.0を使う場合)

各Node.jsのバージョン別にdaabをインストールする必要があります。

nvmの場合

(nvmとnpmは違うものですので、気をつけてください)

Node.jsのバージョン指定インストール

nvm install 4.4.2
nvm install 5.10.0

各バージョンにdaabをインストール

nvm use 4.4.2
npm install -g daab
nvm use 5.10.0
npm install -g daab

nodebrewの場合

Node.jsのバージョン指定インストール

nodebrew install-binary v4.4.2
nodebrew install-binary v5.10.0

各バージョンにdaabをインストール

nodebrew use v4.4.2
npm install -g daab
nodebrew use v5.10.0
npm install -g daab

※インストール時のバージョン指定記述方法はいくつか種類があります。

バージョンを指定してdaabを実行する方法

nvmの場合

// 一つ目のプロジェクトディレクトリにて
nvm exec 4.4.2 daab start

// 二つ目のプロジェクトディレクトリにて
nvm exec 5.10.0 daab start -d

nodebrewの場合

// 一つ目のプロジェクトディレクトリにて
nodebrew exec 4.4.2 -- daab start

// 二つ目のプロジェクトディレクトリにて
nodebrew exec 5.10.0 -- daab start -d

これで複数のdaabを異なるNode.jsのバージョンを使用して実行することが可能になります。

TIL(Today I Learned)を30日続けてわかった5つのこと

f:id:nabeyama:20160325110817p:plain

1か月ほど前にTILがこれから流行るかもしれない、という記事を読んで、僕も感化されてやり始めました。

syossan.hateblo.jp

それから30日経ったので、その間に思ったことや考えたこと、わかったことをまとめてみようと思います。

続きを読む

PDF作成もチャットで簡単に!Markdownで書いたメッセージをPDFに自動変換してくれるボット

こんにちは、Markdownは好きですか?

僕は大好きです!

 

そんなわけで、とても簡単なボットではあるのですが、テキストメッセージを送信するとPDFに自動変換してくれるMarkdown対応のボットを作ってみました。

 

続きを読む

ES2015で書く!チャットに画像投稿すると効果画像と結合してくれるボット

こんにちは、鍋山です。
この頃、ずいぶんと長い工数のかかるボットを開発していました。
コーディングはES2015とlodashに頼ることで、コード量の削減と可読性が良くなったように思います。
Node.js開発者の活動も盛んになっており、今後のdaab開発においても楽しさと快適さが期待できそうです。

今回は、チャットでボットに画像を送信すると、その画像を他の画像と結合してくれるボットを作ります。
結合する「他の画像」は、PNG形式の背景が透過している画像を利用します。

続きを読む

【Hack the Real】デベロッパーサミット2016に参加してきました

テーマは、Hack the Real

新しい時代の幕開けのようでワクワクしながらこの日を待ち遠しく思っていました。

event.shoeisha.jp

 

2月18日、2月19日と2日間デベロッパーサミットに参加してきたのですが、面白かったセッションについて感想を書きます。

続きを読む

WebRTC Conference Japan 2016 に参加してきました (2日目)

2月16日、17日に開催された WebRTC Conference Japan 2016 に参加してきました。

webrtcconference.jp

2日目の感想です。(1日目はこちら→WebRTC Conference Japan 2016 に参加してきました (1日目) - LisBスタッフブログ)

開発者向けの Track A と、ビジネス向けの Track B に会場が別れています。 自分は Track A に参加してきました。

続きを読む

WebRTC Conference Japan 2016 に参加してきました (1日目)

2月16日、17日に開催された WebRTC Conference Japan 2016 に参加してきました。

webrtcconference.jp

このイベントにはサブタイトルとして、 『「知っている」の、その次へ。』がついていました。 その名の通り、実際にサービスを運用したときに直面しそうな問題だったり、 よりよいサービスにするための試行錯誤だったり、 具体的な話を聞くことができました。

続きを読む

ボットが送信したメッセージのIDを取得する方法

f:id:nabeyama:20160131153432p:plain

こんにちは、このところBot業務に忙しい鍋山です。
Bot案件が増えてきていて、人手が足りないながらも嬉しい悲鳴をあげています。

さて、今回はdirectでBotが送信したメッセージのメッセージIDを取得する方法についてです。

続きを読む