• MONEY за подписку! Ничего делать не надо совсем, всего-то подписаться на тг одмена и нажать кнопку "Принять участие" в розыгрыше: https://t.me/govthing/7650

Мой первый тг бот на Python

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
23 Май 2019
Сообщения
2
Реакции
0
Дополнение к прошлой теме: Я решил создать
Пожалуйста, авторизуйтесь для просмотра ссылки.
из моей прошлой статьи.
Python:
Expand Collapse Copy
import random
from random import randint
import telebot
from telebot import types
class user_data():
    balance = 10000
    history = 0
    total_bet = 0
    lose_sum = 0
    win_sum = 0

random_number = random.randint(1,3)
bot = telebot.TeleBot('')
@bot.message_handler(commands=['start'])
def welcome(message):
    # keyboard (Создание кнопок и приветствие)
    markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
    item1 = types.KeyboardButton(" Начать игру")
    item2 = types.KeyboardButton(" Статистика профиля ")

    markup.add(item1, item2)

    bot.send_message(message.chat.id, "Добро пожаловать {0.first_name}!\nЯ - Бот <b>{1.first_name}</b>".format(message.from_user, bot.get_me()),
        parse_mode='html', reply_markup=markup)
@bot.message_handler(content_types=['text'])
def lalala(message):
    if user_data.balance <= 200:
        user_data.balance += 5000
        bot.send_message(message.chat.id, 'Поздравляем!!!\nВаш баланс пополнен на 5000')
    if message.text == 'Начать игру':
        bot.send_message(message.chat.id,'Чтобы победить в игре, вам нужно угадать загаданное число...\nВведите сумму ставки:')
        @bot.message_handler(content_types=['text'])
        def message_input_step(message):
            global text
            text = message.text
            bot.reply_to(message, message.text)
        bot.register_next_step_handler(message,sum_bett)
    if message.text == "Статистика профиля":
        bot.send_message(message.chat.id,f'\nБаланс: {user_data.balance} \nВсего игр: {user_data.history} \nОбщая сумма ставок: {user_data.total_bet} \nВсего выиграно {user_data.win_sum} \nВсего проиграно {user_data.lose_sum}')
def sum_bett(message):
    global sum_bet
    sum_bet = message.text
    try:
        if int(sum_bet) == user_data.balance or int(sum_bet) < user_data.balance:
            start_game(message)
        if int(sum_bet) > user_data.balance:
            bot.send_message(message.chat.id,f'У вас недостаточно средств!\nВведите сумму не превышающую ваш баланс {user_data.balance}')
    except Exception as e:
        print(repr(e))
        bot.send_message(message.chat.id,'Неверное значение ставки или у вас недостаточно средств')
def start_game(message):
    bot.send_message (message.chat.id, 'Введите число от 1 до 3:')
    @bot.message_handler(content_types=['text'])
    def message_input_step(message):
        global text
        text = int(message.text)
        bot.reply_to(message, int(message.text))
    bot.register_next_step_handler (message, user_number)
def user_number(message):
    random_number = random.randint(1,3)
    user_number = message.text
    try:
        if int(user_number) == random_number:
            user_data.history += 1
            user_data.win_sum += int(sum_bet)
            user_data.total_bet += int(sum_bet)
            user_data.balance += int(sum_bet)
            bot.send_message(message.chat.id,f"Поздравляем, вы выиграли!\nБыло загадано число {random_number}")
        else:
            if int(user_number) < 1:
                bot.send_message(message.chat.id,'Неверное число!')
                start_game(message)
            else:
                if int(user_number) > 3:
                    bot.send_message(message.chat.id, 'Неверное число!')
                    start_game(message)
                else:
                    user_data.history += 1
                    user_data.lose_sum += int(sum_bet)
                    user_data.total_bet += int(sum_bet)
                    user_data.balance -= int(sum_bet)
                    bot.send_message(message.chat.id,f'Извините, вы проиграли!\nБыло загадано число {random_number}')
    except Exception as e:
        print(repr(e))
        bot.send_message(message.chat.id, 'Неверное значение!')
        start_game(message)

bot.polling(none_stop=True)
Заебись? или хуево?
Прошлая статья:https://lolz.guru/threads/4134668/#post-32500697
 
хоть бы класс в отдельный файл вынес..
 
Назад
Сверху Снизу