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

Posted

技术标签:

【中文标题】如何让我的不和谐机器人响应没有前缀的消息【英文标题】:How to let my discord bot respond to a message without a prefix 【发布时间】:2020-06-01 07:08:54 【问题描述】:

我是 C# 的新手,正在为我自己的服务器编写一个不和谐的机器人。我试图让我的机器人回复某人发送的消息(例如,有人说“染料”,而我的机器人会以“no u”回复,不需要前缀。

我一直在互联网上搜索,知道我需要类似于“收到消息的事件”的东西,但它一直说它不存在,或者我没有使用指令或程序集引用。 我不确定如何解决它或我做错了什么,因为我很新,而且我找不到解决方案。希望有人可以帮忙

【问题讨论】:

您应该向我们展示您到目前为止得到了什么和/或您收到了什么错误。 【参考方案1】:

所以我认为您要问的是让机器人检测何时说出某个短语然后做出回应。

假设您订阅了 MessageReceived 事件(每次在您的机器人所在的任何地方发送新消息时都会运行的事件)您将获得给定的 SocketMessage 并获得其内容属性。如果该属性与“no u”匹配,则让它在该频道中回复。为此,请通过以下方式获取上下文:

订阅 MessageRecieved 事件: _discord.messageRecieved += MessageReceivedEvent; //其中 _discord 是您的 DiscordClient,MessageReceivedEvent 是您在该事件上运行的任务

    public async Task MessageReceivedAsync(SocketMessage message)
    
        if(message.Content.equals("dye")
        
             message.Channel.SendMessageAsync("no u");
        
        //command implementation here
    

【讨论】:

以上是关于如何让我的不和谐机器人响应没有前缀的消息的主要内容,如果未能解决你的问题,请参考以下文章

Discord.py 机器人:如何让我的不和谐机器人向我发送对用户在 DM 中使用的命令的响应,例如进行调查?

如何让我的不和谐机器人只读取某个频道中的内容

如何让我的不和谐机器人在聊天中显示,例如“机器人正在打字”

如何让我的不和谐机器人列出某个角色的人?

如何让我的不和谐机器人只在聊天中工作?

如何让我的不和谐机器人检测嵌入的字段、标题字段和字段描述?