tsg-ut / slackbot

TSGのSlackで動くSlackbotたち
MIT License
15 stars 13 forks source link

Scrapbox通知でアイコンを更新者のアイコンに #257

Open pizzacat83 opened 4 years ago

pizzacat83 commented 4 years ago

一つ提案なんですが、Slack 通知の時、アイコンを更新者のアイコンにしませんか?

Originally posted by @hideo54 in https://github.com/tsg-ut/slackbot/pull/229#issuecomment-575967994

pizzacat83 commented 4 years ago

ScrapboxにはNameとUsernameという概念があります。Nameはいわば表示名です。UsernameはIDという感じで,プロフィールページはUsernameと同名で作ることでアカウントと紐付けできます。

更新通知ではauthor欄にNameが入っており,Usernameはどこにも入っていません。従って,これを実装するならNameからUsernameを取得する,あるいは他の情報(hashとか?)からAPIを叩いてUsernameを取得するなどをする必要があります。

Usernameがわかれば,Scrapbox APIを叩くことで画像URLが得られ,それをattachmentsに指定すれば完成です。

問題のUsernameを取得する方法については,ScrapboxにNameとUsernameの対応表を書いたページを用意してそれを読み込んでもらうとかが考えられますが,最後の更新から90秒後にくる通知なので処理に数秒時間がかかるものでも問題ないと思いますし,この対応表は頻繁に変わるとは考えにくいのでキャッシュをしても良いと思います。