что не так с моим кодом? PyTelegramBotAPI

хочу сделать, чтобы когда пользователь писал /random и писал два числа (начало диапазона и конец), бот выдавал ему рандомное число из этого диапазона (я новичок в программировании)

import telebot
import random
from random import randint
from telebot import types

bot = telebot.TeleBot('token')


@bot.message_handler(commands=['start'])
def main(message):
    bot.send_message(message.chat.id, 'Привет! Я тестовый бот.')

@bot.message_handler(commands=['random'])
def first_number(message):
    send = bot.send_message(message.chat.id, 'Введи первое число')
    bot.register_next_step_handler(send, second_number)

def second_number(message):
    global numbers
    numbers = []
    first_number = message.text
    numbers.append(first_number)

    send = bot.send_message(message.chat.id, 'Введи второе число')
    bot.register_next_step_handler(send, end)

def end(message):
    second_number = message.text
    numbers.append(second_number)

    bot.send_message(message.chat.id, 'Случайное число: ' + str(random.randint(first_number, second_number)))

bot.polling(none_stop=True)

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

Автор решения: Solt

Я вижу следующие ошибки:

Первая - в numbers надо не текст класть, а числа

Вторая - в рэндом передавать не локальные переменные из других функций, а глобальную numbers, ведь её для этого и сделали.

import telebot
import random
from random import randint
from telebot import types

bot = telebot.TeleBot('token')


@bot.message_handler(commands=['start'])
def main(message):
    bot.send_message(message.chat.id, 'Привет! Я тестовый бот.')

@bot.message_handler(commands=['random'])
def first_number(message):
    send = bot.send_message(message.chat.id, 'Введи первое число')
    bot.register_next_step_handler(send, second_number)

def second_number(message):
    global numbers
    numbers = []
    first_number = int(message.text)
    numbers.append(first_number)

    send = bot.send_message(message.chat.id, 'Введи второе число')
    bot.register_next_step_handler(send, end)

def end(message):
    global numbers
    second_number = int(message.text)
    numbers.append(second_number)

    bot.send_message(message.chat.id, 'Случайное число: ' + str(random.randint(numbers[0], numbers[1])))

bot.polling(none_stop=True)
→ Ссылка