Page MenuHomePhabricator

Some bots' bot flags are not recognized by Special:RecentChanges
Open, Needs TriagePublic

Description

Some bots with a bot flag are treated as "Human (not bot)" by Special:RecentChanges. Examples on en-wp include User:HostBot, User:XLinkBot and, most prominently, User:ClueBot NG. I'll attach one screenshot that shows ClueBot NG's edits with the "Human (not bot)" filter and one that shows that ClueBot NG's edits don't get displayed with a bot flag although ClueBot NG has the bot flag while another bot's edit gets displayed correctly a few lines down.

20190109-RecentChanges1.png (838×1 px, 101 KB)
20190109-RecentChanges2.png (764×1 px, 115 KB)

Compare also this discussion where I first raised the issue regarding HostBot.

Event Timeline

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

How do you know that those bots actually passed the bot parameter in their API requests?

The filter is not whether the account is in the bot user group or has the bot user right. If the bot does not assert the bot flag on its edits, then the edits are not considered bot edits in RC (or watchlists). This is WAI.

ClueBot and other antivandalism bots intentionally do not assert the bot flag so that their edits get review by humans.

I don't (I wasn't aware that there's a difference between user right and API requst parameter), but the discussion on Jtmorgan's talk page that I linked to shows me asking them about it regarding HostBot. Unless Jtmorgan misunderstood my question, HostBot, at least, should pass that parameter.

@Huon @Nemo_bis I wasn't aware of the bot parameter, but I can make that change for HostBot.

@Nemo_bis @JJMC89 Jtmorgan just said that HostBot does pass the relevant parameter. I'm not an expert and just relaying information here; I'd appreciate it if you could take a look.

(I'm not an expert.) I don't see why the edits aren't being marked as bot based on HostBot's code.

None of HostBot's recent edits are marked as bot in the database though.

SQL query
MariaDB [enwiki_p]> select count(*) `count` from recentchanges where rc_user_text = 'HostBot' and rc_bot = 1; 
+-------+
| count |
+-------+
|     0 |
+-------+
1 row in set (5.69 sec)