Page MenuHomePhabricator

Revisit inability to thank bots
Closed, DuplicatePublic

Description

I can't find the rationale for disallowing users in the "bot" user group to receive thanks from the Thanks MediaWiki extension. I have found lots of bugs caused by that decision, tho.

Is there a task outlining why this decision was made? We're now in a somewhat weird spot where bot accounts that aren't in the user group have received hundreds of thanks (e.g., https://en.wikipedia.org/w/index.php?title=Special:Log&offset=&limit=500&type=thanks&user=&page=User%3AXLinkBot&wpdate=&tagfilter=), while my properly grouped and hardworking bots can't receive a single thanks? That feels pretty weird.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Uh, why has the bot group been hardcoded in extension code?

includes/ApiThank.php: } elseif ( !$wgThanksSendToBots && in_array( 'bot', $recipient->getGroups() ) ) {
includes/ThanksHooks.php: if ( !$wgThanksSendToBots && in_array( 'bot', $user->getGroups() ) ) {

MediaWiki groups are supposed to be site-configurable, it is not the business of extensions to special-case specific ones. It should be looking at user rights.

Uh, why has the bot group been hardcoded in extension code?

The bot group is a default group in MediaWiki (see $wgGroupPermissions in DefaultSettings.php), and User::isBot() uses this hardcoded group too. However, that still means that Thanks shouldn't be rolling its own; it should use $recipient->isBot() instead.

Change 463873 had a related patch set uploaded (by Catrope; owner: Catrope):
[mediawiki/extensions/Thanks@master] Use User::isBot() rather than rolling our own

https://gerrit.wikimedia.org/r/463873

User::isBot() uses this hardcoded group too.

Ugh. Some discussion around that in https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/287433/, looks like it was not resolved.

The original reason that Thanks were not allowed for bots is simply that it didn't seem like it made much sense. Humans don't often log into bot accounts (with the exception of some AWB users), and bots themselves aren't capable of appreciating thanks. We thought it would just be annoying to bot owners when they logged into the bot account and were suddenly hit with 100+ thanks notifications. But on the other hand, maybe that would actually be a nice experience, I dunno. Can you explain why you think it would be a good idea to allow thanks for bots (other than resolving the inconsistency)?

Change 463873 merged by jenkins-bot:
[mediawiki/extensions/Thanks@master] Use User::isBot() rather than rolling our own

https://gerrit.wikimedia.org/r/463873

SBisson subscribed.

Change 463873 merged by jenkins-bot:
[mediawiki/extensions/Thanks@master] Use User::isBot() rather than rolling our own

https://gerrit.wikimedia.org/r/463873

This patch was not related to the main subject of this task.

This very question occurred to me today—as an editor who doesn't own bots (wait till the abotlitionists get here!)—and @Xaosflux was very kind to point me to this ticket. So I'm chiming in.

As an owner of a newly created bot I am cautious to not do any harm — and thanks from other users would make me sure that I'm on the right track. Also, as a contributor I am often grateful to bot owners for running the tasks, but I have no instant way of thanking them: switching to the owners talk page in order to compose a wikilove message requires time that I might not have at that very moment.

Therefore, I'd like to ask something. Is it possible to reroute thanks to bot's edits, so that bot owner's account would receive it? Or is it too much to ask?

Therefore, I'd like to ask something. Is it possible to reroute thanks to bot's edits, so that bot owner's account would receive it? Or is it too much to ask?

Currently there is no way to accomplish this since there is no reliable way to associate a bot with an owner. This would be the ideal solution though.

Personally, I've run multiple bots for over 10 years and I've never logged into my bot accounts myself after they were initially set-up, so if people started thanking them, I would never see the thanks. But at the same time, it wouldn't negatively affect me either.