我的 say 命令不断遇到错误,我不知道该怎么做,帮助会得到赞赏



所以我试图做一个say命令,如果我的服务器Discord开发团队的成员使用它,那么它会向公告频道发送一条消息。 它根本不会发送消息或删除消息 IM 使用 discord.py 和 Python 的重写 这是我的代码

@bot.command(pass_context=True) @commands.has_role('Manager') async def say(ctx, content): channel = ctx.guild.get_channel("714229744798925012") await channel.send(channel,content) await Message_delete(content)idk 为什么会发生这种情况还说经理 cos im 在上线之前在测试服务器上对其进行了测试

不能将要作为参数发送的文本传递给 @bot.command 函数。一般你用这个:

async def say(ctx, *args):

args 是消息(又名单词 ;-(的空格分隔子字符串的元组。例如

!say Hello world

将向您展示

args = ("Hello", "world")

要转换元组整数字符串,只需使用:

message = ""
message = ' '.join(args)

总共:

@bot.command(pass_context=True)
@commands.has_role('Manager')
async def say(ctx, *args):
message = ""
message = ' '.join(args)
channel = ctx.guild.get_channel("714229744798925012")
await channel.send(channel, message)

如果您希望添加命令以稍后删除消息,我建议存储其ID以供以后使用。

最新更新