Closed3
Slackのチャンネルで、messageとそれが嘘かのアノテーション(対話相手には見えない形で付与)をGoogle Sheetsに保存するSlack botの作成のログ。
背景
- 嘘つき検出モデル構築の研究で使用する人手評価用データ作成のために、slackを使って被験者に模擬的に投資詐欺のテーマで対話相手に嘘をついてもらう実験を行おうと考えたが、相手にバレず、かつ、Slack APIで取得できる形で被験者がアノテーション出来ないことが分かった。
- 被験者にBookmarkをつけてもらって、ダンプした後にアノテーションをしてもらえばよい話だが、急ぎでは無く、なにか作りたい欲とTypescriptデビューしたい欲が強く、対話相手にバレずアノテーション出来るようにするSlack botを作ることにした。
- 最終的に他のアノテーションにも使える汎用的な感じにして公開したい。
仕様
初期設定方法
- Slackにこのbotを追加して、アクセスを許可。
- 対話を記録したい実験用のチャンネルを選択。
- 保存先のGoogle SheetsのSPREADSHEET_IDとSHEET_IDを入力。(出来ればGUIで選択出来るようにしたい。)
- 実験用のチャンネルごとに一つのSheetを紐つけるか、もしくは同じSheetに全てまとめて、Slack APIからチャンネル名も一緒に取得して後で分割するか。分けたほうがかっこいいので出来れば分ける。
アノテーション
- 選択したチャンネルにメッセージを投稿する際、ユーザーにアノテーション用のフォームを提供する。
- アノテーションをし忘れていた場合、エラーが出るようにしたい。
留意点
- メッセージの編集や送信取り消しはどうやって扱うか。
- メッセージの編集や送信取り消しを検知したらGoogle Sheetの該当メッセージを削除したい。
- 編集された時、メッセージに対するアノテーションも変わる可能性があるので、再度アノテーションを取るようにしたい。
- メッセージの編集や送信取り消しを検知したらGoogle Sheetの該当メッセージを削除したい。
Typescript勉強メモ
letとconst
letは再代入必要なものに使う。
constは再代入をしないものに使う。
再代入が必要無いものは再代入をさけるため、constを使うようにする。
free planではむりそう、、
このスクラップは2023/02/21にクローズされました