بوت تيليجرام
تشغّل شام باص خدمة telegram-bot كعامل Docker مستقل. وظيفته استقبال /start، طلب مشاركة رقم الهاتف، وحفظ علاقة phone -> chat_id في جدول telegram_chat_links حتى يستطيع مسار OTP إرسال رمز التحقق عبر تيليجرام.
التشغيل
docker compose --profile bot up -d telegram-bot
في بيئة التطوير الكاملة يدخل البوت ضمن profile dev.
متغيرات البيئة
| المتغير | الوصف |
|---|---|
TELEGRAM_BOT_TOKEN | توكن البوت من BotFather |
TELEGRAM_BOT_NAME | اسم يظهر في رسالة الترحيب |
TELEGRAM_BOT_POLL_INTERVAL_MS | فترة polling، الافتراضي 1500ms |
SUPABASE_SERVICE_ROLE_KEY | مفتاح service role لحفظ روابط chat |
تدفق الربط
- يفتح المستخدم بوت شام باص.
- يرسل
/start. - يضغط زر مشاركة رقم الهاتف.
- يحفظ البوت الرقم بصيغة E.164 مع
chat_id. - يستطيع المستخدم اختيار تيليجرام في OTP بدون إدخال Chat ID يدوياً.
التشخيص
docker compose ps telegram-bot
docker compose logs --tail=120 telegram-bot
curl -s "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/getMe"
إذا فشل OTP عبر تيليجرام، تحقق من وجود سجل للرقم:
SELECT phone, chat_id, username, last_seen_at
FROM telegram_chat_links
WHERE phone = '+963912345678'
ORDER BY last_seen_at DESC;