private void Instance_OnAck(object sender, SlackEventArgs e) { using (StreamWriter sw = new StreamWriter("log.txt", true)) { sw.WriteLine(string.Format("{0} Ack : {1}", DateTime.Now, e.Data.ToJson())); } }
private void ProcessEvent(SlackEventArgs eventArg) { ProcessEventLog(eventArg); switch (eventArg.Data.Type) { case "message": ProcessEventMessage(Accessor.Deserialize <Message>(eventArg.Data.ToJson())); break; case "hello": break; case "reconnect_url": break; case "channel_marked": break; case "error": break; case "user_typing": break; default: break; } }
private void ProcessEventLog(SlackEventArgs eventArg) { if (System.IO.File.Exists(LOGFILE)) { System.IO.FileInfo fi = new System.IO.FileInfo(LOGFILE); if (fi.Length > 100000) { if (System.IO.File.Exists(LOGFILE + ".backup")) { System.IO.File.Delete(LOGFILE + ".backup"); } System.IO.File.Move(LOGFILE, LOGFILE + ".backup"); } } using (StreamWriter sw = new StreamWriter(LOGFILE, true)) { sw.WriteLine(string.Format("{0} Event : {1} [{2}]", DateTime.Now, eventArg.Data.ToJson()), eventArg.Data.ToString()); } }
static void Instance_OnEvent(object sender, SlackEventArgs e) { var instance = sender as Slack; if (e.Data.Type == "hello") { Console.WriteLine("Connected to '{0}' as '{1}'", instance.TeamInfo.Name, instance.Self.Name); foreach (var c in instance.JoinedChannels) { Console.WriteLine("Member of: {0}", c.Name); } //instance.SendMessage("#botspam", "Whoo! Spam from a bot!"); } else if (e.Data.Type == "message") { var message = e.Data as Message; Console.WriteLine(SubstituteMarkup(message.ToString(), instance)); } else { Console.WriteLine(e.Data.Type); Console.WriteLine(">{0}", e.Data); } }
private void Instance_OnEvent1(object sender, SlackEventArgs e) { ProcessEvent(e); }
static void slack_OnEvent(object sender, SlackEventArgs e) { try { var instance = sender as Slack; var network = Singleton <NetworkData> .Instance; if (!Idlefuncs.ContainsKey(instance) || !Idlefuncs[instance].IsAlive) { Idlefuncs[instance] = new Thread(new ThreadStart(IdleFunc(instance))); Idlefuncs[instance].Start(); } //LogglyInst.Log(e.Data); if (e.Data.Type == "hello") { Console.WriteLine(string.Format("Connected to {0}.", instance.TeamInfo.Name)); var settings = PersistentSingleton <Settings> .Instance; if (!settings.HasDoneIntroSpiel) { var channel = instance.PrimaryChannel.IsMember ? instance.PrimaryChannel : instance.JoinedChannels.FirstOrDefault(); HelpCommand.Introduce(instance, channel); PersistentSingleton <Settings> .Save(); } } if (e.Data is Message) { network.Refresh(); var message = e.Data as Message; if (message.Hidden) { return; } var substMessage = SubstituteMarkup(message.Text, sender as Slack); Console.WriteLine(SubstituteMarkup(message.ToString(), sender as Slack)); if (message.User == instance.Self.Id) { return; } bool targeted = substMessage.StartsWith(string.Concat("@", instance.Self.Name), StringComparison.InvariantCultureIgnoreCase); if (message.Channel[0] == 'D') { targeted = true; } foreach (var cmd in Commands) { bool fired = cmd.Run(substMessage, message, targeted, instance); if (fired) { return; } } // Leave this one here for now /* **** * Restart. * ****/ var pmatch = Regex.Match( SubstituteMarkup(message.Text, sender as Slack), @"Re(start|boot)", RegexOptions.IgnoreCase); if (targeted && pmatch.Success) { instance.SendMessage(message.Channel, "Rebooting!"); Running = false; } } } catch (Exception c) { Console.WriteLine("!An Error has been caught!\n{0}", c); } }
private void Slack_OnAck(object sender, SlackEventArgs e) { var ack = (e.Data as Ack); }