Как запоминать действия пользователя telegram python bot

Ответ получен спасибо огромное!

введите сюда описание изображения

сделал бота в телеграмме и возникла такая проблема.

Пользователь пишет то что ему надо, а в конце все его сообщения отправились ему же

Как сделать так что все его сообщения показались в конце?


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

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

Требуется сделать словарь где по айди пользователя будет прикрепляться список его действий:

users_actions = {1:[...], 2:[...]}

Потом используя какую либо команду брать список действий и возможно очищать его.

Намного лучше будет если вы покажете пример кода, и скажете что именно требуется сделать, так как для разных задач будет разное решение.

→ Ссылка
Автор решения: D. Violet

исходя из комментариев можно воспользоваться bot.register_next_step_handler:

@bot.message_handler(commands=['start'])
def first_q(message):
    send = bot.send_message(message.chat.id, 'первый вопрос')
    bot.register_next_step_handler(send, two_q)


def two_q(message):
    global answers
    answers = []
    first_answer = message.text
    answers.append(first_answer)

    send = bot.send_message(message.chat.id, 'второй вопрос')
    bot.register_next_step_handler(send, three_q)


def three_q(message):
    two_answer = message.text
    answers.append(two_answer)

    send = bot.send_message(message.chat.id, 'третий вопрос')
    bot.register_next_step_handler(send, four_q)


def four_q(message):
    three_answer = message.text
    answers.append(three_answer)

    send = bot.send_message(message.chat.id, 'четвёртый вопрос')
    bot.register_next_step_handler(send, end)


def end(message):
    four_answer = message.text
    answers.append(four_answer)

    bot.send_message(message.chat.id, '{}'.format(''.join(answers)))

но global зло, попробуйте с классом, здесь есть пример

→ Ссылка