Справочник · модуль 13 «Интернет и API»
Состояние диалога
Состояние — то, что бот помнит о каждом человеке: например, на каком он шаге. Его хранят в словаре, где ключ — номер чата.
Сравнение из жизни
Как закладка в книге у каждого читателя.
Пример
states = {}
for chat_id in [7, 9, 7]:
state = states.setdefault(chat_id, {"step": 0})
state["step"] = state["step"] + 1
print(chat_id, state)Результат
7 {'step': 1}
9 {'step': 1}
7 {'step': 2}Учитель в уроке Бот ведёт много разговоров сразу. Ему нужно помнить, на каком шаге каждый человек. Для этого заводят словарь: ключ — номер чата, значение — состояние. Метод setdefault создаёт состояние, если его ещё нет. Здесь три сообщения: два от первого человека и одно от второго. У первого шаг дошёл до двух, у второго — до одного. Они не мешают друг другу.
Запомнить
Состояние диалога — как закладка в книге у каждого читателя. Бот помнит, где остановился каждый.
Тема из урока 13.5 «Проект: чат-бот» курса PythonAZ.