Самый элементарный способ:
Хранить состояние сессии с клиентом в памяти скрипта. Заводишь словарь, где в качестве ключа - id клиента, а в качестве значения, любую удобную для задачи, структуру данных. Соответственно, от кого бы не пришло сообщение в бот, он всегда имеет представление о том, на какой стадии находится игра.
Способа с чтением отправленных сообщений нет, можно только изменить отправленное ботом сообщение (могу ошибаться). И это, в принципе, подход через написание костылей.