Scrapbox更新通知botの仕様考察
Scrapboxの更新通知botの仕様を考える。
名前:scrapbox-notification-bot
現状の課題
既存の通知は、Slackへの通知のみ
Slackを見てくれない人には通知が届かない
通知頻度が多すぎる
通知音が鳴りまくってうんざりする
どうするか
LINE用botを作成する
通知だけできればいいので、LINE Notifyを使う
Slackの通知用に投げられたJSON dataを解析・LINE用に整形する
ScrapboxのSlack通知のデータ構造
Scrapboxの更新をLINEに通知する
通知頻度を減らすalgorithmを実装する
✅通知を最大1日1回に抑える
References
GitHub - june29/takanawa: Scrapbox Slack Notification Gateway
scrapboxでの更新内容に応じて、通知先channelを振り分けるscript
山岳部で使うことはなさそうだけど、便利そう
通知ゲートウェイ Takanawa の試運転と、そこで得た「なめらかな通知」という着想 - #june29jp
/icons/hr.icon
12:31:08 作成開始
機能とかはもうわかった
12:43:29 LINE Notifyにmessageを送るを書いた
本番を作成する
やること
/icons/done.icon13:16:11 tus-alpine-teamにあたらしいrepoを用意する
設定
https://gyazo.com/72462d358ecb5d6ce153961f7bd2921b
https://gyazo.com/2eac9ea4552e5d3e8e4c55bab0ea02b1
https://gyazo.com/59495b7b460557ffc305ba1c999bbb39
/icons/done.icon13:29:44 READMEに仕様を書く
Branch protection ruleが厳しすぎた
https://gyazo.com/1914325bb0cccd8e225edf910bda71eb
13:40:15 LINEと連携してreviewのrequestを通知する
/icons/doing.icongit,typescript, GASの環境を構築
GASをlocal環境+typescriptで使用する
.clasp.jsonはcommitしない
14:16:41 clasp loginはしなかったtakker.icon
どのGoogle Accountにdeployするか決めかねている
Scrapbox更新通知botの仕様考察#5f07f6401280f00000239e7a
とりあえずDraft Pull Requestを出しておく
/icons/doing.iconsangaku1あっとed.tus.ac.jpのgoogle accountにdeployした
deploy先:https://script.google.com/d/1_daL881UbqLqPtsh-BPxv57DzjfGselyOOy7Bz0c99-M64414Uz7VGcB/edit
script propertiesはowerじゃないと変更できないようだ。
/icons/done.iconbranchを切るtakker.icon
takker.iconのlocal環境内
/icons/done.iconLINE Notifyにmessageを送るをコピペ
/icons/done.iconScrapboxの更新通知を受け取るinterfaceと函数を作成
/icons/done.icon 14:58:53 LINE上に表示する文字列を作成
cf. /li9ri9/GASを使ってscrapboxの更新をLINEで通知する
/icons/done.icondeploy
cf. GAS Web app をClaspからデプロイ - Qiita
あんまりたくさん更新すると、一部送信できなくなるみたいtakker.icon
16:19:07 error(一部)
web apiとして実行するとconsole.logでログが取れないので、代わりにGoogle Driveにログを保存した。takker.icon
code:error1.txt
名前 TypeError
場所 undefined(undefined行目)
メッセージCannot read property 'replace' of undefined
StackTrace
TypeError: Cannot read property 'replace' of undefined
at index:23:38
at Array.map (<anonymous>)
at doPost (index:23:10)
at __GS_INTERNAL_top_function_call__.gs:1:8
attachments[0].textが時々読めなくなるみたい?takker.icon
原因はわからない
/icons/done.icon 16:53:41 成功したらdraft pull requestpull requestにした
/icons/GitHub.iconMake line bot by takker99 · Pull Request #3 · tus-alpine-team/scrapbox-notification-bot · GitHub
/icons/done.iconグループも作っておいた
更新頻度を減らす処理をまだ行なっていないので、memberはoreo man.iconだけにする。
人柱かよtakker.icon
とりあえずここまでtakker.icon
Google Apps Scriptのdeploy先Google Account
#2020-07-10