0. はじめに
Discordのボイスチャンネルへの入退室を通知するBotを作りました。
プログラミング初心者がClaudeで作った簡易的なbotなので、おそらく一般公開するクオリティに達していません。
お試しで使ってみてね。
注意点
- それぞれが十分面識のある10名程度のサーバーでの利用を想定しています。大規模サーバーでの利用は推奨していません。
- ある日突然提供が終了する場合があります。
導入手順
- 下のURLから任意のDIscordのサーバーにDisplace botを招待します。
/add_monitored_channel
コマンドで監視するボイスチャンネルを設定します。/set_notification_channel
コマンドで通知先のチャンネルを設定します。- 多分これで使えるはず!
1. 基本動作
- 設定したボイスチャンネルにユーザーが入ると通話開始通知が設定したテキストチャンネルに送信されます。
- 2人目以降の入室/退出は通知されません。
- ボイスチャンネルの最後のユーザーが退出して参加人数が0人になると通話終了通知がテキストチャンネルに送信されます。
2. スラッシュコマンド
基本設定
/add_monitored_channel
監視するボイスチャンネルを追加/remove_monitored_channel
監視するボイスチャットを削除/list_monitored_channels
監視するボイスチャットの一覧を表示/set_notification_channel
通知先のチャンネルを設定
統計情報閲覧
/display_stats
統計情報を表示- 累計通話時間
- 今月の合計通話時間
- 今月の最長通話時間
- 今月の通話回数
- 今月の通話時間上位3ユーザー
/display_user_stats [User名]
各ユーザーの統計情報を表示- 累計通話時間
- 今月の合計通話時間
更新履歴
2024.09.15
#初デプロイ #機能実装
既存の通話お知らせ君Botが安定して動作しないため身内限定、機能追加版のDisplaceを開発開始。
- 通話開始/終了通知機能を実装
- Web上で閲覧できる統計ダッシュボード機能を実装
display_stats
機能を実装
2024.09.17
#機能実装
マイルストーン機能を実装
2024.09.18
#不具合修正 #機能実装
各ユーザーの通話時間をDBで記録してそれを元に全体通話時間をDiscordに出力していたため、全体通話時間がDBに記録されず、各ユーザーの通話時間を元にstatsの合計通話時間などを算出してしまっていた。
display_stats
の合計通話時間が誤って計算される不具合を修正- DB内に全体通話時間テーブルを追加
display_user_stats
機能を実装display_stats
内に「今月の上位ユーザー」機能を追加
2024.09.19
#不具合修正
- 不要だった
display_user_stats
の今月の最長通話時間を削除 - 最長通話時間を更新した場合の最長通話通知機能を追加/即廃
- Web版ダッシュボードを廃止。
2024.11.27
#不具合修正 #仕様変更 #機能実装
displace2.0アップデート
- バックグラウンドの修正
- データベース構造を変更し、新規データベースを作成
- タイムゾーンの明示的な処理を実装
- 月またぎの通話の処理を修正(通話開始日に着目して集計)
- サーバークラッシュ時のセッションクリーンアップを実装
- 通話終了通知機能内の機能実装
- 通話終了通知に「最後に退出したユーザー」を表示する機能を削除
- 通話終了通知に「参加ユーザー」を表示する機能を追加
2024.11.28
#仕様変更
display_stats
の今月の最長通話時間機能を復元- 通話終了通知に「通話が終了しました」のテキストを表示するよう変更
- 通話終了通知について、参加ユーザーのアイコンを表示するよう変更
2024.11.29
#仕様変更
display_stats
内に「今月の通話回数」機能を追加
2024.12.05
#不具合修正
- 通話終了通知の参加ユーザーについて、同一人物が複数カウントされる問題を修正
コメントや要望等についてはK-NEXTのDiscordへDMでお願いします。
Displace
利用規約プライバシーポリシー