有人可以帮我解决这段代码吗?在我再说什么之前,“ FillerId”实际上并没有出现在实际的代码中,而是由不和谐的文本通道的正确通道ID代替。我在此代码中遇到的错误是,每当我运行此函数时,它都会返回一条错误,指出在第170行中“ channel1为null”。我绝对确定我使用的是正确的频道ID。

*注意:作为参考,我在此代码上方将客户端定义为“ discord001”

private void CreateTimerWithOutput(string Message, int MonthWanted, int DayWanted)
{
    var channel1 = discord001.GetChannel(Fillerid);
    CreateTimer(400);
    whaddupTimer.Elapsed += new ElapsedEventHandler(NewYearsCheck);
    void NewYearsCheck(object sender, System.Timers.ElapsedEventArgs e)
    {
         DateTime today = DateTime.Today;
         if(today.Month != MonthWanted && today.Day != DayWanted)
         {
             channel1.SendMessage(Message);
         }
    }
}

最佳答案

确定已建立连接后,请确保正在运行此命令以及从Discord获取信息的任何其他方法。

我将所有信息(角色,频道,行会等)存储在“已连接”事件处理程序中,然后访问它们很容易。

关于c# - 为什么C#上的GetChannel返回空值? (discord bot),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43107119/

10-12 12:47
查看更多