/// <summary> Unhooks IRC events so they are no longer handled. </summary> public void Unhook() { if (!hookedEvents) { return; } hookedEvents = false; userMap.Clear(); OnPlayerActionEvent.Unregister(HandlePlayerAction); OnShuttingDownEvent.Unregister(HandleShutdown); OnGroupLoadEvent.Unregister(HandleGroupLoad); OnChatEvent.Unregister(HandleChat); OnChatSysEvent.Unregister(HandleChatSys); OnChatFromEvent.Unregister(HandleChatFrom); // Regster events for incoming bot.connection.Listener.OnNick -= Listener_OnNick; bot.connection.Listener.OnRegistered -= Listener_OnRegistered; bot.connection.Listener.OnAction -= Listener_OnAction; bot.connection.Listener.OnPublic -= Listener_OnPublic; bot.connection.Listener.OnPrivate -= Listener_OnPrivate; bot.connection.Listener.OnError -= Listener_OnError; bot.connection.Listener.OnQuit -= Listener_OnQuit; bot.connection.Listener.OnJoin -= Listener_OnJoin; bot.connection.Listener.OnPart -= Listener_OnPart; bot.connection.Listener.OnDisconnected -= Listener_OnDisconnected; bot.connection.Listener.OnChannelModeChange -= Listener_OnChannelModeChange; bot.connection.Listener.OnNames -= Listener_OnNames; bot.connection.Listener.OnKick -= Listener_OnKick; bot.connection.Listener.OnKill -= Listener_OnKill; bot.connection.Listener.OnPrivateNotice -= Listener_OnPrivateNotice; }
/// <summary> Hooks IRC events so they are handled. </summary> public void Hook() { if (hookedEvents) { return; } hookedEvents = true; OnPlayerActionEvent.Register(HandlePlayerAction, Priority.Low); OnShuttingDownEvent.Register(HandleShutdown, Priority.Low); OnGroupLoadEvent.Register(HandleGroupLoad, Priority.Low); OnChatEvent.Register(HandleChat, Priority.Low); OnChatSysEvent.Register(HandleChatSys, Priority.Low); OnChatFromEvent.Register(HandleChatFrom, Priority.Low); // Regster events for incoming bot.connection.Listener.OnNick += Listener_OnNick; bot.connection.Listener.OnRegistered += Listener_OnRegistered; bot.connection.Listener.OnAction += Listener_OnAction; bot.connection.Listener.OnPublic += Listener_OnPublic; bot.connection.Listener.OnPrivate += Listener_OnPrivate; bot.connection.Listener.OnError += Listener_OnError; bot.connection.Listener.OnQuit += Listener_OnQuit; bot.connection.Listener.OnJoin += Listener_OnJoin; bot.connection.Listener.OnPart += Listener_OnPart; bot.connection.Listener.OnDisconnected += Listener_OnDisconnected; bot.connection.Listener.OnChannelModeChange += Listener_OnChannelModeChange; bot.connection.Listener.OnNames += Listener_OnNames; bot.connection.Listener.OnKick += Listener_OnKick; bot.connection.Listener.OnKill += Listener_OnKill; bot.connection.Listener.OnPrivateNotice += Listener_OnPrivateNotice; }
public override void Unload(bool shutdown) { OnPlayerConnectEvent.Unregister(ConnectHandler.HandleConnect); OnPlayerCommandEvent.Unregister(ChatHandler.HandleCommand); OnPlayerConnectingEvent.Unregister(ConnectingHandler.HandleConnecting); OnJoinedLevelEvent.Unregister(MiscHandlers.HandleOnJoinedLevel); OnPlayerMoveEvent.Unregister(MiscHandlers.HandlePlayerMove); OnPlayerClickEvent.Unregister(MiscHandlers.HandlePlayerClick); OnEcoTransactionEvent.Unregister(EcoHandlers.HandleEcoTransaction); OnModActionEvent.Unregister(ModActionHandler.HandleModAction); OnGroupLoadEvent.Unregister(MiscHandlers.HandleGroupLoad); Server.Background.Cancel(clearTask); }
public override void Load(bool startup) { OnPlayerConnectEvent.Register(ConnectHandler.HandleConnect, Priority.Critical); OnPlayerCommandEvent.Register(ChatHandler.HandleCommand, Priority.Critical); OnPlayerConnectingEvent.Register(ConnectingHandler.HandleConnecting, Priority.Critical); OnJoinedLevelEvent.Register(MiscHandlers.HandleOnJoinedLevel, Priority.Critical); OnPlayerMoveEvent.Register(MiscHandlers.HandlePlayerMove, Priority.Critical); OnPlayerClickEvent.Register(MiscHandlers.HandlePlayerClick, Priority.Critical); OnEcoTransactionEvent.Register(EcoHandlers.HandleEcoTransaction, Priority.Critical); OnModActionEvent.Register(ModActionHandler.HandleModAction, Priority.Critical); OnGroupLoadEvent.Register(MiscHandlers.HandleGroupLoad, Priority.Critical); clearTask = Server.Background.QueueRepeat(IPThrottler.CleanupTask, null, TimeSpan.FromMinutes(10)); }