Как разрешить моему боту разногласия отвечать на сообщение без префикса - PullRequest
0 голосов
/ 17 февраля 2020

Я довольно новичок в C# и кодирую бот-диск для моего собственного сервера. Я пытаюсь заставить своего бота отвечать на сообщение, отправленное кем-то (например, кто-то говорит «краситель», и мой бот отвечает «нет» без префикса.

Я искал по всему inte rnet и знаю, что мне нужно что-то в духе «события получения сообщений», но он все время говорит, что его не существует или я не использую директиву или ссылку на сборку. Я не уверен, как это исправить это или что я делаю не так, так как я совсем новичок, и я не могу найти решение. Надеюсь, кто-то может помочь

1 Ответ

0 голосов
/ 27 марта 2020

Поэтому я думаю, что вы спрашиваете, чтобы бот обнаружил, когда определенная фраза произнесена, а затем ответил.

Предполагается, что вы подписаны на событие MessageReceived (событие, которое запускается каждый раз, когда отправляется новое сообщение). где бы ни находился ваш бот) Вы получаете данное SocketMessage и получаете его контентное свойство. Если это свойство совпадает с "no u", просто отправьте ответ на этом канале. Для этого получите контекст через что-то вроде этого:

Подписаться на событие MessageRecкид: _discord.messageRectained + = MessageReceivedEvent; // где _discord - ваш DiscordClient, а MessageReceivedEvent - ваша задача для выполнения этого события

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