我通过 discord.Net v 1.0.2 创建不和谐机器人
我想从我的服务器获取特定的通道,我试图通过Client.GetChannel(%channelID%)
获取该通道(客户端是我的机器人类中 DiscordSocketClient 类型的属性(,但该方法只返回我 null,我只是不知道为什么。我在互联网上搜索了很多类似的帖子,但没有任何效果。我的机器人有启动方法和我试图获取频道的方法:
public async Task StartAsync()
{
await Client.StartAsync();
Client.MessageReceived += Client_MessageReceived;
Client.Connected += Client_Connected;
Logger.WriteLog("Bot started");
await Task.Delay(-1);
}
private async Task Client_Connected()
{
var channel = Client.GetChannel(414543303187496962);
}
请改用Client.Ready
事件处理程序,并确保机器人确实在该特定通道中,并且这次应该可以工作。
所以它看起来像这样:
public async Task StartAsync()
{
await Client.StartAsync();
Client.MessageReceived += Client_MessageReceived;
Client.Ready += Client_Ready;
Logger.WriteLog("Bot started");
await Task.Delay(-1);
}
private async Task Client_Ready()
{
var channel = Client.GetChannel(414543303187496962);
}