def move(from, to, opts = {})
      opts[:talk] = opts.key?(:talk) ? opts[:talk] : true
      params = {
        action: 'move',
        from: from,
        to: to,
        token: get_token
      }

      params[:reason] ||= opts[:reason]
      params[:movetalk] = '1' if opts[:talk]
      params[:noredirect] = '1' if opts[:suppress_redirect]

      response = post(params)

      return true if response['move']
      raise MediaWiki::Butt::EditError.new(response.dig('error', 'code') || 'Unknown error code')
    end
def move(from, to, opts = {})
      opts[:talk] = opts.key?(:talk) ? opts[:talk] : true
      params = {
        action: 'move',
        from: from,
        to: to,
        token: get_token
      }

      params[:reason] ||= opts[:reason]
      params[:movetalk] = '1' if opts[:talk]
      params[:noredirect] = '1' if opts[:suppress_redirect]

      response = post(params)

      return true if response['move']
      raise MediaWiki::Butt::EditError.new(response.dig('error', 'code') || 'Unknown error code')
    end
Performs a move on a page.
 @param from [String] The page to be moved.
 @param to [String] The destination of the move.
 @param opts [Hash<Symbol, Any>] The options hash for optional values in the request.
 @option opts [String] :reason The reason for the move, which shows up in the log.
 @option opts [Boolean] :talk Whether to move the associated talk page. Defaults to true.
 @option opts [Boolean] :suppress_redirect Set to a truthy value in order to prevent the API from making a redirect
   page.
 @see https://www.mediawiki.org/wiki/API:Changing_wiki_content Changing wiki content on the MediaWiki API
   documentation
 @see https://www.mediawiki.org/wiki/API:Move MediaWiki Move API Docs
 @since 0.5.0
 @raise [EditError]
 @return [Boolean] True if it was successful.