こんにちは、コーポレートデザイン部の太田です。入社して1ヶ月ほど経った5月から、新入社員内で使用するコミュニケーションツールをSlackに一本化しました。
Slackを導入した目的と活用事例を三回の連載にてご紹介いたします。最終回の今回はBotの作り方をご紹介します。
第1回:【Slack】新入社員のコミュニケーションツールとして導入しました
第2回:【Slack】新入社員チームで使用している外部連携ツールやBotの使い方を紹介します
第3回:【Slack】30分で作る雑談ボット(Hubot+人工知能ボットAPI)
概要
Hubotとは
Hubot is your company’s robot. (公式サイトより)
HubotはGitHub謹製のBOT開発・実行フレームワークです。MIT ライセンスで公開されたOSSであり、Node.jsが動く環境で動作します。
タスクの自動化が可能で、独自のスクリプト(CoffeeScript) を追加できます。また、異なるチャットにもそれぞれのアダプターを使用することで対応できるため、一度書いた Hubotのスクリプトはどのチャットでも動きます。
人工知能ボットAPIとは
User Localが提供している人工知能ボットAPIを利用して雑談ボットを作成します。人口知能ボットAPIは、ボット開発に必要となる自然言語処理ライブラリを集約したものです。現時点で以下のような機能が提供されています。(APIキーの取得には事前の申し込みが必要です。)
- 全自動会話API
- 氏名自動識別API
- キャラクター会話API
- 形態素解析API
今回作成する猫ボット
全自動会話APIとキャラクター会話APIを使用してHubotのスクリプトを作成し、ユーザーのレスポンスに対して猫語で返答するボットを作成します。
#randomで猫を飼おう!
ボットの作成手順
Slack側の準備
Apps & Integrationでhubotをインストールします。
hubotの設定画面上でAdd Configurationをクリックし、新しいボットの設定を行います。
以上でSlack側でのHubot設定は完了です。ここで表示されているAPI Tokenは後ほど使用するのでメモしてください。
前提
下記の環境が必要です。
- Node.js 0.10.42
- npm 1.3.6
- hubot 2.19.0
- coffeescript 1.10.0
本記事で使用しているサーバーはAmazon EC2(Amazon Linux)です。AMIの設定方法に関しては割愛させていただきます。(※セキュリティグループ設定でHTTPの80番ポートを開放してください。)
以降は、インスタンスへの接続を完了させた状態での手順です。
必要な環境を整える
Node.js・npm・hubot・coffee-script・yo・generator-hubotをインストールします。
Hubotを作成
Yeoman-generator(Yo)を使用してHubotの雛形を展開します。
ボット名のディレクトリ(今回はcat)を作成し、catディレクトリ内で yo hubot を実行して対話形式で名前などを設定をします。
yo hubotを実行してボットの基本設定を行う
Slack用アダプタのインストール
今回はSlackに接続することを目的としているので、Slack用のアダプターをインストールします。hipchatやIRCなど他のツール用のアダプターも多数用意されています。
bin/hubotを調整
binディレクトリ直下にあるhubotファイルに必要なトークンなどを記載します。
雑談ボットを動かすためのスクリプトを作成
scriptsディレクトリ直下にcat.coffeeを作成します。
Hubotを起動する
作成したBOTをSlackのチャンネルに招待してメッセージを送る
お好みのチャンネルで、/invite @bot_nameして作成したbotをチャンネルに追加してください。
以上で猫ボットは完成です。しかし、この状態でインスタンスへの接続を解除するとボットがログアウトしてしまいます。次の章では、ボットを常駐させる方法をご紹介します。
ボットを常駐させる
今回は、foreverというnode.js用のデーモンマネージャーを使用して作成したボットを常駐させます。
foreverをインストール
PATHを設定
bin/hubotを調整
常駐に関するコマンド
以上で、作成した猫ボットを常駐させることが出来ます。
一度Hubotを作成しておけば、スクリプトを追加するだけで簡単に機能を拡充することが出来ます。また、他のチャットツールにもアダプターを取り替えるだけで接続することが可能です。
お好みのチャットボットを開発してタスクの自動化を図りましょう。
第1回:【Slack】新入社員のコミュニケーションツールとして導入しました
第2回:【Slack】新入社員チームで使用している外部連携ツールやBotの使い方を紹介します
第3回:【Slack】30分で作る雑談ボット(Hubot+人工知能ボットAPI)
PICK UP
-
タグ: Cloud Shell構築, GA4, GA分析自動化, Gemini CLI, Google アナリティクスMCP, LLM連携, コラム, データ対話型分析, モデルコンテキストプロトコル, 自然言語分析
2025年7月発表!自然言語でGA4を分析できる「Google アナリティクスMCPサーバー」を構築する方法 -
タグ: AIエージェント, GA360, Gemini in Looker, Google Cloud Next, Next Tokyo, Vertex AI Search, イベントレポート, コラム, データ分析高度化, データ利活用, 検索体験向上, 生成AI活用
【Next Tokyoレポート】主役は生成AI!GA360×生成AIの最新活用法を紹介 -
タグ: ASEAN展開, Direct Engine, インドネシア, オフショア開発, グローバル協業, コラム, ジャカルタ, スラバヤ, ビジネス熱気, ファンデザイン室, 出張レポート, 文化共存
【出張レポート】インドネシアで見た、熱気と未来への可能性|株式会社イー・エージェンシー公式note -
タグ: AI実証実験, AI高速処理, ECサイトパーソナライズ, Groq API, HTML自動生成, UX最適化, Web制作, コラム, リアルタイムAIパーソナライズ, 技術進化
【ウェブ制作】AIを使ってウェブサイトをリアルタイムにパーソナライズしてみたい!|株式会社イー・エージェンシー公式note -
タグ: GA4トレーニング, GA4初心者, Udemy講座, gmpプレミアムサロン, アクセス解析学習, コラム, スマホ学習, データ活用, 探索レポート, 解析スキルアップ
プロに学ぶ、夏のGA4スキルアップ。アクセス解析の基本講座が1,500円【8/31まで】 -
タグ: AIと人の協業, AI活用事例, Google Gemini, gemini, カスタム議事録, コラム, プロンプト設計, 会議効率化, 文字起こし, 業務効率化, 議事録効率化
【もう議事録は書かない】Geminiを使って、文字起こしからカスタム議事録を作成|株式会社イー・エージェンシー公式note