Вывод сообщения в зависимости от добавленной реакции

Если упомянутый пользователь поставит реакцию ✅, то должен выполниться некий код. Если упомянутый пользователь поставит реакцию ?, то должно вывестись некое сообщение.

Первая функция работает, бот отправляет сообщение и ставит реакции.

<Command("test")>
<[Alias]("test1")>
<Summary("testing")>
Public Async Function TestAsync(Optional ByVal user As SocketGuildUser = Nothing) As Task

Dim msg = Await ReplyAsync(Context.User.Mention & " is waiting for " & $"{user.Mention}" & " answer")

 Dim yes As New Emoji("✅")
 Dim no As New Emoji("?")

 Await msg.AddReactionAsync(yes)
 Await msg.AddReactionAsync(no)

End Function

Для начала хотел сделать так, чтобы бот начал выводить сообщение на реакцию от любого человека, но код ниже не работает

Public Async Function Reply(Optional ByVal user As SocketGuildUser = Nothing, Optional message As SocketMessage = Nothing, Optional reaction As SocketReaction = Nothing) As Task

If message.Source = MessageSource.Bot Then

   Dim yes As New Emoji("✅")
   Dim no As New Emoji("?")

   'Советовали reaction.Emote.ToString.Equals("?"), но тоже не сработало

    If reaction.Emote.Name.Equals(yes) Then

     Await ReplyAsync("qwerty")

    ElseIf reaction.Emote.Name.Equals("?") Then

     Await ReplyAsync("ytrewq")

    End If

End If

End Function

Ответы (0 шт):