Игра угадай число для бота / Telegram, Python

У меня есть главный файл бота main.py, я импортировал файл games.py в main.py и собираюсь вызывать игру через функцию, но мне надо чтоб весь текст который в коде выводил бот сообщением, и на текст который ему отправишь он отвечал - угадал число, меньше или больше оно.

Я новичок и код не работает, пишет ошибку при запуске TypeError мол я в условной конструкции сравниваю str и int, помогите исправить чтоб код работал, можете доработать чтоб если пользователь вводил текст бот отвечал что это не число.

Вот код игры:

import random

def random_guesses(message):
guesses_made = 0

name = str(message.chat.first_name) + " " + str(message.chat.last_name)

number = random.randint(1, 30)
bot.send_message(message.chat.id, '{0}, я загадал число между 1 и 30. Сможешь угадать?'.format(name))

while guesses_made < 6:

    bot.send_message(message.chat.id, "Введите число")
    guess = int(message.text)

    guesses_made += 1

    if guess < number:
        bot.send_message(message.chat.id, 'Твое число меньше того, что я загадал.')

    if guess > number:
        bot.send_message(message.chat.id, 'Твое число больше загаданного мной.')

    if guess == number:
        bot.send_message(message.chat.id, 'Ух ты, {0}! Ты угадал мое число, использовав {1} попыток!'.format(name, guesses_made))
    else:
        bot.send_message(message.chat.id, 'А вот и не угадал! Я загадал число {0}'.format(number))

А вот код вызова этой функции в файле main.py:

import telebot
import config
import conf_games
import time

bot = telebot.TeleBot(config.TOKEN)
@bot.message_handler(content_types=['text'])
def get_message(message):
    if message.text.lower() == 'привет': 
        bot.send_message(message.chat.id, 'хай')
    elif  message.text.lower() == 'угадай число': 
        bot.send_message(message.chat.id, conf_games.random_guesses(message))

Ответы (1 шт):

Автор решения: Serg Bocharov

Как-то так:

 while guesses_made < 6:
    
        bot.send_message(message.chat.id, "Введите число")
        
        if message.text.isdigit():
            guess = int(message.text) 
        else:
            bot.send_message(message.chat.id, "Неверный ввод. Введите число") 

UPDATE. Измените проверку. Проверяйте через исключение это будет правильнее:

while guesses_made < 6:
    bot.send_message(message.chat.id, "Введите число")
    try:
        guess = int(message.text)
    except ValueError:
        bot.send_message(message.chat.id, "Неверный ввод. Введите число")
    else:
        guesses_made += 1
        if guess < number:
            bot.send_message(message.chat.id, 'Твое число меньше того, что я загадал.')

        if guess > number:
            bot.send_message(message.chat.id, 'Твое число больше загаданного мной.')

        if guess == number:
            bot.send_message(message.chat.id,
                         'Ух ты, {0}! Ты угадал мое число, использовав {1} попыток!'.format(name, guesses_made))
        else:
            bot.send_message(message.chat.id, 'А вот и не угадал! Я загадал число {0}'.format(number))
→ Ссылка