Для исправления ситуации, когда обработчик callback query начинает работать только после перезапуска бота, можно попробовать следующие способы:
1. Убедиться, что обработчик callback query был правильно добавлен в основной поток выполнения бота и не был отключен или заблокирован.
2. Проверить, что обработчики callback query не конфликтуют между собой или с другими обработчиками.
3. Перезагрузить или обновить все зависимости и библиотеки, используемые в вашем боте.
Для улучшения реакции бота на новые кнопки без необходимости перезапуска можно воспользоваться следующими способами:
1. Периодически обновлять список доступных кнопок и команд в коде бота, чтобы бот мог распознавать и обрабатывать новые кнопки без перезапуска.
2. Использовать динамическое создание кнопок на основе полученных данных, чтобы добавлять новые кнопки автоматически при необходимости.
3. Реализовать функционал для обновления кнопок и команд в реальном времени, например, с помощью специального командного интерфейса для администраторов бота.
При правильной реализации этих способов вы сможете обновлять функционал бота и добавлять новые кнопки без необходимости перезапуска.