Merge pull request #133 from xPMo/powerlevel

Allow passing custom power level to admin check
This commit is contained in:
Ville Ranki 2021-04-12 21:08:15 +03:00 committed by GitHub
commit f6571b8f26
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 5 deletions

9
bot.py
View File

@ -155,8 +155,8 @@ class Bot:
return None return None
# Throws exception if event sender is not a room admin # Throws exception if event sender is not a room admin
def must_be_admin(self, room, event): def must_be_admin(self, room, event, power_level=50):
if not self.is_admin(room, event): if not self.is_admin(room, event, power_level=power_level):
raise CommandRequiresAdmin raise CommandRequiresAdmin
# Throws exception if event sender is not a bot owner # Throws exception if event sender is not a bot owner
@ -166,13 +166,12 @@ class Bot:
# Returns true if event's sender has PL50 or more in the room event was sent in, # Returns true if event's sender has PL50 or more in the room event was sent in,
# or is bot owner # or is bot owner
# TODO: Make configurable def is_admin(self, room, event, power_level=50):
def is_admin(self, room, event):
if self.is_owner(event): if self.is_owner(event):
return True return True
if event.sender not in room.power_levels.users: if event.sender not in room.power_levels.users:
return False return False
return room.power_levels.users[event.sender] >= 50 return room.power_levels.users[event.sender] >= power_level
# Returns true if event's sender is owner of the bot # Returns true if event's sender is owner of the bot
def is_owner(self, event): def is_owner(self, event):