我正在寫一個IRC機器人,需要每隔幾分鐘就向該頻道做廣告。我用Timer做了一個嘗試,但它很雜亂,我無法將它粘貼到這裏,因爲它不可讀,我可以將整個文件的代碼發佈到pastebin。C#定時器和重複代碼
什麼需要被循環/定時以每5分鐘到信道發送:需要被髮送到信道,每10分鐘
public static void ChannelAdvertise(object sender, IrcEventArgs e)
{
string advertiseStream = "Live right now: ";
foreach (Monitor stream in streams)
{
if (stream.streamOnline)
{
advertiseStream += (char)3 + "03" + stream.nick +
(char)15 + " - " + stream.weblink() + " ";
}
}
irc.SendMessage(SendType.Message, e.Data.Channel,
advertiseString);
}
只是,一段代碼。任何幫助/指針將不勝感激。
class Bot
{
private static System.Timers.Timer advertiseTimer;
static void Main(string[] args)
{
advertiseTimer = new System.Timers.Timer(60000);
advertiseTimer.Elapsed += new ElapsedEventHandler(advertiseTimer_Elapsed);
advertiseTimer.Start();
}
public static void ChannelAdvertise(object sender, IrcEventArgs e)
{
string advertiseStream = "Live right now :";
foreach (Monitor stream in streams)
{
if (stream.streamOnline)
{
advertiseStream += (char)3 + "03" + stream.nick + (char)15 + " - " + stream.weblink() + " ";
}
irc.SendMessage(SendType.Message, e.Data.Channel, advertiseStream);
}
}
static void advertiseTimer_Elapsed(object sender, ElapsedEventArgs e)
{
ChannelAdvertise();
}
}
計時碼是更相關的比你所提供的代碼片斷的問題。無論如何,問題是什麼?你遇到什麼樣的問題? – Amy 2011-12-18 18:40:37
使用定時器有什麼問題?你是否得到錯誤,鎖定或什麼? – Strillo 2011-12-18 18:48:57
不,我不知道如何使用計時器每10分鐘發送一次該消息。 :/ – user1104783 2011-12-18 18:53:51