إنتقل إلى المحتوى الرئيسي

بوت تيليجرام

تشغّل شام باص خدمة 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

تدفق الربط

  1. يفتح المستخدم بوت شام باص.
  2. يرسل /start.
  3. يضغط زر مشاركة رقم الهاتف.
  4. يحفظ البوت الرقم بصيغة E.164 مع chat_id.
  5. يستطيع المستخدم اختيار تيليجرام في 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;