We all know it: bots that chat. There are also bots that flag, or perform other actions. And usually we like them for doing that, like our dear Smokey.

So every now and then, a new bot is created, and usually you would ask a question using that bot or suggest enough edits to get the reputation necessary for that bot to operate.

Instead of suggesting 100 edits, Undo has found a more efficient way, namely by awarding a bounty to a placeholder answer in the Sandbox.

Now someone could frown on this action or not, actually it is the least intrusive way to get the bot the reputation necessary (I guess no one really likes a bot to suggest 100 edits just for the sake of earning enough reputation).

The question is: is this actually the best way? Was this action allowed or should we look away because it is Smokey? Should we maybe have a special bot user status which derives the privileges from its master user? Anything else you want to share on this?


  • 8
    Shouldn't look away just because it's Smokey, there's not really anything special about it. Anything here should generalize to all bots, assuming the other rules are followed (don't use it to vote for yourself, etc.) – Undo Dec 15 '16 at 16:05
  • 8
    "special bot user status" - this is actually a great idea, provided that up/down voting is excluded from those users' priv list – John Dvorak Dec 15 '16 at 16:06
  • 2
    Generally speaking, bots should be a very very rare case here... if someone isn't willing to put their username to their actions, I question whether they should be letting a bot do said actions. – hichris123 Dec 15 '16 at 16:10
  • 3
    @hichris123 bot accounts are useful to prune inbox notifications, to attribute actions properly (bots can't stick tags to spam flags), to place authentication details where personal auth doesn't belong and perhaps other reasons. – John Dvorak Dec 15 '16 at 16:14
  • 1
    But there's a point where that becomes less valid, @JanDvorak. The more "risky" an action becomes, and the more "impact" it has on a site, I'd want to see it associated with an actual account and not just a placeholder account. – hichris123 Dec 15 '16 at 16:16
  • 1
    @hichris123 Technically, it is associated with an actual account. The account is still technically owned by a person, and they are responsible for it. Again, people are allowed to have multiple accounts, and they're allowed to use the API to perform actions with any of their accounts automatically, so having a bot account is allowed as a consequence of those two rules. The rules for what the owner can do with those two accounts is the same as the rules for any user with two accounts, namely that you can't do anything that you wouldn't be allowed to do with just one account. – Servy Dec 15 '16 at 16:17
  • 2
    Allowed, yes, @Servy, but I think if you're doing something with consequence to a site, you should at least have the amount of trust in your methods to run it under your own name. – hichris123 Dec 15 '16 at 16:19
  • 7
    @hichris123 the added wrinkle here is that the bot owner is a mod, running any sort of script like this with an account that has mod access is probably a bad idea. – ChrisF Dec 15 '16 at 16:20
  • 1
    Right, which is why you exclude your mod sites from the sites where said script would run @ChrisF. – hichris123 Dec 15 '16 at 16:21
  • 6
    @hichris123 somewhat difficult if you're a mod on SO and the site that would benefit most from the script is SO.... – ChrisF Dec 15 '16 at 16:22
  • 1
    @hichris123 SO also has moderators who see the vast majority of spam flags within seconds or minutes, so possibility for damage is far lower. Other sites simply don't have that. – Undo Dec 15 '16 at 16:26
  • 1
    @Servy I'm saying that if someone is going to do something like spam flagging, wherein it's a fairly extreme action, I would hope that they have enough confidence in their methods to put their name to their actions. Of course, they don't have to, but if they need to use another account I wonder how confident they are... – hichris123 Dec 15 '16 at 16:28
  • 11
    @hichris123 actually, if a sockpuppeteer bounties his bot, it creates a public link between the two accounts. When the bot merely answers enough questions to gain rep, the only such link is via the about page, and only if put there by the account owner. Bounties seem harder to abuse in this respect. – John Dvorak Dec 15 '16 at 16:43
  • 3
    @PeterDavidCarter A bot needs rep to interact with chat and to cast flags. Just like you do. If you have read the question and the rest of the comments that would have been already clear to you. – DavidPostill Jun 19 '17 at 17:32
  • 2
    @PeterDavidCarter Why are you asking me? I don't speak for Stack Exchange. Only the SE employees can answer such a question about any safeguards. – DavidPostill Jun 19 '17 at 17:37

As this is a discussion topic, let me just post the obvious thing.

Stack Exchange needs to have a process for requesting, granting, flagging, and revoking specific privileges to bot accounts.

Bots fall outside the scope that the rep system for human users is supposed to govern. Bots should not be allowed to vote on questions if it's not in their description, for example. And assigning a "reputation" to an account which is not supposed to interact directly with other users is just misleading and pointless.

  • 6
    I'm not saying this is likely to happen any time soon, but this seems like the obvious "answer". – tripleee Dec 16 '16 at 5:09
  • 1
    Somewhat less than obvious if you're literally doing it for one specific bot, that has over time proven itself bloody useful. How often would bot accounts need to be created, and how would that work? Would that be a mod or CM function? – Journeyman Geek Dec 16 '16 at 5:25
  • I don't know enough about the innards of the mod system to feel confident about the specifics, but sounds to me like a "secondary account" link would be a good first step to link a sock puppet to an existing user, and then you could opt to mark the secondary as "bot" as a one-time operation, and click the privileges it needs to have. Clicking those would submit a mod request for approval ... something like that? – tripleee Dec 16 '16 at 5:28
  • 1

I think it's stupid.

Of course, I'm not a big fan of bounties under any circumstances... But abusing the sandbox to get rep into a sockpuppet while preventing others from using it for its intended purpose is pretty clearly not a purpose bounties were ever intended to serve... Same goes for Protect.

I've revoked both.

If you want a sockpuppet to have reputation, then earn it. That's what I do with my sockpuppets, and I certainly have a lot more opportunities to abuse the system than y'all do. If you can't play it straight while creating your bot, what confidence can we have in the bot being honorable once it's up and running?

  • 14
    So you would recommend posting content with it? I stayed away from that due to evidence that Smokey's relatively high profile can unfairly inflate post scores. Also, with regard to the protection, I just left it the way I found it. – Undo Dec 15 '16 at 17:26
  • There, I posted an example for you. – Shog9 Dec 15 '16 at 17:27
  • 8
    If I understand correctly, the sandbox had been protected for quite a while, and Undo merely reinstated the status after removing it temporarily. I get removing Protected temporarily just to get the answer through is not kosher, though. – John Dvorak Dec 15 '16 at 17:30
  • @JanDvorak yeah, that was part of my earlier question that this spun off from. Shadow unprotected, and then Oded re-protected. – JAL Dec 15 '16 at 17:31
  • 7
    My usual reference for socks, @Jan. In many situations, this would've resulted in the sock being deleted, not just having a bounty revoked. We're being pretty tolerant of Undo here 'cause we like his work and know his heart's in the right place, but this was straight-up abuse. – Shog9 Dec 15 '16 at 17:32
  • @Shog9 if users are worried about non-genuine rep gain (from fans, maintainers, etc), do you think the cw approach outlined in my answer could be sustainable? – JAL Dec 15 '16 at 17:32
  • 3
    I... Think it's unnecessary, @JAL. Go answer a few JavaScript questions, or instruct some new folks on how these sites work. Notoriety may be a concern if you're Eric Lippert, but for a chat bot it's only an issue if all your votes are coming from the folks who use the bot... So don't tell them that you're answering questions, or ask them not to upvote. There are far, far more people who don't know who you are than who do. – Shog9 Dec 15 '16 at 17:49
  • 1
    To me editing is the probably the best way to get reputation for bots, @Undo has point that it is an issue to answer with a bot as SD. No offense but Smokey is a bit more visibile and appreciated then serious-human. The main point to me is that the bot account is not used for any voting, I'm still on the fence using them to flag (you must make sure you do not use you own account to flag also, when number of flags make a difference) – Petter Friberg Jul 19 '17 at 21:32
  • @Undo That's very fair. Jon Skeet's extremely high profile also inflates his post scores. – iBug says Reinstate Monica Sep 11 '18 at 12:49

Ask and Answer Questions

This is the most basic way to earn rep on any Stack Exchange site. If you are a bot owner, you are (likely) a power user in a few specific tags or technologies. Answer questions, post canonical Q&A pairs. If you have enough rep, you won't care about letting your bot account earn ~100 rep for your content in order to get the association bonus.

Without an official policy, edits (which have already been discussed) and actually posting content are really the only way to get the required rep.

As for the issue with "fans" or maintainers of the bot voting on the question not because of its quality, but because of the user, one possible solution to that would be to disassociate the bot user from the question(s) or answer(s) after the required rep has been earned (if this does not remove all of the rep earned or lost from the post. If it does, that's a separate issue and disassociation is not scalable for this purpose).

Since disassociation removes all rep gained and earned from the post at any point in time, another option would be to make the post(s) Community Wiki after the rep threshold has been reached. Again, a discussion would have to follow if this is considdered abuse or misuse of the Community Wiki feature.

  • 1
    The purpose of this meta post, I suppose, is to get an official policy allowing what was done – John Dvorak Dec 15 '16 at 16:07
  • 3
    @JanDvorak it seems like Patrick wants to generate discussion around this issue, so I've posted my opinion. A mod or Community Manager is more than welcome to post another answer. – JAL Dec 15 '16 at 16:08
  • 3
    I am open to any suggestion actually, but I think we know the status quo that is actually present, and keeping that doesn't feel like a real solution to me. – Patrick Hofman Dec 15 '16 at 16:08
  • 5
    Any visibility on the bot breaks the voting system to some extent. As I've argued before, this doesn't seem like a natural score. – Undo Dec 15 '16 at 16:12
  • @Undo that's a good point, I don't have an answer for that besides disassociating the account from the question after the required rep has been earned. – JAL Dec 15 '16 at 16:23
  • @JAL Suspect that throws away the rep earned from it, but I'm not sure. – Undo Dec 15 '16 at 16:39
  • @Undo Your suspicion is correct. – Servy Dec 15 '16 at 17:12
  • Been there, done that, discovered problems. Basically, having content attributed to a user who turns out to be a bot when you visit their profile is surprising to many users. The bot is unlikely to respond to pings to clarify details in "their" posts, and is usually impossible to contact other than by discovering who is running it, and then contacting them via their main account. – tripleee Dec 28 '20 at 13:36

There's a few precedents for this in terms of the chatbots we've had over time. While smokey's a little unique, both in terms of its management, and its role, I think many of the things people have done in the past with bots would work here. No chatbot on the site has actually earned its own way into chat by posting its own answers. There's always been human intervention.

Instead of suggesting 100 edits, Undo has found a more efficient way, namely by awarding a bounty to a placeholder answer in the Sandbox.

is a little abusive. While a hundred suggested edits is hard, there's ways to get them (superuser has tag fixups, and that's a good way to trickle in/find things that need editing). That said, the simplest thing to do would be to take smokey out and answer a question or two.

I just so happen to have a sock with 1600+ reputation off 4 answers on superuser. Granted, 1.5K of it was off a HNQ.

I stayed away from that due to evidence that Smokey's relatively high profile can unfairly inflate post scores.

Rename smokey while doing edits and answers on one of the other/smaller sites. No one's really going to check who a user is when they vote right?

(Though I wonder if 200 rep here associates. Then smokey can post an answer here and we might have a problem that solves itself through voting)

  • 1
    I had to look up HNQ (hit it and quit it) and it's still not completely transparent to me. – tripleee Dec 16 '16 at 5:00
  • 2
    Hot Network Question. Basically the stackexchange equivalent of hitting the reputation lottery. Amusingly, I was using this spare account on an untrusted laptop at work over lunch and saw this simple question I could answer and... oops. – Journeyman Geek Dec 16 '16 at 5:16

If we're being entirely technical, this kind of thing isn't allowed. It's using two accounts to give one of them access to privileges or tools it wouldn't otherwise have access to without some other form of effort (like writing a post).

If we're throwing some real practicality in, then as long as the bot isn't being used for the real nefarious stuff like sockpuppet upvoting or opinion inflation, and as long as this kind of thing doesn't become a regular thing, I don't see an issue. Ideally, there should also be a legitimate reason for needing to do it - like "we need access to X privilege for a project we're doing", rather than just "I want my bot to have rep".

While it is possible to write posts, these posts often get their voting inflated by the community behind the bot, particularly in the case of popular bots like Smokey. I'd argue that a one-off direct transfer via a bounty is better, because (a) someone pays for it, and (b) it doesn't unfairly displace other content because the voting on it is higher than it would otherwise be.

  • 6
    How would these "one-off direct transfer[s]" of reputation be regulated? Will these bounties need to be approved by moderators or the community team? – JAL Dec 15 '16 at 16:16
  • 3
    How about if there was a meta question for each bot which needs privileges, and users could vote up or down on that to communicate whether they think the bot is serving the community? – tripleee Dec 16 '16 at 5:24


Artifically increasing the reputation level grants the robot a level of moderation it simply did not earn. The users providing reputation may have earned it, but the bot did not, therefore the community has no reason to trust it with moderation powers.

However, we need to find a way to resolve this question because the rate of spam and abuse is increasing, and human moderation is linear, so we should enable users to make bots that have some ability or power - but they should also be held accountable for bots they deploy.

History of reputation

Reputation was originally intended to track closely with a person's ability to help others, through question and answer upvotes, and was designed from the start to provide opportunities to moderate content on the site as one gained reputation.

Eventually it was extended to other useful operations on the site, such as editing, but only in a very limited manner. Other desirable objectives are awarded using badges primarily to avoid turning reputation into a payment system of some sort.

When bounties were added they were very vigorously debated and ultimately designed to limit abuse so that reputation still largely represented a person's ability - and as they are currently used bounties aren't altering this because users typically only apply bounties to hard problems, and the users that answer these problems well are obviously deserving of their reputation.

Robot hasn't earned community's trust

All this leads to the conclusion that a robot, by the site's definition, that can't ask and answer questions without human aid, nor edit without human aid, cannot earn reputation.

If anything, reputation can only be given it - undeservedly so.

We don't award reputation for flagging. If that is the only value the robot has, then there is no way it could or should earn reputation.

Possible courses of action

As such I don't believe this is a valid course of action. If a robot is provably useful, then questions here on Meta should be used to bring up the usefulness and whether it can or should be integrated into stack overflow's code base.

Alternately, it may be worthwhile to take the tack of an existing robot - the community user. Stack Overflow may be willing to provide accounts with certain restricted abilities - and they may choose the easy way by providing reputation - or they may have hidden fields and flags that allow this for reputationless users. Regardless, this should still occur outside the normal reputation system, and the bot should not be treated as a user of any kind.

A third option is to convince the community of the utility of flagging, and provide reputation for flagging. In the past such proposals have failed, but if the level of spam is such that this is useful now, then it may be that it's worth revisiting. This will, however, have to allow users with 1 reputation to flag so a bot may then earn reputation doing what it can. Perhaps 1 rep for a good flag and -10 rep for a rejected flag, for instance.


At this point the bot should be guiding users to act, as it is currently doing, but automating actions should not be provided to the bot until it reaches the needed reputation level without human interference on its own.

Artificially increasing the reputation level grants the robot a level of moderation it simply did not earn. The users providing reputation may have earned it, but the bot did not, therefore the community has no reason to trust it with moderation powers.

  • 8
    We're in the process of doing this now, whether we can make Smokey a more properly incorporated part of the way we very quickly kill spam and trolling at scale. There are many wires, all of them varying shades of blue, it's going to take a bit of time. And that could result in us realizing that we just cant (which I think is a very remote possibility), but we think it's worth thoroughly looking into, and we've got 1.5 people working on it. An no, I'm not going to define how we manage to get .5 of a person, it's a very delicate thing. – Tim Post Dec 15 '16 at 16:55
  • 5
    @TimPost can someone drop into HQ and let us know what the current state of that project is? People keep saying it's in progress, and I appreciate that things move slowly in a company like SE, but having heard nothing for several months is frustrating. – ArtOfCode Dec 15 '16 at 16:57
  • 2
    "automating actions should not be provided to the bot until it reaches the needed reputation level without human interference on its own." How do you propose this happen? – Undo Dec 15 '16 at 17:00
  • @Undo This would be bot specific. Does the bot contribute meaningfully to the community in a way that earns reputation through normal processes? If not, then we either accept that the bot won't be able to gain the community's trust, or we look at the system and see if what the bot is doing has reputable value and the reputation earning system needs to be changed so the bot can earn it naturally. As I suggested in my answer, for this bot we'd have to look at giving reputation based on flagging. If not, then the bot simply can never obtain the trust of the community. – Pollyanna Dec 15 '16 at 17:03
  • 4
    @AdamDavis So you're suggesting that we completely rework the reputation system for one highly specialized project? As an SO mod, I can tell you that giving reputation for flags would be... a monumentally poor idea. – Undo Dec 15 '16 at 17:04
  • 9
    I reject the premise that the bot should be obligated to earn rep without human interference. You could of course argue over appropriate and inappropriate means of human interference (for example, giving bounties to other accounts you own is a violation of the rules, but asking questions with two accounts is not), but the idea that the account is obligated to either only ever be used by a human, or only ever be used by a bot, is not, and should not become, a requirement. – Servy Dec 15 '16 at 17:08
  • 1
    @JanDvorak Our moderators are already overburdened, and we don't need additional incentive for flagging. What needs to happen, instead, is the SO team needs to implement better heuristics to lighten the load for everyone - flaggers and moderators alike. This project is a good thing, but I don't think we should give it flagging powers - that simply moves the problem to the moderator's plate. Until it's proven itself it should only influence user actions - users who can put eyeballs on the questions themselves. – Pollyanna Dec 15 '16 at 17:08
  • 1
    @AdamDavis Flagging requires 15 rep. It is, inherently, an action that requires very little trust. There are also lots of tools in place to prevent abuse through flags, precisely because flags are assumed to be by users who aren't particularly trustworthy (or they'd be able to simply perform the action they're flagging about). Tools like rate limits, flag bans, etc. are all in place to deal with the fact that a user flagging a post isn't necessarily particularly trustworthy. – Servy Dec 15 '16 at 17:11
  • 1
    @JanDvorak So what happens if 100 people decide to "help" by setting up additional robots? Once we provide a legitimate path for them to do so, and say, "Smokey is allowed, and therefore the rest of you are as well" is only going to increase the moderator and team's workloads - not decrease. We can't be thinking short term with this, we have to decide on the rules for all robots, not just this one very good robot. – Pollyanna Dec 15 '16 at 17:13
  • 1
    @AdamDavis Smokey is pretty much irrevocably tied to me, personally, along with the rest of Charcoal. I'd gladly run this on my account, except that spam flags from me have the unhappy side effect of unilaterally nuking stuff. – Undo Dec 15 '16 at 17:13
  • 8
    @AdamDavis I'm a moderator on Stack Overflow. Running it on my account would be a very bad idea. However, I actually do think we could. We have mountains of data showing 99.8% accuracy with some clever combinations of reasons, and we haven't even started optimizing that yet. – Undo Dec 15 '16 at 17:14
  • 1
    @Servy We're talking about changing the rules, aren't we? If not, then we already know that moving reputation from one account to a sockpuppet is against the rules, so if you're going to appeal to the rules, then the premise itself is invalid. – Pollyanna Dec 15 '16 at 17:15
  • 1
    @AdamDavis Are we? I see the question as simply asking how, under the current rules, they should earn enough rep for a second account, that they happen to have plans to be a bot, should earn its rep. If we, as a community, feel that a rule change may be warranted in order to provide an answer to that question that we all like, then that discussion can happen. But yes, I'm well aware that gifting rep to another account of yours is a violation of the rules. Posting a question or answer and getting a few votes, or proposing a few edits, on the other hand, is not a violation of the rules. – Servy Dec 15 '16 at 17:18
  • 2
    Thanks for your input, @Adam. If you're ever curious, we make all that data publicly accessible. – Undo Dec 15 '16 at 17:18
  • 1
    So this can't be a one-off thing, we really need to determine how to resolve this in the long run for all possible future bots. – Pollyanna Dec 15 '16 at 17:24

You must log in to answer this question.

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