bool cmdToggle(VPServices app, Avatar who, string data, string key) { string msg = null; bool toggle; if ( data != "" ) { // Try to parse user given boolean; reject command on failure if ( !VPServices.TryParseBool(data, out toggle) ) return false; } else toggle = !who.GetSettingBool(key); who.SetSetting(key, toggle); switch (key) { case SettingGreetMe: msg = toggle ? msgGreetMe : msgGreetMeNot; break; case SettingShowGreets: msg = toggle ? msgShowGreets : msgHideGreets; break; } app.Notify(who.Session, msg); return Log.Debug(Name, "Toggled greet-me for {0} to {1}", who.Name, toggle); }
public static int Main(string[] args) { int exit = 0; // Set up logger new ConsoleLogger(); Console.WriteLine("### [{0}] Services is starting...", DateTime.Now); try { App = new VPServices(); App.SetupSettings(args); App.Setup(); while (true) { App.UpdateLoop(); } } catch (Exception e) { e.LogFullStackTrace(); exit = 1; } finally { App.Dispose(); } Console.WriteLine("### [{0}] Services is now exiting", DateTime.Now); return(exit); }
public static int Main(string[] args) { int exit = 0; // Set up logger new ConsoleLogger(); Console.WriteLine("### [{0}] Services is starting...", DateTime.Now); try { App = new VPServices(); App.SetupSettings(args); App.Setup(); while (true) App.UpdateLoop(); } catch (Exception e) { e.LogFullStackTrace(); exit = 1; } finally { App.Dispose(); } Console.WriteLine("### [{0}] Services is now exiting", DateTime.Now); return exit; }
public void Init(VPServices app, Instance bot) { app.Commands.AddRange(new[] { new Command ( "Greetings: Show/hide", "^greet(ing)?s?$", (o,e,a) => { return cmdToggle(o,e,a, SettingShowGreets); }, @"Toggles or sets whether or not the bot sends you user entry/exit messages", @"!greets `[true|false]`" ), new Command ( "Greetings: Greet me", "^greetme$", (o,e,a) => { return cmdToggle(o,e,a, SettingGreetMe); }, @"Toggles or sets whether or not the bot should announce your entry and exit to other users", @"!greetme `[true|false]`" ), }); app.AvatarEnter += (b,a) => { doGreet(b, a, true); }; app.AvatarLeave += (b,a) => { doGreet(b, a, false); }; }
void setupEvents(VPServices app) { // VP (outgoing) events app.AvatarEnter += onWorldEnter; app.AvatarLeave += onWorldLeave; app.Chat += onWorldChat; app.Bot.Console += onWorldConsole; // IRC (incoming) events irc.OnChannelMessage += onIRCMessage; irc.OnChannelAction += onIRCAction; irc.OnJoin += onIRCJoin; irc.OnPart += onIRCPart; irc.OnQuit += onIRCQuit; irc.OnKick += onIRCKick; irc.OnBan += onIRCBan; irc.OnNickChange += onIRCNick; // IRC error events irc.OnConnectionError += onIRCConnError; }
public static void Main(string[] args) { // Set up logger new ConsoleLogger(); init: try { App = new VPServices(); App.SetupSettings(args); App.Setup(); while (true) App.UpdateLoop(); } catch (Exception e) { e.LogFullStackTrace(); App.Dispose(); goto init; } }
public void Migrate(VPServices app, int target) { }