В общем, как бы его разбить на потоки, чтобы читал сообщения и реагировал на остальные команды для разных чатов?)
Отвяжи логику от чатов вообще. Обрабатывай апдейты, из них уже выясняй, в каком чате они произошли. И в этот чат обратно отправляй нужное действие.