LoginSignup
6
0

More than 5 years have passed since last update.

botでSlackの散らばった発言をまとめて全体把握する話

Last updated at Posted at 2018-12-14

Aptpod Advent Calendar 2018 14日目の記事です。

CTO の梶田です。
今回初めての試みとして、会社(アプトポッド) で アドベントカレンダーをやってみたという感じなのですが、
みんなちゃんと期日通りに埋めてくれて偉い!
まだまだ書ける人が少なくて4記事書く猛者もいて素晴らしい。

今までは、会社としてあまり公にはできてなかったですが、これに限らず、できる範囲で広げていく・続けていくことができればと思ってます!

さて、自分としては、最後の方に予約して余裕持っていたのですが、
埋まらない!?といことだったのでここで入れてみました。

まず最初の記事としては、Slackネタをゆるーく書いてみようと思います。

背景

弊社の中でのコミュニケーションハブとして担っているのがSlackで
コミュニケーションだけでなくアプリケーションとつないだり、監視したり等々、
なくてはならない存在となっています。

image.png

流行る前から使っており、けっこう経つのですが、
人や案件/プロジェクト/製品が増えるにあたり、チャンネルがどんどん増え
けっこう辛い状況となってきました。。。

よくある話ですね。。。(汗

モチベーション / きっかけ

課題解決!というか

何がどうなってるかわからない

ということをちらちら聞いていたので
Slackに #timeline channelをつくった話
記事を参考に前から作ってたHubotの応用で簡単に
全体として俯瞰して時系列で眺める用にPublicのチャンネルを集約するbotを作って導入してみました。

古い記事でslackのAPIも新しくなっていたので遊んでみたい思いもあり。。。気分転換にやってみた感。。

他の記事も ↓参考

導入して

導入して1年以上経ちますが、1/3ぐらいにはみてもらえているようです。

  • 気になる発言を拾うことができた
  • 知らなかったチャンネルにJOINできた
  • スレッドを拾うことができた

という声も聞くし、自分としてもTwitter好きなので便利だーという感じです。
全体の緩い把握と球拾いにイイですね!

timelineの実際はこんな感じ↓
いろんなチャンネルから時系列に並ぶ

image.png

その他

Tips系を

Hubot実装Tips

一応少しだけ書いとこう

botのプロファイル画像取得

チャンネルのメッセージを拾ってメッセージまとめる部分で

module.exports = (robot) ->

  robot.hear /.*?/i, (msg) ->
    channel = robot.adapter.client.rtm.dataStore.getChannelGroupOrDMById(msg.envelope.room).name
    channel_url = process.env.SLACK_URL_BASE + msg.envelope.room
    message = msg.message.text
    username = msg.message.user.name
    user_id = msg.message.user.id
    user_image = ※msg.message.user.slack.profile.image_48
    ...

※部分はユーザーだと取れるがbotだとImage取れないので

user_image = robot.adapter.client.rtm.dataStore.bots[msg.message.rawMessage.bot_id].icons.image_48

botはこんな感じで取る

メッセージの最後に対象のチャンネルを付与する

message += "%0A(at %23#{channel} )"

構築Tips

  • 初期のモチベーションがお金かけないだったので以下のAddonを利用
  • Herokuの無料枠でどうやるか

Addon

  • Hubot使うためにRedis必要なので
  • 常時起動はお金がFreeプランではできないのでbotを2:00〜8:00までは寝るようにする(健全!?)

(おまけ)利用Tips

  • チャンネルのリンクから該当箇所に飛んでしまうとどこまで読んだかわからなくなる。。。

->

  1. リンクで飛ぶ前に Star 押してお気に入り(timelineチャンネル上のメッセージ)

  2. リンクで飛ぶ

  3. お気に入り一覧からJump でもとに戻る

とりあえず時間が経っても違うチャンネル行ったりしても戻れますね
で役目を終えたらお気に入り外せばよい

今後

timelineをカテゴリ分けたり、集計したり。。。便利/解決できることはやりたい!
という思いはある。。
できれば

参考

Slack上にTimelineを形成して全チャンネルの発言をゆるく眺める

Slackに #timeline channelをつくった話

slackで分報をタイムライン表示して一覧性を手に入れろ

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0