DRIFT FREE SOURCE CODE
رفتن به کانال در Telegram
نمایش بیشتر
کشور مشخص نشده استدسته بندی مشخص نشده است
1 337
مشترکین
اطلاعاتی وجود ندارد24 ساعت
اطلاعاتی وجود ندارد7 روز
اطلاعاتی وجود ندارد30 روز
آرشیو پست ها
🎲 Jᴀᴋᴇ Sᴀʙ Lᴜᴅᴏ Kʜᴇʟᴏ Lᴜᴅᴏ 😂
🎮 Fʀᴇᴇ Fɪʀᴇ Kʜᴇʟɴᴀ Tᴜᴍʜᴀʀᴇ Bᴀs Kɪ Nʜɪ Hᴀɪ 😆
🤖 Bᴏᴛ Lɪɴᴋ ➜ @DRIFT_LUDO_GamE_BoT
🔥 Aᴀᴏ Aᴜʀ Dᴏsᴛᴏɴ Kᴇ Sᴀᴀᴛʜ Lᴜᴅᴏ Kʜᴇʟᴏ! 🎲
Repost from DrIfT ARMY
matchmaking.py
from telegram.ext import ContextTypes
from bot.services.queue_manager import QueueManager, create_game
from bot.database.models import get_user
from bot.utils.keyboards import lobby_keyboard, invite_keyboard, accept_reject_keyboard, main_menu_keyboard
async def play_with_friends_callback(update: Update, context: ContextTypes.DEFAULT_TYPE):
query = update.callback_query
await query.answer()
user_id = query.from_user.id
await QueueManager.add_to_friends_lobby(user_id)
await show_friends_lobby(query, user_id)
async def show_friends_lobby(query, user_id):
users = await QueueManager.get_friends_lobby_users()
text = "👥 *Friends Lobby* - Waiting players:\n\n"
keyboard = []
for u in users:
if u['user_id'] != user_id:
user_data = await get_user(u['user_id'])
name = user_data['display_name'] if user_data else "Unknown"
keyboard.append([InlineKeyboardButton(f"🔹 {name}", callback_data=f"invite_{u['user_id']}")])
keyboard.append([InlineKeyboardButton("🔄 Refresh", callback_data="friends_lobby")])
keyboard.append([InlineKeyboardButton("❌ Cancel", callback_data="cancel_friends_queue")])
await query.edit_message_text(
text + "Send challenge to a player by clicking their name.",
reply_markup=InlineKeyboardMarkup(keyboard),
parse_mode="Markdown"
)
async def send_invite_callback(update: Update, context: ContextTypes.DEFAULT_TYPE):
query = update.callback_query
await query.answer()
inviter_id = query.from_user.id
invitee_id = int(query.data.split("_")[1])
success = await QueueManager.send_invite(inviter_id, invitee_id)
if success:
# Notify invitee
inviter_name = query.from_user.first_name
await context.bot.send_message(
invitee_id,
f"🎮 {inviter_name} challenged you to a Ludo game!",
reply_markup=accept_reject_keyboard(inviter_id)
)
await query.edit_message_text("✅ Invitation sent!")
else:
await query.edit_message_text("❌ Player not available or already invited.")
# Return to lobby after 2 sec
context.application.create_task(delayed_lobby_return(query, inviter_id))
async def delayed_lobby_return(query, inviter_id):
import asyncio
await asyncio.sleep(2)
await show_friends_lobby(query, inviter_id)
async def respond_invite_callback(update: Update, context: ContextTypes.DEFAULT_TYPE):
query = update.callback_query
await query.answer()
parts = query.data.split("_")
action = parts[2]
inviter_id = int(parts[3])
invitee_id = query.from_user.id
if action == "accept":
opponent_id = await QueueManager.accept_invite(invitee_id)
if opponent_id == inviter_id:
game_id = await create_game(inviter_id, invitee_id, is_auto=False)
await start_game_players(context, inviter_id, invitee_id, game_id)
await query.edit_message_text("🎲 Game starting! Use /game to see board.")
else:
await query.edit_message_text("❌ Invitation expired.")
else:
await QueueManager.remove_from_friends_lobby(invitee_id)
await query.edit_message_text("❌ Invitation rejected.")
await context.bot.send_message(inviter_id, "Your invitation was rejected.")
async def auto_match_callback(update: Update, context: ContextTypes.DEFAULT_TYPE):
query = update.callback_query
await query.answer()
user_id = query.from_user.id
await QueueManager.add_to_auto_queue(user_id)
text = "🤖 Searching for opponent... You'll be notified when a match is found.\nClick Cancel to stop."
keyboard = [[InlineKeyboardButton("❌ Cancel", callback_data="cancel_auto_queue")]]
await query.edit_message_text(text, reply_markup=InlineKeyboardMarkup(keyboard))🚨 Gᴜʏss, Mʏ Pʀᴏᴊᴇᴄᴛ Rᴇᴠᴇᴀʟᴇᴅ! 🚀
❤️ Sᴜᴘᴘᴏʀᴛ Mᴇ ➜ @DGDRIFT
📢 Cʜᴀɴɴᴇʟ ➜ @DRIFTARMYFF
🔥 Mᴏʀᴇ Uᴘᴅᴀᴛᴇs Cᴏᴍɪɴɢ Sᴏᴏɴ...
Tʜᴀɴᴋs Fᴏʀ Aʟʟ Tʜᴇ Sᴜᴘᴘᴏʀᴛ ❤️
🎵 Gᴜʏss, Vᴄ Mᴜsɪᴄ Bᴏᴛ Sʀᴄ Cᴏᴅᴇ Cʜᴀʜɪʏᴇ Kʏᴀ? 🚀
💬 Sᴜᴘᴘᴏʀᴛ ➜ @DGDRIFT
📢 Mᴀɪɴ Cʜᴀɴɴᴇʟ
📣 Sᴇᴄᴏɴᴅ Cʜᴀɴɴᴇʟ
📂 Sᴏᴜʀᴄᴇ Cᴏᴅᴇ Cʜᴀɴɴᴇʟ
🔥 30+ Rᴇᴀᴄᴛɪᴏɴs Rᴇǫᴜɪʀᴇᴅ!
✅ 30+ Rᴇᴀᴄᴛɪᴏɴs Pᴜʀᴇ Hᴏᴛᴇ Hɪ Sʀᴄ Cᴏᴅᴇ Uᴘʟᴏᴀᴅ Kɪʏᴀ Jᴀʏᴇɢᴀ 🚀
🔒 Aɢᴀʀ Kɪsɪ Kᴏ Aᴘɴɪ Fɪʟᴇ Kᴏ Pʀᴏᴛᴇᴄᴛ Kᴀʀᴠᴀɴᴀ Hᴀɪ Tᴏ Dᴍ Kᴀʀᴏ 📩
✅ Fʀᴇᴇ Pʀᴏᴛᴇᴄᴛɪᴏɴ
✅ Bᴇᴛᴛᴇʀ Sᴇᴄᴜʀɪᴛʏ
✅ Fɪʟᴇ Sᴀғᴇᴛʏ
📩 Dᴍ ➜ @DG_DRIFT
Repost from DrIfT ARMY
🎵 ᴍᴜSɪᴄ ʙᴏᴛ ꜱᴏᴜʀᴄᴇ ᴄᴏᴅᴇ 💀
⚡ 1ᴋ ᴍᴇᴍʙᴇʀ ᴄᴏᴍᴘʟᴇᴛᴇ
ᴋᴀʀᴠᴀᴏ ɢᴜʏꜱꜱ... 🚀
🔥 1ᴋ ᴄᴏᴍᴘʟᴇᴛᴇ ʜᴏᴛᴇ ʜɪ
ᴍᴜSɪᴄ 🎵 ʙᴏᴛ
ꜱᴏᴜʀᴄᴇ ᴄᴏᴅᴇ ᴜᴘʟᴏᴀᴅ
ᴋᴀʀ ᴅᴜɴɢᴀ 💀
❤️ ꜱᴜᴘᴘᴏʀᴛ ꜰᴀꜱᴛ ɢᴜʏꜱꜱ...
💎 ꜱᴜᴘᴘᴏʀᴛ ➜ @DRIFTARMYFF
🚀 ᴀᴜᴛᴏ ᴘʀɪᴠᴀᴛᴇ ᴄʜᴀɴɴᴇʟ ʀᴇQᴜᴇꜱᴛ ᴀᴄᴄᴇᴘᴛ ʙᴏᴛ
✅ ꜰᴜʟʟ ᴡᴏʀᴋɪɴɢ ʙᴏᴛ
✅ ꜱᴜᴘᴇʀ ᴇᴀꜱʏ ꜱᴇᴛᴜᴘ
✅ ᴄʜᴀɴɢᴇ ᴄʜᴀɴɴᴇʟ ʟɪɴᴋ ᴀɴʏᴛɪᴍᴇ
🤖 ᴊᴜꜱᴛ ʀᴇᴘʟᴀᴄᴇ ʙᴏᴛ ᴛᴏᴋᴇɴ
✅ ᴍᴀᴋᴇ ʙᴏᴛ ᴀᴅᴍɪɴ & ᴅᴏɴᴇ
⚡ ᴀᴜᴛᴏ ᴀᴄᴄᴇᴘᴛꜱ ᴀʟʟ ᴊᴏɪɴ ʀᴇQᴜᴇꜱᴛꜱ ɪɴꜱᴛᴀɴᴛʟʏ
💯 ꜰʀᴇᴇ ꜱᴏᴜʀᴄᴇ ᴄᴏᴅᴇ — ᴅᴏɴ’ᴛ ꜱᴇʟʟ ❌
📢 ᴍᴀᴅᴇ ʙʏ ➜ @DGDRIFT
+1
🚀 Gᴜʏss Eɴ Sᴀʙ Aᴘɪs Kᴀ Lᴇᴀᴋ Cʜᴀʜɪʏᴇ Kʏᴀ? 👀🔥
💎 Mᴀx Rᴇᴀᴄᴛɪᴏɴ Dᴇᴋʜᴋᴇ Aᴀᴊ Sᴀʏᴀᴅ Sᴀʙ Kᴜᴄʜ Lᴇᴀᴋ Kᴀʀ Dᴜ 😈
❤️ RᴇQᴜɪʀᴇᴅ Rᴇᴀᴄᴛɪᴏɴ ➜ 15+ ❤️❤️
⚡ Fᴀsᴛ Kᴀʀᴏ Gᴜʏss 🚀
🤖 RᴇQᴜᴇꜱᴛ Aᴄᴄᴇᴘᴛ Bᴏᴛ
✅ Aᴜᴛᴏᴍᴀᴛɪᴄᴀʟʟʏ Aᴄᴄᴇᴘᴛꜱ Aʟʟ Jᴏɪɴ RᴇQᴜᴇꜱᴛꜱ Iɴꜱᴛᴀɴᴛʟʏ ⚡
🔗 Bᴏᴛ Lɪɴᴋ ➜ @Join_req_approve_bot
🚀 Sᴜᴘᴘᴏʀᴛꜱ Tᴇʟᴇɢʀᴀᴍ Cʜᴀɴɴᴇʟꜱ & Gʀᴏᴜᴘꜱ
👑 Oᴡɴᴇʀ ➜ @DG_DRIFT
🚀 Gᴜʏss Eꜱ Bᴏᴛ Kᴀ Sᴏᴜʀᴄᴇ Cᴏᴅᴇ Cʜᴀʜɪʏᴇ Kʏᴀ? 👀
🎯 Tᴀʀɢᴇᴛ Cᴏᴍᴘʟᴇᴛᴇ Kᴀʀᴏ — 1K Sᴜʙꜱᴄʀɪʙᴇʀꜱ ⚡
📢 Tᴀʀɢᴇᴛ Cʜᴀɴɴᴇʟ ➜ @DRIFTARMYFF
❤️ Aɴᴅ Gɪᴠᴇ Mᴀx Rᴇᴀᴄᴛɪᴏɴꜱ ❤️❤️🔥
Repost from DrIfT ARMY
Guyss online aake sab update kar dunga
Give max reaction ❤️❤️❤️
🙌 यहाँ क्लिक करें: सुनो—King of Dragon Pf ने 7वां दिन मिला तो क्या हुआ? क्लिक कर के जानो अभी! | InsideAds मुफ्त सब्सक्राइबर
Repost from DrIfT ARMY
Fʀᴇᴇ Fɪʀᴇ Tᴏᴜʀɴᴀᴍᴇɴᴛ Mᴀᴛᴄʜ Aᴅᴅᴇᴅ 🎮🔥
Jᴏɪɴ Gᴜʏꜱꜱ 🚀
Bᴏᴛ Lɪɴᴋ ➜ @DRIFT_ESPORT_ROBOT
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
