SocketChannel DiscordSocketClient.GetChannel(id) 返回 null 并给出正确的通道 ID

问题描述

标题所示。即使通道的 id 正确,Var 通道也会保持为空。

public class MyRegistry : Registry
    {
        public class Task : ModuleBase
        {
            public Task()
            {
                var channel = CommandHandler._discord.GetChannel(CHANNELS_ID);
                IMessageChannel chnl = channel as IMessageChannel;
                JobManager.AddJob(() => chnl.SendMessageAsync("test"),(s) => s.ToRunEvery(3).Seconds());
            }
        }
        static void Initializer()
        {
            JobManager.Initialize(new MyRegistry());
        }
    }

我也试过:

var channel = CommandHandler._discord.GetGuild(SERVERS_ID).GetChannel(CHANNELS_ID);

但它仍然为空,即使有有效的 ulog。 我应该如何吸引指定的频道?

解决方法

我不知道为什么,但跳过 SocketChannel 和 IMessageChannel 声明是有效的:

running