查看如何将消息发送到特定频道。在搜索之后,它似乎并不复杂,但是由于某种原因,在这种情况下通道返回null,因此,在使用对象引用时,该对象引用未设置为对象错误的实例。该ID应该是正确的,所以我不太确定出什么问题。
[Command("say")]
public async Task sayAsync([Remainder] string message)
{
DiscordSocketClient client = new DiscordSocketClient();
ulong channelID = 123456789123456789; //Example ID
var channel = client.GetChannel(channelID) as SocketTextChannel;
await channel.SendMessageAsync(message);
}
答案 0 :(得分:2)
如果有人发现了这个问题,我会把我找到的答案放在不和谐的API不和谐中。
我犯了一个错误,那就是创建一个新客户并试图在其中寻找渠道。
DiscordSocketClient client = new DiscordSocketClient();
我应该一直在使用用于连接的客户端,因此
var client = Context.Client;
是解决此问题所需的全部内容。