スマートフォン用の表示で見るそれ、ウニです。WebhookでSlackのbotを作ってみました。はじめにもともとはRustで書いたものを動かすつもりでしたが、どこにデプロイするかという問題にぶち当たりました。botを作れないかと思って調べたところ、GASに行き当たりました。「突然のほにゃらら」に反応して、吹き出し化するbot。PropertiesService.getScriptProperties().getProperties();prop.tokenでAPIキーを環境変数から取り出しているみたいなのだけど、上手く動作しない。PropertiesService.getScriptProperties().getProperty('SLACK_ACCESS_TOKEN');で直接取り出した。Slackのスタンプの扱いSlackのスタンプは:hoge:といった感じにコロンでくくられているのだが、そのままこれを受け取って文字列の長さをlength()で出してしまうと、スタンプで1文字なのに、コロン2つと中の文字を合わせて6文字扱いになってしまう。こんな感じで吹き出しのサイズがおかしくなる。変更前はこうだったそこで文字列の長さを測る関数を別に用意した。コロンからコロンまでを無視し、対応するコロンがない場合については巻き戻して文字列を数える関数である。2バイト文字を2文字として数える関数にこの機能を盛り込んでおいた。半角と全角だと文字幅が違うからね。URLエンコード上と関連した話として、GASに飛んでくる文字はURLエンコードで飛んでくるみたいで、ASCII文字の記号は%xx形式になっている。':'){hogehoge}としようとしても無駄である。コロンの場合は"%3A"になるので、切り出すか、%に当たった場合に記号として判別するかした方がよい。書いたスクリプトが反映されたりされなかったりして悩んだ。「公開→ウェブアプリケーションとして導入」の後に、プロジェクトバージョンを最新にして更新しておかないとダメみたい。おわりにGASとかいう便利なものがあるとは知らなかった。botについては吹き出しの下側もサイズをきちんとしておきたい。Mainframeはいいぞ。月別アーカイブはてなブログをはじめよう!sorenutsさんは、はてなブログを使っています。あなたもはてなブログをはじめてみませんか?はてなブログをはじめる(無料)はてなブログとはそれ、ウニです。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。