CactusDev / CactusBot

An open source, community-written service-agnostic chat bot
MIT License
30 stars 6 forks source link

Multi-Message Custom Commands #181

Open Alkali-Metal opened 7 years ago

Alkali-Metal commented 7 years ago

What I was thinking for this was the ability to make the bot send up to three messages when a custom command is run. The way I was thinking would be implemented would be something similar to !command add Test --M1 This is #1, !command add Test --2 This is #2, then !command add Test --3 This is #3 what that would do is make the !test command return the following (See lowest code block). The reason this would be helpful is if you are making a command response which is longer than that services character limit (for some reason) it would allow for the possibility of the entire response in one command rather than needing to have different sections in entirely different commands


[Alkali] !Test
[CactusBotAlpha] This is #1
[CactusBotAlpha] This is #2
[CactusBotAlpha] This is #3
2Cubed commented 7 years ago

Interesting idea. We have this functionality in magic commands... but we actually chose not to include this in custom commands for a specific reason. TL;DR: Spam.

If people are able to make responses contain multiple messages, there's nothing stopping them from making commands that are overly spammy themselves. And while this is an issue for the streamer's chat cleanliness, it's also a major issue for us, too. If we send too many messages in a short period of time, we can easily get all bots timed out from the service... and although this feature doesn't necessarily mean that will happen, it certainly makes it a lot easier for mods/streamers to make it happen, regardless of intention.

kondrik commented 7 years ago

I like the idea of being able to do something similar.. something like a command that executes another command while sending a message to the chat:

!command add !raidhost Let's go raid %ARG1%! || /host %ARG1|tag%

With the result of posting the raid message to the chat, then (optionally with a delay?) hosting the target channel.

RE: The issue of posting too quickly - maybe have a forced minimum delay between messages to prevent that.

Alkali-Metal commented 7 years ago

Also with the delay thing, there could be a forced time between those commands being run. So like, you would NEED to wait about 2-3 minutes before !Test could be run again (Or however long you three feels good)