FoglyOgly / Meowth

A Discord helper bot for Pokemon Go communities.
GNU General Public License v3.0
119 stars 96 forks source link

Request: Allow recieving commands from Bots/Webhooks #172

Closed fortepc closed 6 years ago

fortepc commented 6 years ago

Desired functionality

I'd like a config option (disabled by default for security) for Meowth to be able to receive commands from a Bot or a Webhook the same way it can from a person.

Uses of functionality

I envision two specific use cases for this.

1) To allow automated configuration of this bot by a helper bot. There have been projects popping up to allow non-tech savvy users to set up a discord server effectively. A helper bot that lets uses follow a server template. This particular use case would require meowth to be able to be configurable in the server rather than just in DMs though.

2) To allow for picking up from chat bridges. (For example https://github.com/Bjornskjald/miscord/ and https://github.com/TediCross/TediCross). While those users can't participate in the raid coordination channels, it at least lets them report the wild/raid/research for discord uses to receive the notifications and use the list commands as well.

6-lasers commented 6 years ago

Part of our design philosophy is that Meowth does not and will not accept commands from bots. This is not functionality that we will ever implement.

Regarding your suggested use cases:

  1. Someone still has to configure the helper bot, though, so that doesn't really save any effort. If anything, we could add common configuration templates directly to Meowth and let people select those.

  2. Unfortunately, we have no plans to support chat bridges at this time.

fortepc commented 6 years ago

Response to 1. There are definitely implementations where it would save effort and confusion such as creating the regional channels, setting up the roles & permissions for them, then automatically assigning meowth to them. Where as it is now, the helper bot would be able to create the channels and configure the roles & permissions for them, the user would still have to be able to set them up inside of Meowth's configuration themselves, which in the flow of creating a server from scratch can be confusing for non-techsavy users.

The current best idea / method is to prompt the user "What regional channels would you like to set up?" the user gives the bot a comma separated list, the Helper bot would then create the channels/roles/perms, then tell the user exactly what to tell Meowth to do to finish setting them up. "HelperBot: In order to set up Meowth, you'll need to do this part yourself. type !configure in this channel, then do X Y Z when Meowth sends you a direct message" But even that for the non-techsavy leaves a lot of room for confusion

fortepc commented 6 years ago
  1. Unfortunate, but understandable
doonce commented 6 years ago

You can do 1 now as it doesn't require the bot to run any Meowth commands if the user types !configure. You would just have to write a bot that can set permissions, make channels, etc. We might have a solution in the works to make permissions easier.

fortepc commented 6 years ago

The point is that the helper bot is configured to have a template it follows, user adds the bot to the server and immediatly kicks into action prompting the user to select which template to use, asking in n00b friendly language for things that are individual server specific (Like the city/state/country for the server's coverage area, the different sub regions for the server to cover, etc) then it creats the all roles/categories/channels, set the permissions/roles, including the regional channels, then now the bot has to walk the user through configuring Meowth to use those regional channels, and all the other Meowth specific configuration, where ideally it could get the configuration options from the helper bot.

On Sun, Apr 22, 2018, 10:18 AM BrenenP notifications@github.com wrote:

You can do 1 now as it doesn't require the bot to run any Meowth commands if the user types !configure. You would just have to write a bot that can set permissions, make channels, etc. We might have a solution in the works to make permissions easier.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/FoglyOgly/Meowth/issues/172#issuecomment-383384845, or mute the thread https://github.com/notifications/unsubscribe-auth/AY8C4WY4_l1IUI7ulAfF_uD7P94qKCi4ks5trJFSgaJpZM4TY1tl .

fortepc commented 6 years ago

I totally understand the concern with bots controlling Meowth though, maybe instead of letting the bot control Meowth the same way a user does, maybe if the Meowth bot could load configurations from a JSON/YAML file? The helper bot could generate the JSON/YAML and instruct the user to send it to the bot some how. Walking a user through a single command is much less n00b error prone than trying to walk them through entire the set up process of Meowth.

Wouldn't help a bridge usecase, but a self hosted version of Meowth is probably the best solution to that anyway.

doonce commented 6 years ago

I honestly don't understand what you mean. We already walk the user through with !configure. Meowth now sets its own permissions needed in the reporting channels as well. All a user would have to do is read the messages in !configure. I don't see how a template would be useful because each server will be different.

Regardless, if your helper bot is going to walk a user through the !configure command, it wouldnt need to be able to use Meowth commands for that.

fortepc commented 6 years ago

Because some users need more help than others. The more things you can automate, the easier on the user. Walking a user through sending a single command to a bot is much less error prone than attempting to walk the user through the entire meowth setup process.

Fair enough though. Obviously not enough of a benefit to be worth it for you guys.