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); }
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])); } }
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); } } } }
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))); }