【问题标题】:How do I make discord bot able to set text message for specific member?如何让不和谐机器人能够为特定成员设置短信?
【发布时间】:2019-07-27 06:14:37
【问题描述】:

我的英语不好,我是母语人士,但我希望我能解释一下我想要什么。 我试图让我的机器人能够为每个成员设置特定的文本,例如,如果我输入 !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! 我不希望这样,我希望人们能够设置自己的消息,而机器人将发送他们设置的消息。

【问题讨论】:

    标签: python-3.x discord.py-rewrite


    【解决方案1】:

    您可以创建一个将 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"))
    

    【讨论】:

      猜你喜欢
      • 2019-02-22
      • 2021-03-03
      • 1970-01-01
      • 1970-01-01
      • 2018-04-02
      • 1970-01-01
      • 2020-07-17
      • 2019-06-08
      • 2021-07-07
      相关资源
      最近更新 更多