Discordボットによる親のログイン履歴監視システム構築と運用
本記事は、離れて暮らす高齢の親の安否を気遣い、その行動を間接的に把握するための「Discord」を利用した自動監視システムの構築手順を詳細に解説している。筆者は、単なるステータス確認では不十分なため、パソコンが稼働しているかどうかの証拠として、「最終ログイン時間」を取得したいと考えている。
システム構築のプロセスは以下の通りである。まず、Discord内に「母ログイン」という専用テキストチャンネルを作成し、ウェブフックURLを取得する。次に、このウェブフックを利用してメッセージを送信するためのPythonコード(`text_send`関数)を確認・テストする。続いて、監視機能の中核となるボットの作成に取り掛かる。これには、Discord Bot APIを使用するため、「discord bot 作り方」などで情報を収集し、認証トークンを取得する必要がある。
メインプログラムでは、`discord.Client`と`on_presence_update`イベントハンドラを利用する。このイベントは、ユーザーのオンライン状態(Presence)が変化した際にトリガーされる。監視対象となる親のユーザーIDをリスト化し、ボットに設定することで、以下の3つの情報を自動的に「母ログイン」チャンネルへ送信することが可能になる。
1. オンライン状態になった日時(ログイン時間)。
2. オフライン状態になった日時(ログアウト時間)。
3. 上記ログインからログアウトまでの合計オンライン時間。
筆者は、このプログラムをクラウドサーバーなどに常時導入し、親のパソコンが稼働しているかどうかの「間接的な証拠」として利用できると結論づけている。ただし、監視行為自体が発覚した場合のリスクについても言及されている。
背景
本記事は、親の健康や安否を心配する現代の家族が直面する心理的な課題(遠距離介護)に基づいている。特にデジタルコミュニケーションツールであるDiscordを利用しつつも、「物理的に活動しているか」という確証を得るための技術的解決策として、ボットによるログイン履歴監視システムを構築・紹介している。
重要用語解説
- ウェブフック (Webhook): 特定の外部サービス(この場合はDiscordのテキストチャンネル)に、API経由でメッセージやデータを自動送信するためのURL。プログラムから情報を投稿する際に利用される。
- on_presence_update: Discord Bot APIにおけるイベントハンドラの一つ。ユーザーのオンライン/オフライン状態(Presence)が変化した瞬間に実行される処理を記述するために使用される。
- ボット (Bot): 特定の機能やタスクを実行するために、プログラミングを通じて自動化されたアカウントのこと。ここではログイン監視という目的で利用されている。
今後の影響
本システムは、遠隔地にいる家族の安全確認に役立つ可能性を持つが、プライバシー侵害のリスクを伴うため、倫理的な配慮が極めて重要である。技術的にはPythonとDiscord APIの知識が必要であり、導入にはクラウドサーバーでの常時実行環境の構築が求められる。