User:Zaycodes/Sandbox/API:ClearHasMsg

GET request to clear hasmsg flag for the current user.

MediaWiki version:
1.24

API documentation

edit

action=clearhasmsg

(main | clearhasmsg)
  • This module requires read rights.
  • This module requires write rights.
  • This module only accepts POST requests.
  • Source: MediaWiki
  • License: GPL-2.0-or-later

Clears the hasmsg flag for the current user.

Example:
Clear the hasmsg flag for the current user.
api.php?action=clearhasmsg [open in sandbox]


Example

edit

POST request

edit
Clear the hasmsg flag for the current user.

Response

edit
{
    "clearhasmsg": "success"
}

Sample code

edit

Python

edit
#!/usr/bin/python3

"""
    clear_has_msg.py

    MediaWiki API Demos
    Demo of `ClearHasMsg` module: Clear the hasmsg flag for the current user.

    MIT License
"""

import requests

S = requests.Session()

URL = "https://en.wikipedia.org/w/api.php"

PARAMS = {
    "action": "clearhasmsg",
    "format": "json"
}

R = S.post(url=URL, data=PARAMS)
DATA = R.json()

print(DATA)
<?php

/*
    clear_has_msg.php

    MediaWiki API Demos
    Demo of `ClearHasMsg` module: Clear the hasmsg flag for the current user.

    MIT License
*/

$endPoint = "https://en.wikipedia.org/w/api.php";
$params = [
    "action" => "clearhasmsg",
    "format" => "json"
];

$ch = curl_init();

curl_setopt( $ch, CURLOPT_URL, $endPoint );
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_POSTFIELDS, http_build_query( $params ) );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_COOKIEJAR, "cookie.txt" );
curl_setopt( $ch, CURLOPT_COOKIEFILE, "cookie.txt" );

$response = curl_exec($ch);
curl_close($ch);

echo ($response);

JavaScript

edit
/*
	clear_has_msg.js

    MediaWiki API Demos
    Demo of `ClearHasMsg` module: Clear the hasmsg flag for the current user.

    MIT License
*/

var url = "https://en.wikipedia.org/w/api.php"; 

var params = {
    action: "clearhasmsg",
    format: "json"
};
request.post({ url: url, form: params }, function(error, res, body) {
    if (error) {
        return;
    }
    console.log(body);
});

MediaWiki JS

edit
/*
	clear_has_msg.js

    MediaWiki API Demos
    Demo of `ClearHasMsg` module: Clear the hasmsg flag for the current user.

    MIT License
*/

var params = {
    action: "clearhasmsg",
    format: "json"
},
api = new mw.Api();

api.post( params ).done( function ( data ) {
console.log( data );
} );

Possible errors

edit
Code Info
mustbeposted The clearhasmsg module requires a POST request.

Additional notes

edit
  • The clearhasmsg action will remove the HasMsg flag, which causes the You have new messages banner to appear and returns true in HasMsg query. It can be used by applications that retrieve the talk page using the API, which unlike opening your talk page in a browser, doesn't automatically remove this flag.
  • When you trigger this action, the banner You have new messages will not appear until you receive any more messages from other users.
  • This module must be POSTED since 1.29.0-wmf.5. [1]