我怎样才能让不和谐的机器人说出用户说的不带前缀的东西

Posted

技术标签:

【中文标题】我怎样才能让不和谐的机器人说出用户说的不带前缀的东西【英文标题】:How can i make a discord bot say something a user says without prefix 【发布时间】:2021-04-06 01:19:26 【问题描述】:

我试图弄清楚如何让不和谐机器人说出特定用户所说的话。例如,如果我说一些一般性的话,机器人会说我在文本频道中说的话。我希望它是用户特定的,但我不知道如何在机器人中做到这一点。感谢回答这个问题的人。

【问题讨论】:

【参考方案1】:

您使用on_message(ctx) 事件。例如:

@client.event
async def on_message(ctx):
    message = ctx.content.lower()
    if 'hello' in message and ctx.author.id == MY_ID:
        await ctx.channel.send('Hey there!')

    await client.process_commands(ctx)

注意:await client.process_commands(ctx) 非常重要,没有它,你的所有命令都将不起作用。

MY_ID 是您的 Discord ID(整数值),因此机器人只会在作者 ID 等于您的 ID 时才会响应。

【讨论】:

我在寻找类似 say 命令的东西,但没有“say”部分。例如,如果我说“test123”之类的话,机器人会说“test123”。或者如果我说“python450”,机器人会说“python450”。基本上,我正在寻找的是一个说命令,但你不使用“说”部分,它只是说你发送的消息。 @LokeyNogts 喜欢这个? @client.event async def on_message(ctx): if ctx.author.id == MY_ID: await ctx.channel.send(ctx.content) await client.process_commands(ctx)这个功能会很烦人。 是的,这就是我想要的。谢谢你。

以上是关于我怎样才能让不和谐的机器人说出用户说的不带前缀的东西的主要内容,如果未能解决你的问题,请参考以下文章

如何让不和谐的机器人获取昵称而不是用户名?

如何让不和谐机器人在命令上创建频道

如何让不和谐机器人使用 discord.py 向消息添加表情符号反应?

如何让我的不和谐机器人响应没有前缀的消息

试图让不和谐机器人对某个频道内的所有消息做出反应

一种让不和谐机器人在设定的时间发送私人消息的方法?