code: async def send_poll(self, chat_id: typing.Union[base.Integer, base.String],
                          question: base.String,
                          options: typing.List[base.String],
                          disable_notification: typing.Optional[base.Boolean],
                          reply_to_message_id: typing.Union[base.Integer, None],
                          reply_markup: typing.Union[types.InlineKeyboardMarkup,
                                                     types.ReplyKeyboardMarkup,
                                                     types.ReplyKeyboardRemove,
                                                     types.ForceReply, None] = None) -> types.Message:
          
          options = prepare_arg(options)
          payload = generate_payload(**locals())
  
          result = await self.request(api.Methods.SEND_POLL, payload)
          return types.Message(**result)
docs: Use this method to send a native poll. A native poll can't be sent to a private chat.
          On success, the sent Message is returned.
  
          :param chat_id: Unique identifier for the target chat
              or username of the target channel (in the format @channelusername).
              A native poll can't be sent to a private chat.
          :type chat_id: :obj:`typing.Union[base.Integer, base.String]`
          :param question: Poll question, 1-255 characters
          :type question: :obj:`base.String`
          :param options: List of answer options, 2-10 strings 1-100 characters each
          :param options: :obj:`typing.List[base.String]`
          :param disable_notification: Sends the message silently. Users will receive a notification with no sound.
          :type disable_notification: :obj:`typing.Optional[Boolean]`
          :param reply_to_message_id: If the message is a reply, ID of the original message
          :type reply_to_message_id: :obj:`typing.Optional[Integer]`
          :param reply_markup: Additional interface options
          :type reply_markup: :obj:`typing.Union[types.InlineKeyboardMarkup,
              types.ReplyKeyboardMarkup, types.ReplyKeyboardRemove, types.ForceReply, None]`
          :return: On success, the sent Message is returned
          :rtype: :obj:`types.Message`