少し前に slackでbotアカウントが作れるようになり、それまで IRC Gateway で動作させていたSlack上のbotを hubot-slack を利用したbotアカウントによるbotに乗り換えました。 ところでslack上でhubotを動かす場合、IRCと比べ次の2点が不便です。 必ずgeneralチャンネルに入ってしまうため、generalでの関係ない発言に反応してしまうおそれがある notice発言がないため、botをbotに反応させない手段としてnotice発言を利用できない そこで、特定の条件でbotの発言を抑制するスクリプトを書きました。 コード _ = require 'lodash' module.exports = (robot) -> robot.hear /.*/, (msg) -> if _.contains ['manaten', 'some_admin
仕事上でわかったことのうち顧客に関わる情報が無い物、一般公開して差し障りのなさそうな事をたまーに投稿しています。 ちなみに、記事上に載せた私が書いたコードは、用途問わず再利用いただいてかまいませんが、保障は一切いたしませんので、あしからず。 ですます調の記事とである調の記事が混ざりますが..こちらも、あしからず。 Hubotフレームワークは、coffee scriptかJava Scriptで書かなければならない。 それにいわゆるプラグインのようにスクリプトを配置していく構造なので Hubotが決めた書式に従ってコードを書かなくてはならない。 それにいろいろ予約語というか、 メタデータなどの扱いなんかもどうやればいいのか しっておきたいし... ということで本家サイトの Hubot Documentation: Scripting https://hubot.github.com/docs
修正: 2/10 node-cronを使ったコードの例が間違っていたので修正。 github社製のボットフレームワーク、hubotをIRCボットとして導入する話。 インストール hubotはnode.jsとcoffescriptで書かれたgithub社製のボットフレームワーク。IRCに限らず、campfireやtwitterなどいくつかのアダプタに対応しているが、ここではIRCで利用するための導入手順を記す。 あらかじめnode.jsとnpmをインストールしておいて、hubotをインストールする。 $ git clone git://github.com/github/hubot.git $ cd hubot $ npm installhubotは、ボットが扱うデータを永続化するためにredisというKVSを利用する。redisが入っていない時はエラーになるので動かす前にインストールする。
これは Hubot Advent Calendar 2014 の 13 日目、のつもりで書いた 16 日目の記事です。真の 13 日目は mako09 さんが 『hubot-slack アダプタ v2 から v3 へ』を書いてくださっているようです。 また、今回は @bouzuya の Hubot 連載の第 10 回です。目次は、第 1 回の記事にあるので、そちらをどうぞ。 ちなみに昨日は @hiconyan さんの 研究室でHubot使ってる話 でした。 @hiconyan さんとこの Huboco ちゃんはアイコンなど、きちんとしていてうらやましいですね。Hubot を定期的なジョブ実行に使う事例はよく見ますね。 前回まで、そして今回は さて、前回は Hubot スクリプトの読み込み処理を読んでみよう ということで、Hubot の起動処理を追いかけて、Hubot スクリプトがどんな風に
GitHubが作ったチャットのbotフレームワーク、Hubotを使ってみる(Mac)。 これがあればいろんなチャットツールにbotを導入できる! ここでは、Hubotのインストールと各種機能のスクリプトの実装の説明をする。 各種チャットツールとの連携方法やHerokuへのデプロイ方法などはココでは説明しない。 Hubotの構造 Hubotは以下の構造になっている [チャットツール] ↑↓ [Adapter] : チャットツールとRobotとの橋渡し。ここを入れ替えることでいろんなチャットツールに対応可能。 ↑↓ [Robot]:Hubot本体。 ↑↓ [scripts]:botの挙動を実装したスクリプト。CoffeeScriptで書く。 Hubotのインストール Hubotはnode.jsで動くので、まずnode.jsをインストール。(node.js参考)
またもやHubotネタです。 #最近Hubot弄ってるだけで他のこと全然できてない・・・ 今回は、投稿されたURLのTitleをつぶやくスクリプトを実装します。 スクリプト 早速スクリプト本体です。Gistにもおいておきました。 下記を参考にさせていただきました。 HubotでURLが貼られたらページのタイトルをしゃべるようにする request = require 'request' cheerio = require 'cheerio' iconv = require 'iconv' convertEncode = (body) -> charset = body.toString('ascii').match /<meta[^>]*charset\s*=\s*["']?([-\w]+)["']?/i return new iconv.Iconv(charset[1], 'UTF-8/
Hubotを導入するなら知っておくべき実際に使ってる最低限な実装のスクリプト3選 はじめに ChatOpsとしてHubotを使う開発会社もどんどん増えてきてる中で、実際にどんなHubotのスクリプトを使っているのかを紹介していきます。 ちなみにHubot自体はCoffeeScriptなので、ちょっとしたスクリプトを書くのにすごく楽で良いですね。 少しですが私の紹介を・・ Software Design 2016年1月号に記事書きました! この度本誌26P〜の「はじまっています。ChatOps - Slack+Hubotで環境構築解説」という記事を書かせて頂きました! 内容としてはChatOpsを使って開発業務から社内交流など幅広くChatOpsで改善したお話になってます、是非皆さん買って読んで頂ければ! 実際に使ってるスクリプトの紹介 呼びましたかスクリプト よくSlackでメンションだけ
第4回までで、Hubotをセットアップしてチャットツールに接続し、独自のスクリプトを書くことができるようになりました。最終回となる今回は、もう少し複雑なスクリプトの書き方をサンプルコードをベースに紹介します。 定期実行で定時ミーティングの時間を通知する デイリースクラムの時間を通知すると言った定期的な処理をHubotに行わせたい場合、cronモジュールを使うと便利です。本節では、cronモジュールの導入方法と使用例のサンプルスクリプトを掲載します。 cronモジュールの導入 cronモジュールのようなnpmのモジュールを使用するには、Hubotを導入したディレクトリの直下にあるpackage.jsonファイルのdependenciesにモジュールの情報を追加します。 通常、Hubotをインストールした直後はdependenciesの項目は次のようになっています。 "dependencies
SlackのTokenを取得する これは、Slackから取得するればおk hubotをSlackに接続できるようにする yomanのジェネレーターを使って作成します 簡単ですね。 npm install -g hubot coffee-script yo generator-hubot # hubotの雛形を作成 yo hubot # slackのアダプター npm install hubot-slack --save 環境変数の HUBOT_SLACK_TOKEN にSlackから取得できたTokenを設定する ./bin/hubot これでSlackに設定したhubotのユーザーがログイン状態になればおk Dockerで動かすようにする centos6のDockerfileの内容です。 FROM centos:centos6 MAINTAINER oomatomo ooma0301@g
こんにちは。麦芽系エンジニアasmzです。麦芽は東北産を使用しています。そろそろビアガーデンとか行きたいです。誰か誘って下さい。よろしくお願いします。 さて、私はこれまで engineering.otobank.co.jp engineering.otobank.co.jp とかでちょいちょい弊社Hubot(otobot君)に機能追加してきて、「この人Hubotばっかりやってるけど、実はオトバンクのHubot開発担当の人なのかしら?何なのかしら?窓際社員なのかしら?」と思われがちです。違います。何ですかHubot開発担当って。 まぁ主に仕事に疲れた時の気晴らしとかに、一人で勝手に作ってます。何故か深夜にプルリク出ることが多いやつです。 otobot君も最初はそんなに社内で活用されてたわけでも無いのですが、otobot image me でおもしろ画像表示して遊ばれたり(専用のSlackチャ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く