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

时间:2020-02-17 10:56:49

标签: discord discord.net

我对C#相当陌生,正在为自己的服务器编写一个discord bot。我正在尝试让我的漫游器响应某人发送的消息(例如,某人说“染料”,而我的漫游器将以“ no u”响应,而无需前缀。

我一直在Internet上进行搜索,并且知道我需要“消息已接收事件”的内容,但它一直说它不存在,或者我没有使用指令或程序集引用。 由于我很新,我不确定如何解决它或做错了什么,而且找不到解决方案。希望有人能帮忙

1 个答案:

答案 0 :(得分:0)

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

假定您已订阅MessageReceived事件(每次在您的漫游器所在的位置发送新消息时都会运行的事件),您将获得给定的SocketMessage并获取其content属性。如果该属性匹配“ 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
    }