Q:

Should bots not speak unless they are spoken to?

Our friendly RebolBot got flagged for the first time, apparently for an automated greeting.  Another bot was taken down for (among other reasons cited) speaking without spoken to:

Is it the case that bots shouldn't speak unless they're spoken to?
From a technical angle, I can understand the potential for infinite chatter if bots talk without provocation.  But bots are there to add missing features to SO chat, which is still not open source...e.g. I can't (make fixed font code a reply [cough, hint, hint]).  Tying the hands of bot authors to define their rooms makes it harder to accept the constraints.
If the no-speaking-out-of-turn policy stands, I really will miss the notification of when users-not-before-seen join and having a little thumbnail show up.  It's helpful to know the tags in which they are active.  But this kind of feature would be prohibited under a blanket "no bot posts without provocation rule".  An articulated policy would be hepful.

A:

It's been a while since this problem previously arose. I gave my two cents there, but people (cough Benjamin Gruenmbaum cough) asked for it again. What's my opinion on the matter? Let me tell you a story...
Once upon a time there was a chatroom whose topic happened to be javascript. People came and people left, people asked questions, got answers, sometimes got annoyed and sometimes laughed. A community formed in that chatroom, a pretty...odd community, to say the least, but a helpful one nonetheless. Since javascript is a rather popular language (ever heard of browsers?), there was always an influx of new users. These users were oftentimes new to stackoverflow in general, so they came with some annoying habits from other social sites. A lot of times, their first message(s) was:

Anyone here?
(Can|May) I ask a question?
Does anyone know anything about {subject}?
Can anyone help me with {subject}?
@randomRoomMember Can you help me with {subject}?

And many more of the sort. This was a source of annoyance, as they were useless questions. Instead of spending time on an actual problem, we had to explain that yes, you may ask questions, but it'd be better off to just ask a question instead of posting a primer. After all, we want to help you, and if you ping user FooBar asking for help and he doesn't reply, what, the rest can't help? And we don't know if we can help with {subject}, you haven't asked anything yet! And so forth.
So the community of programmers were annoyed about a problem and did absolutely nothing about it.
The End.
Wait, what? That can't be right! There's a problem...why not fix it!? The princess didn't wake up, say "oh, it's just a pea in my mattress..." and went back to sleep. Well, she did, but if she had half a brain, she would've woken up, said "why the hell is there a pea under my mattress?" and got rid of it! And that's where our story actually continues...
I remember one sunny day, barely 10 months ago, that Benjamin Gruenbaum came to the chat and said:

@Zirak RebolBot detects new room users and sends them a link to the room FAQ, "Welcome to the Rebol and Red room. See our FAQ" do you think it's a good feature? (source)

Mind you that by then, there's been a bot running for quite a while. That seemed like a good idea, it was implemented, and lo and behold: The number of newcomers asking the annoying questions above was reduced to almost zero.
The End.
Gotcha, not there yet! We were asked (or rather, told) to turn off the auto-welcome. This has been...a bit annoying. We left the basic command, so we don't have to type the "welcome to the user, please don't ask to ask, blah blah" message, just invoke a bot command, but why would we have to do it in the first place? We had a problem, the solution was pretty good and popular, we never received a complaint from an end-user.
In conclusion:

From your experience, there seems to have been no problem.
From our experience ripping off of your system, there's been no problem.

So no problem, right? We can turn on the auto-welcome again?
P.S. Thank you Rebol Room bot creators for inspiring our auto-welcome, and sorry for all the mess.

A:

There's some prior discussion here: What should be the limits for chat bots interacting with regular users?
The general consensus is that bots don't need special rules - they just need to follow common chat etiquette, which is basically: don't be annoying. Your bot can go ahead and speak when not spoken to, and greet people, as long as it isn't annoying.
The prior culprit was different: ChatBot John Cavil
The bot rlemon brought up was ChatBot John Cavil. The context of why that bot was told to have its greeting removed is important here. Here's the message where @balpha asks them to disable the greeting:

@allquixotic Please disable the greeting. Annoying every user joining the official Super User room and pretending that a bot that calculates fuckability is an official part of the chat is not acceptable. If someone knows about the bot and talks to it fine, but an auto-greeting is crossing the line. And please reconsider the /fuckable command. 

The main issue here was that this was Super User's core, official room, where there are also going to be a lot of people coming and going. This is different to your situation, where you just have one bot sitting in your own private room.
Then there was that other command. I'm going to assume that's not an issue here. Nothing more really needs to be said about that, nor will be.
So should your bot greet people?
Up to you.
It's not annoying to your regulars, but then again, those who found the bot annoying enough probably didn't become regulars, so you're left with the people who either enjoy the welcome messages or can put up with them.
So the test probably is: Are you okay with your bot annoying a significant (but unknown) portion of users, who may or may not visit your room? If so, its greeting is fine.
Would you prefer not to annoy those people? Then get it to say a much more concise welcome, without a onebox or any extra commentary, or don't have a greeting at all.
Personally, if you brought that bot to a room I frequent, I would not find its greeting message acceptable on any level. But that's just me. It's not in any room I use, and I'm not in any room your bot uses.

