code: async def stop_poll(self, chat_id: typing.Union[base.String, base.Integer],
                          message_id: base.Integer,
                          reply_markup: typing.Union[types.InlineKeyboardMarkup, None] = None) -> types.Poll:
          
          payload = generate_payload(**locals())
  
          result = await self.request(api.Methods.STOP_POLL, payload)
          return types.Poll(**result)
docs: Use this method to stop a poll which was sent by the bot.
          On success, the stopped Poll with the final results is returned.
  
          :param chat_id: Unique identifier for the target chat or username of the target channel
          :type chat_id: :obj:`typing.Union[base.String, base.Integer]`
          :param message_id: Identifier of the original message with the poll
          :type message_id: :obj:`base.Integer`
          :param reply_markup: A JSON-serialized object for a new message inline keyboard.
          :type reply_markup: :obj:`typing.Union[types.InlineKeyboardMarkup, None]`
          :return: On success, the stopped Poll with the final results is returned.
          :rtype: :obj:`types.Poll`