Size: a a a

2020 January 18

G

Gabben in aiogram [ru]
Технопёс
И поменяй msg на update. Так логичнее. Тебе же приходит еще и cb? А они все являются Update-объектами
источник

E

Egor in aiogram [ru]
Технопёс
Трай сигнализирует об ожидаемой ошибке, обработку которой нечем (читабельно) заменить. Например, преобразование ввода пользователя (input) в инт требует трай с ожиданием ValueError.
Тут можно спокойно разрулить через исинстанс, и это будет наглядно
кстати не сигнализирует ошибку, обработку которой нечем заменить
источник

Т

Технопёс in aiogram [ru]
ᔕEᖇG
"Так вот в этой ветке его и задавай в chat_id" не понял
if isistance(update, Message):
   chat_id = update.chat.id
elif isistance(update, CallbackQuery):
   chat_id = update.message.chat.id
   await update.answer()
...
источник

ᔕEᖇG in aiogram [ru]
аааа так...
источник

E

Egor in aiogram [ru]
Egor
кстати не сигнализирует ошибку, обработку которой нечем заменить
источник

Т

Технопёс in aiogram [ru]
from aiogram.types.update import Message, CallbackQuery, ...
источник

Т

Технопёс in aiogram [ru]
Egor
кстати не сигнализирует ошибку, обработку которой нечем заменить
Ну я образно, программист видя try должен понимать, что тут неконтролируемая операция, которую нельзя предугадать
источник

E

Egor in aiogram [ru]
Технопёс
Ну я образно, программист видя try должен понимать, что тут неконтролируемая операция, которую нельзя предугадать
нет. почитай по ссылке про eafp
источник

Т

Технопёс in aiogram [ru]
Ну или автор реализации ленивый
источник

G

Gabben in aiogram [ru]
Технопёс
from aiogram.types.update import Message, CallbackQuery, ...
так можно только потому, что для Update нужно импортировать Message, CallbackQuery и прочее. Я бы не сказал, что это update объекты
почему update объекты не имеют update_id

скорее всего я просто по другому понимаю твою фразу
источник

𝐃𝐊

𝐃𝐚𝐧𝐢𝐢𝐥 𝐊𝐨𝐯𝐚𝐥𝐞𝐧𝐤𝐨 in aiogram [ru]
async def in_channel(update) -> bool:
   if hasattr(update, 'message'):
       path = update.message
   else:
       path = update

   try:
       member = await bot.get_chat_member(channel_id, path.chat.id)
       if member.status != 'left':
           return True
   except Exception:
       return None
источник

ᔕEᖇG in aiogram [ru]
источник

E

Egor in aiogram [ru]
можно types.Message & types.CallbackQuery
источник

Т

Технопёс in aiogram [ru]
Gabben
так можно только потому, что для Update нужно импортировать Message, CallbackQuery и прочее. Я бы не сказал, что это update объекты
почему update объекты не имеют update_id

скорее всего я просто по другому понимаю твою фразу
В доке есть отдельно раздел Update, в котором перечислены типы обновления. Среди них Message, CallbackQuery, PreCheckoutQuery, ShippingQuery, InlineQuery, и что-то еще вроде
источник

Т

Технопёс in aiogram [ru]
Собственно то, что мы ловим хэндлерами
источник

Т

Технопёс in aiogram [ru]
Poll еще
источник

G

Gabben in aiogram [ru]
на типы обновлений я бы согласился)
все, отъебываюсь
источник

Т

Технопёс in aiogram [ru]
Зачем два ансвера?
источник

Т

Технопёс in aiogram [ru]
Gabben
на типы обновлений я бы согласился)
все, отъебываюсь
Голова немного моросит, если не ясно излагаюсь прошу прощения
источник

ᔕEᖇG in aiogram [ru]
промахнулся
источник