mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2024-11-10 19:46:36 +03:00
Add autocast for InputDocument and InputChatPhoto
This commit is contained in:
parent
aa3f26263c
commit
0fcc2e5e52
|
@ -270,9 +270,41 @@ def get_input_photo(photo):
|
|||
if isinstance(photo, types.PhotoEmpty):
|
||||
return types.InputPhotoEmpty()
|
||||
|
||||
if isinstance(photo, types.messages.ChatFull):
|
||||
photo = photo.full_chat
|
||||
if isinstance(photo, types.ChannelFull):
|
||||
return get_input_photo(photo.chat_photo)
|
||||
elif isinstance(photo, types.UserFull):
|
||||
return get_input_photo(photo.profile_photo)
|
||||
elif isinstance(photo, (types.Channel, types.Chat, types.User)):
|
||||
return get_input_photo(photo.photo)
|
||||
|
||||
if isinstance(photo, (types.UserEmpty, types.ChatEmpty,
|
||||
types.ChatForbidden, types.ChannelForbidden)):
|
||||
return types.InputPhotoEmpty()
|
||||
|
||||
_raise_cast_fail(photo, 'InputPhoto')
|
||||
|
||||
|
||||
def get_input_chat_photo(photo):
|
||||
"""Similar to :meth:`get_input_peer`, but for chat photos"""
|
||||
try:
|
||||
if photo.SUBCLASS_OF_ID == 0xd4eb2d74: # crc32(b'InputChatPhoto')
|
||||
return photo
|
||||
elif photo.SUBCLASS_OF_ID == 0xe7655f1f: # crc32(b'InputFile'):
|
||||
return types.InputChatUploadedPhoto(photo)
|
||||
except AttributeError:
|
||||
_raise_cast_fail(photo, 'InputChatPhoto')
|
||||
|
||||
photo = get_input_photo(photo)
|
||||
if isinstance(photo, types.InputPhoto):
|
||||
return types.InputChatPhoto(photo)
|
||||
elif isinstance(photo, types.InputPhotoEmpty):
|
||||
return types.InputChatPhotoEmpty()
|
||||
|
||||
_raise_cast_fail(photo, 'InputChatPhoto')
|
||||
|
||||
|
||||
def get_input_geo(geo):
|
||||
"""Similar to :meth:`get_input_peer`, but for geo points"""
|
||||
try:
|
||||
|
|
|
@ -25,7 +25,9 @@ AUTO_CASTS = {
|
|||
'InputNotifyPeer': 'await client._get_input_notify({})',
|
||||
'InputMedia': 'utils.get_input_media({})',
|
||||
'InputPhoto': 'utils.get_input_photo({})',
|
||||
'InputMessage': 'utils.get_input_message({})'
|
||||
'InputMessage': 'utils.get_input_message({})',
|
||||
'InputDocument': 'utils.get_input_document({})',
|
||||
'InputChatPhoto': 'utils.get_input_chat_photo({})',
|
||||
}
|
||||
|
||||
NAMED_AUTO_CASTS = {
|
||||
|
|
Loading…
Reference in New Issue
Block a user