From 6ecae3b261900db9c5dfc97b8b2b56b3835a65d9 Mon Sep 17 00:00:00 2001 From: jesopo Date: Tue, 28 Aug 2018 18:16:19 +0100 Subject: Add the ability to only require authentication if your nickname is registered --- modules/permissions.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'modules/permissions.py') diff --git a/modules/permissions.py b/modules/permissions.py index b2d7c6dc..3baa61e2 100644 --- a/modules/permissions.py +++ b/modules/permissions.py @@ -1,6 +1,9 @@ import base64, os import scrypt +REQUIRES_IDENTIFY = ("You need to be identified to use that command " + "(/msg %s register | /msg %s identify)") + class Module(object): def __init__(self, bot): self.bot = bot @@ -90,8 +93,12 @@ class Module(object): event["stderr"].write("You are not logged in") def preprocess_command(self, event): + authentication = event["user"].get_setting("authentication", None) permission = event["hook"].kwargs.get("permission", None) authenticated = event["hook"].kwargs.get("authenticated", False) + protect_registered = event["hook"].kwargs.get("protect_registered", + False) + if permission: identified = event["user"].identified user_permissions = event["user"].get_setting("permissions", []) @@ -101,9 +108,12 @@ class Module(object): return "You do not have permission to do that" elif authenticated: if not event["user"].identified: - return ("You need to be identified to use that command " - "(/msg %s register | /msg %s identify)" % ( - event["server"].nickname, event["server"].nickname)) + return REQUIRES_IDENTIFY % (event["server"].nickname, + event["server"].nickname) + elif protect_registered: + if authentication and not event["user"].identified: + return REQUIRES_IDENTIFY % (event["server"].nickname, + event["server"].nickname) def my_permissions(self, event): permissions = event["user"].get_setting("permissions", []) -- cgit v1.3.1-10-gc9f91