File size: 8,035 Bytes
95de6d1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
import telebot
from telebot import types
import time

# --- НАСТРОЙКИ ---
TOKEN = '8317707454:AAHRAInErEdeLVO5d_NDWkYZtCMxU1wXBdw'
ADMIN_ID = 0  
BOT_START_TIME = int(time.time()) 

bot = telebot.TeleBot(TOKEN)
user_data = {}

def get_stats():
    now = int(time.time())
    diff = now - BOT_START_TIME
    # Стартовые значения: 5243 подарка и 8125 звезд
    gifts = (diff if diff > 0 else 0) + 5243 
    hours_passed = diff // 3600
    saved_money = (hours_passed * 5000) + 8125
    return gifts, saved_money

def main_menu():
    gifts, saved = get_stats()
    kb = types.InlineKeyboardMarkup(row_width=1)
    
    btn_nfts = types.InlineKeyboardButton("🎁 Подарки", callback_data="nft_list")
    btn_task = types.InlineKeyboardButton("📱 Написать комментарий в TikTok - + 100⭐", callback_data="tiktok_task")
    btn_profile = types.InlineKeyboardButton("👤 Профиль", callback_data="profile")
    
    kb.add(btn_nfts, btn_task, btn_profile)
    
    # Текст с жирными значениями, которые меняются
    text = (
        "📍 Главное меню\n\n"
        f"🎁 Подарено подарков: **{gifts}**⠀\n"
        f"💸 Сэкономили для вас: **{saved}** ⭐\n\n"
        "Выбери категорию 👇"
    )
    return text, kb

def nft_menu():
    kb = types.InlineKeyboardMarkup(row_width=1)
    items = [
        "🎭 Маска", "💼 Рюкзак", "📅 Календарь", "🍭 Лолипоп", "🦩 Фламинго", 
        "🥥 Кокос", "🥚 Яйцо", "🍦 Мороженое", "💩 Какашка", "🧁 Кекс",
        "☘️ Клевер", "🗑 Банка", "🐍 Змея", "🍸 Коктейль", "🕯 Свеча",
        "🐒 Обезьяна", "🍄 Гриб", "🌸 Цветок", "🎃 Тыква", "👁 Глаз",
        "🧹 Метла", "🍜 Рамен", "🗽 Статуя Свободы", "🧦 Носок", "🐶 Редо",
        "👜 Сумка", "⌚️ Часы", "🚬 Сигара", "⛑ Шлем", "🧢 Кепка",
        "🍑 Персик", "🐸 Лягушка", "👳‍♂️ Папаха", "🗿 Статуя Дурова", "💪 Бицепс",
        "🕴 Оскар", "🧴 Духи", "📦 UFC Бокс"
    ]
    for item in items:
        kb.add(types.InlineKeyboardButton(f"{item} — 35 ⭐", callback_data=f"buy_{item}"))
    kb.add(types.InlineKeyboardButton("Назад 🔙", callback_data="to_main"))
    return kb

@bot.message_handler(commands=['start'])
def start_cmd(message):
    user_data[message.chat.id] = {'photos': 0, 'is_uploading': False}
    text, kb = main_menu()
    bot.send_message(message.chat.id, text, reply_markup=kb, parse_mode="Markdown")

@bot.callback_query_handler(func=lambda call: True)
def handle_calls(call):
    chat_id = call.message.chat.id
    if call.data == "to_main":
        text, kb = main_menu()
        bot.edit_message_text(text, chat_id, call.message.message_id, reply_markup=kb, parse_mode="Markdown")
    
    elif call.data == "profile":
        user_id = call.from_user.id
        first_name = call.from_user.first_name
        profile_text = (
            "📊 Ваш профиль!\n\n"
            f"┌ 💡 ID: `{user_id}`\n"
            f"├ 👤 Имя: {first_name}\n"
            f"├ 💰 Баланс дуровы: 50\n"
            "└ ⭐ Потрачено звёзд: 0"
        )
        kb = types.InlineKeyboardMarkup()
        kb.add(types.InlineKeyboardButton("Назад 🔙", callback_data="to_main"))
        bot.edit_message_text(profile_text, chat_id, call.message.message_id, reply_markup=kb, parse_mode="Markdown")

    elif call.data == "nft_list":
        bot.edit_message_text("✨ НФТ подарки:", chat_id, call.message.message_id, reply_markup=nft_menu())
    
    elif call.data.startswith("buy_"):
        item_full = call.data.replace("buy_", "")
        pay_text = (
            f"🎁 {item_full}\n\n"
            "1️⃣ Нажмите кнопку ниже.\n"
            "2️⃣ Оплатите платное сообщение.\n"
            "3️⃣ После оплаты бот автоматически выдаст Вам подарок.\n\n"
            "⚡️ Скриншоты не нужны — подтверждение срабатывает автоматически."
        )
        kb = types.InlineKeyboardMarkup(row_width=1)
        kb.add(types.InlineKeyboardButton("💳 Оплатить", callback_data="pay_now"))
        kb.add(types.InlineKeyboardButton("Назад 🔙", callback_data="nft_list"))
        bot.edit_message_text(pay_text, chat_id, call.message.message_id, reply_markup=kb)
    
    elif call.data == "tiktok_task":
        task_text = (
            "📱 Задание: Комментарии в TikTok\n\n"
            "🎁 Награда: +100 ⭐\n\n"
            "📝 Что нужно сделать:\n\n"
            "   1️⃣ Откройте TikTok\n"
            "   2️⃣ Найдите любое видео в ленте\n"
            "   3️⃣ Напишите ровно 10 комментариев под разными видео с этим текстом:\n\n"
            "`зашёл в durov_play_bot и сразу получил подарок` \n"
            "    (можно нажать, и скопировать)\n\n"
            "   4️⃣ Поставьте ❤️ лайк под каждым комментарием\n"
            "   5️⃣ Сделайте 10 скриншотов (комментарий + лайк)\n"
            "   6️⃣ Отправьте все 10 фото сюда подряд\n\n"
            "⏳ После проверки звёзды придут в течение 24 часов"
        )
        kb = types.InlineKeyboardMarkup(row_width=1)
        kb.add(types.InlineKeyboardButton("✅ Я Выполнил - отправить скриншот", callback_data="send_screens"))
        kb.add(types.InlineKeyboardButton("Назад 🔙", callback_data="to_main"))
        bot.edit_message_text(task_text, chat_id, call.message.message_id, reply_markup=kb, parse_mode="Markdown")
    
    elif call.data == "send_screens":
        user_data[chat_id] = {'photos': 0, 'is_uploading': True}
        kb = types.InlineKeyboardMarkup().add(types.InlineKeyboardButton("Отменить ❌", callback_data="tiktok_task"))
        bot.edit_message_text("📸 Отправляйте 10 скриншотов по одному\n\nКак только будет ровно 10 — они автоматически отправятся на модерацию", chat_id, call.message.message_id, reply_markup=kb)

@bot.message_handler(content_types=['photo'])
def handle_photo_task(message):
    chat_id = message.chat.id
    if chat_id in user_data and user_data[chat_id].get('is_uploading'):
        user_data[chat_id]['photos'] += 1
        count = user_data[chat_id]['photos']
        if ADMIN_ID != 0:
            bot.forward_message(ADMIN_ID, chat_id, message.message_id)
        if count < 10:
            bot.send_message(chat_id, f"вы отправили {count} скрин из 9 для получения 100 ⭐ звезд")
        elif count == 10:
            kb = types.InlineKeyboardMarkup().add(types.InlineKeyboardButton("Хорошо", callback_data="to_main"))
            bot.send_message(chat_id, "Ожидайте модерации после проверок фоток вы получите звезды ⭐", reply_markup=kb)
            user_data[chat_id]['is_uploading'] = False

@bot.message_handler(func=lambda m: True)
def handle_any_text(message):
    chat_id = message.chat.id
    if chat_id in user_data and user_data[chat_id].get('is_uploading'):
        bot.send_message(chat_id, "Отправляй только фото скриншотов (по одному).")

if __name__ == "__main__":
    bot.infinity_polling()