2017-03-30 6 views
1

コードのこのセクションで誰も助けてくれますか?私が他の何かを言う前に、 "FillerId"は実際には実際のコードにはなく、それはdiscordテキストチャンネルの正しいチャンネルIDに置き換えられます。私がこのコードで得ているエラーは、この関数を実行するたびに、170行目の "channel1 is null"というエラーが返されるということです。正しいチャンネルIDを使用していることは間違いありません。なぜC#でGetChannelがnull値を返すのですか? (不和なボット)

*注:参考のために私は、「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); 
     } 
    } 
} 
+0

こんにちは、FillerIdは赤い下線があります。これは、エラーがGetChannelメソッドにあることを意味します。あなたはあなたが持っている正確なエラーを与えるべきです。 –

+0

「FillerId」が最初に存在するはずではないため、FillerIdには下線が引かれています。実際のコードでは、その場所に "1235391"のような数字のセットを入れました。私はちょうどそれをすべて書きたいとは思わなかったし、実際のコードを手に入れていなかった。基本的に、エラーはコードのその部分にはありません。私はそれを100%確信しています。私が実際の数字を記入するとき、下線はありません。さらに注意しておきたいのは、コードの他の部分で行161と行170を別々に使用するのではなく、意図したとおりに動作させることです。 – Cat76

答えて

0

あなたが特定された後、接続が持っているあなたは、このコマンドを実行していることを確認し、確執から情報を取得する任意の他の方法してくださいされました。

私は「接続」イベントハンドラ内のすべての情報(役割、チャネル、ギルドなど)を保存し、それらへのアクセスが簡単だった..

関連する問題