Telegram クラスリマインダーボット

Tool

概要

このリポジトリは「Telegram Class Reminder Bot」を実装した軽量な Python プロジェクトです。目的は授業開始前に自動でリマインダーを送信し、ユーザーがインラインボタンで出席を確認できるようにすること。繰り返し通知(未確認の場合)や、設定を安全に扱うための .env ファイル対応、常時稼働を想定したマルチスレッド設計が特徴です。ホスティングは cPanel の Python 環境や VPS、一般的な Linux ホストを想定しており、手軽にデプロイして授業通知を自動化できます。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 4
  • ファイル数: 3
  • メインの言語: Python

主な特徴

  • 授業開始前に自動でリマインダーを送信
  • 未確認の場合は繰り返しリマインドを送る再通知機能
  • インラインボタンでワンタップ出席確認(UI は Telegram InlineButtons 想定)
  • 設定は .env ファイルで安全に管理、マルチスレッドで安定稼働

技術的なポイント

このプロジェクトは Telegram Bot API を用いた典型的なボット構成を採っています。コアとなる class_reminder.py はリマインダーのスケジューリングとメッセージ送信、ユーザーからのボタン押下(出席確認)ハンドリングを行う役割が想定されます。常時稼働環境を想定しており、マルチスレッドを使用することで複数のタイマーや受信処理(長時間のポーリング/ハンドラ実行)を並列化して応答性を確保しています。

設定は .env 経由で BOT トークンやチャット ID、リマインド間隔などを読み込むことでコードと機密情報を分離。再通知は「未確認」フラグを保持して所定のインターバルでチェックし、未確認なら再度メッセージを投げるループで実現される設計が想定されます。状態管理は小規模なプロジェクトらしくメモリ内(ランタイム変数)や軽量な永続化(JSON ファイル等)で済ませる場合が多いですが、スケーラブルにするなら DB(SQLite や Redis)への移行が容易です。

テスト用に test_bot.py が含まれており、基本的な動作確認やユニットテスト、またはローカルでの実行チェックに使えます。デプロイは cPanel の Python 環境や一般的な Linux サーバーでの常駐(systemd、supervisor、screen/tmux)を想定しており、Webhook ではなく長時間ポーリングでの運用を前提にした設計になっている可能性が高いです。拡張ポイントとしては、スケジューラを apscheduler に置き換える、永続ストレージを導入する、複数クラス・複数ユーザー対応の管理 UI を追加するなどが考えられます。

プロジェクトの構成

主要なファイルとディレクトリ:

  • README.md: file
  • class_reminder.py: file
  • test_bot.py: file

まとめ

シンプルで導入しやすい Telegram ベースの授業リマインダーボット。学習用や小規模運用に最適。

リポジトリ情報:

READMEの抜粋:

🎓 Telegram Class Reminder Bot

A Telegram bot that automatically sends reminders before your classes start and allows you to confirm your attendance using inline buttons.

This bot is designed to run continuously on a hosting server (such as cPanel Python Setup, VPS, or Linux host).


✨ Features

  • ⏰ Sends reminders before class starts
  • 🔁 Sends repeated reminders if not confirmed
  • ✅ Attendance confirmation button
  • 🔐 Secure configuration using .env file
  • 🧵 Multi-threaded for smo…