en
Feedback
DRIFT FREE SOURCE CODE

DRIFT FREE SOURCE CODE

Open in Telegram

Show more
The country is not specifiedThe category is not specified
1 350
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
🎲 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

🔥 Rᴇᴀᴄᴛɪᴏɴ Dᴇ Dᴏ Gᴜʏss ❤️

Pass -
000

🎵 Mᴏsᴛ Dᴇᴍᴀɴᴅᴇᴅ Mᴜsɪᴄ Bᴏᴛ Sᴏᴜʀᴄᴇ Cᴏᴅᴇ Lᴇᴀᴋᴇᴅ 🚀 ✅ Fᴜʟʟ Sᴏᴜʀᴄᴇ Cᴏᴅᴇ ✅ Fʀᴇᴇ Tᴏ Usᴇ ❌ Dᴏɴ'ᴛ Sᴇʟʟ Tʜɪs Cᴏᴅᴇ 🔑 Pᴀssᴡᴏʀᴅ ➜ 000 👨‍💻 Mᴀᴅᴇ Bʏ ➜ @DG_DRIFT 📢 Lᴇᴀᴋᴇᴅ Bʏ ➜ @DGDRIFT

Repost from DrIfT ARMY
🎵 ᴍᴜSɪᴄ ʙᴏᴛ ꜱᴏᴜʀᴄᴇ ᴄᴏᴅᴇ 💀 ⚡ 1ᴋ ᴍᴇᴍʙᴇʀ ᴄᴏᴍᴘʟᴇᴛᴇ ᴋᴀʀᴠᴀᴏ ɢᴜʏꜱꜱ... 🚀 🔥 1ᴋ ᴄᴏᴍᴘʟᴇᴛᴇ ʜᴏᴛᴇ ʜɪ ᴍᴜSɪᴄ 🎵 ʙᴏᴛ ꜱᴏᴜʀᴄᴇ ᴄᴏᴅᴇ ᴜᴘʟᴏᴀᴅ ᴋᴀ
🎵 ᴍᴜSɪᴄ ʙᴏᴛ ꜱᴏᴜʀᴄᴇ ᴄᴏᴅᴇ 💀 ⚡ 1ᴋ ᴍᴇᴍʙᴇʀ ᴄᴏᴍᴘʟᴇᴛᴇ ᴋᴀʀᴠᴀᴏ ɢᴜʏꜱꜱ... 🚀 🔥 1ᴋ ᴄᴏᴍᴘʟᴇᴛᴇ ʜᴏᴛᴇ ʜɪ ᴍᴜSɪᴄ 🎵 ʙᴏᴛ ꜱᴏᴜʀᴄᴇ ᴄᴏᴅᴇ ᴜᴘʟᴏᴀᴅ ᴋᴀʀ ᴅᴜɴɢᴀ 💀 ❤️ ꜱᴜᴘᴘᴏʀᴛ ꜰᴀꜱᴛ ɢᴜʏꜱꜱ... 💎 ꜱᴜᴘᴘᴏʀᴛ ➜ @DRIFTARMYFF

Guyss aaj hi Hosting panel on kar diya hai @DG_HOSTINGPANEL_BOT

Repost from DRIFT FREE APIS
KAL HOSTING PANEL ON KAR DUNGA

🚀 ᴀᴜᴛᴏ ᴘʀɪᴠᴀᴛᴇ ᴄʜᴀɴɴᴇʟ ʀᴇQᴜᴇꜱᴛ ᴀᴄᴄᴇᴘᴛ ʙᴏᴛ ✅ ꜰᴜʟʟ ᴡᴏʀᴋɪɴɢ ʙᴏᴛ ✅ ꜱᴜᴘᴇʀ ᴇᴀꜱʏ ꜱᴇᴛᴜᴘ ✅ ᴄʜᴀɴɢᴇ ᴄʜᴀɴɴᴇʟ ʟɪɴᴋ ᴀɴʏᴛɪᴍᴇ 🤖 ᴊᴜꜱᴛ ʀᴇᴘʟᴀᴄᴇ ʙᴏᴛ ᴛᴏᴋᴇɴ ✅ ᴍᴀᴋᴇ ʙᴏᴛ ᴀᴅᴍɪɴ & ᴅᴏɴᴇ ⚡ ᴀᴜᴛᴏ ᴀᴄᴄᴇᴘᴛꜱ ᴀʟʟ ᴊᴏɪɴ ʀᴇQᴜᴇꜱᴛꜱ ɪɴꜱᴛᴀɴᴛʟʏ 💯 ꜰʀᴇᴇ ꜱᴏᴜʀᴄᴇ ᴄᴏᴅᴇ — ᴅᴏɴ’ᴛ ꜱᴇʟʟ ❌ 📢 ᴍᴀᴅᴇ ʙʏ ➜ @DGDRIFT

🚀 Gᴜʏss Eɴ Sᴀʙ Aᴘɪs Kᴀ Lᴇᴀᴋ Cʜᴀʜɪʏᴇ Kʏᴀ? 👀🔥 💎 Mᴀx Rᴇᴀᴄᴛɪᴏɴ Dᴇᴋʜᴋᴇ Aᴀᴊ Sᴀʏᴀᴅ Sᴀʙ Kᴜᴄʜ Lᴇᴀᴋ Kᴀʀ Dᴜ 😈 ❤️ RᴇQᴜɪʀᴇᴅ Rᴇᴀᴄᴛɪᴏɴ
+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 ❤️
🚀 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
ᴛᴀᴍᴘ ᴍᴀɪʟ ʙᴏᴛ ᴄᴏᴍᴇʙᴀᴄᴋ 🚀 ʙᴏᴛ ʟɪɴᴋ ➜ @Teammailrobot

Repost from DrIfT ARMY
Fʀᴇᴇ Fɪʀᴇ Tᴏᴜʀɴᴀᴍᴇɴᴛ Mᴀᴛᴄʜ Aᴅᴅᴇᴅ 🎮🔥 Jᴏɪɴ Gᴜʏꜱꜱ 🚀 Bᴏᴛ Lɪɴᴋ ➜ @DRIFT_ESPORT_ROBOT
Fʀᴇᴇ Fɪʀᴇ Tᴏᴜʀɴᴀᴍᴇɴᴛ Mᴀᴛᴄʜ Aᴅᴅᴇᴅ 🎮🔥 Jᴏɪɴ Gᴜʏꜱꜱ 🚀 Bᴏᴛ Lɪɴᴋ ➜ @DRIFT_ESPORT_ROBOT