ReminderBot هو بوت تلغرام يُتيح للمستخدمين إدارة التذكيرات داخل المجموعات، حيث يقوم بإرسال إشعارات تلقائية في الأوقات المحددة مع إمكانية الإشارة إلى المشرفين أو جميع الأعضاء.
- إضافة وحذف التذكيرات مع إمكانية الإشارة للمشرفين أو الأعضاء.
- إدارة التذكيرات بحيث يتم إرسال إشعارات قبل الموعد بساعة و15 دقيقة.
- متابعة المشرفين والأعضاء في المجموعات لتحديث أدوارهم بشكل دوري.
- إغلاق آمن عند إيقاف البوت.
- قاعدة بيانات SQLite للتذكيرات والمحادثات والمشرفين والأعضاء.
- Node.js 18 أو أعلى
- حساب بوت على تلغرام (احصل على التوكن من BotFather)
- قاعدة بيانات SQLite (يتم إنشاؤها تلقائيًا)
-
نسخ المستودع وتشغيله:
git clone https://github.com/rn0x/ReminderBot.git cd ReminderBot npm install -
إنشاء ملف البيئة
.env:TELEGRAM_TOKEN=<ضع_توكن_البوت_هنا> -
تشغيل قاعدة البيانات وإنشاء الجداول: لا حاجة لإعداد يدوي — الجداول يتم إنشاؤها تلقائيًا في أول تشغيل.
/start: بدء البوت وعرض رسالة ترحيبية./add: إضافة تذكير جديد (يبدأ مشهد إضافة التذكير)./delete: حذف تذكير (يبدأ مشهد حذف التذكير)./show: عرض التذكيرات الحالية للمجموعة.
npm start/ReminderBot
├── src
│ ├── commands
│ │ ├── show.mjs
│ │ └── start.mjs
│ ├── events
│ │ ├── handleTextMessage.mjs
│ │ ├── newChatMembers.mjs
│ │ ├── leftChatMember.mjs
│ │ └── myChatMember.mjs
│ ├── scenes
│ │ ├── addReminder.mjs
│ │ └── deleteReminder.mjs
│ ├── utils
│ │ └── updateAdminsPeriodically.mjs
│ │ └── checkIfAdmin.mjs
│ │ └── sendMessageInChunks.mjs
│ ├── client.mjs
│ ├── db.mjs
│ ├── startReminderService.mjs
│ └── index.mjs
├── database
│ └── reminderBot.db
├── README.md
├── package.json
└── .env
يتم تخزين المعلومات في جداول SQLite كما يلي:
chats: تخزين معلومات الدردشات.reminders: تخزين التذكيرات لكل محادثة.admins: قائمة المشرفين في الدردشات.members: قائمة الأعضاء في الدردشات.
يتم تمكين الإيقاف الآمن باستخدام:
process.once('SIGINT', () => client.stop('SIGINT'));
process.once('SIGTERM', () => client.stop('SIGTERM'));اضغط Ctrl + C لإيقاف البوت.
تأكد من وجود ملف Dockerfile في جذر المشروع بالشكل الصحيح.
قم ببناء الصورة من داخل مجلد المشروع:
docker build -t reminderbot .قم بتشغيل الحاوية باستخدام الأمر التالي:
docker run -d \
--name reminderbot \
-e TELEGRAM_TOKEN=<ضع_توكن_البوت_هنا> \
-v $(pwd)/database:/app/database \
reminderbot-
إيقاف الحاوية بشكل آمن:
docker stop reminderbot docker rm reminderbot
-
التحقق من حالة الحاوية:
docker ps
-
عرض السجلات:
docker logs reminderbot
- Rayan Almalki (rn0x)
هذا المشروع مرخّص تحت MIT.