detect help request with regex

This commit is contained in:
Infinidoge 2025-09-11 14:18:37 -04:00
parent 0966dc2ca3
commit d8135eb55d
Signed by: Infinidoge
SSH key fingerprint: SHA256:EMoPe5e2dO0gEvtBb2xkZTz5dkyL0rBmuiGTKG5s96E

View file

@ -9,6 +9,7 @@ import traceback
from contextlib import redirect_stdout
import disnake
import re2 as re
from disnake import Embed, Guild, Intents, Message, Thread
from disnake.ext import commands
from disnake.ext.commands import Bot, Paginator
@ -17,7 +18,7 @@ from dotenv import find_dotenv, load_dotenv
from .db import run_db_migrations, setup_db
from .notifications import Notifications
from .settings import Settings
from .utils import cleanup_code
from .utils import cleanup_code, contains
# Logger setup
logger_disnake = logging.getLogger("disnake")
@ -228,9 +229,11 @@ async def on_message(message: Message):
if now < timeout:
return
c = message.content.lower().split(" ")
mentions_nomen = contains(message, "nomen", False)
mentions_help = contains(message, "help", False)
asks_for_help = contains(message, r"how\b(\w+\b)+use\b(\w+\b)*nomen", True)
if "help" in c and "nomen" in c:
if (mentions_nomen and mentions_help) or asks_for_help:
help_timeouts[ctx.channel.id] = now + datetime.timedelta(minutes=5)
prefix = (await bot.get_guild_prefix(ctx.guild) if ctx.guild else DEFAULT_PREFIX) or "@nomen "
await message.reply(f"""\