diff --git a/bot.py b/bot.py index 05fba97..f08fdfa 100644 --- a/bot.py +++ b/bot.py @@ -1,6 +1,7 @@ import argparse import asyncio import datetime +import itertools import json import random import re @@ -320,7 +321,11 @@ def msg_ping(match: Match[str]) -> Response: @handle_message(r'.*\b(nano|linux|windows|emacs)\b', flags=re.IGNORECASE) def msg_gnu_please(match: Match[str]) -> Response: msg, word = match[3], match[4] - if f'GNU/{word}' in msg or f'gnu/{word}' in msg: + cases = { + f'{gnu}{sep}{word}' + for gnu, sep in itertools.product(('gnu', 'GNU'), '/+') + } + if msg in cases: return MessageResponse(match, f'YES! GNU/{esc(word)}') else: return MessageResponse(match, f"Um please, it's GNU/{esc(word)}!")