GASでChatworkに晩飯ボット

Chatwork
スポンサーリンク

 

こちらのサイトを見て、勉強もかねてChatworkでやりたいな~と思い、まねさせていただきました。

【GAS】Google Apps Scriptで作るTwitter Bot(晩飯 Bot)

ほとんどそのままコピーです。いつも参考になり勉強させていただいています。

GASでプログラム

Chatworkからのメッセージを受ける部分から。

doPostを使います。ChatworkのWebhookに対応するアクションがあると、このdoPostが動いてくれます。

飛んでくる内容はJSON形式なので、2~5行でルームIDや内容にそれぞれ分けてます。

本家さんと同じように、今日のおすすめ料理とキーワードを指定しての検索できるようにしています。

([\s\S]*?)は、空白か空白でない文字を0回以上繰り返す。ということのようです。

正規表現もわからないので、1回1回調べました。初心者はつらい。

もとの文章から、レシピがつく所までを検索した結果は配列で返されるようで(あってるかな)、12~14行のmatch後のTextはText[0]となっています。

今日のおすすめを取得します。

はいこれは、本家さんマンマですね。ありがとうございます。

「食材」+レシピで検索する

ここも、本件さんマンマです(^_^;) エラー処理など勉強になります。

一点だけ、追加しました。

複数検索されるので、一番上の料理を返すのではなく、ランダムで返すように乱数を入れました。(15~17行)

 

Chatworkに送信

これに関しては以下のサイトにお世話になりました。

【GAS】チャットワークのメッセージを取り出す関数とメッセージを送る関数

こちらのサイトでも、色々と勉強させていただいています。ありがとうございます。

最初のJSON形式のデータが飛んできたときに、ルームIDを取得しているので、同じルームに返信されるようにしています。

また、ユーザーIDもわかるので、Toも付けられます。

 

はい、これをまとめればO.K.ですね。

あとはウェブアプリケーションとして導入します。

ChatworkでWebhook設定

特に問題ないですよね?

GASをウェブアプリケーションとして導入したときのURLを貼り付けて、アカウントイベントで自分へのメンションにチェックを入れればO~K~

できたかな?

コメント

  1. オーカワ より:

    晩飯ボット(Twitter)の作者です。今回は記事を紹介していただきありがとうございました。

    勝手ながら、当ブログ記事にもこちらの記事のリンクを紹介させて頂きます。

    今後ともよろしくお願いします^^

    • UEHARA より:

      オーカワさん、コメントありがとうございます。

      コンパスのブログもちょくちょく拝見させていただいています。

      今後も楽しい記事、楽しみにしています。