add automatic help message
This commit is contained in:
parent
cbe17c1bab
commit
684ba106d4
1 changed files with 47 additions and 0 deletions
|
@ -1,3 +1,4 @@
|
||||||
|
import datetime
|
||||||
import io
|
import io
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
@ -7,6 +8,7 @@ import textwrap
|
||||||
import traceback
|
import traceback
|
||||||
from contextlib import redirect_stdout
|
from contextlib import redirect_stdout
|
||||||
|
|
||||||
|
import disnake
|
||||||
from disnake import Embed, Guild, Intents, Message, Thread
|
from disnake import Embed, Guild, Intents, Message, Thread
|
||||||
from disnake.ext import commands
|
from disnake.ext import commands
|
||||||
from disnake.ext.commands import Bot, Paginator
|
from disnake.ext.commands import Bot, Paginator
|
||||||
|
@ -189,6 +191,51 @@ async def on_error(event, *args, **kwargs):
|
||||||
log.error(f"Error in event {event}.\nargs={pargs}\nkwargs={pkwargs}", exc_info=sys.exc_info())
|
log.error(f"Error in event {event}.\nargs={pargs}\nkwargs={pkwargs}", exc_info=sys.exc_info())
|
||||||
|
|
||||||
|
|
||||||
|
help_timeouts = {}
|
||||||
|
|
||||||
|
|
||||||
|
@bot.listen()
|
||||||
|
async def on_message(message: Message):
|
||||||
|
if message.author == bot.user:
|
||||||
|
return
|
||||||
|
|
||||||
|
ctx = await bot.get_context(message)
|
||||||
|
if ctx.valid:
|
||||||
|
return
|
||||||
|
|
||||||
|
now = disnake.utils.utcnow()
|
||||||
|
if timeout := help_timeouts.get(ctx.channel.id, None):
|
||||||
|
if now < timeout:
|
||||||
|
return
|
||||||
|
|
||||||
|
c = message.content.lower()
|
||||||
|
prefix = await bot.get_guild_prefix(ctx.guild) or "@nomen "
|
||||||
|
|
||||||
|
if "help" in c and "nomen" in c:
|
||||||
|
help_timeouts[ctx.channel.id] = now + datetime.timedelta(minutes=5)
|
||||||
|
await message.reply(f"""\
|
||||||
|
Heya!
|
||||||
|
|
||||||
|
- To add a keyword, use the command `{prefix}keyword add <words here>`
|
||||||
|
(`{prefix}keyword` can be shortened to `{prefix}kw`)
|
||||||
|
- To remove a keyword, use `{prefix}keyword remove <keyword>`
|
||||||
|
- To view all of your keywords, use `{prefix}keyword list`
|
||||||
|
- To ignore a person/channel/category, use `{prefix}keyword ignore <target>`
|
||||||
|
To unignore, `{prefix}keyword unignore <target>`
|
||||||
|
- To block a person across all servers, `{prefix}keyword block <target>`
|
||||||
|
To unblock, `{prefix}keyword unblock <target>`
|
||||||
|
- To pause/unpause notifications in a server, use `{prefix}keyword pause`/`{prefix}keyword unpause`
|
||||||
|
|
||||||
|
For other commands, see `{prefix}help`. Use `{prefix}help <command>` for detailed help.
|
||||||
|
|
||||||
|
If you are familiar with the Dusty bot (almost) all commands for Dusty work with Nomen, just replace `>` with `{prefix}`.
|
||||||
|
If you already have keywords in Dusty, you can import them into Nomen easily by:
|
||||||
|
1. Use `>notif list` to get your list of keywords from Dusty
|
||||||
|
2. Copy the list (**without the header/title**)
|
||||||
|
3. Run `{prefix}nomen import <paste list here>`
|
||||||
|
""")
|
||||||
|
|
||||||
|
|
||||||
@bot.command(hidden=True)
|
@bot.command(hidden=True)
|
||||||
@commands.is_owner()
|
@commands.is_owner()
|
||||||
async def echo(ctx, arg):
|
async def echo(ctx, arg):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue