如果在特定频道中找到消息 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
,留下混淆为什么他们不能向这个频道发送消息。事实上,他们只需要(尝试)将频道转换为适当的类型(参见上面的词汇表)。
你好,如果使用(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
,留下混淆为什么他们不能向这个频道发送消息。事实上,他们只需要(尝试)将频道转换为适当的类型(参见上面的词汇表)。