-
-
Notifications
You must be signed in to change notification settings - Fork 402
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add the ability to give OP's permission to use .blocks #1229
Comments
This could make a good feature PR for 6.6.0 if you're interested, @deathbybandaid. (Pro tip: use |
bookmarked to look at when I get some time |
I was taking a look at this,,, what are your opinions on leveraging the database in some way for more granular control? In my instance of sopel, commands must run trough a "preflight checklist" before running. This was decided for several reasons for the channels the bot is in. Things covered in that list (some of these are circumvented by running in privmsg to the bot):
If these criteria are met, then the module will run. |
I think the bot (as a whole) could benefit from a I think blocks should then utilize the database for channel specific blocks. |
I'm happy to use the database for permission storage, so any changes persist across restarts of Sopel, but the last thing the database needs right now is more queries. We already run into concurrency problems with the current set of DB-bound operations on busy channels and/or slow hosts (see #736) because SQLite is not great at handling concurrent accesses from multiple threads. For as long as SQLite remains Sopel's primary (and only, currently, but see endnote) supported database type, we should definitely try not to increase the load on the DB too much. So, right now I'm of this opinion: If such a system gets built out it must primarily use a data structure in I think a similar approach can work with what you're proposing, especially since Sopel already has a "memory" implemented. (Whether It's also worth pointing out that a system for (en|dis)abling modules and commands on a per-channel basis is already in the works. In #1235, @lenisko dropped in a config-based approach. Assuming it ships in 6.6.0 as currently planned, that would leave Sopel 7 wide open for big changes like adding back support for MySQL/PostgreSQL via SQLAlchemy (as proposed by @cerealcable in #736)—which in turn would make it less risky to add features that put more load on the database, like this proposal. (Yes, this issue too is marked for 6.6.0 currently, but if we do go with this database thing it'll get bumped.) |
Punting minor tweak that seems to be undecided exactly how it should be implemented. |
I'm going to make a decision: We shouldn't do this. Anyone who needs to manage blocks should be added to Sopel's admins list, rather than letting any chanop block people from using a bot across the whole server. |
I did a hacky patch to make this work.
The text was updated successfully, but these errors were encountered: