你是怎么做到在 discord.py 中嵌入介绍的?
How do you make it so there is an introduction embed in discord.py?
例如:
假设这是每个新机器人用户的介绍嵌入:
假设有 BEG、HELP、WORK 等命令以及此机器人支持的所有这些命令...但是如果您是新的机器人用户并且您键入“(前缀)beg”,您将不会乞求,相反,你会得到上面显示的这个嵌入,因为你是新的。然后就可以正常使用bot了...
你会怎么做?
你能使用类似的东西吗:
@client.event
async def on_new_user():
await ctx.send(embed=introduction_embed)
或者有什么不同的方法吗?我如何确保每个用户都先看到这个介绍嵌入,并确保他们只看到一次?我正在使用 python 开发一个不和谐的机器人。将不胜感激一些帮助!非常感谢
像这样:
on_command
是 运行 当找到命令时,如果我用 before_invoke
装饰它,我可以在发送嵌入后引发错误,防止命令 运行 第一次为每个用户。不过,如何存储用户取决于您。
CommandError 被捕获并传递到 on_command_error
事件。
registered_users = []
@bot.before_invoke
@bot.event
async def on_command(ctx):
global registered_users
if ctx.author not in registered_users:
registered_users.append(ctx.author)
embed = discord.Embed(
color=discord.Colour.random(),
title="WELCOME",
description="welcome message",
)
await ctx.send(embed=embed)
raise commands.CommandError("Error")
例如:
假设这是每个新机器人用户的介绍嵌入:
假设有 BEG、HELP、WORK 等命令以及此机器人支持的所有这些命令...但是如果您是新的机器人用户并且您键入“(前缀)beg”,您将不会乞求,相反,你会得到上面显示的这个嵌入,因为你是新的。然后就可以正常使用bot了...
你会怎么做?
你能使用类似的东西吗:
@client.event
async def on_new_user():
await ctx.send(embed=introduction_embed)
或者有什么不同的方法吗?我如何确保每个用户都先看到这个介绍嵌入,并确保他们只看到一次?我正在使用 python 开发一个不和谐的机器人。将不胜感激一些帮助!非常感谢
像这样:
on_command
是 运行 当找到命令时,如果我用 before_invoke
装饰它,我可以在发送嵌入后引发错误,防止命令 运行 第一次为每个用户。不过,如何存储用户取决于您。
CommandError 被捕获并传递到 on_command_error
事件。
registered_users = []
@bot.before_invoke
@bot.event
async def on_command(ctx):
global registered_users
if ctx.author not in registered_users:
registered_users.append(ctx.author)
embed = discord.Embed(
color=discord.Colour.random(),
title="WELCOME",
description="welcome message",
)
await ctx.send(embed=embed)
raise commands.CommandError("Error")