如何让 discord bot 能够为特定成员设置短信?

How do I make discord bot able to set text message for specific member?

我的英语不好,我是母语人士,但我希望我能解释我想要的。 我试图让我的机器人能够为每个成员设置特定的文本,例如,如果我输入 !setmsg Hello world!机器人会将消息设置为 Hello world!,如果我输入 !message 它将发送 Hello world!

但问题是每个输入 !message 的人都会收到 Hello world!我不要那个! 请帮忙,谢谢!

m = ""
@x.command()
@commands.has_role('Admin')
async def setmsg(ctx, msg:str):
    global m
    m = msg
    await ctx.send('set message to '+m)

@x.command()
@commands.has_role('Admin')
async def message(ctx):
    global m
    await ctx.send(m)

输入 !message 的每个人也会收到 Hello world! 我不想这样,我希望人们能够设置自己的消息,而机器人将发送他们设置的消息。

您可以创建一个将 ID 映射到消息的字典:

messages = {}

@x.command()
@commands.has_role('Admin')
async def setmsg(ctx, *, msg:str):
    messages[ctx.author.id] = msg
    await ctx.send('set message to ' + msg)

@x.command()
@commands.has_role('Admin')
async def message(ctx):
    await ctx.send(messages.get(ctx.author.id, "Default Message"))