@NbIKS

Как сохранить сообщения пользователя для дальнейшего использования telegram бот?

я новичок в Python. Учусь создавать ботов для телеги, сейчас пытаюсь создать некоторый опросник, который в конечном счёте должен сохранять ответы пользователя в список. Внутри функции get_name он name нормально сохраняет и выводит, но в дальнейшем name я вывести не могу и сохранить в отдельную переменную, чтобы вывести её, тоже не могу. А ведь она нужна мне будет для дальнейшего использования.

Когда #message (# чтобы показать, где именно возникает ошибка, см код) не пишу, выдаёт "missing 1 required positional argument", а когда пишу "name 'message' is not defined"

Не понимаю, как быть, ведь вне телеграма вот например этот код работает нормально

def func(a = input('Введите имя')):
    return a
b = (func())
print(b)


Код, с которым возникла проблема:

@bot.message_handler(content_types=['text'])
def hello(message):

  if message.text == '/start':
    bot.send_message(message.from_user.id, "Введите имя");
    bot.register_next_step_handler(message, get_name);
  else:
    bot.send_message(message.from_user.id, '/start');

def get_name(message): 
    name = message.text
    return name
b = (get_name(#message))
print(b)
  • Вопрос задан
  • 2441 просмотр
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix Куратор тега Python
yellow
register_next_step_handler ни к чем не привязан.

@bot.message_handler(content_types=['text'])
def hello(message):

  if message.text == '/start':
    sent = bot.send_message(message.from_user.id, "Введите имя");
    bot.register_next_step_handler(sent, get_name);
  else:
    bot.send_message(message.from_user.id, '/start');

def get_name(message): 
    name = message.text
    print(name)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы