client.GetChannel(%channelID%) return 空

client.GetChannel(%channelID%) return null

Im creting discord bot via discord.Net v 1.0.2

而且我想从我的服务器获取特定频道 我试图通过 Client.GetChannel(%channelID%) 获取该频道(我的客户端是 属性 类型的 DiscordSocketClient bot class) 但那个方法 return 我只有空,我只是想不通为什么。我在互联网上搜索了很多类似的 post 但没有任何效果。有我的机器人的启动方法和我尝试获取频道的方法:

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);
}