Для создания middleware, который будет обрабатывать события CallbackQuery, вы можете использовать библиотеку aiogram для работы с Telegram Bot API.
Пример создания middleware для обработки CallbackQuery:
```python
from aiogram import Bot, Dispatcher, types
from aiogram.contrib.middlewares.callback_query import CallbackQueryMiddleware
bot = Bot(token="YOUR_TOKEN")
dp = Dispatcher(bot)
# Middleware to handle CallbackQuery
dp.middleware.setup(CallbackQueryMiddleware())
@dp.callback_query_handler()
async def handle_callback_query(callback_query: types.CallbackQuery):
await callback_query.answer()
# Ваш код обработки нажатия кнопки
# Запуск бота
if __name__ == '__main__':
import asyncio
loop = asyncio.get_event_loop()
loop.create_task(dp.start_polling())
loop.run_forever()
```
Что касается переписывания кода Python с асинхронными функциями и классами, я могу помочь вам с этим. Прежде всего, вам необходимо структурировать ваш код, разделяя его на модули, классы и функции в соответствии с их функциональностью.
Затем мы можем оптимизировать и улучшить ваш код, используя асинхронные функции и классы, а также принципы ООП для более четкого и понятного понимания кода.
Если у вас есть конкретные части кода, с которыми вы хотели бы поработать, пожалуйста, предоставьте мне эти секции, и я помогу вам их улучшить.