GASで動くChatWorkの問合せbotを作成しました!
コードはnoteにて格安で販売中!
【ワンコインGAS】Chatworkで問い合わせbotを作る方法
最初の設定方法はこちらの記事で説明しています。
【GASでつくるChatWork問合せbot】①作成手順
この記事では、問合せbotの使い方と運用方法を説明します。
ChatWork問合せbotの使い方
回答とキーワードを登録する
スプレッドシートの一番左のA列が回答を入力する欄となります。
たとえば、「日本の総理大臣は?」と聞かれた時の回答は「安倍晋三」ですね。
これを実現するためには…
- 回答に「日本の総理大臣は安倍晋三です。」と入力。
- キーワード1に「日本」
- キーワード2に「総理大臣」
と入力してみましょう。
で、ChatWorkを開いて、問合せbotをコンタクト追加してダイレクトチャットで話しかけると回答してくれるようになります。
表記のゆれに対応する
例えば、上の例では「総理大臣」のキーワードを登録しましたが、「日本の首相は?」と聞かれることもあるかもしれません。
そのような時のために、キーワード3に「首相」を追加で入力しておくと、ばっちり回答してくれるようになります。
キーワードは10個まで設定できます!
英数字は半角に変換して判定される
英数字は全角で質問されても半角に変換して判定してくれます。
さらに、英字については小文字をすべて大文字にして判定します。
もし質問に「Webセミナー」という単語があっても、「WEBセミナー」に変換してから判定するので、キーワードには「WEBセミナー」だけ登録すれば大丈夫です。
おまけ:簡単な挨拶にも対応
今回のbotは質問文から名詞を抽出して判定するというロジックです。
「こんにちは」のような言葉は名詞ではないので本来回答できないのですが、「botをみたら挨拶してしまうのが人間の性」と思うので、名詞が見つからなかった場合は質問文全文を判定するようにしました。
要するに、キーワードに「こんちには」を入れておけば、回答してくれますw
GASでつくった問合せbotのメリット
登録と調整が超簡単で運用しやすい
回答の登録や修正はスプレッドシートを編集するだけです。
修正した内容は即反映され、他の作業は必要ありません。
シート2に対応の履歴が残るので改善しやすい
シート2に最大100件のログが自動で残ります。とりあえず運用開始してみて、ログのシートを眺めながらうまく回答できていないパターンを見つけ、即時追加や修正する、ということもできます。
履歴の項目は以下のとおりです。
- 質問された日時
- 質問文
- 抽出した語句
- 信頼性(語句の一致率)
- botが回答した文
- 質問・回答したルームID(チャットワークURLの末尾の数字)
コードはnoteにて販売中
チャットワークを導入している会社なら、使い方次第で仕事の生産性がモリモリ上がりそうなツールですが、たくさんの人に使ってほしいのでとりあえずワンコイン500円ポッキリで販売します。
ちなみに一度購入したnoteは更新されても最新のバージョンを見ることができます。
今後パワーアップしたら値上げするかもしれないので、いまのうちに買っておくとお得ですよ!GASやAPIの勉強にもおすすめ!
noteの購入はこちら↓
【ワンコインGAS】Chatworkで問い合わせbotを作る方法
問合せbotの初期設定方法はこちら↓
コメント
こちらのnoteを購入させていただきまして、早速Chatworkに取り入れさせていただこうと考えております。Chatworkにて問合せbotを検索し、コンタクト承認依頼をさせていただいたのですが、最終的なbotの導入方法はこちらで正しかったでしょうか?
大変有益な情報ありがとうございます。
よろしくお願いいたします。
ご購入ありがとうございます!
問い合わせbotのアカウントはご自身でbot専用のアカウントをお作りください。
導入方法は当ブログに記載してあるとおりです。GASに貼り付けるコードがnoteの購入者のみ閲覧できる部分(下の方)に掲載していますのでご利用ください。
ご不明点ございましたら問い合わせフォームからもご質問いただけます!
よろしくお願いします!
botが返答した言葉自体にbotが反応してしまいます。
bot自体の発言にbotが反応してしまいます。
これはbotの発言にはbotが反応しないようにするべきなのですが、元々そう言ったものは入っていますよね?
(入っていて、反応するとするAPIトークンのコピペするアカウントをミスった可能性もありますが、、、)
コメントありがとうございます!返信が遅くなり申し訳ありません。
スクリプト内にはbot自身の発言に反応しないようにするための記述がありません。
というのも、botで使用しているChatworkアカウントの API設定 > Webhook > イベント欄で「アカウントイベント」を指定していればbotが発言した時にWebhookがとんでこないからです。
botの発言にbotが反応する場合、
①botアカウントの API設定 > Webhook > イベント欄で「ルームイベント」を指定している、もしくは、②botでないアカウントにWebhookを設定している、といったことが考えられます。
ご確認いただけますと幸いです。
ご返信ありがとうございます。
HTTPS,/DOCS.GOOGLE.COM,SPREADSHEETS/D/1JSIQFP3WFLBMDJ7XA4KM78YDTTQFA1ZF4A-2VFHKA,GID=1555954939,AI,1,2,1555954939 に関する回答は見つかりませんでした(^^;)
10:49
HTTPS,DOCS.GOOGLE.COM,SPREADSHEETS/D/1JSIQFP3WFLBMDJ7XA4KM78YDTTQFA1ZF4A-2VFHKA,回答,AI,GID,1,2,1555954939,1,2,1555954939 に関する回答は見つかりませんでした(^^;)
10:49
回答,HTTPS,DOCS.GOOGLE.COM,GID,1,2,1555954939,1,2,1555954939,SPREADSHEETS/D/1JSIQFP3WFLBMDJ7XA4KM78YDTTQFA1ZF4A-2,AI,1,2,1,2,1555954939,1,2,1555954939 に関する回答は見つかりませんでした(^^;)
10:49
回答,HTTPS,DOCS.GOOGLE.COM,GID,2,1555954939,1,2,1555954939,SPREADSHEETS/D/1JSIQFP3WFLBMDJ7XA4KM78YDTTQFA1ZF4A-2,AI,1,2,1,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1,2,1,2,1555954939,1,2,1555954939 に関する回答は見つかりませんでした(^^;)
10:49
回答,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1,2,1,2,1555954939,1,2,1555954939,HTTPS,DOCS.GOOGLE.COM,GID,2,1555954939,1,2,1555954939,SPREADSHEETS/D/1JSIQFP3WFLBMDJ7XA4KM78YDTTQFA1ZF4A-2,AI,2,1555954939,1,2,1555954939,1,2,1,2,1,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1,2,1,2,1555954939,1,2,1555954939 に関する回答は見つかりませんでした(^^;)
10:49
回答,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1,2,1,2,1555954939,1,2,1555954939,2,1555954939,1,2,1555954939,SPREADSHEETS/D/1JSIQFP3WFLBMDJ7XA4KM78YDTTQFA1ZF4A-2,AI,2,1555954939,1,2,1555954939,1,2,2,1555954939,1,2,1555954939,HTTPS,DOCS.GOOGLE.COM,GID,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1,2,1,2,1555954939,1,2,1555954939,2,1555954939,1,2,1555954939,1,2,2,1555954939,1,2,1555954939,1,2,1,2,1,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1,2,1,2,1555954939,1,2,1555954939 に関する回答は見つかりませんでした(^^;)
10:49
2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,2,1555954939,1,2,1555954939,2,1555954939,1,2,1555954939,,回答,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1,2,1,2,1555954939,1,2,1555954939,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1,2,1,2,1555954939,1,2,1555954939,,2,1555954939,1,2,1555954939,1,2,2,1555954939,1,2,1555954939,1,2,SPREADSHEETS/D/1JSIQFP3WFLBMDJ7XA4KM78YDTTQFA1ZF4A-2,AI,2,1555954939,1,2,1555954939,1,2,2,1555954939,1,2,1555954939,HTTPS,DOCS.GOOGLE.COM,GID,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1,2,1,2,1555954939,1,2,1555954939,2,1555954939,1,2,1555954939,1,2,2,1555954939,1,2,1555954939,1,2,2,1555954939,1,2,1555954939,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1,2,1,2,1555954939,1,2,1555954939,2,1555954939,1,2,1555954939,1,2,2,1555954939,1,2,1555954939,1,2,1,2,1,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1555954939,1,2,1,2,1,2,1555954939,1,2,1555954939 に関する回答は見つかりませんでした(^^;)
このように連投されてしまいます。
理由は、アカウントに問題があったみたいでした。少し前にいろいろシステムをいじったときに別アカウントの反映を連携していたので別アカウントのWebhookを別のアカウントにも自動的に反映されていました。
返信遅くなりました。
ご連絡ありがとうございます。
解決されたようで良かったです。自分もいろんなことをかじった結果、全然関係ないものが影響を及ぼしてることよくありますw
また何かありましたらご連絡ください!
はじめまして
今回こちら購入させていただき設定をしてみましたが、
botがまったく反応しません。
どこか設定に不備があると思うのですが、どこから確認していけばよいでしょうか・・?
nbさま
コメントありがとうございます。回答遅くなり申し訳ありません。
コードの下の方にtestという名前の関数を用意していますので、そちらのルームIDを使用したいルームIDに書き換えて実行してみてください。
それで無事投稿されるようであれば、メッセージ送信の部分は成功していることになります。
その場合、Webhookの送受信やGCPの設定に問題があると切り分けができることになります。
お試しいただければと思います。よろしくお願いします。
初めまして!
こちらのbot実装しました!素晴らしいです!
一点お伺いしたいのですが、
回答 キーワード1 キーワード2 キーワード3
りんご 右 下 上
ばなな 左 下 上
上記のような設定でテストした場合(チャットワークで「右 下 上」「左 下 上」と入力→送信)に、どちらのキーワードで入力しても「りんご」の回答になるのですが、
何か精度を高める方法などございましたら、ご教示頂きたく存じます。
コメントありがとうございます。
未検証ですが1つのキーワードの中に「右 下 上」を入れてみるのはいかがでしょうか。
もし可能でしたらどんな使い方をしたいのか教えていただけると解決に近づけるかもしれません…!