Telegram クラスリマインダーボット
概要
このリポジトリは「Telegram Class Reminder Bot」を実装した軽量な Python プロジェクトです。目的は授業開始前に自動でリマインダーを送信し、ユーザーがインラインボタンで出席を確認できるようにすること。繰り返し通知(未確認の場合)や、設定を安全に扱うための .env ファイル対応、常時稼働を想定したマルチスレッド設計が特徴です。ホスティングは cPanel の Python 環境や VPS、一般的な Linux ホストを想定しており、手軽にデプロイして授業通知を自動化できます。
リポジトリの統計情報
- スター数: 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 ベースの授業リマインダーボット。学習用や小規模運用に最適。
リポジトリ情報:
- 名前: telegram-_class_bot
- 説明: 説明なし
- スター数: 1
- 言語: Python
- URL: https://github.com/AMIasakri/telegram-_class_bot
- オーナー: AMIasakri
- アバター: https://avatars.githubusercontent.com/u/163778020?v=4
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
.envfile - 🧵 Multi-threaded for smo…