コード例 #1
0
 def reply_object(self,
                  message: Message,
                  obj: Union[TELEGRAM_OBJECT_TO_SEND,
                             TELEGRAM_OBJECT_WITH_CAPTION_TO_SEND],
                  reply_markup: Union[ReplyKeyboardMarkup,
                                      ReplyKeyboardRemove] = None,
                  silent: bool = False):
     caption = None
     if isinstance(obj, list) or isinstance(obj, tuple):
         if len(obj) == 2 and obj[
                 0].__class__ in ALLOWED_TELEGRAM_OBJECTS_WITH_CAPTION:
             caption = obj[1]
             obj = obj[0]
         else:
             raise AttributeError
     if isinstance(obj, str):
         message.reply_text(obj,
                            reply_markup=reply_markup,
                            parse_mode=self.parse_mode,
                            disable_notification=silent)
     elif isinstance(obj, Audio):
         message.reply_audio(obj,
                             caption=caption,
                             reply_markup=reply_markup,
                             disable_notification=silent)
     elif isinstance(obj, Contact):
         message.reply_contact(obj,
                               reply_markup=reply_markup,
                               disable_notification=silent)
     elif isinstance(obj, Document):
         message.reply_document(obj,
                                caption=caption,
                                reply_markup=reply_markup,
                                disable_notification=silent)
     elif isinstance(obj, Location):
         message.reply_location(location=obj,
                                reply_markup=reply_markup,
                                disable_notification=silent)
     if isinstance(obj, PhotoSize):
         message.reply_photo(obj,
                             caption=caption,
                             reply_markup=reply_markup,
                             disable_notification=silent)
     elif isinstance(obj, Sticker):
         message.reply_sticker(obj,
                               reply_markup=reply_markup,
                               disable_notification=silent)
     elif isinstance(obj, Venue):
         message.reply_venue(obj,
                             reply_markup=reply_markup,
                             disable_notification=silent)
     elif isinstance(obj, Video):
         message.reply_video(obj,
                             caption=caption,
                             reply_markup=reply_markup,
                             disable_notification=silent)
     elif isinstance(obj, VideoNote):
         message.reply_video_note(obj,
                                  reply_markup=reply_markup,
                                  disable_notification=silent)
     elif isinstance(obj, Voice):
         message.reply_voice(obj,
                             caption=caption,
                             reply_markup=reply_markup,
                             disable_notification=silent)