Example #1
0
        public override bool CheckPreconditions()
        {
            if (!base.CheckPreconditions())
            {
                return(false);
            }
            if (!_persistance.UserNameExists(Mapping[SetHostArguments.Username]))
            {
                Messages.Add(string.Format("Username {0} doesn't exists.", Mapping[SetHostArguments.Username]));
                return(false);
            }
            User user = _persistance.GetUserInfo(Mapping[SetHostArguments.Username]);

            if (string.IsNullOrEmpty(user.Vhost))
            {
                Messages.Add(string.Format("User {0} has no vhost set, use setvhost first", Mapping[SetHostArguments.Username]));
                return(false);
            }
            return(true);
        }
Example #2
0
        public override void Execute()
        {
            User user = _persistance.GetUserInfo(Mapping[SetAutoJoinArguments.Username]);

            if (user.AutoJoin)
            {
                _persistance.DisableAutoJoin(Mapping[SetAutoJoinArguments.Username]);
                Messages.Add(string.Format("Autojoin disabled for user {0}. Run the command again to enable.", Mapping[SetAutoJoinArguments.Username]));
            }
            else
            {
                _persistance.EnableAutoJoin(Mapping[SetAutoJoinArguments.Username]);
                Messages.Add(string.Format("Autojoin enabled for user {0}. Run the command again to disable.", Mapping[SetAutoJoinArguments.Username]));
            }
        }
Example #3
0
        public override void Execute()
        {
            User user = _persistance.GetUserInfo(Context.Ident);

            foreach (var group in user.Groups)
            {
                if (!string.IsNullOrEmpty(group.Channel))
                {
                    var sajoinCommand = SajoinOperCommmand.SetSaJoin(Context.User, group.Channel);
                    OperCommands.Add(sajoinCommand);
                    if (group.GroupAdmins.Contains(user))
                    {
                        var saModeCommand = SaModeOpsOperCommmand.SetSamode(Context.User, group.Channel);
                        OperCommands.Add(saModeCommand);
                    }
                }
            }
        }
Example #4
0
        public override void Execute()
        {
            string groups;
            User   user = _persistance.GetUserInfo(Mapping[ShowUserArguments.Username]);

            if (!user.Groups.Any())
            {
                groups = "No groups added";
            }
            else
            {
                groups = string.Join(", ", user.Groups.Select(s => s.GroupName));
            }
            string online = "Online: No";

            var info = _ircReadWriteExchange.GetWhoList().Where(u => String.Equals(u.Ident, Mapping[ShowUserArguments.Username], StringComparison.InvariantCultureIgnoreCase)).ToList();

            if (info.Any())
            {
                string nicks = string.Join(", ", info.Select(s => s.Nick));
                online = string.Format("Online: Yes, nick(s): {0}", nicks);
            }
            Messages.Add(string.Format("User information for {0}", user.Name));
            Messages.Add(online);
            Messages.Add(string.Format("Groups: {0}", groups));
            Messages.Add(string.Format("Oper rights: {0}", user.IsOper));
            Messages.Add(string.Format("Admin rights: {0}", user.IsAdmin));
            Messages.Add(string.Format("Autojoin: {0}", user.AutoJoin));
            string vhost = "No vhost defined";

            if (!string.IsNullOrEmpty(user.Vhost))
            {
                vhost = user.Vhost;
            }
            Messages.Add(string.Format("Vhost: {0}", vhost));
            Messages.Add(string.Format("Hosts: {0}", string.Join(", ", user.Hosts)));
        }