Ejemplo n.º 1
0
        protected virtual void OnPresenceStatusChanged(PresenceStatusChangedEventArgs e)
        {
            Trace.Call(e);

            if (PresenceStatusChanged != null)
            {
                PresenceStatusChanged(this, e);
            }

            var hooks = new HookRunner("engine", "protocol-manager", "on-presence-status-changed");

            hooks.EnvironmentVariables.Add("PRESENCE_STATUS_CHANGED_OLD_STATUS", e.OldStatus.ToString());
            hooks.EnvironmentVariables.Add("PRESENCE_STATUS_CHANGED_NEW_STATUS", e.NewStatus.ToString());
            hooks.EnvironmentVariables.Add("PRESENCE_STATUS_CHANGED_NEW_MESSAGE", e.NewMessage);
            hooks.Environments.Add(new ProtocolManagerHookEnvironment(this));

            var cmdChar = (string)Session.UserConfig["Interface/Entry/CommandCharacter"];

            hooks.Commands.Add(new SessionHookCommand(Session, Chat, cmdChar));
            hooks.Commands.Add(new ProtocolManagerHookCommand(this, Chat, cmdChar));

            // show time
            hooks.Init();
            hooks.Run();
        }
Ejemplo n.º 2
0
        public virtual void SetPresenceStatus(PresenceStatus status,
                                              string message)
        {
            var args = new PresenceStatusChangedEventArgs(_PresenceStatus,
                                                          status, message);

            _PresenceStatus = status;

            if (args.OldStatus != args.NewStatus)
            {
                OnPresenceStatusChanged(args);
            }
        }