def de_json(data): """ Args: data (dict): Returns: telegram.Message: """ if not data: return None data['from_user'] = User.de_json(data.get('from')) data['date'] = datetime.fromtimestamp(data['date']) data['chat'] = Chat.de_json(data.get('chat')) data['entities'] = MessageEntity.de_list(data.get('entities')) data['forward_from'] = User.de_json(data.get('forward_from')) data['forward_date'] = Message._fromtimestamp(data.get('forward_date')) data['reply_to_message'] = \ Message.de_json(data.get('reply_to_message')) data['audio'] = Audio.de_json(data.get('audio')) data['document'] = Document.de_json(data.get('document')) data['photo'] = PhotoSize.de_list(data.get('photo')) data['sticker'] = Sticker.de_json(data.get('sticker')) data['video'] = Video.de_json(data.get('video')) data['voice'] = Voice.de_json(data.get('voice')) data['contact'] = Contact.de_json(data.get('contact')) data['location'] = Location.de_json(data.get('location')) data['venue'] = Venue.de_json(data.get('venue')) data['new_chat_member'] = User.de_json(data.get('new_chat_member')) data['left_chat_member'] = User.de_json(data.get('left_chat_member')) data['new_chat_photo'] = PhotoSize.de_list(data.get('new_chat_photo')) data['pinned_message'] = Message.de_json(data.get('pinned_message')) return Message(**data)
def de_json(cls, data, bot): if not data: return None data = super(Message, cls).de_json(data, bot) data['from_user'] = User.de_json(data.get('from'), bot) data['date'] = from_timestamp(data['date']) data['chat'] = Chat.de_json(data.get('chat'), bot) data['entities'] = MessageEntity.de_list(data.get('entities'), bot) data['forward_from'] = User.de_json(data.get('forward_from'), bot) data['forward_from_chat'] = Chat.de_json(data.get('forward_from_chat'), bot) data['forward_date'] = from_timestamp(data.get('forward_date')) data['reply_to_message'] = Message.de_json(data.get('reply_to_message'), bot) data['edit_date'] = from_timestamp(data.get('edit_date')) data['audio'] = Audio.de_json(data.get('audio'), bot) data['document'] = Document.de_json(data.get('document'), bot) data['game'] = Game.de_json(data.get('game'), bot) data['photo'] = PhotoSize.de_list(data.get('photo'), bot) data['sticker'] = Sticker.de_json(data.get('sticker'), bot) data['video'] = Video.de_json(data.get('video'), bot) data['voice'] = Voice.de_json(data.get('voice'), bot) data['video_note'] = VideoNote.de_json(data.get('video_note'), bot) data['contact'] = Contact.de_json(data.get('contact'), bot) data['location'] = Location.de_json(data.get('location'), bot) data['venue'] = Venue.de_json(data.get('venue'), bot) data['new_chat_member'] = User.de_json(data.get('new_chat_member'), bot) data['new_chat_members'] = User.de_list(data.get('new_chat_members'), bot) data['left_chat_member'] = User.de_json(data.get('left_chat_member'), bot) data['new_chat_photo'] = PhotoSize.de_list(data.get('new_chat_photo'), bot) data['pinned_message'] = Message.de_json(data.get('pinned_message'), bot) data['invoice'] = Invoice.de_json(data.get('invoice'), bot) data['successful_payment'] = SuccessfulPayment.de_json(data.get('successful_payment'), bot) return cls(bot=bot, **data)
def de_json(data): """ Args: data (dict): Returns: telegram.Message: """ if not data: return None data['from_user'] = User.de_json(data.get('from')) data['date'] = datetime.fromtimestamp(data['date']) data['chat'] = Chat.de_json(data.get('chat')) data['entities'] = MessageEntity.de_list(data.get('entities')) data['forward_from'] = User.de_json(data.get('forward_from')) data['forward_from_chat'] = Chat.de_json(data.get('forward_from_chat')) data['forward_date'] = Message._fromtimestamp(data.get('forward_date')) data['reply_to_message'] = Message.de_json( data.get('reply_to_message')) data['audio'] = Audio.de_json(data.get('audio')) data['document'] = Document.de_json(data.get('document')) data['photo'] = PhotoSize.de_list(data.get('photo')) data['sticker'] = Sticker.de_json(data.get('sticker')) data['video'] = Video.de_json(data.get('video')) data['voice'] = Voice.de_json(data.get('voice')) data['contact'] = Contact.de_json(data.get('contact')) data['location'] = Location.de_json(data.get('location')) data['venue'] = Venue.de_json(data.get('venue')) data['new_chat_member'] = User.de_json(data.get('new_chat_member')) data['left_chat_member'] = User.de_json(data.get('left_chat_member')) data['new_chat_photo'] = PhotoSize.de_list(data.get('new_chat_photo')) data['pinned_message'] = Message.de_json(data.get('pinned_message')) return Message(**data)
def de_json(data): """ Args: data (str): Returns: telegram.Message: """ if not data: return None data['from_user'] = User.de_json(data.get('from')) data['date'] = datetime.fromtimestamp(data['date']) if 'first_name' in data.get('chat', ''): data['chat'] = User.de_json(data.get('chat')) elif 'title' in data.get('chat', ''): data['chat'] = GroupChat.de_json(data.get('chat')) data['forward_from'] = \ User.de_json(data.get('forward_from')) data['forward_date'] = \ Message._fromtimestamp(data.get('forward_date')) data['reply_to_message'] = \ Message.de_json(data.get('reply_to_message')) data['audio'] = \ Audio.de_json(data.get('audio')) data['document'] = \ Document.de_json(data.get('document')) data['photo'] = \ PhotoSize.de_list(data.get('photo')) data['sticker'] = \ Sticker.de_json(data.get('sticker')) data['video'] = \ Video.de_json(data.get('video')) data['voice'] = \ Voice.de_json(data.get('voice')) data['contact'] = \ Contact.de_json(data.get('contact')) data['location'] = \ Location.de_json(data.get('location')) data['new_chat_participant'] = \ User.de_json(data.get('new_chat_participant')) data['left_chat_participant'] = \ User.de_json(data.get('left_chat_participant')) data['new_chat_photo'] = \ PhotoSize.de_list(data.get('new_chat_photo')) return Message(**data)
def test_de_json(self, bot): json_dict = { 'file_id': 'not a file id', 'width': self.width, 'height': self.height, 'duration': self.duration, 'mime_type': self.mime_type, 'file_size': self.file_size } json_video = Video.de_json(json_dict, bot) assert json_video.file_id == 'not a file id' assert json_video.width == self.width assert json_video.height == self.height assert json_video.duration == self.duration assert json_video.mime_type == self.mime_type assert json_video.file_size == self.file_size
def test_de_json(self, bot): json_dict = { 'file_id': self.video_file_id, 'file_unique_id': self.video_file_unique_id, 'width': self.width, 'height': self.height, 'duration': self.duration, 'mime_type': self.mime_type, 'file_size': self.file_size, 'file_name': self.file_name, } json_video = Video.de_json(json_dict, bot) assert json_video.file_id == self.video_file_id assert json_video.file_unique_id == self.video_file_unique_id assert json_video.width == self.width assert json_video.height == self.height assert json_video.duration == self.duration assert json_video.mime_type == self.mime_type assert json_video.file_size == self.file_size assert json_video.file_name == self.file_name
def test_de_json(self, bot): json_dict = { "file_id": self.video_file_id, "file_unique_id": self.video_file_unique_id, "width": self.width, "height": self.height, "duration": self.duration, "mime_type": self.mime_type, "file_size": self.file_size, "file_name": self.file_name, } json_video = Video.de_json(json_dict, bot) assert json_video.file_id == self.video_file_id assert json_video.file_unique_id == self.video_file_unique_id assert json_video.width == self.width assert json_video.height == self.height assert json_video.duration == self.duration assert json_video.mime_type == self.mime_type assert json_video.file_size == self.file_size assert json_video.file_name == self.file_name
def de_json(data): if 'from' in data: # from is a reserved word, use from_user instead. from telegram import User from_user = User.de_json(data['from']) else: from_user = None if 'date' in data: date = datetime.fromtimestamp(data['date']) else: date = None if 'chat' in data: if 'first_name' in data['chat']: from telegram import User chat = User.de_json(data['chat']) if 'title' in data['chat']: from telegram import GroupChat chat = GroupChat.de_json(data['chat']) else: chat = None if 'forward_from' in data: from telegram import User forward_from = User.de_json(data['forward_from']) else: forward_from = None if 'forward_date' in data: forward_date = datetime.fromtimestamp(data['forward_date']) else: forward_date = None if 'reply_to_message' in data: reply_to_message = Message.de_json(data['reply_to_message']) else: reply_to_message = None if 'audio' in data: from telegram import Audio audio = Audio.de_json(data['audio']) else: audio = None if 'document' in data: from telegram import Document document = Document.de_json(data['document']) else: document = None if 'photo' in data: from telegram import PhotoSize photo = [PhotoSize.de_json(x) for x in data['photo']] else: photo = None if 'sticker' in data: from telegram import Sticker sticker = Sticker.de_json(data['sticker']) else: sticker = None if 'video' in data: from telegram import Video video = Video.de_json(data['video']) else: video = None if 'voice' in data: from telegram import Voice voice = Voice.de_json(data['voice']) else: voice = None if 'contact' in data: from telegram import Contact contact = Contact.de_json(data['contact']) else: contact = None if 'location' in data: from telegram import Location location = Location.de_json(data['location']) else: location = None if 'new_chat_participant' in data: from telegram import User new_chat_participant = User.de_json(data['new_chat_participant']) else: new_chat_participant = None if 'left_chat_participant' in data: from telegram import User left_chat_participant = User.de_json(data['left_chat_participant']) else: left_chat_participant = None if 'new_chat_photo' in data: from telegram import PhotoSize new_chat_photo = \ [PhotoSize.de_json(x) for x in data['new_chat_photo']] else: new_chat_photo = None return Message(message_id=data.get('message_id', None), from_user=from_user, date=date, chat=chat, forward_from=forward_from, forward_date=forward_date, reply_to_message=reply_to_message, text=data.get('text', ''), audio=audio, document=document, photo=photo, sticker=sticker, video=video, voice=voice, caption=data.get('caption', ''), contact=contact, location=location, new_chat_participant=new_chat_participant, left_chat_participant=left_chat_participant, new_chat_title=data.get('new_chat_title', None), new_chat_photo=new_chat_photo, delete_chat_photo=data.get('delete_chat_photo', None), group_chat_created=data.get('group_chat_created', None))
def de_json(data): if 'from' in data: # from is a reserved word, use from_user instead. from telegram import User from_user = User.de_json(data['from']) else: from_user = None if 'chat' in data: if 'first_name' in data['chat']: from telegram import User chat = User.de_json(data['chat']) if 'title' in data['chat']: from telegram import GroupChat chat = GroupChat.de_json(data['chat']) else: chat = None if 'forward_from' in data: from telegram import User forward_from = User.de_json(data['forward_from']) else: forward_from = None if 'reply_to_message' in data: reply_to_message = Message.de_json(data['reply_to_message']) else: reply_to_message = None if 'text' in data: text = data['text'] else: text = None if 'audio' in data: from telegram import Audio audio = Audio.de_json(data['audio']) else: audio = None if 'document' in data: from telegram import Document document = Document.de_json(data['document']) else: document = None if 'photo' in data: from telegram import PhotoSize photo = [PhotoSize.de_json(x) for x in data['photo']] else: photo = None if 'sticker' in data: from telegram import Sticker sticker = Sticker.de_json(data['sticker']) else: sticker = None if 'video' in data: from telegram import Video video = Video.de_json(data['video']) else: video = None if 'contact' in data: from telegram import Contact contact = Contact.de_json(data['contact']) else: contact = None if 'location' in data: from telegram import Location location = Location.de_json(data['location']) else: location = None if 'new_chat_participant' in data: from telegram import User new_chat_participant = User.de_json(data['new_chat_participant']) else: new_chat_participant = None if 'left_chat_participant' in data: from telegram import User left_chat_participant = User.de_json(data['left_chat_participant']) else: left_chat_participant = None return Message(message_id=data.get('message_id', None), from_user=from_user, date=data.get('date', None), chat=chat, forward_from=forward_from, forward_date=data.get('forward_date', None), reply_to_message=reply_to_message, text=text, audio=audio, document=document, photo=photo, sticker=sticker, video=video, contact=contact, location=location, new_chat_participant=new_chat_participant, left_chat_participant=left_chat_participant, new_chat_title=data.get('new_chat_title', None), new_chat_photo=data.get('new_chat_photo', None), delete_chat_photo=data.get('delete_chat_photo', None), group_chat_created=data.get('group_chat_created', None))
def addHour(a, b): sum = a+b if sum < 24: return sum else: return sum - 24 tg_updater: Updater = Updater(token=TOKEN, use_context=True) tg_dispatcher: Dispatcher = tg_updater.dispatcher teatime_video_path = 'video/teatime.mp4' teatime_video: Video = None if os.path.exists('teatime_video_obj.json'): teatime_video_obj = open('teatime_video_obj.json', 'r') teatime_video = Video.de_json(json.load(teatime_video_obj), tg_dispatcher.bot) teatime_video_obj.close() STOP = False teatime_noticed = False TEA_HOUR=15 TEA_MINUTE=15 SETTING_TZ = 0 SETTING_TZ_RETRY = 1 def start(update: Update, context: CallbackContext): context.bot.send_message(chat_id=update.effective_chat.id, text="我是群饮茶小助手,希望大家每天三点看到消息可以立刻停止做工,开始**饮茶**\n输入 /help 查看帮助") add_chatID(update.effective_chat.id)