Github mirror of MediaWiki extension MassMessage - our actual code is hosted with Gerrit (please see for contributing
Go to file
Translation updater bot 8fc4a573cd Localisation updates from
Change-Id: Idf5bad41ac71980c5ddd140f03ecc8f9d81f2459
2024-05-15 09:21:49 +02:00
.phan build: Avoid PhanUndeclaredMethod with phan-var declaration 2024-02-23 23:02:17 +01:00
i18n Localisation updates from 2024-05-15 09:21:49 +02:00
includes logging: Use injected services in MassMessageSkipLogFormatter 2024-03-29 21:09:51 +01:00
maintenance build: Upgrade mediawiki/mediawiki-codesniffer to v43.0.0 2024-03-11 00:00:28 +01:00
modules styles: Update color in from #d33 to #d73333 2024-04-01 23:19:43 -07:00
tests/phpunit build: Upgrade mediawiki/mediawiki-codesniffer to v43.0.0 2024-03-11 00:00:28 +01:00
.eslintrc.json Convert modules to use packageFiles 2021-10-08 03:16:07 +00:00
.gitignore Fix typo: "a a" -> "a", update gitignore with OS X tempfile 2020-03-11 21:12:18 +05:30
.gitreview Whoops, track not trace 2016-10-24 17:02:55 -07:00
.phpcs.xml phpcs: Enable MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment and make pass 2023-08-19 01:39:47 +00:00
.stylelintrc.json build: Update linters 2018-02-04 22:08:24 +00:00 build: Updating mediawiki/phan-taint-check-plugin to 1.4.0 2018-09-01 05:24:58 +00:00
COPYING Add COPYING 2014-01-16 02:35:21 +00:00
Gruntfile.js eslint: Remove linting exceptions 2020-09-06 21:00:50 +01:00
MassMessage.alias.php MassMessage: Special page aliases should not store in zh 2023-04-05 02:25:41 +00:00
MassMessage.i18n.magic.php Setting aliases of Special:MassMessage, CreateMassMessageList, EditMassMessageList & magic word 'target' for Urdu Language 2017-10-09 18:34:32 +00:00 Add a config that marks targets as pre-validated for message delivery 2022-12-27 21:59:38 +00:00
composer.json build: Updating composer dependencies 2024-05-05 22:16:36 +00:00
extension.json Update UserOptionsLookup's FQN 2023-11-29 12:39:25 +00:00
package-lock.json build: Updating grunt-banana-checker to 0.12.0 2024-05-10 15:39:53 +00:00
package.json build: Updating grunt-banana-checker to 0.12.0 2024-05-10 15:39:53 +00:00


MassMessage is a MediaWiki extension that lets you easily send a talk page message to a large number of users at once. The extension also works over "wikifarm" setups.


$wgNamespacesToPostIn = [ NS_PROJECT ];

This limits the extension to only posting in talk namespaces (by default) and the Project: namespace.

$wgNamespacesToConvert = [ NS_USER => NS_USER_TALK ];

This allows a user to specify a page in the User: namespace, and the extension will automatically convert it to the User talk: namespace.

$wgAllowlistedMassMessageTargets = [];

This is used to specify page IDs for pages that if targeted by a MassMessage will have all but the 'MassMessage exclude category' check bypassed. For example, adding the Main Page (with ID 1) to this list allows MassMessage to post there even if messages can't be posted to the mainspace.

$wgMassMessageAccountUsername = 'MediaWiki message delivery';

The account name that the extension will post with. If this is an existing account, the extension will automatically take it over.

$wgAllowGlobalMessaging = true;

Whether to enable sending messages from one wiki to another. Can be disabled on all wikis except one "central wiki" which will keep the log entries in one location.

$wgMassMessageWikiAliases = [ '' => 'foowiki' ];

A mapping of domain names to their database name. Useful if you have moved or renamed a wiki and need previous input lists to continue working.

Messages are delivered using the job queue. It is recommended that you set up a cron job to empty the queue rather than relying on web requests. You can view how many MassMessage jobs are still queued by visiting Special:Statistics on your wiki (under "Other statistics" in the table).


Messages are delivered using Special:MassMessage, and can be used by anyone with the massmessage userrights, which is given to the sysop group by default.

You will be allowed to preview how your message will look, after which a "Submit" button will appear.

The form requires three different fields:

Input list

The input list provided to the special page must be formatted using a custom parser function.

In the example below, the target page is [[Project:Noticeboard]] on your local site.


In this one below, the target is [[User talk:Example]] on the "" domain.

{{#target:User talk:Example|}}


The subject line will become the header of your message, and is also used as the edit summary. For this reason, it is limited to 240 bytes.


The body is the main text of the message. You will be automatically warned if your message is detected to have unclosed HTML tags, but it will not prevent message delivery.

Wikis can choose to add an enforced footer by editing the massmessage-message-footer message. In addition to that, a hidden comment will be added containing the user who sent the message, what project it was sent from, and the input list that was used. That comment can be modified by editing the massmessage-hidden-comment on the target site.


MassMessage is licensed under the GNU General Public License 2.0 or any later version. You may obtain a copy of this license at


A full list of contributors can be found in the version control history. The MassMessage extension is based off of code from the TranslationNotifications extension. Thank you to MZMcBride for helping with the design and implementation of this extension.

Many thanks to the users on TranslateWiki who translated the extension.