Size: a a a

Telethon Talks RU

2020 July 30

⟁ᴡ

⟁⃤ʀᴛʜᴜʀ ᴡ⟁ʏɴΞ... in Telethon Talks RU
соответственно ты можешь как проверять наличие (или отсутствие) аттрибута DocumentAttributeAnimated в сообщении (hasattr, getattr, setattr) так и просто забить на это и сделать как я выше написал

ну или ниже
источник

⟁ᴡ

⟁⃤ʀᴛʜᴜʀ ᴡ⟁ʏɴΞ... in Telethon Talks RU
func=lambda e: e.video and not e.gif
источник

Forevka ÐΞV... in Telethon Talks RU
⟁⃤ʀᴛʜᴜʀ ᴡ⟁ʏɴΞ
func=lambda e: e.video and not e.gif
и это без проверки на тип?
источник

Forevka ÐΞV... in Telethon Talks RU
ок, спасибо
источник

⟁ᴡ

⟁⃤ʀᴛʜᴜʀ ᴡ⟁ʏɴΞ... in Telethon Talks RU
это декоратор
источник

⟁ᴡ

⟁⃤ʀᴛʜᴜʀ ᴡ⟁ʏɴΞ... in Telethon Talks RU
там уже само всё проверяется
источник

Forevka ÐΞV... in Telethon Talks RU
да это я понимаю
источник

Forevka ÐΞV... in Telethon Talks RU
у меня там щас стоит type(e.media) is DocumentЧетоТам
источник

Forevka ÐΞV... in Telethon Talks RU
⟁⃤ʀᴛʜᴜʀ ᴡ⟁ʏɴΞ
func=lambda e: e.video and not e.gif
получается это можно заменить на это
источник

⟁ᴡ

⟁⃤ʀᴛʜᴜʀ ᴡ⟁ʏɴΞ... in Telethon Talks RU
Forevka ÐΞV
получается это можно заменить на это
@client.on(
   events.NewMessage(
   func=lambda e: e.is_channel and not e.is_group and e.video and not e.gif
 )
)

@client.on(
   events.MessageEdited(
   func=lambda e: e.is_channel and not e.is_group and e.video and not e.gif
 )
)
источник

Forevka ÐΞV... in Telethon Talks RU
буду тестить спасибо
источник

⟁ᴡ

⟁⃤ʀᴛʜᴜʀ ᴡ⟁ʏɴΞ... in Telethon Talks RU
угу
источник

⟁ᴡ

⟁⃤ʀᴛʜᴜʀ ᴡ⟁ʏɴΞ... in Telethon Talks RU
ещё есть вариант с тонкой проверкой
источник

⟁ᴡ

⟁⃤ʀᴛʜᴜʀ ᴡ⟁ʏɴΞ... in Telethon Talks RU
например Markdown оно же Code и оно же Pre
источник

⟁ᴡ

⟁⃤ʀᴛʜᴜʀ ᴡ⟁ʏɴΞ... in Telethon Talks RU
если надо разделить по какой-то непонятной причине, то предопределяешь функцией до хэндлера

и юзаешь как функцию в кетчере
источник

⟁ᴡ

⟁⃤ʀᴛʜᴜʀ ᴡ⟁ʏɴΞ... in Telethon Talks RU
def check_has_url(message):
   from telethon.tl import types

   return message.entities and any(
       isinstance(entity, (types.MessageEntityUrl, types.MessageEntityTextUrl))
       for entity in message.entities
   )

@client.on(
   events.NewMessage(
       func=check_has_url,
   )
)
источник

Forevka ÐΞV... in Telethon Talks RU
⟁⃤ʀᴛʜᴜʀ ᴡ⟁ʏɴΞ
def check_has_url(message):
   from telethon.tl import types

   return message.entities and any(
       isinstance(entity, (types.MessageEntityUrl, types.MessageEntityTextUrl))
       for entity in message.entities
   )

@client.on(
   events.NewMessage(
       func=check_has_url,
   )
)
а какой тайпинг у message?
источник

Forevka ÐΞV... in Telethon Talks RU
⟁⃤ʀᴛʜᴜʀ ᴡ⟁ʏɴΞ
def check_has_url(message):
   from telethon.tl import types

   return message.entities and any(
       isinstance(entity, (types.MessageEntityUrl, types.MessageEntityTextUrl))
       for entity in message.entities
   )

@client.on(
   events.NewMessage(
       func=check_has_url,
   )
)
но я так и не понял нафига это мне. Тут же проверка на разметку
источник

Forevka ÐΞV... in Telethon Talks RU
а, это как пример
источник

⟁ᴡ

⟁⃤ʀᴛʜᴜʀ ᴡ⟁ʏɴΞ... in Telethon Talks RU
⟁⃤ʀᴛʜᴜʀ ᴡ⟁ʏɴΞ
def check_has_url(message):
   from telethon.tl import types

   return message.entities and any(
       isinstance(entity, (types.MessageEntityUrl, types.MessageEntityTextUrl))
       for entity in message.entities
   )

@client.on(
   events.NewMessage(
       func=check_has_url,
   )
)
тут правда нет разделения между двумя типами гиперссылок, но я как для пояснения написал, что можно разделить
источник