بوت تليجرام مكتوب بلغة بايثون لعرض المواد العلمية لبعض الشيوخ بطريقة منظمة وسهلة التعديل للمشرفين على البوت.
- عرض سلاسل الدروس العلمية مهما كان عددها بطريقة منظمة ومقسمة إلى صفحات تشبه نتائج محركات البحث.
- عرض محتوى كل سلسلة بنفس الطريقة، مع أزرار لإرسال النسخ الصوتية والمرئية وتفريغات وتلخيصات الدروس.
- البحث في محتوى البوت.
- التواصل مع المشرفين.
- إرسال مواد لمشرفي البوت.
- الوصول السريع لوظائف البوت عن طريق لوحة مفاتيح أزرار.
- الرد على المستخدمين بالرد على رسائلهم داخل مجموعة استلام الرسائل.
- إحصائيات مستخدمي البوت وأكثر السلاسل والدروس طلبا (للمشرفين فقط). [
/stats
] - إرسال رسالة لكل المشتركين في البوت (للمشرفين فقط). [
/broadcast
في رد على رسالة] - إمكانية إعادة تشغيل البوت لتحميل البيانات مرة أخرى من التليجرام مباشرة (للمشرفين فقط). [
/restart
] - تحديث الكود الخاص بالبوت في حالة استخدام git. [
/update
]
- ابدأ البوت عن طريق الضغط على زر start أو البَدْء، ثم استخدم لوحة اﻷزرار لاستخدام وظائف البوت المختلفة مثل "السلاسل العلمية - البحث عن سلسلة - إرسال مواد - التواصل والاقتراحات".
البوت يعتمد على Google Sheet يقوم المشرفين والمتطوعين بملئها بالشكل التالي:
series | lecture | book | main | video | voice | text | summary |
---|---|---|---|---|---|---|---|
اسم السلسلة | رقم المحاضرة | كتاب | أهم المحاور | مرئي | صوتي | تفريغ | تلخيص |
سلسلة دروس تفسير | 1 | https://t.me/channel/4 | https://t.me/channel/4 | https://t.me/channel/4 | https://t.me/channel/4 | https://t.me/channel/4 |
- series: اسم السلسلة: اسم سلسلة الدروس
- lecture: رقم المحاضرة: رقم الدرس داخل سلسلة الدروس
- book: الكتاب: رابط تليجرام لملف PDF الكتاب الذي يشرح في السلسلة أو صوت أو فيديو أو مستند به أهم محاور الدرس
- main: أهم المحاور: رابط تليجرام لصورة أو صوت أو فيديو أو مستند به أهم محاور الدرس
- video: مرئي: رابط تليجرام لنسخة الفيديو من الدرس
- voice: صوتي: رابط تليجرام للنسخة الصوتية من الدرس
- text: تفريغ: رابط تليجرام لمستند تفريغ الدرس
- summary: تلخيص: رابط تليجرام لمستند ملخص الدرس
يحول البوت الرسائل للمستخدمين بالاعتماد على روابط المواد.
- ادخل إلى منصة جوجل للمطورين وأنشئ مشروعا إن لم يكن لديك واحد، ثم فعل الوصول إلى واجهة برمجة Google Sheet.
- ادخل إلى صفحة إعداد الصلاحيات، وأضف حساب خدمة جديد بصلاحيات القراءة فقط "viewer".
- أنشئ مفاتيح للحساب ثم حمل ملف ال JSON إلى مجلد المشروع باسم
service_account.json
. - أضف عناوين حسابات الخدمة إلى Google Sheet التي بها المواد لتتمكن الحسابات من الوصول إليها.
- انسخ هذا المستودع.
- انسخ ملف
config.example.json
باسمconfig.json
واملأ المعلومات المطلوبة:
البيانات | معلومات | ملاحظات |
---|---|---|
tg_bot_token | التوكن الخاص بواجهة برمجة تليجرام للبوتات | إجباري |
tg_bot_admins | قائمة معرفات مشرفي البوت | إجباري |
tg_feedback_chat_id | معرف المحادثة التي سيرسل لها الملفات ورسائل التواصل مع المشرفين | إجباري |
sheet_id | معرف Google Sheet الخاصة بمواد البوت | إجباري |
sheet_name | اسم Google Sheet التي ستستخدم | إجباري يمكن الاستعانة بهذا النموذج لمعرفة كيفية ملء بيانات المواد |
data_columns | الصفوف التي ستستخدم في عرض المحتوى والبحث فيه | اختياري (يستخدم الافتراضي عند غيابه) |
lecture_components | مكونات كل درس | اختياري (يستخدم الافتراضي عند غيابه) |
hide | إخفاء بعض الصفوف من القائمة الرئيسية | اختياري (يستخدم الافتراضي عند غيابه) |
disable | تعطيل خيارات إرسال مواد - التواصل والاقتراحات - البحث في المحتوى | اختياري (يستخدم الافتراضي عند غيابه) |
- استخدم اﻷمر التالي لبدء البوت باستخدام دوكر:
docker-compose up --build -d
- يحتاج البوت وجود إصدار بايثون 3.9 أو أحدث، وكذلك pip اﻹصدار 19 أو أحدث أو أداة poetry إذا كنت تستخدمها.
poetry install
pip install .
يستخدم البوت قاعدة بيانات sqlite. تحقق من أنها مثبتة بنظامك.
استخدم اﻷمر التالي لبدء البوت
python3 -m droos_bot
يستخدم البوت:
ومكتبات بايثون: