from telegram.ext import Updater, CommandHandler, CallbackQueryHandler
from telegram import InlineKeyboardButton, InlineKeyboardMarkup
import random, string, time, threading
from datetime import datetime

TOKEN = "8969949996:AAF0JzupP1RBND-bKJGQ9J9J-KjfoNkvM_Q"
ADMIN_IDS = [6485114347, 1653753132, 8993331140]
CHANNEL_ID = "@telorabox"

def is_admin(u):
    return u in ADMIN_IDS

def fmt(a):
    return f"{a:,}".replace(',', ',')

def gen_user():
    return "***" + ''.join(random.choices(string.digits, k=4))

def gen_track():
    return ''.join(random.choices(string.ascii_uppercase + string.digits, k=8))

def send_fake(bot):
    item = random.choice(["Star", "Gift", "Config", "Premium"])
    amount = random.randint(10000, 500000)
    now = datetime.now()
    bot.send_message(
        CHANNEL_ID,
        f"✅ Order Successful\n\nUser: {gen_user()}\nProduct: {item}\nAmount: {fmt(amount)} Toman\nDate: 
{now.strftime('%Y/%m/%d')}\nTime: {now.strftime('%H:%M:%S')}\nTracking: {gen_track()}"
    )

def fake_loop(bot):
    while True:
        time.sleep(3600)
        if random.random() < 0.6:
            send_fake(bot)

def start(update, context):
    update.message.reply_text("Bot is running!")

def admin_panel(update, context):
    if not is_admin(update.effective_user.id):
        update.message.reply_text("Access denied.")
        return
    update.message.reply_text(
        "Admin Panel",
        reply_markup=InlineKeyboardMarkup([
            [InlineKeyboardButton("Send Fake Receipt", callback_data="send_fake_now")]
        ])
    )

def button(update, context):
    q = update.callback_query
    q.answer()
    if q.data == "send_fake_now":
        send_fake(context.bot)
        q.edit_message_text("Fake receipt sent!")

def main():
    updater = Updater(TOKEN, use_context=True)
    dp = updater.dispatcher
    dp.add_handler(CommandHandler("start", start))
    dp.add_handler(CommandHandler("admin", admin_panel))
    dp.add_handler(CallbackQueryHandler(button))
    threading.Thread(target=fake_loop, args=(updater.bot,), daemon=True).start()
    updater.start_polling()
    print("Bot started!")
    updater.idle()

if __name__ == "__main__":
    main()

