واجهة برمجة بوتات زرزور
البوت حساب في زرزور يتحكم فيه برنامج. يوجد في السيرفرات كأي عضو، فيقرأ الرسائل ويرسلها، ويجيب عن أوامر الشرطة المائلة، ويعرض الأزرار والنماذج، ويشرف على السيرفر، وينشر الملفات، ويستطيع الانضمام إلى القنوات الصوتية. يثبّته الناس في سيرفراتهم، أما برنامجك فيعمل على حاسوبك أو سيرفرك.
هذه الصفحات هي كل ما تحتاج إليه. ابدأ بصفحة شغّل بوتك، ثم ابنِ البوت الكامل.
كيف يعمل البوت
- تنشئ تطبيقًا في بوابة المطورين. يأتي معه مستخدم بوت ورمز، وهو كلمة مرور البوت.
- يثبّت شخص لديه صلاحية إدارة السيرفر البوت في سيرفر ويمنحه صلاحيات.
- يستدعي برنامجك واجهة REST عبر HTTPS واضعًا الرمز في الترويسة
x-bot-token. هكذا يتصرف البوت. - يبقي برنامجك اتصالًا واحدًا مفتوحًا مع البوابة، وهو WebSocket. هكذا يسمع البوت: تصله الأوامر ونقرات الأزرار والرسائل وتغييرات الأعضاء في صورة أحداث.
الطريق من الصفر إلى بوت جاهز
- شغّل بوتك: تطبيق ورمز وأول أمر.
- التطبيقات والرموز: كل إعدادات بوابة المطورين، وكيف تثبّت البوت.
- البوابة: اتصل، وابقَ متصلًا، وعد بعد أي انقطاع.
- أوامر الشرطة المائلة والرد على التفاعلات والأزرار والقوائم والنماذج.
- الرسائل والأدوار والصلاحيات والإشراف.
- الأخطاء وحدود المعدل وحماية الرموز والتشغيل الفعلي.
العناوين الأساسية
| الخدمة | العنوان |
|---|---|
| واجهة REST | https://api.zrzur.com |
| البوابة (WebSocket) | wss://events.zrzur.com |
| الملفات | https://cdn.zrzur.com |
| الصوت (LiveKit) | wss://voice.zrzur.com |
للسيرفرات المستضافة ذاتيًا عناوينها الخاصة. يعيدها GET / من الواجهة مع حدود ذلك السيرفر. اقرأ هذه الحقول (في الجواب حقول أكثر، وهذا مختصر):
{
"zrzur": "26.0.0",
"ws": "wss://events.zrzur.com",
"app": "https://app.zrzur.com",
"features": {
"autumn": { "enabled": true, "url": "https://cdn.zrzur.com" },
"january": { "enabled": true, "url": "https://api.zrzur.com/january" },
"livekit": {
"enabled": true,
"nodes": [{ "name": "fra", "lat": 50.11, "lon": 8.68, "public_url": "wss://voice.zrzur.com" }]
},
"webhooks": false,
"forwarding": false,
"polls": false,
"server_events": false,
"limits": {
"default": { "message_length": 2000, "message_attachments": 5, "file_upload_size_limits": { "attachments": 20000000 } }
}
}
}| الحقل | ما هو |
|---|---|
zrzur | إصدار السيرفر؛ انظر سجل تغييرات الواجهة |
ws | عنوان البوابة |
features.autumn.url | خادم الملفات: الرفع والتنزيل |
features.january.url | وسيط الوسائط لمعاينات الروابط |
features.livekit.nodes[].public_url | خادم الصوت |
features.limits.default | حدود الحساب، مثل طول الرسالة |
features.webhooks وfeatures.forwarding وfeatures.polls وfeatures.server_events | هل فُعّل في هذا التنصيب الويب هوك وإعادة توجيه الرسائل والاستطلاعات والفعاليات المجدولة. حيث تكون القيمة false تجيب مساراتها بالخطأ FeatureDisabled (وعناوين الويب هوك بـ404 NotFound) |
app | تطبيق الويب، للروابط التي تعرضها على الناس |
GET /
Query Node. Fetch the server configuration for this Zrzur instance.
حد المعدل: any_dlta, 20 / 10 s
ما لا يدعمه النظام
- التجزئة (Sharding). للبوت اتصال واحد، أو عدة اتصالات يستقبل كل منها كل شيء. لا يمكن توزيع الأحداث بين العمليات.
- الأوامر في المجموعات، وأوامر السيرفر في الرسائل الخاصة. في رسالة خاصة مع البوت يستطيع الشخص استخدام أوامر البوت العامة التي لا تتطلب صلاحية في سيرفر. وتعمل هناك الأزرار والقوائم والنماذج أيضًا.
- الويب هوك والاستطلاعات وإعادة التوجيه والفعاليات المجدولة حيث عطّلها التنصيب. يبيّن
GET /ما هو مفعَّل منها، وانظر العناوين الأساسية. - التفاعلات عبر HTTP على سيرفر إعداده
signing_keyفارغ. تجيب المسارات هناك بالخطأFeatureDisabled، وتستخدم البوتات البوابة. - إنشاء البوتات أو السيرفرات عبر بوت، أو الانضمام بدعوة، أو الصداقات. هذه للأشخاص. تسرد صفحة التغطية كل نقطة نهاية تُرفض فيها البوتات.
- المكتبة في صورة حزمة. ليست على npm بعد. كل صفحة هنا تعمل بـNode وحده، وانظر المكتبات.
ماذا تعني كل حالة
تحمل كل نقطة نهاية في هذا المرجع إحدى هذه العلامات.
| Status | Endpoints |
|---|---|
supported | 101 |
partial | 4 |
unverified | 52 |
unsupported | 33 |