Fix StopIteration error when chat filter active but not triggered

This commit is contained in:
Ben 2020-04-22 21:41:27 +01:00
parent e58f00171c
commit 052742b478

View File

@ -26,14 +26,14 @@ async def handle_send_message(p, penguin_id: int, message: str):
if p.server.chat_filter_words:
tokens = message.lower().split()
word, consequence = next(((w, c) for w, c in p.server.chat_filter_words.items() if w in tokens))
consequence = next((c for w, c in p.server.chat_filter_words.items() if w in tokens), None)
if consequence.ban:
return await moderator_ban(p, p.id, comment='Inappropriate language', message=message)
elif consequence.warn:
return
elif consequence.filter:
return
if consequence is not None:
if consequence.ban:
await moderator_ban(p, p.id, comment='Inappropriate language', message=message)
return
if consequence.filter:
return
if has_command_prefix(p.server.config.command_prefix, message):
await invoke_command_string(p.server.commands, p, message)