تم تصميم هذا البوت لمساعدة مديري شبكات MikroTik في مراقبة وتقديم تقارير حول استهلاك عرض النطاق الترددي لفيلانات (VLANs) ضمن شبكتهم. يوفر البوت واجهة سهلة الاستخدام لتسمية الفيلانات، جدولة تقارير الاستهلاك، واستلام بيانات استهلاك مفصلة في الأوقات المحددة.
هذا المشروع يتضمن واجهة API وبوت تلجرام لجمع وإرسال تقارير استهلاك الشبكة من MikroTik.
-
انتقل إلى مجلد
api/:cd api/ -
قم بتثبيت المتطلبات:
pip install -r requirements.txt
-
شغّل Flask API:
python app.py
-
انتقل إلى مجلد
bot/:cd bot/ -
قم بتثبيت المتطلبات:
pip install -r requirements.txt
-
شغّل البوت:
python bot.py
- قم بنسخ محتويات
scripts/mikrotik_script.rscإلى جهاز MikroTik الخاص بك. - قم بتشغيل السكربت على MikroTik لجمع بيانات VLAN.
- افتح تطبيق تلجرام وابحث عن البوت باستخدام التوكن:
@YourBotUsername. - ابدأ المحادثة مع البوت باستخدام الأمر
/start. - استخدم الأزرار التفاعلية لتسمية الفيلانات أو تحديد وقت الإرسال.
لرفع مشروعك على Render، ستحتاج إلى إنشاء حساب على Render أولاً، ثم إعداد خدمتين: واحدة للـ API (واجهة Flask) وواحدة للبوت تلجرام. إليك الخطوات:
- قم بزيارة Render وأنشئ حسابًا أو سجّل الدخول إذا كان لديك حساب بالفعل.
- اربط حسابك على Render مع GitHub للوصول إلى مستودع المشروع الخاص بك.
إذا لم يكن مشروعك موجودًا على GitHub بعد، قم برفعه:
-
إنشاء مستودع جديد على GitHub.
-
ادفع (push) مشروعك إلى المستودع الجديد:
git init git remote add origin https://github.com/username/repository.git git add . git commit -m "Initial commit" git push -u origin master
-
بعد تسجيل الدخول إلى Render، انقر على New ثم Web Service.
-
اختر المستودع الذي يحتوي على مشروعك من GitHub.
-
في إعدادات الخدمة:
-
Name: اختر اسمًا لخدمتك، مثلاً
flask-api. -
Root Directory: اختر الدليل الفرعي
api/. -
Environment: اختر
Python. -
Build Command: ضع الأمر التالي لتثبيت المتطلبات:
pip install -r requirements.txt
-
Start Command: ضع الأمر التالي لتشغيل التطبيق:
python app.py
-
Environment Variables: أضف المتغيرات التالية إذا لزم الأمر (مثل إعدادات قاعدة البيانات أو مفاتيح API).
-
-
انقر على Create Web Service وانتظر حتى يتم بناء ونشر التطبيق.
-
انقر على New ثم Web Service مرة أخرى.
-
اختر نفس المستودع الذي يحتوي على مشروعك من GitHub.
-
في إعدادات الخدمة:
-
Name: اختر اسمًا لخدمتك، مثلاً
telegram-bot. -
Root Directory: اختر الدليل الفرعي
bot/. -
Environment: اختر
Python. -
Build Command: ضع الأمر التالي لتثبيت المتطلبات:
pip install -r requirements.txt
-
Start Command: ضع الأمر التالي لتشغيل البوت:
python bot.py
-
Environment Variables: أضف المتغيرات التالية:
API_URL: عنوان الـ API الذي تم نشره على Render. ستجده في صفحة خدمة الـ API التي أنشأتها، مثل:https://flask-api.onrender.com/vlan_data.TOKEN: توكن البوت الخاص بك.
-
-
انقر على Create Web Service وانتظر حتى يتم بناء ونشر التطبيق.
افتح bot/bot.py وعدّل API_URL ليكون عنوان الخدمة المنشورة على Render:
API_URL = 'https://flask-api.onrender.com/vlan_data' # استبدل بالعنوان الفعلي-
بعد تعديل
bot.py، ادفع التغييرات إلى GitHub:git add bot/bot.py git commit -m "Update API_URL to use Render service URL" git push -
Render سيقوم برصد التغييرات تلقائيًا ويعيد بناء ونشر خدمة البوت.
- تأكد من أن خدمة Flask API تعمل بشكل صحيح من خلال زيارة عنوان URL الخاص بها الذي تم نشره.
- تأكد من أن البوت يعمل من خلال إرسال أوامر في تلجرام.
باتباع هذه الخطوات، يجب أن تكون قادرًا على نشر مشروعك بالكامل على Render وتشغيله دون مشاكل. إذا واجهت أي صعوبات، يمكنك دائمًا الرجوع إلى وثائق Render للحصول على مزيد من التفاصيل.
- تأكد من أن جهاز MikroTik يمكنه الوصول إلى الخادم الذي يشغّل Flask API.
- تأكد من إعداد جدار الحماية للسماح بالاتصالات على المنفذ 5000 إذا كنت تستخدم خادمًا بعيدًا.
- إذا كنت تواجه مشاكل في الاتصال بجهاز MikroTik، تحقق من إعدادات الشبكة وكلمة المرور.
- إذا لم يعمل البوت بشكل صحيح، تحقق من سجلات الأخطاء في وحدة التحكم.
- إضافة مصادقة وأمان للـ API.
- تحسين واجهة المستخدم للبوت لإضافة مزيد من الخيارات.
- تكامل مع أنظمة مراقبة أخرى.
باتباع هذه التعليمات، يجب أن تكون قادرًا على إعداد وتشغيل الـ API والبوت بشكل كامل. إذا كان لديك أي استفسارات أو تحتاج إلى مزيد من المساعدة، لا تتردد في طرحها.
- خالد الغيلي
- MIT License