zjsjdjsj commited on
Commit
d3cd9dc
·
verified ·
1 Parent(s): d4dc82b

Upload main.py

Browse files
Files changed (1) hide show
  1. main.py +149 -0
main.py ADDED
@@ -0,0 +1,149 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import telebot
2
+ from telebot import types
3
+ import time
4
+
5
+ # --- НАСТРОЙКИ ---
6
+ TOKEN = '8317707454:AAHRAInErEdeLVO5d_NDWkYZtCMxU1wXBdw'
7
+ ADMIN_ID = 0
8
+ BOT_START_TIME = int(time.time())
9
+
10
+ bot = telebot.TeleBot(TOKEN)
11
+ user_data = {}
12
+
13
+ def get_stats():
14
+ now = int(time.time())
15
+ diff = now - BOT_START_TIME
16
+ # Стартовые значения: 5243 подарка и 8125 звезд
17
+ gifts = (diff if diff > 0 else 0) + 5243
18
+ hours_passed = diff // 3600
19
+ saved_money = (hours_passed * 5000) + 8125
20
+ return gifts, saved_money
21
+
22
+ def main_menu():
23
+ gifts, saved = get_stats()
24
+ kb = types.InlineKeyboardMarkup(row_width=1)
25
+
26
+ btn_nfts = types.InlineKeyboardButton("🎁 Подарки", callback_data="nft_list")
27
+ btn_task = types.InlineKeyboardButton("📱 Написать комментарий в TikTok - + 100⭐", callback_data="tiktok_task")
28
+ btn_profile = types.InlineKeyboardButton("👤 Профиль", callback_data="profile")
29
+
30
+ kb.add(btn_nfts, btn_task, btn_profile)
31
+
32
+ # Текст с жирными значениями, которые меняются
33
+ text = (
34
+ "📍 Главное меню\n\n"
35
+ f"🎁 Подарено подарков: **{gifts}**⠀\n"
36
+ f"💸 Сэкономили для вас: **{saved}** ⭐\n\n"
37
+ "Выбери категорию 👇"
38
+ )
39
+ return text, kb
40
+
41
+ def nft_menu():
42
+ kb = types.InlineKeyboardMarkup(row_width=1)
43
+ items = [
44
+ "🎭 Маска", "💼 Рюкзак", "📅 Календарь", "🍭 Лолипоп", "🦩 Фламинго",
45
+ "🥥 Кокос", "🥚 Яйцо", "🍦 Мороженое", "💩 Какашка", "🧁 Кекс",
46
+ "☘️ Клевер", "🗑 Банка", "🐍 Змея", "🍸 Коктейль", "🕯 Свеча",
47
+ "🐒 Обезьяна", "🍄 Гриб", "🌸 Цветок", "🎃 Тыква", "👁 Глаз",
48
+ "🧹 Метла", "🍜 Рамен", "🗽 Статуя Свободы", "🧦 Носок", "🐶 Редо",
49
+ "👜 Сумка", "⌚️ Часы", "🚬 Сигара", "⛑ Шлем", "🧢 Кепка",
50
+ "🍑 Персик", "🐸 Лягушка", "👳‍♂️ Папаха", "🗿 Статуя Дурова", "💪 Бицепс",
51
+ "🕴 Оскар", "🧴 Духи", "📦 UFC Бокс"
52
+ ]
53
+ for item in items:
54
+ kb.add(types.InlineKeyboardButton(f"{item} — 35 ⭐", callback_data=f"buy_{item}"))
55
+ kb.add(types.InlineKeyboardButton("Назад 🔙", callback_data="to_main"))
56
+ return kb
57
+
58
+ @bot.message_handler(commands=['start'])
59
+ def start_cmd(message):
60
+ user_data[message.chat.id] = {'photos': 0, 'is_uploading': False}
61
+ text, kb = main_menu()
62
+ bot.send_message(message.chat.id, text, reply_markup=kb, parse_mode="Markdown")
63
+
64
+ @bot.callback_query_handler(func=lambda call: True)
65
+ def handle_calls(call):
66
+ chat_id = call.message.chat.id
67
+ if call.data == "to_main":
68
+ text, kb = main_menu()
69
+ bot.edit_message_text(text, chat_id, call.message.message_id, reply_markup=kb, parse_mode="Markdown")
70
+
71
+ elif call.data == "profile":
72
+ user_id = call.from_user.id
73
+ first_name = call.from_user.first_name
74
+ profile_text = (
75
+ "📊 Ваш профиль!\n\n"
76
+ f"┌ 💡 ID: `{user_id}`\n"
77
+ f"├ 👤 Имя: {first_name}\n"
78
+ f"├ 💰 Баланс дуровы: 50\n"
79
+ "└ ⭐ Потрачено звёзд: 0"
80
+ )
81
+ kb = types.InlineKeyboardMarkup()
82
+ kb.add(types.InlineKeyboardButton("Назад 🔙", callback_data="to_main"))
83
+ bot.edit_message_text(profile_text, chat_id, call.message.message_id, reply_markup=kb, parse_mode="Markdown")
84
+
85
+ elif call.data == "nft_list":
86
+ bot.edit_message_text("✨ НФТ подарки:", chat_id, call.message.message_id, reply_markup=nft_menu())
87
+
88
+ elif call.data.startswith("buy_"):
89
+ item_full = call.data.replace("buy_", "")
90
+ pay_text = (
91
+ f"🎁 {item_full}\n\n"
92
+ "1️⃣ Нажмите кнопку ниже.\n"
93
+ "2️⃣ Оплатите платное сообщение.\n"
94
+ "3️⃣ После оплаты бот автоматически выдаст Вам подарок.\n\n"
95
+ "⚡️ Скриншоты не нужны — подтверждение срабатывает автоматически."
96
+ )
97
+ kb = types.InlineKeyboardMarkup(row_width=1)
98
+ kb.add(types.InlineKeyboardButton("💳 Оплатить", callback_data="pay_now"))
99
+ kb.add(types.InlineKeyboardButton("Назад 🔙", callback_data="nft_list"))
100
+ bot.edit_message_text(pay_text, chat_id, call.message.message_id, reply_markup=kb)
101
+
102
+ elif call.data == "tiktok_task":
103
+ task_text = (
104
+ "📱 Задание: Комментарии в TikTok\n\n"
105
+ "🎁 Награда: +100 ⭐\n\n"
106
+ "📝 Что нужн�� сделать:\n\n"
107
+ " 1️⃣ Откройте TikTok\n"
108
+ " 2️⃣ Найдите любое видео в ленте\n"
109
+ " 3️⃣ Напишите ровно 10 комментариев под разными видео с этим текстом:\n\n"
110
+ "`зашёл в durov_play_bot и сразу получил подарок` \n"
111
+ " (можно нажать, и скопировать)\n\n"
112
+ " 4️⃣ Поставьте ❤️ лайк под каждым комментарием\n"
113
+ " 5️⃣ Сделайте 10 скриншотов (комментарий + лайк)\n"
114
+ " 6️⃣ Отправьте все 10 фото сюда подряд\n\n"
115
+ "⏳ После проверки звёзды придут в течение 24 часов"
116
+ )
117
+ kb = types.InlineKeyboardMarkup(row_width=1)
118
+ kb.add(types.InlineKeyboardButton("✅ Я Выполнил - отправить скриншот", callback_data="send_screens"))
119
+ kb.add(types.InlineKeyboardButton("Назад 🔙", callback_data="to_main"))
120
+ bot.edit_message_text(task_text, chat_id, call.message.message_id, reply_markup=kb, parse_mode="Markdown")
121
+
122
+ elif call.data == "send_screens":
123
+ user_data[chat_id] = {'photos': 0, 'is_uploading': True}
124
+ kb = types.InlineKeyboardMarkup().add(types.InlineKeyboardButton("Отменить ❌", callback_data="tiktok_task"))
125
+ bot.edit_message_text("📸 Отправляйте 10 скриншотов по одному\n\nКак только будет ровно 10 — они автоматически отправятся на модерацию", chat_id, call.message.message_id, reply_markup=kb)
126
+
127
+ @bot.message_handler(content_types=['photo'])
128
+ def handle_photo_task(message):
129
+ chat_id = message.chat.id
130
+ if chat_id in user_data and user_data[chat_id].get('is_uploading'):
131
+ user_data[chat_id]['photos'] += 1
132
+ count = user_data[chat_id]['photos']
133
+ if ADMIN_ID != 0:
134
+ bot.forward_message(ADMIN_ID, chat_id, message.message_id)
135
+ if count < 10:
136
+ bot.send_message(chat_id, f"вы отправили {count} скрин из 9 для получения 100 ⭐ звезд")
137
+ elif count == 10:
138
+ kb = types.InlineKeyboardMarkup().add(types.InlineKeyboardButton("Хорошо", callback_data="to_main"))
139
+ bot.send_message(chat_id, "Ожидайте модерации после проверок фоток вы получите звезды ⭐", reply_markup=kb)
140
+ user_data[chat_id]['is_uploading'] = False
141
+
142
+ @bot.message_handler(func=lambda m: True)
143
+ def handle_any_text(message):
144
+ chat_id = message.chat.id
145
+ if chat_id in user_data and user_data[chat_id].get('is_uploading'):
146
+ bot.send_message(chat_id, "Отправляй только фото скриншотов (по одному).")
147
+
148
+ if __name__ == "__main__":
149
+ bot.infinity_polling()