Опубліковано 24 лютого24 лют Адміністратор Телеграм бот клікер монет на PythonВітаю вас любі користувачі форуму BlastHack. Нещодавно я зробив телеграм бота для генерації номерів і мене захейтіли, але тепер я зробив бота набагато краще, а саме клікер монет. Що ж не буду нудити очікування, уявляю вам робота клікера монет!Функції:• Можливість клікати монети• Перевіряти свій баланс• Дивитися топ 10 користувачів за балансом• Записування всіх балансів користувачів у файл "users.json"Скріншот самого робота:А ось і сам код:Телеграм бот клікер монет на Python:import telebot from telebot import types import json import os bot = telebot.TeleBot('Ваш токен')def load_users(): if os.path.exists('users.json'): with open('users.json', 'r') as file: return json.load(file) return {}def save_users(users): with open('users.json', 'w') as file: json.dump(users, file)@bot.message_handler(commands=['start'])def start(message): user_id = str(message.from_user.id) users = load_users() if user_id not in users: users[user_id] = {'coins': 0} save_users(users) markup = types.ReplyKeyboardMarkup(resize_keyboard=True) btn_click = types.KeyboardButton(' Кликнуть') btn_balance = types.KeyboardButton(' Баланс') btn_top = types.KeyboardButton(' Топ игроков') markup.add(btn_click, btn_balance, btn_top) bot.send_message(message.chat.id, 'Приветствую вас в боте для заработка монет! Кликайте монету, чтобы заработать.', reply_markup=markup)@bot.message_handler(content_types=['text'])def handle_text(message): user_id = str(message.from_user.id) users = load_users() if message.text == ' Кликнуть': users[user_id]['coins'] += 1 save_users(users) bot.reply_to(message, f'Вы заработали монету! Всего монет: {users[user_id]["coins"]}') elif message.text == ' Баланс': bot.reply_to(message, f'Ваш баланс: {users[user_id]["coins"]} монет') elif message.text == ' Топ игроков': players = [] for uid, data in users.items(): try: user = bot.get_chat(uid) name = user.first_name except: name = "Без имени" players.append((name, data['coins'])) players.sort(key=lambda x: x[1], reverse=True) top_message = " Топ-10 игроков:\n\n" for i, (name, coins) in enumerate(players[:10], 1): top_message += f"{i}. {name} {coins} монет\n" bot.reply_to(message, top_message) bot.polling(none_stop=True)Необхідні бібліотеки для роботи:pip install pyTelegramBotAPI
Для публікації повідомлень створіть обліковий запис або авторизуйтесь