Pending Botmsg but in chatrooms

Basically, I'm suggesting adding a way to have messages that can be sent in a room without the regular client displaying them.

To be precise, a message with /^\/[^a-z/!?]/i will be sent as usual to the server (with the message itself being displayed differently, subject to usual chat restrictions), but clients that receive the message won't be shown the message. Instead, Bots can parse this. This behaviour is similar to the way /botmsg currently works, with the difference being that it's usable in chat while botmsg works in PMs (the messages being shown to the user is a QoL thing that I feel would be better, but isn't strictly necessary).

a) Drops visible spam in chat for Bots that support it
Screenshot 2021-09-01 at 12-54-22 [Logs] boardgames - Showdown .png
Screenshot 2021-09-01 at 13-06-42 hindi logs 2021-08-21.png

b) Improves ease-of-use for many commands that previously were required to be in PMs due to fear of being spammed in chat

c) Finally offers a better solution to deal with commonly-used informational commands

d) Lets room-relevant commands be used in the room they're intended for

I've spoken around with a ton of people to check out what they think of it, and most of the reactions have been positive, including those from roomstaff from various rooms and fellow bot developers.

The change itself would be opt-in, since the /(prefix) syntax is currently not used by any feature / used Bot, and wouldn't have any detrimental affects on the current user experience.

The reason the /, (for example) syntax is chosen is to mirror current PS syntax while also minimizing the length of excess characters to remember (which is why it's not something like botroommsg, for example).

The messages would still pass through the chat filter (since some Bots do rely on the chat filter to prohibit rulebreaking), and other staffing is regulated the same way as if a PS-native `/` command were used (if it's an unshown command, no one can see it; otherwise roomstaff can moderate as-needed)

As usual, if approved I can try giving it a stab (though I'll inevitably forget to remove a console.log somewhere)

PS: 3/4 of the screenshots here are from PartBot, but I'll attribute that to me being in most of his rooms. Some Bots that could benefit from this change include Ice Kyubs (Battle Dome), PartBot (Pokemon GO / Hindi / some secret stuff), Secura (1v1), and any Bot that currently uses PMs instead of chatrooms (to reduce spam) due to current constraints.
I do not see a clear advantage of this over just letting users PM the bot, could you care explaining why your suggestion is superior?

I'm also curious why a bot has to be designed to be responsive to reg commands in a public room. What can a user not achieve by PM'ing the bot? All bots could suffer from spam but in my observation those bots that ignore reg commands in public rooms work just fine.
One of the simplest examples I can give is for commands that store data per-room (the easiest example here I can give is a command that shows you the commands usable in a room). If a user PMs the command to a Bot, the Bot has no way to tell which room the user intends to ask about, nor does the user have any obvious way of sending the room they're talking about. For internal PS commands, this is simple to address, since users can use non-broadcasting commands in the room itself - Bots, on the other hand, currently have no way of achieving this, forcing users to use unwieldy syntax like `(prefix)leaderboard groupchat-botdevelopment-testing, top 50` instead of a simple syntax like `(prefix)leaderboard top 50`. As it stands, it's incredibly inconvenient for users trying to access data for personal use without either making a long PM redirection chain (which doesn't support any input at all from the user) [the way this works is by adding a button that sends a hidden message to the Bot in PMs with the context; the Bot then parses this PM message into a chat message and then runs the chat command, with an additional argument to specify that it was in the room and not an actual message, and then the display sends a private HTML box].

That sounds massively chaotic, which is the crux of the issue - there'ssimply no way to let users access Bot commands in chat without forcing them to broadcast.

Another issue is that commands that belong to a room should stay within the room itself; if there's a command that shows the information of an ongoing team tournament in Hindi, users expect to be able to see that in the Hindi room and not have to instead PM a bot which would then send info in PMs (and rightly so!)

Users Who Are Viewing This Thread (Users: 1, Guests: 0)