Comments 9
В сети куча туториалов по синхронным ботам и почти ничего по асинхронным
попробуйте в гугле site:habr.com асинхронный телеграм бот python
, Вас ждет сильное удивление
Имхо, pytelegrambotapi был плох ещё лет восемь назад. Aiogram намного лучше
Намешали всего в кучу.
async def function— обычная функция, которая возвращает корутину.
function() вернёт <coroutine object>, это не Future.
await <coroutine object> не возвращает Future. Оно возвращает сразу результат корутины.
Future возвращает только вызов event_loop.create_task(), и то в виде более комплексного объекта типа Task, который лишь унаследован от Future.
Разработчик почти никогда не работает с Future напрямую.
Новичкам для работы с ботами в это всё вникать не надо
И вообще не понял прикола про сложность чтения и нелинейность выполнения. Код внутри асинхронных функций всё так же выполняется строчка за строчкой...
Ну и многопоточность для cpu bound... Если уж и решили извращаться, то уж лучше через асинхронность. Хоть меньше потеряете на переключении контекста и системных вызовах
Ещё не понятно, зачем вообще в приведённом коде асинхронность. Оно бы ± так же работало и без неё
Асинхронный Telegram бот на PyTelegramBotAPI