-3

Recently, a discussion came up in our internal Charcoal team (requires access) as to autoflags and pinging users whose accounts are used to cast automatic flags that are later deemed to have been incorrectly cast. Right now, the bot attempts to ping users who've cast such flags, so that those users can go and retract those flags so that they don't count toward the post being automatically deleted. However, if a user isn't pingable in our primary chat room or doesn't have a chat profile (or it was deleted), they won't receive the alert. At least a few users have expressed that not being able to ping the involved users is a problem in the linked internal discussion.

After I saw the discussion, I remembered that the chat system does have a feature that allows pinging users even if they aren't pingable in a room and even if they don't have a chat profile, called "super-pinging". However, to use it, the user must be a moderator on the network, meaning that one of Charcoal's bot accounts (don't remember which exact one) needs to have moderator privileges to use it. (As Makyen commented, Charcoal isn't seeking this; this is just an example.)

Per the general policy on alternate accounts and privileges, if one wants an alternate account (e.g. a bot account) to have privileges, the account must earn those privileges in its own right, rather than through the help of one's main account. This makes sense for reputation-based privileges. But what about bot accounts that require moderator privileges in order to perform their tasks? Currently, the policy means that such bots will need to be elected as site moderators in their own right, but this goes against the purpose of elections (to fill slots in a team of moderators).

Wikipedia has a special process to have bot accounts gain administrative privileges; such accounts aren't required to go through the general voting process for new prospective administrators. Does SE have a special process for moderator rights for bots? Are bots with moderator privileges allowed to operate on SE sites?

Note that I'm looking for a general answer, rather than one primarily focused on the example. Also, to be clear, moderator privileges would only be granted to bot accounts if the bot's owner is already a moderator.

17
  • 1
    A couple alternate solutions to the specific example were proposed in the internal discussion: to invite the user, or to start a new room with the user. However, neither of those work if the user doesn't have a chat profile. Even disregarding that, the former won't work if the user was previously invited and never responded to the invitation (chat invitations can't be reissued if pending and never expire), and the latter would only create a bunch of junk rooms which will not be seen if the user wasn't active for 7 days, when the room is deleted. Superpinging is the best solution. – Sonic the Anonymous Hedgehog Jun 6 at 22:56
  • 3
    Not a full answer, just my opinion: I don't trust any bot on the network with a diamond. Not only is there the potential for extreme abuse if mishandled, but, to quote Cody Gray on MSO, "The fundamental premise of moderation on Stack Overflow is that it's done by the community—either directly, or by elected representatives". Personally, I don't care how useful it may be, that isn't something I'm comfortable with on the network – caird coinheringaahing Jun 6 at 22:57
  • 3
    @cairdcoinheringaahing Would requiring bot owners to already be mods themselves if they want their bot to have a diamond resolve this concern? – Sonic the Anonymous Hedgehog Jun 6 at 22:59
  • 1
    No - see the linked MSO post. Moderators are the "select few" that we as communities trust more than anyone else, their tools are extremely powerful and should never be in the hands of something or someone who doesn't earn that respect and trust – caird coinheringaahing Jun 6 at 23:00
  • 1
    Why not just have an existing moderator run a script that uses their account to do the superpings? That doesn't require a separate bot account – Redwolf Programs Jun 6 at 23:22
  • 21
    THIS QUESTION IS NOT A REQUEST FROM THE CHARCOAL TEAM. Superpinging and a bot having mod privileges was never even mentioned on the (unanswered) question in the Charcoal team, which was asked earlier today. I should also note that the question in the Charcoal Team has had little participation from members of the team and is actually someone inquiring if Charcoal should require users who sign up for autoflagging to be pingable in chat (so they can be easily informed by the existing SmokeDetector bot if there's a problem). – Makyen Jun 6 at 23:29
  • 2
    @Makyen As the question states, "I thought [super-pinging] would be useful in this case". – Sonic the Anonymous Hedgehog Jun 6 at 23:39
  • 15
    @SonictheAnonymousHedgehog I understand that you thought it might be useful, but don't drag us into it. The way you've presented this, it sounds like Charcoal is seriously considering, or at least discussed internally and thought it might be useful to have SmokeDetector have moderator privileges, at least in chat. Charcoal DOES NOT want SmokeDetector to have moderator capabilities. The possibility was not brought up on the question you link. Any time the possibility has been mentioned in passing in other discussions it has always been immediately shot down by us. – Makyen Jun 6 at 23:46
  • 2
    Correction: The question in the Charcoal Team was asked a month ago, on 2021-05-06, not today. – Makyen Jun 6 at 23:50
  • 16
    The bot would have to be 18 years old to be a mod :/ – Laurel Jun 7 at 1:05
  • "if a user isn't pingable in our primary chat room". If the user has sent 1 message in chat can't you ping the user by replying to one of the user's messages? – Peilonrayz 2 days ago
  • @Peilonrayz Finding the last message by the user programatically would be difficult. Also, the ping needs to be in the end of the message, and needs to work for multiple users, not just one. Finally, it doesn't work if the user's prior chat profile is deleted. – Sonic the Anonymous Hedgehog 2 days ago
  • @SonictheAnonymousHedgehog why would the bot have to reply to the last message? Hint: You can reply to any message, so if you have a command to enable the feature, all's good. If you really want to enable the feature where the ping goes doesn't really matter. – Peilonrayz 2 days ago
  • @Peilonrayz The same things in the "also" still apply: the ping needs to be in a spot different from the beginning, needs to work for multiple users, and needs to work even if the chat profile is deleted (deleted users' messages can't be replied to). – Sonic the Anonymous Hedgehog 2 days ago
  • @Sonic Finding the last message by a user in a chatroom isn't all that difficult. It would take an additional AJAX call per user and add dependencies. The ping doesn't need to work for multiple users in the same message, nor is it necessary for the ping syntax to not be at the beginning of the message. Those are how it's currently implemented, but they're not hard requirements. It's not a reasonable trade-off to require a step-up to moderator capabilities in order to superping instead of doing extra work to implement something substantially effective which doesn't need that capability. – Makyen 2 hours ago
20

No, bots should never be given moderation powers. This exact discussion came up on MSO 3 years ago: Should moderators run automated bots under their accounts?, and I think the top-voted answer by Cody Gray is still completely representative of my beliefs on this stance:

The fundamental premise of moderation on Stack Overflow is that it's done by the community—either directly, or by elected representatives. [Moderators were] elected; not [their] bots. Moreover, I'm extremely uncomfortable with the idea of giving moderator privileges to a bot, no matter how accurate it has statistically been.

Furthermore, if the only moderator privilege that this bot needs would be superpings, then it should especially not be given mod tools. This seems like giving something a nuclear weapon when all it needs is a hammer. No matter how useful this would be, it's not worth giving an automated account the same powers as the users we trust the most. Potentially, it could be worth investigating with the staff if the bot can only be given the ability to superping, but that seems like a different

6
  • 1
    Decided to convert my comment into an answer - I think this is important enough – caird coinheringaahing Jun 6 at 23:11
  • 4
    The TL has a tool that allows you to summon mods from any site and it seems like it has the ability to superping / send an inbox notification (it doesn't even actually leave an @@<id> message in chat) - this may be possible to implement elsewhere, and would certainly be a much better idea than handing over a diamond just to notify people. – hyper-neutrino Jun 6 at 23:26
  • 2
    Superpinging as a higher rep or explicit privilege would be an idea/option but that has potential issues on its own IMO – Journeyman Geek Jun 6 at 23:35
  • 2
    @hyper-neutrino Super-pings render as normal pings in chat. You can only see that it's a super-ping if you look at the plain Markdown text of the message. – Sonic the Anonymous Hedgehog Jun 6 at 23:50
  • 1
    @SonictheAnonymousHedgehog I know that. Also, you can see superpings in the starboard. But the feed tool that we use in TL doesn't leave any sort of message, it just said "summoned <a>, <b>, etc" with nothing looking like a ping. I don't know how it works, but it's a much better idea. – hyper-neutrino Jun 6 at 23:54
  • 5
    Cody was correct when I was elected and the answer is still correct today. Since that post, Stack Exchange has built something similar to reduce the number of unfriendly comments. This is EXACTLY what I wanted when I built the bot initially. A great PoC for something that could be expanded to the entire network. This means the "bot" is part of the SE system. That is where the mod powers for the automation should lie. – Andy Jun 7 at 1:03
9

Even with good intent - should the bot go out of control, someone's going to be annoyed.

Moderation powers should be used for Official moderation purposes, and in general, bots should have separation from the original user where practicable IMO.

There's also the question of who runs the bot - we certainly shouldn't share mod accounts, so we have a single point of failure and the mod needs to be the one running and responsible for the bot. If said mod quits,... you need to find another one. You also need to make it clear that the pings are on behalf of charcoal and not the mod entirely. This is... complicated.

Historically we have had one of the SO mods stop using an autoflagging bot on election.

Recently, a discussion came up in our internal Charcoal team (requires access) as to autoflags and pinging users whose accounts are used to cast automatic flags that are later deemed to have been incorrectly cast.

Quite bluntly - while probably extra complicated to do, this ought to be done within the framework of SmokeDetector and its extensions. It's very much an 'internal' issue, and having some way to poll for incorrect flags and letting the 'client' side know and do it (or informing the local mods) seems better than having a mod use their mod powers to be a messenger. The moderator in question is also a potential single point of failure. The best solution is to build the required functionality into the tools in question.

9

Moderator accounts have access to PII, and sharing that access with other people would be a violation of the mod agreement. So this kind of bot would always have to be under the sole control of an actual moderator, and no other people (even other moderators) can have access to these credentials. This makes this rather difficult to implement in practice for a general-purpose bot.

The moderator ping is for official moderator duties only. This is not a special mod-only behaviour for the regular ping, it's an entirely separate feature. Pinging users with the bot this way isn't strictly speaking an official moderator duty, so this would not be allowed under the current rules.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .