static void Main(string[] args) { container = BotRunnerBootstrapper.Init(); Bot bot = new Bot(); IResponder[] responders = container.ResolveAll <IResponder>(); foreach (var responder in responders) { bot.Responders.Add(responder); } var connect = bot.Connect(ConfigurationManager.AppSettings["SlackBotApiToken"]); while (Console.ReadLine() != "close") { } }
static void Main(string[] args) { container = BotRunnerBootstrapper.Init(); var bot = new Bot(); var responders = container.ResolveAll <IResponder>(); foreach (var responder in responders) { bot.Responders.Add(responder); } //Run the reaction Responder (Custom made because Margiebot responders only handle messages) ReactionResponder.Instance.HandleVotes(bot); var connect = bot.Connect(ConfigurationManager.AppSettings["SlackBotApiToken"]); while (Console.ReadLine() != "close") { } }
//public static List<IBot> GetBots() //{ // try // { // List<IBot> ap = new List<IBot> (); // var ass = GetAssemblies(); // if ( ass!=null && ass.Count>0) // { // foreach (var asm in ass) // { // // var myClassType = asm.GetTypes() // //.FirstOrDefault(t => t.GetCustomAttributes() // //.Any(a => a.GetType().Name == "BotAssemblyAtrribute")); // // if (myClassType != null) // { // var type = typeof(IBot); // Type t = asm.GetTypes().First(p => type.IsAssignableFrom(p)); // if ( t!=null) // { // ap.Add((IBot)t); // } // } // } // } // return ap; // } // catch (Exception ex) // { // return null; // } //} public async Task RunBots() { try { BotRunnerBootstrapper.BootStrap(); // Bots = BotRunnerBootstrapper.GetInstances<IBot>(null); /* Bots = BotRunnerBootstrapper.GetBots(); * if ( Bots!=null ) * { * foreach( var bot in Bots) * { * bot.ConfigureHostedONBotGearRunnder().GetAwaiter(); * bot.Start().GetAwaiter(); * } * } * await Task.Delay(-1);*/ } catch (Exception ex) { // return null; } }