пока что додумался только до:
bot_user = None
async def init(bot: Bot):
global bot_user
bot_user = await bot.get_me()
Это хорошее применение глобальных переменных? Спасибо.
это гавно забудь как страшный сон и смотри нормальные примеры.
У глобальных переменных не бывает хорошего применения😝
Было бы здорово, если бы ещё знать, какие примеры...
bot.me уже выполняет эту задачу
бывает, но это как метаклассы. если ты их используешь, то ты явно знаешь зачем Примеры - шаблоны Тишки, Груши.
Он же тоже через await вызывается, разве нет? И к тому же возвращает функцию, а мне нужен объект пользователя.
через await, но возвращает именно результат get_me и кеширует его
он его кеширует вызов метода происходит 1 раз
Хорошо. await bot.me() — получил данные. Тогда как получить данные бота во второй раз? Тоже использовать await bot.me()? А если функция не асинхронная?
это шо за хуйню ты там делаешь @f0rden он видимо вызывает асинк внутри синхронной функции и поэтому проблема
await bot.me в каком случае у тебя не асинхронная функция будет?
Форматирую сообщение, в котором необходимо имя и юзернейм бота
тогда в чем проблема сделать эту функцию асинком? или передавать имя и юзернейм в эту функцию через параметры?
Ладно, хорошо, спасибо большое
руки правда алексу бы поотрывать за асинхронные проперти..
ну, честно говоря эти данные могут и меняться в рантайме. как бы да, странный ход, но не критично
они не меняются в рантайме (вернее если изменятся - результат не изменится)
Просто я думал, что это не очень хорошо — делать функцию асинком ради одного вызова, который, по сути, и асинком то не будет — просто получением кешированных данных. Хотя, с другой стороны, в асинке ничего плохого нет...
Обсуждают сегодня