Jump to content

User:Zaycodes/Sandbox/API:ClearHasMsg/en

From mediawiki.org

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

[edit]
<?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]