File size: 8,039 Bytes
97a8c27 d3cd9dc 97a8c27 d3cd9dc 97a8c27 d3cd9dc 3cfa7ab | 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()
|