You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We had a good start to this in #1235 (see #64 [!] for the original request). What's been frustrating to us, and to users, is the obtuse way of configuring the feature.
Sopel really needs a way to manage these that is more similar to how .blocks works—an interactive method that can work via IRC, and stores its data in the cfg file using some reasonable data structure that's easy (or easier) to edit by hand than:
No one likes defining, basically, literal Python objects in the cfg file, nor digging around in plugins to find the function names of commands or other rules (handlers) to disable. (Like really, how is a normal user supposed to find the name 'title_auto' if they want to turn off URL auto-title in only a channel or three?)
Ideally, this feature would allow listing all the handlers in a given plugin (or tie into another feature that does so), and accept IRC commands from the bot owner/admins like .channel #nameofchan plugin someplugin off, .channel #someotherchan command title off (interface obviously subject to change).
Alternatives
We could double down on the existing system and config format instead, but I wouldn't recommend it.
Notes
There's no real reason this couldn't live in the database, rather than the config file. It's a natural candidate for the channel_values table, not that that wouldn't come with its own set of challenges.
Especially for stuff that's meant to be live-editable at runtime, I would rather not use the config file. We have too many other concerns with that when the bot modifies it, e.g. comments are removed (#1691).
The text was updated successfully, but these errors were encountered:
A revised implementation should support both disabling specific commands/entire plugins and enabling only specific commands/plugins for a given channel
It would be nice to get this built out for 8.1 in a way that can coexist with the current implementation until it gets dropped in 9.0, but I also strongly suspect that we wouldn't hear too many complaints about a hard transition even in a minor release. The current implementation is very annoying to use…
Requested Feature
We had a good start to this in #1235 (see #64 [!] for the original request). What's been frustrating to us, and to users, is the obtuse way of configuring the feature.
Sopel really needs a way to manage these that is more similar to how
.blocks
works—an interactive method that can work via IRC, and stores its data in the cfg file using some reasonable data structure that's easy (or easier) to edit by hand than:Problems Solved
No one likes defining, basically, literal Python objects in the cfg file, nor digging around in plugins to find the function names of commands or other rules (handlers) to disable. (Like really, how is a normal user supposed to find the name
'title_auto'
if they want to turn off URL auto-title in only a channel or three?)Ideally, this feature would allow listing all the handlers in a given plugin (or tie into another feature that does so), and accept IRC commands from the bot owner/admins like
.channel #nameofchan plugin someplugin off
,.channel #someotherchan command title off
(interface obviously subject to change).Alternatives
We could double down on the existing system and config format instead, but I wouldn't recommend it.
Notes
There's no real reason this couldn't live in the database, rather than the config file. It's a natural candidate for the
channel_values
table, not that that wouldn't come with its own set of challenges.Especially for stuff that's meant to be live-editable at runtime, I would rather not use the config file. We have too many other concerns with that when the bot modifies it, e.g. comments are removed (#1691).
The text was updated successfully, but these errors were encountered: