1
0
mirror of https://github.com/eternnoir/pyTelegramBotAPI.git synced 2023-08-10 21:12:57 +03:00

Add message entity to message.

This commit is contained in:
eternnoir 2016-04-14 10:57:18 +08:00
parent 2449a3ea64
commit 2eb914d329

View File

@ -144,8 +144,8 @@ class Message(JsonDeserializable):
from_user = None from_user = None
if 'from' in obj: if 'from' in obj:
from_user = User.de_json(obj['from']) from_user = User.de_json(obj['from'])
chat = Chat.de_json(obj['chat'])
date = obj['date'] date = obj['date']
chat = Chat.de_json(obj['chat'])
content_type = None content_type = None
opts = {} opts = {}
if 'forward_from' in obj: if 'forward_from' in obj:
@ -157,12 +157,11 @@ class Message(JsonDeserializable):
if 'text' in obj: if 'text' in obj:
opts['text'] = obj['text'] opts['text'] = obj['text']
content_type = 'text' content_type = 'text'
if 'entities' in obj:
opts['entities'] = Message.parse_entities(obj['entities'])
if 'audio' in obj: if 'audio' in obj:
opts['audio'] = Audio.de_json(obj['audio']) opts['audio'] = Audio.de_json(obj['audio'])
content_type = 'audio' content_type = 'audio'
if 'voice' in obj:
opts['voice'] = Audio.de_json(obj['voice'])
content_type = 'voice'
if 'document' in obj: if 'document' in obj:
opts['document'] = Document.de_json(obj['document']) opts['document'] = Document.de_json(obj['document'])
content_type = 'document' content_type = 'document'
@ -175,6 +174,11 @@ class Message(JsonDeserializable):
if 'video' in obj: if 'video' in obj:
opts['video'] = Video.de_json(obj['video']) opts['video'] = Video.de_json(obj['video'])
content_type = 'video' content_type = 'video'
if 'voice' in obj:
opts['voice'] = Audio.de_json(obj['voice'])
content_type = 'voice'
if 'caption' in obj:
opts['caption'] = obj['caption']
if 'location' in obj: if 'location' in obj:
opts['location'] = Location.de_json(obj['location']) opts['location'] = Location.de_json(obj['location'])
content_type = 'location' content_type = 'location'
@ -199,8 +203,6 @@ class Message(JsonDeserializable):
if 'group_chat_created' in obj: if 'group_chat_created' in obj:
opts['group_chat_created'] = obj['group_chat_created'] opts['group_chat_created'] = obj['group_chat_created']
content_type = 'group_chat_created' content_type = 'group_chat_created'
if 'caption' in obj:
opts['caption'] = obj['caption']
return cls(message_id, from_user, date, chat, content_type, opts) return cls(message_id, from_user, date, chat, content_type, opts)
@classmethod @classmethod
@ -217,6 +219,13 @@ class Message(JsonDeserializable):
ret.append(PhotoSize.de_json(ps)) ret.append(PhotoSize.de_json(ps))
return ret return ret
@classmethod
def parse_entities(cls, message_entity_array):
ret = []
for me in message_entity_array:
ret.append(MessageEntity.de_json(me))
return ret
def __init__(self, message_id, from_user, date, chat, content_type, options): def __init__(self, message_id, from_user, date, chat, content_type, options):
self.chat = chat self.chat = chat
self.date = date self.date = date