public override void Execute() { User user = _persistance.GetUserFromIdent(_ident); if (!string.IsNullOrEmpty(user.Vhost)) { var vhostOperCommmand = VhostOperCommmand.SetVhost(_nick, user.Vhost); OperCommands.Add(vhostOperCommmand); } if (user.AutoJoin) { foreach (var group in user.Groups) { if (!string.IsNullOrEmpty(group.Channel)) { var sajoinOperCommmand = SajoinOperCommmand.SetSaJoin(_nick, group.Channel); OperCommands.Add(sajoinOperCommmand); if (group.GroupAdmins.Contains(user)) { var saModeOpsOperCommmand = SaModeOpsOperCommmand.SetSamode(_nick, group.Channel); OperCommands.Add(saModeOpsOperCommmand); } } } } }
public override void Execute() { User user = _persistance.GetUserInfo(Mapping[SetHostArguments.Username]); List <string> nicks = _ircReadWriteExchange.GetWhoList().Where(i => i.Ident == user.Name).Select(n => n.Nick).ToList(); if (nicks.Count == 0) { Messages.Add(string.Format("Can't change hostname, user {0} is currently offline", Mapping[SetHostArguments.Username])); } else { foreach (string nick in nicks) { var command = VhostOperCommmand.SetVhost(nick, user.Vhost); OperCommands.Add(command); } string processednicks = string.Join(" ,", nicks); Messages.Add(string.Format("Executing hostname change for user {0}, affected nick(s) {1}", Mapping[SetHostArguments.Username], processednicks)); } }