بوت تليجرام مكتوب بلغة بايثون لعرض المواد العلمية لبعض الشيوخ بطريقة منظمة وسهلة التعديل للمشرفين على البوت.
- عرض سلاسل الدروس العلمية مهما كان عددها بطريقة منظمة ومقسمة إلى صفحات تشبه نتائج محركات البحث.
- عرض محتوى كل سلسلة بنفس الطريقة، مع أزرار لإرسال النسخ الصوتية والمرئية وتفريغات وتلخيصات الدروس.
- البحث في محتوى البوت.
- التواصل مع المشرفين.
- إرسال مواد لمشرفي البوت.
- الوصول السريع لوظائف البوت عن طريق لوحة مفاتيح أزرار.
- الرد على المستخدمين بالرد على رسائلهم داخل مجموعة استلام الرسائل.
- إحصائيات مستخدمي البوت وأكثر السلاسل والدروس طلبا (للمشرفين فقط). [
/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 installpip install .يستخدم البوت قاعدة بيانات sqlite. تحقق من أنها مثبتة بنظامك.
استخدم اﻷمر التالي لبدء البوت
python3 -m droos_botيستخدم البوت:
ومكتبات بايثون: