如果在特定频道中找到消息 Discord.net

if message found in specific channel Discord.net

你好,如果使用(onmsg 函数)在特定频道 ID 中创建消息,我会尝试获取通知。 (而机器人 运行)

我的代码。

  If message.Source = MessageSource.Bot Then
        'ignore
    Else

        Dim msg As String = message.Content

        If message.Content.Contains("hello") Then


            If discord.Channel.id = "123456789" Then

                'send message by bot to the channel
                'Await message.Channel.SendMessageAsync("Sended in correcctly channel")

                'get notification

                MessageBox.Show("Sended in correcctly channel")

            End If

        End If
    End If

problem i got

Severity Code Description Project File Line Suppression State Error BC30456 'Channel' is not a member of 'DiscordSocketClient'. Test C:\Users\diana\Desktop\Test\Test\Form1.vb 125 Active

正如线程评论中指出的那样,discord 指的是 OP 的 DiscordSocketClient,而后者又指的是当前的 bot 客户端;因此,Channel 的单个对象不可能存在,因为机器人可能可以访问其范围内的多个 "channels"。

OP 可能指的是消息到达的频道,即 message.Channel

此外,值得注意的是,在确定通道类型时,使用 Discord.Net 时可能会有多种变体,因为 polymorphic nature (e.g. a channel can be a voice, category, text channel and more; see glossary 了解更多详情)。

尽管在 OP 代码的上下文中,只有 ISocketMessageChannel 或其实现是可能的,因为消息只能发送到消息通道。尽管如此,提出这个问题的原因是更多获取频道的方法有时只能 return 和 IChannel,留下混淆为什么他们不能向这个频道发送消息。事实上,他们只需要(尝试)将频道转换为适当的类型(参见上面的词汇表)。