Bot singleton
Yang-Pi opened this issue · 1 comments
По исключительной задумке автора бот един для всех пользователей, если вход выполнил один, то все ждут, пока он закончит сессию, чтобы вошел в систему другой. Это настоящий модерн. Но так не должны работать программные продукты, поэтому решение есть: всю бизнес-логику выносим из класса Bot, далее при первом запуске пользователем бота заносим логин пользователя в HashMap, чтобы затем отслеживать от чьего имени пришли уведомления. Отдельно стоит рассмотреть вопросы многопоточности в таком случае, чтобы все данные были синхронизированы.
При выносе бизнес-логики удобным будет заметка о том, что метод execute()
выполняет и editMessage
, sendMessage
и т.п., поэтому пусть в результате обработки ответа пользователя в тело непосредственно бота возвращается объект, который нужно "экзекьютить".