public static int MassRankChange(Player player, Rank from, Rank to, bool silent) { if (player == null) { throw new ArgumentNullException("player"); } if (from == null) { throw new ArgumentNullException("from"); } if (to == null) { throw new ArgumentNullException("to"); } int affected = 0; lock ( AddLocker ) { foreach (PlayerInfo info in List) { if (info.Rank == from) { ModerationCommands.DoChangeRank(player, info, to, "~MassRank", silent, false); affected++; } } return(affected); } }
// Sets up all the command hooks internal static void Init() { ModerationCommands.Init(); BuildingCommands.Init(); InfoCommands.Init(); WorldCommands.Init(); ZoneCommands.Init(); MaintenanceCommands.Init(); ChatCommands.Init(); }
// Sets up all the command hooks internal static void Init() { ModerationCommands.Init(); BuildingCommands.Init(); InfoCommands.Init(); WorldCommands.Init(); ZoneCommands.Init(); MaintenanceCommands.Init(); ChatCommands.Init(); Logger.Log(LogType.Debug, "CommandManager: {0} commands registered ({1} hidden, {2} aliases)", Commands.Count, GetCommands(true).Length, Aliases.Count); }
public static async void RunCommand(DiscordClient client, CommandType type, string[] args, DiscordMessage message) { switch (type) { case CommandType.Warn: if (args.Length < 2) { return; } var moderator = await message.Channel.Guild.GetMemberAsync(message.Author.Id); try { var messageId = Convert.ToUInt64(args[0].TrimStart('<').TrimStart('@').TrimStart('!').TrimEnd('>')); var member = await message.Channel.Guild.GetMemberAsync(messageId); var reason = "Не указана"; if (args.Length > 2) { reason = ""; if (args.Length == 3) { reason = args[2]; } else { for (var i = 2; i < args.Length; ++i) { reason += args[i] + " "; } } } ModerationCommands.Warn(client, moderator, message.Channel.Guild, member, reason); } catch (FormatException) { await moderator.SendMessageAsync( $"{BotSettings.ErrorEmoji} Не удалось отправить предупреждение!"); } catch (NotFoundException) { await moderator.SendMessageAsync( $"{BotSettings.ErrorEmoji} Не удалось отправить предупреждение!"); } catch (Exception e) { var errChannel = message.Channel.Guild.GetChannel(BotSettings.ErrorLog); var msg = "**Команда:** warn\n" + $"**Канал:** {message.Channel}\n" + $"**Пользователь:** {moderator}\n" + $"**Исключение:** {e.GetType()}:{e.Message}\n" + $"**Трассировка стека:** \n```{e.StackTrace}```"; await errChannel.SendMessageAsync(msg); } return; } }