From d969dcbbbd6bb5700e9c5a3ad9da35f0025a86f7 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Tue, 13 Sep 2016 18:12:27 +0200 Subject: [PATCH 001/135] Roll commands done. Draw commands done. Untested. --- .../Modules/Administration/Administration.cs | 6 +- .../Modules/ClashOfClans/ClashOfClans.cs | 14 +- .../Gambling/Commands/DiceRollCommand.cs | 262 +++++++++++++----- .../Modules/Gambling/Commands/DrawCommand.cs | 152 +++++----- .../Games/Commands/PlantAndPickCommands.cs | 5 +- .../Modules/Games/Commands/TriviaCommands.cs | 2 +- src/NadekoBot/Modules/Searches/Searches.cs | 4 +- .../Modules/Utility/Commands/InfoCommands.cs | 6 +- .../Modules/Utility/Commands/QuoteCommands.cs | 8 +- src/NadekoBot/Modules/Utility/Utility.cs | 9 +- .../Resources/CommandStrings.Designer.cs | 2 +- src/NadekoBot/Resources/CommandStrings.resx | 2 +- .../Resources/images/cards/10_of_clubs.jpg | Bin 7417 -> 0 bytes .../Resources/images/cards/10_of_diamonds.jpg | Bin 7520 -> 0 bytes .../Resources/images/cards/10_of_hearts.jpg | Bin 7770 -> 0 bytes .../Resources/images/cards/10_of_spades.jpg | Bin 6862 -> 0 bytes .../Resources/images/cards/2_of_clubs.jpg | Bin 3441 -> 0 bytes .../Resources/images/cards/2_of_diamonds.jpg | Bin 3804 -> 0 bytes .../Resources/images/cards/2_of_hearts.jpg | Bin 4016 -> 0 bytes .../Resources/images/cards/2_of_spades.jpg | Bin 3327 -> 0 bytes .../Resources/images/cards/3_of_clubs.jpg | Bin 4052 -> 0 bytes .../Resources/images/cards/3_of_diamonds.jpg | Bin 4303 -> 0 bytes .../Resources/images/cards/3_of_hearts.jpg | Bin 4660 -> 0 bytes .../Resources/images/cards/3_of_spades.jpg | Bin 3918 -> 0 bytes .../Resources/images/cards/4_of_clubs.jpg | Bin 4583 -> 0 bytes .../Resources/images/cards/4_of_diamonds.jpg | Bin 4933 -> 0 bytes .../Resources/images/cards/4_of_hearts.jpg | Bin 5106 -> 0 bytes .../Resources/images/cards/4_of_spades.jpg | Bin 4434 -> 0 bytes .../Resources/images/cards/5_of_clubs.jpg | Bin 5219 -> 0 bytes .../Resources/images/cards/5_of_diamonds.jpg | Bin 5487 -> 0 bytes .../Resources/images/cards/5_of_hearts.jpg | Bin 5677 -> 0 bytes .../Resources/images/cards/5_of_spades.jpg | Bin 4957 -> 0 bytes .../Resources/images/cards/6_of_clubs.jpg | Bin 5736 -> 0 bytes .../Resources/images/cards/6_of_diamonds.jpg | Bin 6113 -> 0 bytes .../Resources/images/cards/6_of_hearts.jpg | Bin 6416 -> 0 bytes .../Resources/images/cards/6_of_spades.jpg | Bin 5563 -> 0 bytes .../Resources/images/cards/7_of_clubs.jpg | Bin 5965 -> 0 bytes .../Resources/images/cards/7_of_diamonds.jpg | Bin 6213 -> 0 bytes .../Resources/images/cards/7_of_hearts.jpg | Bin 6617 -> 0 bytes .../Resources/images/cards/7_of_spades.jpg | Bin 5796 -> 0 bytes .../Resources/images/cards/8_of_clubs.jpg | Bin 6416 -> 0 bytes .../Resources/images/cards/8_of_diamonds.jpg | Bin 6658 -> 0 bytes .../Resources/images/cards/8_of_hearts.jpg | Bin 7120 -> 0 bytes .../Resources/images/cards/8_of_spades.jpg | Bin 6152 -> 0 bytes .../Resources/images/cards/9_of_clubs.jpg | Bin 7033 -> 0 bytes .../Resources/images/cards/9_of_diamonds.jpg | Bin 7151 -> 0 bytes .../Resources/images/cards/9_of_hearts.jpg | Bin 7499 -> 0 bytes .../Resources/images/cards/9_of_spades.jpg | Bin 6577 -> 0 bytes .../Resources/images/cards/Thumbs.db | Bin 1481728 -> 0 bytes .../Resources/images/cards/ace_of_clubs.jpg | Bin 3794 -> 0 bytes .../images/cards/ace_of_diamonds.jpg | Bin 3994 -> 0 bytes .../Resources/images/cards/ace_of_hearts.jpg | Bin 4250 -> 0 bytes .../Resources/images/cards/ace_of_spades.jpg | Bin 4856 -> 0 bytes .../Resources/images/cards/black_joker.jpg | Bin 5591 -> 0 bytes .../Resources/images/cards/jack_of_clubs.jpg | Bin 9471 -> 0 bytes .../images/cards/jack_of_diamonds.jpg | Bin 9763 -> 0 bytes .../Resources/images/cards/jack_of_hearts.jpg | Bin 9558 -> 0 bytes .../Resources/images/cards/jack_of_spades.jpg | Bin 9157 -> 0 bytes .../Resources/images/cards/king_of_clubs.jpg | Bin 9331 -> 0 bytes .../images/cards/king_of_diamonds.jpg | Bin 9386 -> 0 bytes .../Resources/images/cards/king_of_hearts.jpg | Bin 9541 -> 0 bytes .../Resources/images/cards/king_of_spades.jpg | Bin 9248 -> 0 bytes .../Resources/images/cards/queen_of_clubs.jpg | Bin 9574 -> 0 bytes .../images/cards/queen_of_diamonds.jpg | Bin 9785 -> 0 bytes .../images/cards/queen_of_hearts.jpg | Bin 9530 -> 0 bytes .../images/cards/queen_of_spades.jpg | Bin 9613 -> 0 bytes .../Resources/images/cards/red_joker.jpg | Bin 5742 -> 0 bytes .../Resources/images/coins/heads.png | Bin 11437 -> 0 bytes .../Resources/images/coins/tails.png | Bin 11404 -> 0 bytes src/NadekoBot/Resources/images/dice/0.png | Bin 1030 -> 0 bytes src/NadekoBot/Resources/images/dice/1.png | Bin 1006 -> 0 bytes src/NadekoBot/Resources/images/dice/2.png | Bin 1070 -> 0 bytes src/NadekoBot/Resources/images/dice/3.png | Bin 1115 -> 0 bytes src/NadekoBot/Resources/images/dice/4.png | Bin 1089 -> 0 bytes src/NadekoBot/Resources/images/dice/5.png | Bin 1136 -> 0 bytes src/NadekoBot/Resources/images/dice/6.png | Bin 1100 -> 0 bytes src/NadekoBot/Resources/images/dice/7.png | Bin 1454 -> 0 bytes src/NadekoBot/Resources/images/dice/8.png | Bin 1392 -> 0 bytes src/NadekoBot/Resources/images/dice/9.png | Bin 1372 -> 0 bytes src/NadekoBot/Resources/images/hidden.png | Bin 340 -> 0 bytes src/NadekoBot/Resources/images/rip.png | Bin 13338 -> 0 bytes .../Resources/images/rose_overlay.png | Bin 18492 -> 0 bytes src/NadekoBot/_Extensions/Extensions.cs | 24 ++ src/NadekoBot/project.json | 3 +- src/NadekoBot/project.lock.json | 64 +++++ 85 files changed, 366 insertions(+), 197 deletions(-) delete mode 100644 src/NadekoBot/Resources/images/cards/10_of_clubs.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/10_of_diamonds.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/10_of_hearts.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/10_of_spades.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/2_of_clubs.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/2_of_diamonds.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/2_of_hearts.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/2_of_spades.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/3_of_clubs.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/3_of_diamonds.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/3_of_hearts.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/3_of_spades.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/4_of_clubs.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/4_of_diamonds.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/4_of_hearts.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/4_of_spades.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/5_of_clubs.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/5_of_diamonds.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/5_of_hearts.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/5_of_spades.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/6_of_clubs.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/6_of_diamonds.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/6_of_hearts.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/6_of_spades.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/7_of_clubs.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/7_of_diamonds.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/7_of_hearts.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/7_of_spades.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/8_of_clubs.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/8_of_diamonds.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/8_of_hearts.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/8_of_spades.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/9_of_clubs.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/9_of_diamonds.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/9_of_hearts.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/9_of_spades.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/Thumbs.db delete mode 100644 src/NadekoBot/Resources/images/cards/ace_of_clubs.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/ace_of_diamonds.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/ace_of_hearts.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/ace_of_spades.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/black_joker.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/jack_of_clubs.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/jack_of_diamonds.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/jack_of_hearts.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/jack_of_spades.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/king_of_clubs.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/king_of_diamonds.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/king_of_hearts.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/king_of_spades.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/queen_of_clubs.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/queen_of_diamonds.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/queen_of_hearts.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/queen_of_spades.jpg delete mode 100644 src/NadekoBot/Resources/images/cards/red_joker.jpg delete mode 100644 src/NadekoBot/Resources/images/coins/heads.png delete mode 100644 src/NadekoBot/Resources/images/coins/tails.png delete mode 100644 src/NadekoBot/Resources/images/dice/0.png delete mode 100644 src/NadekoBot/Resources/images/dice/1.png delete mode 100644 src/NadekoBot/Resources/images/dice/2.png delete mode 100644 src/NadekoBot/Resources/images/dice/3.png delete mode 100644 src/NadekoBot/Resources/images/dice/4.png delete mode 100644 src/NadekoBot/Resources/images/dice/5.png delete mode 100644 src/NadekoBot/Resources/images/dice/6.png delete mode 100644 src/NadekoBot/Resources/images/dice/7.png delete mode 100644 src/NadekoBot/Resources/images/dice/8.png delete mode 100644 src/NadekoBot/Resources/images/dice/9.png delete mode 100644 src/NadekoBot/Resources/images/hidden.png delete mode 100644 src/NadekoBot/Resources/images/rip.png delete mode 100644 src/NadekoBot/Resources/images/rose_overlay.png diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index af0d13df..2d62e236 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -432,7 +432,7 @@ namespace NadekoBot.Modules.Administration { var channel = (ITextChannel)umsg.Channel; topic = topic ?? ""; - await (channel as ITextChannel).ModifyAsync(c => c.Topic = topic); + await channel.ModifyAsync(c => c.Topic = topic); await channel.SendMessageAsync(":ok: **New channel topic set.**").ConfigureAwait(false); } @@ -467,7 +467,7 @@ namespace NadekoBot.Modules.Administration [RequirePermission(ChannelPermission.ManageMessages)] public async Task Prune(IUserMessage msg, int count) { - var channel = msg.Channel as ITextChannel; + var channel = (ITextChannel)msg.Channel; await (msg as IUserMessage).DeleteAsync(); while (count > 0) { @@ -485,7 +485,7 @@ namespace NadekoBot.Modules.Administration [RequireContext(ContextType.Guild)] public async Task Prune(IUserMessage msg, IGuildUser user, int count = 100) { - var channel = msg.Channel as ITextChannel; + var channel = (ITextChannel)msg.Channel; int limit = (count < 100) ? count : 100; var enumerable = (await msg.Channel.GetMessagesAsync(limit: limit)).Where(m => m.Author == user); await msg.Channel.DeleteMessagesAsync(enumerable); diff --git a/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs b/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs index 542946cd..c7e8e708 100644 --- a/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs +++ b/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs @@ -27,11 +27,8 @@ namespace NadekoBot.Modules.ClashOfClans uow.ClashOfClans .GetAll() .Select(cw => { - cw.Channel = NadekoBot.Client.GetGuilds() - .FirstOrDefault(s => s.Id == cw.GuildId)? - .GetChannels() - .FirstOrDefault(c => c.Id == cw.ChannelId) - as ITextChannel; + cw.Channel = NadekoBot.Client.GetGuild(cw.GuildId) + ?.GetTextChannel(cw.ChannelId); cw.Bases.Capacity = cw.Size; return cw; }) @@ -318,11 +315,8 @@ namespace NadekoBot.Modules.ClashOfClans Bases = new List(size), GuildId = serverId, ChannelId = channelId, - Channel = NadekoBot.Client.GetGuilds() - .FirstOrDefault(s => s.Id == serverId)? - .GetChannels() - .FirstOrDefault(c => c.Id == channelId) - as ITextChannel + Channel = NadekoBot.Client.GetGuild(serverId) + ?.GetTextChannel(channelId) }; uow.ClashOfClans.Add(cw); await uow.CompleteAsync(); diff --git a/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs index d6ecfa5e..0db9b5d1 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs @@ -1,11 +1,14 @@ using Discord; using Discord.Commands; +using ImageProcessorCore; using NadekoBot.Attributes; using NadekoBot.Extensions; using NadekoBot.Services; using System; using System.Collections.Generic; +using System.IO; using System.Linq; +using System.Resources; using System.Text.RegularExpressions; using System.Threading.Tasks; @@ -17,94 +20,191 @@ namespace NadekoBot.Modules.Gambling [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] - public Task Roll(IUserMessage umsg, [Remainder] string arg = null) => - publicRoll(umsg, arg, true); + public async Task Roll(IUserMessage umsg) + { + var channel = (ITextChannel)umsg.Channel; + if (channel == null) + return; + var rng = new NadekoRandom(); + var gen = rng.Next(1, 101); + + var num1 = gen / 10; + var num2 = gen % 10; + var imageStream = await Task.Run(() => + { + var ms = new MemoryStream(); + new[] { GetDice(num1), GetDice(num2) }.Merge().SaveAsPng(ms); + ms.Position = 0; + return ms; + }); + + await channel.SendFileAsync(imageStream, "dice.png", $"{umsg.Author.Mention} rolled " + Format.Code(gen.ToString())).ConfigureAwait(false); + } [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] - public Task Rolluo(IUserMessage umsg, [Remainder] string arg = null) => - publicRoll(umsg, arg, false); - //todo drawing - private async Task publicRoll(IUserMessage umsg, string arg, bool ordered) + public async Task Roll(IUserMessage umsg, int num) { var channel = (ITextChannel)umsg.Channel; - var r = new NadekoRandom(); - //if (string.IsNullOrWhiteSpace(arg)) - //{ - // var gen = r.Next(0, 101); + if (channel == null) + return; - // var num1 = gen / 10; - // var num2 = gen % 10; + var ordered = true; + + if (num < 1 || num > 30) + { + await channel.SendMessageAsync("Invalid number specified. You can roll up to 1-30 dice at a time.").ConfigureAwait(false); + num = 30; + } - // var imageStream = await new Image[2] { GetDice(num1), GetDice(num2) }.Merge().ToStream(ImageFormat.Png); + var rng = new NadekoRandom(); - // await channel.SendFileAsync(imageStream, "dice.png").ConfigureAwait(false); - // return; - //} - Match m; - if ((m = dndRegex.Match(arg)).Length != 0) + var dice = new List(num); + var values = new List(num); + for (var i = 0; i < num; i++) + { + var randomNumber = rng.Next(1, 7); + var toInsert = dice.Count; + if (ordered) + { + if (randomNumber == 6 || dice.Count == 0) + toInsert = 0; + else if (randomNumber != 1) + for (var j = 0; j < dice.Count; j++) + { + if (values[j] < randomNumber) + { + toInsert = j; + break; + } + } + } + else + { + toInsert = dice.Count; + } + dice.Insert(toInsert, GetDice(randomNumber)); + values.Insert(toInsert, randomNumber); + } + + var bitmap = dice.Merge(); + var ms = new MemoryStream(); + bitmap.SaveAsPng(ms); + ms.Position = 0; + await channel.SendFileAsync(ms, "dice.png", $"{umsg.Author.Mention} rolled {values.Count} {(values.Count == 1 ? "die" : "dice")}. Total: **{values.Sum()}** Average: **{(values.Sum() / (1.0f * values.Count)).ToString("N2")}**").ConfigureAwait(false); + } + //todo merge into internallDndRoll and internalRoll + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task Roll(IUserMessage umsg, string arg = "") + { + var channel = (ITextChannel)umsg.Channel; + if (channel == null) + return; + + var ordered = true; + var rng = new NadekoRandom(); + Match match; + if ((match = dndRegex.Match(arg)).Length != 0) { int n1; int n2; - if (int.TryParse(m.Groups["n1"].ToString(), out n1) && - int.TryParse(m.Groups["n2"].ToString(), out n2) && + if (int.TryParse(match.Groups["n1"].ToString(), out n1) && + int.TryParse(match.Groups["n2"].ToString(), out n2) && n1 <= 50 && n2 <= 100000 && n1 > 0 && n2 > 0) { var arr = new int[n1]; for (int i = 0; i < n1; i++) { - arr[i] = r.Next(1, n2 + 1); + arr[i] = rng.Next(1, n2 + 1); } var elemCnt = 0; - await channel.SendMessageAsync($"`Rolled {n1} {(n1 == 1 ? "die" : "dice")} 1-{n2}.`\n`Result:` " + string.Join(", ", (ordered ? arr.OrderBy(x => x).AsEnumerable() : arr).Select(x => elemCnt++ % 2 == 0 ? $"**{x}**" : x.ToString()))).ConfigureAwait(false); + await channel.SendMessageAsync($"`{umsg.Author.Mention} rolled {n1} {(n1 == 1 ? "die" : "dice")} 1-{n2}.`\n`Result:` " + string.Join(", ", (ordered ? arr.OrderBy(x => x).AsEnumerable() : arr).Select(x => elemCnt++ % 2 == 0 ? $"**{x}**" : x.ToString()))).ConfigureAwait(false); } - return; } - //try - //{ - // var num = int.Parse(e.Args[0]); - // if (num < 1) num = 1; - // if (num > 30) - // { - // await channel.SendMessageAsync("You can roll up to 30 dice at a time.").ConfigureAwait(false); - // num = 30; - // } - // var dices = new List(num); - // var values = new List(num); - // for (var i = 0; i < num; i++) - // { - // var randomNumber = r.Next(1, 7); - // var toInsert = dices.Count; - // if (ordered) - // { - // if (randomNumber == 6 || dices.Count == 0) - // toInsert = 0; - // else if (randomNumber != 1) - // for (var j = 0; j < dices.Count; j++) - // { - // if (values[j] < randomNumber) - // { - // toInsert = j; - // break; - // } - // } - // } - // else - // { - // toInsert = dices.Count; - // } - // dices.Insert(toInsert, GetDice(randomNumber)); - // values.Insert(toInsert, randomNumber); - // } + } - // var bitmap = dices.Merge(); - // await channel.SendMessageAsync(values.Count + " Dice rolled. Total: **" + values.Sum() + "** Average: **" + (values.Sum() / (1.0f * values.Count)).ToString("N2") + "**").ConfigureAwait(false); - // await channel.SendFileAsync("dice.png", bitmap.ToStream(ImageFormat.Png)).ConfigureAwait(false); - //} - //catch - //{ - // await channel.SendMessageAsync("Please enter a number of dice to roll.").ConfigureAwait(false); - //} + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task Rolluo(IUserMessage umsg, string arg = "") + { + var channel = (ITextChannel)umsg.Channel; + if (channel == null) + return; + + var ordered = false; + var rng = new NadekoRandom(); + Match match; + if ((match = dndRegex.Match(arg)).Length != 0) + { + int n1; + int n2; + if (int.TryParse(match.Groups["n1"].ToString(), out n1) && + int.TryParse(match.Groups["n2"].ToString(), out n2) && + n1 <= 50 && n2 <= 100000 && n1 > 0 && n2 > 0) + { + var arr = new int[n1]; + for (int i = 0; i < n1; i++) + { + arr[i] = rng.Next(1, n2 + 1); + } + var elemCnt = 0; + await channel.SendMessageAsync($"`{umsg.Author.Mention} rolled {n1} {(n1 == 1 ? "die" : "dice")} 1-{n2}.`\n`Result:` " + string.Join(", ", (ordered ? arr.OrderBy(x => x).AsEnumerable() : arr).Select(x => elemCnt++ % 2 == 0 ? $"**{x}**" : x.ToString()))).ConfigureAwait(false); + } + } + } + + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task Rolluo(IUserMessage umsg, int num) + { + var channel = (ITextChannel)umsg.Channel; + if (channel == null) + return; + + var ordered = true; + + if (num < 1 || num > 30) + { + await channel.SendMessageAsync("Invalid number specified. You can roll up to 1-30 dice at a time.").ConfigureAwait(false); + num = 30; + } + + var rng = new NadekoRandom(); + + var dice = new List(num); + var values = new List(num); + for (var i = 0; i < num; i++) + { + var randomNumber = rng.Next(1, 7); + var toInsert = dice.Count; + if (ordered) + { + if (randomNumber == 6 || dice.Count == 0) + toInsert = 0; + else if (randomNumber != 1) + for (var j = 0; j < dice.Count; j++) + { + if (values[j] < randomNumber) + { + toInsert = j; + break; + } + } + } + else + { + toInsert = dice.Count; + } + dice.Insert(toInsert, GetDice(randomNumber)); + values.Insert(toInsert, randomNumber); + } + + var bitmap = dice.Merge(); + var ms = new MemoryStream(); + bitmap.SaveAsPng(ms); + ms.Position = 0; + await channel.SendFileAsync(ms, "dice.png", $"{umsg.Author.Mention} rolled {values.Count} {(values.Count == 1 ? "die" : "dice")}. Total: **{values.Sum()}** Average: **{(values.Sum() / (1.0f * values.Count)).ToString("N2")}**").ConfigureAwait(false); } [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] @@ -112,8 +212,7 @@ namespace NadekoBot.Modules.Gambling public async Task NRoll(IUserMessage umsg, [Remainder] string range) { var channel = (ITextChannel)umsg.Channel; - - + try { int rolled; @@ -140,14 +239,23 @@ namespace NadekoBot.Modules.Gambling } } + private Image GetDice(int num) + { + const string pathToImage = "data/images/dice"; + if(num != 10) + { + using (var stream = File.OpenRead(Path.Combine(pathToImage, $"{num}.png"))) + return new Image(stream); + } - ////todo drawing - //private Image GetDice(int num) => num != 10 - // ? Properties.Resources.ResourceManager.GetObject("_" + num) as Image - // : new[] - // { - // (Properties.Resources.ResourceManager.GetObject("_" + 1) as Image), - // (Properties.Resources.ResourceManager.GetObject("_" + 0) as Image), - // }.Merge(); + using (var one = File.OpenRead(Path.Combine(pathToImage, "1.png"))) + using (var zero = File.OpenRead(Path.Combine(pathToImage, "0.png"))) + { + Image imgOne = new Image(one); + Image imgZero = new Image(zero); + + return new[] { imgOne, imgZero }.Merge(); + } + } } } \ No newline at end of file diff --git a/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs index 17c5033b..af419051 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs @@ -1,92 +1,70 @@ -//using Discord.Commands; -//using NadekoBot.Classes; -//using NadekoBot.Extensions; -//using NadekoBot.Modules.Gambling.Helpers; -//using System; -//using System.Collections.Concurrent; -//using System.Collections.Generic; -//using System.Drawing; -//using System.Threading.Tasks; +using Discord; +using Discord.Commands; +using ImageProcessorCore; +using NadekoBot.Attributes; +using NadekoBot.Extensions; +using NadekoBot.Modules.Gambling.Models; +using System; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.IO; +using System.Threading.Tasks; -////todo drawing -//namespace NadekoBot.Modules.Gambling -//{ -// public class DrawCommand : DiscordCommand -// { -// public DrawCommand(DiscordModule module) : base(module) { } +namespace NadekoBot.Modules.Gambling +{ + [Group] + public class DrawCommands + { + private static readonly ConcurrentDictionary AllDecks = new ConcurrentDictionary(); -// public override void Init(CommandGroupBuilder cgb) -// { -// cgb.CreateCommand(Module.Prefix + "draw") -// .Description($"Draws a card from the deck.If you supply number [x], she draws up to 5 cards from the deck. | `{Prefix}draw [x]`") -// .Parameter("count", ParameterType.Optional) -// .Do(DrawCardFunc()); + private const string cardsPath = "data/images/cards"; + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task Draw(IUserMessage msg) + { + var channel = (ITextChannel)msg.Channel; + var cards = AllDecks.GetOrAdd(channel.Guild, (s) => new Cards()); + + var num = 1; + var images = new List(); + var cardObjects = new List(); + for (var i = 0; i < num; i++) + { + if (cards.CardPool.Count == 0 && i != 0) + { + await channel.SendMessageAsync("No more cards in a deck.").ConfigureAwait(false); + break; + } + var currentCard = cards.DrawACard(); + cardObjects.Add(currentCard); + using (var stream = File.OpenRead(Path.Combine(cardsPath, currentCard.GetName()))) + images.Add(new Image(stream)); + } + MemoryStream bitmapStream = new MemoryStream(); + images.Merge().SaveAsPng(bitmapStream); + bitmapStream.Position = 0; + await channel.SendFileAsync(bitmapStream, images.Count + " cards.jpg", $"{msg.Author.Mention} drew (TODO: CARD NAMES HERE)").ConfigureAwait(false); + if (cardObjects.Count == 5) + { + await channel.SendMessageAsync($"{msg.Author.Mention} `{Cards.GetHandValue(cardObjects)}`").ConfigureAwait(false); + } + } -// cgb.CreateCommand(Module.Prefix + "shuffle") -// .Alias(Module.Prefix + "sh") -// .Description($"Reshuffles all cards back into the deck.|`{Prefix}shuffle`") -// .Do(ReshuffleTask()); -// } + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task Shuffle(IUserMessage imsg) + { + var channel = (ITextChannel)imsg.Channel; -// private static readonly ConcurrentDictionary AllDecks = new ConcurrentDictionary(); + AllDecks.AddOrUpdate(channel.Guild, + (s) => new Cards(), + (s, c) => + { + c.Restart(); + return c; + }); -// private static Func ReshuffleTask() -// { -// return async e => -// { -// AllDecks.AddOrUpdate(e.Server, -// (s) => new Cards(), -// (s, c) => -// { -// c.Restart(); -// return c; -// }); - -// await channel.SendMessageAsync("Deck reshuffled.").ConfigureAwait(false); -// }; -// } - -// private Func DrawCardFunc() => async (e) => -// { -// var cards = AllDecks.GetOrAdd(e.Server, (s) => new Cards()); - -// try -// { -// var num = 1; -// var isParsed = int.TryParse(count, out num); -// if (!isParsed || num < 2) -// { -// var c = cards.DrawACard(); -// await e.Channel.SendFile(c.Name + ".jpg", (Properties.Resources.ResourceManager.GetObject(c.Name) as Image).ToStream()).ConfigureAwait(false); -// return; -// } -// if (num > 5) -// num = 5; - -// var images = new List(); -// var cardObjects = new List(); -// for (var i = 0; i < num; i++) -// { -// if (cards.CardPool.Count == 0 && i != 0) -// { -// await channel.SendMessageAsync("No more cards in a deck.").ConfigureAwait(false); -// break; -// } -// var currentCard = cards.DrawACard(); -// cardObjects.Add(currentCard); -// images.Add(Properties.Resources.ResourceManager.GetObject(currentCard.Name) as Image); -// } -// var bitmap = images.Merge(); -// await e.Channel.SendFile(images.Count + " cards.jpg", bitmap.ToStream()).ConfigureAwait(false); -// if (cardObjects.Count == 5) -// { -// await channel.SendMessageAsync($"{umsg.Author.Mention} `{Cards.GetHandValue(cardObjects)}`").ConfigureAwait(false); -// } -// } -// catch (Exception ex) -// { -// Console.WriteLine("Error drawing (a) card(s) " + ex.ToString()); -// } -// }; -// } -//} + await channel.SendMessageAsync("`Deck reshuffled.`").ConfigureAwait(false); + } + } +} diff --git a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs index 53d3c01b..42a50242 100644 --- a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs @@ -14,7 +14,6 @@ using System.Security.Cryptography; using System.Threading; using System.Threading.Tasks; -//todo rewrite namespace NadekoBot.Modules.Games { public partial class Games @@ -150,6 +149,7 @@ namespace NadekoBot.Modules.Games var file = GetRandomCurrencyImagePath(); IUserMessage msg; var vowelFirst = new[] { 'a', 'e', 'i', 'o', 'u' }.Contains(Gambling.Gambling.CurrencyName[0]); + //todo add prefix var msgToSend = $"Oh how Nice! **{imsg.Author.Username}** planted {(vowelFirst ? "an" : "a")} {Gambling.Gambling.CurrencyName}. Pick it using >pick"; if (file == null) { @@ -157,7 +157,6 @@ namespace NadekoBot.Modules.Games } else { - //todo add prefix msg = await channel.SendFileAsync(file, msgToSend).ConfigureAwait(false); } plantedFlowers.AddOrUpdate(channel.Id, new List() { msg }, (id, old) => { old.Add(msg); return old; }); @@ -168,7 +167,7 @@ namespace NadekoBot.Modules.Games [RequirePermission(GuildPermission.ManageMessages)] public async Task Gencurrency(IUserMessage imsg) { - var channel = imsg.Channel as ITextChannel; + var channel = (ITextChannel)imsg.Channel; if (channel == null) return; diff --git a/src/NadekoBot/Modules/Games/Commands/TriviaCommands.cs b/src/NadekoBot/Modules/Games/Commands/TriviaCommands.cs index 959562a0..63a8a820 100644 --- a/src/NadekoBot/Modules/Games/Commands/TriviaCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/TriviaCommands.cs @@ -34,7 +34,7 @@ namespace NadekoBot.Modules.Games }).Where(t => t.Item1).Select(t => t.Item2).FirstOrDefault(); if (number < 0) return; - var triviaGame = new TriviaGame(channel.Guild, umsg.Channel as ITextChannel, showHints, number == 0 ? 10 : number); + var triviaGame = new TriviaGame(channel.Guild, (ITextChannel)umsg.Channel, showHints, number == 0 ? 10 : number); if (RunningTrivias.TryAdd(channel.Guild.Id, triviaGame)) await channel.SendMessageAsync($"**Trivia game started! {triviaGame.WinRequirement} points needed to win.**").ConfigureAwait(false); else diff --git a/src/NadekoBot/Modules/Searches/Searches.cs b/src/NadekoBot/Modules/Searches/Searches.cs index 2e987145..0ac25ca1 100644 --- a/src/NadekoBot/Modules/Searches/Searches.cs +++ b/src/NadekoBot/Modules/Searches/Searches.cs @@ -52,7 +52,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 public async Task Youtube(IUserMessage umsg, [Remainder] string query = null) { var channel = (ITextChannel)umsg.Channel; - if (!(await ValidateQuery(umsg.Channel as ITextChannel, query).ConfigureAwait(false))) return; + if (!(await ValidateQuery(channel, query).ConfigureAwait(false))) return; var result = (await _google.GetVideosByKeywordsAsync(query, 1)).FirstOrDefault(); if (string.IsNullOrWhiteSpace(result)) { @@ -68,7 +68,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 { var channel = (ITextChannel)umsg.Channel; - if (!(await ValidateQuery(umsg.Channel as ITextChannel, query).ConfigureAwait(false))) return; + if (!(await ValidateQuery(channel, query).ConfigureAwait(false))) return; await umsg.Channel.TriggerTypingAsync().ConfigureAwait(false); string result; try diff --git a/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs b/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs index 7b5a9ef1..9993c1d3 100644 --- a/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs +++ b/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs @@ -16,7 +16,7 @@ namespace NadekoBot.Modules.Utility [RequireContext(ContextType.Guild)] public async Task ServerInfo(IUserMessage msg, string guild = null) { - var channel = msg.Channel as ITextChannel; + var channel = (ITextChannel)msg.Channel; guild = guild?.ToUpperInvariant(); IGuild server; if (guild == null) @@ -51,7 +51,7 @@ namespace NadekoBot.Modules.Utility [RequireContext(ContextType.Guild)] public async Task ChannelInfo(IUserMessage msg, ITextChannel channel = null) { - var ch = channel ?? msg.Channel as ITextChannel; + var ch = channel ?? (ITextChannel)msg.Channel; if (ch == null) return; var createdAt = new DateTime(2015, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc).AddMilliseconds(ch.Id >> 22); @@ -67,7 +67,7 @@ namespace NadekoBot.Modules.Utility [RequireContext(ContextType.Guild)] public async Task UserInfo(IUserMessage msg, IGuildUser usr = null) { - var channel = msg.Channel as ITextChannel; + var channel = (ITextChannel)msg.Channel; var user = usr ?? msg.Author as IGuildUser; if (user == null) return; diff --git a/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs b/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs index 98f62442..f2102c15 100644 --- a/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs +++ b/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs @@ -18,7 +18,7 @@ namespace NadekoBot.Modules.Utility [RequireContext(ContextType.Guild)] public async Task ShowQuote(IUserMessage umsg, string keyword) { - var channel = umsg.Channel as ITextChannel; + var channel = (ITextChannel)umsg.Channel; if (string.IsNullOrWhiteSpace(keyword)) return; @@ -41,7 +41,7 @@ namespace NadekoBot.Modules.Utility [RequireContext(ContextType.Guild)] public async Task AddQuote(IUserMessage umsg, string keyword, [Remainder] string text) { - var channel = umsg.Channel as ITextChannel; + var channel = (ITextChannel)umsg.Channel; if (string.IsNullOrWhiteSpace(keyword) || string.IsNullOrWhiteSpace(text)) return; @@ -67,7 +67,7 @@ namespace NadekoBot.Modules.Utility [RequireContext(ContextType.Guild)] public async Task DeleteQuote(IUserMessage umsg, string keyword) { - var channel = umsg.Channel as ITextChannel; + var channel = (ITextChannel)umsg.Channel; if (string.IsNullOrWhiteSpace(keyword)) return; @@ -94,7 +94,7 @@ namespace NadekoBot.Modules.Utility [RequireContext(ContextType.Guild)] public async Task DelAllQuotes(IUserMessage umsg, string keyword) { - var channel = umsg.Channel as ITextChannel; + var channel = (ITextChannel)umsg.Channel; if (string.IsNullOrWhiteSpace(keyword)) return; diff --git a/src/NadekoBot/Modules/Utility/Utility.cs b/src/NadekoBot/Modules/Utility/Utility.cs index 2464d5c9..5ce18ef3 100644 --- a/src/NadekoBot/Modules/Utility/Utility.cs +++ b/src/NadekoBot/Modules/Utility/Utility.cs @@ -83,7 +83,7 @@ namespace NadekoBot.Modules.Utility StringBuilder builder = new StringBuilder("```\n"); var user = msg.Author as IGuildUser; - var perms = user.GetPermissions(msg.Channel as ITextChannel); + var perms = user.GetPermissions((ITextChannel)msg.Channel); foreach (var p in perms.GetType().GetProperties().Where(p => !p.GetGetMethod().GetParameters().Any())) { builder.AppendLine($"{p.Name} : {p.GetValue(perms, null).ToString()}"); @@ -111,21 +111,22 @@ namespace NadekoBot.Modules.Utility [RequireContext(ContextType.Guild)] public async Task ServerId(IUserMessage msg) { - await msg.Reply($"This server's ID is {(msg.Channel as ITextChannel).Guild.Id}").ConfigureAwait(false); + await msg.Reply($"This server's ID is {((ITextChannel)msg.Channel).Guild.Id}").ConfigureAwait(false); } [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Roles(IUserMessage msg, IGuildUser target = null) { - var guild = (msg.Channel as ITextChannel).Guild; + var channel = (ITextChannel)msg.Channel; + var guild = channel.Guild; if (target != null) { await msg.Reply($"`List of roles for **{target.Username}**:` \n• " + string.Join("\n• ", target.Roles.Except(new[] { guild.EveryoneRole }).OrderBy(r => r.Position))); } else { - await msg.Reply("`List of roles:` \n• " + string.Join("\n• ", (msg.Channel as ITextChannel).Guild.Roles.Except(new[] { guild.EveryoneRole }).OrderBy(r=>r.Position))); + await msg.Reply("`List of roles:` \n• " + string.Join("\n• ", guild.Roles.Except(new[] { guild.EveryoneRole }).OrderBy(r=>r.Position))); } } diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index ed63b4ed..e9cf1a91 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -5622,7 +5622,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice (unordered). If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y.. + /// Looks up a localized string similar to Rolls X normal dice (up to 30) unordered. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y.. /// public static string rolluo_desc { get { diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index b126ce83..029ba9f9 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -1408,7 +1408,7 @@ rolluo - Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice (unordered). If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. + Rolls X normal dice (up to 30) unordered. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. `$rolluo` or `$rolluo 7` or `$rolluo 3d5` diff --git a/src/NadekoBot/Resources/images/cards/10_of_clubs.jpg b/src/NadekoBot/Resources/images/cards/10_of_clubs.jpg deleted file mode 100644 index 6322cec56816cdff6bace4c726ccdff9fd669471..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7417 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 diff --git a/src/NadekoBot/Resources/images/cards/10_of_hearts.jpg b/src/NadekoBot/Resources/images/cards/10_of_hearts.jpg deleted file mode 100644 index 3a39d0440b37dc3469b913dda126ece76add1fe3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7770 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 Xr_1=J_8m2w&0cAmm2SI|PM`f>jt-Bb diff --git a/src/NadekoBot/Resources/images/cards/10_of_spades.jpg b/src/NadekoBot/Resources/images/cards/10_of_spades.jpg deleted file mode 100644 index 7f300fb5c3b0473ffcd3a650d05ced2703ce3083..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6862 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 W@0^;el}6W>ZaIJUHK|*ynSTKay|;Y; diff --git a/src/NadekoBot/Resources/images/cards/2_of_clubs.jpg b/src/NadekoBot/Resources/images/cards/2_of_clubs.jpg deleted file mode 100644 index 25edc74970b4d3aae0e6b3c483dd78c600fa239b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3441 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 diff --git a/src/NadekoBot/Resources/images/cards/2_of_diamonds.jpg b/src/NadekoBot/Resources/images/cards/2_of_diamonds.jpg deleted file mode 100644 index 758cf6fbfff7eba8a0c48e654359618e7a5d2592..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3804 zcmb`Jc|6qH|Hlu*V8j?qqImZ zrbso&GF*GIo3Tza%;&4`_qW`8|M~uY-^cfL9`Exw%ln-3c%Jh<=W(DuXatB^np&6w z9v)tBb}IpB02~J}-k0xP-Wv#8z4C=OjEoN5c37w+4y{3kh$v{yzmZ0+b*~0Io0|dBBU}fuVSyW*`Ru z4?oX81pZ4ryf8j~xPYJ#LU_xeS`6@RtIZx%e(^n8$KVpS7X{=4 zCADMH^92=*%bU=4G{)Y8mx68yA+}3N?~qYcQr@>;MMqap|Ipzh$4{7;nweWz+MhY= z;OOLh?(&tZ9-dy_*MdW?hlb(8BVupI#U~^tCEtJWFym3?uUU@^h=oN@pA|p%K;Ke>1S?4MX$ z`9Hz_!iC!6;^o`gQh}dbJiK9B21D`j@6m#bAF~y>7$_mH9U~}doSt9aB&2ZAj)A@u zL_=)ft23&|{E7Atvi}>{t$&N`f585iiw?HIc(x7?h5}f?2|~uHjSy}{?_}T`DR5SF zCmT1X_L$A?*-!7>fsUp{DQ9(jY`ij>>YVuLXp09+d*CdCK-FcLmCnip-1XI{H&Cis z9`vfY=Q?d?rrla_oL5CB*#A=A-NyWhS5GG)%o78p@8eso7s`p zGd;C)@7_jlZ?%bEp=|Kpfk4tT{9A?50QUC(u9J@9HukR$MmD8GKrk(iGUd_<0R}>Y ztCYq%5vc|NqOWVvwT8Z;mP3Lr4%Pl~P7BY3!hmb^(sCo`h%NwdLO3gZ?x>hpfBCbO$eV=nVAWWbl zXJbwMsgcK-af=&-xVqtwn|Bgko>#QLRi07ag?BpTZt}6HO#arJ@`xdBSoH&}Mejn_ z^qre|JSnFwzNfGqzZ6|&Hn|MFk=d-rU)yEYl&iw{{*IDRmv_p>m_qKY_Ev~Sj~nDw zM_w0cKeVEv)e%9R59T;IMe@)j-myi9ZY-)(jrRd@^X$2`@`>lUrV7Z|PR$_egE75J znNDA;jqqpddsa(+lm#q)zmc7tl~dWFy0cPi!J;hl^D@4KI@9g`W<4tN2caHkGCEip z(QeSO9|Dyn#U`8N>iLcG4flMGA0vCrBbFJ~c+M=X{_r6mSGz&ObWgPa%`tO#T6zU? zHiQ@R8JT$bCuu@;ny-iguv}y%ywE6 z1PH>u_~9awuz|10{87bLcgy}@mkP_DLP=|c6YQCDd6 zYv&w_B&EoQ>7R?t8wYnA^#|4(eON7n8MZlK2vvm?90fhFk=9eM#^gP}KLvL(WcaJ+ z4bl%qzr78ip-WN7Z2U!=e);xR53A8{N0=IkFE6mmy$X^SFz5exXB}TSKG?WETYw+<% z>J=d%Uy}xb3mp8WWHredBMyOd7c&UFjG}Op&-LW-Chz;R{UID8TEekZw>ss`dI-#` zfE5iP{Cg4+0)3ca2$-n(IN02#OgPXWFeeuPfr3ZX#h@U0ACFLrnc`dHV;MA<=4t2h z`w@s>HrugLjyycC8~zN}Wz6zntUI6vSvIF*&vh@z`^H4=_?=H+moYMnTC#7>CvDf= zXEzIH&p;pnb0_YV=Z==Fl%P4;dA;EinU2d9tDaLpr@Ao`#UkfN`mllvST3ihtLjeky(H7>BA(k1z5b@#WnFl!#aeVaS6xHc1?GnHJrV8+@3IN$880qKuFUz< zIh0J+6aR1#r2c|dqWsoaj?ma3I{Z!+ z)v19@tY+;TxE3@ZSK-_$lwt z6?Rr0l(pD<-=b^)0?F>e^}Cp1P3yS`X6YkxsFcscz!+|#f- zF`}$HBVo;_jyFc{-ekl|I1TaBGizShWU8<|`84O+Od`!BMwvUAB;|-38p;q5puFc2 z85(*Ya%G>oS`w5r#vb@D1iBKe-O7K=lIm>wOV-kuW^>D9cE&5T!Oy4E2g>@6BUojTNuX2y>BXEX4l zYa}Mjv2#_#bok_*KythNL1u!roKM3lsi$sq<#@NWxhO38Vq~AHS9#ewK74Eu z7H~Pr&}MXj=38lhq*26!Jk3D(b`41hD}_< z$_|gOR2J41cA;OD51PF0Tj5AAi0zg(Iu3phCeSn_aGX;t;)pw(wQTXS`vB=WPF*=w zcs4Zo3Ixsw?oKs5_D)p#LaIo3c&MM1R`6-sGgcVp``t(^m2pLLH4yn&SH85jpFmG* zC(hh({8zE}bykj7($)m**)i|7gL9Jmk*z;3Bo#-WG@thmF>+9Tm6M`F4}Qrx2~y`I z(Q|_9Wg!I>Bva|cBiGSg1{H(t=!chxDNP-33j;jrzY<2;9!JHMW?qG7U-aA6Kzd=d z4P~lX-bzH|g#w`RrKq6Fk}BbEy%>nJyfsM|ejTpne<9V&!+vM_`}~aV6tQC?w+v)* zy7e^`JL+qe{0CHi?Ndb`QV`$^LK=BpvhFY-pr-LJ_3rv`Y&uHLd&j(yX+q38^!N&y z)~O#Y$CQ`AlnkDJT`eoX=(paZ=9`GC{3aZS*!pwJH^N?)iQ;2((X8j=rVMJ+Y#F+b z6?~L}!X>oaXAw_lC_d6_?{gwrIyiE7C}CBC;4aTzMf%*`onRcVX>6*F4*v{J9Le?h z)L#5H0b6-1*`IAN++|XL=}ief>2`@Re7@PTaFk!x*({?)EqlFa(JJhQ5t=QwA-$O& z{R?h+v^A;J=~}Rhwu@rX*Q&LOMRIKt`f5ss9VwoxxED3_8qYe15r9Bm9|Rh`DXipu zW#+6r2*eRb@NAK^4R|&L5{caHX)zF((!(-j0=V+Y`@nzPp;(=}7bi1Ack$@$=SysJ zR-4?Gmm)6usmj)*bgoJ732m8jdxG_B1OmL%6u6EE{@oGGooDA06H;DG)N*{BH}l#C zeCdNRK{J+>l@C97EILuDDf6+6Evlj2G((Ldug8?6fV_C`MTZtUzG`Pf%D(Nd_Se63 vz^Wgm8s^xV1dmP^o3;lm86BX?*=yc^VqWdFQ*2qQI diff --git a/src/NadekoBot/Resources/images/cards/2_of_hearts.jpg b/src/NadekoBot/Resources/images/cards/2_of_hearts.jpg deleted file mode 100644 index b2758ea24331d55c79eba61b8ba2badb2409441e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4016 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 V=@R{ip>YaRxusOjQqD3O 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 E0&US3{{R30 diff --git a/src/NadekoBot/Resources/images/cards/3_of_spades.jpg b/src/NadekoBot/Resources/images/cards/3_of_spades.jpg deleted file mode 100644 index 18772596cdafb449848020bee222383720012f60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3918 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 diff --git a/src/NadekoBot/Resources/images/cards/4_of_clubs.jpg b/src/NadekoBot/Resources/images/cards/4_of_clubs.jpg deleted file mode 100644 index fec10981b7c426542b8815bb5302a986561c000b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4583 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 QkZ*W(MC$8T0v7!EA4kRkB>(^b diff --git a/src/NadekoBot/Resources/images/cards/4_of_diamonds.jpg b/src/NadekoBot/Resources/images/cards/4_of_diamonds.jpg deleted file mode 100644 index e1dfa3aae3b270bb7afdfe39bad7cf9e925f8ba9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4933 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 diff --git a/src/NadekoBot/Resources/images/cards/4_of_hearts.jpg b/src/NadekoBot/Resources/images/cards/4_of_hearts.jpg deleted file mode 100644 index cab1d8a4a2eef1e6099482f26be12d16fe04fab4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5106 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 diff --git a/src/NadekoBot/Resources/images/cards/4_of_spades.jpg b/src/NadekoBot/Resources/images/cards/4_of_spades.jpg deleted file mode 100644 index fdb1ca2063e730869fbe6f4aef2e3a3765056788..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4434 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≺uh1iT#I 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ė|ZlUiQe$ZV@6oUVljanh0?pTChA4 z*DzQY@y>a?z6;~N5L@6Xa(7U#y_HfrsUzJ&veS!!e|T4>pg6H`DQ)WLS@_M%qUWQD zz|)=}d-a(~Qd2I~0Zl$XZ8KPniS^@sA!%rsV&jy8|BnEYXl5FF5!(x#t{$eL@P zJ~ruBH)w=XFK-?-OqzQCRsObkxF@df*zJi7d)L&hyg&O(ySR18YBCu@ggnZEJ=qvm zvB8}Sd`EsaJ46H4rAhMJ&$e6z8nje~a79iAc_rt@Off3*F=ZK3>T#{a=XV11nfjXH zhW`{?k}>XU=zoNl*Ig0dSi(J4&(s&&#{WiOIrVu(+Yham|fegCir{WPrAkn z#^F^8$1qX|s!q+oEbegMceCWh)_}C@!-8X9e5L{R70tTPgK0(v3lhXk z`ivh@3-iwmJ|6X=;pYg!B&z=2CZ^k?{{BRj{fhb&dU(364DGA9Xa*X{l!f-;yub54 zJaLm+b<_kD8&#Yv$=srpMUdJ+pnklSZ$NlJ;5(0^0Y@(nEPnojE^qs2Y0wt~DsfqH zN9~8Fn;R>Lk@_Z~t8A7LWcNxpF^?90IHxdo^V$a3(CO38@=5+kCDZuU-WIQ_Ew4@- z3*xye2)`{akazpm{ol{oV&Y-!uJ#NYi<)!WfUGIoQMfvaq2YisSUv%VShJjAp^ z-C!q%CQBj3HXaMRxYL9(=yP`H*UAum($dNST2uoDmF*A3+rP0uK~OzlzF-dUU_vs` zM7s2OEmmd4$dmr9G~BN>4t;iV#?8tS6bnsn-Oy3`S`}J6Qf0>7DZL+2yIgXsr??|2 zqSg=%m+1|eSpw(Ok++stcFe=7=n*sw{a1?EuT*4>riV>vv*#b;qQ&_aYmGfdW16Nn zIY1Liqk@Ku(I72{M%?EYV8r~qA0UMuiiji{e z*2DNwz~etvl>Sn zRJI_a^L39_0?Ul8`m|ZNie<$ee)MC^C zT5=g>iX#sDS_fOtj@=UrEsD zsj$fgoZlP!&9l)$KW{2&QyvLTl0rPQ`ns-8iz%SvgJw>XT3BcSb8)D|c7fCJ6=de_ zTUMP}G4?;lQ}@cKBOKsx4Tb|;+d=Q{$Ci0jP!D;@@7S=r$g(R!jk0O9zM&=aLGQ?f ziui215HLJOrIzO+Qv!(?oqu2I7#C&~EYojXIoc`n?1p!8)3@frKp*^I?&Mc8^2wX* zTLQV)1C$%E@2y33xTRlvfk<8m030X!yKA_-c{~-+G1g%D@L?a`nf`h=d!w8TZXv7X zp6DI+SFn61x)5@1jDG6Q$$Y+0zjkQvpnX|nfK0l-cI&zRw;wWxGki|JES3@V*%yU9 z_$%wEAK5ZH4}K~Fl>!`-ytjM;oHFqm!G|oTU$pE&`Ui#Cw01ll#my7x->2p6uvSD`@}j> z53NgIrA671i;C9SeC$4$C`v6#v&Y1~a4~3v*H@h2$Ue^l=F2_ea7|;H) zGWX;FEKM*k2k7||J*hvzve*wTjB-FX_fjFd0z@{iE%#u;kpt|t`pm6$6u}HJLk=Km zu^;&Vw{Z5DLPrao9wO0dvN^!x{6yYcL9_N!enuD!-sQ~%qLGi`ooBU6@P4~U9?GO= z8fauA;H{00YJ=9}jy&592r#{Qx5i9?WlU2`plBLf58|!gp5r6Qmio#)3~;sA`pREC tjQ{{|Mr;_Ltb diff --git a/src/NadekoBot/Resources/images/cards/5_of_hearts.jpg b/src/NadekoBot/Resources/images/cards/5_of_hearts.jpg deleted file mode 100644 index 70aec60bb24e6f08b9c20d1ead1d1566be114c36..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5677 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 diff --git a/src/NadekoBot/Resources/images/cards/6_of_clubs.jpg b/src/NadekoBot/Resources/images/cards/6_of_clubs.jpg deleted file mode 100644 index f205dc0c8dee32a358d8ba8f292f887c94ffcf5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5736 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 diff --git a/src/NadekoBot/Resources/images/cards/6_of_diamonds.jpg b/src/NadekoBot/Resources/images/cards/6_of_diamonds.jpg deleted file mode 100644 index 76a36be4958ce25b0cae0fa7045c2a75a1ab41e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6113 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 ZwhVe=S%o@JtRL4A*}n~n#os4S{0CTP1;+pY diff --git a/src/NadekoBot/Resources/images/cards/6_of_hearts.jpg b/src/NadekoBot/Resources/images/cards/6_of_hearts.jpg deleted file mode 100644 index 2bdef7df11575b22c3c27dabc40b79cea48986d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6416 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 diff --git a/src/NadekoBot/Resources/images/cards/6_of_spades.jpg b/src/NadekoBot/Resources/images/cards/6_of_spades.jpg deleted file mode 100644 index e3877d2f6576cf02d73236baea53f70c35d7a2b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5563 zcmbtYXHZjXx8Br*9=d=Sqzgh62}MfeNJm9bIvAxxK=cR_B@h8AQUyc=JR%^1NRgT& zVnQ#6gFvL$1dv`5lo%l-H|Ng1GvD|9xPR`mXZGxw{k}8rdS|WYdDdc0vPb~L*3!lj z;Nai{oY)V*ngK2XT%7;lpEnm9+`QcX0L;tF!^;Qe=jQ|S@$n0a2=WUE3-Iv?i3$me zKp>(JenByDF^D+(8^US>1i(NN;Kjiq3b48WC;)KqaQrub{{aUl7dHi8xf9%tK(tjPWrU5Vq2LK>|L$$6`ltY^L(M#R;L%a<5SGZlf zaDG`}i*HtW{<~mYtpw!PSDokHMC%ha!XCkOtH5<67#4F1NvG4JdJeE12s!jal+2q? z;|%GLr`Vet4)rYH^=#*9V(WVa|0%_Un?9i%I-2vK$E~L=v1BrHtil$O5pg7Eq1+=LX=miL}C%YgO94P{`T=jq7hzP9^(w1@yLGpzhS1iMy^dABAS7DfA!|${wVv%k-YBA z0z!~U4{=@gQ}=9=Y)1CwZ_;B}z=erj-EDpBjP_ROo3uGA-i~Aa%eqy?R~B6a`XzfX zFa$5gQL2o-Rzz zcHa%XD?1=KVi2BnjI*lBKp_sSQ~@_RX|U~?mtm@j29bM;$<>-YuT&a|I}BuHO=@ZP zInwN0{W3^rbtdAd$e=2;oz+JPSd47KcvAxOyf?Q0fyR>JN$SvFKkGC;~qX08H7@pUcev`MSth7+rN}yRE1(AdY=VcZ|i@HKvq)V(7Eh`ZGe+ZrT!FB5p1T&mvVk z?{vXtMqP3k5t}90nIR^zHkLptAv8#D8&TQm4C}Np<|6+bHlUbPDqIvcY3ymbyKyTU;Lp4?aOj# zHp#lZ#4>Xr-{WQJ(k`dw4>>0P$e}H2fgcZH*A2+nu;LheA=$yUrF!h6hWA&+X;pI* zmoN9Hn53tXwcSKH<*aK{H@wzycNW|{2g2@#DGo@C7`mj7##L1raznsM#hip<#H1Q6 z`SVd3BH*%kPXQyDsYv`5E$$g{Ol+=A`sd{Kisi`1Ub+0bZVVp_;7K|v-LDnJSU0eF z#;9Lmm;pO3`}{+4S9I;weEqK4jXLv<3(OynX~!6(X`435F~(_n-r`U^0ip|gVhSFW z9r75~Chko2+^+)($z?8DIra_Axu!6)@xlyiA|A%jrr^4^rSwvUx~84*Z?et~{N{VX zT_-9xbfAcas;^a}Z%&xA09?^gnO9HJTi0MF=mT-z$aNo}ZAnS+yEO~3 zRvI3IC9wcLye#HaL(5mD99r6(GFZL!9^NJEmF@ASUSr$Y?<&Vh^iUaQj2#)*Q9=y? zRSoMrn0Rb#<5xm&=oB!9M1S_2o}aP3cx*05OHQ-q+fDGV7ovSi-*=Z*w>(OjJebu)cowMoZJ4xlab_o#gf8(dEb2( zO*(Q(OU-T!jzTMppN@#g_0A%j$qq?my@y;1eqD?t_Zep)<(OZw;27DMZrR?Bp@gsP z<>;?nSvO#*n7fhiim7`co)%I?vU;{=->UnUcl__H9=nPs)Utqfxu!5lI)0&xy;*zB zhm3Dg8V&!o4-Sah^e}vs4d*ZQrCZ9m*56)IxQBd);Ey>Thy=$Rr{5#zC8kxsMWZe! zUB*4Q;+y5;DI?dsV(62h(rHOyIi1ReM_ZH1imS)IXg0R>s85?{_F^6!LYaeDafVaW5*Er(7;c)2ysCaX ztX9e;`*O0V*)Qs&N&xWT{H)f_6sAl(!kjBd>vzara`#Vvb3v=BYVouqIPp&EpEcrffX%0 z2n}n02^k!mf(cuTp7sI&st0i?OI*-@2XqNIi1967j4@aN< zE3N(K)d!&CyJYnf!r8JchE8>ew{_XVMg5Z=si>I z^L!C}uspUAl+C8xda<&nFX6NAS%8UO+Y((uBXd!05=(l4#0eJhFq}YbyH5(|d3 zjXtzQjPCBO;r31l+t0;08^rvzi~#Uhl*Bi)+Vk`y>QH-81FmDvXR#rrtT zrZUgN*K-Fqgo9B3s;tFmJElb_l-W*W0SBj0?gTi2)PR+TvjBd&QpW-p192B#b>d7= zlUDF`70jkbfSDvd>b>pEB=##@p0Bn~H^a>aoOWpD-=+pc=$4(3ku{XeeU|HY(+u>d zA|Z->NkzvacGC&qi0lZzx^V#H17PZe_Ll zd7ZWEaZ^fnq*(6{7%lwhRjbh9In3F5`Yn=VOE!_ux8+mor<)VfI7c50QIf;#-TA4H5ZPIxW+sQ#xSd#X7<=Qp=S-^TkplOL`UJmOzPaPQ zaK(&G?Nvtwc#|9JP&uYNefP$&vE1S&I-1 zdC`bYCP1mlBGvM(*R3DuCHYAe`Gi6h)qSp3el*UB?Kfr{HdJtH(Ne9KICCCL%Y7*Q zn6T{3cG_FeFcwhqys4rp9obI8m4f} z-}(rc* z#3D+_|BFElIMpKC)i2RvHrq<^<@r~ZRuQ*GWq*bx&Fd4H%4nDcbtNgZ!ehPV=w&1= z2pbZ*ddB*koNhqw?3**7I^LG^|7U1;c@_|t%bdaM9X)Sk0fO|4+sd30F$FR0ghpEVp%X(ewKqnI7+MA2)^sSe7;_%h znHe+=%uq?UQMss`Y`aXx-CUB~Log)tnf!2S5s3x#3=ra>ythMi)mx3iLJnS)!k<|wE9 z!j*u%OW3HDc3@8^I-U&sCE18Q1kJF3wX*8q-#9jrX+@Olut{Hr3YBN5mjxtDyCQiu zC)~zE6fS9JMk`^fu9|MQR-v~tY$-Aqe!}P~nOi!>qGfJOB0=(p7yjfZ>ASI3`K;Pt z`E(zFO5b>RS)=GFRxtEc?H==422iytijFd;I>%$lMWXBX4>Iy9J^BM41l=iIdL<+A zzEqeLXA#54oF>$Xq_BxaB&|6{mXerPfx00{&7B|O`#US&|A9=~A=gq>pW6lIL2lSC z$HBWp&X^wefUQ!>q$g^4W)97shh$mleMY~y6;irlr(SrNmGfQn=YrbntER=HA*Y*+ z|AwD7rwK6R8H*+^%8Qr1DZy2F+aK#)BoN6qzq8? z6O9o|CcK9oOpTFhxR;vaC)Azj@Ca1qOaBP($7oeqk&~Rp zWjn~>G;hw-9JvSPt7%~~gN5H z7oXB2+#)oyV+*Ezl;0ipo>It{1l{_%+Y9{_ml?%wES*dRV}=Prj7Z9o#rPK7usUBW zo47F@B{9 zTb4z0jSQ43Oq;%&BZV1$i>PR6@=$l}w1^!Q*10RPF@EqeqeW;MHLqY7)VgUGYDvy7 zRnJhGUn?vVP229TENbfAP9lkLp_42q_}r3UrV2hzru?&%?NgPCoPo1(xB0_Pb3yYI Ld~$M9SX2K6NAedw diff --git a/src/NadekoBot/Resources/images/cards/7_of_clubs.jpg b/src/NadekoBot/Resources/images/cards/7_of_clubs.jpg deleted file mode 100644 index ad0c1cff9b1d50bd23d83e704e8437ea42da55d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5965 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 iY8}I>33;TPC*yKMp4&z!uJRO diff --git a/src/NadekoBot/Resources/images/cards/7_of_diamonds.jpg b/src/NadekoBot/Resources/images/cards/7_of_diamonds.jpg deleted file mode 100644 index c15cad88caf99ab62ff133723002eff9c179d1cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6213 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 e9N+eFN0n?^|1g0DuYp~6J8OX3KGKJs6pSWWW) diff --git a/src/NadekoBot/Resources/images/cards/7_of_hearts.jpg b/src/NadekoBot/Resources/images/cards/7_of_hearts.jpg deleted file mode 100644 index 0dfe10bf89857bcb5a8b3d430c6d20e5c92549b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6617 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 GCjJe1Dl#?z diff --git a/src/NadekoBot/Resources/images/cards/7_of_spades.jpg b/src/NadekoBot/Resources/images/cards/7_of_spades.jpg deleted file mode 100644 index 8458ab5ff5fa33e0c8307e022ac8bd72e7a4ccff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5796 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 YT75e<%KH?mDux<*rZG6!k6_IH7kUD;RR910 diff --git a/src/NadekoBot/Resources/images/cards/8_of_clubs.jpg b/src/NadekoBot/Resources/images/cards/8_of_clubs.jpg deleted file mode 100644 index df789839e35adebf79aa05b1fcca625b8628c711..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6416 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 Y%S=Q^ecMb%7 diff --git a/src/NadekoBot/Resources/images/cards/8_of_hearts.jpg b/src/NadekoBot/Resources/images/cards/8_of_hearts.jpg deleted file mode 100644 index bd5e725829495851357305a834cbbc3959ce06ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7120 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 QWmagxDYx9*RL1;&0q4XzT>t<8 diff --git a/src/NadekoBot/Resources/images/cards/9_of_clubs.jpg b/src/NadekoBot/Resources/images/cards/9_of_clubs.jpg deleted file mode 100644 index ffe26ace1dd5d9e8b9962e7aa6f294c6d6cc69ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7033 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 N=hn(!r(Y>E{{!TV2VDRF diff --git a/src/NadekoBot/Resources/images/cards/9_of_spades.jpg b/src/NadekoBot/Resources/images/cards/9_of_spades.jpg deleted file mode 100644 index fad958b811582f78be5778245769462ecd59df6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6577 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

uNTVS5;L+X9=9->0;mb3O$2! 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

F*ctv!3(>94M`H~dtHQ26iXD;6PLem}j?QYFaK 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�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�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

3ND*tAX^l7WS9PMyU*>2t&@#> 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

=?R_Vyd#Yx7zOd5X|_fN5wRhy}6%BZKJ%wsLFgF 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�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 LJUjl&pyK}k>@`!= diff --git a/src/NadekoBot/Resources/images/cards/ace_of_clubs.jpg b/src/NadekoBot/Resources/images/cards/ace_of_clubs.jpg deleted file mode 100644 index 1acc9d8c3c45d2a5157ebf601e6493662299e0c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3794 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 diff --git a/src/NadekoBot/Resources/images/cards/ace_of_diamonds.jpg b/src/NadekoBot/Resources/images/cards/ace_of_diamonds.jpg deleted file mode 100644 index e9a85d9553b904a69db9afb0f66c7f6df2e97628..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3994 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 diff --git a/src/NadekoBot/Resources/images/cards/ace_of_hearts.jpg b/src/NadekoBot/Resources/images/cards/ace_of_hearts.jpg deleted file mode 100644 index 11b90a7fc4ea30f84472d8dabf778ec4cb8130eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4250 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 Dr`|tQ diff --git a/src/NadekoBot/Resources/images/cards/ace_of_spades.jpg b/src/NadekoBot/Resources/images/cards/ace_of_spades.jpg deleted file mode 100644 index 35a9cb3e1e4311623255e640c4347055a8b9b3e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4856 zcmbtYXHZjHyWaF>=tXLziHd+6njjL7ND~ne=|U8wi+H3+3FIi!o1nk}1f)cedZFz zY;5d+1M3061;7;GVE+gIj2tX*a&!IzUT$tKZa!Xqem-74KK^4u$M^*V1^DF4o)s^9$r3v0oH_8 zVSt^DgM*!ugNuuklQlbr^&Q|8;SyEU{+(OQ?kFM8Xk>cD%-q7#>Z<)M2S+Do7gw))-afv5{sAGOVd0M> zBBSD-#U~^tC8uP+c$t%%_g8*FS$PHOO=Z>F>ZazF);9FJ_w9ZC1A{{!hDSb5PJNxm z&dkou6Nt;-S60{7H-1ode(mnXD1{gG(c< z`+aY{!?7FBa9?=1HLlD)X{`(x$Ynb_Y0yq0%%_>BH;R?W=piH!0XL(7KzwEMJ51x$ zF8Mj*DRWx${&#*_;R)R=*m<15F0qTo6wwlZ9_H?1=Pw#2EcLgAealLv^sv``D2U`r96_sNd zo@t`ekkNvXStj6;RGY{xQNFX~FI(ng22weOkUoG=r&Gn4oZ z0`gJoCHucXprxjmdO*7xabe$$Q9|lgrWQ>Sw>I|o+x2r*7EYEUzC6v+DocA1{^8^6 z;tGym7Id*xCco5M#2?rOrVt`%`nAHj_V@3

=zPHmU^_$!Rc7oV`rW311}+iM&t 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 V3cK&=&c7XDnwLJPsY!ry{{>ZU!X^L! diff --git a/src/NadekoBot/Resources/images/cards/black_joker.jpg b/src/NadekoBot/Resources/images/cards/black_joker.jpg deleted file mode 100644 index 5894c6721d99498f07fadfcf1c14fc096e1428f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5591 zcmcJTcT^Kwx4;Joy@w)A0*0niq=O()5F&CBLFsA)R7x(OpOklVG2V{ThVhS5GbwAG@QNAip5{>i<$$9e_9=kN{lf;y46wigR#@ zbFg{<2mo+!bNo|){}c{RE)X{lFCV{vAlrZ-25_?P%?aY-<_3Y-)=}(s03^;0R@Obm zBjM=9d+3&=-rdYnKB(o3PAR7mii*DXKVtX=qz}l*%BiZUYaBjeU}$7)VtU-_w6zWV zjP2PA7oA;P-P}EVu3f+3>*pVEJ0vtL92F56doM0NAu%aAD?2AQFaM7R1&_h9_7>mL|=Gx~At)A+>aNg|0n|MlC#;?nX8b#rU`2W^M`bN3e) z2f+0w7Q6lv?BBS=*<73;wo7?`adB{lvkR9vh+A2g2Ykwr*Xx$VA-%hNl9rjJFFN_5 z`c4!n?|+O4NUIo-RH?tv{z>*f1B>}Tk^Kwozqp8i5Eln~^0>qS7_i3zNGzaxIIdX0 zLTow14RyhRFlrDetG$SQp7P-96kmkuZ9;j0OQ*`_Thzh02;Vd`f_k|>rk%t`ap+#> za-{B)r{fP7P@(Z|4+tuef3qX2TI5rw$-uJIhJFKVM<{?T3J`Y^@|_uynh)KWDu3~VVe9Q~VgD$F z@MA5z&fRYKCG)z+2o2nWro!?~4roP`^OXzKVdm9#&*J@xlM2Co(=bwF6?@X+j~gep z$)dvhEDR=|)#20m;nf{{_?)ST31eZUeR8LyxOv*sp>^x|Fq?$6Epl-pgz^G&7_CCR zK*wxZQ@F>orIWB_{)owuxE2C3NlQ^G{N#t&14@hF`#-8@Wf}Y>Gbm5eMqiyPIdJiA z5JuW2RKrlCcD^N*{0i^sUpK?c`_^CTo}c7_FLN3y$?HsRzu;0j@}hr>U^OZz(9Z4U zm|C`Ld(5iir}CV`#!WV07gKo-ko!K-CXq8v063u`B;;tV25$wlBp+0ia3*W~Sz4;* ziy57mCfMHDR*%0Z(dIDP2YPBH-M9n6i?8#wAJf^coX~8stDTzcx;|UwFWt4=^1;NJScGoj0<$k)O&VE1iyGO>kDF02A6B56 zGNl93bqpl49kXA}js#>A7$da&wVy128$8aiBJV+X8P`U(2LcJ6_Xtg&wzvK6ftxu% zBUz^`dxYQEd`aV5-g*4os~5w&f$D!KkrO&}SV0P!f!r}8y>C!Y#6VENh#balTDEUU zKTbzLml=A=?2qw2n~>GlFNwp?Dlz&ugFL&PDfGAXitnW&vXduGrksh(D=leh$v+)v zO)MZL5v{VHYbZ_%}jG4J1DQs^Rkc)j3Xnx=tUK;=VzY z_Xu;~Mag$!4n}9=hlF;vI6g~3tNMxKVkj}sE<1bQ%RmnJ|`u6?X zW$Duay;u7zV`EQ3s-(Wb6j;E5;E!e&Ky+UD^jGyF2WeLRhu}}9J_Gu}9DbW@Z`Qdw zmulk|w0#*&X8Qk#7#GAI;!TntXx=+q=;Q)9@=k5E)(VG1+a74+X4BIdyd-zDu67E^ zz4W62KGZ*i?xa`UY}p;zXRM%)p8T2gbqgVdzC%s7q>6UJ5@rQLaiad4sPSd5mg8v; zRHstRJf&YYXMfA&EOAb?vAE$6d@0;7?mRAodbpDNH5p!8@aN zOXd+4(5b)u&eQ$XxP>HYTuYj`Vx=@nkiU^9!*4nz`6QfsTS$ag*6`Z_7C^CwrMvtz z@>q=h-m%OqG&s%VIRx`y5ZkQNs?>7ix8SrkPjZuh&r)Bop2~5pV9em-P&ZgV`J4UYK8$v@|FY*o$yK|NQ;52z7PHat6 zC`Irm2ckdh4D*LsS4CT+CNFXx9RNT8y>1uKQEgTJ=qD3MG)A& zI1ibc?P+f)s+<)LnY{}=|7xs`IZ}meJ9P1(ZQ-qp-dic0kqTwJEOR-IRRNY-Ur1@R+~dtQT%NOHU!ICplT?E~|M zg&UMtYLAx%fX-6(JQz@V3OVbZuw75sxN>`o*18o7Fe_k0t<0uk=-5te4CE4BkY-LP zpBSI9o=94JO$8;p3OV^3bvcY{%tJpX1G}St$<=>P+y;1^_yUnCGLDbo)?T!E+4VG~ z!LI<#-9K59wm6s-VL7knvgv&(JG%O$LiUv;_bU=CAk!1h0&s%C`;vs3lQK*#s%rv6 zl+^0br>Oa99p5SsCuD8zZjxyILK=E+XA`^zO#rYpCJa@~6!fC3boc6bkr1(R3%HWr z!w&26h3Agiemi-qRq68_rzyuH$R*b{_Ud$Cz{u@l%)U0m*sjdsqwa$~*eBK^;kG`) zUHC5|)g?!Zuc;F-+=0r?C8EoobG++Zlto$&Jv@*KB|WRqq&b}#pKxj7126P_JE;X4 z;O_=HV)%vllroS6N>fsc{(PXoP;Zg=xF#X$s8h;YLK{BAR$(y9#B1pkC=?`i(vY6N zCxFIGwDB{P=nZ9by_rQ1YI|DcM?8$jPg)nhqrYM=NwzDMLw72tc1uh*>O4g>Vdn}F z^*ifcd&k}1w1Zo&KlY^CdA=KCN@UpveXsp4iz+hB-*G&1&bT_?<>1W@IbiqU{7#2X z0u~?M{g4GDK*U3Oi$=djQ z=_guXJ{6vm@H@ZPNOfI4ZI#lia98 zDzr1+WYpysR6E_$uWG*1Qg_&`wJD?~YZFsUj!LM)Zn<_U{ZEi{g+()nfFdRoyzgzrU%>DNugs5Y_K$`OJ!mbONA^3|$M5XE7mkIvl z5u)QkywSa!tsn$w-CKsQLpA#Mb%o;Y^rRyF59mAOp?2^RL==zU>5hP&-3>}tSs0Od zl$E02e2V!dqwG0X@}4?VP?)mXTL4*C4Wx=N--ol``;!fjZog|cW`p1TUZEO$f=j4o z{$;iWff8Cr=$(EW*4VgdZ}1G7W-``bmK|LpVyg}a0PQ8HvL1{?Ym{BL-1pM*=|RDh z6Vk>yph}~?!B)P&s#4jnH<6R=zPKr~`Qi@IgZ@m_QS;EcfXL&Qls_5R?Ja9->C|oQ z^-My=(woe#T{>p+^?vNO`Z@ zw~XSMrvon5L%cRhdQC$METAEsArVVUpm)zt!yKsj-TT3v7>StBK!o#noyVtp9P#wI zRLbU?4k;P=Q>NY;T(tQ10x)jCm1Ov-2mEE|h@Ij@*!AwTds#>4 zP3n)2X3Zi#Fmrb;$SP%NW$NFb!MD&un^thCT?aN?SDpkVz4ttBw}+~%$$LrO?G_^y zgM8|;^k&vlII4_oLCv?L#x;Osm&o^0s5L12?A%MNH5!c2` z)hcrjXl%^i3C}|b(oBP@_H3JodIyHKT3SmojIM&YL*y!^H`ey|Ea`CTv5oJcqVX`X zEb`EAa<%JWGjdc(U4!c94!Zte`6trnp_-P1vQv0np0Q$ZIlYro(}9qbx5|bm^o&nL z##NNrEz}cVS7oeC!F9yoP=(-rlXsX5tW?nt66~iG9=l6nXOIy)4?^zWbv(xq!-noN z2T3WCZl<{Q;P{tk4vlCh`fF}@&y@C0hd_nW^lq+L2~n&gc)Nx_OVBRRPmo`tgXf0h zTx#k(h8Eqw%uWwS20|Jv8+0#vO}=;;cBn1kakQAoG5?zykE5Y^d{s%L0@X|vr)T%| zWW)!cqt64|4x)HQmAP>-<}e{-$C>TV7df^CFH1>ji{~wk7DnQ;&u6=?O)fH3=^T^` zy&v#bl-Gvt`j%1+;Q5#ewDrwW+P@~ycy4a?0 zgu1g{T#B}$!aH#a-Bh)qZl`76^9lA8?UV}h(dmHWxnBkYtA;~1xu;Z|e!K4GJy##| z_RVY0G4vhM9Rvtv+^H!1kxIKPc#iol;XXQ}7j%_rcAGwNnCjD$52HLpv4CELaL9nU zH5n2wXC7I&R&@B&GuU(d!xw&AT7(KbJYeQT+ZEgALP$-l?##uYRi@rcdJ1KTG@Sl@ zJASm1s&>Di=5s@kQ6K7RMt_lh>h#T{CDh>nN--mu2-`<_VwWoFJl_0W1vDNf|EnB^ zstQ8p@4mRD8pkMS;YUJfAf{ol+v2X^xzO&@Ef6s6Jh=JN9n@salr zU=&)DSIpGnxq!seKB=X;$Al$p2F{lPPcL~tW4>{c$Hli(@GXu>-VPwc%#?d)piPMyg*loKgV~0JLib$`-M+Q6K@{eb1 z2Q^2{bX9h?$2|)>Hp8|EyMG#alJU+!MS2V#-$gO zw!$Z6owc$pCvHWlt~dCEzVuSL;&l8w9IEL&z#Tba4cL+n!aDQhDpSb8iYOWcysD_s zlr;BI00%mkzn5^XL_K6s#O*CnZjUa&hO hTh%IkHbbj=0J?csKWE16C?sFWr|29zPGPLc{{VWq$cX>| diff --git a/src/NadekoBot/Resources/images/cards/jack_of_clubs.jpg b/src/NadekoBot/Resources/images/cards/jack_of_clubs.jpg deleted file mode 100644 index a72dd2ed50a084590ea5bf8e5e69ac87e6b2ee83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9471 zcmbVyXIK;6*7hL1_YNXWIw-wKM1)X8klq5)qzQ;pB@l}A_5cC`A|gbjOO4Wd6_DNu zp(;`mKnN0&kLNw-I_Ev__v0&Tu9<80?6qd^d-lxQ_gZ@h^Mo~kL0?Bt2OuK42AE%M z0AUHx0*J5uEq@=0uY`n*YAe_IlhP+S=@P*YN0UHyL)LMOmT0mK0iVj=xVd|HzVHtS3pUTSX>KhuH z5MRDFclY%6^$!dV4Np!@&&@vv=gH1Bo!2@dDt*?^3nRWwvk!6TJ&_aEu1B1F>sfTK6OO*%A zqrI8SwblOVJO8AD_((97D$(TUR$olTdQguV=KU&;72}Z9%3l$zG0_SNL(y_Ubk;oE zZG~p%B5fIp$ZqOUz3O^eD;R@iYFES(p~+DqT^_AG%>!wr6Ffs7xql-N^;T*5&yJV9 z!zwtxB!bfI>OTX{lE57TfM=AUEI0`R>N4qIb!z!?UU_Y;6c zL?5iaCdRa%k6oR8t&OWcbU z03Qgzy4RLWnghbJmwsWSSCNanS7za8CC3!Ou85e`kg%32F}&d0_Hw;Z%({HLGvE$w zNZ%QbHMil2rXKN>M({ zTY-Q0S@Z2;>i^Uglmqr9eCQ{dTY~_gUyBd`!5LdVtc08=2{kN&DY;*m8)wL|Rxe5b zvUwj)hQFy~^N7yyHnRYinno(8zD7L^Rw*-b_1<4P)HopkufW{|;6%#90ZYnG0GPoz z0eg17NAG29^2vFc}*4+1r`&Gzsb$SX^$1tHme} z3o^dtI!ijd4h@}rx;=e}r~09!IQwbJfUaPDLuxv{Sdw2)>JcxRjtp}S>X^VkWDytL zIHIE%yhEoQvNHfWkGk}Mon~1loM#dMQijV$x7pt?DyTeG7$eu$OgkR28EP21M{^oD zXPLyKDWq5Y>?mG;u*Le`=GKeZ_MywSFponZe8OH7ZIs-=>vM_hxz0Q%Kh9vcdphK@ zz6;tL$UsE|YJ<5;NECrVWq}sn7pIa~;f*QBjS&Ybk33L9fVKaqmd$kW)cRNNhss%y zeYhS%prn^bOq*uy`OCR@{2T$O*T`Axh{-GLPFslUto<>$tHCg*KtARFd0zo-dntCn z>?gb#7(*2!lu_}S&hIXt5&`J4!i(Yfuv-CZS7Qkk!S)pe=i($0FMZ(fMLQLD+>VYx ze3Gc1*=x})O2IR?^bB=3JSAd%JdOa+5CHcUnM5RWyO2jX<9FyC=OAwGuRLwIGe&ta zDlk_)D|b>oW5ZKU6@gX}R9rWGJRgU8kQe$_*GtmT)e3pI8$GvV;G=5jP&G%|icSPm zUv08;W~9MJ$14p5Z0LKebKhcnfgl#vuln56Mx%o2cGDM=Z#8VV$NI_1ob-ax$qeqF z`C1AaYI^?ePGiU3&Wj4HQm?8`wNw>+R{c(;&9{2nhT7tg^c;t^bS<5YPwMGeHN&(Z z6sUL9f;yxGJvYM6SY1?kuSKiup@qBRHs@V^1y~CN zfsGI-92qfR77D}B^5UWT+jzT<<*e!3^h5cK4s8TWy*8OC{s&H_~HhlFF z;@ZxFFC07^3H?tz_lep@w ze!s#g%g$*#sO4vP^HOQiS;yX_-em!v^Y$)Ouq1P?tTAn_a6Au=8OJ~Fur0iVTf&}1 zrY#^*@i&r#!Fn80U(!x=u~Ik(`%BN9e|eTL8V#0^L(8Hc8q5SB-4;v$YN&lLSsIT- z_V+O`8!R72>FNtjJ#o!p=&J4s60&}hN_;9iFib)@FmkLt^ZNF^>Y}*0@c%SMUrj3X zhG_5K;}M6@(CQR9@RU4^aYZlpKFl-6^+O*ZxFh^FEt|hBLQoVw|NMyptEBw);ZYmj z;@5n$L7oSnkyKXAz+sflYgO(2@n|2Yv$J9$EbOB;^>WX#ylIGuEb0tE2|4~%%}uqU z&eyFWaajm*1krea>J^ZESJUzJ-JC!9iZQ5P^ZW3xbsleOt$EGBB=%2s$c)~wdB0C3 zPr%*3tY{a+f;+i_y6K5+?Sh|+PQD1LiX{NLt@ILdQuTBK=Buo4T#q}K`oq=Gn^j8t zj_7W^oy^c(i%Ip$rGmHLcKoEKGnerSCo17a_8*PF@_q7Or+IViT^f&0)b(@Qlv3Z3 zCAOp~AWMzpcIlUxHv%hAHLM;TOaT&7bn74%`vR&Ry{Uj}6V~unuei`0fD#?3n}6?y zHeWDPh!OQT>X5;Hbu~Dwu*YVsPd&PK|Wohv9_3hA8t zHv37c5}ErqHy`KcvbS_^M6Q8Yq1t6oQS6=dDn5&eR+SPjd(r3%suA7#sVAw2d)vly zmZbK(PUr?5iyQkvPn&d!ubZN376%5h?TH-X@Hf5-x4%{X>;XOAAiaA53OFmAo!)2nkwp5Zw2j zALz$3VeC_?7J@_XO;**&Z#6=6b|;3HL*jyMLkF$Ry8Jl!WTiKSlcIBWb`G&(aR~uP zI^07vd>~Hbb7M#T-8_owLsMvAU*FpCH5c-ysJkl04lk~id-Xk@{ar}AyGk~#F1Buf zr2S=+lS)^p0sjc04oQA+rsHl7h^f{IQJHs{$J;bfYk(`mmo4mhlKSk~YOygwN?LeE z_^dC~`9-MT^4UjZ5qf@W;@Fp1ss_)MavuY;LWPp`28*_R zgyrtbzf4nfhmlMjUJ!?}Qv$Fz-ht=ypZbJ$(x zp7Jd$q0+L8O!17gf{%$g9O}T4(-ymK*E91(LNqC*`ZZeGpAdmjAl^)_X`9 z6cTKN*Y@Vaw@P)Kn9OxMpv~KCduDYdLrnOowLy^q&E>WX-rL%t~2+{I3< zsfAtRhVkqwo?8CNF7x&+4UU!2^WLHMb#NAppM=YqX+Eum)O~lB=0dFjh?dd^4pw zh|T)GZl)SXZunk=^qSGgQ9)-ay#pu#%2(b+8vA)Ldv4HeO0vfKM&mK*GQx7i&1Y%j z?Qpde>Y8q{%MA-5E(61BbDA?_6=cPw1Kza5YMNdZ=d}_8)ZdV9U(!u%W$vd36UZ0c`|;1y}ROh+8dgC<4*CFeol4FEPEkzeXu$riWHpHB|Mn+hc?zWDL`(pUaj{5mX*UL2j| zf88P4H)~fR0N>buUAc{ha^&6!0l2w?ZuMD7BfoMPiWDpO1U~iSar=9t5Q!$2 zwkNbt3*Qh;03^p4c4S$#h5WW3N>D3_S=(BMhTm*}#aD*A;3r;IHp>i%DX<8g%SvP3 zmEWb2JGt3DjBW{bUKiBn8`;R z+K$2dFVGcclhym`u2QvZ_#2I3Cf$#+X=)Lf@*%&;Zee$L{>;^e_uAi@1EDAqr+S)& zvui8nm$m$S5XR>z9!wRIlf?n?j6CiKa*dn|Su=hRs0h1GjHG%~fx?{O>zuWPpMDal zAX3Q(0mjcV4l1+6leRb5kHDi-KlMs}B08AV!T##D>#+Ky8a1!n%`Vd#z%pA3nM}Q41YR^eQb23~}K~ zSdVK`7qvU$wlSwMPlXvg{>0!I&f_1o)+pDx>Ip$Bm4z_L$M*Rzyx>R=5rgJnuI=C& z{a#<)?yA8a8ZrKMOYgO9vV^;1-)9Lx!IR(ODxs=vBBCb~I93mR=$xkhoN(b^ExI6xkk|Ok;#0^WE2;CO4Cw&avONy+1kNBanEHSMtfR z`iRGq&eWUp3%%hkg`@%FT%c4aXrs;R{v=LnjS_xwYpRiqKB(GeOg$HpB>nTXgpceO zgMg)@$1snLItcbPee9a;5kC4tJ>zuV|M(V9E87m~6|i{-Jtz6Tt zS-34LrLs2ek==M(Mj)g{1dVjX@X7TmOD;+GsMi&5nllv&1}0Zm!r_M>`{)-ByC~Pw zNDGV%(YfFAyN^?Zy(e7!vpKJW6Yn0#>bWnZ$%?Z3p~m#n6tE&;s5b6yF6o-}6iNj@ zXFv5*HgBdumo@{n*!c2}gELW@&XL!4KH{6=N;7!c)|vL(*n1=0;rz4NBL?V|q9%-R z)#0L4kM*tP9FlL5@GPgaAz4Qj{Z|#TYnJ0SzCCXmG}U*K6U;8 zlNE+SImh64vQs$eE0@sl{WA74cT*NW)@O4OfQHzxWOnApinRX#~KY4f#jRYwapY z^?7Qm7EPO4S~2cOx}Cqy(bOZR^{mUA)49|CSoblf(-7S-5zmu$Jh~8ek}9aJ<*=T&Wwv*mQ_9dZ8Sg9!?nK?6%gVJy&W1P)%5-&U)_k0i*EzJ@2%$K z>oKx{?c_Y@4w`TV4+20Z_@%*tn^s1*ed=*&fsVuzFWt@~R|g4a$vVl^mvuY`0?H#q z$M7)jnk&Ygfay8Cli39#U1w)7I34-`V>aL|7+oH-wijh%7BVh(ZOVDhS$hT^wRf%X zT;-coH>&=zs#-ULTM?LDTs#`KZXYkxR4)>;PLlXgQus9k96ZK}98S7)I#?UtN-NEG zoqpfp|6$6n-bT|F(tdM~0Nm~05ay|1j5Dcwo9R*E^{x5POE{n@2Wh%fvq;{#c$lam z72M8Q{cf)NiC19gFEtoq*XApm#i5Wz;KZ@y+p-MPCSjScxmu*^%c?aA8hk&q7n46D zy)>wFHNNGg;8Q<)X&m zG-B%^StY>n<;(fvd}p7DQjlr;%)r799oEX_hEit1qnh7|Gj7_=`o0z!_8p^Jqv+rD z2|uPr%ePrRO;uSOFeE!yPZ;P{=Y^deYlvYNK3RGGVNVF~mfls%ml(YlvcH{xkW6nI z$#NB`C9!OQ+D^$|@vm;65stI`$M+^%z6!Yi z+Br;aXP9j0pz?fq_R803^5lFg!rpyy%X`t9(PhPjGf$WI`TgunUd+CCiU57ikHSRb zpK+&;=k}!h!Hv^v=)jzio0TF#iR&xb-@W@4KmCQP5XhKpkkvum7jrP`GIKN_vX@`- zLu8%WfF3rfLBZ=>Q0=77*;hOe)o0O0t+q2D`IC;K&5rtxq-vZXYE;hn_MI*Ge(Pyo zR`t=xgN4n;K7yS6KLgsK)tOK|a9s8Hll;A4j<>+FawQbt%`eWFLB>`}h4GT;K zH-%3XQsZPUBs}q~ldWnrc{9g9ryxmf+NZ_4hNQz`MNzIFQp}v6fptgMGX>bz6nGImF)7rrPP|(m~&jxC)a5Q&s=?nc@G3pu6z!`>=*){Wn+^ni}7z;NO5UjnGcOPUZ-8T0{wEm}; zLh)h6$KK`DL+?y(PHnWa+XTfsGZ=)B*2(QREM(_q$+d9!=<_I(vkv4s?AC7u9@hn4 zoG2Ett0sy;3XQ{uo>g^pjxs55T=VLQT)O1{)ukbal|jv=;%^6sc3V_@%ARTU5N^nX z*oenhvpst8vMJ|w_-`dirnkD_Z;7T7c_%ds%bADT~ z;;#jZM7-VlnEGZYifE;QIr(ue$dgyZ3O(D1qL1&Odn#}1{nGHEt=C9?zKRR8%!2T3 z-E{^?!L8w%F_O4uZNUvi7DXs(jmKHm1#g4bblk-)Y2Gf_h#C z#cyFdys8$1Kj3GFPeUZ79@sNkdB5vk)ze?(Y@alH3>K)MKme?7!~(|i@ryQzN@)!j z-b~zP?NjnIEzKgEwum4hZL!79l=KLW;=g#R73+!N)!3!eD70_440$ueW6`3m0=b)G zS!|4WZ6vP~_FaeOS)pXJ;x>mh#nJ?V>qsWCU3d-$*)TLU$4HeZ&i!OqN9X3vhK}O-| zF#-}*f&*NTx!3?+O#$YIZWIVIVF9_*n9J!cjin zCiEU+O2$gFG}zg^-N4p%@P>?m=unxV>FNb$Xv@whZd(i`H%t`A&sn&gs@eL69GEtJQ-*Yo7Lh3&G z!MPWQ*CX z#}^F-n#uR?xL&AXLp$w(&saC|IP#>bRwEB6dQl72#|`bh-z$DUdIS{(V}B^2wtE)h=EJzXWc{xL>z}Yi7*43n zRgRSb!;78_@At3uK<>qELb#zDLD_DX+hh4(`(6(0F&05JXJMW-M0QY66sBZKL8x`c zErL&)R!Wooi3N|iy!I6NA)B#^K>JaZ=xmzMsWS6c5cnWxZ-O!UG!X0TqeG*?IO!zF z(PgVU@Nh-^-)sY#1&4L%hciN@(R{HQj2`SxAZDzu-h@;Db(Q_1`Q+(-JY<09bEcpn zi;o>`q*ebgonN6Dx^UkJJ#gCeJs*OFT$WK`U;YVITMDyT@!p2~;?}-FwFkG8U>wt- zxM7i`$@l0#(jTJ^jfgID>^>$51%BlwDkb$)Vd0lg`KZ5jd_sU zPX|f@Fj!Sg0On#4_(Yq2%wbOwJdSJ6`+CwYVum#FByMQ-)hVi+IiMJl1mKvnBzEjmJ!MjVs!K2mrrjgdMC)MuU1~ zHz#jqyw^A0Hv}f1!_IVB-szj6#|8HOFh?xC7fg(JUn9YuV|JR@PJ1*2&R&v{>X3Oj z(AJ~;t%f=!<-xABe`br`P2}p_PJ3zhV$gp2g|*dSlOi9lI#|B^Smcks)mV$OIOU3P zyOC5X*x61dAzT#aG#B92=G)uB*!Z(1K<~+yY+a$Iv~T%78{PL6qu7awlbu=rDEu9W zlw(=FMDodd`QjrxLWbJvKw)PHTl;-ey{o!LEWfg*NG~YKy0k5KXzGP5Zb=I*4B}Hp(#HDJG;f&B{y+73r zs(xh~4+~5`J&;*+ZLWLmWEI809%5pnNF1ll%Q5%Mt>0@zhBJJ;nE<4P^Zm%PO#DrR zN@{cNK9qWGsk!atEW~ubPQtbQ7eFovoL*)8vBJKc^)B+;*k}y%AQgkm($g=*AL$pK z-;PXsKy}I&=TI+v)?IkDfWh5)m0id4FZ{@+6|`A;*bEuS;2o)}(0gJfy{>Dw=CX0E z?Lj@QEv4aPg_nZ?tcQ=Y?>tsJ*P_%`xKuoR*Thh$X2rS%M*y_W=QGV_maM!T536Af zDFcg!<8Ppcpuqi$=EIe-m)jl1$c2lC?Qv@&F#&~4!InnfafX$_PsR=*sf+z;mKm7+ z$iS>emUMbT(cd%FEGb})GO^wpAgond}10oLo@aqHgB=)innNbXMf%EFGy zb{pNr+IXUZmsmra*T!L5^`3Nk(bq`k2TgMKd+6RhRZJ3aVNw#50D^BE+vj3-c6Rn3 zUC?3U)(<-iUpX+eU&G0LuZ9}JN*4H7AxWS1eGVcU5~Mbzm(xCJdSJsv46!qn%G*VSP7{v43uU zE!}-#E4w5NpJ_O)JI_A5El^pTQEvVjmY_%CudqY_y2sGqOR@nxu^|EIeWVTWq3c^2 z34mrT0f?A_VOU_@qiE3oRG|NF3Wex;=-=h8e;PcxOOBI75?}o#@f5ZukHl%q;3N-8 zVBeqpqr_rNL;$GOy7*4G`LMKCYr~A-f7Jg|o5h$s^G<3kvhe}mb@HT!tMqhmJKqpW z(Csv|upvKtI(z3E0Why0nZJF8@YzrG`Udh!TVh9@MYd{xz&hwp1i+XbG-;+*lZ18I cruDYY@8%BsO0uSn{B?U=gyoST5n@!fOpJ?EbL&wFp~vDesh?YZ_EzqQ8xjXCF<#A)Ipi1CS*juwc7gcM|a zd4Y%+kOqj1^l$mQCA$=IO7g#jijtColA4N!hMJ0+nud;nj)wLsEj2Yg6a7^NMn)z^ z8oF!D*BF^EpBexD2+7|g$;hcL2Qt!9(_Z%eKMJu0#6$%O16h%g2!KeLNXVE-h#eq) z5Qv0=$l_|S=l+cdHDr} zl~vU>wRJ!18`|1CI=i}m_4JO8jZaKYP0yg0mREkSuB~ruZsGP14v&scfYYR_8-Xp?|^;y|3dcP!2XE~4Wc6>x!gQ5CXhPl{GbIvhvdgA z0_u6rfvniT&vaaF5mk9+!Tfx0;FaHF02Koelmx?FPQvIxxyA$;=>#oOdRSjH-pkUp$ zb%K3~7!d^eK?E&3UG_X~BZ3YkoWTGEI}yZe?OOm4K`W(^c~&lGb!{jLvl+982eX!X zE6%I}(OPC-FCyQ81e5cY89sum)xwtg_Lyeil-T3OV`Y;@T?x4^%|C8m=rK0*4y<2e z-o>Q{#f$y8U|>!_9}gcf0FU5OM9{;@1S062Ap$3lXuG+DIAg0W!;?l5K_AOvy`aGD zjPNE6?7AtC^aFpjsy80{^(sL-LNQh>>QMWdeAtOgJwg42*N zvbM_i{4?U_HtK&bo6wR65hVLx>!@&$6pC;~e4LjBnhW6^*rApSZo`Q~F*}c<`SxY} z^fc4^)t*~3p5T6AX;ytRFpr4BW)e~bILSuq6)fOchTTd^4098C?{s!q6fkMMco=W~ zLwS)$?A`}=S-Iq`sPQRzgDXs7MIjkgCEUulpu(ld!#{7Y;03JNh@ed96C$YPHVQ~S ztvW8h_@;Iht~nu354FU$n}Z+o_DiWHxKB#lV-Ryn>h1nkmzKRx#x#md#14g5qu61- zx;T@MGAa6#;!DWtPX*6Lp1dFaz(I8YLA3V5#|D7JKb^X6f? z9o$LkO?6)k@}Qx{1omg{56)t!6xI>draN!!admoFXe6GS75S}9dTdvrD1=0_Gg5#u zEexm2_?xd-_Nu#BBQ#8rpT5a|F@qE@Tr+lPCZWQxtX;h+X(QWxoF$o2>)di9M+oU~ zx938vFY~A~vTzGCb4UceKg;k=L2_j?9o$zj1c4j{sHpsu0 zejcN^NM}cud-2taA<~=(>f&Vzq?@ftZ**DngIY2}AdpW&uJ7@NOs)FG+GMFr2Tunt zxx%?#sZrfGsRT7ta2_MqZkfwNm##@}=Uy8Nv(hyELqGXGM(oR;^`wrxDqoH00#ETGd|PhRlg&0It}DWqAZupg3UKX$bSzMd^kMj!nAKdXJeb z-)7TrAC{J(cvB@b1!zbs^_)kTIneUzO&%x4$Lk4CHn?WZfsIZplQ`GDS(R7hQRlFI z$)W1m-|O?cmFJqFg4g(bTsYE1R-e%DmMD?m;Lgzv4sOe z>0473R5f7rMz>zQDrX?9Gr#($io}xZ##;UUCm}!h%AYhZK94CJN(G}F zrDA-oc_xpBcy*SFU~cj=zaua^6_4SZEV?8Nq=h2$Ute~9rt>*g_^tRhVTn_1 z!f&bZ{Zz$M&KGvGWJFMaX`4sl%b%vQIZybTvgAw0CghJMa;uvUr~1#tlcGH8L$B#K zQ;E3dq(Z$Remrhz@gBZ|7RUK6JxR_2-{muQIa+%f8l zaO5_#yWaJ&(W6~$wq7CR+#CK9cjx_~0RxPzy(&^>#Z0&|eTVIU(!GeWmHZ}~a_y&n z(0x-sn>n}zmWD9AKvS&pU~#~7hpV~seR8k;tB$x{mL9j&grqRd>y_mU9KS?g@DF4} zRl*_V&E?p#PF{u=<8CT9y(tFMJY0ol>0d3oKiYf!VZ~N*A}->Q-D^m6>dOo}=`Pb8 z_J^t0f=l`Y&%E`Is}B8L;6-05ywl!}uBAYFFNVf5W5)E(+m1P|xksylZNu_sUN%Beq_4E%wYylt zz{u=`=>$5pnr;+ZaL;wp6=z%Tgty$%B~AD8hw=kJul3R zJs0h+@o@0`B3(DN$xG-#kx9S}amvSDpjDSunCT=8XoSko45e0@rKT$MYftQ;TzKu0PC{d@AM_Wgo9} z{O2lrC*C7pXl^ZYrR3Sz(@AeX$-$(hM#y912;FF~C2aj2lYEqw?bvieFZhZ%*e;Ede$@G=$uqm1hRRgmw z;A>5;Ik2p@bb4%HRu-&Q=;uh;p2`Dw+yGLBTVX!Rj}<3B zPm1l1mGBy1e;V1z_7wPVqLE<#p?f!0aD+R>*^c6HJ4taD<)k?3M)Cn0gbCz=t#ql; zV+W?9@Ct}!1nK4wR54R6jIHE2e{Wv#49PKS5d-sdgeC|t8r%o)nR3$oL zf)^UnFpd6N=$g&k459t$D0w-h+e;@g$94KAYKs?HHQ&5qKTMhP$YRX4lB1iOQODl7 zn|#_Dx6s#akGsJV?m(5@Z_=llwj#Nql~+au6AoYf9wUik9y4?|fowL=gRpIk+j#p>CNQ z#YzQPO!K;cb}I5g663P_#Dh~*6<)n^-F>L#AiTC%>_O?wLH_h;)kFBNpLMJ>FYZX% z=c298(I*y1b1tP5F-^ik_J^}YW>VXGYQq3M?x0(ZZv0R^q$p`umnbKwl*xf6$Jyi;AKkESE(pZPQ;k17~jL@OJHu6zE<5S`QXCo#MsK200K z_qh~c(7~l8wOV9wyPhrJ1@9zZb3H3*ua=%0D(Dug)-rPo(k3@xPh@=bJD=bEVy`T# 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 H#F_sCN70>+ diff --git a/src/NadekoBot/Resources/images/cards/jack_of_hearts.jpg b/src/NadekoBot/Resources/images/cards/jack_of_hearts.jpg deleted file mode 100644 index 0fdb8e82797fab94d3bae673f74cabadb04c5e2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9558 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 N>4AY>;?RWI{{=OR6QckC diff --git a/src/NadekoBot/Resources/images/cards/king_of_clubs.jpg b/src/NadekoBot/Resources/images/cards/king_of_clubs.jpg deleted file mode 100644 index 01955d28419e0b5b19db8527d4bce2b4d146d094..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9331 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%0AIV4=P^{zsy<7!i2#~H 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 n^0l6onklq4F6G7=xq~)cF^iGrxp(z4_ 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%0D&dIF!jiYBRJ#4QgG*r7H4HyP z*gJ1VBhHo_f3LiWljMg^L)e9Z4vlie1{uhbR)1kB5vgB zfWd9!C=w$758(m)hw%6`AHqa3pQ{$6Kx(IVjtJ0^gmMxAROUoL%2;m?5%Ac*_Uig* z=h6RWEutfqD`1D5ILk4s=6@cy@6KKQC@Va{U@fMh{?x>@P}erY!~nT4Bg&DOQSK$(LQd1QuU|JKtt=n*VWa z%&xSDw>}blH|V5E=oeH28MZdObC*l$7L%;2^4ROX2izrsReER7Ypm{h!xfi7DfiN>ofx%a2-`+Qrp9bxttGzMnp4(HIY>14fAIvW=D@X(^ z&}GQ7SmJRm%Cg1r9ZiHDlLK(h76+4Dd#WnuKZ%fa)gV8@;Trs-iey_*IDc_)|e zf|WGM6xAkkll?0$$2XT)@HE(5o0+|XrY`nvuI62zpVCeFa);t7j$)%49~=JS`x`G>D;?ji?ob<+TAjH2K$}h_EHUjGy^2H1Ys8nH12A7uU=NHHs)(g9 z$3@m|6Zoeb!x%4(xbmm=GWMEYtI3PMuUE^s-n|EW;+0Jvoo?TMX&TWxRfnVTfss|G z3MEXjEbFxGrEV2zD9`HQkLi-Sl;-z_Uo?)m>oI95OrD!xEe*}Y)jj=*9Y-kdE*RWf z^wO!WS<+sUMqZxQcWLrLHM*D-$)sSI3EW7h^3}rL`MKvUfeOk6rm2F?LyTTBULC8A z8p%q+%lb6BT{ORc9IdHfQWqD0#RC%4`%;TIG!SetxF2Q|MskxWw{utcPHQ?C6G*?6 ziBc{fv=`eVx%4q0EQ{~(&j&BQKxaDNmM+cjM(+0~M!4(3LMo&s$FGu|4v)V-xxb*E^bmzL!Bf7hTVAQ`9YX zm)j&IL4f(Yd-c17e~T$h_I_iEt#BixU6UqS!O1xQJ|pEq+jE#&)p)f0Zbr~E;Idd< zTh&|>^dE$!z<&~!)5^)f+g3qn4{5Vx(3GE~mv)+g!XC&ll^so$@nD$Knt3HnnJiGC zn7*P8aqlkLRl;1jJH-72Q#$Fx z^H;Cg@J)940am_N>oc)>6|s`M)tR{P@f?!`f+X%Yf{z~0P_c#7LwEte0^4W4(n#US zlWSJgElIp=sciW+ddvD_kr}lmtE9A6xq$1~9^1+<4(5!e@gB~7raxa52e-N!UfSry za5=>d5CMFH9-eKck3*jE8VELWYc#SLNcb2C7JTjujF$;+!Z0x*w)5N{eg6?SAqr}2 z+Y4)!L-a;fj@X|b?uQ3$YcdeT-IlKVkA$KvW7tn6<<InBdLVqXHm;W8A{ftl)Cj1LJ@72^!UE>ccG1ym98dLuS=Bi$ zAjvGHXb-7OFFV9nS$t}jZ~SbfEIDh7J)IQTnd@GjYE7INE@(cTBuE7f>>n9q&s*7= zI2E_Iq-7xOg_W#z#Z&Zq`k|TNbZ>j!iVW8$Yi%A6o`Ide3k^F}w0Z6w!@*BgewZm1 zs*+NVpzUx|cT$jA$^gH^X?%Tjbyt#_zx_=ZHbTK}E(8r~;TBeM z@4vX1dQ~gs*fK%Z8gKmM5wQQVH!sHd`xAXia-A?wLv2-r*$3|mDMq?a5-%k#7&R8F$?&S31_g0?J7`!R6zzd9y8G1L^2Fs;J@9j#Cy)WxvKsDat)^mz@Ur$-fek?$!j@I^_jvP zFOM9WtObUK=08-)_t4~=zW(MfA?Y>~H4TnC9t*v{@_6u_+`O=Le8!5FVprcmad>J2 zSb6fC8y&b?%G3{w1T%Kt#mlrLcyVYIZceLpRQXVxX4`X&zx0M>pyx{pu=^`(YvRa)c3WLAb$zUwf_EBBvcfRJm}GT2<0=yd)<0!2{O@IJFoWR=Vvu9ZBxL(6M$DGOK(} z1hAxC+p_DzOB_%}{CX9!tgwXFVYRGC9-|D%H zkkw^K>`7rq=DS3dZ!*5KqWa)Mp)oTWLCOQUO2@${I)xy^McUQ4!6#U!v(xE9syqYN zoaai@SRLN;S?B~>82aTrgx9sG-V7BEaSt4p=~D@n@(TD4DoyX&s0@XFBhLO02Y$yN diff --git a/src/NadekoBot/Resources/images/cards/king_of_hearts.jpg b/src/NadekoBot/Resources/images/cards/king_of_hearts.jpg deleted file mode 100644 index 467b0cecd50949214326773c35f700a1580f5ac2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9541 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 diff --git a/src/NadekoBot/Resources/images/cards/king_of_spades.jpg b/src/NadekoBot/Resources/images/cards/king_of_spades.jpg deleted file mode 100644 index 5e7a6857065c352ba5d9316fe9461e0569d249e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9248 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

n`(zW?ibx0xq|k&!wNVv4L~86q3;8VYe+&9y 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 diff --git a/src/NadekoBot/Resources/images/cards/queen_of_spades.jpg b/src/NadekoBot/Resources/images/cards/queen_of_spades.jpg deleted file mode 100644 index 69e953157e7bd02c50f4364c560ae2de6a932266..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9613 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 V{@|Mju~|h$eInS9n~FU5KL9$X=ehs@ diff --git a/src/NadekoBot/Resources/images/cards/red_joker.jpg b/src/NadekoBot/Resources/images/cards/red_joker.jpg deleted file mode 100644 index 1e909c5bc8b0b4874360564b4bd693d8b44b811c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5742 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 s1Fq$C6Ny?_Y2J$_OHtLo9xztq{)c^nh diff --git a/src/NadekoBot/Resources/images/coins/heads.png b/src/NadekoBot/Resources/images/coins/heads.png deleted file mode 100644 index 95fb73364054f9625cea4c3dacb0919b2f2928e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11437 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 Hu0mjf#oluf diff --git a/src/NadekoBot/Resources/images/coins/tails.png b/src/NadekoBot/Resources/images/coins/tails.png deleted file mode 100644 index c3cc8d19f6d01ffdf4905431a4c5a5acfe1c7d83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11404 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 A>i_@% diff --git a/src/NadekoBot/Resources/images/dice/1.png b/src/NadekoBot/Resources/images/dice/1.png deleted file mode 100644 index bc1fbc3e3b67d7d981bf15f18634f3b04d6cc2d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1006 zcmV86oz?&eT034d4v`HNZZoU&_hRoV7W9<4F&yB&{2%&=&0zBwxB{3(9vn`(7%QlEq^2-TLg2S1J`2CAZrAo7!G3 zmp`n}bUvSdiOHIE@DH3AwZI<%RVWmG2Ewp-AW>-Db5~&5aQwKm_C63t~E*N?&xnUbF3X%l7-d>*w?NQ{8(lTz|D%Nw;@4o7q3K z5DK~u?d|7_QuW_qbi12coH+j?f~hzs!Y{Ih=@TXSw-xQ2=UEc^ng@V zn3Exb66HG&o@hmiOvFsmcXurSTKphP$c(x_N??!!{ZcZ&ljPl2WO`PFc=;EpJ1zq1 z&zN6G(H#bYBXv*S>HjI0z#;6FU048#7bP$n@!1O?h#c3ZMG<7%P2%Oi6(YP)Apgcm zSZ*R}OJs-~w^#HElC}rJ@GhuAYH!6CR9RRseo3!1gWlpSQ8Q5t1eV`PXS3OFytw}W z_B3~3L;{yU0000jbVXQnQ*UN;cVTj60AhJAVr*}3WMp|RV{&KQK cGBibQV{c?-a;OG>?f?J)07*qoM6N<$f{#YUy8r+H diff --git a/src/NadekoBot/Resources/images/dice/2.png b/src/NadekoBot/Resources/images/dice/2.png deleted file mode 100644 index 2e2016ebff2cf3c3b51c0abc533f0a96184c5298..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1070 zcmV+}1kwA6P)L{QP9Q-Hz#Ghr@wwHk;#@Gaiov{eZ8&A(ZxjIKO;gBd7&| zSg+U21OpuO6@8ZZgkj_Y854{YHq>f0>4~e=ikWH{Rx;n7=J zC5F5s8b%Z)$6P|gg?9&u3k)*&!h-_e-3a+eP*RCI3_lcJln@6Y5R-GpB{}5;2qr4$ z^NP3|d{mAQB%rt(d{hF08K0`n=X2I*G*~8+IceC2eY%@}jv@r2nmaK4eRz0a_xJbQ zhJ83jXM?YSK=%8+Qe-?nJ_=z_!!bHX3Vf9UK?tcBhC~nyYB<(}VZ#N2haweACX>oQ zaIDUT2o?gt{aM9SVNf$+PQnF(N9S7u0-uFIROcVEyNhW|B&4x~U--|b$@qNqBM zzS~uO`+qHq;w8KE?f)$Tfrvo}ME7#cD5?&qJd+Cq)yq0t6jcX-MRz)vbBA4Z;4kwQ z0?|E>gjsb!`9lgswG#2#krGDLfl}e_tvuvGZKYi6{+04>Q|(-O<^h4$?AGKV{*rDU zkfU1rT$YMkuu7S?X~t7k!FNxHNSeEDxBCw@3>~N&<6`iICozNXE|9jT%8a`R5k80{ ztMJ_wAwC}$Js?#T{;?v0V)C5_PqZRMCVVF8ySEkqEq)LrWX8PTBrwQ<=TfrsMw0iV zBGb1b#NAhzH3i(H#VWBXv)m=>I8~ph4KHy08EeFQ&lgMAQo)h#Ia0!B{D<}w^u|3N!z6`{0pj(+B@b8s*D{Nzm!*+LA1C_)O^GY z1eV`PXS3OFJiq?}yQ+7`F22F#0000jbVXQnQ*UN;cVTj60AhJAVr*}3WMp|RV{&KQKGBibQV{c?-a;OG>?f?J)07*qoM6N<$f;434-2eap diff --git a/src/NadekoBot/Resources/images/dice/3.png b/src/NadekoBot/Resources/images/dice/3.png deleted file mode 100644 index 1e099590921f7698f68bc3d6ad1862806c1684b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1115 zcmV-h1f=_kP)8+_5XX6gdxU$0Ji>`S(zSFn=|h(yN-jVXs!-5}f-c1=T{&X#9wMp`8?cD(arcD*~^|7J1@yS=^rUMv>#4-XH|&d(;5a=9#QDo&mM zP~A(V(r@SI_1)dwMaI;elYihs+Z;ay)cyVaPb~~58lLZU$hbmLWe$VwOWDya6BH1`Ft)uKR*R0+wFE@y&R-e44-i~{}@FH#I*0g@b~ia zQe?APX~AbWhqJ-gKp@-g)+jQruCA0YsNfvVkpf?}KoCMEh9(gNg9^^Iq1i}*U{Yja zxm?Z|2+rkfh+riUJfBU>6b2O=#w1c8m^!Bo2z*uoF&%&Co-VdE85)oL7m&xt$Ha81 zp#VWgWD+IZqa!pRux_`j9gE;IoRbL7L?+-AyWAl!g(OC7`xgj?!>#bcLK>VU<-j8p1> z)zFfk)NI|DfbNgt3fQwP=q2|IOQHIOJ$2UY`#B6XkzV)|}3E{h^{pnbP%`u0CA zi(;m%efytAAP_MqfpA}r8Aa-VmS;+VVD&O*iz0Opxaf}aa_+EG2mWQ=N+8_(kuXyS z)PHD!n65;OJ5s_(9T+X#P0J(?YAfTl?q6BnZL1wi&paT|nx#!1;$PA&1LCT+k7cQN z1e+}Lw#{U!D){aR5lM5`ZnyuThNc5`V^R#h$RuX)eGjDRsWOu;LWB=0$trx`ix8jO zO%F&_g~W;qip@_R%xG1LO!!RFcW*BM+Wa6$$c%BnO<>Rm9!trN3rXHxMW$~@h>NdC z-Ek98=h(lHqB{tLMCzVD(En3kf&yW$>Ba)+crgSX+7!XG-Xvbu?hxUJ z0{J&C!gdq3ZIPiWc)TJiNZPK2;one&)ZPi-P-W!6_+`A)45DSfMNKbZAh7+;_07%A zH<{mm0f8WRE=Z<5{r~^~Ep$a#bW?9;ba!ELWdLG%E@EtNZ)9Y7E@N_eaCC1jX>DO= hWiC)oM=~@;Zewp`Wpbznf9?PP002ovPDHLkV1mwn`ab{w diff --git a/src/NadekoBot/Resources/images/dice/4.png b/src/NadekoBot/Resources/images/dice/4.png deleted file mode 100644 index b9be3c4f0caf0e2eb97021079cdd2c00b769064b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1089 zcmV-H1it%;P)22g5XX6gdxU$0Ji>`S(zSFn^rTA>!9i%C3Pt)*q)QRe(NWPMT|tE?NS7{re#KjGl~B-h=)+E@6Z;RxaE{KFqT4TGjRb-w#4$9@xJpsMxwR~eN%*BPi4+K4ozD#jVpam-jz6NZ ze3D%z3BNQR`6nRNYW2S))g=6C0fI!txm!A0M^b*Z0D%n#gUB%fKEpY>O}AfdK{_${&$HxGNFqj+s3B&sw;9E-!gdTd~)= ze`R^Msdgwm3xGgtc5d>J@RDvB5MQl*C`-j7n6u2=G?S^S5PKj*B+Xs7+x?3gx(?Kh zwisfONz4%Y4oEvtW!f%6L<}m)Dq`P>5byj=4@gyoFIH4gOn&mG0GDAB;Tzp094kw^~iur{U-Ekl!Qupkh{-1IQ3WUAf zjRlZ+F$6{>lHLG8Rp6U8Mc~$(#LJO8M1-M0{*8;U-GpgdWT*-ruV@t{ZI6Tz-cW_q z-j;8uGV);jV(&DA*0S58W@s4*Y`>GgzP|n@i~A2omUxxFUOF%U001p?MObuGZ)S9N zVRB^vVtFoNY;SL5WO*)Qa(QrcZ!T$VVP|D7P)Z)9b1s0M%T00000NkvXX Hu0mjfSF`;k diff --git a/src/NadekoBot/Resources/images/dice/5.png b/src/NadekoBot/Resources/images/dice/5.png deleted file mode 100644 index c25c5752e819457ddc0471de9d482e15f53ac5cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1136 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 IM6N<$g5%nrZ~y=R diff --git a/src/NadekoBot/Resources/images/dice/8.png b/src/NadekoBot/Resources/images/dice/8.png deleted file mode 100644 index ff1e0ac32adfbdad963f9ab2b9e40be25cb692b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1392 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%0DT56!!Zz7;!WKX`cl`Cq=Kb$1zciq@Ulsr7u- roYljFvFo_RZs~}^^Ooi28y>Nnma!Bvth}-d7)%VFu6{1-oD!M<_)o0_ diff --git a/src/NadekoBot/Resources/images/rip.png b/src/NadekoBot/Resources/images/rip.png deleted file mode 100644 index 6225b1716ca31cdcdf2898b85e21b31a6427ce0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13338 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 value.MB() * 1000; public static string Unmention(this string str) => str.Replace("@", "ම"); + + public static Image Merge(this IEnumerable images) + { + var imgList = images.ToList(); + + var canvas = new Image(imgList.Sum(img => img.Width), imgList.Max(img => img.Height)); + + var canvasPixels = canvas.Lock(); + int offsetX = 0; + foreach (var img in imgList.Select(img=>img.Lock())) + { + for (int i = 0; i < img.Width; i++) + { + for (int j = 0; j < img.Height; j++) + { + canvasPixels[i + offsetX, j] = img[i, j]; + } + } + offsetX += img.Width; + } + + return canvas; + } } } \ No newline at end of file diff --git a/src/NadekoBot/project.json b/src/NadekoBot/project.json index 1aecd709..dd7c9f50 100644 --- a/src/NadekoBot/project.json +++ b/src/NadekoBot/project.json @@ -31,7 +31,8 @@ "Microsoft.EntityFrameworkCore": "1.0.0", "Microsoft.EntityFrameworkCore.Design": "1.0.0-preview2-final", "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0", - "CoreCLR-NCalc": "2.1.0" + "CoreCLR-NCalc": "2.1.0", + "ImageProcessorCore": "1.0.0-alpha1039" }, "tools": { "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final" diff --git a/src/NadekoBot/project.lock.json b/src/NadekoBot/project.lock.json index 57023365..70619baf 100644 --- a/src/NadekoBot/project.lock.json +++ b/src/NadekoBot/project.lock.json @@ -146,6 +146,34 @@ "lib/netstandard1.3/Google.Apis.YouTube.v3.dll": {} } }, + "ImageProcessorCore/1.0.0-alpha1039": { + "type": "package", + "dependencies": { + "System.Collections": "4.0.11", + "System.Diagnostics.Debug": "4.0.11", + "System.Diagnostics.Tools": "4.0.1", + "System.IO": "4.1.0", + "System.IO.Compression": "4.1.0", + "System.Linq": "4.1.0", + "System.Numerics.Vectors": "4.1.1", + "System.ObjectModel": "4.0.12", + "System.Resources.ResourceManager": "4.0.1", + "System.Runtime.CompilerServices.Unsafe": "4.0.0", + "System.Runtime.Extensions": "4.1.0", + "System.Runtime.InteropServices": "4.1.0", + "System.Runtime.Numerics": "4.0.1", + "System.Text.Encoding.Extensions": "4.0.11", + "System.Threading": "4.0.11", + "System.Threading.Tasks": "4.0.11", + "System.Threading.Tasks.Parallel": "4.0.1" + }, + "compile": { + "lib/netstandard1.1/ImageProcessorCore.dll": {} + }, + "runtime": { + "lib/netstandard1.1/ImageProcessorCore.dll": {} + } + }, "Libuv/1.9.0": { "type": "package", "dependencies": { @@ -2380,6 +2408,18 @@ "lib/portable-net45+win8+wp80+wpa81/_._": {} } }, + "System.Runtime.CompilerServices.Unsafe/4.0.0": { + "type": "package", + "dependencies": { + "System.Runtime": "4.1.0" + }, + "compile": { + "lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll": {} + }, + "runtime": { + "lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll": {} + } + }, "System.Runtime.Extensions/4.1.0": { "type": "package", "dependencies": { @@ -3371,6 +3411,16 @@ "lib/portable-net45+netcore45+wpa81+wp8/Google.Apis.YouTube.v3.xml" ] }, + "ImageProcessorCore/1.0.0-alpha1039": { + "sha512": "nNLCXniPRY+m59tIQRA71uQQGmbtL0GASzex7zIz0PH6M1/yHxgYtlXZQmeyfkJIrGhJmqJDlYwEu3aZxlTfHw==", + "type": "package", + "path": "ImageProcessorCore/1.0.0-alpha1039", + "files": [ + "ImageProcessorCore.1.0.0-alpha1039.nupkg.sha512", + "ImageProcessorCore.nuspec", + "lib/netstandard1.1/ImageProcessorCore.dll" + ] + }, "Libuv/1.9.0": { "sha512": "9Q7AaqtQhS8JDSIvRBt6ODSLWDBI4c8YxNxyCQemWebBFUtBbc6M5Vi5Gz1ZyIUlTW3rZK9bIr5gnVyv0z7a2Q==", "type": "package", @@ -7249,6 +7299,19 @@ "ref/xamarinwatchos10/_._" ] }, + "System.Runtime.CompilerServices.Unsafe/4.0.0": { + "sha512": "LDvjxLx2fkThOFo/SC+901fJrh5artALmgzeSqnVxzvFp4q3HO8BkeLyshPdcbs5zpN7Xh9G23M6sDhgIPbG9A==", + "type": "package", + "path": "System.Runtime.CompilerServices.Unsafe/4.0.0", + "files": [ + "System.Runtime.CompilerServices.Unsafe.4.0.0.nupkg.sha512", + "System.Runtime.CompilerServices.Unsafe.nuspec", + "ThirdPartyNotices.txt", + "dotnet_library_license.txt", + "lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll", + "lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml" + ] + }, "System.Runtime.Extensions/4.1.0": { "sha512": "CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==", "type": "package", @@ -9037,6 +9100,7 @@ "Google.Apis.Customsearch.v1 >= 1.16.0.466", "Google.Apis.Urlshortener.v1 >= 1.15.0.138", "Google.Apis.YouTube.v3 >= 1.15.0.582", + "ImageProcessorCore >= 1.0.0-alpha1039", "Microsoft.EntityFrameworkCore >= 1.0.0", "Microsoft.EntityFrameworkCore.Design >= 1.0.0-preview2-final", "Microsoft.EntityFrameworkCore.Sqlite >= 1.0.0", From 7267cf0ee7d04dc780efcd957e904142ff94aa77 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Tue, 13 Sep 2016 18:52:59 +0200 Subject: [PATCH 002/135] Moved data to data folder, copied on compile --- .gitignore | 12 +- .../Modules/Gambling/Commands/DrawCommand.cs | 4 +- .../Database/Impl/NadekoSqliteContext.cs | 2 +- src/NadekoBot/data/currency_images/img1.jpg | Bin 0 -> 68970 bytes src/NadekoBot/data/currency_images/img2.jpg | Bin 0 -> 230256 bytes src/NadekoBot/data/currency_images/img3.jpg | Bin 0 -> 30561 bytes .../data/images/cards/10_of_clubs.jpg | Bin 0 -> 7417 bytes .../data/images/cards/10_of_diamonds.jpg | Bin 0 -> 7520 bytes .../data/images/cards/10_of_hearts.jpg | Bin 0 -> 7770 bytes .../data/images/cards/10_of_spades.jpg | Bin 0 -> 6862 bytes .../data/images/cards/2_of_clubs.jpg | Bin 0 -> 3441 bytes .../data/images/cards/2_of_diamonds.jpg | Bin 0 -> 3804 bytes .../data/images/cards/2_of_hearts.jpg | Bin 0 -> 4016 bytes .../data/images/cards/2_of_spades.jpg | Bin 0 -> 3327 bytes .../data/images/cards/3_of_clubs.jpg | Bin 0 -> 4052 bytes .../data/images/cards/3_of_diamonds.jpg | Bin 0 -> 4303 bytes .../data/images/cards/3_of_hearts.jpg | Bin 0 -> 4660 bytes .../data/images/cards/3_of_spades.jpg | Bin 0 -> 3918 bytes .../data/images/cards/4_of_clubs.jpg | Bin 0 -> 4583 bytes .../data/images/cards/4_of_diamonds.jpg | Bin 0 -> 4933 bytes .../data/images/cards/4_of_hearts.jpg | Bin 0 -> 5106 bytes .../data/images/cards/4_of_spades.jpg | Bin 0 -> 4434 bytes .../data/images/cards/5_of_clubs.jpg | Bin 0 -> 5219 bytes .../data/images/cards/5_of_diamonds.jpg | Bin 0 -> 5487 bytes .../data/images/cards/5_of_hearts.jpg | Bin 0 -> 5677 bytes .../data/images/cards/5_of_spades.jpg | Bin 0 -> 4957 bytes .../data/images/cards/6_of_clubs.jpg | Bin 0 -> 5736 bytes .../data/images/cards/6_of_diamonds.jpg | Bin 0 -> 6113 bytes .../data/images/cards/6_of_hearts.jpg | Bin 0 -> 6416 bytes .../data/images/cards/6_of_spades.jpg | Bin 0 -> 5563 bytes .../data/images/cards/7_of_clubs.jpg | Bin 0 -> 5965 bytes .../data/images/cards/7_of_diamonds.jpg | Bin 0 -> 6213 bytes .../data/images/cards/7_of_hearts.jpg | Bin 0 -> 6617 bytes .../data/images/cards/7_of_spades.jpg | Bin 0 -> 5796 bytes .../data/images/cards/8_of_clubs.jpg | Bin 0 -> 6416 bytes .../data/images/cards/8_of_diamonds.jpg | Bin 0 -> 6658 bytes .../data/images/cards/8_of_hearts.jpg | Bin 0 -> 7120 bytes .../data/images/cards/8_of_spades.jpg | Bin 0 -> 6152 bytes .../data/images/cards/9_of_clubs.jpg | Bin 0 -> 7033 bytes .../data/images/cards/9_of_diamonds.jpg | Bin 0 -> 7151 bytes .../data/images/cards/9_of_hearts.jpg | Bin 0 -> 7499 bytes .../data/images/cards/9_of_spades.jpg | Bin 0 -> 6577 bytes .../data/images/cards/ace_of_clubs.jpg | Bin 0 -> 3794 bytes .../data/images/cards/ace_of_diamonds.jpg | Bin 0 -> 3994 bytes .../data/images/cards/ace_of_hearts.jpg | Bin 0 -> 4250 bytes .../data/images/cards/ace_of_spades.jpg | Bin 0 -> 4856 bytes .../data/images/cards/black_joker.jpg | Bin 0 -> 5591 bytes .../data/images/cards/jack_of_clubs.jpg | Bin 0 -> 9471 bytes .../data/images/cards/jack_of_diamonds.jpg | Bin 0 -> 9763 bytes .../data/images/cards/jack_of_hearts.jpg | Bin 0 -> 9558 bytes .../data/images/cards/jack_of_spades.jpg | Bin 0 -> 9157 bytes .../data/images/cards/king_of_clubs.jpg | Bin 0 -> 9331 bytes .../data/images/cards/king_of_diamonds.jpg | Bin 0 -> 9386 bytes .../data/images/cards/king_of_hearts.jpg | Bin 0 -> 9541 bytes .../data/images/cards/king_of_spades.jpg | Bin 0 -> 9248 bytes .../data/images/cards/queen_of_clubs.jpg | Bin 0 -> 9574 bytes .../data/images/cards/queen_of_diamonds.jpg | Bin 0 -> 9785 bytes .../data/images/cards/queen_of_hearts.jpg | Bin 0 -> 9530 bytes .../data/images/cards/queen_of_spades.jpg | Bin 0 -> 9613 bytes src/NadekoBot/data/images/cards/red_joker.jpg | Bin 0 -> 5742 bytes src/NadekoBot/data/images/coins/heads.png | Bin 0 -> 11437 bytes src/NadekoBot/data/images/coins/tails.png | Bin 0 -> 11404 bytes src/NadekoBot/data/images/dice/0.png | Bin 0 -> 1030 bytes src/NadekoBot/data/images/dice/1.png | Bin 0 -> 1006 bytes src/NadekoBot/data/images/dice/2.png | Bin 0 -> 1070 bytes src/NadekoBot/data/images/dice/3.png | Bin 0 -> 1115 bytes src/NadekoBot/data/images/dice/4.png | Bin 0 -> 1089 bytes src/NadekoBot/data/images/dice/5.png | Bin 0 -> 1136 bytes src/NadekoBot/data/images/dice/6.png | Bin 0 -> 1100 bytes src/NadekoBot/data/images/dice/7.png | Bin 0 -> 1454 bytes src/NadekoBot/data/images/dice/8.png | Bin 0 -> 1392 bytes src/NadekoBot/data/images/dice/9.png | Bin 0 -> 1372 bytes src/NadekoBot/data/images/rip/rip.png | Bin 0 -> 13338 bytes .../data/images/rip/rose_overlay.png | Bin 0 -> 18492 bytes src/NadekoBot/data/triviaquestions.json | 22774 ++++++++++++++++ src/NadekoBot/project.json | 9 +- src/NadekoBot/project.lock.json | 12 +- 77 files changed, 22794 insertions(+), 19 deletions(-) create mode 100644 src/NadekoBot/data/currency_images/img1.jpg create mode 100644 src/NadekoBot/data/currency_images/img2.jpg create mode 100644 src/NadekoBot/data/currency_images/img3.jpg create mode 100644 src/NadekoBot/data/images/cards/10_of_clubs.jpg create mode 100644 src/NadekoBot/data/images/cards/10_of_diamonds.jpg create mode 100644 src/NadekoBot/data/images/cards/10_of_hearts.jpg create mode 100644 src/NadekoBot/data/images/cards/10_of_spades.jpg create mode 100644 src/NadekoBot/data/images/cards/2_of_clubs.jpg create mode 100644 src/NadekoBot/data/images/cards/2_of_diamonds.jpg create mode 100644 src/NadekoBot/data/images/cards/2_of_hearts.jpg create mode 100644 src/NadekoBot/data/images/cards/2_of_spades.jpg create mode 100644 src/NadekoBot/data/images/cards/3_of_clubs.jpg create mode 100644 src/NadekoBot/data/images/cards/3_of_diamonds.jpg create mode 100644 src/NadekoBot/data/images/cards/3_of_hearts.jpg create mode 100644 src/NadekoBot/data/images/cards/3_of_spades.jpg create mode 100644 src/NadekoBot/data/images/cards/4_of_clubs.jpg create mode 100644 src/NadekoBot/data/images/cards/4_of_diamonds.jpg create mode 100644 src/NadekoBot/data/images/cards/4_of_hearts.jpg create mode 100644 src/NadekoBot/data/images/cards/4_of_spades.jpg create mode 100644 src/NadekoBot/data/images/cards/5_of_clubs.jpg create mode 100644 src/NadekoBot/data/images/cards/5_of_diamonds.jpg create mode 100644 src/NadekoBot/data/images/cards/5_of_hearts.jpg create mode 100644 src/NadekoBot/data/images/cards/5_of_spades.jpg create mode 100644 src/NadekoBot/data/images/cards/6_of_clubs.jpg create mode 100644 src/NadekoBot/data/images/cards/6_of_diamonds.jpg create mode 100644 src/NadekoBot/data/images/cards/6_of_hearts.jpg create mode 100644 src/NadekoBot/data/images/cards/6_of_spades.jpg create mode 100644 src/NadekoBot/data/images/cards/7_of_clubs.jpg create mode 100644 src/NadekoBot/data/images/cards/7_of_diamonds.jpg create mode 100644 src/NadekoBot/data/images/cards/7_of_hearts.jpg create mode 100644 src/NadekoBot/data/images/cards/7_of_spades.jpg create mode 100644 src/NadekoBot/data/images/cards/8_of_clubs.jpg create mode 100644 src/NadekoBot/data/images/cards/8_of_diamonds.jpg create mode 100644 src/NadekoBot/data/images/cards/8_of_hearts.jpg create mode 100644 src/NadekoBot/data/images/cards/8_of_spades.jpg create mode 100644 src/NadekoBot/data/images/cards/9_of_clubs.jpg create mode 100644 src/NadekoBot/data/images/cards/9_of_diamonds.jpg create mode 100644 src/NadekoBot/data/images/cards/9_of_hearts.jpg create mode 100644 src/NadekoBot/data/images/cards/9_of_spades.jpg create mode 100644 src/NadekoBot/data/images/cards/ace_of_clubs.jpg create mode 100644 src/NadekoBot/data/images/cards/ace_of_diamonds.jpg create mode 100644 src/NadekoBot/data/images/cards/ace_of_hearts.jpg create mode 100644 src/NadekoBot/data/images/cards/ace_of_spades.jpg create mode 100644 src/NadekoBot/data/images/cards/black_joker.jpg create mode 100644 src/NadekoBot/data/images/cards/jack_of_clubs.jpg create mode 100644 src/NadekoBot/data/images/cards/jack_of_diamonds.jpg create mode 100644 src/NadekoBot/data/images/cards/jack_of_hearts.jpg create mode 100644 src/NadekoBot/data/images/cards/jack_of_spades.jpg create mode 100644 src/NadekoBot/data/images/cards/king_of_clubs.jpg create mode 100644 src/NadekoBot/data/images/cards/king_of_diamonds.jpg create mode 100644 src/NadekoBot/data/images/cards/king_of_hearts.jpg create mode 100644 src/NadekoBot/data/images/cards/king_of_spades.jpg create mode 100644 src/NadekoBot/data/images/cards/queen_of_clubs.jpg create mode 100644 src/NadekoBot/data/images/cards/queen_of_diamonds.jpg create mode 100644 src/NadekoBot/data/images/cards/queen_of_hearts.jpg create mode 100644 src/NadekoBot/data/images/cards/queen_of_spades.jpg create mode 100644 src/NadekoBot/data/images/cards/red_joker.jpg create mode 100644 src/NadekoBot/data/images/coins/heads.png create mode 100644 src/NadekoBot/data/images/coins/tails.png create mode 100644 src/NadekoBot/data/images/dice/0.png create mode 100644 src/NadekoBot/data/images/dice/1.png create mode 100644 src/NadekoBot/data/images/dice/2.png create mode 100644 src/NadekoBot/data/images/dice/3.png create mode 100644 src/NadekoBot/data/images/dice/4.png create mode 100644 src/NadekoBot/data/images/dice/5.png create mode 100644 src/NadekoBot/data/images/dice/6.png create mode 100644 src/NadekoBot/data/images/dice/7.png create mode 100644 src/NadekoBot/data/images/dice/8.png create mode 100644 src/NadekoBot/data/images/dice/9.png create mode 100644 src/NadekoBot/data/images/rip/rip.png create mode 100644 src/NadekoBot/data/images/rip/rose_overlay.png create mode 100644 src/NadekoBot/data/triviaquestions.json diff --git a/.gitignore b/.gitignore index d9b88ac7..df1024a7 100644 --- a/.gitignore +++ b/.gitignore @@ -9,13 +9,16 @@ *.pfx .vs obj/ + # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs **/src/NadekoBot/bin Tests/bin src/NadekoBot/credentials.json src/NadekoBot/project.lock.json -src/NadekoBot/data/* +src/NadekoBot/data/NadekoBot.db +src/NadekoBot/musicdata/* +src/NadekoBot/project.lock.json # NuGet Packages *.nupkg @@ -25,12 +28,7 @@ src/NadekoBot/data/* !**/packages/build/ # Uncomment if necessary however generally it will be regenerated when needed #!**/packages/repositories.config -NadekoBot/bin/Debug/data/nadekobot.sqlite -NadekoBot/bin/Debug/data/config.json -NadekoBot/bin/Debug/data/ServerSpecificConfigs.json NadekoBot.sln.iml .idea/workspace.xml .idea/vcs.xml -.idea/modules.xml -NadekoBot/bin/Debug/data/config_xnaas.json -src/NadekoBot/project.lock.json \ No newline at end of file +.idea/modules.xml \ No newline at end of file diff --git a/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs index af419051..e7f36388 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs @@ -57,8 +57,8 @@ namespace NadekoBot.Modules.Gambling var channel = (ITextChannel)imsg.Channel; AllDecks.AddOrUpdate(channel.Guild, - (s) => new Cards(), - (s, c) => + (g) => new Cards(), + (g, c) => { c.Restart(); return c; diff --git a/src/NadekoBot/Services/Database/Impl/NadekoSqliteContext.cs b/src/NadekoBot/Services/Database/Impl/NadekoSqliteContext.cs index 595ab14b..8af8c84e 100644 --- a/src/NadekoBot/Services/Database/Impl/NadekoSqliteContext.cs +++ b/src/NadekoBot/Services/Database/Impl/NadekoSqliteContext.cs @@ -12,7 +12,7 @@ namespace NadekoBot.Services.Database.Impl { protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { - optionsBuilder.UseSqlite("Filename=./NadekoBot.db"); + optionsBuilder.UseSqlite("Filename=./data/NadekoBot.db"); } } } diff --git a/src/NadekoBot/data/currency_images/img1.jpg b/src/NadekoBot/data/currency_images/img1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4a34ba970b39c37ce458c1c67ea8b82e9aad27cd GIT binary patch literal 68970 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 YfiCJZQSPI4D~x$GnWmPelTru&*{5$L4*&oF literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/currency_images/img2.jpg b/src/NadekoBot/data/currency_images/img2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5697f8bbf5319a59a7b0494ba2c57fd942a87426 GIT binary patch literal 230256 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

I_HWimI)e^>HB2~e zy%~J8EO4}j%~a^<3@R#_btBx9+)WLkJ`h&X9vZt8vG^^X94%~4 zOplsvqptj3!>`FaN>dKN!tNZwmW#g6tHbkQ4UaHaFBDqgf&ESa{5h4W%1xv6U}C?l zz%&CdjtF~&)(4{I$e1Nr-?yU3gyn=U8qr>4l0vI3G$smx;f7aaKL(X2O~YMF3Y+P1 zyXV|Kr-7hCl;7g0Df1*N^{FG6na0`W3k^mO8whq9X)1P!mRQxZCsotEl9Lm6H#>f| zwJT_0!^!R@G3s|?U1+55)yb=DhQSsmHOdJw3_=PMl($ikJ}Kr?>k+=+Id>p^Pjl8d4q3L~K8=eRSn;c?S7KK(3&fx1jCr%is*M>$KvJMGLA zT^tPD%}tNq@@^!QHeOkWOs$FC!Hb^+&Z~)AGK!7MBfPmxS?;tq#RFbc-)G>93fiU5 zgP)x?JHx&<#3&VL*NdK@R<%7R`L7x-Uh@91)#WADEh@1%S9Dn;l z-S$B`fJL=p85_n|?QmZ-f#C-~k6bUR3M3QFZWq1`!HyNiGrsMEM^SnPit`Qh(1|SC zN71jR4;1ODQO}6u|Hk^(4>8p%@w{Uk>3HL(io^=)VCr|yJFHn%{5ZNy+C+R{s$^|K zm%5b`dgU*pNAfEP#Mq;TBN@_x)rjP-`Xk=B;N%dNZ4=Dt$j6(V{2;v^Z9EvlS(Og1 z(+lJG(Cqg^km%In=zLqCIBxRD+!IBfaZxyZ)3KCnY{tm<@xJ}2 zAB<1@x@xZO#94X3g|9SgmwKd0D~)m9Vd8hq0lA;a|I>JyoqTg?TY+Z z$BI_xMpWe$E|%?DZA%yRf|P9`O8RU)(@)J|fz8;ks^$z)L*JmcBI6#C!0C^3ECx(Q z^peTJ8>WP#-W*CCPaVleq92KE5QpUeVYqxU=x{QAU{l9`$kE!spr~U`0~5nRR*)W; zRvZjE1;e9ocl%V*^(5(D39%b|XJ*UAUtsTI=4KnPS!F}X)%qu`p=>Bk3V-Z~fc--3f$zGj=!;^(`U3|TId`p%Mjwi9L{29*g~?Yb^iEh?A)$@iKyYmCnj zSrwt3|9to0_=hmneZoL za1M;&fw0xW-*sQxNHx_?p;^L7?HP(!%caDyH8tvH)fk$GV%kzI5H2QKZltPki7lG8%)m5zxFbyX?jg~n|B z?4z?C@KD#z7tqx$JD{4M9CBgjH5v@9Pq+;*%$7JRcOPszF>jUrkWJMv?6u!ySE%_aNDaCTNTGY-;(|~ z{r4@U@0WnACo8&qN42L?D6bjB7vN7)$mpEl6J4zp@!StU>bWJUK+Y$zE%v&0z14K` zSUsAGUvA5t-vel(Kc=%$y8n3zNWZe?u_6k9SgrPJ=Qp2BY=88!>Z82vGc1e{^WJJ0 zT1Q2Jdo5pVl1i$$ zV42AoDhb?Jg{DE^AQ6vA$;B=I!k|~+Cb!$+DPIx&@!eDw?>&oMH?G$(QQuTN6-NCo;##vRp?du{HdWQ<5?@o+nqCPv!MYd0xkiv4hHA-iq+?}d# zsG&)eL1&H0mg>49`E88r1hHY9MJ*}=aZ4;fv;-G_>#8MSmLj`=A3_ZMXL1&sjw*M_ zybq@=+XF<2yeDF0#%w8AT<=@s&+cB~@y{g|7tqwisjMWvjj#P551}-$MTeng$$WUx zv1@E{bNMaF^=^7Cwy^}EkmfnKvY7$Aw^Yq~=j8PIFF;3%6DPv=0%}e}6b`9{BFpp$R9BiePFVauRD6iDYn^`LZ20&x%4z{P<|l&4(+C?w z0Uk9BEFCgiy05P2ZX9w{tL-hQwar+2#Fub<6$~_-Ui^v$#E5PNI8eYcyzmI^8deQ1 ze?&|?CY#qWcL5i@TziMxnc}QE!SQz33g{8Xb^M$gdIGHHumk8rj#yNmN~(gz&)N5S z)f}a0G5HNAW_Br9SU?52^QVLt7r4ij$1i_jQAZq>g(*Q3}^%bvZws)(C^ zZimDXomRB2i)i|Gc1ejmvW5+6MCJRPe*GG_FKW5pTK`T>ksL0mKMdGP-+z+wF*Bp0 ztq+wC@7LD)K2bSCnyw*DTldYgiofdxjO;K1f?Wp?&%*-8mK|2$zFE~cZ29q>YIguM z{v@->z8BZ)Sa~{#hFY6c>8VvPX6+T+r&)ED8Q|Wlx+%Q0{?Yi@N z@57O1Y^aCHC!{mI6U+t!bm(t_p;g?z>#%4yOigurjs^3pe$??Zd_DfXvXbenZedy| zfaJ$pq_j&HElL&3rVV9o;in^l}W5l9@V;LPcLiK~smLM_X?1+G(Mf8e;=P0YDYc2_ zXpe{bPhTVdQL)`irPr*i1a;|;USp*=tPw-4SuT^=*RDmc%Edl=?@D2wsCk-LjsC%Y z&Rpm{jbDMT!?nEOmNWli9mTQ?-;Uk4ru0ru3xYE*vq7|m4W68m^$|ubG`h8ZpLn1N zoP*Bp4nhghZF^`yzm>J(4X)Owc15Fz-R&lqUlWERRjIveoC&}D%G7_91X0aImRV2W z&KJ(#YkzW>UorwQa?5;nHM(vLu50}Q-mF(#l1cf{H11O<2-T}~Vok;E=l@LZ0iHN) z!EbS2mTMAqha7)-xaKc}-Wlg2uLf`E8ey$J+MNRv$6;s^KHlMKa)cIyW8O)UL5Be9O!Vga~vBC$< z`AHN&4f8h?Xy-QqXpqNtBxr00N5;EpNZb|ru>vXRp{{XkNWVEq&!={A9M% z%D&y$2jmk$>{{#uTy87Olsw7xOm`w}Ta?eIc1kD~>fvfMkX7YhfldnwSTa5&vMn5A z#*8HU6e!1sno5Q;&W8H+g;t=79DruOKtKaUj!Xl*T;>7rrVn-Hq25qz5`Y`uTJ+#&B6LO=#x$NyE%( zM}4GQG?$xJ!#boH99v4S^cf30&g?o>!jhIjvJoax?(2>3vQ4WX5RtJM6VhQc-vN9w z{wLDc!A{8xA|-<6A!^m`5$VzaP4NBHkTQHL=}W5eYkV=aNTV~+mfF2! zvNRtp(I9a(1Y_}fA0%cfYk}P`W~@9r;kqX^B8EGjLQYQ+1J)ATN}p@Th}oJ$a2>^W zfm?!NN*d*}7ub!4+cMKf(>L@~Gv-9LxxFi9-Qd|z2Kjf7@^{y-!mb`|oWv!Oh4KRS zRbys>CW9SzkrXESwnpdCtBBC*&=QIc12Nj;N(G;HSL?0uYHt+xeYMELjc%)k4yy$2 z4X6aw>y;B;ta{~{-K)ct2s%W-`Ie&Je^}o38wH)&V5l>;eBuoR!=idi2 zO$_wv2+=cUEBIL6jzqcYKNt_tp>MQOwmQ4%^Nn6?wR^}LO;_7;sLK%gB`8T8M#UJN z&|pD3nQjt?G`Wd09-DW6*biYbmYwJ;d5Ch2HcN-8yT;TTPOv=*ZRt6^sCv8ZR=NGH zEzh7vqIE%_6-ZuOHF4YX%Km4qOP>o$$r1Et_SP_#YvTbl;MFWT)W8Ms$q0AvOkBj> zNw_t3@AYNGVeO7W@~Lux#i@Bb%nUzt0)6|oA2_{KnVzJ=xLnDJiE}0=WAd?5oh39* z1=PvMD>*N3_f>-3$s( z%{>(>)c(SbN4vu&u$!fJr=|Ny)4#;iBx%-4)+Y0&(Si%%@$sLpq>eYqN6b1#1oOmH zyc{Z0O0vM^h;ENwos?)kCrOfOts?FJLiEM$FQ9dcHu(xGo1D0jp%&cE2WnLiQ&2Vv zr?J%~*|EQK?O(!QB0CYFkk`(P;m8h025Ze?%X2<@jr+3p(-954v}i=MVNS|j*1vk& z*{`t~zY95G@@a@io@rU)#*e7~tg2PLTdhjK4lxHwZJhNsog(;|KI|=Zgq(Z!;89qp zp0jVY%v5jbWC>ph6QFITbOs#aYtc(K!#|$u!OBbp90V`a#TN|opQx%sZ4^l_;IdNz zw9+@ykGPB)_Ab#a3k~!{I+t z@wRwH@VXx|T}WgTYiqz)xLe<9eVHBo0~%&$gNGKcUu#rX^NOXR-jkWG-PP`LIM%19 zz|Nv3r9#Wnp~T(RW-2r=lDak%;T8eFQ*kQwc5#>>)2K}T)t0{^u~u-(wS))z3+Q3X z>BA4UmJo(z5EB-E7p-?$Dvswn`~)cch%}o2aI1i!GQ1?$E~a63l#{tlIA5uolQyeh*Um^=I&AjNlt>BZH(@Q#Vsi-keSR888j_7ZR<+dwn4tCk1MqrHmxhvg6lxs@h zs_k0+3am+*=ImSZPf)Nf8GM~n6RhX`be!`annkILk5MFyh7I0sR^(0&I}sM9vsC& z-YCa5$X@vd+Pao7KlB3@zk9k29lr)Jk5SDNq4TmR%CxfsVU$JVn6G$&3s=KMD2lL%(`|5vELp&g|pd0t9!J(2ix- z&nkV>e{$-zYW>gJm6J(umSk?ZxARr0Q;B6%gAeXyEZJSDO@GZITDxoxN2>$}xq@bP zOH9rC;&}-=JC?x7LallAWBfnPmb}kyq_e&XjiG1xx{zdD=j zZA4?hJc8=S@1#cRL%{aV5vQFS^o_MqG)G-$(C$^Ed+3Ckp6H1nIE?!(c~!#1E)(7m z{B_3Ql(bwB57cMIrRsC29(bT-jZoqg3{wM1y1ma!ct&EU04ZcgfEFGBr#yXw4NZR|BO(s$aLuE5yF~8aq;;aYYli! zc8c!}JOxwB2~q7&CMB_cgV}J!qCV%eIc$vwAdIC3p=3+CJL$(l{OdSF`wE>#3-GnU zmN&0pHbzi|FE59M84Cz=5vFHcOfS@PZcM9zAy_!qq9((tqsD80LUo}dZTEBb799*p z;TSSpp-V!*b=>*66ZDEE_e1P*QA6J3_(zDvu>!x!J7Zc4V(b-A^ebJu+pG zp_%TR6uBE+v?v#%Ab-#m-J|B7uW00}r-ir$%C_I(iEU1QRbMx8m~7$ zzA`7Vn7O=kItkQYc3{$5eyb(ZubYCOV3##85MOHfoI{YQB}&`{%%A$;J0~eEvRRUx z&b~5XPbfBL`+ZV*>hTSF`rC-izW|ORDoS>b*CB(>!{ik?R+>?`;f3_h{h}f%^q$n| z?G)U{X@c+g=VqQO69<9DjJ_#MpV`ls8?)+Wee6HZHws=gLAMeJLF0b`b_8NFa~*g` zP>h9&@nIHJ+;QYYm@JEMfLq zJR5nFFu1j$#*Ogo%)1c!CU8HHM>&A!w>Tlp&@p|-Q>aAwZcl_9PH>+3O^?06iHAlE zGWQ!-U<2Q|YE7Q)JB_wfzO(z50?sJy;1n$>#_K3w$QRoH>BR-AjYW^XA2by|8>P5> zYW#lIN&&_!CpD`V-cqusl3NUN$5EviR?b;gmw*o8@$OxK=}u$#E9s4GYd|{D^nOg2{x%-ClJ#>IFi`V z^m(t7DzOV$q)kONNG8s@{{p|j^`AAgaXIh*4IcOMK`B|Lw+O;;lsIfzhq$qWjKj@f zEtE^!YmQ=QP>tW-)6pvk;zjbrNr8pAJ{iCkuqZ+3q2&v%z}dT+213x}leRZFLaczA zaDKW0zAMPDpZ=WI5r|yTa}j+llj`OL50_*HXJ6ZR{5)3mRtW#YhrWXU{A}mCW%`ZB z!oactpGX3%7E&kUyOfRTpFonSY$?(!n)RM@Wi|6^a=`ohGjO! zIe6l|;;IioE-yrM>8ybErGiW;+axw5F!B)QDu(SMp3B4J4hvXcHg7O_=6Wixg*v6R{A54!rjR^&*r9J4w9#)wWe~0PLz*COoM&nRhAFJxP0LO4w#obOil)MtwfgnymiYD5~sX;RGJ^B)`UR zzLw+5K;|2!J0uZK0q@Hp_hUc~c1PRGY{n9<9XQ~Bt-O$b&n>-WAG{-#6;K*5(pg6o z+QH_qK@(@MskBWBM!=yHBa`5>kmt+awSDW@D99S4Vn9hTI34PIVo*y| zV+4w_xL+`Kb)qf#=K#gWDQFrE6j?BF)kqIo9ow!Jwv7buO`j@xVazvKZbiV&TnH^3 z>-L!#P(w>A!?_9S5vOV3$l1@Doh{IXkWtq&eT@}Z8`c~mrWQ1APwqnCnp*4qawnGN z`=`~NyoGmJ&$H=Bto|&x{ zII6C5QuVBEx(@8L!Y<%eV(AVns;QIOKKD@Rm3R`#FwkwTR$Sd?d9K{MwHH`8>jY=5 zac0Y&@rorL66H1d<_jUJ^a@cY^g>1LjH_{L37iW zaT40T5_<*o-})eeuB)W^Sq%hR>+4^cOqbD38$Qw7rU0%>)#voVzHBsxTzxr~KuYF) zo*H(h+(``lDlrTmG%3$ho%2~dEg-UC2F~5`;Q`nw`BYv10`LYZSbLvwRh^eqRZo(4 zKOH3wO}4w+(W)y)alba-m#@)#?_O|RyyYKB>GzSX3uXtB5_BE}D^DvLp%`PP;zW=# z6536L@6Kn))T=s<_B^wlA4{{@`K9^eVQDR9h|9a_Qkf=`BD8AD{+nG53eXyV^ zO_1-gv(<|cF1f3dWly5N!m+Qa(oF6B+^hI|tA=r{z_W59!bQ-Qgc>R0G20@ck>PD~ zHMYW|bkLaN-mtQ2YYv+cFM4);mRS0s(-pf8Ew9l)9u>41@~`@H@X(E!GF^6}$&tW( zt=ilf+Q^4WB(C={vMGJ)W`EXtRB)2ft-|9*_>f~;@ENCqS(jHYesOs*kYRa%V~m53 zgKIgqNTLdzeGvMKsgd6%<nUad}NZYIuUepk=TB{swF16Fa zRHgOtau;mL`i#E-?D>%i($S$we9#(Eh+ls%>jC5nj>6pcm27fjrf6VfZ*ud^X^;cs zhyV|YErhr%LgM##H;)dy`GRT}!jqUW?v!H}GokyC3VzaQk5EA>fovHbvv?Yh77D;G*s@!xm~Q zkeRg11s0#f8R~)gwn!;UL8R=X^7oLX@m0z)?mpMm8Z-lKqt@!(O5+B8gX6ydu=z4r zvDqQ>0a1xd@kRj)QFGjF4xp%tn3QixL$iNvn_xfT8YN_fvjxXdD7QH!kvQ(n1zzlh zcUn4;-nAMKSXy&!@ZA260iD@NP>^EG@%tj$J~QE6l+sD-l>K&{s0iD=HII#XVt&N_ z1sz0h=|56-PK|OK_Y8kzyL&l;MrCur<1hyLUG)hco0?ev)eKFa*5`;{#OmpWwF9uu zPg1A`p_)aqU6~j4u#K}|QKD~Prq1(6_58IGB?s!fCucT(V6ECMYT*mgSxk z3A;XFu5%*SU$#r(;~wA)35^NKETdFaaN1eEci;UP+uY>0PPNdCz# zXC6$x88^nP@pZf56r`?%ysm1rML<_;hR8pRU|~Ih20Qoy#%W(81+(0p&mRXMFRPVO zM2*KX;&S8yDjpVO)SPd@A{H1pkB5UZ0XRsS?Al`aDPsi@G<3#bL(#7xn=H{`@Ud82 z6(rTVV8e$w$<-2Nx?PflsnIJ50)O6h)1`rtXT~}tE}lVktVF=U!vjQsH-2|JJ8G%e zKx++=*dj4;AtG=)e7|`-A6uqe)jD@+qPq!SI_i-Gw(5Uue)Ut)V}nph@~bD9t7O0d zuTN-t`Pbx5dmqCl+xB`*VpMD&-AIF1I*|GJK2^xVR#>!NlI>S^iH$c+e|0o6-e@7V z%3|iKv`9P0DET0Kd&$>T-}Hr_C;Efmhmp!A`>02~x*|`jsq4?p##T`7 zC0d8aw_d}3kn>obG!&U#biAWrQ_&}~^PRmgaqpsElVp*YNYE*@1NB1P^4;Fs`D1R* zsyTIBUKXUvcE zq1=p8Z>Hag$}5}3b%58VdMJOX``tRNkS8oQIER$$x-&x4>z(imf^D(w6k+te7~bpa zN>#&+Z+a$-f2Ja~7z~7lCtU1)OJe#7oF}LJTw`pQeQoTZS>RhY#FgDlL%?bBio(RU zn6`ww(?^`sQePwYP|5UZ(kW(1Ow28s3_~+8q6bmGC=i>30-imuhO;7z?@Id3#}NZv z{skJTJJ^{gw`EVf>ytG^4Tl7KYn>vF9*>Y2W=ju0vJVAxHilKB&CwQlt4I8it*BLcD0anHVtxt=6 zbLUAMCD()}t0U7B^?S7Cp5-^mOcbGg-cft@ya`fm^JaA^daIvzRxYFFn}E8?r9d8S zbq_pMgD8iQjvJ;1-bV2NT^Y#Kaeb2(=uy~-L65ME4-+Ny9sgS6sX3c#LC({-o zBAIhy_$ZFQkl|GwMMAtL`Te8y8>G^a57yWQ+vz=BRdS?UK{tyF>O zcS?9sIsg}28)2h)cBg`{YYO#px@bZDC^)2`iV`gQ#^ND*Z$4N`nci}zGTqM&wSVRI+WRk$ZF}X3RGERBA2V^wB&s#+@(ulNN~?~$O_B=>T!5--%KE;#pl?e=Fef9!6UXEx`l zM*hq;Cdx$FDQ@@Wthgv{Z+o4oMWxcULC4@TT2-IFfKWG(Kjkymol#%vOWqz$iOz}pCt@+Q=V!ayVU?#joeC{wp>2s9{svn3&;EiIbkM~$=Y z`^n7htr@t{dm?;MU3Lm`zmjyC=zK_;Y#L**flxegX2iTD{kE=3%1|%vh!Tz4YFd;A zTB64LrfuEkb&8RCJ$DXJT9#t&jJcYe0%wMroPJZ(n;~+r_9rz0a~mq7RwuW3*|&7O zXNG_15LPu~@$W}g7bNWB?FaP){$te}RyBl)EM3DN@MNk1gVmDR)7XTQowSMcdMNUGL>AK;m{{)$}1W_VsFdD z3N?`GCn(Neiuh!>SLF$Ds+_uVUbHD}ak-y3o-(B@zFr$?CXPw&^^>24owy&kbMf~6 zGNpTiA>|%xd!vr+C((JH+C$^2Ro@mt;3H<*IP64^@t*#pgW23xrtgBFQ`#U3kV5sH z%M4HJen6y_+s{S!(ZtoJa!YgrWeAZB@ z_<%IS-2fmTg)-@SYBwhN>Pgdy?nyo5s6SsqE*hTbK-DlbReJv}cPmG2d!fZ^bF_Eq zORuV@)`DA>=s0ZC`j{nxm^xqk7BxOdO&z?q!5d42E8q$|0rAv3z!xV8qDwU8VV08) zgo*F&YTSs3pz0My_1nvDx%bMzS5`ez;pRuZQ%n2EG$$vb(f#H#(;t*p5j*qZO+{&i za*w&$$v2(H?VHgmva=z1oW%X8rNk6sfomOz?@;$;=Y12`qz&5-#y%bn?QN5=YxP%N zp6m9MmcPTlpRARXi^wJ{t&Co}GfDv9DxrNI4=HKDoz@(dkAy<_wElKGc4rYJUYAg`_-c1`mI?AZ1b3 zrHx2=`k+i`rjNA8=)=5VSgmWN@>UhF z3}0mC*GWE{pKOzGYc}${e?V*(&=Z?joeyxm+fofYl_u2r2q`6xkVQFCI*cVHCR7p_ zDJd&{p?Fo&i9SQ?qo=^&!N>?S*{e6~m*X@G;gz=aA3KhP>PWpQqeUeU753gOY|S6@ z3zXxinwAqIZ=W0uS4BjA*?A2jrL~(D=l8pi7pfKk8upt|p>E_j$*50%c=HYi-8@R1 zjIlWM%3j1uZ5IJ6#q&~Ar2f=4+b7AVqTsaVCRq>PlF;33bfF^0?D&lI3}bEWv_{C( zs|$l?Qc4QG_m(;Oa+O4?{-QFZM?5Fr{y<^MT=?##u9vpRD8lRmDche_-tdM|+R1v% z7mQZV8y(UbS^cXa?DEPm%Hbpqqo^uATrmb|9RRUaIJ)Sir=*CrdL?LJqZT&T z{ifxO*SRvhPC|*PpOOvI%>2}#B;d`L7%9Hc=Oaci)<(H>Cu2Qa?)NP8S=HeP>M|6% zQ{qL-c3l5LlzLuUFV1{#GQ@^X^G=QThHS9Np-p$vi*H-W_AA5)asNKz=H=iH*m6`b zLX#*1DDcx!SsWHBaoA=unuc2fU*qaHmYeE!?bjTb4QzJL&8yVQFTG z85&IypUf**H%56Yq}C}$i$VixN_Zo`@?lnB*|NS-qarXO$8mS4EJ{luSv00_+0uY` zT0%~vEvcLk`vK7w@pkaQU}14Nh+n7wmH!xC0v>ft{X2a~77Tj%&7D4q4m#m$)^s9{ zAZcE}`lvH(!mnFQ)iVE!0ffj+mghB);?L)zaOorT)nzw7ijlJ$wa2v*pN9l$_}j5K z7Jd@=5T$Fw)jR|)o`UJ6y+aE&P|_!>pBlEc3N-7$H2WjN{qVL7*sdx7*)+@xmOUI2B({GJgz(6s@t%*GB<);D4vjhmhhp^z;g zR}vK|_2?EzPW-QGdEC#BaEd0=i<8*8gC(6h)RP31&UTlXAIj;|;)OOPQJYi{ zS6vHdjAJm5u)B*VtE21DAb7Wf<4$wEleqA5-$cZ^XdmHfgb8@~Z~@9-9%Iemh=EBe zymBo63t;g-RX_geh}7%+=;hSwYb>OLG)^wA=6O;{x{s!!C6AfQ0e-P|P~sMs*?6R) z5))(ZZU`~_JcN{s0+I`h(71r`Hif>q)1e!uhU{>^aH)MazxhzKa_gz3!v8WpMhU!c zaX#m)EPy1Nb@r6Cx|`6;#Cwn}a$2`utf)Z6&3xf+SBCrxh;&yq<2*jSriyGb8!cCT z{ek>;x5-%a3Oc+?t61@>@ywg&$Ni-J0w}b-T%1yPk&~?Kxp-o-TWDJP3-OP$Xnm6A z0lSmmC`K|!nXZ!2R4R=;~(PUEhq50l({|MHjsB z570($4R=PC_GLPkRe$PNj4*}~^Vo_Zlnq6S?FC7}5Egw$Kd`#h(0$$Na^8)wxT@0s z2sSp!$zWATr_Bd-)qKxp_*vjd8%d5UmNJGxyFJD$miU$XLJx%(vuGX_@a!h-2hVjX z{D7YL9Zh9$g|Nes$>K zG4=7dXxCKS9J)Qvlg_K+XIq|edh286-v<8E{y6a0#3+1Is@>157?qK1o%TY2{{VGI z0+YnwwkO2RU&hnxmU@%e+c^Mf;O>b0U8~EG{2}yI=Keef=xzSo~S0>rgDV z*RahSEY)vK2(-isM9oRFu;9QO!#WOPlwyvOPy$ z{j)p)qQxTGUjG1S+yHj0E09mtzESwa`%(DE#?N&gop~mgrpdsH9vF|PuR>4QPSVm( zm&Gj^^m}3d0L50Nr|ey1gb92`E);h1G5-LwSCd&{YD-sSdo<&h&{tZ&GvJ+VJVoOj zN;SE-y3|;3zH1l7eXsi%d=$B|jc;`eeU3;fti7pq--lLS0`cyj;e86pZ*?YwUClGX z31vJgMh^s@r1ll|m%`r!K8K-Li;xZ9mZnzN7bhNrfmz`zLZ&KMdp>BZx6{z*#N(Ab zB2cnS?)*2S$75)U7Z??#br>S1w?P_#PL($);=TDrTSN2uzVw@BB%B(LHFD}49MwVy zHN_=naxt_~MM#FSgVvBJ9VzsL&;v~rq<5mE4~zBvI7+9C*F3gjILhOi?=S7Vz}XqD zV(!<*&BoDUt#L{a@@pnxvwkn zZ-rxE@@*T3Ju6ts$J1c3Jg&_0tph@6nO#ZU+}EP$va|tJyH+-yiEi5n99Fz@$Gio` zXmh(gDwA(>wbP`Ia22p~TXxnlmInhK!nmzEc3BgzTJE&8l4M*8wXWxtR@S}Cb7}CH za-a@9E1sUf{ilY&&36{sM3*VIX{#}KCP~lT#(UOMj=CN_O7!8oIlUk>E~>oOYh^P> z5G88nli((efg-w3_(c&S0FK_3af`9zRL0Y}=lZUuHsZ4Md&0VkGURjGyIots>gPDk zXIuDJ$&fk@lpX(GqTTAvMy!cKJ?iaplnQiKzR6%yZ}U%kbA=?BL9YnK?CAfH<4Z2l@+ zO>79152>S`JOX1uLa|7H08*^g5cJX(``&)P<9(c$f-mhK# zm;6Z&iF_wL)OQOr2}moRRxybmd?zo@)iCC60Y+B_xiRLi(1jBu$y)HJdB!B&nxMDD}-} zPjpT|=DDRUPPo%8i=fNRSDJLe8@Z}2GdHzD$JaFuM%;;RSZRZB4r;Wsk-$MhSUjJrPH#u7|=F>Eb;;JG^j$@+t~OvzyonS*RDF1R@?ehrtx=#bk@zbhvyN{ zv}5|3^!=B2W1rgV?#AbpwWRk42#)8`K{X_P5Y?{F?zHQM2f0EA>t2sP#n@qA^eql3 zfaqC({z9;|4~v@B#^r`6E%WHPBlD^DRF}mjZwb|VM#dyR3N^c&Z-pQSyRfRazX*b4 zUFuOpJB6jb@ou}R2raHu33SK6v}~fblisPj9DMS!t@dQqh9# z)buC(D}x7#t4|SI+oc$3%Vn>b_E|1w+ES&jd+dDO;?IZr?u(@}>QJ?~?HsR@T~~v@ zW#0;Tx5McT)~9+rMK!Wq0R}ck@12qC+sFe9SdolZ3FCcp#C{;we9cDkYov3KzrsHX z(AGXEc#87Q8%VBKPMvK~Kl|0dZb=-1&K9$Rx)31(%RuZeHXTNjnv6xwARMkfn zbIJAJ2x(pw_?2;^E~yr|quX8x#r2;nGFKlU!DX;UVEa6ls@wo}TxR85UD+Mofb_uTA*5;)@TC{{R#$ zwKvoM0I}?$wu;1W``b`pZu(aL08>?G2U35$kK^67=6uZ@hY+74T0Q)aKlnTFTUqhN z+C8n!y`*{N=6qtl)9@dKygTq$!&mm2R<4@AjWtNV%=a-6!qpF5xas)vYs7CqX5SKN z8gy6s9IdKYu-wUP*l<38^Y~Y$d>w~f)Ah|KO_RfSHdZ%N`AO!&RyW#4UnFNe&TC9& zDtHM&MuU~zo4(iTeHBR1!QrC_ROX9%#dlik;g zTv*vy#FsWM^C-g|oD*Kj;jJ#!beQ8YC)@+2J@kuva?RwR9?M@q;}@={E94 z`$sBFv5XPV6?;zCLtA+h@<$xjo#FzFy{neIgUgkO{VLv?f_~9iiK=N@ef`Gvg+u=U zcnXrk!}fsitD2(Hu&2X(@US4)G?Hv`r0t_O<;VuodO>lsOl%U?A^})t#P680% zVzMlCbeIKp!L0>+kU`BTK38;e^GRtVViwI#2g_6~rO2zw`2xEWO%o=WTIMW@%$YE2 zVq>@;TFtm#Ym%f+X(E@k98$MhO6D^PY2eeTInT8KA)ZmHjJj*G*IdBlNBIuvHun(yPr5(bE(-GVSbimN1&MVu3g&CR2tH1D$)R?`E< zO7Wjc@{bsJN$xkhI|1olm2<2-2zMXOxbG48k~tNVgHq>n)Wg%8X;|@1Qq{CV%&bN` z=DBT8;^XO2v_fVlrU9-00Et@0%Xvg=xsPFAKiu0-bvsDv*)8c?LYtPS+hH&en&z4} zwcm(Zp0guumE(;1o@?L#0Ac?Cj~d5>{vuj;AgsKMsDR1`|g@YHMJCx=UQr>XlYVO$2sUTU4pTZ!x| zBjM+XQ^lSK(lsQQOlP-7W(WAO&23JmmCxt4oMhnlMqT7#W5#n>6T~v!wb9RP&WAi! z9o@N!$tN|0&WdczxQqqI=TsdMI?=fWkD#h8Zp|k>D+YGO^eIR(+;d5{jzwN;a-)HY zt2|_|139R%Nhuf}BJlp7;v0Bjzkz2EOtZv$qm1E)=Zc!z8114FqU}ZKGghwC%NQMM zua-dE-<5GZ9v)TJCBZqZFV@FOl$1FW(0G)QfzqnV0e@PsyssQmEPiB|AB}d9v?)sw zZUCsHwE1`(*5S2K00WammZ2C5e7(l1Bw|Bn<*SzC>rv=_Ez>+Lt(ndGB!GPCPY2qn z{8-kb@MnQF4MF4)$+Kz_d)Mc;{46bF$G;LSw21HIwSw~GL*}k?&0$yFYAEz*VJDA_ ztnCzitNTFy&>C#oCB?P9(mc+kKvwUH@t+3#EQ{hNhYjYNIBW8`c!|zUc6T4LK8dJ9 z1+(AYNqovbcvzjxd)K>s5B;4jz6oI4gBvz%AzPm4Sw z4~V=cEE?sEdt7jh&OIy4`~&dP(@obDTR^EA9sm`!NV}+|?xWYi@gw##jFzbJFA@9! z)inPA80mf|`!sOqdT3KTkJJE0aJ}l5v+yFz$Nn+C)ilINbj!JSZB@W-I^*8H^tI+Akt zm*jaLfjkp+;5m}Q%4sg39DSZ&oqrEX^@y~a{{ZbRKT_1K5iKo-BaR`$XQ}$vrRg38 z)3k>&tU={HS*xOtPJ;XW9!SGP!vt4lDalIDW94xiKp0ChpHwkmDt3Q7*spTo<&}`Qy3#&Oz^3 zsJ@jlISvn{Nu5aD9kddj2&=Kr#dCUQq9g$c!L4d%_aG3~!)2eBQ#n3nO5 zF^Xi$s&Fdp%!dckvaTiCO?0~?e56yBqb48&S$A@dYI*1DS<{myYY9HbRAOgb$+?X{ zK4a3Snj#4}s_f+$aa^+8?t;@oZzK^^uHYL^1zbiXQzkoxD>tdEE}6t@vA)u(Irgp_ zRnes}vz+cV>+hs}sfosFo&Nxa)C#VDd$?NhjFr!ryjS6unO%zHj%$L8!sdA$ z1bhzouc-V%;Xgb&DsXz7S2tnc1xZitxhK-Q<7lfR>?z|Qp}FOr7qgE_4IRJ>#~Gy6 zZ*BD{8r=et4{G%dYvEklh(1s$?kbmregMmDsJzoNzFR!jbCj=SVOJMQ*XBL*_C@iU z={ghWdWFGJyD$k481xnOBxiR)lmvTA} z;bW0heqEX6@vT}_sJmaG>~}HX9Gb+sggc(~h@Ll+?$2YWNrxSJ*0+W4;?!hlrf=SL z1ox$M^ge1-DpS8QD?Xmi{ERI{HI5q!Ij+K8F$QXl#i&rj7^TRJl~!_7z{uDlv+g1Y z3m&!5-Jn+523oN-D9GGBYY9fo>!&;Db9XLYYhC~3q$5)j&oB;r+~eC);2o% zwy{L7@Qx}=ScsDZW~NJG-D=7#c5yVaFjWI5G}eN0&~#SWe42{yWD;*;HmJ!bpsqi~ z-xu_s4BN=%x0LOiWY-s<*!cV7Wzf139}akBvY{1!eKMcrR~g0pIK5@o@8pCMySohjb=LmRzp;(ChHovrN#a7X>Jef{paY27z3;)l z3$&kymJ!<6S|Y0Q(h-(p+>>63p+F?JlIrUbTEouc-xaKAr!Hx3O-yv5PuWq?8Jc#3 zVd1Ey*EJ2Q;c*%s!>}Ipx8U2^HTh(`nRcN+B6QO-fYYtdXawT3hQd$!jnNBZJ%@TIDp$$+TOkG|S#&&+gp*m9=qj(A|8efH6j| zr7pRr23{^>8Akq<(w{~;QsrEe_+Q|{%2r1p9)`5zzegorxXl+*aUr*xD>P?m2fc2~ zlZIZk1XZQT?8~!65V2lCtee|KeDTd&OWrn~v@;0-G;Tt?Oc;Y&NwrT0wMRU7eCMrQ zzldjY@WZ81jhaG3b5e9g-4(8*;{@?k9umC`Ub!STM@p>hti1KCWx2da6fmbKB+zh2 z6y(NnS(Z<4A&J9e*H39Uo+Tjmu3j%|pttb4ZzpFp-kSgyr83UQd8`Pn)O(!|86>wbG~W%z{{Sl{e+t{R@XT@j z*ubq8L1uSiuGwBJth6~sF2^NIROPMAiL_B32w&2fJ&F4}U~&a^Q&}vLX9J~UOsb5^ zM+T;Lwudsrxo&yI#L`D{Mo7WNE3eRHa)|0mxbI0fha#S1AznJxjfIlHFryf+A~h!p zkC>{pp(xnt?Dfgk74ruCahkCvtrg5AnCyQ;SeEmul7^$11dWbyT{Et&q2W}g2JUIP zq@!~3dsaowrs)nxHFC-ZQ^7c^6U0#N#%g0#O&BS1yBzD-62y^#L|ROj4g#)u>sKyr zpUokc1KO=vTynhe{Hi5UEsm?rE0WlFMObf{v;N4eFNiu)Y5FD1s4x`{E4{LqGAPY( z-yL-y?Ee4&>Qe#A!pD!LVK(I*P6~A<>qRzxfA~_qQ#`?5Jr)N3V;Oz7_XiG0A#O+w)#$i4zAD!y}n~{G=y`KbBg*W#QrJL{5ZCW zsbAaJwafW13EVH3*veWGcW ze=W2_=Og%yZW)%w&GvCD!z7PN=Jg9inie0#de>~WvOM@MSu37>Yh^9QqJdW@HR{^7 zwE8!PBD4f~@-6@!hAW!WwA9m_&UquIYMt%->Q~$3ISOzEb47bJ+1XKhX)eeSyofQYYWJ&!*P7M~mz!+WNzWDK ztnK!ItC53UevN)s6$JBH(nq0IgOqM{PiN;o@zB-FL};=-DwdgW(jIzN!|f^v>sz&B z%c*$#tmAxNq?n~$O5AOA``~x?sdT&azp_>b<{TQ{)DTSrDH#NGt_<(+{;EJH?DC%d zsWY;l?`iVA(YY~plLopExM3m1QYs^2I%cK& zNB6qaFE1oF=UK_LQo1VK0;iFYRULutS~DjA^;)YeO5CsIShj4XWLDTQ#RKK(K@`n| zbTo@i7Gi9gw{IbeMPPAM?Z^aXu6cXA;)`6$Ni(30{KO19()2Y~PLO#)bI7Y_lUPee zc@tc&!Ws$11o22|5+wqZ_N1T$B8m@6DFNh-r|w+hvUM#ha-6Mp>0^cW$E8)f)4^P0 z@u@zxhAGBK^P4R(V!P!)=DjOHvx#9|25XVj?M7KPxS=T3;=0CT0bZSGZ z?(a?1O&xK<$s6w|V~Ua#+<2^e3C+WU+PW)92?L5tQz^%jK?FQh6UJ*>?Bp#*Z3`Zi zuO^2ok&6|XX52+$YubdiM3e-PUD{dg6_u*!5#5eQCa|eaR`*Vdbt8RDKMv{=Uq%dr z2D;l=aFw5>XlrDupmeT@E%qR-DaEC!H72j2QR4)3sIB4KCgM1&-cEZ|iE2vpty?no zni+bS-5v!^qF5Izp4DtvhT*w2sioP7pQZ(Q^7p568P!TQFDOa@LxdG!*q5~$lKtRTygS~j-J zG30Yhh9zuPg{rJ(v4XzjPHpTuJ3$HHaZ4mSl<`;91E@65D1vj+w&ms6;B$95okG+M zoK{NC*7Eyix~)bZl<{2T@qqk_;jHAfN2!OXq^!-II`1e6JXSx%Z83z2+{` z52YubU?3@};DPVmBPSr7njtqPpea&NlA0y>Q{koX{)r8+P!=@WG1|UW{{VuAYBzdk ziu@gQByQS$o|%0zpW*Y1M7RgnX|K05n?Y|1py&r`#Q25q{{TSvg{7{auj!ELR_NkH zSyz={dV|}gdll$9v>hnBI~}=hVGI^NIGT~>Nbt|ubHrXH@sGlreN)7DGG5)x<>Qh_ z_F)epK=c5CUbS)&6>>goR>hW&YoTe;+S)*t_OUM1iZOtqvGpKWuu+nFQ^QlKMvP-s z-d#(?;vtK~&b2u5ruH%QXWIr4;GVUKY`?tyYhLa)Z`f-+b%6AlUYIb zi=Yo`^q&h`hzC7Iak^EfmP2EcUDk*eOKr>4Ra1?%JiJ7%tazl~3pJ~+j{2X7H3=Q` z*V1!FiEPT`k=3>gvRKH>t?SYUXvVIWMDX$h)HE3)28w8$X?rru+PN#}=8YI|%p2-@7h*5P22BEM*#XRT;ZBeLBeTn4BxeQHA5y+pm%D_mCCjRX;O4 zH%ix>247tFtgDDhaoW0Ow7K)kvlUo@>M99W2XdMgMu)E}Pja%ZM+UKDu~mrAH4`3q zsSIZ{n<`m$Ru(qF!L1m6a52)ef#;gL0}<1uG-l09G}|xrtqcM5tlK$%c%!K`qgl^$ z&aLqU28s#AW?(n16j49{qJu>OFjmh9Dy`+X3V5y6i{z>|kmMXvTb_+MyPPhsX}>uY z&9#|EILI~LY8Jb*#dFs-yIk>IP>s*1!&difbCcS$|_UHr~ER))~y7^wcrNj1*X=tniTEZI(YQgc_T zjlI6oJ5|s^k6P%9(^H;SdlfYW8xCuV)ow%%ab0e&ak4TqUQgpaZ|p(aJu3>9Tb_mv z4pK=P@oGsd>NgDM*1OLQSmxB+<2mW{ub1KYlMH&2p^yWdb+4wr66%ev_;1Z8at6RO zVL4?xo{l<%@bFGs9et8*T#9Y*R9)RqrCV6U3PviO(u1FVYu$<9r+0K@%zVtYK3c`O ziFdb8YTJ|L$mj)RNefAGc;cn`ozQkLu5I%%Y+|1ckJ>rML&a%cTVw8w)tehr6}udB zQETpWI+|!xjt#67b;c{D(c?DOpU$yu7j%Sm=C|$evEUvm;&RR0sdnGJC$X$OL}ANT z&E|I+%f8F66r?z5V*+u8&U({e%F3)bH2a0*=`@{Kq{xnatEg7a zNbg>J30YBr=xedGxF#6e+O9IT=LKsmO;tHuR$a)!$E9D6VEl@$a+{B>Zo8R9p9Ox< z{{RC1D)@iKde?}&A$57J=^B*A;KOez^R3P~U8jPz<=+KAXO9{9o5!}Ah4zuDX#pl# zE+(EoEn5dIU#D{+h;!1QolBr#YsIOR)2UTd=6l@x>>n3mu$X5-LN~Rq)Ts<%Ez&%a zBT%59VNgni`0OgfsZ}I&G}Vll$?J;s`X3JD+q>M&l00Qds64h#m7y|;7bC4i7kcx- z6@yxonM~)Qq{U4thU1~Ay^jW<1Iyevs}{#$!Kjnw=~rwm#P5SkVr1;D%?k@{qs%zx zrCp}S5Qzeg)a=$R-JWEn%_>Oo$dso6g%xhNQ31R%Y%r` zUGzD+*ud8=!p7C}$Hos4rH!P=ehv+LcZx2&xFpHP74fI-8R9b>5+c6dxvmUEove?u z$Y@5kA~9!->V7@Di^Pu6xoCrW*XY0OXW}E`Plc&)1bJQA_ncXQkM?)9ryqr@pI}UKYK+UfAa$$L zf>Q&js>U6NPI<3#=i$I zp=W3)qZu{R*rwZb`d2cCB}H{M!w?|$tme-<5dG3ZO7y8b)n)5~Dl<)zJ=i0yDs>!m zXDnxJ31$m4I3lR8$b}7Cj!lR|{&h}yRiw!2U1~|K4!FykVY@9Sz;riibq zXJcY=qOX+PF^b2ql;BppZ;@RJNbo9X%zabC>3B|8BBRs1Jr$FDs1~{<=9-{;Uj~J@Dc9!XKrw0PK+}+N1B;s~ZKInm`w7^wT3{U~>P?jx&n!als%TrCrF=QI3 z-!Z9TKfC6m$S18f?lPsr`D)dNHN*MYUV^vpBHpLa)VL3-N}m5Q`3WA0{+sv(Z#?Ak(^iE{{Rr&eUff_8vOA6qY_(< zMd6Pmxi!lqoRVkg95+eMy0PIpedLo&rP%f9UtfO08swT^#_c{0vd@qs6kdxLHg3pFsC)_@2UL7tYu?5NQ7~-W35zZ%*na9!NqAbW%xXS zP)vd~+v`Eo84+}hVDuE#9$^H2H7lVI5(jEaH7bOjnCU@C%+&r>>CI-w=gvm$n$pxy zm{|7BXW#+tnoQL_3wLrTVO6B$5)Nv-;o5Ky+{G`L7C;9|#Z+!?HZPXRGd|@(a&b|F zDm|*ipczq2A^4D`MY1R{c4?4WA>=Xe- z1Epkgn4TrnhM#8boM2})^AC=HZ2d3crnUARP8OYaV{&pudymD7_q5UOSxFc}Uyy$t zwb?a~h*!nfm5s0gter;}q4nH9md77kmZSGk`hD>8_QvoRj#NgPnp#SD+d13(>)0&y z-8)c$CWi7EVR4mpa6zxbO)~Jo!n-3L>TzDf@bkxBCc7}{cG}hCP=YqbB{;5_)s?P& z#cunDT0=z? z0EUcppq$Y_2}LeFDGxnp0HTU01IsiY5DAe;Z1L+|ZKkEX4r{=Zl;@KyY65fKq7k9W7&+O6{#F*O8_flPlTb(HqyhP#cW#H@;IjI9JQ;f7i@t5R;(|;s+QLH z#a)gtzgmxI&k}We6RT5+_Ne~=N?e*=(U^Ne39YxDoYZkyg>0I(KRQ~*PVVHojfi4a z7{ww&h;lm9i)|kC&D`@-b$glJmKX^a6%yL>^r<5}RE4mnw6*mqNu)z@FoHV98n_b> zPk&mMS&@PqX1Lkpk!RyM%|z$Qj>=F{S7&t{=#+J-ghBZ=g`_h$UDdpYipKXcsJTU0 z#xN?p)`7|5t!DX@rT6^5B~sY>Wui@cN+TN;x4AK#V%X1?_W7y z6xFrEA5og*dd(lHaLjpS&Ut00f*v*9<^GkIt6095Admv34nY<4N_b&>ju*E|;(Tx5 zzc$iB6Oq!pofjpc`Xj~0e(OHk{gOT=Kg4f@ntb;%te4hg+e|^p`FI5VMSE-DsqQ-F zzcT*-WIv2{e+GPIsOfs_vO%ZnOo%4W$rB9x#C|pUPo-*>+Qyv?<)q1RZ88T*BRK>f z_1Qvv(Mj%p7oOlHfyPTuc24M?EW0yfijMLiVa_VZ0aRnXMIqh@u9N4})UOxs)Swu^ z>s3U77^P`JACnt;;<7GZY|X|ApxQ3%&eXv~F28p?im4G2$AR3{tM(!cH{CTuP5I>t z4;iWIbo4BRz+!prS@;KV=~{EC0Dw9gs~w|HDF6{t?144Zs|~Zx*z1b7Zza4k6>BI&&JOVd?&Q~J0Uvl{?JysklwTBJm)p%)~y7ne{_z_V6YHD5~egQ0E)Pe9@`=bhm~t_2cudUT@k7R$MEyeJhFL5!XwF@zs^o z8TK?9%u?eFKRUdZ2&JkLg5b##X|58K23Cy!CLgsKyU zAXn)oih=a_*N#@aH};SCXCH}lE3e(|eWxE<^k+pls~?qc_G9dG8&-NZW8nV)0QlPP zN4|<%X&EF!GNARZzrF>0O&%oEA>QOj01T(rzd!WP23_dhCpPoOz$w6NaBJ&-fx1KK zH!-|qfZ%anRZ3Qs;(f0cWmsC+S0ugd(>}w3Q7mDFKi0D}S(w`P#)q$i4IB2whh^%N7D06{_GiYNf0lN3-R<$s5|J6pjR+IkB19V*a>#}$L&jSNE? z4Y=aF>k9y=IIUaM`|R5j8OgL)TXV9aYc0p6Z;M!!&7v8r?qLADW`+ltwpDE z(zVjl9jauu0+%r^yV~UlEOFYe!Ed*l z66a_&*0EACRA)d>O3rHLkf`Ej*}>%j#w$S|kSPH6#W`1+#?~93F*5T~;{))fpuneQ zwq48^W{x`1+odmRt;9A%gf+k+Fb2p>8^Jm5laN5B)&5pI= z{uR4vbv2oea@Fg<8Z=36t)(ibJlBnQej{%vRv0SSBDguNGxmNTj6SUGx$fFTX>|hk z$gJ-XXzMgCyLy9BcvDl^5{5hhThlV#gMnW`LP|*Ke9)@TnLK^rA1-+%MZ*J}+3vILn|a#WbQzuX&{lXK2nnw*v+$$ZT&#yEfw`%i zIc3cg*u>?ub9^VVt-nTou0ekl%n2lJ8686@2dF(NbU-kA;=VulQ}J@+LyFlZx{~4~ zP>md|pO@R|Ud;ahv<{0Du%_1XPY)w?ABAeC-27V`lHzbxT{Nz{p0Ol=3}>FTg{ZzR z6CC=|X&xZ5*KGyejm&e~xZ*`@@lmDCjn&bBU)wyu;G)W`5UQioo89Z0Y9~!@Jm$12QH{t%5_JWL7O+xKX z(~dq>?^4=5tOiq#%_r=z&~MG?zVqviQufb9w3hc#x{lJ-K4z9y3I%*=@w@&C0cWCJ z-Dy4rv=_1=XrEA&VFC4DTKV_lU+o9+59217npU}Vt6&^ChTcCc6Wb@!yy$oy=&-_r zySb>EcG1}VYbM|*Q~mB|B;WF_zJ19xPaEoz7x5!kLHho&Oog%3*E_WsKpUh-H8mo_c&7F?ISU~b4~(<}HM24vtYC8dwUVx=0M)gBq*pMh4ol+8SFg_k)53f=g7@bdFXxI}dM6M%7E+hJsqE*U|s zn_V&#!vq8ASvoLUv(?0LE+g2w6V(`2mPXpyK^QeUHbq|5@d_Mttcw}E%#TX*E5Sxu zAD?3V_w75D&mxKlq~f`(d6xr8M@ln5!ip&~K{pKGW{N}7iUx8TMw{g-pQ#wkQ}CP3Dis&q5+Pu}BZ@<#0+4L3Hhnr5v=rEJ56*+E6d#8Q7RF>NiIVu6bE zn@{OnSC4<=+E1l=oZ24t2BYRt=y*=8@dj@X&d97rJ?ks}7Y+8M`=|>s>6+#~BL4u# z+~192csKoc`q!U1yPmatEh>#UBilSNulTNAHsZ=1V)EL`>4QrIQWaBFX zm@jT(xedR~Nl0w^=B{`@{X$nuCs9zD$LwiRmn^GfBI z{w9`R1H!*Ilmsccf$9ZxaP_T?Kdn@vtX%OGBMlkW z_%_$|2cdn{uCmMS53OlWL-R~`y;Zh%8YZWLGm7DUIO{?$4&CJc z00I70(divUdC$kM`4{g00Ngd$o#J^=rkzxLC8J%Lyia`ovl{gqTP41PD}Zt<$$UHi z03rLo`s!=hG;g?{g?#l_?;okqlZ`mrv7HZrtmMCm-X+f9dRNuo30ZW#DkM?>QGs7P z$NvByG5u@a{vUtGgmu$}ljb}O@~rC8P?OO0rPp%Gr2e(kXm=lIRXNUU%%lGRUMtYN zC-)M)+HU8<*QXfLx;x7V$O5+@UzeK3u=}F6qWhIq4~WD&wqk4GvJfj5Oo*T)*6y{? z{VOKd?pKwGe)2gh$@?^mB;uP&d(eAVBRsLcjTogpD4=%`&}cm=vETOW73;=cakoi|s@~P8WIlcg zNhxWWqiX6J$Bye87#bOyn4Y$=wX=6{bh>cS-NVz%+b1CK+V!9t!6DJNVq)Wv@wZd% zrQT0V&&bSw^!Q0Z;nQbD*(z39~c}O9vS^GH9a#sH~(b; zPb96ZuB~r;|FKEk{k8X-_6Pj?kBJ9(+1LO82GF`7=@3c{N{J2y&k~oD+ZfW|6;Xu9 zCVmbR#94To-X^2k-ZT~}t1Fe1t<&*f-Q({?F3u9_3KPgPHR`E1qRr07KzJvJh~}^c zf4X^IUt66#F72nf*UTWA@xCEn(lN{E=jc~Mg5Uvy%Hs=0P&SCw@2Sq-6h_HEyQIpG zZ_ciH4R(7~q>qSO!LeW2N>@EeHQ6{q4XmXUNBZ%5N9ZFFEfj1QiwKih>~Fi!FXv5E z&G*7Px||dc)s3?B=R#F6`pO_!y?t-GBwRX#!SlIg`SABY^_5$(v^mFB{mslReXArT zc`5nI{5Mj8clrM5F%F*)K!5J2VgiICaQa!EK7R=ghVAmZ9}zqL>e2}8}oB)x#Ok19lmOunq`yOWH*s|xnJexWuzjbBaaX1^@|Dc zE)_C?yXVnVeRQ7+G2)-Z9*)kQ#RM`iMK}ax;SphDz|Yfi?l(@b_4%%Sw7^7_%beED zln?l$yN&B%8^Ph0S4}U%73duG;QkO3XkIU@`B9kfbvBrU5VHOUjYEcd?DUH*4y%58 zanEfR;2Uz~D55Sd%WjoI4{}>@U+ypVbZexna0It0aCT2!n+*5Bf8afuYZ9Z5Jw}U0 z(2(@On;VhW0FOel4in&#I(U+BtQyRsMa=3ii-L2Ldq3y~_20fn_9)(!!akEQIr`8h zU){X+xOC(@5>EPeR-)m&dso|JD^K^^%umiMQuHTXsrlZb)_7*Es4;fJpgdRK_FK+)+*^N3%p8s% ziRte)rYsecm;hf04d0Mcw`d<95FffHwWTr89=BUNrs?1ybMjSu|~L{fUidr%+BL>SU^2sl_y_W+A)5HhXpscL?w zU8nX2@)EyoZhX*nRN>0ihnZ|Tx=Zz{qQ0R%;M$FP%kTs6V3a_jy#rO^nJ`}amY@6K za6#F&zmvLpsw%v8s$1QfU~qI8 zB#Uf*inGY)!$=@R(>gdHhY8G?M@p*-q;wid_@3;aM@{06SR4lndzgR-LmiIj zmcdSHtL6W>ggu0h`K4RcnCzjLy!JHyv|{QAM>yiwFsY`0LOMYcOsWS3NZiGd0S&=M z`L?$T1zJYpyaZVDPiO9!KbyIZC`rgli|Tf)Q~i|S}tIOq0$Q^>vn29n}auqG3nqp=Jje{2SYc zG4M=)p9x&SENu0baariLr~h`9Tj)2Sy(|y*$k6Q6_qT<@|1LvR_sSt>)pirpwxYApR$(fPTd`hg>7p^ji`?lr-z`PwK z2jht_9^}r2reM0s%5$w4`4bm2gclb2o18;GPF~OXycS&|ex(;vhbBB&7Br703FG}C z89shbzWPg38lJ~1)Fi%5Kbnusj`ZdJ{>eE4ua~6YVvJdQ^27f;b-p2k2}Hp5op8Fa z2*?7IRu5vRe_W`pDG9P~!1n&zZ8=rG-=n=p>bZ;R!eksdi=PUhmv*8y_vDn(MnI4t!hzSJHCfo#&HAFpDRWnE=O1 z9s$$;jb~-!{+_S|a;zUOUthmQtGOmbZyc}tV>1PnIM!Fdvwqyw1S5a&0vC89uS}d3 zg~GfEF%(vg2q00@MB-g!gj4a^caM+PMHGKJ-UHFk&z1xf&zW$}PkVNAf?*M_Yx1yG zgdKkS2H$)6e%He+mM3zCOe7Dz95Q8hLHu1gsKZK=FdU3Y3yUeNuWF%WoDX@uO6W(} z7CJ0aZ%pU|%-++EN3k@@GzIR5?v+cBeFYm>mIk*j6)es73B7DfI@x{8%RpeXI@dPI z!?nOVLspONc~>C}g*#($k}lFU&k#aZ5DR;ziFp7V`I@`23zz0_(Wd=@__KRAL%*pg z9hWLK5+h$q+kUjK1r`$Ey>)p>Oh7!riim@Nu}i;ywp2cHRJ4+-#6B368=Rdn(X5e{ z{i2|g_hRoXhYe+}OyUudtT240G0noS^+~6dXi&pp;5^9x8KVwv&D$`6_OgR2zdxxj zbK!hH_>}K^OxMpO>pi%7E~Gt$A&2B3lHbqPB${iF)>&8CrhgKFGN9kNBNhZ+ihB8VxO`Rv3ks{J=4`J@` z+)t3z_mH{%xT&eP?5O-tX>JaO?TvL4CF{F4p(}f)1?3NW%5HS{-s)5Q%J3=p&U4v2 z&1GY$*kF+0wY^?+xox~x<+^e9qhEmVH{rwSY@x+B29=LJ(`_{_iU zryVQ32*iV9v|p6ogCe?b@cwbSY1eEhR<_E^2VvB7)=+K!x9mMLjJ6Y(C+}!sDpQYf|? zK9IXuc>JBx52I^jtz%a{ue zlK?wf8{4u|gDc&YDvuV2ytr(9)fIq@oWMh9bzsW=xv#;UxWQA<{@pDf>lTU5(&tyh zuJ7x~6~_Ztn-n9SMHwB_8WpsSUgkgv7v57NV-8P`1Vl#D@`L2 ziNAssH%}T%2|@rl!o!a-ulCu4OU1xc$^?ODfC(J&{ZV!prSiS=BmF+~p;lX7lroEx z1`4+yT>qi;)WP2G%cX5DEEPv6LAP0hGf0gDshROo^kV}ZefUCgG^3sD+ZH+uTN;*) z9z=a(jKjE;4@$eakj_M@88=2E|49AX)GKTKTd=pwy0J?iV(0ecruj#OEWAnNF|M1B1&@H{%dT$5wt|^u5j-%56cUj)X(Z! zYz%e3FOIlGov(dJ)fG9y9$C=yX6_&brJUddiWA_h zPc_fw8D(k4JU>;BwW{Zwj71w>e({4HTDka`5edRleo=k~;Gfuj^`la9gH0+fAgR79)7jf+Gs% z(PF6v^8+Wi!Los+BQ0JHG4GA~+nGQ>SN^1&T{Wtg`yvF#{+y$($Xm+e5~;bE-IO8!{3S@kL-K+mg7c`X4JTyquP5F z7Z%*zMK|EykL8j=(9NF#IEuXI~bKpRNQV8kWEWuwZJ% zZMN0y*cs0g?2ccS5+tZ{S{07N=r|$$;f*?hr>lNtPXK`ej)6)Z= zIA*2x3ayIK{3B)_sHeTrH{=3bdf-L@9JC;oGxXC`6_%ioYQYGCG9S!xe0Jx3nhNZv$Pe`MHKS}?OJ1|#rJw-< z`SF->KRc~cCpPk&-W4GXo)qu}W!tL^2@8JU<9Fy)6w6*wm&SB3f$K0(jUP4TFZ`Kt z{02l$|BLytM5WAsTvMy2&#MN4#C(rvt%dXa>?ZLywJk-$-$D+tC_5y%l z(a3@F`(A9pP1jr9!B!=?o!Hjk`k)S=ePLDO zwB4r{~e>;BRq_JanrrxG+q)wjR?4_ML~k0Xmy+E!LPdxd2aG@E8pQ|B{o#czi-$o{m~VXM%}jg4>@ z%8h*lpP0zNU4!F|`cT@%y)whS5mIQxuu*>FVzAg(d!0`lwyGg+wx^!TUF~iGFYNnm zqA4zr`}GtNP)%4Y!SemgGMuU^X_}NfaXKG))oVLiDnN7V$ch4x&1$Z;=#2_QqeUx>(S({> z#dDlKmeaizdRdAiJK0|4q37O2n!m-|HrYT+viJ7S3IvKQ|7PxX!gS@-v3}*IV_Zp_ z@9pg6G7lIuhjLzn6X%j?@@lJLrBicKnRZhcio@EMZSz!t z5>d0vrY5ID@IA!tZO%ZMiomYOfoUUtX?~8y``= zOic276BnJECdJ|=Qjl$H*pL51Cc*zoCK2w%5h1&I5Y#NX8PmrE#MD#F(bT*?yjt7h zX|Hc^VMF=lxQ_y5P{ovA9R;hn#l zo8Azdx9M~d^~edh`UVhGfZhHlaRR?W3o0C{qpYD!kXG2!v?K)0>XrIOi^#S3vdyuL zoR`g|Iz@~`l*uMTf8Ig|x#$6AhNoo&&129lQ(G2+(HYNtbcHRS^7B}}ei50uk7n=* zP_M#L|GSu700TM&)dXy!%A-@jY>Ni$D`L3JC2`xJ#xzN?>vJ)fP~3_w5TW3 zg-FW_=mDR!TnoA0qcc8zptWPTkGw-uyxpb-8p%DLD)`RL*I2UylvyDylc6hKKfA>T z-yqA*&jcnt6S+~xP2`nb+S9K3Ys(;E_k53hUYiW^cn@A>}_$%Im-sf3l0^h4@>A}%& z7LfM7SjwtJY(4k$7_EDE;vzb{o(||NYfEM_F4L`EZxzjTpx+=fcQ>~#cE8If{kv13 z<{cEPW)~H&=~c4vKF(B<%tv+YFO{Fh8dQO~4ur`TvZuqe+Ui6=aP7VQi|4wdG8Yf& z{7D$q$r-{DM16T)n&-~$yY9nKLl7=pNW=n;ST?YO=je%(^f&05RB^8NU!vWC)?4F^ zZjb{zbl!^TBq<-Pu&>3^XLs%C;=aVvJc`}`OxQw@Eeqa77WdsQURXLPB7HbLtJYqsmU$!4KRY|O z=N0XgWfiq74|`!{^wuk^pM5yUf;-;L;n`Eur`N{3;vkl~y92Z}y7_$;0XL{N3XR6l(zaOCw z>>?Ag;m`s(gFv*2dGp2PS0*iqXVs-Xd@FRu1Wk#H_#Ev+|NN{vnJnM+Gc2ALY= zmKib{eXnZ?tjWtEK)f#@2o$E&(e6@eDRF~kygrD|gsAwrb?eEGVcI(Dr;m$J+l-I8 zs-zUr%~=j4Cs=?`iv7wNR>Rst2Ly<5*p4vESNAnJTOv>M)=h;6ps{EiBYs*;vE{EJ%( zIl#^PJ*AOhBYlEY+poO(7&;nS zQ0Os@AM0LPS9LGYb$4o$1s^}K)A7U6wICc!;BzRNpubGFjfRMYGY->zKs1JKNJZ67 z-(aY`Ep+YT_yQx|03nPN7CUFFW({AC2@eW$v_lsE-#wH7UtFdsQzpn-D@cYGT?0(2 z`r!}lY|EX#*f^`z;I_mBKAdZGYN`x%v%IUs<@DBl&B3JaAPs%_tR%sHU<}5ZqsU;< z6(OeG_vH7&)SZ&oy{^2wc5LG#bfD{*dvVC|6;+*Z9r$I&)NNKrL63f_Z3?Tk;v1$i zXdyS(!m3(eIBoqCkxZP~t`fCT<1fw*H>wDD08x~?{MR)dt3_2=foG~yCx+_Ec)^er zOGgy-!SBI--{D5X<1g|ZRd|MfGl6skk%Ol#Cj>x_ uOY>M?s_&4_4ca6kx{|ci@0_V|UMnn=_;e^kL0Q&BM#f z$IH%nhW`vNKdsLD&meUF^kiUUrFG=xVB?@Y{eLuSE5OGJL<4pVbQb}7J~{?II%)?1 z0suNDx_>v|KaGx_fsu)sg_Vt+gVq4e3((WPP0z@{#Kg!*YaL2^4>0mEow=Z>!_0r* zf#ssNz_sw?zgZ=3R<;S64&$Vh9zTy@V?Qe-d`?9AlFa2RvdSvgRn^orZr#?^(>E}@ zWA?z@!t$Y&wd0egPR=f_Za%(#{sDnO!I7_CM@7GhiA_m;mzJLK{zK-M+`RmP!lL4m zZ&lUkn%eJm^*`D>I=i}m_VkX7{u&#fn4Fqk!Y=<_SzTM-*u?Mc9~=^nh{q@Y;GzQ< z{sR`R{10INf{Txai=L4-r7Zv8qN5L>-3)w;OcxZH&*fhFb~ z+-NJD8*+9d7!(s>fLOYWHpxtR_u!AyoMv+n z#EFEq_(psds#CBI;rn&4<*v8To(WI$V>kKmEpE3y3e>)i=%fO!$b2`Vu7Mbf)9+V@k2f(F-3)vVErN%xYM_>oiNmq0wa( zQ7#_+?D0*hY&OU0H)YA+BFebubr?k|sQ_!z>y~w!5h{RVSD;*K7A8kR5t^c4Ff=@e z?@;>X?Rm>+Keh$d2iaGDI}Sx4{bBd_4mom~+t)s$j2IFMlfIOUhLu)9RAaw8pZgK? zZjWT^PkcIZe|=(WYW*pQjrb6BeD(lEqK~5jF(^@T5d=&G5rT1Ikc+grFw<=uLvu`) zUwxK6sMX8B{OK#RS0(e>X@6u>@Is=N&k`~^OsEB)6pwcCodcW1^=AgbewS!e@weXZ z(PAe>knHWG50X66NCn1$W z()sI-|9+d(z+d@OTQFvj!TaP+>eZLmcyB#tT}PngyGQ#k%O)?BY-4hkS2d|3tPdh(+AUa-MIVxk?;@14SQu2<*c1+jxBd-@%Fqp@i zj^j^Flr!pxHbx8mEHcet=i%Xxc88lwGrZuvIt+ zuYzt*VUg3I&aU1;L*+l*8;J>}ZVgH+3_oKp3>Q376Bh{S{>*Zag>C5qF^Bcpv*Plj zO10;HE6q>43~`heWG-(n(<3tc`=A-1e#1=zF^im+jWReYK(Hgqc^1rXTGaceex4Tn zWOhG`gAf-%mu|7!zw@JLZMO*3hnjX=9xpz<5n}iqe|xykJ=f|=)o|IzeWtJKv+afN z*H%4YX~?L*>q9hORoiX$olqJ+`Hm}e*@g~f=@~k@+-#=5YTXn_SjiD8yF0Hqy7_4L9P`$S-B<4 zQxA>t(m-9M0uj++7%r?hqvfjduP4SsQ#Nbop!5E}Wdk5D`QcxY+*&+^Bo&-f>SCzu(Y;3Wh}`(R`k!6v zpx+D)iev#VW&jaK*y;UBY;V{xlk4?M%2djYb_@cPpG96^qdIK!4KpNYTOH zLaV7jcLVKLS+K_4G4w{vuM3O64VV31?DlN9qz_tnOB&eNOIkw7sP!*rnAVTOo*w6X z3G`_l3&i~8T^zWyh*Fm)jDRtvdyq|X9fgi2X3GkZJ1T$Z17r8L*DsH@L`Bju5$GV# z0=qU^)$VmfsM+#kRyvY<#F7MxhU*nAEltbvymVOJ>U)p3+--3HO-Ep`La%qi&IFF$ ze}FfM_PF>p-RT$&Ru&ePDXT1^i#GkN3caosO<`v^Rqgqk*lt2BTr|Frz0g@3<4|OM zqfx$KjZY(dbZ{LxbB-d5Qwot%Vh1a>yPcr6Do@s;ZEwXak_JOWKjjN#`K}@0732r$ z#Z8{OEeapQ7)e5SOc!m%YyuH&7s@jy^9NRo0U>Z85Hy#(ce(AcS{ECrn5OR# zNf%I+a~m1@fEZ5mlhkcv=Yr6JedlR3+lQCe{$g-_dT&IGJ7#v@oR(iCMK+6)vnYHz z1#k?)^979*F2rclFrXPBLXu}v81$hs+Y<>s+;O09{v*pB z6BDWWr#lV6Wo=&W-xIebB_!H>dMJcYXvG{%Qqa03-WDdNa(RX>+GEeiqG8`NXhwG! zQFk(0xOvvPJgqsm(6-wf5pV{^I9y|4Fv)De=*P&56sd)?QGqsSi|Z+PKz?Qsn&>AT zb%I&Jt^67Y_vV3rJA+J6pCYd;m&B7NlHt1HU1r_)%>SN1UJ6s_6jP5|vK=h2i-U6< z!438EGEj@V^&Ivv{6s|z74U?f-f4Q=n6r$sCS3m zD0P;7fm2`9f~2rEVjo1}*0Kv!E6V%6C(oMFe8#4aX3vCqh z?F>QkJvD*v`0k#f_Mo{T!ppsZFT8eDE|=S>TY;NqpPU>SZ{;^g@Z%(xoIBugAl?Hq z$5QElYq9mujHD89wQIq}+7p7`iUHJ@`yozqnQ%)FH(R>&39N??-6O^l+Rg`gR+J}m z9x3wnK{`e6A91ydbJ3!~b~{eUkjQ}>#IzR+m?APtYJ=ynNtrLcsNX}@N%&tT$P}w= zi+U;AR~V&--b`vHZ+K1x*&ITlc%?+>`1atWOTJ#(FY%_0fYcXL2X?i;XsSF*)WMr! zTiPAmaSI(jZ>o1DgytpUnMCU2c^MAn-}iQfSwM)WUbZjkZ1x;)vadKg>Fb-8m2tB^ z3SyLCRXJU}Cqmk$1?U*c;P^afOpc;T)Q3&EmYURLZu1s$_%3W#0HFQRUDeVZ?S~Ve zI;?C;LFJ=!9*vDj)i}q*rHpY~?RdkR?%(h9yqL>7S;!48EEuotL2^PQ0!OjY3CgtW zl*s(UCc%DHN6Mq(zI&R%r2ubAxmjdGg?D@kn1EbDMTZzK!5Cd7K=`D%OZe-RPdzH_ zHdAj(BBBpl4>nSJx?oZh$zfgas8SW(We4mLt7}Z)?>ouIUbW*XrZXd_Vepn8GFSiV zE86d~An4C}@vuA&>{B{vy0mPowh?b>c*O7R8R!=S?g}u*@6RCYhPacY|M4lnpr|c-P8@~M5Zu@ zu=$1R(40z5nCFHzcPvYAlWvB0Q<8|@T{ zO%fzJ&Fb=GE?ocnaW0$e+8+&0$)i?_UGGD$M}dN)uRBINN6d?9jOLN-zkHK^twm0y2?G2Bz6W-prD{C2RAAW1 zy8H%69NBie0;1lzXfV;FW7nNSEr<|mH7N|qPTsDsu4%4G z?^JlPMgOsc%e6PlC+Ipdxyn_cTxYMN7bu@ z9=E&$c2eKWZv>4l;5fP|~S@_v#vn=Epbt_NLvGT`uKYPgggds^(diLTbtNwE1nr6*v*i zL=uE)dW=gpbg?|OZbUCc<8T$~ielrY`bQ70Bik*g%BX_94f$2E<3DJn6 z>kgu{5vah)6~u!f`Ux()<_{2$7Toi5H=axGu0~jcb5KFh9^=4C%kDkrKOX9$FD9PB zS;Q*8wT1;ivT<2LEg-q>jp!{w>1D{AnT<97?Ho`|5w=tqd3_61) zO$W6;TSUny?^(0VZjSKONW)qcf_cMnlTh()4(?u(2>s&6YT=6Asb&oy#|T7x-LL zihK=wm)fsviA7#*{=8hIa@=!jN5LrISg^NjT)~n=8(W^BT!W6v7#;FTmBjX|_yE}l zhXWzqybjKG`r;D zh%`|XYm!hzl0LP~mdbouTT>OT)fOyTc1A|;CX0HPVuR#4)HoG5M+~?@jKrnSm=N*# z8`HLy7kigYYiuyrI1uRcYbB|?sys?;AD;^+9-~0y=oTl0!fOexT4D^gN!zAN;$rQY zB*o{`ez`AA1u^;#Q9heD55$OTBmo%Vb);o;Em3?)&Y)W3$yN{w!*N(=?@+@Sa5JDb z_nEj(MWdi<>dIbeOu*{2wzf9hZ1sDNAn45Z`gC}Tj{aorfL(}1+}NCN+=%K}ZEh9x zW^STd?!)C9C6R7L!T|S=k0$C;6E7*Oio z+?~-QcOU#+fBnQ(r<7i|w$rEbHUaJ%h=X9|lLB8hERv@s2Gq7ya>MU^S;qYrT9iZg z%v-{#60hII?k^-pLnm8oXi^S;KOL~6kC*6Po*{*$`(~JBKCYVFy*RfW92y_MD!?hx z&)_$RyxnNLyrYDT4i6DsZjx=k_YFO^_&r-q!F~ElD*4{|2=#L;oN5jcYAWsNtG}v* zRJcTt(LS4M6YV4<^DQ1r-s4) ziW=_l=yju6zE06b@H;uKf$F|AKj_cI&xtxfEGdj!0AX}PR?$wgvT`^Kr7}cRu%ZJZ zd$417H`tsb70~7-l@lcn@mj`_<%5-~jn@yLg^gTTTht^>n&6f#Y2|~&bTkEb*Nl(( zDTUFK?1|wxA1qUP1CH#}Sl^f|Co^)hs=K&rphMa+rGq@q@H|`J3;8g_3O9O#xU&T1 zFvg4iI1+L1`V{Jn;(|CQ8oF0V9%r(hdtR1z29=mQ(#S*LC8uwb_?8-A@%E~tf+XXz z8&abeKB*B1IAfRFA^+DZx8+k*9-+(qSlt%Wi58y{ISko)y}NcGAA{ zL{KIrFMzpmSEg+ut&(k?!^r=iU+-(3m+D>L|2=l4=&?*mj&)3EM(9V29+$ECqn6AN zFfn5p`f6U~D?TG!A#=gB)*F;o-5B6qN%uLKWx-<6vBFD_Rq#}Ck?Vyee&VI_fKOK# zS62H(X8C)>fW%?CMVwcgMK>egps+IwC*44Z_bCw8S7TH-6XK8G%}lj5>1zvt&HhfnRS{#B)||DYh%!p17Vqo-*j(cZJ2V z{_`W&-U!VJd)+8hM7svsK4lux0R6B}0k2s(pINJHef0U=`kV>MvNy}y&}blPrQ@H6T#I5F-*Gpb6P;6fdlgpZ*4nIDFm{Og(yXfYw)1aYk&+UQ z*X*AGfbS9Aq$LI^>Kg}oo!K4Vd@k^+QDGp$bi|j3uf3ofe0<#!QP$~s)^I z@vR!DfEFim^*R(M;z_v}3m%1>hc3AUf+&%ZRDg~~KP-3vay`&&vAbIo$zv0UvSbWI zT1J~Cyw2oTxc6|EtC^oXwqITOCb#*8Kyd^fgJDrAc-5AV3e zAC(%99X0m&Fz1>LA$sSzj@R3NDDHH3b!OM`rvZzcJMc(Ak2zG!q!QaDgx2 zxahcNS3_WnWGlafOGc-f={3oXHL(w+C$l09`M>Sjrm3Bmcz6GHadBtows45Kt@hJ5 zkw>Xp<$rRUj_N(uGKizC_1ztFs-4qEF{Gd+S|$5J+?`S7gUXu5Ow651biGZKX5Jg+ zk%pDQ2lD1Z1;*YWaT-lgQAm0lJ!0tR!Z@v<5|6rHhgrwFET7f}FHY|sG11BMzD?$O tBf!aixu`Iz@J`{i`R*`P_0DCNGC938wT8U3lwokdxBJ!s6F$_be*+PU2}b|` literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/10_of_hearts.jpg b/src/NadekoBot/data/images/cards/10_of_hearts.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3a39d0440b37dc3469b913dda126ece76add1fe3 GIT binary patch literal 7770 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 Xr_1=J_8m2w&0cAmm2SI|PM`f>jt-Bb literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/10_of_spades.jpg b/src/NadekoBot/data/images/cards/10_of_spades.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7f300fb5c3b0473ffcd3a650d05ced2703ce3083 GIT binary patch literal 6862 zcmaKwcTiK`w#QHCMLJSM2~q?^K#`(SA|e7mR8V>iN;5>n0umr36alHB2nZ;kG^GlJ zCV|jVkf!t&2q1`*L^MRwF89s*kB* z7+?djv$Juqb8>QU9L^3u90xc=I7LsMGv*Szb%$I2k+@c5+8Z8)E47_RZ;z1_&)6EgH>S=8qUA+qzFPU65y=G=^@sEwIoxOvjle4Fnw~y~VnBSAYpr^rz zkkII7F|l#a;}g;|USwuvzs$*fTU1<9TK4XJd0joWp|PpC2rTB?sBOjx=0YDbMzm83X=)R#bV5(nWfcHM;{unB)0uR5a-; zG=>RoY0v-Gz3+Uz%yCjXOx0OGuebGxe5}35CvxxF+1Wx-i=lA%avp>Y(bOI4kbn(m zw@mMLs*7Sy484GAYZV46uQ7k}kpnRJ2JqH4?GpVm$*dcH!V#v5Cemt8beB}R1mY#3Cjc#Dk zni|`Y-y&Nud@vMpof={DhswUD7*oQO5CM zSDVm(Yz!tnr@Am>+B8`J@RkJ-;ooa!`zc=3i)2Z=QJuDcZgpQ|+I-jE51WQWSGiw} z@yN=MypUO!RH>BAU`lFK$Zz~iTVa$15}#ls6Fgngs61V5?3ogs-=@}ulq83B5qR)- z1H_mEi^|Pj)P^@RKT-Vkq?a*6%=baT2E<`FqBh4P?STk=Vt{klyf>Vk3|>)=!{6DR zQSQ!O)JE+52@pbrS&^7|WxSXDEp1XJtgi}raZ10&$B5@QbCaON>|U@m-HW_aOI9Xw zRUTxuRL#pI=3w~Rvb5dfkE!sLU*H33#;vGIdfT0v@mt#vAI*f&=5YHiQ3ECPLl&Sj z@lo|u@AMzUxR~@#M2(#*GcStgQ+eoQO(_Cx-ZrIEv2h>EFj};%sK}XDeAt!XwD9t` zbzyoqCyJf9h;Ov7q1n@KJSw{J1il0o98{DA*COBN)w>Vi_r6}fz`b)yvYO~X;bqhX zp=T_KegZyWi8TNFG#^#O*F_H(u{0U(z`yb zz8&a)#%Lx;=KC}8_;7KL`X^H$7*``U?fFLO{2we9#6Wqo9M1c?(e_|BOz03=|nJSGtId4=4yIl zw#ru?t~22`c#aoPBnib497(RS z(%AZ_J5P>3owb`2ec;n_#@JMKO_Zu|A8|YhoQ4uceJa2T#Rp;d>HjcZ+aYcI;Y166 z`N_bUEKrI2%zSd4E3cIHy|KSf)Pl|W7dad@3ES$2(cPeG(yXcJ-};$n+9$Pzj`Ab? z8w5rL+bv1X+MFe|z?(I`X+DQ9bKgoH^BVC#^bKRGsHt<~E6P;Sq zM83lre!(eDvmsZA4rfh|_)l}G0Q}hSyLi%d%=9|3ZKr@tGapA9zeQL=u{TiuqKgM= z;f4xn$SJok`QA9sGt%q=%^rN9NK)DMU)r5HWGGoDyNeJj6UYLdEppCzzjf+pcMTp9 z4Y|8fv(F}wrb>ICF)?hoN71F$lLjfXR0n^W6l%PFe*R~uilmX?FQ3Dl>2_VEgorwxL$H1IaKp`~7VH6Ie)zX@G%N^=i7_Gc`5A zr6^h3LG+sF6jHR=5j6 z#>H@_N!tvrkyTUc!EroNJ2E=7_{6_mj zyo1^O(|L}PXv(Njdob2)Yj2s5co5lChfAMz)M-#ue7c{tTGjb^*?Q%R z^hUMXbl}`J#J09^Lc8MKgUVfb%fyi7hvXr#cV0nvx>Y%Z%{(1cYLuxzr>?SqrUFKZ zd(5)t-=kPGjeCv-Y?M^_6;*B?Jcuk=gy&AsC7e+O9N7*I=bOz7W5nxQYnN>S3!^AJ zFW$dkZlsqW+pYu4-S2kuVF4zjridCk3*dYCvj0rBc{lTvsL*aB*97D#02c5ztD)joKa-!6X1}Sc<;)yxKY~wR(2z^KO?Dl-C?J1sA;7zz^orLtm@)k$ z6|I`k7_#eLK|7Bcl|94AHPX085I0a)`#5W{>SwS2AvY#5ZQbR=k5AIKQ9sL@{1`Lj z;H^EH7HTRqIJR9KvC?@C(I~Thj2D~uzJb5_iqjW^3API*cDIA+^S%bMQMf%y4tckm z1yGeSTQy;DQo!XzvzBp9#Sf(6SNmeF{Q`^*O+^;a9_*1;j%$5_{lE@BSJSy|V>2E! z^v_Sni5eeVdt1(q#slBSziz12`UZP`zH6bF|GlW8`D0yk!mr^Fk9=;YyIIPoHT)NVI2bB^|cyPqZ`ulFrqssWzp|(Sb)X3-f)Zm z3-~tvF6b|{dn|w=)WibDES-ye@XC;-q5_f?0Rt6b8u~${nL<=JQ?yO5hcwGSX#Rkh z^1bi7%570T^MPZ!j$_fP7nGtwoe*uhBO@E9MpM`9!V4lp1F+Px-q|ProN75m*LL?7B01wtMcdNJxGXeXXu<~9wPFFm&X`)_qrrc;UCmz2U^;w|^t zKS|ZFAG%f=bHGTO@xEOYrVADHZ43}aINT1uGTZn4j(G5xg=Dtkm1}=*-xPV#D84P1 zmI~jytvSto=yBZbB8Zih>}{PQ<+#8hcB?Rd$*VMEKv20~Mw&qT3jbO2TZAtLJ7`US zQ>nZfL*qg0tzbHZxat0kyg=+!@3>G2BJT=(BYktww()VgrF3Sdv#QNthEMQG6zKN3 z1LH%N`^-o~hS4;r>^)N~Ky0X?={emy2!1BlORTc1Z*f6Uq~fD!>@`@iqN*H#%Xk%D z^j{-3K4}L*utW3kjlNO%rTlzF>fcHz>MP+G{ZSEhNWJP#xRF{|qAJMY%Ss?Q zc7pP#>RCgzH8fR4Fq@{m$pVCM7rkk>5hJ}uVA7k3neCgH<9({T&(uF$zZ-jn$4a~K z0{8l+nKYDS^;(}|H-^=egrV!QQw;2g0>TS(R^_Lv#EFZG8%3Pwr0-zXy>2zLA#8`w zs{I`0_H+J)PH79YqJ^-4S-TB)Q5KNqV#WeKgyWeB&J#bNdElm9x_CWNuOlFFk1kC$ zEV`HY=&j4#P{pQmNxiE??!BIhBe!Dh>}8)>D?gb4FT7%OrxT|$zG%2;_>*)E6>>pm9T z-6mC%l2fv&n{GJN`^xdEmU*>7sY(%F#Iq&Q>CcS2)N^ErIdzOw)5QYBf9pH>SJH2k zn!HoOm1%+=?e$qbu9kj6kluAyrG+ymXE9qDq^!Xn_hVz~K@d?yob@H2tft6htWj4kEdNn%96`Ec4w~)UP*4yKQ)fjBl4@+_)`pTPyZe5 z)ne-?&U2Rg8CBBZVHfYr1Tk;{cyGuItqaY=0(@HykFEFQX6Fz!CE!hsrCtd;%k7pI ziWIpJ%jR|qbs$b#FEQv_FzF_KPS2H5MHeA*klT|z?+^=k=3RQjl%ncf7CIkR-_5)g zuQHQh>izk+s?;#|ROTuRI1##0K-psf*osk{5(|)T#IOJl8k!;APz6mRkQ@tUFm~T? zPQJ98hzCPuUxOU0eiw*v9G_k2({&l120y;aFKx&!k6AhTHv^ZV)=1SMW%nMgYNT`z z%1;-%J9VtOCGh06PSpUZ?-r|uMak^?VB<|w)ZYzfQ&z4hiTSw^??*}vU$jiMuiyG=dU~T{DN5)Hk6g<5 zgbe9YE`xB0n!Bhk&ShJFNJ@VSB%Ru75^y1BE;TUflMG+iy^(0#(ZApj>=7cMYO@dD z`mdQiS!pGWFzIfGkow*);U!@b2c?Ns&Yyk5VGmm@-ad+z?Qd2{y{wQ19ogSbqsbz= zDelw`0~vpKNChIe$41&f4V9LiPSN$i`+5}RJ@c{k28W&Qxbwj%u5n5evXqGy3IxHH zhSZ#>>twZ?{wBAZC-f{}%iHR%JX>R)-Y`X9j+P^mfyf=cmL6NJ#{XA6iE(~Cr98XJ&%_!UX2M(9Z2eyF|XdYK0J+V0&^%|j1<=a znaS(UmzuyrIDRxzLi1b8O|?H)Kv%-&<|-eXH7cC{9H*GIsat)%5A_YghuxiZS^A1v zB=8t0Ffd9(*MQHe-;4NDBCp_6M7LC!o6=DO%n!=gDn3$MjdpB1)K=wKE01h z>j}RNA-7vdlf}91*-BlpaQ&WZb~%PpYE4ZF%^XOD!xRc*i zaz5f>&G5)veNX#QMo9w;h${f&eGPr>6#9czmj$3Vv<%yZ^06^SUo!eCFNesd0v(x; z1Z`g(54T1yy#?1nxB9t~XhomteHA0IwnCWv;4HB%G>u+7HjoJb4*jChZ9N>Az-P$=W_QT@ zls4)~8WPD)hDIXQN`JOXQlpnIfO}v_B_1c^SDoe`TdsNt7h~)g z?^pml+=TL)kq|WUoCVaaKS!FpnMZg!Vh?{n2RbbpC(cw#L(|93eNm#E^SXcZ+OX~i zaNZNt1pc^B%E2-c7A)9Oey=hA1fG24ww7PhrEqMO;={I2`ok8czO3&uG+y|2<0oGZT&&O_2YX#`y!?o{{|m>2!2s)z+l z8y!;5RNZfiSVosnSeATFSErdc(;c&wlKwllxD=a{ZGj73hF6*kp#=!oonRF~>j7 z7G6Gl&kG-0C<5G1pkqRv(3uM3Z+Nd7F6IbY^0%d1=;DZ3;|=FwbS?xNj~e~N1Nk*< zKg(mV{rf`A$-^}LK$n<8DKZCtR#2~fweTVd7U!-~tj%6i!41! zxG%!?Rf9c))N$lrbywD;AD`#TsBa`8+y0nU49;it2kEuDZR}SUnMbEBwPUXc_x-v)mX!Y#;+hb> z984FBUP9BgZ|wK|gglp(oESwkc=U6 z52u@mt%ndc3B&?iD@N)6;jr%Bw5xOuQoyzXslt)!vf`NIzx!>d9+zyK+eHTbsy?I@ z%wiQSnq|{jvmUqN+gWoQ$wAGmL~4>Lul$2)!KKIBqnjFKA6BpEzxq5QfT~OZxN;tG=viC%KN7VR zFTb@Cbfmi2BT9%vr1L1%=8%&o81b4ApBk`U3QnlB9;rt*9h3p9TO7MFhaB=+uM4^t zzgbvg`*|61XJm%E2htGNEA_jD*j!Jtj~$ywU~Dd5n~ootyNX`NHp`)dOfGJK7(P_O z(k}lz62ZuA2Q^0e>ypqLP39*T+5|Up})l5wG^35a!IRQ4VRp zj|IpeWtM0%Zs$$N!QBucYJttS?K_TD!zBSkeYjo0p!HEVVrr}$+nn)5`Sx+@+#`;W z5;JjftBKNp`O!#~>1Rukqf61z(+SZ_{oDK`LO)ti+wDQOP3}zkjJifuSwnVs+ZXeS zGhXGH_w~rCa!Gev(Nt$6ZWd5D%>p`LcxnP<`5qO_j6Q@jsPwR1t=5T$p(DZdm~G?t zRDB2XHgm9s*YDOm_QULT*@JGSk`I|t(QEqt_y63Mk(!6kSGLO|4Zc;KtgRhiZfa~w zz8fobf6aWwRLahdH^v$O1S9wgm=c)C!~TOVgmf%`DUbP&7g%MUhIC?*P{3sSal{T$ ze_PV6A1zm3$QtwfA=;&BTD?U`4Jv#&8QtRm+G%imuyNCQGpsdI^5Diq W@0^;el}6W>ZaIJUHK|*ynSTKay|;Y; literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/2_of_clubs.jpg b/src/NadekoBot/data/images/cards/2_of_clubs.jpg new file mode 100644 index 0000000000000000000000000000000000000000..25edc74970b4d3aae0e6b3c483dd78c600fa239b GIT binary patch literal 3441 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 literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/2_of_diamonds.jpg b/src/NadekoBot/data/images/cards/2_of_diamonds.jpg new file mode 100644 index 0000000000000000000000000000000000000000..758cf6fbfff7eba8a0c48e654359618e7a5d2592 GIT binary patch literal 3804 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 literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/2_of_hearts.jpg b/src/NadekoBot/data/images/cards/2_of_hearts.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b2758ea24331d55c79eba61b8ba2badb2409441e GIT binary patch literal 4016 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 V=@R{ip>YaRxusOjQqD3O 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 E0&US3{{R30 literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/3_of_spades.jpg b/src/NadekoBot/data/images/cards/3_of_spades.jpg new file mode 100644 index 0000000000000000000000000000000000000000..18772596cdafb449848020bee222383720012f60 GIT binary patch literal 3918 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 literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/4_of_clubs.jpg b/src/NadekoBot/data/images/cards/4_of_clubs.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fec10981b7c426542b8815bb5302a986561c000b GIT binary patch literal 4583 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 QkZ*W(MC$8T0v7!EA4kRkB>(^b literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/4_of_diamonds.jpg b/src/NadekoBot/data/images/cards/4_of_diamonds.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e1dfa3aae3b270bb7afdfe39bad7cf9e925f8ba9 GIT binary patch literal 4933 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 literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/4_of_hearts.jpg b/src/NadekoBot/data/images/cards/4_of_hearts.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cab1d8a4a2eef1e6099482f26be12d16fe04fab4 GIT binary patch literal 5106 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 literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/4_of_spades.jpg b/src/NadekoBot/data/images/cards/4_of_spades.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fdb1ca2063e730869fbe6f4aef2e3a3765056788 GIT binary patch literal 4434 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≺uh1iT#I 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ė|ZlUiQe$ZV@6oUVljanh0?pTChA4 z*DzQY@y>a?z6;~N5L@6Xa(7U#y_HfrsUzJ&veS!!e|T4>pg6H`DQ)WLS@_M%qUWQD zz|)=}d-a(~Qd2I~0Zl$XZ8KPniS^@sA!%rsV&jy8|BnEYXl5FF5!(x#t{$eL@P zJ~ruBH)w=XFK-?-OqzQCRsObkxF@df*zJi7d)L&hyg&O(ySR18YBCu@ggnZEJ=qvm zvB8}Sd`EsaJ46H4rAhMJ&$e6z8nje~a79iAc_rt@Off3*F=ZK3>T#{a=XV11nfjXH zhW`{?k}>XU=zoNl*Ig0dSi(J4&(s&&#{WiOIrVu(+Yham|fegCir{WPrAkn z#^F^8$1qX|s!q+oEbegMceCWh)_}C@!-8X9e5L{R70tTPgK0(v3lhXk z`ivh@3-iwmJ|6X=;pYg!B&z=2CZ^k?{{BRj{fhb&dU(364DGA9Xa*X{l!f-;yub54 zJaLm+b<_kD8&#Yv$=srpMUdJ+pnklSZ$NlJ;5(0^0Y@(nEPnojE^qs2Y0wt~DsfqH zN9~8Fn;R>Lk@_Z~t8A7LWcNxpF^?90IHxdo^V$a3(CO38@=5+kCDZuU-WIQ_Ew4@- z3*xye2)`{akazpm{ol{oV&Y-!uJ#NYi<)!WfUGIoQMfvaq2YisSUv%VShJjAp^ z-C!q%CQBj3HXaMRxYL9(=yP`H*UAum($dNST2uoDmF*A3+rP0uK~OzlzF-dUU_vs` zM7s2OEmmd4$dmr9G~BN>4t;iV#?8tS6bnsn-Oy3`S`}J6Qf0>7DZL+2yIgXsr??|2 zqSg=%m+1|eSpw(Ok++stcFe=7=n*sw{a1?EuT*4>riV>vv*#b;qQ&_aYmGfdW16Nn zIY1Liqk@Ku(I72{M%?EYV8r~qA0UMuiiji{e z*2DNwz~etvl>Sn zRJI_a^L39_0?Ul8`m|ZNie<$ee)MC^C zT5=g>iX#sDS_fOtj@=UrEsD zsj$fgoZlP!&9l)$KW{2&QyvLTl0rPQ`ns-8iz%SvgJw>XT3BcSb8)D|c7fCJ6=de_ zTUMP}G4?;lQ}@cKBOKsx4Tb|;+d=Q{$Ci0jP!D;@@7S=r$g(R!jk0O9zM&=aLGQ?f ziui215HLJOrIzO+Qv!(?oqu2I7#C&~EYojXIoc`n?1p!8)3@frKp*^I?&Mc8^2wX* zTLQV)1C$%E@2y33xTRlvfk<8m030X!yKA_-c{~-+G1g%D@L?a`nf`h=d!w8TZXv7X zp6DI+SFn61x)5@1jDG6Q$$Y+0zjkQvpnX|nfK0l-cI&zRw;wWxGki|JES3@V*%yU9 z_$%wEAK5ZH4}K~Fl>!`-ytjM;oHFqm!G|oTU$pE&`Ui#Cw01ll#my7x->2p6uvSD`@}j> z53NgIrA671i;C9SeC$4$C`v6#v&Y1~a4~3v*H@h2$Ue^l=F2_ea7|;H) zGWX;FEKM*k2k7||J*hvzve*wTjB-FX_fjFd0z@{iE%#u;kpt|t`pm6$6u}HJLk=Km zu^;&Vw{Z5DLPrao9wO0dvN^!x{6yYcL9_N!enuD!-sQ~%qLGi`ooBU6@P4~U9?GO= z8fauA;H{00YJ=9}jy&592r#{Qx5i9?WlU2`plBLf58|!gp5r6Qmio#)3~;sA`pREC tjQ{{|Mr;_Ltb literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/5_of_hearts.jpg b/src/NadekoBot/data/images/cards/5_of_hearts.jpg new file mode 100644 index 0000000000000000000000000000000000000000..70aec60bb24e6f08b9c20d1ead1d1566be114c36 GIT binary patch literal 5677 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 literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/6_of_clubs.jpg b/src/NadekoBot/data/images/cards/6_of_clubs.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f205dc0c8dee32a358d8ba8f292f887c94ffcf5b GIT binary patch literal 5736 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 literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/6_of_diamonds.jpg b/src/NadekoBot/data/images/cards/6_of_diamonds.jpg new file mode 100644 index 0000000000000000000000000000000000000000..76a36be4958ce25b0cae0fa7045c2a75a1ab41e1 GIT binary patch literal 6113 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 ZwhVe=S%o@JtRL4A*}n~n#os4S{0CTP1;+pY literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/6_of_hearts.jpg b/src/NadekoBot/data/images/cards/6_of_hearts.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2bdef7df11575b22c3c27dabc40b79cea48986d6 GIT binary patch literal 6416 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 literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/6_of_spades.jpg b/src/NadekoBot/data/images/cards/6_of_spades.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e3877d2f6576cf02d73236baea53f70c35d7a2b2 GIT binary patch literal 5563 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 Ld~$M9SX2K6NAedw literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/7_of_clubs.jpg b/src/NadekoBot/data/images/cards/7_of_clubs.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ad0c1cff9b1d50bd23d83e704e8437ea42da55d4 GIT binary patch literal 5965 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 iY8}I>33;TPC*yKMp4&z!uJRO literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/7_of_diamonds.jpg b/src/NadekoBot/data/images/cards/7_of_diamonds.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c15cad88caf99ab62ff133723002eff9c179d1cf GIT binary patch literal 6213 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 e9N+eFN0n?^|1g0DuYp~6J8OX3KGKJs6pSWWW) literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/7_of_hearts.jpg b/src/NadekoBot/data/images/cards/7_of_hearts.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0dfe10bf89857bcb5a8b3d430c6d20e5c92549b8 GIT binary patch literal 6617 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 GCjJe1Dl#?z literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/7_of_spades.jpg b/src/NadekoBot/data/images/cards/7_of_spades.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8458ab5ff5fa33e0c8307e022ac8bd72e7a4ccff GIT binary patch literal 5796 zcmbtYc{J4R+yBbGWzY67Wl33*Es6};c|4+IH%j&gA&hk@%TO`lF@?t#Dp|%pLdKdT z*|RT$gbXued^OuU&+oi{{NDGE-}}e=`JQv1?|ts;KIgixb6=nPx;~5<#tI;4ZEj@_ zu&|r}9GM@$mN_39$>G(J-5a*9Da3e{oBU(&8=e$1a=opMTp+(hHj3q9|&=6+aExO+F%OJ$n{ug)tplKK-zJ@JGAq?dp; zJ!KfA_J2>y=tAneh|zZy3}8hRMzw_y(?Bl_ZuhvJ2ZSQ>9EjLu@l0Q$z5j-yg=n{ML_fXJgx zKie5dt48?RB^3)rda$~ErD}eS9+dg4ZkVg@+}tCe;{W{9KpwWR;vGxc7R-1)$Q~Yz zul77$BNvqGsC1&khqJ#~8j@Zsa*IPwJTU57M9!3`c^m){>bBJ=}0YB_f^ zl=AU@bB?&U+Q;tGnx+DL$2&DJV^Cy3RvgU1^D7M`@=UEvY1@WOsjJqOUUrecz1->* zE@`LSmGnp@F)NcJEdLlmUZ7z+)F|@)u?i|ar?9Iv;k)8VmcqAl>|8kKEFdDm1JyF#=dAhy*he~RJb(wVgPv?EQ| zrZa$0D8>5S9tzQfNn!v#xY=LJtGeln7cP7$4h<>`xJ@2>v#fo(+-9?ky%3jTeASY3 z0|hDxP(`(FfcP31RR)}|GG<07Wor0KX^Cfw&_DvOmL=IM3jWX#c2wpb`8#$R+B87m z#;ea3;AJr+i+;=oE!V8Gz^kUk*8I48zrlJI@3`L=sO2 z4kK!UwDNpHOz)N8&!pQeWQg-r%?LQyCPXp-wtiZRFDSO=-+7X1G6kaxLc~1Y&JSx* z^DmXGD}T~Dy8R4)SB7PdRsh8+N1u~##c0sV5)I)dZ&AU(QMD;`F|4#3jpM*8+3+rcqaKeX~BPQ+KikwV?V41mwS)lqi# zvO@l^BszB^| z_IERSRUULDJ+pYDqZk7n@N83}bua*eGAK>wQK4ugPT(MPIjVL}mmwsH(me8?W0$HS1W9o21@Qt%%mxrDFwoZsE` z=sN&nS4`hr1+Hoa;njG%mQ+bS~{q zN4DF5>f?6Dyqkcfr`DD`VqkgJZUsS5_q!cT3hExLbPtG2$vy1Y3yuz{4*%Hj!T6lz z;H^*J|Mtb{Gs(5I7>GB<*NAj6fJWp_GX)A(QWfz>&-+|!HnPeW7Y8CMtvhd;+dS1k z-%NMUwiUGaBpXj#}Nfakn68(}pb>bsImA6br77Y0b%9C`O#yz$oJeIGqg}?u7 z;+NO)iU_jjraDh&GJtL)Xh58# zgs=&q|2Yt}@pT&Y>dFXv;_z}q@y@|&3{~m1yVa^~$ezV`ZK&`D?O8W~ju%m_lKkuM z`mXz|GAf%eB%}e-jhf5BV;?0dC5|nhIJ~N~s?$=)QMk(1p&RQl{H_0OTE|fGEtvL| zmv!NqCf){K2}$^3J~*N~pC6ghp;9&%;A;Ln1l8@b%K*k~TqkctVUBh72dJX*(UHHszwg)DTI8p$F#b+;_j8P|LblbmZ5(1JnBoBD zkZ*!GpEZ4s{2#s3-&8v+Ua63x@4BJwCx%gqYliRK@fipcPjQkgat(TNt5cP@QFgMl zB9NQ~bMY_@&oP$cuz*~**sr<%_6m=y${_v9;TV+godEg67wZ1T&qe;(Z`5sbt){hgUV#Toib;4K z><5&@AMsc5g*I;3(VvweH8X>6+EW8IQs8IL*>n4CI;Xf7&J2O?iLilUc7vGc6#+^A z1G8wp2eS(U(h@q-Q5z~xq6YTlvn;(VNpl*4)9{Pv!bVfA)9(!^;8TA3_);ClPJ zAUB!w&uLfHYSm>;IW8SPNL{2(OMH66d-S-H5@G)JehtE^aa!B<8ZQBQ{gHlw&5Pd* zB6_wZWt{IBvk4|_6U5dTfK2RWF_}pSO;w{EiVQ%m1;qfoC&har_PKrE>h8R)q+_NG49=#P&MRz_ZqyCsv1R z(jF?HUpX8GyvDcgF-qAO|nqzM^0n9ziQS zOMO%wetX2^uiXc6M}%XFC^ei`(_xE$f?x-+J+Vs3@hW#nbF)js_ZqCC&&&Rq;+^*9 zdb-rP!7ly@Jxn-J*gf$JlOism5R~78T-g_=duOX*EbjovEvPnXv6b?+B;g^GFso>- zu%0W;#XBP;J7?&OYx%svdBi=c^Wx=^nLLzb`JE_4lnJ&h1BX$bubleNk%eUy6J3@w z6Hm93aH$AC!j;vaU=h1IRG(}1d1dtr6@Hei-fuso^$F}*+TBKd-mKYG`j{%I&@DMv zzNW_`Ri>1)I=_P`M$|vC9@2liyq{*9DDEXC^!S^q`1Q{iX~J>BF8p zVAd*2q3`zC&Y|vnlWkhqY$*3|;*Nx$2}pUDjpPX`t!RUqUi zPNTX1N2pX1XO@X}dq_m{6gh7-jsXb4;IO`5j@X$ThbFAm`09L^Pp1EijCq$ARU8hw zg5esd5$ODLJhInrroD^K53&%eTw6OyiB*Y37f2V{FK1j>cMBeyF&9HjnJUDTI}bQK zd{N&md;AK~t=Gv$pOu27GU-E|1%7ayn1IPplb?(nmbYt6U1h@=cvMT?UWe#e{iXkx ztP$%s%qS|kn5W|m@dkbgN$l-HJGlAhv)8q>xWM8wtyK3d7eb<=e3gK^e*+g)`f+~> z%$VRYgs8SZYA``pP{??zm!@A^+L|9Lbow-2+B@rC%rdE=S}u0FF(TXCs zduk{S_a-AipDK@S!wV$GU*MCzw#6ak#rHL}>rKhZVSH!(qPa9}OeGoxHFiCv8Nj2& zcrIG2!5KVa&Z*Z>dy;x4Zna%+*TC-eR?Da@>vrY7r*_~BMZf9oj)lqr2andsrfxSb z*^>_xBd(c&9xKw~En`i3zh6Jbbh;G2=*a#!BVD+dm)`Z;3IMP+|9ef~nSxh87HdLK zIOiF_W<^b)ipUM3U9wJlBcd7(v+R7QEIJ%sIcodd;3p;|nkEJGrOMa9BBTj?<-RZBXCk znX(?b7_FfB2~G$s_9PO@@4<^G*69~sHcu{pZxgoOXH`k}=)Sp#_4h1!cx3S)J_c`> zzQjLnkg$^AsdnSqwA!uR54#tQvbBmzR;o_$l(&sFhPr2>{F42{YvRwv{3KOPElcKxYpnWKoz#os$-X+V;f&tVe;OLKCzhVYLK~)CO0~6YU zor+f{<$9wNSUtw&$E2=nwoIdk<S`S`DM+lXUAq+{mKsd1)(Jyihxg6a66b4 zJ65n>0qJaWS%-HhKwvoV$f0S;O6D=AqkJQW7}1Y<>N#E@U5y&SY+^IWW42+Xo?B(T z(+(G`=RC|5vOh?VT4v51WxTIC@EmfQ{8=xz)s`__S8)58iON}8ri@n77a2!nDRB5^ zqxD^9Yxc%=fL~E`fI`+xV|)FeLXnk{LeU29mO&g5OHKwknGaYkakp@V0CO7CDF~V( z2|T`2my2(2o(L(=HaWF^X7Vh^SK*E{_zoLh`aOdLh97=%)EsrFNe;_&SWn(|=BkWJsUGm~l(#mXCUu~jS+Z|i&v zDltva6*RP-4JSx7@uOH!{}>yf%C#vni-VIh3unzM6QmIXy{um)oWo|VPCuRDyAVb~$rksrRVEX=dJChGzJ>TMyrBF9Sw;Jvacjq|}JwZ+d^C}Si5Im*i zmrQOS;sORC9d@2`&zP6*m%#(|GtN#s3G`y0${F{7wv=++OIUjYkzP&COy@=GhK3?Z zO9jE$M?nW=-Ni&}C@b8J+*0u2%9k>~2x8AdZGDNqxUh7s;q}uvGf(9Irt5BK;PT879!Kzg=`R)iwAaORQ|fQs>w%ZHC=8%M z9M&|q`%z!f_$dS6WxqX|MDUa$lAqwOo*d})l%7!gNl>xDW{!UvUp!&KcCOuC^yCA8 z-G5xx42~q&Q_jZg)2gV7ui&8{K9Qfh8kX@B&=nzN1i^v#iDLkC5qZ+zwtjZH#h2!uO}9C!({2g0S#NRP=W|?i5M7LJ@=(KA!a4v znhn8WH%8Z1dz@BsV*R!_&xyA$A3nUr0D_9=1-fK8NvEFR6I4v6sJ02Aq7zF`6fI9p YT75e<%KH?mDux<*rZG6!k6_IH7kUD;RR910 literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/8_of_clubs.jpg b/src/NadekoBot/data/images/cards/8_of_clubs.jpg new file mode 100644 index 0000000000000000000000000000000000000000..df789839e35adebf79aa05b1fcca625b8628c711 GIT binary patch literal 6416 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 Y%S=Q^ecMb%7 literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/8_of_hearts.jpg b/src/NadekoBot/data/images/cards/8_of_hearts.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bd5e725829495851357305a834cbbc3959ce06ea GIT binary patch literal 7120 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 QWmagxDYx9*RL1;&0q4XzT>t<8 literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/9_of_clubs.jpg b/src/NadekoBot/data/images/cards/9_of_clubs.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ffe26ace1dd5d9e8b9962e7aa6f294c6d6cc69ab GIT binary patch literal 7033 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 N=hn(!r(Y>E{{!TV2VDRF literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/9_of_spades.jpg b/src/NadekoBot/data/images/cards/9_of_spades.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fad958b811582f78be5778245769462ecd59df6c GIT binary patch literal 6577 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 literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/ace_of_diamonds.jpg b/src/NadekoBot/data/images/cards/ace_of_diamonds.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e9a85d9553b904a69db9afb0f66c7f6df2e97628 GIT binary patch literal 3994 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 literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/ace_of_hearts.jpg b/src/NadekoBot/data/images/cards/ace_of_hearts.jpg new file mode 100644 index 0000000000000000000000000000000000000000..11b90a7fc4ea30f84472d8dabf778ec4cb8130eb GIT binary patch literal 4250 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 Dr`|tQ literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/ace_of_spades.jpg b/src/NadekoBot/data/images/cards/ace_of_spades.jpg new file mode 100644 index 0000000000000000000000000000000000000000..35a9cb3e1e4311623255e640c4347055a8b9b3e4 GIT binary patch literal 4856 zcmbtYXHZjHyWaF>=tXLziHd+6njjL7ND~ne=|U8wi+H3+3FIi!o1nk}1f)cedZFz zY;5d+1M3061;7;GVE+gIj2tX*a&!IzUT$tKZa!Xqem-74KK^4u$M^*V1^DF4o)s^9$r3v0oH_8 zVSt^DgM*!ugNuuklQlbr^&Q|8;SyEU{+(OQ?kFM8Xk>cD%-q7#>Z<)M2S+Do7gw))-afv5{sAGOVd0M> zBBSD-#U~^tC8uP+c$t%%_g8*FS$PHOO=Z>F>ZazF);9FJ_w9ZC1A{{!hDSb5PJNxm z&dkou6Nt;-S60{7H-1ode(mnXD1{gG(c< z`+aY{!?7FBa9?=1HLlD)X{`(x$Ynb_Y0yq0%%_>BH;R?W=piH!0XL(7KzwEMJ51x$ zF8Mj*DRWx${&#*_;R)R=*m<15F0qTo6wwlZ9_H?1=Pw#2EcLgAealLv^sv``D2U`r96_sNd zo@t`ekkNvXStj6;RGY{xQNFX~FI(ng22weOkUoG=r&Gn4oZ z0`gJoCHucXprxjmdO*7xabe$$Q9|lgrWQ>Sw>I|o+x2r*7EYEUzC6v+DocA1{^8^6 z;tGym7Id*xCco5M#2?rOrVt`%`nAHj_V@3

=zPHmU^_$!Rc7oV`rW311}+iM&t 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 V3cK&=&c7XDnwLJPsY!ry{{>ZU!X^L! literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/black_joker.jpg b/src/NadekoBot/data/images/cards/black_joker.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5894c6721d99498f07fadfcf1c14fc096e1428f6 GIT binary patch literal 5591 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 literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/jack_of_clubs.jpg b/src/NadekoBot/data/images/cards/jack_of_clubs.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a72dd2ed50a084590ea5bf8e5e69ac87e6b2ee83 GIT binary patch literal 9471 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%0D(Dug)-rPo(k3@xPh@=bJD=bEVy`T# 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 H#F_sCN70>+ literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/jack_of_hearts.jpg b/src/NadekoBot/data/images/cards/jack_of_hearts.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0fdb8e82797fab94d3bae673f74cabadb04c5e2a GIT binary patch literal 9558 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
T53H-q;2EB=u@wY>zftxd=S6snx~pR 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%0DJj~zeN>4C%ScEG*G3@S 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 a&}W}Ei(P@UWU^*T&in1uSB@ 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%0DJCrYf^8V>w=uIe)~pS^yc}i_ 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 z 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 literal 0 HcmV?d00001 diff --git a/src/tests/bin/Debug/netcoreapp1.0/tests.deps.json b/src/tests/bin/Debug/netcoreapp1.0/tests.deps.json new file mode 100644 index 00000000..0f831818 --- /dev/null +++ b/src/tests/bin/Debug/netcoreapp1.0/tests.deps.json @@ -0,0 +1,1101 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v1.0", + "signature": "81ace1a8301fcbe81b83a514b616c6a56d43bad8" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v1.0": { + "tests/1.0.0": { + "dependencies": { + "System.Runtime.Serialization.Primitives": "4.1.1", + "xunit": "2.1.0", + "dotnet-test-xunit": "1.0.0-rc2-build10015", + "NadekoBot": "1.0.0" + }, + "runtime": { + "tests.dll": {} + } + }, + "CoreCLR-NCalc/2.1.0": { + "dependencies": { + "System.Runtime.Serialization.Xml": "4.1.1" + }, + "runtime": { + "lib/netstandard1.3/NCalc.dll": {} + } + }, + "dotnet-test-xunit/1.0.0-rc2-build10015": { + "dependencies": { + "Microsoft.Extensions.Testing.Abstractions": "1.0.0-preview1-002702", + "xunit.runner.reporters": "2.1.0" + }, + "runtime": { + "lib/netcoreapp1.0/dotnet-test-xunit.dll": {} + } + }, + "Google.Apis/1.16.0": { + "dependencies": { + "Google.Apis.Core": "1.16.0" + }, + "runtime": { + "lib/netstandard1.3/Google.Apis.dll": {} + } + }, + "Google.Apis.Auth/1.15.0": { + "dependencies": { + "Google.Apis.Core": "1.16.0", + "Newtonsoft.Json": "9.0.1", + "Portable.BouncyCastle": "1.8.1.1" + }, + "runtime": { + "lib/netstandard1.3/Google.Apis.Auth.PlatformServices.dll": {}, + "lib/netstandard1.3/Google.Apis.Auth.dll": {} + } + }, + "Google.Apis.Core/1.16.0": { + "dependencies": { + "Newtonsoft.Json": "9.0.1" + }, + "runtime": { + "lib/netstandard1.3/Google.Apis.Core.dll": {} + } + }, + "Google.Apis.Customsearch.v1/1.16.0.466": { + "dependencies": { + "Google.Apis": "1.16.0" + }, + "runtime": { + "lib/netstandard1.3/Google.Apis.Customsearch.v1.dll": {} + } + }, + "Google.Apis.Urlshortener.v1/1.15.0.138": { + "dependencies": { + "Google.Apis": "1.16.0", + "Google.Apis.Auth": "1.15.0" + }, + "runtime": { + "lib/netstandard1.3/Google.Apis.Urlshortener.v1.dll": {} + } + }, + "Google.Apis.YouTube.v3/1.15.0.582": { + "dependencies": { + "Google.Apis": "1.16.0", + "Google.Apis.Auth": "1.15.0" + }, + "runtime": { + "lib/netstandard1.3/Google.Apis.YouTube.v3.dll": {} + } + }, + "ImageProcessorCore/1.0.0-alpha1045": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "4.0.0" + }, + "runtime": { + "lib/netstandard1.1/ImageProcessorCore.dll": {} + } + }, + "Microsoft.AspNetCore.Hosting.Abstractions/1.0.0": { + "dependencies": { + "Microsoft.AspNetCore.Hosting.Server.Abstractions": "1.0.0", + "Microsoft.AspNetCore.Http.Abstractions": "1.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "1.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", + "Microsoft.Extensions.FileProviders.Abstractions": "1.0.0", + "Microsoft.Extensions.Logging.Abstractions": "1.0.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Abstractions.dll": {} + } + }, + "Microsoft.AspNetCore.Hosting.Server.Abstractions/1.0.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "1.0.0", + "Microsoft.Extensions.Configuration.Abstractions": "1.0.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": {} + } + }, + "Microsoft.AspNetCore.Http.Abstractions/1.0.0": { + "dependencies": { + "Microsoft.AspNetCore.Http.Features": "1.0.0", + "System.Text.Encodings.Web": "4.0.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.AspNetCore.Http.Abstractions.dll": {} + } + }, + "Microsoft.AspNetCore.Http.Features/1.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "1.0.0", + "System.Net.WebSockets": "4.0.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.AspNetCore.Http.Features.dll": {} + } + }, + "Microsoft.Data.Sqlite/1.0.0": { + "dependencies": { + "SQLite": "3.12.2", + "System.Data.Common": "4.1.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.Data.Sqlite.dll": {} + } + }, + "Microsoft.DiaSymReader/1.0.6": { + "runtime": { + "lib/portable-net45+win8/Microsoft.DiaSymReader.dll": {} + } + }, + "Microsoft.DiaSymReader.Native/1.3.3": { + "runtimeTargets": { + "runtimes/win-x64/native/Microsoft.DiaSymReader.Native.amd64.dll": { + "rid": "win-x64", + "assetType": "native" + }, + "runtimes/win-x86/native/Microsoft.DiaSymReader.Native.x86.dll": { + "rid": "win-x86", + "assetType": "native" + }, + "runtimes/win/native/Microsoft.DiaSymReader.Native.amd64.dll": { + "rid": "win", + "assetType": "native" + }, + "runtimes/win/native/Microsoft.DiaSymReader.Native.arm.dll": { + "rid": "win", + "assetType": "native" + }, + "runtimes/win/native/Microsoft.DiaSymReader.Native.x86.dll": { + "rid": "win", + "assetType": "native" + }, + "runtimes/win8-arm/native/Microsoft.DiaSymReader.Native.arm.dll": { + "rid": "win8-arm", + "assetType": "native" + } + } + }, + "Microsoft.DotNet.InternalAbstractions/1.0.0-rc2-002702": { + "runtime": { + "lib/netstandard1.3/Microsoft.DotNet.InternalAbstractions.dll": {} + } + }, + "Microsoft.DotNet.ProjectModel/1.0.0-rc2-002702": { + "dependencies": { + "Microsoft.Extensions.DependencyModel": "1.0.0-rc2-002702", + "Newtonsoft.Json": "9.0.1", + "NuGet.Packaging": "3.5.0-beta-final", + "NuGet.RuntimeModel": "3.5.0-beta-final", + "System.Runtime.Serialization.Primitives": "4.1.1" + }, + "runtime": { + "lib/netstandard1.5/Microsoft.DotNet.ProjectModel.dll": {} + } + }, + "Microsoft.EntityFrameworkCore/1.0.0": { + "dependencies": { + "Microsoft.Extensions.Caching.Memory": "1.0.0", + "Microsoft.Extensions.DependencyInjection": "1.0.0", + "Microsoft.Extensions.Logging": "1.0.0", + "Remotion.Linq": "2.1.1", + "System.Interactive.Async": "3.0.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.EntityFrameworkCore.dll": {} + } + }, + "Microsoft.EntityFrameworkCore.Design/1.0.0-preview2-final": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Design.Core": "1.0.0-preview2-final", + "Microsoft.Extensions.CommandLineUtils": "1.0.0" + }, + "runtime": { + "lib/netcoreapp1.0/Microsoft.EntityFrameworkCore.Design.dll": {} + } + }, + "Microsoft.EntityFrameworkCore.Design.Core/1.0.0-preview2-final": { + "dependencies": { + "Microsoft.AspNetCore.Hosting.Abstractions": "1.0.0", + "Microsoft.EntityFrameworkCore.Relational.Design": "1.0.0", + "System.Collections.NonGeneric": "4.0.1" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Design.Core.dll": {} + } + }, + "Microsoft.EntityFrameworkCore.Relational/1.0.0": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "1.0.0", + "System.Data.Common": "4.1.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Relational.dll": {} + } + }, + "Microsoft.EntityFrameworkCore.Relational.Design/1.0.0": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Relational": "1.0.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Relational.Design.dll": {} + } + }, + "Microsoft.EntityFrameworkCore.Sqlite/1.0.0": { + "dependencies": { + "Microsoft.Data.Sqlite": "1.0.0", + "Microsoft.EntityFrameworkCore.Relational": "1.0.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Sqlite.dll": {} + } + }, + "Microsoft.Extensions.Caching.Abstractions/1.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "1.0.0" + }, + "runtime": { + "lib/netstandard1.0/Microsoft.Extensions.Caching.Abstractions.dll": {} + } + }, + "Microsoft.Extensions.Caching.Memory/1.0.0": { + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "1.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", + "Microsoft.Extensions.Options": "1.0.0" + }, + "runtime": { + "lib/netstandard1.3/Microsoft.Extensions.Caching.Memory.dll": {} + } + }, + "Microsoft.Extensions.CommandLineUtils/1.0.0": { + "runtime": { + "lib/netstandard1.3/Microsoft.Extensions.CommandLineUtils.dll": {} + } + }, + "Microsoft.Extensions.Configuration.Abstractions/1.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "1.0.0" + }, + "runtime": { + "lib/netstandard1.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} + } + }, + "Microsoft.Extensions.DependencyInjection/1.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0" + }, + "runtime": { + "lib/netstandard1.1/Microsoft.Extensions.DependencyInjection.dll": {} + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/1.0.0": { + "runtime": { + "lib/netstandard1.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} + } + }, + "Microsoft.Extensions.DependencyModel/1.0.0-rc2-002702": { + "dependencies": { + "Microsoft.DotNet.InternalAbstractions": "1.0.0-rc2-002702", + "Newtonsoft.Json": "9.0.1" + }, + "runtime": { + "lib/netstandard1.5/Microsoft.Extensions.DependencyModel.dll": {} + } + }, + "Microsoft.Extensions.FileProviders.Abstractions/1.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "1.0.0" + }, + "runtime": { + "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {} + } + }, + "Microsoft.Extensions.Logging/1.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", + "Microsoft.Extensions.Logging.Abstractions": "1.0.0" + }, + "runtime": { + "lib/netstandard1.1/Microsoft.Extensions.Logging.dll": {} + } + }, + "Microsoft.Extensions.Logging.Abstractions/1.0.0": { + "runtime": { + "lib/netstandard1.1/Microsoft.Extensions.Logging.Abstractions.dll": {} + } + }, + "Microsoft.Extensions.Options/1.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", + "Microsoft.Extensions.Primitives": "1.0.0" + }, + "runtime": { + "lib/netstandard1.0/Microsoft.Extensions.Options.dll": {} + } + }, + "Microsoft.Extensions.PlatformAbstractions/1.0.0": { + "runtime": { + "lib/netstandard1.3/Microsoft.Extensions.PlatformAbstractions.dll": {} + } + }, + "Microsoft.Extensions.Primitives/1.0.0": { + "runtime": { + "lib/netstandard1.0/Microsoft.Extensions.Primitives.dll": {} + } + }, + "Microsoft.Extensions.Testing.Abstractions/1.0.0-preview1-002702": { + "dependencies": { + "Microsoft.DiaSymReader": "1.0.6", + "Microsoft.DiaSymReader.Native": "1.3.3", + "Microsoft.DotNet.ProjectModel": "1.0.0-rc2-002702", + "Newtonsoft.Json": "9.0.1" + }, + "runtime": { + "lib/netstandard1.5/Microsoft.Extensions.Testing.Abstractions.dll": {} + } + }, + "Newtonsoft.Json/9.0.1": { + "dependencies": { + "System.Runtime.Serialization.Primitives": "4.1.1" + }, + "runtime": { + "lib/netstandard1.0/Newtonsoft.Json.dll": {} + } + }, + "NLog/4.4.0-betav15": { + "dependencies": { + "Microsoft.Extensions.PlatformAbstractions": "1.0.0", + "System.Collections.NonGeneric": "4.0.1", + "System.ComponentModel.TypeConverter": "4.1.0", + "System.Data.Common": "4.1.0", + "System.Diagnostics.Contracts": "4.0.1", + "System.Diagnostics.TraceSource": "4.0.0", + "System.Runtime.Serialization.Primitives": "4.1.1" + }, + "runtime": { + "lib/netstandard1.5/NLog.dll": {} + } + }, + "NuGet.Common/3.5.0-beta-final": { + "runtime": { + "lib/netstandard1.3/NuGet.Common.dll": {} + } + }, + "NuGet.Frameworks/3.5.0-beta-final": { + "dependencies": { + "NuGet.Versioning": "3.5.0-beta-final" + }, + "runtime": { + "lib/netstandard1.3/NuGet.Frameworks.dll": {} + } + }, + "NuGet.Packaging/3.5.0-beta-final": { + "dependencies": { + "NuGet.Common": "3.5.0-beta-final", + "NuGet.Packaging.Core": "3.5.0-beta-final" + }, + "runtime": { + "lib/netstandard1.3/NuGet.Packaging.dll": {} + } + }, + "NuGet.Packaging.Core/3.5.0-beta-final": { + "dependencies": { + "NuGet.Packaging.Core.Types": "3.5.0-beta-final" + }, + "runtime": { + "lib/netstandard1.3/NuGet.Packaging.Core.dll": {} + } + }, + "NuGet.Packaging.Core.Types/3.5.0-beta-final": { + "dependencies": { + "NuGet.Frameworks": "3.5.0-beta-final" + }, + "runtime": { + "lib/netstandard1.3/NuGet.Packaging.Core.Types.dll": {} + } + }, + "NuGet.RuntimeModel/3.5.0-beta-final": { + "dependencies": { + "Newtonsoft.Json": "9.0.1", + "NuGet.Frameworks": "3.5.0-beta-final", + "NuGet.Versioning": "3.5.0-beta-final" + }, + "runtime": { + "lib/netstandard1.3/NuGet.RuntimeModel.dll": {} + } + }, + "NuGet.Versioning/3.5.0-beta-final": { + "runtime": { + "lib/netstandard1.0/NuGet.Versioning.dll": {} + } + }, + "Portable.BouncyCastle/1.8.1.1": { + "runtime": { + "lib/netstandard1.3/crypto.dll": {} + } + }, + "Remotion.Linq/2.1.1": { + "runtime": { + "lib/netstandard1.0/Remotion.Linq.dll": {} + } + }, + "SQLite/3.12.2": { + "dependencies": { + "SQLite.Native": "3.12.2" + } + }, + "SQLite.Native/3.12.2": { + "runtimeTargets": { + "runtimes/linux-x64/native/libsqlite3.so": { + "rid": "linux-x64", + "assetType": "native" + }, + "runtimes/osx-x64/native/libsqlite3.dylib": { + "rid": "osx-x64", + "assetType": "native" + }, + "runtimes/win7-x64/native/sqlite3.dll": { + "rid": "win7-x64", + "assetType": "native" + }, + "runtimes/win7-x86/native/sqlite3.dll": { + "rid": "win7-x86", + "assetType": "native" + } + } + }, + "System.Collections.NonGeneric/4.0.1": { + "runtime": { + "lib/netstandard1.3/System.Collections.NonGeneric.dll": {} + } + }, + "System.Collections.Specialized/4.0.1": { + "dependencies": { + "System.Collections.NonGeneric": "4.0.1" + }, + "runtime": { + "lib/netstandard1.3/System.Collections.Specialized.dll": {} + } + }, + "System.ComponentModel.Primitives/4.1.0": { + "runtime": { + "lib/netstandard1.0/System.ComponentModel.Primitives.dll": {} + } + }, + "System.ComponentModel.TypeConverter/4.1.0": { + "dependencies": { + "System.Collections.NonGeneric": "4.0.1", + "System.Collections.Specialized": "4.0.1", + "System.ComponentModel.Primitives": "4.1.0" + }, + "runtime": { + "lib/netstandard1.5/System.ComponentModel.TypeConverter.dll": {} + } + }, + "System.Data.Common/4.1.0": { + "runtime": { + "lib/netstandard1.2/System.Data.Common.dll": {} + } + }, + "System.Diagnostics.Contracts/4.0.1": { + "runtime": { + "lib/netstandard1.0/System.Diagnostics.Contracts.dll": {} + } + }, + "System.Diagnostics.TraceSource/4.0.0": { + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.3/System.Diagnostics.TraceSource.dll": { + "rid": "unix", + "assetType": "runtime" + }, + "runtimes/win/lib/netstandard1.3/System.Diagnostics.TraceSource.dll": { + "rid": "win", + "assetType": "runtime" + } + } + }, + "System.Interactive.Async/3.0.0": { + "runtime": { + "lib/netstandard1.0/System.Interactive.Async.dll": {} + } + }, + "System.Net.WebSockets/4.0.0": { + "runtime": { + "lib/netstandard1.3/System.Net.WebSockets.dll": {} + } + }, + "System.Net.WebSockets.Client/4.0.0": { + "dependencies": { + "System.Net.WebSockets": "4.0.0" + }, + "runtimeTargets": { + "runtimes/unix/lib/netstandard1.3/System.Net.WebSockets.Client.dll": { + "rid": "unix", + "assetType": "runtime" + }, + "runtimes/win/lib/netstandard1.3/System.Net.WebSockets.Client.dll": { + "rid": "win", + "assetType": "runtime" + } + } + }, + "System.Private.DataContractSerialization/4.1.1": { + "dependencies": { + "System.Runtime.Serialization.Primitives": "4.1.1", + "System.Xml.XmlSerializer": "4.0.11" + }, + "runtime": { + "lib/netstandard1.3/System.Private.DataContractSerialization.dll": {} + } + }, + "System.Resources.ResourceWriter/4.0.0-beta-22816": { + "runtime": { + "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Resources.ResourceWriter.dll": {} + } + }, + "System.Runtime.CompilerServices.Unsafe/4.0.0": { + "runtime": { + "lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll": {} + } + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "runtime": { + "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll": {} + } + }, + "System.Runtime.Serialization.Xml/4.1.1": { + "dependencies": { + "System.Private.DataContractSerialization": "4.1.1", + "System.Runtime.Serialization.Primitives": "4.1.1" + }, + "runtime": { + "lib/netstandard1.3/System.Runtime.Serialization.Xml.dll": {} + } + }, + "System.Text.Encodings.Web/4.0.0": { + "runtime": { + "lib/netstandard1.0/System.Text.Encodings.Web.dll": {} + } + }, + "System.Xml.XmlSerializer/4.0.11": { + "runtime": { + "lib/netstandard1.3/System.Xml.XmlSerializer.dll": {} + } + }, + "VideoLibrary/1.3.4": { + "runtime": { + "lib/portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10/libvideo.dll": {} + } + }, + "xunit/2.1.0": { + "dependencies": { + "xunit.assert": "2.1.0", + "xunit.core": "2.1.0" + } + }, + "xunit.abstractions/2.0.0": { + "runtime": { + "lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.dll": {} + } + }, + "xunit.assert/2.1.0": { + "runtime": { + "lib/dotnet/xunit.assert.dll": {} + } + }, + "xunit.core/2.1.0": { + "dependencies": { + "xunit.abstractions": "2.0.0", + "xunit.extensibility.core": "2.1.0", + "xunit.extensibility.execution": "2.1.0" + } + }, + "xunit.extensibility.core/2.1.0": { + "dependencies": { + "xunit.abstractions": "2.0.0" + }, + "runtime": { + "lib/dotnet/xunit.core.dll": {} + } + }, + "xunit.extensibility.execution/2.1.0": { + "dependencies": { + "xunit.abstractions": "2.0.0", + "xunit.extensibility.core": "2.1.0" + }, + "runtime": { + "lib/dotnet/xunit.execution.dotnet.dll": {} + } + }, + "xunit.runner.reporters/2.1.0": { + "dependencies": { + "Newtonsoft.Json": "9.0.1", + "xunit.abstractions": "2.0.0", + "xunit.runner.utility": "2.1.0" + }, + "runtime": { + "lib/dotnet/xunit.runner.reporters.dotnet.dll": {} + } + }, + "xunit.runner.utility/2.1.0": { + "dependencies": { + "xunit.abstractions": "2.0.0" + }, + "runtime": { + "lib/dotnet/xunit.runner.utility.dotnet.dll": {} + } + }, + "Discord.Net/1.0.0-beta": { + "dependencies": { + "Newtonsoft.Json": "9.0.1", + "System.Net.WebSockets.Client": "4.0.0", + "System.Runtime.Serialization.Primitives": "4.1.1" + }, + "runtime": { + "Discord.Net.dll": {} + } + }, + "Discord.Net.Commands/1.0.0-beta": { + "dependencies": { + "Discord.Net": "1.0.0-beta" + }, + "runtime": { + "Discord.Net.Commands.dll": {} + } + }, + "NadekoBot/1.0.0": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", + "Microsoft.Extensions.PlatformAbstractions": "1.0.0", + "Newtonsoft.Json": "9.0.1", + "Microsoft.Extensions.DependencyInjection": "1.0.0", + "Discord.Net.Commands": "1.0.0-beta", + "System.Resources.ResourceWriter": "4.0.0-beta-22816", + "Google.Apis.YouTube.v3": "1.15.0.582", + "Google.Apis.Urlshortener.v1": "1.15.0.138", + "Google.Apis.Customsearch.v1": "1.16.0.466", + "System.Diagnostics.Contracts": "4.0.1", + "NLog": "4.4.0-betav15", + "VideoLibrary": "1.3.4", + "Microsoft.EntityFrameworkCore": "1.0.0", + "Microsoft.EntityFrameworkCore.Design": "1.0.0-preview2-final", + "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0", + "CoreCLR-NCalc": "2.1.0", + "ImageProcessorCore": "1.0.0-alpha1045" + }, + "runtime": { + "NadekoBot.dll": {} + } + } + } + }, + "libraries": { + "tests/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "CoreCLR-NCalc/2.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GUPPo99NUeAgLR5oIOLrApJx3Mx5BZEaKkK9OlDd/CmAYaACLHo68FnO+kCamsLH2+rvr6Rw3hAwzap4GVFV8Q==" + }, + "dotnet-test-xunit/1.0.0-rc2-build10015": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2traZWYeJiFzau+1j9HcnSZ3rQLDyIrqKyYKCTbPPmu6lsQAtaOG5q+fuKS9Vaxczmh0IcvZ2hdWEuYmtVb9zw==" + }, + "Google.Apis/1.16.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/p657K7J7p9aRl6QxUjQfNK0AobxnLHwDWdSqAr/17lZeQR+XMuEbIy7No80+zDeS39kKrRVWFlu1vHiws7gRQ==" + }, + "Google.Apis.Auth/1.15.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-gBMi03/CjodxVVjByVvvaE4To9905Oe6o59oxzP6AI5uZaab9zNclR+2cu6OcnS5wOIpf5DKAWd+jlSshuZ/cw==" + }, + "Google.Apis.Core/1.16.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uATqVAsPHlpOf+3VV51xFEIghAMSLJyh1hqoVpnPOlkXBx7fkOcs0qP3tKXtmsaeuyC/7BYM1Tt42lyIyhY2lQ==" + }, + "Google.Apis.Customsearch.v1/1.16.0.466": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uZ5VP/xKgTZCMJXgEfwHYEIR/7FsbtvL+bncm08a07RhWLFZTdRpCAkNL4b5wADHkblpkBe1VWKv43W77I4tJw==" + }, + "Google.Apis.Urlshortener.v1/1.15.0.138": { + "type": "package", + "serviceable": true, + "sha512": "sha512-67USnpqrk8tWO3LAgaK9qDQT6h8A7i7eUIOKm+OISThZoQuHiLCn6dbg46FVb597LUh57AxClSSbhnweYcYC3Q==" + }, + "Google.Apis.YouTube.v3/1.15.0.582": { + "type": "package", + "serviceable": true, + "sha512": "sha512-isR8FdI417PKLgLlNdOVDhduO+8yqPJ+vfID1Zx0MjAa/y3q655Plk2E/KNmsrjvXkqSSWwDCQHPz/Q1fat4tA==" + }, + "ImageProcessorCore/1.0.0-alpha1045": { + "type": "package", + "serviceable": true, + "sha512": "sha512-A5oL7SwFnzcu5eF26u49nf73joQghpEpCGwLb54dm6VI6ZGpjBJpKAyNKtJP30HtXy1VngiGJn/EcvCl8+JGcg==" + }, + "Microsoft.AspNetCore.Hosting.Abstractions/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8r6qOl1jYyC523ZKM1QNl+6ijIoYWELWm0tpEWqtTIOg9DytHJWshB7usgqiuRmfHXM0EUziR6ouFY7iP7Tuzw==" + }, + "Microsoft.AspNetCore.Hosting.Server.Abstractions/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sHZyhQEoW15T9E36rfdm5Ux6a6RZB0KNM79ccf2IplWASqmlRGhX4ydU3dzQRLhkHpLx16fnWOL0KScsO6BevQ==" + }, + "Microsoft.AspNetCore.Http.Abstractions/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OJHlqdJOWKKBfsiVdX4Z4KCNuqvBIu6+1MVKuejRDyHnGyMkNHNoP/dtVzhPqvJXaJg9N4HlD0XNc6GDCFVffg==" + }, + "Microsoft.AspNetCore.Http.Features/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6x7zgfbTo1gL9xMEb7EMO2ES/48bqwnWyfH09z+ubWhnzxdhHls8rtqstPylu5FPD9nid6Vo2pgDm5vufRAy5Q==" + }, + "Microsoft.Data.Sqlite/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dezlCGK9zVrPNfoX1SL50GmWDdRQNcV1SBy3wuCn/a0g7Gc26PyvlA4BKapjnCK5N8LSQ2+1PdW2imiRr+YvxA==" + }, + "Microsoft.DiaSymReader/1.0.6": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ai2eBJrXlHa0hecUKnEyacH0iXxGNOMpc9X0s7VAeqqh5TSTW70QMhTRZ0FNCtf3R/W67K4a+uf3R7MASmAjrg==" + }, + "Microsoft.DiaSymReader.Native/1.3.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mjATkm+L2UlP35gO/ExNutLDfgX4iiwz1l/8sYVoeGHp5WnkEDu0NfIEsC4Oy/pCYeRw0/6SGB+kArJVNNvENQ==" + }, + "Microsoft.DotNet.InternalAbstractions/1.0.0-rc2-002702": { + "type": "package", + "serviceable": true, + "sha512": "sha512-81Zp6K3oJY5zyoCtf7eguaZ+EnM3zawCtUKszBCLob1KH6Bu44ET2hokkk/6eMhTI2aQhbGrV9SaSjJ2K8DUDg==" + }, + "Microsoft.DotNet.ProjectModel/1.0.0-rc2-002702": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ryslqqMpPRcJma9kJn3V1/GydzUny6i6xfpQ0cqfWmlPdSQ9Hnh6x2l8yVqU+ueCiVffKWn/Or80moLwroXP/A==" + }, + "Microsoft.EntityFrameworkCore/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Vqg/v0cXRQZQH0gY3VHHqt0Bt5WZEkDReVpI1sNYKHVbVtnMYFKPp5SiNygosUJYrJk1rSGb8UVkplDNNUkEgg==" + }, + "Microsoft.EntityFrameworkCore.Design/1.0.0-preview2-final": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RhyjntECuOVsrKjgFog9rv+V7oBsxBNxz5NviF7uHvDDQXLyHH3os/CewQxRNsve114AQH5RX/Bww6qAXlSORQ==" + }, + "Microsoft.EntityFrameworkCore.Design.Core/1.0.0-preview2-final": { + "type": "package", + "serviceable": true, + "sha512": "sha512-H3pHksGErQSEwWyvISlDYMslIXftS4XB2m0AvqBS08ECGHagh27mqm/oIyUetzzRad+C2V0zpguJmR14eMiRaA==" + }, + "Microsoft.EntityFrameworkCore.Relational/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LGBab+7o0eq4C3YtvkAxK8W7Ia57eO0Ue0viQgt0STptQ2bUpLzV7q5LfbNl475rt6yTWa/vDQlYVaI64fwqdw==" + }, + "Microsoft.EntityFrameworkCore.Relational.Design/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pw4EmGTp5U645is0Lyf0C6yU1uQGHVIZiRyxlDNNrRllL0ZjSFKTShv9qbE+fBpvvvArNp2HhDmP7d6vJAt0Dw==" + }, + "Microsoft.EntityFrameworkCore.Sqlite/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GF5xfn90zVKbnCdNrjeH4j1IaAQ7FsHCWkTrdUKISzrPxG3LIizJaU2iu8YMfNhMYd5N1Y7R7SxF2dBh+5A+Ew==" + }, + "Microsoft.Extensions.Caching.Abstractions/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IxlFDVOchL6tdR05bk7EiJvMtvZrVkZXBhkbXqc3GxOHOrHFGcN+92WoWFPeBpdpy8ot/Px5ZdXzt7k+2n1Bdg==" + }, + "Microsoft.Extensions.Caching.Memory/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6+7zTufCnZ+tfrUo7RbIRR3LB0BxwOwxfXuo0IbLyIvgoToGpWuz5wYEDfCYNOvpig9tY8FA0I1uRHYmITMXMQ==" + }, + "Microsoft.Extensions.CommandLineUtils/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kXJ8+YvEjp1j7ezJ7yvQMLYbRL6QlpBUjRoBfqghoe80yqZ5azYB90lL4iNeyRCznWF+cGm41aaIoFU0aOq7TQ==" + }, + "Microsoft.Extensions.Configuration.Abstractions/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nJ+Et/rnDMDmGhxvFAKdN3va7y+YDPICv1nUEP8I4IKgOkWwr/dCZHMqxVhJFrkbW9ux8Kd7erC4mvxfZh0WnA==" + }, + "Microsoft.Extensions.DependencyInjection/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zdtkiZNV6LB8xtpmfyUjP/9N9ZCL/ydQ+0bfjun38fbrk+MDEm9M2yeLzRdq+OIt5xExw/KU04wFaVwJ1bhQPg==" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+XwaNo3o9RhLQhUnnOBCaukeRi1X9yYc0Fzye9RlErSflKZdw0VgHtn6rvKo0FTionsW0x8QVULhKH+nkqVjQA==" + }, + "Microsoft.Extensions.DependencyModel/1.0.0-rc2-002702": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xLEhTaEJw+3o49TNfPJ0I4ZBPe56kIIgHYmrQo6AibTfdaIV36TyvjznIGwRc53x87xKavq88PlV4tpL+jUiJQ==" + }, + "Microsoft.Extensions.FileProviders.Abstractions/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4jsqTxG3py/hYSsOtZMkNJ2/CQqPdpwyK7bDUkrwHgqowCFSmx/C+R4IzQ+2AK2Up1fVcu+ldC0gktwidL828A==" + }, + "Microsoft.Extensions.Logging/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0mDuASVrd/nMeBYIJSK+9lT3TSmWxUXP/ipVB1pF1ApMN5fqGCckPTNwmOfT4Z9wPkXGnhbwFTGrxZvbzTWxOg==" + }, + "Microsoft.Extensions.Logging.Abstractions/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wHT6oY50q36mAXBRKtFaB7u07WxKC5u2M8fi3PqHOOnHyUo9gD0u1TlCNR8UObHQxKMYwqlgI8TLcErpt29n8A==" + }, + "Microsoft.Extensions.Options/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-SdP3yPKF++JTkoa91pBDiE70uQkR/gdXWzOnMPbSj+eOqY1vgY+b8RVl+gh7TrJ2wlCK2QqnQtvCQlPPZRK36w==" + }, + "Microsoft.Extensions.PlatformAbstractions/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zyjUzrOmuevOAJpIo3Mt5GmpALVYCVdLZ99keMbmCxxgQH7oxzU58kGHzE6hAgYEiWsdfMJLjVR7r+vSmaJmtg==" + }, + "Microsoft.Extensions.Primitives/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3q2vzfKEDjL6JFkRpk5SFA3zarYsO6+ZYgoucNImrUMzDn0mFbEOL5p9oPoWiypwypbJVVjWTf557bXZ0YFLig==" + }, + "Microsoft.Extensions.Testing.Abstractions/1.0.0-preview1-002702": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NE4Efz4kvkztJ80CSifUlP0UaBP4iOOaeTVk6nrj+ZIJzhsRGLbecIe4oX8G82pkCkqFF9i8KTl7YYUwpQY5Wg==" + }, + "Newtonsoft.Json/9.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-U82mHQSKaIk+lpSVCbWYKNavmNH1i5xrExDEquU1i6I5pV6UMOqRnJRSlKO3cMPfcpp0RgDY+8jUXHdQ4IfXvw==" + }, + "NLog/4.4.0-betav15": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LDRcdjv5VG9EWz+mnFqdSolUci+j+DBPIPjm7Xdam3xa1F9Rt7o0UpYoCnNRulqHzpKbU704o7Ad4ck9WxDhnw==" + }, + "NuGet.Common/3.5.0-beta-final": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7eCg4ky9NtTnxY1+2VtDKIYX137QejH8Dsuw6fENU53N6OeoROsrv1MUm0pu4e3TF8VH1eL5G3Vx/G30VdXEDg==" + }, + "NuGet.Frameworks/3.5.0-beta-final": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Si7O1OFxUryBq3xuq2AIwADM8WUMIBQOmUdTJBSaxV+KesShLJfgrr7Dl+Tg/nVETSEArJS8ktscv7gjKqtosg==" + }, + "NuGet.Packaging/3.5.0-beta-final": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wJSrtokTPmpIkNhJLiG5GPxdRFCVl6XB3MmgLCyRhD2O2wZVQqvvL6SELOz/61EU0C8m9ni/UiiNRqTEtH5QZw==" + }, + "NuGet.Packaging.Core/3.5.0-beta-final": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sdc8dUnbjEpNzIK5h5frJgn7ARQjQLdXMC5YrMHoEh0sCJnd2p1Lu4JvHK7mqn/MurVCAvoAjNDyazzFaVCD0w==" + }, + "NuGet.Packaging.Core.Types/3.5.0-beta-final": { + "type": "package", + "serviceable": true, + "sha512": "sha512-35AVdtLFJFp66CI9EDS61iviOe4UsCwfGh7RILK3j2ihZtlbTIIS5ygjmS8GnTkhNpmdwQRIk/rUempv4ABBxQ==" + }, + "NuGet.RuntimeModel/3.5.0-beta-final": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5opNw7zHG5wC0Qx9AzlopdPg48Tf/QVcVVKmPRuwUa3VBA1b9DBjY+1jCkaof8JRzyHZqLnxd6T9BuT98Jk0YQ==" + }, + "NuGet.Versioning/3.5.0-beta-final": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fwFF9Mck1hgZVDvvJLU81gcaidMksfRoCwyjBALEXxnp1fJr4xLyGbTRdbf2OKI5OODGuUpxaMkcz7P4T8HsXw==" + }, + "Portable.BouncyCastle/1.8.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bKqC2Me9ukybNYTBhlYd2sJ6j2kRV7SgB+JfiP2GueYq6QdM4Ym6PYV5eyrqb6KViOyd3zqQfJp0o6UW5ZG+GQ==" + }, + "Remotion.Linq/2.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IJn0BqkvwEDpP+2qjvci7n4/a9f7DhKESLWb2/uG4xQh3rTkGTBUz69bI4IivCoKkTFAqjXxYDZw2K/npohjsw==" + }, + "SQLite/3.12.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XYNQJt2eFqGluWP+fDaiNrV1v3kA+VsU2ygUjLx7zqzhIZKlAjSYMZLldmbGNnlNC5rKR+0LTrN0IA9dZkDyFw==" + }, + "SQLite.Native/3.12.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/5BdEFTaCziE6K5OG0bjSUhPo+LRmFcmyriFWEZNSuHaiqSp69sVngTb/Yo8mH6JykMA79BFdCBLMW+2E3pnuA==" + }, + "System.Collections.NonGeneric/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==" + }, + "System.Collections.Specialized/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/HKQyVP0yH1I0YtK7KJL/28snxHNH/bi+0lgk/+MbURF6ULhAE31MDI+NZDerNWu264YbxklXCCygISgm+HMug==" + }, + "System.ComponentModel.Primitives/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sc/7eVCdxPrp3ljpgTKVaQGUXiW05phNWvtv/m2kocXqrUQvTVWKou1Edas2aDjTThLPZOxPYIGNb/HN0QjURg==" + }, + "System.ComponentModel.TypeConverter/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-MnDAlaeJZy9pdB5ZdOlwdxfpI+LJQ6e0hmH7d2+y2LkiD8DRJynyDYl4Xxf3fWFm7SbEwBZh4elcfzONQLOoQw==" + }, + "System.Data.Common/4.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-epU8jeTe7aE7RqGHq9rZ8b0Q4Ah7DgubzHQblgZMSqgW1saW868WmooSyC5ywf8upLBkcVLDu93W9GPWUYsU2Q==" + }, + "System.Diagnostics.Contracts/4.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HvQQjy712vnlpPxaloZYkuE78Gn353L0SJLJVeLcNASeg9c4qla2a1Xq8I7B3jZoDzKPtHTkyVO7AZ5tpeQGuA==" + }, + "System.Diagnostics.TraceSource/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6WVCczFZKXwpWpzd/iJkYnsmWTSFFiU24Xx/YdHXBcu+nFI/ehTgeqdJQFbtRPzbrO3KtRNjvkhtj4t5/WwWsA==" + }, + "System.Interactive.Async/3.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UEM+WmG1Oq0bNbPx/E1jaIQ83QOrPfVDUyuYBtG6D6DpB77ytv9flPterMujumpHuoRjSc0ilSB8w41fQc05dw==" + }, + "System.Net.WebSockets/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==" + }, + "System.Net.WebSockets.Client/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-GY5h9cn0ZVsG4ORQqMytTldrqxet2RC2CSEsgWGf4XNW5jhL5SxzcUZph03xbZsgn7K3qMr+Rq+gkbJNI+FEXg==" + }, + "System.Private.DataContractSerialization/4.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==" + }, + "System.Resources.ResourceWriter/4.0.0-beta-22816": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Q6wpzkZjop1J+WJXl9H0OgXQvxDQxMkqA43AVENNW4SlTzIT8rFW7tum54xYZy3QCMKK8gIfOnVqA6VbgXRq1Q==" + }, + "System.Runtime.CompilerServices.Unsafe/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LDvjxLx2fkThOFo/SC+901fJrh5artALmgzeSqnVxzvFp4q3HO8BkeLyshPdcbs5zpN7Xh9G23M6sDhgIPbG9A==" + }, + "System.Runtime.Serialization.Primitives/4.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==" + }, + "System.Runtime.Serialization.Xml/4.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yqfKHkWUAdI0hdDIdD9KDzluKtZ8IIqLF3O7xIZlt6UTs1bOvFRpCvRTvGQva3Ak/ZM9/nq9IHBJ1tC4Ybcrjg==" + }, + "System.Text.Encodings.Web/4.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TWZnuiJgPDAEEUfobD7njXvSVR2Toz+jvKWds6yL4oSztmKQfnWzucczjzA+6Dv1bktBdY71sZW1YN0X6m9chQ==" + }, + "System.Xml.XmlSerializer/4.0.11": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==" + }, + "VideoLibrary/1.3.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HZ2RAE9xx/sjJGnwm8etawoJXYluaYGas4bAFpE14S62NFodNKzUf7Cm9TQ+JFJxAdY+1g1FEKk1b6FPSv9aMg==" + }, + "xunit/2.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-u/7VQSOSXa7kSG4iK6Lcn7RqKZQ3hk7cnyMNVMpXHSP0RI5VQEtc44hvkG3LyWOVsx1dhUDD3rPAHAxyOUDQJw==" + }, + "xunit.abstractions/2.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NAdxKQRzuLnCZ0g++x6i87/8rMBpQoRiRlRNLAqfODm2zJPbteHRoSER3DXfxnqrHXyBJT8rFaZ8uveBeQyaMA==" + }, + "xunit.assert/2.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Hhhw+YaTe+BGhbr57dxVE+6VJk8BfThqFFii1XIsSZ4qx+SSCixprJC10JkiLRVSTfWyT8W/4nAf6NQgIrmBxA==" + }, + "xunit.core/2.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jlbYdPbnkPIRwJllcT/tQZCNsSElVDEymdpJfH79uTUrPARkELVYw9o/zhAjKZXmeikGqGK5C2Yny4gTNoEu0Q==" + }, + "xunit.extensibility.core/2.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ANWM3WxeaeHjACLRlmrv+xOc0WAcr3cvIiJE+gqbdzTv1NCH4p1VDyT+8WmmdCc9db0WFiJLaDy4YTYsL1wWXw==" + }, + "xunit.extensibility.execution/2.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-tAoNafoVknKa3sZJPMvtZRnhOSk3gasEGeceSm7w/gyGwsR/OXFxndWJB1xSHeoy33d3Z6jFqn4A3j+pWCF0Ew==" + }, + "xunit.runner.reporters/2.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ja0kJrvwSiho2TRFpfHfa+6tGJI5edcyD8fdekTkjn7Us17PbGqglIihRe8sR9YFAmS4ipEC8+7CXOM/b69ENQ==" + }, + "xunit.runner.utility/2.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jJJHROwskIhdQuYw7exe7KaW20dOCa+lzV/lY7Zdh1ZZzdUPpScMi9ReJIutqiyjhemGF8V/GaMIPrcjyZ4ioQ==" + }, + "Discord.Net/1.0.0-beta": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Discord.Net.Commands/1.0.0-beta": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "NadekoBot/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/src/tests/bin/Debug/netcoreapp1.0/tests.dll b/src/tests/bin/Debug/netcoreapp1.0/tests.dll new file mode 100644 index 0000000000000000000000000000000000000000..3961e8eacec0c60f12b96c009e6b42a2d9db3ec8 GIT binary patch literal 6144 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 literal 0 HcmV?d00001 diff --git a/src/tests/bin/Debug/netcoreapp1.0/tests.pdb b/src/tests/bin/Debug/netcoreapp1.0/tests.pdb new file mode 100644 index 0000000000000000000000000000000000000000..d2221260776b14b14aaf00d282b1cd20932acef1 GIT binary patch literal 1388 zcmZ8hOK1~O6us|t@@Y-mq_zG{OH)6H#MTe~e`!@}ZLN;ABBCafp$3yoJ8x30hzt}I zK~P*N2%>_BbkUUyL3HIpTnH{)xwjySE8X}xcV?oJf%E2_b3b$6oBLiyKbR3Dh@TiR z+?VN?>`8Zf0)^=^Yd~r^pJVMUFbnt86{5?Mh#gb9V;9O}itRJdG}cCRn#H_>=Lbgm z`|y4Teh)}xidGK%-px06F0FmuH+}Ks+G4}R+=mZyqmXHIzNGpF@~UbB4*_*R97qDq zKp5bvt2VatgY^DlXq_*h8WuRV31|e^_a)T#@D}t5*dqiT2PT0hz#Om!sr*OKJ_)?atS>d|32b?QdjQMIn!Ws(v7lN~QIN%4tHSkElUx0_eqXGX0 z9tN)u_+#)0cr4(nz#G7u0?uomSHl}?c=Lap_cdO_A$fHR>cUKV>!_nnmOZ^X`aAG% z6v1i}e?0{)_2$@R{!9Gy>Rmf_Z8>wMXc^g}>L%MPS(9d-3S?)?d8k=?H&?-RFldUg1bd_c>GvU&5om9d=kpp~x_O_d%t z?NULhf>l17_K@3&y;_ zbf{3C2%V^u3r$s zkYg%GMUU~AHdN~=ciO$`-f(ZbcisE$j63T-oBy?PzSQ<*`qz%!!iOLCp1T?E`nhTp zTP>RE1*K#(Oq~)<&@8d9^|Aq*i@uf@&~$8DA<+;Ci7sm7Asyj7W@R33rulHSIv_;Y~+Vuah zoCY*#1FRup4_^|9*wu+oX`?aPtKn?pd#$vYU645m10`sKqy>ZmTK%M67EZt?9|`no zRfvt!I*v&4iV+*5rM%*#MlHNUEi}j#3= 1.0.0-*", + "System.Runtime.Serialization.Primitives >= 4.1.1", + "dotnet-test-xunit >= 1.0.0-rc2-192208-24", + "xunit >= 2.1.0" + ], + ".NETCoreApp,Version=v1.0": [ + "Microsoft.NETCore.App >= 1.0.0" + ] + }, + "tools": {}, + "projectFileToolGroups": {} +} \ No newline at end of file diff --git a/src/tests/tests.xproj b/src/tests/tests.xproj new file mode 100644 index 00000000..eaf88e51 --- /dev/null +++ b/src/tests/tests.xproj @@ -0,0 +1,21 @@ + + + + 14.0.25420 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + + + + 14cbada0-971c-44e3-b331-c7d01dd74f0b + tests + .\obj + .\bin\ + + + 2.0 + + + + + + \ No newline at end of file From edc565797dd6fd4b9b62557298df4d771e18cbda Mon Sep 17 00:00:00 2001 From: Kwoth Date: Tue, 27 Sep 2016 15:40:43 +0200 Subject: [PATCH 015/135] Updated discord.net --- discord.net | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/discord.net b/discord.net index 72131e69..6a7f7b81 160000 --- a/discord.net +++ b/discord.net @@ -1 +1 @@ -Subproject commit 72131e69f8ab39c4ed3c5002ed602c72ae83b506 +Subproject commit 6a7f7b81322266977ef809e521af6c199ec8de54 From 94b5c411b9936c74d9ad277aa7cacc43ed793d10 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Fri, 30 Sep 2016 02:40:33 +0200 Subject: [PATCH 016/135] Permissions should work completley excep moving --- .../20160922170157_perms.Designer.cs | 587 ------------------ .../20160926144107_second.Designer.cs | 587 ------------------ .../Migrations/20160926144107_second.cs | 19 - .../Migrations/20160927023659_moar perms.cs | 106 ---- ...er.cs => 20160930001917_first.Designer.cs} | 8 +- ...70157_perms.cs => 20160930001917_first.cs} | 151 +++-- .../NadekoSqliteContextModelSnapshot.cs | 4 + .../Permissions/PermissionExtensions.cs | 53 +- .../Modules/Permissions/Permissions.cs | 303 ++++++--- src/NadekoBot/Services/CommandHandler.cs | 98 ++- .../Services/Database/Models/GuildConfig.cs | 12 +- .../Services/Database/Models/Permission.cs | 35 +- .../Services/Database/NadekoContext.cs | 1 + .../Repositories/IGuildConfigRepository.cs | 1 + .../Impl/GuildConfigRepository.cs | 41 +- src/NadekoBot/project.json | 5 +- src/NadekoBot/project.lock.json | 3 +- 17 files changed, 480 insertions(+), 1534 deletions(-) delete mode 100644 src/NadekoBot/Migrations/20160922170157_perms.Designer.cs delete mode 100644 src/NadekoBot/Migrations/20160926144107_second.Designer.cs delete mode 100644 src/NadekoBot/Migrations/20160926144107_second.cs delete mode 100644 src/NadekoBot/Migrations/20160927023659_moar perms.cs rename src/NadekoBot/Migrations/{20160927023659_moar perms.Designer.cs => 20160930001917_first.Designer.cs} (99%) rename src/NadekoBot/Migrations/{20160922170157_perms.cs => 20160930001917_first.cs} (95%) diff --git a/src/NadekoBot/Migrations/20160922170157_perms.Designer.cs b/src/NadekoBot/Migrations/20160922170157_perms.Designer.cs deleted file mode 100644 index 737b3c23..00000000 --- a/src/NadekoBot/Migrations/20160922170157_perms.Designer.cs +++ /dev/null @@ -1,587 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using NadekoBot.Services.Database.Impl; - -namespace NadekoBot.Migrations -{ - [DbContext(typeof(NadekoSqliteContext))] - [Migration("20160922170157_perms")] - partial class perms - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { - modelBuilder - .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ItemId"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("BlacklistItem"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BufferSize"); - - b.Property("CurrencyGenerationChance"); - - b.Property("CurrencyGenerationCooldown"); - - b.Property("CurrencyName"); - - b.Property("CurrencyPluralName"); - - b.Property("CurrencySign"); - - b.Property("DontJoinServers"); - - b.Property("ForwardMessages"); - - b.Property("ForwardToAllOwners"); - - b.Property("RemindMessageFormat"); - - b.Property("RotatingStatuses"); - - b.HasKey("Id"); - - b.ToTable("BotConfig"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BaseDestroyed"); - - b.Property("CallUser"); - - b.Property("ClashWarId"); - - b.Property("Stars"); - - b.Property("TimeAdded"); - - b.HasKey("Id"); - - b.HasIndex("ClashWarId"); - - b.ToTable("ClashCallers"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("EnemyClan"); - - b.Property("GuildId"); - - b.Property("Size"); - - b.Property("StartedAt"); - - b.Property("WarState"); - - b.HasKey("Id"); - - b.ToTable("ClashOfClans"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("InternalTrigger"); - - b.Property("Modifier"); - - b.Property("UnitType"); - - b.HasKey("Id"); - - b.ToTable("ConversionUnits"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Currency"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("Name"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Donators"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("EightBallResponses"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildConfigId"); - - b.Property("GuildId"); - - b.Property("LastStatus"); - - b.Property("Type"); - - b.Property("Username"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.ToTable("FollowedStream"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AutoAssignRoleId"); - - b.Property("AutoDeleteByeMessages"); - - b.Property("AutoDeleteGreetMessages"); - - b.Property("AutoDeleteGreetMessagesTimer"); - - b.Property("AutoDeleteSelfAssignedRoleMessages"); - - b.Property("ByeMessageChannelId"); - - b.Property("ChannelByeMessageText"); - - b.Property("ChannelGreetMessageText"); - - b.Property("DefaultMusicVolume"); - - b.Property("DeleteMessageOnCommand"); - - b.Property("DmGreetMessageText"); - - b.Property("ExclusiveSelfAssignedRoles"); - - b.Property("GenerateCurrencyChannelId"); - - b.Property("GreetMessageChannelId"); - - b.Property("GuildId"); - - b.Property("LogSettingId"); - - b.Property("SendChannelByeMessage"); - - b.Property("SendChannelGreetMessage"); - - b.Property("SendDmGreetMessage"); - - b.Property("VoicePlusTextEnabled"); - - b.HasKey("Id"); - - b.HasIndex("GuildId") - .IsUnique(); - - b.HasIndex("LogSettingId"); - - b.ToTable("GuildConfigs"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredLogChannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredVoicePresenceCHannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelCreated"); - - b.Property("ChannelDestroyed"); - - b.Property("ChannelId"); - - b.Property("ChannelUpdated"); - - b.Property("IsLogging"); - - b.Property("LogUserPresence"); - - b.Property("LogVoicePresence"); - - b.Property("MessageDeleted"); - - b.Property("MessageReceived"); - - b.Property("MessageUpdated"); - - b.Property("UserBanned"); - - b.Property("UserJoined"); - - b.Property("UserLeft"); - - b.Property("UserPresenceChannelId"); - - b.Property("UserUnbanned"); - - b.Property("UserUpdated"); - - b.Property("VoicePresenceChannelId"); - - b.HasKey("Id"); - - b.ToTable("LogSettings"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ModuleName"); - - b.Property("Prefix"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("ModulePrefixes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("GuildConfigId"); - - b.Property("PrimaryTarget"); - - b.Property("PrimaryTargetId"); - - b.Property("SecondaryTarget"); - - b.Property("SecondaryTargetName"); - - b.Property("State"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.ToTable("Permission"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Status"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("PlayingStatus"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AuthorId"); - - b.Property("AuthorName") - .IsRequired(); - - b.Property("GuildId"); - - b.Property("Keyword") - .IsRequired(); - - b.Property("Text") - .IsRequired(); - - b.HasKey("Id"); - - b.ToTable("Quotes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Icon"); - - b.Property("Name"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("RaceAnimals"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("IsPrivate"); - - b.Property("Message"); - - b.Property("ServerId"); - - b.Property("UserId"); - - b.Property("When"); - - b.HasKey("Id"); - - b.ToTable("Reminders"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildId"); - - b.Property("Interval"); - - b.Property("Message"); - - b.HasKey("Id"); - - b.HasIndex("ChannelId") - .IsUnique(); - - b.ToTable("Repeaters"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("GuildId"); - - b.Property("RoleId"); - - b.HasKey("Id"); - - b.HasIndex("GuildId", "RoleId") - .IsUnique(); - - b.ToTable("SelfAssignableRoles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Author"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.ToTable("TypingArticles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("Blacklist") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") - .WithMany("Bases") - .HasForeignKey("ClashWarId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("EightBallResponses") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FollowedStreams") - .HasForeignKey("GuildConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany() - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredChannels") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredVoicePresenceChannelIds") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") - .WithMany("ModulePrefixes") - .HasForeignKey("BotConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("Permissions") - .HasForeignKey("GuildConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RotatingStatusMessages") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RaceAnimals") - .HasForeignKey("BotConfigId"); - }); - } - } -} diff --git a/src/NadekoBot/Migrations/20160926144107_second.Designer.cs b/src/NadekoBot/Migrations/20160926144107_second.Designer.cs deleted file mode 100644 index 095ee7cf..00000000 --- a/src/NadekoBot/Migrations/20160926144107_second.Designer.cs +++ /dev/null @@ -1,587 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using NadekoBot.Services.Database.Impl; - -namespace NadekoBot.Migrations -{ - [DbContext(typeof(NadekoSqliteContext))] - [Migration("20160926144107_second")] - partial class second - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { - modelBuilder - .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ItemId"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("BlacklistItem"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BufferSize"); - - b.Property("CurrencyGenerationChance"); - - b.Property("CurrencyGenerationCooldown"); - - b.Property("CurrencyName"); - - b.Property("CurrencyPluralName"); - - b.Property("CurrencySign"); - - b.Property("DontJoinServers"); - - b.Property("ForwardMessages"); - - b.Property("ForwardToAllOwners"); - - b.Property("RemindMessageFormat"); - - b.Property("RotatingStatuses"); - - b.HasKey("Id"); - - b.ToTable("BotConfig"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BaseDestroyed"); - - b.Property("CallUser"); - - b.Property("ClashWarId"); - - b.Property("Stars"); - - b.Property("TimeAdded"); - - b.HasKey("Id"); - - b.HasIndex("ClashWarId"); - - b.ToTable("ClashCallers"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("EnemyClan"); - - b.Property("GuildId"); - - b.Property("Size"); - - b.Property("StartedAt"); - - b.Property("WarState"); - - b.HasKey("Id"); - - b.ToTable("ClashOfClans"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("InternalTrigger"); - - b.Property("Modifier"); - - b.Property("UnitType"); - - b.HasKey("Id"); - - b.ToTable("ConversionUnits"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Currency"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("Name"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Donators"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("EightBallResponses"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildConfigId"); - - b.Property("GuildId"); - - b.Property("LastStatus"); - - b.Property("Type"); - - b.Property("Username"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.ToTable("FollowedStream"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AutoAssignRoleId"); - - b.Property("AutoDeleteByeMessages"); - - b.Property("AutoDeleteGreetMessages"); - - b.Property("AutoDeleteGreetMessagesTimer"); - - b.Property("AutoDeleteSelfAssignedRoleMessages"); - - b.Property("ByeMessageChannelId"); - - b.Property("ChannelByeMessageText"); - - b.Property("ChannelGreetMessageText"); - - b.Property("DefaultMusicVolume"); - - b.Property("DeleteMessageOnCommand"); - - b.Property("DmGreetMessageText"); - - b.Property("ExclusiveSelfAssignedRoles"); - - b.Property("GenerateCurrencyChannelId"); - - b.Property("GreetMessageChannelId"); - - b.Property("GuildId"); - - b.Property("LogSettingId"); - - b.Property("SendChannelByeMessage"); - - b.Property("SendChannelGreetMessage"); - - b.Property("SendDmGreetMessage"); - - b.Property("VoicePlusTextEnabled"); - - b.HasKey("Id"); - - b.HasIndex("GuildId") - .IsUnique(); - - b.HasIndex("LogSettingId"); - - b.ToTable("GuildConfigs"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredLogChannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredVoicePresenceCHannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelCreated"); - - b.Property("ChannelDestroyed"); - - b.Property("ChannelId"); - - b.Property("ChannelUpdated"); - - b.Property("IsLogging"); - - b.Property("LogUserPresence"); - - b.Property("LogVoicePresence"); - - b.Property("MessageDeleted"); - - b.Property("MessageReceived"); - - b.Property("MessageUpdated"); - - b.Property("UserBanned"); - - b.Property("UserJoined"); - - b.Property("UserLeft"); - - b.Property("UserPresenceChannelId"); - - b.Property("UserUnbanned"); - - b.Property("UserUpdated"); - - b.Property("VoicePresenceChannelId"); - - b.HasKey("Id"); - - b.ToTable("LogSettings"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ModuleName"); - - b.Property("Prefix"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("ModulePrefixes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("GuildConfigId"); - - b.Property("PrimaryTarget"); - - b.Property("PrimaryTargetId"); - - b.Property("SecondaryTarget"); - - b.Property("SecondaryTargetName"); - - b.Property("State"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.ToTable("Permission"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Status"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("PlayingStatus"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AuthorId"); - - b.Property("AuthorName") - .IsRequired(); - - b.Property("GuildId"); - - b.Property("Keyword") - .IsRequired(); - - b.Property("Text") - .IsRequired(); - - b.HasKey("Id"); - - b.ToTable("Quotes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Icon"); - - b.Property("Name"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("RaceAnimals"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("IsPrivate"); - - b.Property("Message"); - - b.Property("ServerId"); - - b.Property("UserId"); - - b.Property("When"); - - b.HasKey("Id"); - - b.ToTable("Reminders"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildId"); - - b.Property("Interval"); - - b.Property("Message"); - - b.HasKey("Id"); - - b.HasIndex("ChannelId") - .IsUnique(); - - b.ToTable("Repeaters"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("GuildId"); - - b.Property("RoleId"); - - b.HasKey("Id"); - - b.HasIndex("GuildId", "RoleId") - .IsUnique(); - - b.ToTable("SelfAssignableRoles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Author"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.ToTable("TypingArticles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("Blacklist") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") - .WithMany("Bases") - .HasForeignKey("ClashWarId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("EightBallResponses") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FollowedStreams") - .HasForeignKey("GuildConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany() - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredChannels") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredVoicePresenceChannelIds") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") - .WithMany("ModulePrefixes") - .HasForeignKey("BotConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("Permissions") - .HasForeignKey("GuildConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RotatingStatusMessages") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RaceAnimals") - .HasForeignKey("BotConfigId"); - }); - } - } -} diff --git a/src/NadekoBot/Migrations/20160926144107_second.cs b/src/NadekoBot/Migrations/20160926144107_second.cs deleted file mode 100644 index e79f9421..00000000 --- a/src/NadekoBot/Migrations/20160926144107_second.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using System.Collections.Generic; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace NadekoBot.Migrations -{ - public partial class second : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - - } - } -} diff --git a/src/NadekoBot/Migrations/20160927023659_moar perms.cs b/src/NadekoBot/Migrations/20160927023659_moar perms.cs deleted file mode 100644 index b360ca7f..00000000 --- a/src/NadekoBot/Migrations/20160927023659_moar perms.cs +++ /dev/null @@ -1,106 +0,0 @@ -using System; -using System.Collections.Generic; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace NadekoBot.Migrations -{ - public partial class moarperms : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropForeignKey( - name: "FK_Permission_GuildConfigs_GuildConfigId", - table: "Permission"); - - migrationBuilder.DropIndex( - name: "IX_Permission_GuildConfigId", - table: "Permission"); - - migrationBuilder.DropColumn( - name: "GuildConfigId", - table: "Permission"); - - migrationBuilder.AddColumn( - name: "NextId", - table: "Permission", - nullable: true); - - migrationBuilder.AddColumn( - name: "RootPermissionId", - table: "GuildConfigs", - nullable: true); - - migrationBuilder.CreateIndex( - name: "IX_Permission_NextId", - table: "Permission", - column: "NextId", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_GuildConfigs_RootPermissionId", - table: "GuildConfigs", - column: "RootPermissionId"); - - migrationBuilder.AddForeignKey( - name: "FK_GuildConfigs_Permission_RootPermissionId", - table: "GuildConfigs", - column: "RootPermissionId", - principalTable: "Permission", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - - migrationBuilder.AddForeignKey( - name: "FK_Permission_Permission_NextId", - table: "Permission", - column: "NextId", - principalTable: "Permission", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropForeignKey( - name: "FK_GuildConfigs_Permission_RootPermissionId", - table: "GuildConfigs"); - - migrationBuilder.DropForeignKey( - name: "FK_Permission_Permission_NextId", - table: "Permission"); - - migrationBuilder.DropIndex( - name: "IX_Permission_NextId", - table: "Permission"); - - migrationBuilder.DropIndex( - name: "IX_GuildConfigs_RootPermissionId", - table: "GuildConfigs"); - - migrationBuilder.DropColumn( - name: "NextId", - table: "Permission"); - - migrationBuilder.DropColumn( - name: "RootPermissionId", - table: "GuildConfigs"); - - migrationBuilder.AddColumn( - name: "GuildConfigId", - table: "Permission", - nullable: true); - - migrationBuilder.CreateIndex( - name: "IX_Permission_GuildConfigId", - table: "Permission", - column: "GuildConfigId"); - - migrationBuilder.AddForeignKey( - name: "FK_Permission_GuildConfigs_GuildConfigId", - table: "Permission", - column: "GuildConfigId", - principalTable: "GuildConfigs", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - } - } -} diff --git a/src/NadekoBot/Migrations/20160927023659_moar perms.Designer.cs b/src/NadekoBot/Migrations/20160930001917_first.Designer.cs similarity index 99% rename from src/NadekoBot/Migrations/20160927023659_moar perms.Designer.cs rename to src/NadekoBot/Migrations/20160930001917_first.Designer.cs index d05622cc..dd4fabf1 100644 --- a/src/NadekoBot/Migrations/20160927023659_moar perms.Designer.cs +++ b/src/NadekoBot/Migrations/20160930001917_first.Designer.cs @@ -8,8 +8,8 @@ using NadekoBot.Services.Database.Impl; namespace NadekoBot.Migrations { [DbContext(typeof(NadekoSqliteContext))] - [Migration("20160927023659_moar perms")] - partial class moarperms + [Migration("20160930001917_first")] + partial class first { protected override void BuildTargetModel(ModelBuilder modelBuilder) { @@ -237,6 +237,8 @@ namespace NadekoBot.Migrations b.Property("LogSettingId"); + b.Property("PermissionRole"); + b.Property("RootPermissionId"); b.Property("SendChannelByeMessage"); @@ -245,6 +247,8 @@ namespace NadekoBot.Migrations b.Property("SendDmGreetMessage"); + b.Property("VerbosePermissions"); + b.Property("VoicePlusTextEnabled"); b.HasKey("Id"); diff --git a/src/NadekoBot/Migrations/20160922170157_perms.cs b/src/NadekoBot/Migrations/20160930001917_first.cs similarity index 95% rename from src/NadekoBot/Migrations/20160922170157_perms.cs rename to src/NadekoBot/Migrations/20160930001917_first.cs index e892e494..400ac665 100644 --- a/src/NadekoBot/Migrations/20160922170157_perms.cs +++ b/src/NadekoBot/Migrations/20160930001917_first.cs @@ -4,7 +4,7 @@ using Microsoft.EntityFrameworkCore.Migrations; namespace NadekoBot.Migrations { - public partial class perms : Migration + public partial class first : Migration { protected override void Up(MigrationBuilder migrationBuilder) { @@ -122,6 +122,30 @@ namespace NadekoBot.Migrations table.PrimaryKey("PK_LogSettings", x => x.Id); }); + migrationBuilder.CreateTable( + name: "Permission", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + NextId = table.Column(nullable: true), + PrimaryTarget = table.Column(nullable: false), + PrimaryTargetId = table.Column(nullable: false), + SecondaryTarget = table.Column(nullable: false), + SecondaryTargetName = table.Column(nullable: true), + State = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Permission", x => x.Id); + table.ForeignKey( + name: "FK_Permission_Permission_NextId", + column: x => x.NextId, + principalTable: "Permission", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + migrationBuilder.CreateTable( name: "Quotes", columns: table => new @@ -326,44 +350,6 @@ namespace NadekoBot.Migrations onDelete: ReferentialAction.Cascade); }); - migrationBuilder.CreateTable( - name: "GuildConfigs", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - AutoAssignRoleId = table.Column(nullable: false), - AutoDeleteByeMessages = table.Column(nullable: false), - AutoDeleteGreetMessages = table.Column(nullable: false), - AutoDeleteGreetMessagesTimer = table.Column(nullable: false), - AutoDeleteSelfAssignedRoleMessages = table.Column(nullable: false), - ByeMessageChannelId = table.Column(nullable: false), - ChannelByeMessageText = table.Column(nullable: true), - ChannelGreetMessageText = table.Column(nullable: true), - DefaultMusicVolume = table.Column(nullable: false), - DeleteMessageOnCommand = table.Column(nullable: false), - DmGreetMessageText = table.Column(nullable: true), - ExclusiveSelfAssignedRoles = table.Column(nullable: false), - GenerateCurrencyChannelId = table.Column(nullable: true), - GreetMessageChannelId = table.Column(nullable: false), - GuildId = table.Column(nullable: false), - LogSettingId = table.Column(nullable: true), - SendChannelByeMessage = table.Column(nullable: false), - SendChannelGreetMessage = table.Column(nullable: false), - SendDmGreetMessage = table.Column(nullable: false), - VoicePlusTextEnabled = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_GuildConfigs", x => x.Id); - table.ForeignKey( - name: "FK_GuildConfigs_LogSettings_LogSettingId", - column: x => x.LogSettingId, - principalTable: "LogSettings", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - migrationBuilder.CreateTable( name: "IgnoredLogChannels", columns: table => new @@ -404,6 +390,53 @@ namespace NadekoBot.Migrations onDelete: ReferentialAction.Restrict); }); + migrationBuilder.CreateTable( + name: "GuildConfigs", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + AutoAssignRoleId = table.Column(nullable: false), + AutoDeleteByeMessages = table.Column(nullable: false), + AutoDeleteGreetMessages = table.Column(nullable: false), + AutoDeleteGreetMessagesTimer = table.Column(nullable: false), + AutoDeleteSelfAssignedRoleMessages = table.Column(nullable: false), + ByeMessageChannelId = table.Column(nullable: false), + ChannelByeMessageText = table.Column(nullable: true), + ChannelGreetMessageText = table.Column(nullable: true), + DefaultMusicVolume = table.Column(nullable: false), + DeleteMessageOnCommand = table.Column(nullable: false), + DmGreetMessageText = table.Column(nullable: true), + ExclusiveSelfAssignedRoles = table.Column(nullable: false), + GenerateCurrencyChannelId = table.Column(nullable: true), + GreetMessageChannelId = table.Column(nullable: false), + GuildId = table.Column(nullable: false), + LogSettingId = table.Column(nullable: true), + PermissionRole = table.Column(nullable: true), + RootPermissionId = table.Column(nullable: true), + SendChannelByeMessage = table.Column(nullable: false), + SendChannelGreetMessage = table.Column(nullable: false), + SendDmGreetMessage = table.Column(nullable: false), + VerbosePermissions = table.Column(nullable: false), + VoicePlusTextEnabled = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_GuildConfigs", x => x.Id); + table.ForeignKey( + name: "FK_GuildConfigs_LogSettings_LogSettingId", + column: x => x.LogSettingId, + principalTable: "LogSettings", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + table.ForeignKey( + name: "FK_GuildConfigs_Permission_RootPermissionId", + column: x => x.RootPermissionId, + principalTable: "Permission", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + migrationBuilder.CreateTable( name: "FollowedStream", columns: table => new @@ -428,30 +461,6 @@ namespace NadekoBot.Migrations onDelete: ReferentialAction.Restrict); }); - migrationBuilder.CreateTable( - name: "Permission", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - GuildConfigId = table.Column(nullable: true), - PrimaryTarget = table.Column(nullable: false), - PrimaryTargetId = table.Column(nullable: false), - SecondaryTarget = table.Column(nullable: false), - SecondaryTargetName = table.Column(nullable: true), - State = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Permission", x => x.Id); - table.ForeignKey( - name: "FK_Permission_GuildConfigs_GuildConfigId", - column: x => x.GuildConfigId, - principalTable: "GuildConfigs", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - migrationBuilder.CreateIndex( name: "IX_BlacklistItem_BotConfigId", table: "BlacklistItem", @@ -495,6 +504,11 @@ namespace NadekoBot.Migrations table: "GuildConfigs", column: "LogSettingId"); + migrationBuilder.CreateIndex( + name: "IX_GuildConfigs_RootPermissionId", + table: "GuildConfigs", + column: "RootPermissionId"); + migrationBuilder.CreateIndex( name: "IX_IgnoredLogChannels_LogSettingId", table: "IgnoredLogChannels", @@ -511,9 +525,10 @@ namespace NadekoBot.Migrations column: "BotConfigId"); migrationBuilder.CreateIndex( - name: "IX_Permission_GuildConfigId", + name: "IX_Permission_NextId", table: "Permission", - column: "GuildConfigId"); + column: "NextId", + unique: true); migrationBuilder.CreateIndex( name: "IX_PlayingStatus_BotConfigId", @@ -570,9 +585,6 @@ namespace NadekoBot.Migrations migrationBuilder.DropTable( name: "ModulePrefixes"); - migrationBuilder.DropTable( - name: "Permission"); - migrationBuilder.DropTable( name: "PlayingStatus"); @@ -605,6 +617,9 @@ namespace NadekoBot.Migrations migrationBuilder.DropTable( name: "LogSettings"); + + migrationBuilder.DropTable( + name: "Permission"); } } } diff --git a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs index 039c2090..210b97e9 100644 --- a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs +++ b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs @@ -236,6 +236,8 @@ namespace NadekoBot.Migrations b.Property("LogSettingId"); + b.Property("PermissionRole"); + b.Property("RootPermissionId"); b.Property("SendChannelByeMessage"); @@ -244,6 +246,8 @@ namespace NadekoBot.Migrations b.Property("SendDmGreetMessage"); + b.Property("VerbosePermissions"); + b.Property("VoicePlusTextEnabled"); b.HasKey("Id"); diff --git a/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs b/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs index 7fded44f..70905eaf 100644 --- a/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs +++ b/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs @@ -1,5 +1,6 @@ using Discord; using Discord.Commands; +using NadekoBot.Services; using NadekoBot.Services.Database; using NadekoBot.Services.Database.Models; using System; @@ -21,7 +22,6 @@ namespace NadekoBot.Modules.Permissions public static bool CheckPermissions(this IEnumerable permsEnumerable, IUserMessage message, Command command, out int permIndex) { - permsEnumerable = permsEnumerable.Reverse(); var perms = permsEnumerable as List ?? permsEnumerable.ToList(); for (int i = 0; i < perms.Count; i++) @@ -50,13 +50,14 @@ namespace NadekoBot.Modules.Permissions public static bool? CheckPermission(this Permission perm, IUserMessage message, Command command) { if (!((perm.SecondaryTarget == SecondaryPermissionType.Command && - perm.SecondaryTargetName == command.Text.ToLowerInvariant()) || - ((perm.SecondaryTarget == SecondaryPermissionType.Module || perm.SecondaryTarget == SecondaryPermissionType.AllCommands) && - perm.SecondaryTargetName == command.Module.Name.ToLowerInvariant()) || - perm.SecondaryTarget == SecondaryPermissionType.AllModules || - (perm.SecondaryTarget == SecondaryPermissionType.AllCommands && perm.SecondaryTargetName == command.Module.Name.ToLowerInvariant()))) + perm.SecondaryTargetName.ToLowerInvariant() == command.Text.ToLowerInvariant()) || + (perm.SecondaryTarget == SecondaryPermissionType.Module && + perm.SecondaryTargetName.ToLowerInvariant() == command.Module.Name.ToLowerInvariant()) || + perm.SecondaryTarget == SecondaryPermissionType.AllModules)) return null; + var guildUser = message.Author as IGuildUser; + switch (perm.PrimaryTarget) { case PrimaryPermissionType.User: @@ -67,13 +68,16 @@ namespace NadekoBot.Modules.Permissions if (perm.PrimaryTargetId == message.Channel.Id) return perm.State; break; - case PrimaryPermissionType.Role: - var guildUser = message.Author as IGuildUser; + case PrimaryPermissionType.Role: if (guildUser == null) break; if (guildUser.Roles.Any(r => r.Id == perm.PrimaryTargetId)) return perm.State; break; + case PrimaryPermissionType.Server: + if (guildUser == null) + break; + return perm.State; } return null; } @@ -92,6 +96,9 @@ namespace NadekoBot.Modules.Permissions case PrimaryPermissionType.Role: com += "r"; break; + case PrimaryPermissionType.Server: + com += "s"; + break; } switch (perm.SecondaryTarget) @@ -102,9 +109,6 @@ namespace NadekoBot.Modules.Permissions case SecondaryPermissionType.Command: com += "c"; break; - case SecondaryPermissionType.AllCommands: - com = "a" + com + "c"; - break; case SecondaryPermissionType.AllModules: com = "a" + com + "m"; break; @@ -122,22 +126,19 @@ namespace NadekoBot.Modules.Permissions case PrimaryPermissionType.Role: com += $"<@&{perm.PrimaryTargetId}>"; break; + case PrimaryPermissionType.Server: + break; } return NadekoBot.ModulePrefixes[typeof(Permissions).Name] + com; } - public static void Add(this Permission perm, Permission toAdd) + public static void Prepend(this Permission perm, Permission toAdd) { - var last = perm; - while (last.Next != null) - { - last = last.Next; - } + perm = perm.GetRoot(); - toAdd.Previous = last; - last.Next = toAdd; - toAdd.Next = null; + perm.Previous = toAdd; + toAdd.Next = perm; } public static void Insert(this Permission perm, int index, Permission toAdd) @@ -174,16 +175,9 @@ namespace NadekoBot.Modules.Permissions public static Permission RemoveAt(this Permission perm, int index) { - if (index < 0) + if (index <= 0) //can't really remove at 0, that means deleting the element right now. Just use perm.Next if its 0 throw new IndexOutOfRangeException(); - if (index == 0) - { - perm.Next.Previous = null; - perm.Next = null; - return perm; - } - var toRemove = perm; var i = 0; while (i != index) @@ -195,7 +189,8 @@ namespace NadekoBot.Modules.Permissions } toRemove.Previous.Next = toRemove.Next; - toRemove.Next.Previous = toRemove.Previous; + if (toRemove.Next != null) + toRemove.Next.Previous = toRemove.Previous; return toRemove; } diff --git a/src/NadekoBot/Modules/Permissions/Permissions.cs b/src/NadekoBot/Modules/Permissions/Permissions.cs index 3c4e7c2e..b7648c80 100644 --- a/src/NadekoBot/Modules/Permissions/Permissions.cs +++ b/src/NadekoBot/Modules/Permissions/Permissions.cs @@ -21,6 +21,22 @@ namespace NadekoBot.Modules.Permissions { } + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task Verbose(IUserMessage msg, PermissionAction action) + { + var channel = (ITextChannel)msg.Channel; + + using (var uow = DbHandler.UnitOfWork()) + { + var config = uow.GuildConfigs.For(channel.Guild.Id); + config.VerbosePermissions = action.Value; + await uow.CompleteAsync().ConfigureAwait(false); + } + + await channel.SendMessageAsync("I will " + (action.Value ? "now" : "no longer") + " show permission warnings.").ConfigureAwait(false); + } + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task ListPerms(IUserMessage msg) @@ -30,10 +46,10 @@ namespace NadekoBot.Modules.Permissions string toSend = ""; using (var uow = DbHandler.UnitOfWork()) { - var perms = uow.GuildConfigs.For(channel.Guild.Id).RootPermission.AsEnumerable().Reverse(); + var perms = uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission; var i = 1; - toSend = String.Join("\n", perms.Select(p => $"`{(i++)}.` {p.GetCommand()}")); + toSend = String.Join("\n", perms.AsEnumerable().Select(p => $"`{(i++)}.` {p.GetCommand()}")); } if (string.IsNullOrWhiteSpace(toSend)) @@ -47,16 +63,36 @@ namespace NadekoBot.Modules.Permissions public async Task RemovePerm(IUserMessage imsg, int index) { var channel = (ITextChannel)imsg.Channel; + index -= 1; try { Permission p; using (var uow = DbHandler.UnitOfWork()) { - var perms = uow.GuildConfigs.For(channel.Guild.Id).RootPermission; - p = perms.RemoveAt(perms.Count() - index); + var perms = uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission; + if (index == perms.Count() - 1) + { + return; + } + else if (index == 0) + { + p = perms; + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = perms.Next; + } + else + { + p = perms.RemoveAt(index); + } await uow.CompleteAsync().ConfigureAwait(false); } - await channel.SendMessageAsync($"`Removed permission \"{p.GetCommand()}\" from position #{index}.`").ConfigureAwait(false); + + using (var uow2 = DbHandler.UnitOfWork()) + { + uow2._context.Remove(p); + uow2._context.SaveChanges(); + } + + await channel.SendMessageAsync($"{imsg.Author.Mention} removed permission **{p.GetCommand()}** from position #{index + 1}.").ConfigureAwait(false); } catch (ArgumentOutOfRangeException) { @@ -68,24 +104,31 @@ namespace NadekoBot.Modules.Permissions [RequireContext(ContextType.Guild)] public async Task MovePerm(IUserMessage imsg, int from, int to) { + from -= 1; + to -= 1; var channel = (ITextChannel)imsg.Channel; - if (!(from == to || from < 1 || to < 1)) + if (!(from == to || from < 0 || to < 0)) { try { Permission toInsert; using (var uow = DbHandler.UnitOfWork()) { - var perms = uow.GuildConfigs.For(channel.Guild.Id).RootPermission; - var count = perms.Count(); - toInsert = perms.RemoveAt(count - from); + var perms = uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission; + if (from == 0) + toInsert = perms; + else + toInsert = perms.RemoveAt(from); if (from < to) to -= 1; - perms.Insert(count - to, toInsert); - uow.GuildConfigs.For(channel.Guild.Id).RootPermission = perms; + var last = perms.Count() - 1; + if (from == last || to == last) + throw new IndexOutOfRangeException(); + perms.Insert(to, toInsert); + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = perms.GetRoot(); await uow.CompleteAsync().ConfigureAwait(false); } - await channel.SendMessageAsync($"`Moved permission \"{toInsert.GetCommand()}\" from #{from} to #{to}.`").ConfigureAwait(false); + await channel.SendMessageAsync($"`Moved permission:` \"{toInsert.GetCommand()}\" `from #{from} to #{to}.`").ConfigureAwait(false); return; } catch (Exception e) when (e is ArgumentOutOfRangeException || e is IndexOutOfRangeException) @@ -95,6 +138,52 @@ namespace NadekoBot.Modules.Permissions await channel.SendMessageAsync("`Invalid index(es) specified.`").ConfigureAwait(false); } + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task SrvrCmd(IUserMessage imsg, Command command, PermissionAction action) + { + var channel = (ITextChannel)imsg.Channel; + + using (var uow = DbHandler.UnitOfWork()) + { + var newPerm = new Permission + { + PrimaryTarget = PrimaryPermissionType.Server, + PrimaryTargetId = 0, + SecondaryTarget = SecondaryPermissionType.Command, + SecondaryTargetName = command.Text.ToLowerInvariant(), + State = action.Value, + }; + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; + await uow.CompleteAsync().ConfigureAwait(false); + } + await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{command.Text}` command on this server.").ConfigureAwait(false); + } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task SrvrMdl(IUserMessage imsg, Module module, PermissionAction action) + { + var channel = (ITextChannel)imsg.Channel; + + using (var uow = DbHandler.UnitOfWork()) + { + var newPerm = new Permission + { + PrimaryTarget = PrimaryPermissionType.Server, + PrimaryTargetId = 0, + SecondaryTarget = SecondaryPermissionType.Module, + SecondaryTargetName = module.Name.ToLowerInvariant(), + State = action.Value, + }; + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; + await uow.CompleteAsync().ConfigureAwait(false); + } + await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{module.Name}` module on this server.").ConfigureAwait(false); + } + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task UsrCmd(IUserMessage imsg, Command command, PermissionAction action, IGuildUser user) @@ -103,14 +192,16 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { - uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission + var newPerm = new Permission { PrimaryTarget = PrimaryPermissionType.User, PrimaryTargetId = user.Id, SecondaryTarget = SecondaryPermissionType.Command, SecondaryTargetName = command.Text.ToLowerInvariant(), State = action.Value, - }); + }; + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{command.Text}` command for `{user}` user.").ConfigureAwait(false); @@ -124,14 +215,16 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { - uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission + var newPerm = new Permission { PrimaryTarget = PrimaryPermissionType.User, PrimaryTargetId = user.Id, SecondaryTarget = SecondaryPermissionType.Module, SecondaryTargetName = module.Name.ToLowerInvariant(), State = action.Value, - }); + }; + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{module.Name}` module for `{user}` user.").ConfigureAwait(false); @@ -145,14 +238,16 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { - uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission + var newPerm = new Permission { PrimaryTarget = PrimaryPermissionType.Role, PrimaryTargetId = role.Id, SecondaryTarget = SecondaryPermissionType.Command, SecondaryTargetName = command.Text.ToLowerInvariant(), State = action.Value, - }); + }; + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{command.Text}` command for `{role}` role.").ConfigureAwait(false); @@ -166,14 +261,16 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { - uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission + var newPerm = new Permission { PrimaryTarget = PrimaryPermissionType.Role, PrimaryTargetId = role.Id, SecondaryTarget = SecondaryPermissionType.Module, SecondaryTargetName = module.Name.ToLowerInvariant(), State = action.Value, - }); + }; + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{module.Name}` module for `{role}` role.").ConfigureAwait(false); @@ -184,18 +281,25 @@ namespace NadekoBot.Modules.Permissions public async Task ChnlCmd(IUserMessage imsg, Command command, PermissionAction action, ITextChannel chnl) { var channel = (ITextChannel)imsg.Channel; - - using (var uow = DbHandler.UnitOfWork()) + try { - uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission + using (var uow = DbHandler.UnitOfWork()) { - PrimaryTarget = PrimaryPermissionType.Channel, - PrimaryTargetId = chnl.Id, - SecondaryTarget = SecondaryPermissionType.Command, - SecondaryTargetName = command.Text.ToLowerInvariant(), - State = action.Value, - }); - await uow.CompleteAsync().ConfigureAwait(false); + var newPerm = new Permission + { + PrimaryTarget = PrimaryPermissionType.Channel, + PrimaryTargetId = chnl.Id, + SecondaryTarget = SecondaryPermissionType.Command, + SecondaryTargetName = command.Text.ToLowerInvariant(), + State = action.Value, + }; + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; + await uow.CompleteAsync().ConfigureAwait(false); + } + } + catch (Exception ex) { + Console.WriteLine(ex); } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{command.Text}` command for `{chnl}` channel.").ConfigureAwait(false); } @@ -208,14 +312,16 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { - uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission + var newPerm = new Permission { PrimaryTarget = PrimaryPermissionType.Channel, PrimaryTargetId = chnl.Id, SecondaryTarget = SecondaryPermissionType.Module, SecondaryTargetName = module.Name.ToLowerInvariant(), State = action.Value, - }); + }; + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{module.Name}` module for `{chnl}` channel.").ConfigureAwait(false); @@ -229,14 +335,16 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { - uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission + var newPerm = new Permission { PrimaryTarget = PrimaryPermissionType.Channel, PrimaryTargetId = chnl.Id, SecondaryTarget = SecondaryPermissionType.AllModules, SecondaryTargetName = "*", State = action.Value, - }); + }; + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL MODULES` for `{chnl}` channel.").ConfigureAwait(false); @@ -250,14 +358,16 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { - uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission + var newPerm = new Permission { PrimaryTarget = PrimaryPermissionType.Role, PrimaryTargetId = role.Id, SecondaryTarget = SecondaryPermissionType.AllModules, SecondaryTargetName = "*", State = action.Value, - }); + }; + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL MODULES` for `{role}` role.").ConfigureAwait(false); @@ -271,14 +381,16 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { - uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission + var newPerm = new Permission { PrimaryTarget = PrimaryPermissionType.User, PrimaryTargetId = user.Id, SecondaryTarget = SecondaryPermissionType.AllModules, SecondaryTargetName = "*", State = action.Value, - }); + }; + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL MODULES` for `{user}` user.").ConfigureAwait(false); @@ -286,66 +398,89 @@ namespace NadekoBot.Modules.Permissions [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] - public async Task AllChnlCmds(IUserMessage imsg, Module module, PermissionAction action, ITextChannel chnl) + public async Task AllSrvrMdls(IUserMessage imsg, PermissionAction action, IUser user) { var channel = (ITextChannel)imsg.Channel; using (var uow = DbHandler.UnitOfWork()) { - uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission + var newPerm = new Permission { - PrimaryTarget = PrimaryPermissionType.Channel, - PrimaryTargetId = chnl.Id, - SecondaryTarget = SecondaryPermissionType.AllCommands, - SecondaryTargetName = module.Name.ToLowerInvariant(), + PrimaryTarget = PrimaryPermissionType.Server, + PrimaryTargetId = 0, + SecondaryTarget = SecondaryPermissionType.AllModules, + SecondaryTargetName = "*", State = action.Value, - }); + }; + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); + uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; await uow.CompleteAsync().ConfigureAwait(false); } - await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL COMMANDS` from `{module.Name}` module for `{chnl}` channel.").ConfigureAwait(false); + await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL MODULES` on this server.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] - [RequireContext(ContextType.Guild)] - public async Task AllRoleCmds(IUserMessage imsg, Module module, PermissionAction action, IRole role) - { - var channel = (ITextChannel)imsg.Channel; + //[LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + //[RequireContext(ContextType.Guild)] + //public async Task AllChnlCmds(IUserMessage imsg, Module module, PermissionAction action, ITextChannel chnl) + //{ + // var channel = (ITextChannel)imsg.Channel; - using (var uow = DbHandler.UnitOfWork()) - { - uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission - { - PrimaryTarget = PrimaryPermissionType.Role, - PrimaryTargetId = role.Id, - SecondaryTarget = SecondaryPermissionType.AllCommands, - SecondaryTargetName = module.Name.ToLowerInvariant(), - State = action.Value, - }); - await uow.CompleteAsync().ConfigureAwait(false); - } - await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL COMMANDS` from `{module.Name}` module for `{role}` role.").ConfigureAwait(false); - } + // using (var uow = DbHandler.UnitOfWork()) + // { + // uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Add(new Permission + // { + // PrimaryTarget = PrimaryPermissionType.Channel, + // PrimaryTargetId = chnl.Id, + // SecondaryTarget = SecondaryPermissionType.AllCommands, + // SecondaryTargetName = module.Name.ToLowerInvariant(), + // State = action.Value, + // }); + // await uow.CompleteAsync().ConfigureAwait(false); + // } + // await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL COMMANDS` from `{module.Name}` module for `{chnl}` channel.").ConfigureAwait(false); + //} - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] - [RequireContext(ContextType.Guild)] - public async Task AllUsrCmds(IUserMessage imsg, Module module, PermissionAction action, IUser user) - { - var channel = (ITextChannel)imsg.Channel; + //[LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + //[RequireContext(ContextType.Guild)] + //public async Task AllRoleCmds(IUserMessage imsg, Module module, PermissionAction action, IRole role) + //{ + // var channel = (ITextChannel)imsg.Channel; - using (var uow = DbHandler.UnitOfWork()) - { - uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission - { - PrimaryTarget = PrimaryPermissionType.User, - PrimaryTargetId = user.Id, - SecondaryTarget = SecondaryPermissionType.AllCommands, - SecondaryTargetName = module.Name.ToLowerInvariant(), - State = action.Value, - }); - await uow.CompleteAsync().ConfigureAwait(false); - } - await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL COMMANDS` from `{module.Name}` module for `{user}` user.").ConfigureAwait(false); - } + // using (var uow = DbHandler.UnitOfWork()) + // { + // uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Add(new Permission + // { + // PrimaryTarget = PrimaryPermissionType.Role, + // PrimaryTargetId = role.Id, + // SecondaryTarget = SecondaryPermissionType.AllCommands, + // SecondaryTargetName = module.Name.ToLowerInvariant(), + // State = action.Value, + // }); + // await uow.CompleteAsync().ConfigureAwait(false); + // } + // await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL COMMANDS` from `{module.Name}` module for `{role}` role.").ConfigureAwait(false); + //} + + //[LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + //[RequireContext(ContextType.Guild)] + //public async Task AllUsrCmds(IUserMessage imsg, Module module, PermissionAction action, IUser user) + //{ + // var channel = (ITextChannel)imsg.Channel; + + // using (var uow = DbHandler.UnitOfWork()) + // { + // uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Add(new Permission + // { + // PrimaryTarget = PrimaryPermissionType.User, + // PrimaryTargetId = user.Id, + // SecondaryTarget = SecondaryPermissionType.AllCommands, + // SecondaryTargetName = module.Name.ToLowerInvariant(), + // State = action.Value, + // }); + // await uow.CompleteAsync().ConfigureAwait(false); + // } + // await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL COMMANDS` from `{module.Name}` module for `{user}` user.").ConfigureAwait(false); + //} } } diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index c884c476..fc7b586c 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -11,6 +11,8 @@ using Discord.Commands; using NadekoBot.Services.Database; using NadekoBot.Services.Database.Models; using NadekoBot.Modules.Permissions; +using Microsoft.Data.Sqlite; +using Discord.Net; namespace NadekoBot.Services { @@ -44,41 +46,66 @@ namespace NadekoBot.Services var sw = new Stopwatch(); sw.Start(); - var t = await ExecuteCommand(usrMsg, usrMsg.Content, guild, usrMsg.Author, MultiMatchHandling.Best); - var command = t.Item1; - var result = t.Item2; - sw.Stop(); - var channel = (usrMsg.Channel as ITextChannel); - if (result.IsSuccess) + try { - CommandExecuted(this, new CommandExecutedEventArgs(usrMsg, command)); - _log.Info("Command Executed after {4}s\n\t" + - "User: {0}\n\t" + - "Server: {1}\n\t" + - "Channel: {2}\n\t" + - "Message: {3}", - usrMsg.Author + " [" + usrMsg.Author.Id + "]", // {0} - (channel == null ? "PRIVATE" : channel.Guild.Name + " [" + channel.Guild.Id + "]"), // {1} - (channel == null ? "PRIVATE" : channel.Name + " [" + channel.Id + "]"), // {2} - usrMsg.Content, // {3} - sw.Elapsed.TotalSeconds // {4} - ); + var t = await ExecuteCommand(usrMsg, usrMsg.Content, guild, usrMsg.Author, MultiMatchHandling.Best); + var command = t.Item1; + var result = t.Item2; + sw.Stop(); + var channel = (usrMsg.Channel as ITextChannel); + if (result.IsSuccess) + { + CommandExecuted(this, new CommandExecutedEventArgs(usrMsg, command)); + _log.Info("Command Executed after {4}s\n\t" + + "User: {0}\n\t" + + "Server: {1}\n\t" + + "Channel: {2}\n\t" + + "Message: {3}", + usrMsg.Author + " [" + usrMsg.Author.Id + "]", // {0} + (channel == null ? "PRIVATE" : channel.Guild.Name + " [" + channel.Guild.Id + "]"), // {1} + (channel == null ? "PRIVATE" : channel.Name + " [" + channel.Id + "]"), // {2} + usrMsg.Content, // {3} + sw.Elapsed.TotalSeconds // {4} + ); + } + else if (!result.IsSuccess && result.Error != CommandError.UnknownCommand) + { + _log.Warn("Command Errored after {5}s\n\t" + + "User: {0}\n\t" + + "Server: {1}\n\t" + + "Channel: {2}\n\t" + + "Message: {3}\n\t" + + "Error: {4}", + usrMsg.Author + " [" + usrMsg.Author.Id + "]", // {0} + (channel == null ? "PRIVATE" : channel.Guild.Name + " [" + channel.Guild.Id + "]"), // {1} + (channel == null ? "PRIVATE" : channel.Name + " [" + channel.Id + "]"), // {2} + usrMsg.Content,// {3} + result.ErrorReason, // {4} + sw.Elapsed.TotalSeconds // {5} + ); + if (guild != null && command != null && result.Error == CommandError.Exception) + { + bool verbose; + using (var uow = DbHandler.UnitOfWork()) + { + verbose = uow.GuildConfigs.For(guild.Id).VerbosePermissions; + } + if (verbose) + await msg.Channel.SendMessageAsync(":warning: " + result.ErrorReason).ConfigureAwait(false); + } + } } - else if (!result.IsSuccess && result.Error != CommandError.UnknownCommand) + catch (InvalidOperationException ex) { - _log.Warn("Command Errored after {5}s\n\t" + - "User: {0}\n\t" + - "Server: {1}\n\t" + - "Channel: {2}\n\t" + - "Message: {3}\n\t" + - "Error: {4}", - usrMsg.Author + " [" + usrMsg.Author.Id + "]", // {0} - (channel == null ? "PRIVATE" : channel.Guild.Name + " [" + channel.Guild.Id + "]"), // {1} - (channel == null ? "PRIVATE" : channel.Name + " [" + channel.Id + "]"), // {2} - usrMsg.Content,// {3} - result.ErrorReason, // {4} - sw.Elapsed.TotalSeconds // {5} - ); + Console.WriteLine(ex); + } + catch (SqliteException ex) + { + Console.WriteLine(ex.InnerException); + } + catch (HttpException ex) + { + Console.WriteLine(ex); } }); @@ -133,11 +160,14 @@ namespace NadekoBot.Services { using (var uow = DbHandler.UnitOfWork()) { - rootPerm = uow.GuildConfigs.For(guild.Id).RootPermission; + rootPerm = uow.GuildConfigs.PermissionsFor(guild.Id).RootPermission; } int index; if (!rootPerm.AsEnumerable().CheckPermissions(message, cmd, out index)) - return new Tuple(null, SearchResult.FromError(CommandError.Exception, $"Permission error. Permission number {index} (`{(index != -1 ? rootPerm.GetAt(rootPerm.Count() - index).GetCommand() : "default")}`)")); + { + var returnMsg = $"Permission number #{index} **{rootPerm.GetAt(index).GetCommand()}** is preventing this action."; + return new Tuple(cmd, SearchResult.FromError(CommandError.Exception, returnMsg)); + } } return new Tuple(commands[i], await commands[i].Execute(message, parseResult)); diff --git a/src/NadekoBot/Services/Database/Models/GuildConfig.cs b/src/NadekoBot/Services/Database/Models/GuildConfig.cs index 7ae9b0d0..8f96a284 100644 --- a/src/NadekoBot/Services/Database/Models/GuildConfig.cs +++ b/src/NadekoBot/Services/Database/Models/GuildConfig.cs @@ -43,14 +43,8 @@ namespace NadekoBot.Services.Database.Models public ulong? GenerateCurrencyChannelId { get; set; } //permissions - public Permission RootPermission { get; set; } = new Permission() - { - Next = null, - Previous = null, - PrimaryTarget = PrimaryPermissionType.Role, - PrimaryTargetId = 0, - SecondaryTarget = SecondaryPermissionType.AllModules, - SecondaryTargetName = "*", - }; + public Permission RootPermission { get; set; } + public bool VerbosePermissions { get; set; } + public string PermissionRole { get; set; } = "Nadeko"; } } diff --git a/src/NadekoBot/Services/Database/Models/Permission.cs b/src/NadekoBot/Services/Database/Models/Permission.cs index ea20f61b..aed70fa5 100644 --- a/src/NadekoBot/Services/Database/Models/Permission.cs +++ b/src/NadekoBot/Services/Database/Models/Permission.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -18,20 +19,50 @@ namespace NadekoBot.Services.Database.Models public string SecondaryTargetName { get; set; } public bool State { get; set; } + + [NotMapped] + private static Permission AllowAllPerm => new Permission() + { + PrimaryTarget = PrimaryPermissionType.Server, + PrimaryTargetId = 0, + SecondaryTarget = SecondaryPermissionType.AllModules, + SecondaryTargetName = "*", + State = true, + }; + [NotMapped] + private static Permission BlockNsfwPerm => new Permission() + { + PrimaryTarget = PrimaryPermissionType.Server, + PrimaryTargetId = 0, + SecondaryTarget = SecondaryPermissionType.Module, + SecondaryTargetName = "nsfw", + State = false, + }; + + public static Permission GetDefaultRoot() + { + var root = AllowAllPerm; + var blockNsfw = BlockNsfwPerm; + + root.Previous = blockNsfw; + blockNsfw.Next = root; + + return blockNsfw; + } } public enum PrimaryPermissionType { User, Channel, - Role + Role, + Server } public enum SecondaryPermissionType { Module, Command, - AllCommands, AllModules } } diff --git a/src/NadekoBot/Services/Database/NadekoContext.cs b/src/NadekoBot/Services/Database/NadekoContext.cs index b5ead5f0..6d71f8cc 100644 --- a/src/NadekoBot/Services/Database/NadekoContext.cs +++ b/src/NadekoBot/Services/Database/NadekoContext.cs @@ -186,6 +186,7 @@ namespace NadekoBot.Services.Database permissionEntity .HasOne(p => p.Next) .WithOne(p => p.Previous); + #endregion #region LogSettings diff --git a/src/NadekoBot/Services/Database/Repositories/IGuildConfigRepository.cs b/src/NadekoBot/Services/Database/Repositories/IGuildConfigRepository.cs index 82767a80..7303eda2 100644 --- a/src/NadekoBot/Services/Database/Repositories/IGuildConfigRepository.cs +++ b/src/NadekoBot/Services/Database/Repositories/IGuildConfigRepository.cs @@ -11,6 +11,7 @@ namespace NadekoBot.Services.Database.Repositories public interface IGuildConfigRepository : IRepository { GuildConfig For(ulong guildId); + GuildConfig PermissionsFor(ulong guildId); IEnumerable GetAllFollowedStreams(); } } diff --git a/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs b/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs index 17133bf4..1066397b 100644 --- a/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs +++ b/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs @@ -19,6 +19,10 @@ namespace NadekoBot.Services.Database.Repositories.Impl .ThenInclude(ls => ls.IgnoredChannels) .Include(gc => gc.LogSetting) .ThenInclude(ls => ls.IgnoredVoicePresenceChannelIds) + .Include(gc => gc.RootPermission) + .ThenInclude(gc => gc.Previous) + .Include(gc => gc.RootPermission) + .ThenInclude(gc => gc.Next) .ToList(); ///

@@ -29,16 +33,45 @@ namespace NadekoBot.Services.Database.Repositories.Impl public GuildConfig For(ulong guildId) { var config = _set.Include(gc => gc.FollowedStreams) - .Include(gc => gc.RootPermission) .Include(gc => gc.LogSetting) - .ThenInclude(ls=>ls.IgnoredChannels) - .FirstOrDefault(c => c.GuildId == guildId); + .ThenInclude(ls => ls.IgnoredChannels) + .Include(gc => gc.LogSetting) + .ThenInclude(ls => ls.IgnoredVoicePresenceChannelIds) + .FirstOrDefault(c => c.GuildId == guildId); if (config == null) { _set.Add((config = new GuildConfig { - GuildId = guildId + GuildId = guildId, + RootPermission = Permission.GetDefaultRoot(), + })); + _context.SaveChanges(); + } + return config; + } + + public GuildConfig PermissionsFor(ulong guildId) + { + var query = _set.Include(gc => gc.RootPermission); + + //todo this is possibly a disaster for performance + //What i could do instead is count the number of permissions in the permission table for this guild + // and make a for loop with those. + // or just select permissions for this guild and manually chain them + for (int i = 0; i < 60; i++) + { + query = query.ThenInclude(gc => gc.Next); + } + + var config = query.FirstOrDefault(c => c.GuildId == guildId); + + if (config == null) + { + _set.Add((config = new GuildConfig + { + GuildId = guildId, + RootPermission = Permission.GetDefaultRoot(), })); _context.SaveChanges(); } diff --git a/src/NadekoBot/project.json b/src/NadekoBot/project.json index a795d571..9ae6cbdd 100644 --- a/src/NadekoBot/project.json +++ b/src/NadekoBot/project.json @@ -23,7 +23,6 @@ "Microsoft.Extensions.PlatformAbstractions": "1.0.0", "Newtonsoft.Json": "9.0.1", "Microsoft.Extensions.DependencyInjection": "1.0.0", - "Discord.Net.Commands": "1.0.0-dev", "System.Resources.ResourceWriter": "4.0.0-beta-22816", "Google.Apis.YouTube.v3": "1.15.0.582", "Google.Apis.Urlshortener.v1": "1.15.0.138", @@ -35,7 +34,9 @@ "Microsoft.EntityFrameworkCore.Design": "1.0.0-preview2-final", "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0", "CoreCLR-NCalc": "2.1.0", - "ImageProcessorCore": "1.0.0-alpha1045" + "ImageProcessorCore": "1.0.0-alpha1045", + "Discord.Net.Commands": "1.0.0-beta-*", + "Discord.Net": "1.0.0-beta-*" }, "tools": { "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final" diff --git a/src/NadekoBot/project.lock.json b/src/NadekoBot/project.lock.json index 9c9ca106..76da98a3 100644 --- a/src/NadekoBot/project.lock.json +++ b/src/NadekoBot/project.lock.json @@ -9096,7 +9096,8 @@ "projectFileDependencyGroups": { "": [ "CoreCLR-NCalc >= 2.1.0", - "Discord.Net.Commands >= 1.0.0-dev", + "Discord.Net >= 1.0.0-beta-*", + "Discord.Net.Commands >= 1.0.0-beta-*", "Google.Apis.Customsearch.v1 >= 1.16.0.466", "Google.Apis.Urlshortener.v1 >= 1.15.0.138", "Google.Apis.YouTube.v3 >= 1.15.0.582", From 81753255b98769825ef489a5a87691147ee4dd45 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Fri, 30 Sep 2016 04:20:09 +0200 Subject: [PATCH 017/135] Woops, didn't push correctly. Also added owner only commands now. --- .../Attributes/OwnerOnlyAttribute.cs | 21 +- .../Modules/Administration/Administration.cs | 304 +++-- .../Commands/CrossServerTextChannel.cs | 31 +- .../Administration/Commands/LogCommand.cs | 3 + .../Commands/PlayingRotateCommands.cs | 4 + src/NadekoBot/Modules/Gambling/Gambling.cs | 44 +- .../Games/Commands/SpeedTypingCommands.cs | 33 +- src/NadekoBot/Modules/Help/Help.cs | 1 + src/NadekoBot/Modules/Music/Music.cs | 2 + .../Modules/Permissions/Permissions.cs | 42 +- .../Modules/Utility/Commands/Remind.cs | 28 +- src/NadekoBot/NadekoBot.cs | 1 + src/NadekoBot/Services/CommandHandler.cs | 34 +- src/NadekoBot/Services/CurrencyHandler.cs | 15 +- src/NadekoBot/TypeReaders/GuildTypeReader.cs | 26 + src/tests/Tests.cs | 2 +- .../netcoreapp1.0/Discord.Net.Commands.dll | Bin 65024 -> 0 bytes .../netcoreapp1.0/Discord.Net.Commands.pdb | Bin 148992 -> 0 bytes .../netcoreapp1.0/Discord.Net.Commands.xml | 26 - .../bin/Debug/netcoreapp1.0/Discord.Net.dll | Bin 719360 -> 0 bytes .../bin/Debug/netcoreapp1.0/Discord.Net.pdb | Bin 1555968 -> 0 bytes .../bin/Debug/netcoreapp1.0/Discord.Net.xml | 1129 ----------------- .../bin/Debug/netcoreapp1.0/NadekoBot.dll | Bin 998400 -> 0 bytes .../bin/Debug/netcoreapp1.0/NadekoBot.pdb | Bin 1447424 -> 0 bytes .../bin/Debug/netcoreapp1.0/tests.deps.json | 1101 ---------------- src/tests/bin/Debug/netcoreapp1.0/tests.dll | Bin 6144 -> 0 bytes src/tests/bin/Debug/netcoreapp1.0/tests.pdb | Bin 1388 -> 0 bytes .../tests.runtimeconfig.dev.json | 7 - .../netcoreapp1.0/tests.runtimeconfig.json | 8 - src/tests/project.lock.json | 3 +- 30 files changed, 359 insertions(+), 2506 deletions(-) create mode 100644 src/NadekoBot/TypeReaders/GuildTypeReader.cs delete mode 100644 src/tests/bin/Debug/netcoreapp1.0/Discord.Net.Commands.dll delete mode 100644 src/tests/bin/Debug/netcoreapp1.0/Discord.Net.Commands.pdb delete mode 100644 src/tests/bin/Debug/netcoreapp1.0/Discord.Net.Commands.xml delete mode 100644 src/tests/bin/Debug/netcoreapp1.0/Discord.Net.dll delete mode 100644 src/tests/bin/Debug/netcoreapp1.0/Discord.Net.pdb delete mode 100644 src/tests/bin/Debug/netcoreapp1.0/Discord.Net.xml delete mode 100644 src/tests/bin/Debug/netcoreapp1.0/NadekoBot.dll delete mode 100644 src/tests/bin/Debug/netcoreapp1.0/NadekoBot.pdb delete mode 100644 src/tests/bin/Debug/netcoreapp1.0/tests.deps.json delete mode 100644 src/tests/bin/Debug/netcoreapp1.0/tests.dll delete mode 100644 src/tests/bin/Debug/netcoreapp1.0/tests.pdb delete mode 100644 src/tests/bin/Debug/netcoreapp1.0/tests.runtimeconfig.dev.json delete mode 100644 src/tests/bin/Debug/netcoreapp1.0/tests.runtimeconfig.json diff --git a/src/NadekoBot/Attributes/OwnerOnlyAttribute.cs b/src/NadekoBot/Attributes/OwnerOnlyAttribute.cs index 8236f1d1..f04b6ef2 100644 --- a/src/NadekoBot/Attributes/OwnerOnlyAttribute.cs +++ b/src/NadekoBot/Attributes/OwnerOnlyAttribute.cs @@ -1,11 +1,12 @@ -//using System.Threading.Tasks; -//using Discord.Commands; -//using Discord; +using System.Threading.Tasks; +using Discord.Commands; +using Discord; -//namespace NadekoBot.Attributes { -// public class OwnerOnlyAttribute : PreconditionAttribute -// { -// public override Task CheckPermissions(IUserMessage context, Command executingCommand, object moduleInstance) => -// Task.FromResult((NadekoBot.Credentials.IsOwner(context.Author) ? PreconditionResult.FromSuccess() : PreconditionResult.FromError("Not owner"))); -// } -//} \ No newline at end of file +namespace NadekoBot.Attributes +{ + public class OwnerOnlyAttribute : PreconditionAttribute + { + public override Task CheckPermissions(IUserMessage context, Command executingCommand, object moduleInstance) => + Task.FromResult((NadekoBot.Credentials.IsOwner(context.Author) ? PreconditionResult.FromSuccess() : PreconditionResult.FromError("Not owner"))); + } +} \ No newline at end of file diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index 623ec387..8541f8f2 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -13,6 +13,9 @@ using System.Text.RegularExpressions; using Discord.WebSocket; using NadekoBot.Services.Database; using NadekoBot.Services.Database.Models; +using System.Net.Http; +using ImageProcessorCore; +using System.IO; namespace NadekoBot.Modules.Administration { @@ -46,19 +49,21 @@ namespace NadekoBot.Modules.Administration _log.Warn(ex, "Delmsgoncmd errored..."); } } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + [OwnerOnly] + public async Task Restart(IUserMessage umsg) + { + var channel = (ITextChannel)umsg.Channel; - ////todo owner only - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task Restart(IUserMessage umsg) - //{ - // var channel = (ITextChannel)umsg.Channel; - - // await channel.SendMessageAsync("`Restarting in 2 seconds...`"); - // await Task.Delay(2000); - // System.Diagnostics.Process.Start(System.Reflection.Assembly.GetEntryAssembly().Location); - // Environment.Exit(0); - //} + await channel.SendMessageAsync("`Restarting in 2 seconds...`"); + await Task.Delay(2000); + System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo { + Arguments = "dotnet " + System.Reflection.Assembly.GetEntryAssembly().Location + }); + Environment.Exit(0); + } [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] @@ -205,7 +210,7 @@ namespace NadekoBot.Modules.Administration var green = Convert.ToByte(rgb ? int.Parse(args[2]) : Convert.ToInt32(arg1.Substring(2, 2), 16)); var blue = Convert.ToByte(rgb ? int.Parse(args[3]) : Convert.ToInt32(arg1.Substring(4, 2), 16)); - await role.ModifyAsync(r => r.Color = new Color(red, green, blue).RawValue).ConfigureAwait(false); + await role.ModifyAsync(r => r.Color = new Discord.Color(red, green, blue).RawValue).ConfigureAwait(false); await channel.SendMessageAsync($"Role {role.Name}'s color has been changed.").ConfigureAwait(false); } catch (Exception) @@ -455,7 +460,7 @@ namespace NadekoBot.Modules.Administration { var channel = (ITextChannel)umsg.Channel; - var user = await channel.Guild.GetCurrentUserAsync(); + var user = channel.Guild.GetCurrentUser(); var enumerable = (await umsg.Channel.GetMessagesAsync()).Where(x => x.Author.Id == user.Id); await umsg.Channel.DeleteMessagesAsync(enumerable); @@ -483,6 +488,7 @@ namespace NadekoBot.Modules.Administration //prune @user [x] [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] + [RequirePermission(ChannelPermission.ManageMessages)] public async Task Prune(IUserMessage msg, IGuildUser user, int count = 100) { var channel = (ITextChannel)msg.Channel; @@ -490,149 +496,163 @@ namespace NadekoBot.Modules.Administration var enumerable = (await msg.Channel.GetMessagesAsync(limit: limit)).Where(m => m.Author == user); await msg.Channel.DeleteMessagesAsync(enumerable); } - ////todo owner only - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task Die(IUserMessage umsg) - //{ - // var channel = (ITextChannel)umsg.Channel; - // await channel.SendMessageAsync("`Shutting down.`").ConfigureAwait(false); - // await Task.Delay(2000).ConfigureAwait(false); - // Environment.Exit(0); - //} + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + [OwnerOnly] + public async Task Die(IUserMessage umsg) + { + var channel = (ITextChannel)umsg.Channel; - ////todo owner only - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task Setname(IUserMessage umsg, [Remainder] string newName = null) - //{ - // var channel = (ITextChannel)umsg.Channel; + await channel.SendMessageAsync("`Shutting down.`").ConfigureAwait(false); + await Task.Delay(2000).ConfigureAwait(false); + Environment.Exit(0); + } - //} + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + [OwnerOnly] + public async Task Setname(IUserMessage umsg, [Remainder] string newName) + { + var channel = (ITextChannel)umsg.Channel; + if (string.IsNullOrWhiteSpace(newName)) + return; - ////todo owner only - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task NewAvatar(IUserMessage umsg, [Remainder] string img = null) - //{ - // var channel = (ITextChannel)umsg.Channel; + await NadekoBot.Client.GetCurrentUser().ModifyAsync(u => u.Username = newName).ConfigureAwait(false); - // if (string.IsNullOrWhiteSpace(img)) - // return; - // // Gather user provided URL. - // var avatarAddress = img; - // var imageStream = await SearchHelper.GetResponseStreamAsync(avatarAddress).ConfigureAwait(false); - // var image = System.Drawing.Image.FromStream(imageStream); - // await client.CurrentUser.Edit("", avatar: image.ToStream()).ConfigureAwait(false); + await channel.SendMessageAsync($"Successfully changed name to {newName}").ConfigureAwait(false); + } - // // Send confirm. - // await channel.SendMessageAsync("New avatar set.").ConfigureAwait(false); - //} + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + [OwnerOnly] + public async Task NewAvatar(IUserMessage umsg, [Remainder] string img = null) + { + var channel = (ITextChannel)umsg.Channel; - ////todo owner only - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task SetGame(IUserMessage umsg, [Remainder] string game = null) - //{ - // var channel = (ITextChannel)umsg.Channel; + if (string.IsNullOrWhiteSpace(img)) + return; - // game = game ?? ""; + using (var http = new HttpClient()) + { + using (var sr = await http.GetStreamAsync(img)) + { + var imgStream = new MemoryStream(); + await sr.CopyToAsync(imgStream); + imgStream.Position = 0; - // client.SetGame(set_game); - //} + await NadekoBot.Client.GetCurrentUser().ModifyAsync(u => u.Avatar = imgStream).ConfigureAwait(false); + } + } - ////todo owner only - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task Send(IUserMessage umsg, string where, [Remainder] string msg = null) - //{ - // var channel = (ITextChannel)umsg.Channel; + await channel.SendMessageAsync("New avatar set.").ConfigureAwait(false); + } - // if (string.IsNullOrWhiteSpace(msg)) - // return; + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + [OwnerOnly] + public async Task SetGame(IUserMessage umsg, [Remainder] string game = null) + { + var channel = (ITextChannel)umsg.Channel; - // var ids = where.Split('|'); - // if (ids.Length != 2) - // return; - // var sid = ulong.Parse(ids[0]); - // var server = NadekoBot.Client.Servers.Where(s => s.Id == sid).FirstOrDefault(); + game = game ?? ""; - // if (server == null) - // return; + await NadekoBot.Client.GetCurrentUser().ModifyStatusAsync(u => u.Game = new Game(game)).ConfigureAwait(false); - // if (ids[1].ToUpperInvariant().StartsWith("C:")) - // { - // var cid = ulong.Parse(ids[1].Substring(2)); - // var channel = server.TextChannels.Where(c => c.Id == cid).FirstOrDefault(); - // if (channel == null) - // { - // return; - // } - // await channel.SendMessageAsync(msg); - // } - // else if (ids[1].ToUpperInvariant().StartsWith("U:")) - // { - // var uid = ulong.Parse(ids[1].Substring(2)); - // var user = server.Users.Where(u => u.Id == uid).FirstOrDefault(); - // if (user == null) - // { - // return; - // } - // await user.SendMessageAsync(msg); - // } - // else - // { - // await channel.SendMessageAsync("`Invalid format.`"); - // } - //} + await channel.SendMessageAsync("New game set.").ConfigureAwait(false); + } - ////todo owner only - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task Announce(IUserMessage umsg, [Remainder] string message) - //{ - // var channel = (ITextChannel)umsg.Channel; + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + [OwnerOnly] + public async Task Send(IUserMessage umsg, string where, [Remainder] string msg = null) + { + var channel = (ITextChannel)umsg.Channel; - // foreach (var ch in (await _client.GetGuildsAsync().ConfigureAwait(false)).Select(async g => await g.GetDefaultChannelAsync().ConfigureAwait(false))) - // { - // await channel.SendMessageAsync(message).ConfigureAwait(false); - // } + if (string.IsNullOrWhiteSpace(msg)) + return; - // await channel.SendMessageAsync(":ok:").ConfigureAwait(false); - //} + var ids = where.Split('|'); + if (ids.Length != 2) + return; + var sid = ulong.Parse(ids[0]); + var server = NadekoBot.Client.GetGuilds().Where(s => s.Id == sid).FirstOrDefault(); - ////todo owner only - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task SaveChat(IUserMessage umsg, int cnt) - //{ - // var channel = (ITextChannel)umsg.Channel; + if (server == null) + return; - // ulong? lastmsgId = null; - // var sb = new StringBuilder(); - // var msgs = new List(cnt); - // while (cnt > 0) - // { - // var dlcnt = cnt < 100 ? cnt : 100; - // IReadOnlyCollection dledMsgs; - // if (lastmsgId == null) - // dledMsgs = await umsg.Channel.GetMessagesAsync(cnt).ConfigureAwait(false); - // else - // dledMsgs = await umsg.Channel.GetMessagesAsync(lastmsgId.Value, Direction.Before, dlcnt); + if (ids[1].ToUpperInvariant().StartsWith("C:")) + { + var cid = ulong.Parse(ids[1].Substring(2)); + var ch = server.GetTextChannels().Where(c => c.Id == cid).FirstOrDefault(); + if (ch == null) + { + return; + } + await ch.SendMessageAsync(msg); + } + else if (ids[1].ToUpperInvariant().StartsWith("U:")) + { + var uid = ulong.Parse(ids[1].Substring(2)); + var user = server.GetUsers().Where(u => u.Id == uid).FirstOrDefault(); + if (user == null) + { + return; + } + await user.SendMessageAsync(msg); + } + else + { + await channel.SendMessageAsync("`Invalid format.`"); + } + } - // if (!dledMsgs.Any()) - // break; + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + [OwnerOnly] + public async Task Announce(IUserMessage umsg, [Remainder] string message) + { + var channel = (ITextChannel)umsg.Channel; - // msgs.AddRange(dledMsgs); - // lastmsgId = msgs[msgs.Count - 1].Id; - // cnt -= 100; - // } - // var title = $"Chatlog-{channel.Guild.Name}/#{channel.Name}-{DateTime.Now}.txt"; - // await (umsg.Author as IGuildUser).SendFileAsync( - // await JsonConvert.SerializeObject(new { Messages = msgs.Select(s => s.ToString()) }, Formatting.Indented).ToStream().ConfigureAwait(false), - // title, title).ConfigureAwait(false); - //} + foreach (var ch in (await _client.GetGuildsAsync().ConfigureAwait(false)).Select(async g => await g.GetDefaultChannelAsync().ConfigureAwait(false))) + { + await channel.SendMessageAsync(message).ConfigureAwait(false); + } + + await channel.SendMessageAsync(":ok:").ConfigureAwait(false); + } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + [OwnerOnly] + public async Task SaveChat(IUserMessage umsg, int cnt) + { + var channel = (ITextChannel)umsg.Channel; + + ulong? lastmsgId = null; + var sb = new StringBuilder(); + var msgs = new List(cnt); + while (cnt > 0) + { + var dlcnt = cnt < 100 ? cnt : 100; + IReadOnlyCollection dledMsgs; + if (lastmsgId == null) + dledMsgs = await umsg.Channel.GetMessagesAsync(cnt).ConfigureAwait(false); + else + dledMsgs = await umsg.Channel.GetMessagesAsync(lastmsgId.Value, Direction.Before, dlcnt); + + if (!dledMsgs.Any()) + break; + + msgs.AddRange(dledMsgs); + lastmsgId = msgs[msgs.Count - 1].Id; + cnt -= 100; + } + var title = $"Chatlog-{channel.Guild.Name}/#{channel.Name}-{DateTime.Now}.txt"; + await (umsg.Author as IGuildUser).SendFileAsync( + await JsonConvert.SerializeObject(new { Messages = msgs.Select(s => s.ToString()) }, Formatting.Indented).ToStream().ConfigureAwait(false), + title, title).ConfigureAwait(false); + } [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] @@ -691,5 +711,17 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync($"Successfuly added a new donator. Total donated amount from this user: {don.Amount} 👑").ConfigureAwait(false); } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + [OwnerOnly] + public async Task Leave(IUserMessage imsg, [Remainder] IGuild guild) + { + var channel = (ITextChannel)imsg.Channel; + + await guild.LeaveAsync(); + + await channel.SendMessageAsync($"Left guild **{guild.Name}**\nId: `{guild.Id}`."); + } } } diff --git a/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs b/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs index 5012a644..693fbe39 100644 --- a/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs +++ b/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs @@ -3,6 +3,7 @@ using Discord.Commands; using Discord.WebSocket; using NadekoBot.Attributes; using NadekoBot.Extensions; +using NadekoBot.Services; using System; using System.Collections.Concurrent; using System.Collections.Generic; @@ -52,23 +53,23 @@ namespace NadekoBot.Modules.Administration private string GetText(IGuild server, ITextChannel channel, IGuildUser user, IUserMessage message) => $"**{server.Name} | {channel.Name}** `{user.Username}`: " + message.Content; - + public static readonly ConcurrentDictionary> Subscribers = new ConcurrentDictionary>(); - ////todo owner only - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task Scsc(IUserMessage msg) - //{ - // var channel = (ITextChannel)msg.Channel; - // var token = new NadekoRandom().Next(); - // var set = new HashSet(); - // if (Subscribers.TryAdd(token, set)) - // { - // set.Add(channel); - // await ((IGuildUser)msg.Author).SendMessageAsync("This is your CSC token:" + token.ToString()).ConfigureAwait(false); - // } - //} + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + [OwnerOnly] + public async Task Scsc(IUserMessage msg) + { + var channel = (ITextChannel)msg.Channel; + var token = new NadekoRandom().Next(); + var set = new HashSet(); + if (Subscribers.TryAdd(token, set)) + { + set.Add(channel); + await ((IGuildUser)msg.Author).SendMessageAsync("This is your CSC token:" + token.ToString()).ConfigureAwait(false); + } + } [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] diff --git a/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs b/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs index d9fd3d58..d985da63 100644 --- a/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs +++ b/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs @@ -484,6 +484,7 @@ namespace NadekoBot.Modules.Administration [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] + [OwnerOnly] public async Task LogServer(IUserMessage msg) { var channel = (ITextChannel)msg.Channel; @@ -506,6 +507,7 @@ namespace NadekoBot.Modules.Administration [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] + [OwnerOnly] public async Task LogIgnore(IUserMessage imsg) { var channel = (ITextChannel)imsg.Channel; @@ -529,6 +531,7 @@ namespace NadekoBot.Modules.Administration [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] + [OwnerOnly] public async Task LogAdd(IUserMessage msg, [Remainder] string eventName) { var channel = (ITextChannel)msg.Channel; diff --git a/src/NadekoBot/Modules/Administration/Commands/PlayingRotateCommands.cs b/src/NadekoBot/Modules/Administration/Commands/PlayingRotateCommands.cs index 3476b258..7bc44758 100644 --- a/src/NadekoBot/Modules/Administration/Commands/PlayingRotateCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/PlayingRotateCommands.cs @@ -88,6 +88,7 @@ namespace NadekoBot.Modules.Administration [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] + [OwnerOnly] public async Task RotatePlaying(IUserMessage umsg) { var channel = (ITextChannel)umsg.Channel; @@ -108,6 +109,7 @@ namespace NadekoBot.Modules.Administration [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] + [OwnerOnly] public async Task AddPlaying(IUserMessage umsg, [Remainder] string status) { var channel = (ITextChannel)umsg.Channel; @@ -124,6 +126,7 @@ namespace NadekoBot.Modules.Administration [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] + [OwnerOnly] public async Task ListPlaying(IUserMessage umsg) { var channel = (ITextChannel)umsg.Channel; @@ -146,6 +149,7 @@ namespace NadekoBot.Modules.Administration [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] + [OwnerOnly] public async Task RemovePlaying(IUserMessage umsg, int index) { var channel = (ITextChannel)umsg.Channel; diff --git a/src/NadekoBot/Modules/Gambling/Gambling.cs b/src/NadekoBot/Modules/Gambling/Gambling.cs index df318cfd..216b5df0 100644 --- a/src/NadekoBot/Modules/Gambling/Gambling.cs +++ b/src/NadekoBot/Modules/Gambling/Gambling.cs @@ -82,14 +82,15 @@ namespace NadekoBot.Modules.Gambling await channel.SendMessageAsync($"{umsg.Author.Mention} successfully sent {amount} {Gambling.CurrencyPluralName}s to {receiver.Mention}!").ConfigureAwait(false); } - //todo owner only [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] + [OwnerOnly] public Task Award(IUserMessage umsg, long amount, [Remainder] IGuildUser usr) => Award(umsg, amount, usr.Id); [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] + [OwnerOnly] public async Task Award(IUserMessage umsg, long amount, [Remainder] ulong usrId) { var channel = (ITextChannel)umsg.Channel; @@ -101,26 +102,35 @@ namespace NadekoBot.Modules.Gambling await channel.SendMessageAsync($"{umsg.Author.Mention} successfully awarded {amount} {Gambling.CurrencyName}s to <@{usrId}>!").ConfigureAwait(false); } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + [OwnerOnly] + public async Task Take(IUserMessage umsg, long amount, [Remainder] IGuildUser user) + { + var channel = (ITextChannel)umsg.Channel; + if (amount <= 0) + return; - ////todo owner only - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public Task Take(IUserMessage umsg, long amount, [Remainder] IGuildUser user) => - // Take(umsg, amount, user.Id); + await CurrencyHandler.RemoveCurrencyAsync(user, $"Taken by bot owner.({umsg.Author.Username}/{umsg.Author.Id})", amount, true).ConfigureAwait(false); - //todo owner only - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task Take(IUserMessage umsg, long amount, [Remainder] ulong usrId) - //{ - // var channel = (ITextChannel)umsg.Channel; - // if (amount <= 0) - // return; + await channel.SendMessageAsync($"{umsg.Author.Mention} successfully took {amount} {Gambling.CurrencyName}s from {user}!").ConfigureAwait(false); + } - // await CurrencyHandler.RemoveFlowers(usrId, $"Taken by bot owner.({umsg.Author.Username}/{umsg.Author.Id})", (int)amount).ConfigureAwait(false); - // await channel.SendMessageAsync($"{umsg.Author.Mention} successfully took {amount} {Gambling.CurrencyName}s from <@{usrId}>!").ConfigureAwait(false); - //} + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + [OwnerOnly] + public async Task Take(IUserMessage umsg, long amount, [Remainder] ulong usrId) + { + var channel = (ITextChannel)umsg.Channel; + if (amount <= 0) + return; + + await CurrencyHandler.RemoveCurrencyAsync(usrId, $"Taken by bot owner.({umsg.Author.Username}/{umsg.Author.Id})", amount).ConfigureAwait(false); + + await channel.SendMessageAsync($"{umsg.Author.Mention} successfully took {amount} {Gambling.CurrencyName}s from <@{usrId}>!").ConfigureAwait(false); + } [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] diff --git a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs index b2b05d19..6e564b3c 100644 --- a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs @@ -174,24 +174,25 @@ namespace NadekoBot.Modules.Games await channel.SendMessageAsync("No contest to stop on this channel.").ConfigureAwait(false); } - ////todo owner only - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task Typeadd(IUserMessage imsg, [Remainder] string text) - //{ - // var channel = (ITextChannel)imsg.Channel; + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + [OwnerOnly] + public async Task Typeadd(IUserMessage imsg, [Remainder] string text) + { + var channel = (ITextChannel)imsg.Channel; - // using (var uow = DbHandler.UnitOfWork()) - // { - // uow.TypingArticles.Add(new Services.Database.Models.TypingArticle - // { - // Author = imsg.Author.Username, - // Text = text - // }); - // } + using (var uow = DbHandler.UnitOfWork()) + { + uow.TypingArticles.Add(new Services.Database.Models.TypingArticle + { + Author = imsg.Author.Username, + Text = text + }); + } - // await channel.SendMessageAsync("Added new article for typing game.").ConfigureAwait(false); - //} + await channel.SendMessageAsync("Added new article for typing game.").ConfigureAwait(false); + } } } } \ No newline at end of file diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index 40775a4e..4a36bd43 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -98,6 +98,7 @@ namespace NadekoBot.Modules.Help [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] + [OwnerOnly] public async Task Hgit(IUserMessage umsg) { var helpstr = new StringBuilder(); diff --git a/src/NadekoBot/Modules/Music/Music.cs b/src/NadekoBot/Modules/Music/Music.cs index db9b285f..b9ad5fd6 100644 --- a/src/NadekoBot/Modules/Music/Music.cs +++ b/src/NadekoBot/Modules/Music/Music.cs @@ -334,6 +334,7 @@ namespace NadekoBot.Modules.Music [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] + [OwnerOnly] public async Task LocalPl(IUserMessage umsg, [Remainder] string directory) { var channel = (ITextChannel)umsg.Channel; @@ -381,6 +382,7 @@ namespace NadekoBot.Modules.Music [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] + [OwnerOnly] public async Task Local(IUserMessage umsg, [Remainder] string path) { var channel = (ITextChannel)umsg.Channel; diff --git a/src/NadekoBot/Modules/Permissions/Permissions.cs b/src/NadekoBot/Modules/Permissions/Permissions.cs index b7648c80..17227d3a 100644 --- a/src/NadekoBot/Modules/Permissions/Permissions.cs +++ b/src/NadekoBot/Modules/Permissions/Permissions.cs @@ -37,6 +37,28 @@ namespace NadekoBot.Modules.Permissions await channel.SendMessageAsync("I will " + (action.Value ? "now" : "no longer") + " show permission warnings.").ConfigureAwait(false); } + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task PermRole(IUserMessage msg, [Remainder] IRole role = null) + { + var channel = (ITextChannel)msg.Channel; + using (var uow = DbHandler.UnitOfWork()) + { + var config = uow.GuildConfigs.For(channel.Guild.Id); + if (role == null) + { + await channel.SendMessageAsync($"Current permission role is **{config.PermissionRole}**.").ConfigureAwait(false); + return; + } + else { + config.PermissionRole = role.Name.Trim(); + await uow.CompleteAsync().ConfigureAwait(false); + } + } + + await channel.SendMessageAsync($"Users now require **{role.Name}** role in order to edit permissions.").ConfigureAwait(false); + } + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task ListPerms(IUserMessage msg) @@ -186,7 +208,7 @@ namespace NadekoBot.Modules.Permissions [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] - public async Task UsrCmd(IUserMessage imsg, Command command, PermissionAction action, IGuildUser user) + public async Task UsrCmd(IUserMessage imsg, Command command, PermissionAction action, [Remainder] IGuildUser user) { var channel = (ITextChannel)imsg.Channel; @@ -209,7 +231,7 @@ namespace NadekoBot.Modules.Permissions [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] - public async Task UsrMdl(IUserMessage imsg, Module module, PermissionAction action, IGuildUser user) + public async Task UsrMdl(IUserMessage imsg, Module module, PermissionAction action, [Remainder] IGuildUser user) { var channel = (ITextChannel)imsg.Channel; @@ -232,7 +254,7 @@ namespace NadekoBot.Modules.Permissions [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] - public async Task RoleCmd(IUserMessage imsg, Command command, PermissionAction action, IRole role) + public async Task RoleCmd(IUserMessage imsg, Command command, PermissionAction action, [Remainder] IRole role) { var channel = (ITextChannel)imsg.Channel; @@ -255,7 +277,7 @@ namespace NadekoBot.Modules.Permissions [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] - public async Task RoleMdl(IUserMessage imsg, Module module, PermissionAction action, IRole role) + public async Task RoleMdl(IUserMessage imsg, Module module, PermissionAction action, [Remainder] IRole role) { var channel = (ITextChannel)imsg.Channel; @@ -278,7 +300,7 @@ namespace NadekoBot.Modules.Permissions [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] - public async Task ChnlCmd(IUserMessage imsg, Command command, PermissionAction action, ITextChannel chnl) + public async Task ChnlCmd(IUserMessage imsg, Command command, PermissionAction action, [Remainder] ITextChannel chnl) { var channel = (ITextChannel)imsg.Channel; try @@ -306,7 +328,7 @@ namespace NadekoBot.Modules.Permissions [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] - public async Task ChnlMdl(IUserMessage imsg, Module module, PermissionAction action, ITextChannel chnl) + public async Task ChnlMdl(IUserMessage imsg, Module module, PermissionAction action, [Remainder] ITextChannel chnl) { var channel = (ITextChannel)imsg.Channel; @@ -329,7 +351,7 @@ namespace NadekoBot.Modules.Permissions [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] - public async Task AllChnlMdls(IUserMessage imsg, PermissionAction action, ITextChannel chnl) + public async Task AllChnlMdls(IUserMessage imsg, PermissionAction action, [Remainder] ITextChannel chnl) { var channel = (ITextChannel)imsg.Channel; @@ -352,7 +374,7 @@ namespace NadekoBot.Modules.Permissions [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] - public async Task AllRoleMdls(IUserMessage imsg, PermissionAction action, IRole role) + public async Task AllRoleMdls(IUserMessage imsg, PermissionAction action, [Remainder] IRole role) { var channel = (ITextChannel)imsg.Channel; @@ -375,7 +397,7 @@ namespace NadekoBot.Modules.Permissions [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] - public async Task AllUsrMdls(IUserMessage imsg, PermissionAction action, IUser user) + public async Task AllUsrMdls(IUserMessage imsg, PermissionAction action, [Remainder] IUser user) { var channel = (ITextChannel)imsg.Channel; @@ -398,7 +420,7 @@ namespace NadekoBot.Modules.Permissions [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] - public async Task AllSrvrMdls(IUserMessage imsg, PermissionAction action, IUser user) + public async Task AllSrvrMdls(IUserMessage imsg, PermissionAction action, [Remainder] IUser user) { var channel = (ITextChannel)imsg.Channel; diff --git a/src/NadekoBot/Modules/Utility/Commands/Remind.cs b/src/NadekoBot/Modules/Utility/Commands/Remind.cs index 2ecc2140..57759952 100644 --- a/src/NadekoBot/Modules/Utility/Commands/Remind.cs +++ b/src/NadekoBot/Modules/Utility/Commands/Remind.cs @@ -184,21 +184,23 @@ namespace NadekoBot.Modules.Utility await StartReminder(rem); } - ////todo owner only - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task RemindTemplate(IUserMessage umsg, [Remainder] string arg) - //{ - // var channel = (ITextChannel)umsg.Channel; + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + [OwnerOnly] + public async Task RemindTemplate(IUserMessage umsg, [Remainder] string arg) + { + var channel = (ITextChannel)umsg.Channel; + if (string.IsNullOrWhiteSpace(arg)) + return; - // arg = arg?.Trim(); - // if (string.IsNullOrWhiteSpace(arg)) - // return; - - // NadekoBot.Config.RemindMessageFormat = arg; - // await channel.SendMessageAsync("`New remind message set.`"); - //} + using (var uow = DbHandler.UnitOfWork()) + { + uow.BotConfig.GetOrCreate().RemindMessageFormat = arg.Trim(); + await uow.CompleteAsync().ConfigureAwait(false); + } + await channel.SendMessageAsync("`New remind message set.`"); + } } } } \ No newline at end of file diff --git a/src/NadekoBot/NadekoBot.cs b/src/NadekoBot/NadekoBot.cs index d4e4d904..63413e9b 100644 --- a/src/NadekoBot/NadekoBot.cs +++ b/src/NadekoBot/NadekoBot.cs @@ -70,6 +70,7 @@ namespace NadekoBot CommandService.AddTypeReader(new PermissionActionTypeReader()); CommandService.AddTypeReader(new CommandTypeReader()); CommandService.AddTypeReader(new ModuleTypeReader()); + CommandService.AddTypeReader(new GuildTypeReader()); //connect await Client.LoginAsync(TokenType.Bot, Credentials.Token).ConfigureAwait(false); diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index fc7b586c..01c18b59 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -48,7 +48,18 @@ namespace NadekoBot.Services try { - var t = await ExecuteCommand(usrMsg, usrMsg.Content, guild, usrMsg.Author, MultiMatchHandling.Best); + bool verbose; + Permission rootPerm; + string permRole; + using (var uow = DbHandler.UnitOfWork()) + { + var config = uow.GuildConfigs.PermissionsFor(guild.Id); + verbose = config.VerbosePermissions; + rootPerm = config.RootPermission; + permRole = config.PermissionRole.Trim().ToLowerInvariant(); + } + + var t = await ExecuteCommand(usrMsg, usrMsg.Content, guild, usrMsg.Author, rootPerm, permRole, MultiMatchHandling.Best); var command = t.Item1; var result = t.Item2; sw.Stop(); @@ -85,11 +96,6 @@ namespace NadekoBot.Services ); if (guild != null && command != null && result.Error == CommandError.Exception) { - bool verbose; - using (var uow = DbHandler.UnitOfWork()) - { - verbose = uow.GuildConfigs.For(guild.Id).VerbosePermissions; - } if (verbose) await msg.Channel.SendMessageAsync(":warning: " + result.ErrorReason).ConfigureAwait(false); } @@ -112,7 +118,7 @@ namespace NadekoBot.Services return Task.CompletedTask; } - public async Task> ExecuteCommand(IUserMessage message, string input, IGuild guild, IUser user, MultiMatchHandling multiMatchHandling = MultiMatchHandling.Best) { + public async Task> ExecuteCommand(IUserMessage message, string input, IGuild guild, IUser user, Permission rootPerm, string permRole, MultiMatchHandling multiMatchHandling = MultiMatchHandling.Best) { var searchResult = _commandService.Search(message, input); if (!searchResult.IsSuccess) return new Tuple(null, searchResult); @@ -154,20 +160,24 @@ namespace NadekoBot.Services } } var cmd = commands[i]; - Permission rootPerm; //check permissions if (guild != null) { - using (var uow = DbHandler.UnitOfWork()) - { - rootPerm = uow.GuildConfigs.PermissionsFor(guild.Id).RootPermission; - } int index; if (!rootPerm.AsEnumerable().CheckPermissions(message, cmd, out index)) { var returnMsg = $"Permission number #{index} **{rootPerm.GetAt(index).GetCommand()}** is preventing this action."; return new Tuple(cmd, SearchResult.FromError(CommandError.Exception, returnMsg)); } + + + if (cmd.Module.Source.Name == typeof(Permissions).Name) //permissions, you must have special role + { + if (!((IGuildUser)user).Roles.Any(r => r.Name.Trim().ToLowerInvariant() == permRole)) + { + return new Tuple(cmd, SearchResult.FromError(CommandError.Exception, $"You need a **{permRole}** role in order to use permission commands.")); + } + } } return new Tuple(commands[i], await commands[i].Execute(message, parseResult)); diff --git a/src/NadekoBot/Services/CurrencyHandler.cs b/src/NadekoBot/Services/CurrencyHandler.cs index f2834589..e847c7cb 100644 --- a/src/NadekoBot/Services/CurrencyHandler.cs +++ b/src/NadekoBot/Services/CurrencyHandler.cs @@ -13,6 +13,16 @@ namespace NadekoBot.Services public static class CurrencyHandler { public static async Task RemoveCurrencyAsync(IGuildUser author, string reason, long amount, bool sendMessage) + { + var success = await RemoveCurrencyAsync(author.Id, reason, amount); + + if (success && sendMessage) + try { await author.SendMessageAsync($"`You lost:` {amount} {Gambling.CurrencySign}\n`Reason:` {reason}").ConfigureAwait(false); } catch { } + + return success; + } + + public static async Task RemoveCurrencyAsync(ulong authorId, string reason, long amount) { if (amount < 0) throw new ArgumentNullException(nameof(amount)); @@ -20,15 +30,12 @@ namespace NadekoBot.Services using (var uow = DbHandler.UnitOfWork()) { - var success = uow.Currency.TryUpdateState(author.Id, -amount); + var success = uow.Currency.TryUpdateState(authorId, -amount); if (!success) return false; await uow.CompleteAsync(); } - if (sendMessage) - try { await author.SendMessageAsync($"`You lost:` {amount} {Gambling.CurrencySign}\n`Reason:` {reason}").ConfigureAwait(false); } catch { } - return true; } diff --git a/src/NadekoBot/TypeReaders/GuildTypeReader.cs b/src/NadekoBot/TypeReaders/GuildTypeReader.cs new file mode 100644 index 00000000..2f7bc19c --- /dev/null +++ b/src/NadekoBot/TypeReaders/GuildTypeReader.cs @@ -0,0 +1,26 @@ +using Discord.Commands; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Discord; +using Discord.WebSocket; + +namespace NadekoBot.TypeReaders +{ + public class GuildTypeReader : TypeReader + { + public override Task Read(IUserMessage context, string input) + { + input = input.Trim().ToLowerInvariant(); + var guild = NadekoBot.Client.GetGuilds().FirstOrDefault(g => g.Id.ToString().Trim().ToLowerInvariant() == input) ?? //by id + NadekoBot.Client.GetGuilds().FirstOrDefault(g => g.Name.Trim().ToLowerInvariant() == input);//by name + + if (guild != null) + return Task.FromResult(TypeReaderResult.FromSuccess(guild)); + + return Task.FromResult(TypeReaderResult.FromError(CommandError.ParseFailed, "No guild by that name or Id found")); + } + } +} diff --git a/src/tests/Tests.cs b/src/tests/Tests.cs index 1448b1a9..fdfa5e85 100644 --- a/src/tests/Tests.cs +++ b/src/tests/Tests.cs @@ -38,7 +38,7 @@ namespace Tests { var root = GetRoot(); - root.Add(new Permission() { SecondaryTargetName = "Added" }); + root.Prepend(new Permission() { SecondaryTargetName = "Added" }); Assert.Equal(11, root.Count()); diff --git a/src/tests/bin/Debug/netcoreapp1.0/Discord.Net.Commands.dll b/src/tests/bin/Debug/netcoreapp1.0/Discord.Net.Commands.dll deleted file mode 100644 index 45e99c5e3396e7d778f81669ffe9827373d65c4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65024 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%0A1B8!u2> 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 SPy+sx{$znaS>Qj81^x|QO*{4g diff --git a/src/tests/bin/Debug/netcoreapp1.0/Discord.Net.Commands.xml b/src/tests/bin/Debug/netcoreapp1.0/Discord.Net.Commands.xml deleted file mode 100644 index 4783bb54..00000000 --- a/src/tests/bin/Debug/netcoreapp1.0/Discord.Net.Commands.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - Discord.Net.Commands - - - - Provides aliases for a command. - - - The aliases which have been defined for the command. - - - Creates a new with the given aliases. - - - Sets priority of commands - - - The priority which has been set for the command - - - Creates a new with the given priority. - - - diff --git a/src/tests/bin/Debug/netcoreapp1.0/Discord.Net.dll b/src/tests/bin/Debug/netcoreapp1.0/Discord.Net.dll deleted file mode 100644 index fdc9e0e89a078d56f7cb8187f56f836277ecdd59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 719360 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%0D2I*=SWbHn*D@A&7+d&(KD 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

@Yzsca^;x8)PSS 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 diff --git a/src/tests/bin/Debug/netcoreapp1.0/Discord.Net.pdb b/src/tests/bin/Debug/netcoreapp1.0/Discord.Net.pdb deleted file mode 100644 index 095b548c3ee9ce667678921b39b34f65c85e2808..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1555968 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 rPWg)rS#snlP^3he3RP; - - - Discord.Net - - - -

Gets or sets the minimum log level severity that will be sent to the LogMessage event. - - - Returns a markdown-formatted string with bold formatting. - - - Returns a markdown-formatted string with italics formatting. - - - Returns a markdown-formatted string with underline formatting. - - - Returns a markdown-formatted string with strikethrough formatting. - - - Returns a markdown-formatted string with strikeout formatting. - - - Sanitizes the string, safely escaping any Markdown sequences. - - - The max time, in milliseconds, to wait for this request to complete. If null, a request will not time out. If a rate limit has been triggered for this request's bucket and will not be unpaused in time, this request will fail immediately. - - - C←S - Used to send most events. - - - C↔S - Used to keep the connection alive and measure latency. - - - C→S - Used to associate a connection with a token and specify configuration. - - - C→S - Used to update client's status and current game id. - - - C→S - Used to join a particular voice channel. - - - C→S - Used to ensure the guild's voice server is alive. - - - C→S - Used to resume a connection after a redirect occurs. - - - C←S - Used to notify a client that they must reconnect to another gateway. - - - C→S - Used to request members that were withheld by large_threshold - - - C←S - Used to notify the client that their session has expired and cannot be resumed. - - - C←S - Used to provide information to the client immediately on connection. - - - C←S - Used to reply to a client's heartbeat. - - - C→S - Used to request presence updates from particular guilds. - - - C→S - Used to associate a connection with a token. - - - C→S - Used to specify configuration. - - - C←S - Used to notify that the voice connection was successful and informs the client of available protocols. - - - C→S - Used to keep the connection alive and measure latency. - - - C←S - Used to reply to a client's heartbeat. - - - C←S - Used to provide an encryption key to the client. - - - C↔S - Used to inform that a certain user is speaking. - - - Creates a new REST/WebSocket discord client. - - - - - - - - - - - - Gets the current connection state of this client. - - - Gets the estimated round-trip latency, in milliseconds, to the gateway server. - - - Gets the bit rate of this converter. - - - Gets the bytes per sample. - - - Gets the maximum amount of channels this encoder supports. - - - Gets the input sampling rate of this converter. - - - Gets the number of samples per second for this stream. - - - Produces PCM samples from Opus-encoded audio. - PCM samples to decode. - Offset of the frame in input. - Buffer to store the decoded frame. - - - Gets the coding mode of the encoder. - - - Produces Opus encoded audio from PCM samples. - PCM samples to encode. - Buffer to store the encoded frame. - Length of the frame contained in outputBuffer. - - - Gets or sets whether Forward Error Correction is enabled. - - - Gets or sets whether Forward Error Correction is enabled. - - - Deletes this object and all its children. - - - Gets the unique identifier for this object. - - - Returns true if this object is getting live updates from the DiscordClient. - - - Returns a special string used to mention this object. - - - Gets when this object was created. - - - Updates this object's properties with its current state. - - - Gets a collection of all users in this channel. - - - Gets a user in this channel with the provided id. - - - Gets the recipient of all messages in this channel. - - - Closes this private channel, removing it from your channel list. - - - Adds a user to this group. - - - Leaves this group. - - - Gets the name of this channel. - - - Gets the position of this channel in the guild's channel list, relative to others of the same type. - - - Gets the guild this channel is a member of. - - - Creates a new invite to this channel. - The time (in seconds) until the invite expires. Set to null to never expire. - The max amount of times this invite may be used. Set to null to have unlimited uses. - If true, a user accepting this invite will be kicked from the guild after closing their client. - - - Returns a collection of all invites to this channel. - - - Gets a collection of permission overwrites for this channel. - - - Modifies this guild channel. - - - Gets the permission overwrite for a specific role, or null if one does not exist. - - - Gets the permission overwrite for a specific user, or null if one does not exist. - - - Removes the permission overwrite for the given role, if one exists. - - - Removes the permission overwrite for the given user, if one exists. - - - Adds or updates the permission overwrite for the given role. - - - Adds or updates the permission overwrite for the given user. - - - Gets a collection of all users in this channel. - - - Gets a user in this channel with the provided id. - - - Gets all messages in this channel's cache. - - - Sends a message to this message channel. - - - Sends a file to this text channel, with an optional caption. - - - Sends a file to this text channel, with an optional caption. - - - Gets a message from this message channel with the given id, or null if not found. - - - Gets the message from this channel's cache with the given id, or null if not found. - - - Gets the last N messages from this message channel. - - - Gets a collection of messages in this channel. - - - Gets a collection of pinned messages in this channel. - - - Bulk deletes multiple messages. - - - Broadcasts the "user is typing" message to all users in this channel, lasting 10 seconds. - - - Gets the current topic for this text channel. - - - Modifies this text channel. - - - Gets the bitrate, in bits per second, clients in this voice channel are requested to use. - - - Gets the max amount of users allowed to be connected to this channel at one time. A value of 0 represents no limit. - - - Modifies this voice channel. - - - Connects to this voice channel. - - - By default, only mentions will trigger notifications. - - - By default, all messages will trigger notifications. - - - Gets the name of this guild. - - - Gets the amount of time (in seconds) a user must be inactive in a voice channel for until they are automatically moved to the AFK voice channel, if one is set. - - - Returns true if this guild is embeddable (e.g. widget) - - - Gets the default message notifications for users who haven't explicitly set their notification settings. - - - Gets the level of mfa requirements a user must fulfill before being allowed to perform administrative actions in this guild. - - - Gets the level of requirements a user must fulfill before being allowed to post messages in this guild. - - - Returns the url to this guild's icon, or null if one is not set. - - - Returns the url to this guild's splash image, or null if one is not set. - - - Returns true if this guild is currently connected and ready to be used. Only applies to the WebSocket client. - - - Gets the id of the AFK voice channel for this guild if set, or null if not. - - - Gets the id of the the default channel for this guild. - - - Gets the id of the embed channel for this guild if set, or null if not. - - - Gets the id of the user that created this guild. - - - Gets the id of the region hosting this guild's voice channels. - - - Gets the IAudioClient currently associated with this guild. - - - Gets the built-in role containing all users in this guild. - - - Gets a collection of all custom emojis for this guild. - - - Gets a collection of all extra features added to this guild. - - - Gets a collection of all roles in this guild. - - - Modifies this guild. - - - Modifies this guild's embed. - - - Bulk modifies the channels of this guild. - - - Bulk modifies the roles of this guild. - - - Leaves this guild. If you are the owner, use Delete instead. - - - Gets a collection of all users banned on this guild. - - - Bans the provided user from this guild and optionally prunes their recent messages. - - - Bans the provided user id from this guild and optionally prunes their recent messages. - - - Unbans the provided user if it is currently banned. - - - Unbans the provided user id if it is currently banned. - - - Gets a collection of all channels in this guild. - - - Gets the channel in this guild with the provided id, or null if not found. - - - Creates a new text channel. - - - Creates a new voice channel. - - - Gets a collection of all invites to this guild. - - - Gets the role in this guild with the provided id, or null if not found. - - - Creates a new role. - - - Gets a collection of all users in this guild. - - - Gets the user in this guild with the provided id, or null if not found. - - - Gets the current user for this guild. - - - Downloads all users for this guild if the current list is incomplete. Only applies to the WebSocket client. - - - Removes all users from this guild if they have not logged on in a provided number of days or, if simulate is true, returns the number of users that would be removed. - - - Gets the name of this guild. - - - Returns the url to this guild's icon, or null if one is not set. - - - Returns true if the current user owns this guild. - - - Returns the current user's permissions for this guild. - - - Gets the unique identifier for this voice region. - - - Gets the name of this voice region. - - - Returns true if this voice region is exclusive to VIP accounts. - - - Returns true if this voice region is the closest to your machine. - - - Gets an example hostname for this voice region. - - - Gets an example port for this voice region. - - - Users have no additional MFA restriction on this guild. - - - Users must have MFA enabled on their account to perform administrative actions. - - - Users have no additional restrictions on sending messages to this guild. - - - Users must have a verified email on their account. - - - Users must fulfill the requirements of Low, and be registered on Discord for at least 5 minutes. - - - Users must fulfill the requirements of Medium, and be a member of this guild for at least 10 minutes. - - - Gets the unique identifier for this invite. - - - Gets the url used to accept this invite, using Code. - - - Gets the id of the the channel this invite is linked to. - - - Gets the id of the guild this invite is linked to. - - - Accepts this invite and joins the target guild. This will fail on bot accounts. - - - Gets the user that created this invite. - - - Returns true if this invite was revoked. - - - Returns true if users accepting this invite will be removed from the guild when they log off. - - - Gets the time (in seconds) until the invite expires, or null if it never expires. - - - Gets the max amount of times this invite may be used, or null if there is no limit. - - - Gets the amount of times this invite has been used. - - - Gets when this invite was created. - - - Returns true if this message was sent as a text-to-speech message. - - - Returns true if this message was added to its channel's pinned messages. - - - Returns the content for this message. - - - Gets the time this message was sent. - - - Gets the time of this message's last edit, if any. - - - Gets the channel this message was sent to. - - - Gets the author of this message. - - - Returns a collection of all attachments included in this message. - - - Returns a collection of all embeds included in this message. - - - Returns a collection of channel ids mentioned in this message. - - - Returns a collection of roles mentioned in this message. - - - Returns a collection of users mentioned in this message. - - - Gets the type of this system message. - - - Modifies this message. - - - Adds this message to its channel's pinned messages. - - - Removes this message from its channel's pinned messages. - - - Transforms this message's text into a human readable form, resolving mentions to that object's name. - - - Transforms this message's text into a human readable form, resolving mentions to that object's name. - - - Gets a blank ChannelPermissions that grants no permissions. - - - Gets a ChannelPermissions that grants all permissions for a given channelType. - - - Gets a packed value representing all the permissions in this ChannelPermissions. - - - If True, a user may create invites. - - - If True, a user may create, delete and modify this channel. - - - If True, a user may join channels. - - - If True, a user may send messages. - - - If True, a user may send text-to-speech messages. - - - If True, a user may delete messages. - - - If True, Discord will auto-embed links sent by this user. - - - If True, a user may send files. - - - If True, a user may read previous messages. - - - If True, a user may mention @everyone. - - - If True, a user may use custom emoji from other guilds. - - - If True, a user may connect to a voice channel. - - - If True, a user may speak in a voice channel. - - - If True, a user may mute users. - - - If True, a user may deafen users. - - - If True, a user may move other users between voice channels. - - - If True, a user may use voice-activity-detection rather than push-to-talk. - - - If True, a user may adjust permissions. This also implictly grants all other permissions. - - - Creates a new ChannelPermissions with the provided packed value. - - - Creates a new ChannelPermissions with the provided permissions. - - - Creates a new ChannelPermissions from this one, changing the provided non-null permissions. - - - Gets a blank GuildPermissions that grants no permissions. - - - Gets a GuildPermissions that grants all permissions. - - - Gets a packed value representing all the permissions in this GuildPermissions. - - - If True, a user may create invites. - - - If True, a user may ban users from the guild. - - - If True, a user may kick users from the guild. - - - If True, a user is granted all permissions, and cannot have them revoked via channel permissions. - - - If True, a user may create, delete and modify channels. - - - If True, a user may adjust guild properties. - - - If True, a user may join channels. - - - If True, a user may send messages. - - - If True, a user may send text-to-speech messages. - - - If True, a user may delete messages. - - - If True, Discord will auto-embed links sent by this user. - - - If True, a user may send files. - - - If True, a user may read previous messages. - - - If True, a user may mention @everyone. - - - If True, a user may use custom emoji from other guilds. - - - If True, a user may connect to a voice channel. - - - If True, a user may speak in a voice channel. - - - If True, a user may mute users. - - - If True, a user may deafen users. - - - If True, a user may move other users between voice channels. - - - If True, a user may use voice-activity-detection rather than push-to-talk. - - - If True, a user may change their own nickname. - - - If True, a user may change the nickname of other users. - - - If True, a user may adjust roles. - - - Creates a new GuildPermissions with the provided packed value. - - - Creates a new GuildPermissions with the provided permissions. - - - Creates a new GuildPermissions from this one, changing the provided non-null permissions. - - - Gets the unique identifier for the object this overwrite is targeting. - - - Gets the type of object this overwrite is targeting. - - - Gets the permissions associated with this overwrite entry. - - - Creates a new Overwrite with provided target information and modified permissions. - - - Gets a blank OverwritePermissions that inherits all permissions. - - - Gets a OverwritePermissions that grants all permissions for a given channelType. - - - Gets a OverwritePermissions that denies all permissions for a given channelType. - - - Gets a packed value representing all the allowed permissions in this OverwritePermissions. - - - Gets a packed value representing all the denied permissions in this OverwritePermissions. - - - If Allowed, a user may create invites. - - - If Allowed, a user may create, delete and modify this channel. - - - If Allowed, a user may join channels. - - - If Allowed, a user may send messages. - - - If Allowed, a user may send text-to-speech messages. - - - If Allowed, a user may delete messages. - - - If Allowed, Discord will auto-embed links sent by this user. - - - If Allowed, a user may send files. - - - If Allowed, a user may read previous messages. - - - If Allowed, a user may mention @everyone. - - - If Allowed, a user may use custom emoji from other guilds. - - - If Allowed, a user may connect to a voice channel. - - - If Allowed, a user may speak in a voice channel. - - - If Allowed, a user may mute users. - - - If Allowed, a user may deafen users. - - - If Allowed, a user may move other users between voice channels. - - - If Allowed, a user may use voice-activity-detection rather than push-to-talk. - - - If Allowed, a user may adjust permissions. This also implictly grants all other permissions. - - - Creates a new OverwritePermissions with the provided allow and deny packed values. - - - Creates a new ChannelPermissions with the provided permissions. - - - Creates a new OverwritePermissions from this one, changing the provided non-null permissions. - - - Gets the default user color value. - - - Gets the encoded value for this color. - - - Gets the red component for this color. - - - Gets the green component for this color. - - - Gets the blue component for this color. - - - Gets the color given to users of this role. - - - Returns true if users of this role are separated in the user list. - - - Returns true if this role is automatically managed by Discord. - - - Gets the name of this role. - - - Gets the permissions granted to members of this role. - - - Gets this role's position relative to other roles in the same guild. - - - Gets the id of the guild owning this role. - - - Modifies this role. - - - Kicks this user from this group. - - - Returns a private message channel to this user, creating one if it does not already exist. - - - A Guild-User pairing. - - - Gets when this user joined this guild. - - - Gets the nickname for this user. - - - Gets the guild-level permissions granted to this user by their roles. - - - Gets the guild for this guild-user pair. - - - Returns a collection of the roles this user is a member of in this guild, including the guild's @everyone role. - - - Gets the level permissions granted to this user to a given channel. - - - Kicks this user from this guild. - - - Modifies this user's properties in this guild. - - - Returns a private message channel to this user, creating one if it does not already exist. - - - Gets the game this user is currently playing, if any. - - - Gets the current status of this user. - - - Gets the email associated with this user. - - - Returns true if this user's email has been verified. - - - Returns true if this user has enabled MFA on their account. - - - Gets the url to this user's avatar. - - - Gets the per-username unique id for this user. - - - Gets the per-username unique id for this user. - - - Returns true if this user is a bot account. - - - Gets the username for this user. - - - Returns true if the guild has deafened this user. - - - Returns true if the guild has muted this user. - - - Returns true if this user has marked themselves as deafened. - - - Returns true if this user has marked themselves as muted. - - - Returns true if the guild is temporarily blocking audio to/from this user. - - - Gets the voice channel this user is currently in, if any. - - - Gets the unique identifier for this user's voice session. - - - Gets the unique identifier for this bucket. - - - Gets the name of this bucket. - - - Gets the amount of requests that may be sent per window. - - - Gets the length of this bucket's window, in seconds. - - - Gets the type of account this bucket affects. - - - Gets this bucket's parent. - - - Creates a new REST-only discord client. - - - Creates a new REST-only discord client. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets or sets the provider used to generate new REST connections. - - - Creates a new RPC discord client. - - - Creates a new RPC discord client. - - - - - - - - - Gets or sets the Discord client/application id used for this RPC connection. - - - Gets or sets the origin used for this RPC connection. - - - Gets or sets the time, in milliseconds, to wait for a connection to complete before aborting. - - - Gets or sets the provider used to generate new websocket connections. - - - Parses a provided user mention string. - - - Tries to parse a provided user mention string. - - - Parses a provided channel mention string. - - - Tries to parse a provided channel mention string. - - - Parses a provided role mention string. - - - Tries to parse a provided role mention string. - - - Gets the value for this paramter. - - - Returns true if this value has been specified. - - - Creates a new Parameter with the provided value. - - - Gets the shard id of this client. - - - Gets the current connection state of this client. - - - Gets the estimated round-trip latency, in milliseconds, to the gateway server. - - - Creates a new REST/WebSocket discord client. - - - Creates a new REST/WebSocket discord client. - - - - - - - - - - - - - - - - - - - - - - - - - - - Downloads the users list for all large guilds. - - - Downloads the users list for the provided guilds, if they don't have a complete list. - - - Gets or sets the time, in milliseconds, to wait for a connection to complete before aborting. - - - Gets or sets the id for this shard. Must be less than TotalShards. - - - Gets or sets the total number of shards for this application. - - - Gets or sets the number of messages per channel that should be kept in cache. Setting this to zero disables the message cache entirely. - - - - Gets or sets the max number of users a guild may have for offline users to be included in the READY packet. Max is 250. - - - - Gets or sets the type of audio this DiscordClient supports. - - - Gets or sets the provider used to generate new websocket connections. - - - diff --git a/src/tests/bin/Debug/netcoreapp1.0/NadekoBot.dll b/src/tests/bin/Debug/netcoreapp1.0/NadekoBot.dll deleted file mode 100644 index 246ffe93a837c66cbe2f8a55c580408b7eee8052..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 998400 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

1WQIC{r~+wmAuLFV_D@^N=2r>vzGIe`ilt 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

T53H-q;2EB=u@wY>zftxd=S6snx~pR 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%0DJj~zeN>4C%ScEG*G3@S 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 a&}W}Ei(P@UWU^*T&in1uSB@ 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%0DJCrYf^8V>w=uIe)~pS^yc}i_ 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 z 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 diff --git a/src/tests/bin/Debug/netcoreapp1.0/tests.deps.json b/src/tests/bin/Debug/netcoreapp1.0/tests.deps.json deleted file mode 100644 index 0f831818..00000000 --- a/src/tests/bin/Debug/netcoreapp1.0/tests.deps.json +++ /dev/null @@ -1,1101 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETCoreApp,Version=v1.0", - "signature": "81ace1a8301fcbe81b83a514b616c6a56d43bad8" - }, - "compilationOptions": {}, - "targets": { - ".NETCoreApp,Version=v1.0": { - "tests/1.0.0": { - "dependencies": { - "System.Runtime.Serialization.Primitives": "4.1.1", - "xunit": "2.1.0", - "dotnet-test-xunit": "1.0.0-rc2-build10015", - "NadekoBot": "1.0.0" - }, - "runtime": { - "tests.dll": {} - } - }, - "CoreCLR-NCalc/2.1.0": { - "dependencies": { - "System.Runtime.Serialization.Xml": "4.1.1" - }, - "runtime": { - "lib/netstandard1.3/NCalc.dll": {} - } - }, - "dotnet-test-xunit/1.0.0-rc2-build10015": { - "dependencies": { - "Microsoft.Extensions.Testing.Abstractions": "1.0.0-preview1-002702", - "xunit.runner.reporters": "2.1.0" - }, - "runtime": { - "lib/netcoreapp1.0/dotnet-test-xunit.dll": {} - } - }, - "Google.Apis/1.16.0": { - "dependencies": { - "Google.Apis.Core": "1.16.0" - }, - "runtime": { - "lib/netstandard1.3/Google.Apis.dll": {} - } - }, - "Google.Apis.Auth/1.15.0": { - "dependencies": { - "Google.Apis.Core": "1.16.0", - "Newtonsoft.Json": "9.0.1", - "Portable.BouncyCastle": "1.8.1.1" - }, - "runtime": { - "lib/netstandard1.3/Google.Apis.Auth.PlatformServices.dll": {}, - "lib/netstandard1.3/Google.Apis.Auth.dll": {} - } - }, - "Google.Apis.Core/1.16.0": { - "dependencies": { - "Newtonsoft.Json": "9.0.1" - }, - "runtime": { - "lib/netstandard1.3/Google.Apis.Core.dll": {} - } - }, - "Google.Apis.Customsearch.v1/1.16.0.466": { - "dependencies": { - "Google.Apis": "1.16.0" - }, - "runtime": { - "lib/netstandard1.3/Google.Apis.Customsearch.v1.dll": {} - } - }, - "Google.Apis.Urlshortener.v1/1.15.0.138": { - "dependencies": { - "Google.Apis": "1.16.0", - "Google.Apis.Auth": "1.15.0" - }, - "runtime": { - "lib/netstandard1.3/Google.Apis.Urlshortener.v1.dll": {} - } - }, - "Google.Apis.YouTube.v3/1.15.0.582": { - "dependencies": { - "Google.Apis": "1.16.0", - "Google.Apis.Auth": "1.15.0" - }, - "runtime": { - "lib/netstandard1.3/Google.Apis.YouTube.v3.dll": {} - } - }, - "ImageProcessorCore/1.0.0-alpha1045": { - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "4.0.0" - }, - "runtime": { - "lib/netstandard1.1/ImageProcessorCore.dll": {} - } - }, - "Microsoft.AspNetCore.Hosting.Abstractions/1.0.0": { - "dependencies": { - "Microsoft.AspNetCore.Hosting.Server.Abstractions": "1.0.0", - "Microsoft.AspNetCore.Http.Abstractions": "1.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "1.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "1.0.0", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0" - }, - "runtime": { - "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Abstractions.dll": {} - } - }, - "Microsoft.AspNetCore.Hosting.Server.Abstractions/1.0.0": { - "dependencies": { - "Microsoft.AspNetCore.Http.Features": "1.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "1.0.0" - }, - "runtime": { - "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": {} - } - }, - "Microsoft.AspNetCore.Http.Abstractions/1.0.0": { - "dependencies": { - "Microsoft.AspNetCore.Http.Features": "1.0.0", - "System.Text.Encodings.Web": "4.0.0" - }, - "runtime": { - "lib/netstandard1.3/Microsoft.AspNetCore.Http.Abstractions.dll": {} - } - }, - "Microsoft.AspNetCore.Http.Features/1.0.0": { - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0", - "System.Net.WebSockets": "4.0.0" - }, - "runtime": { - "lib/netstandard1.3/Microsoft.AspNetCore.Http.Features.dll": {} - } - }, - "Microsoft.Data.Sqlite/1.0.0": { - "dependencies": { - "SQLite": "3.12.2", - "System.Data.Common": "4.1.0" - }, - "runtime": { - "lib/netstandard1.3/Microsoft.Data.Sqlite.dll": {} - } - }, - "Microsoft.DiaSymReader/1.0.6": { - "runtime": { - "lib/portable-net45+win8/Microsoft.DiaSymReader.dll": {} - } - }, - "Microsoft.DiaSymReader.Native/1.3.3": { - "runtimeTargets": { - "runtimes/win-x64/native/Microsoft.DiaSymReader.Native.amd64.dll": { - "rid": "win-x64", - "assetType": "native" - }, - "runtimes/win-x86/native/Microsoft.DiaSymReader.Native.x86.dll": { - "rid": "win-x86", - "assetType": "native" - }, - "runtimes/win/native/Microsoft.DiaSymReader.Native.amd64.dll": { - "rid": "win", - "assetType": "native" - }, - "runtimes/win/native/Microsoft.DiaSymReader.Native.arm.dll": { - "rid": "win", - "assetType": "native" - }, - "runtimes/win/native/Microsoft.DiaSymReader.Native.x86.dll": { - "rid": "win", - "assetType": "native" - }, - "runtimes/win8-arm/native/Microsoft.DiaSymReader.Native.arm.dll": { - "rid": "win8-arm", - "assetType": "native" - } - } - }, - "Microsoft.DotNet.InternalAbstractions/1.0.0-rc2-002702": { - "runtime": { - "lib/netstandard1.3/Microsoft.DotNet.InternalAbstractions.dll": {} - } - }, - "Microsoft.DotNet.ProjectModel/1.0.0-rc2-002702": { - "dependencies": { - "Microsoft.Extensions.DependencyModel": "1.0.0-rc2-002702", - "Newtonsoft.Json": "9.0.1", - "NuGet.Packaging": "3.5.0-beta-final", - "NuGet.RuntimeModel": "3.5.0-beta-final", - "System.Runtime.Serialization.Primitives": "4.1.1" - }, - "runtime": { - "lib/netstandard1.5/Microsoft.DotNet.ProjectModel.dll": {} - } - }, - "Microsoft.EntityFrameworkCore/1.0.0": { - "dependencies": { - "Microsoft.Extensions.Caching.Memory": "1.0.0", - "Microsoft.Extensions.DependencyInjection": "1.0.0", - "Microsoft.Extensions.Logging": "1.0.0", - "Remotion.Linq": "2.1.1", - "System.Interactive.Async": "3.0.0" - }, - "runtime": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.dll": {} - } - }, - "Microsoft.EntityFrameworkCore.Design/1.0.0-preview2-final": { - "dependencies": { - "Microsoft.EntityFrameworkCore.Design.Core": "1.0.0-preview2-final", - "Microsoft.Extensions.CommandLineUtils": "1.0.0" - }, - "runtime": { - "lib/netcoreapp1.0/Microsoft.EntityFrameworkCore.Design.dll": {} - } - }, - "Microsoft.EntityFrameworkCore.Design.Core/1.0.0-preview2-final": { - "dependencies": { - "Microsoft.AspNetCore.Hosting.Abstractions": "1.0.0", - "Microsoft.EntityFrameworkCore.Relational.Design": "1.0.0", - "System.Collections.NonGeneric": "4.0.1" - }, - "runtime": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Design.Core.dll": {} - } - }, - "Microsoft.EntityFrameworkCore.Relational/1.0.0": { - "dependencies": { - "Microsoft.EntityFrameworkCore": "1.0.0", - "System.Data.Common": "4.1.0" - }, - "runtime": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Relational.dll": {} - } - }, - "Microsoft.EntityFrameworkCore.Relational.Design/1.0.0": { - "dependencies": { - "Microsoft.EntityFrameworkCore.Relational": "1.0.0" - }, - "runtime": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Relational.Design.dll": {} - } - }, - "Microsoft.EntityFrameworkCore.Sqlite/1.0.0": { - "dependencies": { - "Microsoft.Data.Sqlite": "1.0.0", - "Microsoft.EntityFrameworkCore.Relational": "1.0.0" - }, - "runtime": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Sqlite.dll": {} - } - }, - "Microsoft.Extensions.Caching.Abstractions/1.0.0": { - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0" - }, - "runtime": { - "lib/netstandard1.0/Microsoft.Extensions.Caching.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.Caching.Memory/1.0.0": { - "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "1.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", - "Microsoft.Extensions.Options": "1.0.0" - }, - "runtime": { - "lib/netstandard1.3/Microsoft.Extensions.Caching.Memory.dll": {} - } - }, - "Microsoft.Extensions.CommandLineUtils/1.0.0": { - "runtime": { - "lib/netstandard1.3/Microsoft.Extensions.CommandLineUtils.dll": {} - } - }, - "Microsoft.Extensions.Configuration.Abstractions/1.0.0": { - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0" - }, - "runtime": { - "lib/netstandard1.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.DependencyInjection/1.0.0": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0" - }, - "runtime": { - "lib/netstandard1.1/Microsoft.Extensions.DependencyInjection.dll": {} - } - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/1.0.0": { - "runtime": { - "lib/netstandard1.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.DependencyModel/1.0.0-rc2-002702": { - "dependencies": { - "Microsoft.DotNet.InternalAbstractions": "1.0.0-rc2-002702", - "Newtonsoft.Json": "9.0.1" - }, - "runtime": { - "lib/netstandard1.5/Microsoft.Extensions.DependencyModel.dll": {} - } - }, - "Microsoft.Extensions.FileProviders.Abstractions/1.0.0": { - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0" - }, - "runtime": { - "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.Logging/1.0.0": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0" - }, - "runtime": { - "lib/netstandard1.1/Microsoft.Extensions.Logging.dll": {} - } - }, - "Microsoft.Extensions.Logging.Abstractions/1.0.0": { - "runtime": { - "lib/netstandard1.1/Microsoft.Extensions.Logging.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.Options/1.0.0": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", - "Microsoft.Extensions.Primitives": "1.0.0" - }, - "runtime": { - "lib/netstandard1.0/Microsoft.Extensions.Options.dll": {} - } - }, - "Microsoft.Extensions.PlatformAbstractions/1.0.0": { - "runtime": { - "lib/netstandard1.3/Microsoft.Extensions.PlatformAbstractions.dll": {} - } - }, - "Microsoft.Extensions.Primitives/1.0.0": { - "runtime": { - "lib/netstandard1.0/Microsoft.Extensions.Primitives.dll": {} - } - }, - "Microsoft.Extensions.Testing.Abstractions/1.0.0-preview1-002702": { - "dependencies": { - "Microsoft.DiaSymReader": "1.0.6", - "Microsoft.DiaSymReader.Native": "1.3.3", - "Microsoft.DotNet.ProjectModel": "1.0.0-rc2-002702", - "Newtonsoft.Json": "9.0.1" - }, - "runtime": { - "lib/netstandard1.5/Microsoft.Extensions.Testing.Abstractions.dll": {} - } - }, - "Newtonsoft.Json/9.0.1": { - "dependencies": { - "System.Runtime.Serialization.Primitives": "4.1.1" - }, - "runtime": { - "lib/netstandard1.0/Newtonsoft.Json.dll": {} - } - }, - "NLog/4.4.0-betav15": { - "dependencies": { - "Microsoft.Extensions.PlatformAbstractions": "1.0.0", - "System.Collections.NonGeneric": "4.0.1", - "System.ComponentModel.TypeConverter": "4.1.0", - "System.Data.Common": "4.1.0", - "System.Diagnostics.Contracts": "4.0.1", - "System.Diagnostics.TraceSource": "4.0.0", - "System.Runtime.Serialization.Primitives": "4.1.1" - }, - "runtime": { - "lib/netstandard1.5/NLog.dll": {} - } - }, - "NuGet.Common/3.5.0-beta-final": { - "runtime": { - "lib/netstandard1.3/NuGet.Common.dll": {} - } - }, - "NuGet.Frameworks/3.5.0-beta-final": { - "dependencies": { - "NuGet.Versioning": "3.5.0-beta-final" - }, - "runtime": { - "lib/netstandard1.3/NuGet.Frameworks.dll": {} - } - }, - "NuGet.Packaging/3.5.0-beta-final": { - "dependencies": { - "NuGet.Common": "3.5.0-beta-final", - "NuGet.Packaging.Core": "3.5.0-beta-final" - }, - "runtime": { - "lib/netstandard1.3/NuGet.Packaging.dll": {} - } - }, - "NuGet.Packaging.Core/3.5.0-beta-final": { - "dependencies": { - "NuGet.Packaging.Core.Types": "3.5.0-beta-final" - }, - "runtime": { - "lib/netstandard1.3/NuGet.Packaging.Core.dll": {} - } - }, - "NuGet.Packaging.Core.Types/3.5.0-beta-final": { - "dependencies": { - "NuGet.Frameworks": "3.5.0-beta-final" - }, - "runtime": { - "lib/netstandard1.3/NuGet.Packaging.Core.Types.dll": {} - } - }, - "NuGet.RuntimeModel/3.5.0-beta-final": { - "dependencies": { - "Newtonsoft.Json": "9.0.1", - "NuGet.Frameworks": "3.5.0-beta-final", - "NuGet.Versioning": "3.5.0-beta-final" - }, - "runtime": { - "lib/netstandard1.3/NuGet.RuntimeModel.dll": {} - } - }, - "NuGet.Versioning/3.5.0-beta-final": { - "runtime": { - "lib/netstandard1.0/NuGet.Versioning.dll": {} - } - }, - "Portable.BouncyCastle/1.8.1.1": { - "runtime": { - "lib/netstandard1.3/crypto.dll": {} - } - }, - "Remotion.Linq/2.1.1": { - "runtime": { - "lib/netstandard1.0/Remotion.Linq.dll": {} - } - }, - "SQLite/3.12.2": { - "dependencies": { - "SQLite.Native": "3.12.2" - } - }, - "SQLite.Native/3.12.2": { - "runtimeTargets": { - "runtimes/linux-x64/native/libsqlite3.so": { - "rid": "linux-x64", - "assetType": "native" - }, - "runtimes/osx-x64/native/libsqlite3.dylib": { - "rid": "osx-x64", - "assetType": "native" - }, - "runtimes/win7-x64/native/sqlite3.dll": { - "rid": "win7-x64", - "assetType": "native" - }, - "runtimes/win7-x86/native/sqlite3.dll": { - "rid": "win7-x86", - "assetType": "native" - } - } - }, - "System.Collections.NonGeneric/4.0.1": { - "runtime": { - "lib/netstandard1.3/System.Collections.NonGeneric.dll": {} - } - }, - "System.Collections.Specialized/4.0.1": { - "dependencies": { - "System.Collections.NonGeneric": "4.0.1" - }, - "runtime": { - "lib/netstandard1.3/System.Collections.Specialized.dll": {} - } - }, - "System.ComponentModel.Primitives/4.1.0": { - "runtime": { - "lib/netstandard1.0/System.ComponentModel.Primitives.dll": {} - } - }, - "System.ComponentModel.TypeConverter/4.1.0": { - "dependencies": { - "System.Collections.NonGeneric": "4.0.1", - "System.Collections.Specialized": "4.0.1", - "System.ComponentModel.Primitives": "4.1.0" - }, - "runtime": { - "lib/netstandard1.5/System.ComponentModel.TypeConverter.dll": {} - } - }, - "System.Data.Common/4.1.0": { - "runtime": { - "lib/netstandard1.2/System.Data.Common.dll": {} - } - }, - "System.Diagnostics.Contracts/4.0.1": { - "runtime": { - "lib/netstandard1.0/System.Diagnostics.Contracts.dll": {} - } - }, - "System.Diagnostics.TraceSource/4.0.0": { - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Diagnostics.TraceSource.dll": { - "rid": "unix", - "assetType": "runtime" - }, - "runtimes/win/lib/netstandard1.3/System.Diagnostics.TraceSource.dll": { - "rid": "win", - "assetType": "runtime" - } - } - }, - "System.Interactive.Async/3.0.0": { - "runtime": { - "lib/netstandard1.0/System.Interactive.Async.dll": {} - } - }, - "System.Net.WebSockets/4.0.0": { - "runtime": { - "lib/netstandard1.3/System.Net.WebSockets.dll": {} - } - }, - "System.Net.WebSockets.Client/4.0.0": { - "dependencies": { - "System.Net.WebSockets": "4.0.0" - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Net.WebSockets.Client.dll": { - "rid": "unix", - "assetType": "runtime" - }, - "runtimes/win/lib/netstandard1.3/System.Net.WebSockets.Client.dll": { - "rid": "win", - "assetType": "runtime" - } - } - }, - "System.Private.DataContractSerialization/4.1.1": { - "dependencies": { - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Xml.XmlSerializer": "4.0.11" - }, - "runtime": { - "lib/netstandard1.3/System.Private.DataContractSerialization.dll": {} - } - }, - "System.Resources.ResourceWriter/4.0.0-beta-22816": { - "runtime": { - "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Resources.ResourceWriter.dll": {} - } - }, - "System.Runtime.CompilerServices.Unsafe/4.0.0": { - "runtime": { - "lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll": {} - } - }, - "System.Runtime.Serialization.Primitives/4.1.1": { - "runtime": { - "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll": {} - } - }, - "System.Runtime.Serialization.Xml/4.1.1": { - "dependencies": { - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime.Serialization.Primitives": "4.1.1" - }, - "runtime": { - "lib/netstandard1.3/System.Runtime.Serialization.Xml.dll": {} - } - }, - "System.Text.Encodings.Web/4.0.0": { - "runtime": { - "lib/netstandard1.0/System.Text.Encodings.Web.dll": {} - } - }, - "System.Xml.XmlSerializer/4.0.11": { - "runtime": { - "lib/netstandard1.3/System.Xml.XmlSerializer.dll": {} - } - }, - "VideoLibrary/1.3.4": { - "runtime": { - "lib/portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10/libvideo.dll": {} - } - }, - "xunit/2.1.0": { - "dependencies": { - "xunit.assert": "2.1.0", - "xunit.core": "2.1.0" - } - }, - "xunit.abstractions/2.0.0": { - "runtime": { - "lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.dll": {} - } - }, - "xunit.assert/2.1.0": { - "runtime": { - "lib/dotnet/xunit.assert.dll": {} - } - }, - "xunit.core/2.1.0": { - "dependencies": { - "xunit.abstractions": "2.0.0", - "xunit.extensibility.core": "2.1.0", - "xunit.extensibility.execution": "2.1.0" - } - }, - "xunit.extensibility.core/2.1.0": { - "dependencies": { - "xunit.abstractions": "2.0.0" - }, - "runtime": { - "lib/dotnet/xunit.core.dll": {} - } - }, - "xunit.extensibility.execution/2.1.0": { - "dependencies": { - "xunit.abstractions": "2.0.0", - "xunit.extensibility.core": "2.1.0" - }, - "runtime": { - "lib/dotnet/xunit.execution.dotnet.dll": {} - } - }, - "xunit.runner.reporters/2.1.0": { - "dependencies": { - "Newtonsoft.Json": "9.0.1", - "xunit.abstractions": "2.0.0", - "xunit.runner.utility": "2.1.0" - }, - "runtime": { - "lib/dotnet/xunit.runner.reporters.dotnet.dll": {} - } - }, - "xunit.runner.utility/2.1.0": { - "dependencies": { - "xunit.abstractions": "2.0.0" - }, - "runtime": { - "lib/dotnet/xunit.runner.utility.dotnet.dll": {} - } - }, - "Discord.Net/1.0.0-beta": { - "dependencies": { - "Newtonsoft.Json": "9.0.1", - "System.Net.WebSockets.Client": "4.0.0", - "System.Runtime.Serialization.Primitives": "4.1.1" - }, - "runtime": { - "Discord.Net.dll": {} - } - }, - "Discord.Net.Commands/1.0.0-beta": { - "dependencies": { - "Discord.Net": "1.0.0-beta" - }, - "runtime": { - "Discord.Net.Commands.dll": {} - } - }, - "NadekoBot/1.0.0": { - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0", - "Newtonsoft.Json": "9.0.1", - "Microsoft.Extensions.DependencyInjection": "1.0.0", - "Discord.Net.Commands": "1.0.0-beta", - "System.Resources.ResourceWriter": "4.0.0-beta-22816", - "Google.Apis.YouTube.v3": "1.15.0.582", - "Google.Apis.Urlshortener.v1": "1.15.0.138", - "Google.Apis.Customsearch.v1": "1.16.0.466", - "System.Diagnostics.Contracts": "4.0.1", - "NLog": "4.4.0-betav15", - "VideoLibrary": "1.3.4", - "Microsoft.EntityFrameworkCore": "1.0.0", - "Microsoft.EntityFrameworkCore.Design": "1.0.0-preview2-final", - "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0", - "CoreCLR-NCalc": "2.1.0", - "ImageProcessorCore": "1.0.0-alpha1045" - }, - "runtime": { - "NadekoBot.dll": {} - } - } - } - }, - "libraries": { - "tests/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "CoreCLR-NCalc/2.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-GUPPo99NUeAgLR5oIOLrApJx3Mx5BZEaKkK9OlDd/CmAYaACLHo68FnO+kCamsLH2+rvr6Rw3hAwzap4GVFV8Q==" - }, - "dotnet-test-xunit/1.0.0-rc2-build10015": { - "type": "package", - "serviceable": true, - "sha512": "sha512-2traZWYeJiFzau+1j9HcnSZ3rQLDyIrqKyYKCTbPPmu6lsQAtaOG5q+fuKS9Vaxczmh0IcvZ2hdWEuYmtVb9zw==" - }, - "Google.Apis/1.16.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-/p657K7J7p9aRl6QxUjQfNK0AobxnLHwDWdSqAr/17lZeQR+XMuEbIy7No80+zDeS39kKrRVWFlu1vHiws7gRQ==" - }, - "Google.Apis.Auth/1.15.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-gBMi03/CjodxVVjByVvvaE4To9905Oe6o59oxzP6AI5uZaab9zNclR+2cu6OcnS5wOIpf5DKAWd+jlSshuZ/cw==" - }, - "Google.Apis.Core/1.16.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-uATqVAsPHlpOf+3VV51xFEIghAMSLJyh1hqoVpnPOlkXBx7fkOcs0qP3tKXtmsaeuyC/7BYM1Tt42lyIyhY2lQ==" - }, - "Google.Apis.Customsearch.v1/1.16.0.466": { - "type": "package", - "serviceable": true, - "sha512": "sha512-uZ5VP/xKgTZCMJXgEfwHYEIR/7FsbtvL+bncm08a07RhWLFZTdRpCAkNL4b5wADHkblpkBe1VWKv43W77I4tJw==" - }, - "Google.Apis.Urlshortener.v1/1.15.0.138": { - "type": "package", - "serviceable": true, - "sha512": "sha512-67USnpqrk8tWO3LAgaK9qDQT6h8A7i7eUIOKm+OISThZoQuHiLCn6dbg46FVb597LUh57AxClSSbhnweYcYC3Q==" - }, - "Google.Apis.YouTube.v3/1.15.0.582": { - "type": "package", - "serviceable": true, - "sha512": "sha512-isR8FdI417PKLgLlNdOVDhduO+8yqPJ+vfID1Zx0MjAa/y3q655Plk2E/KNmsrjvXkqSSWwDCQHPz/Q1fat4tA==" - }, - "ImageProcessorCore/1.0.0-alpha1045": { - "type": "package", - "serviceable": true, - "sha512": "sha512-A5oL7SwFnzcu5eF26u49nf73joQghpEpCGwLb54dm6VI6ZGpjBJpKAyNKtJP30HtXy1VngiGJn/EcvCl8+JGcg==" - }, - "Microsoft.AspNetCore.Hosting.Abstractions/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-8r6qOl1jYyC523ZKM1QNl+6ijIoYWELWm0tpEWqtTIOg9DytHJWshB7usgqiuRmfHXM0EUziR6ouFY7iP7Tuzw==" - }, - "Microsoft.AspNetCore.Hosting.Server.Abstractions/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-sHZyhQEoW15T9E36rfdm5Ux6a6RZB0KNM79ccf2IplWASqmlRGhX4ydU3dzQRLhkHpLx16fnWOL0KScsO6BevQ==" - }, - "Microsoft.AspNetCore.Http.Abstractions/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-OJHlqdJOWKKBfsiVdX4Z4KCNuqvBIu6+1MVKuejRDyHnGyMkNHNoP/dtVzhPqvJXaJg9N4HlD0XNc6GDCFVffg==" - }, - "Microsoft.AspNetCore.Http.Features/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-6x7zgfbTo1gL9xMEb7EMO2ES/48bqwnWyfH09z+ubWhnzxdhHls8rtqstPylu5FPD9nid6Vo2pgDm5vufRAy5Q==" - }, - "Microsoft.Data.Sqlite/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-dezlCGK9zVrPNfoX1SL50GmWDdRQNcV1SBy3wuCn/a0g7Gc26PyvlA4BKapjnCK5N8LSQ2+1PdW2imiRr+YvxA==" - }, - "Microsoft.DiaSymReader/1.0.6": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ai2eBJrXlHa0hecUKnEyacH0iXxGNOMpc9X0s7VAeqqh5TSTW70QMhTRZ0FNCtf3R/W67K4a+uf3R7MASmAjrg==" - }, - "Microsoft.DiaSymReader.Native/1.3.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-mjATkm+L2UlP35gO/ExNutLDfgX4iiwz1l/8sYVoeGHp5WnkEDu0NfIEsC4Oy/pCYeRw0/6SGB+kArJVNNvENQ==" - }, - "Microsoft.DotNet.InternalAbstractions/1.0.0-rc2-002702": { - "type": "package", - "serviceable": true, - "sha512": "sha512-81Zp6K3oJY5zyoCtf7eguaZ+EnM3zawCtUKszBCLob1KH6Bu44ET2hokkk/6eMhTI2aQhbGrV9SaSjJ2K8DUDg==" - }, - "Microsoft.DotNet.ProjectModel/1.0.0-rc2-002702": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ryslqqMpPRcJma9kJn3V1/GydzUny6i6xfpQ0cqfWmlPdSQ9Hnh6x2l8yVqU+ueCiVffKWn/Or80moLwroXP/A==" - }, - "Microsoft.EntityFrameworkCore/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Vqg/v0cXRQZQH0gY3VHHqt0Bt5WZEkDReVpI1sNYKHVbVtnMYFKPp5SiNygosUJYrJk1rSGb8UVkplDNNUkEgg==" - }, - "Microsoft.EntityFrameworkCore.Design/1.0.0-preview2-final": { - "type": "package", - "serviceable": true, - "sha512": "sha512-RhyjntECuOVsrKjgFog9rv+V7oBsxBNxz5NviF7uHvDDQXLyHH3os/CewQxRNsve114AQH5RX/Bww6qAXlSORQ==" - }, - "Microsoft.EntityFrameworkCore.Design.Core/1.0.0-preview2-final": { - "type": "package", - "serviceable": true, - "sha512": "sha512-H3pHksGErQSEwWyvISlDYMslIXftS4XB2m0AvqBS08ECGHagh27mqm/oIyUetzzRad+C2V0zpguJmR14eMiRaA==" - }, - "Microsoft.EntityFrameworkCore.Relational/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-LGBab+7o0eq4C3YtvkAxK8W7Ia57eO0Ue0viQgt0STptQ2bUpLzV7q5LfbNl475rt6yTWa/vDQlYVaI64fwqdw==" - }, - "Microsoft.EntityFrameworkCore.Relational.Design/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-pw4EmGTp5U645is0Lyf0C6yU1uQGHVIZiRyxlDNNrRllL0ZjSFKTShv9qbE+fBpvvvArNp2HhDmP7d6vJAt0Dw==" - }, - "Microsoft.EntityFrameworkCore.Sqlite/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-GF5xfn90zVKbnCdNrjeH4j1IaAQ7FsHCWkTrdUKISzrPxG3LIizJaU2iu8YMfNhMYd5N1Y7R7SxF2dBh+5A+Ew==" - }, - "Microsoft.Extensions.Caching.Abstractions/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-IxlFDVOchL6tdR05bk7EiJvMtvZrVkZXBhkbXqc3GxOHOrHFGcN+92WoWFPeBpdpy8ot/Px5ZdXzt7k+2n1Bdg==" - }, - "Microsoft.Extensions.Caching.Memory/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-6+7zTufCnZ+tfrUo7RbIRR3LB0BxwOwxfXuo0IbLyIvgoToGpWuz5wYEDfCYNOvpig9tY8FA0I1uRHYmITMXMQ==" - }, - "Microsoft.Extensions.CommandLineUtils/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-kXJ8+YvEjp1j7ezJ7yvQMLYbRL6QlpBUjRoBfqghoe80yqZ5azYB90lL4iNeyRCznWF+cGm41aaIoFU0aOq7TQ==" - }, - "Microsoft.Extensions.Configuration.Abstractions/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-nJ+Et/rnDMDmGhxvFAKdN3va7y+YDPICv1nUEP8I4IKgOkWwr/dCZHMqxVhJFrkbW9ux8Kd7erC4mvxfZh0WnA==" - }, - "Microsoft.Extensions.DependencyInjection/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-zdtkiZNV6LB8xtpmfyUjP/9N9ZCL/ydQ+0bfjun38fbrk+MDEm9M2yeLzRdq+OIt5xExw/KU04wFaVwJ1bhQPg==" - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-+XwaNo3o9RhLQhUnnOBCaukeRi1X9yYc0Fzye9RlErSflKZdw0VgHtn6rvKo0FTionsW0x8QVULhKH+nkqVjQA==" - }, - "Microsoft.Extensions.DependencyModel/1.0.0-rc2-002702": { - "type": "package", - "serviceable": true, - "sha512": "sha512-xLEhTaEJw+3o49TNfPJ0I4ZBPe56kIIgHYmrQo6AibTfdaIV36TyvjznIGwRc53x87xKavq88PlV4tpL+jUiJQ==" - }, - "Microsoft.Extensions.FileProviders.Abstractions/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-4jsqTxG3py/hYSsOtZMkNJ2/CQqPdpwyK7bDUkrwHgqowCFSmx/C+R4IzQ+2AK2Up1fVcu+ldC0gktwidL828A==" - }, - "Microsoft.Extensions.Logging/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-0mDuASVrd/nMeBYIJSK+9lT3TSmWxUXP/ipVB1pF1ApMN5fqGCckPTNwmOfT4Z9wPkXGnhbwFTGrxZvbzTWxOg==" - }, - "Microsoft.Extensions.Logging.Abstractions/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-wHT6oY50q36mAXBRKtFaB7u07WxKC5u2M8fi3PqHOOnHyUo9gD0u1TlCNR8UObHQxKMYwqlgI8TLcErpt29n8A==" - }, - "Microsoft.Extensions.Options/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-SdP3yPKF++JTkoa91pBDiE70uQkR/gdXWzOnMPbSj+eOqY1vgY+b8RVl+gh7TrJ2wlCK2QqnQtvCQlPPZRK36w==" - }, - "Microsoft.Extensions.PlatformAbstractions/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-zyjUzrOmuevOAJpIo3Mt5GmpALVYCVdLZ99keMbmCxxgQH7oxzU58kGHzE6hAgYEiWsdfMJLjVR7r+vSmaJmtg==" - }, - "Microsoft.Extensions.Primitives/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-3q2vzfKEDjL6JFkRpk5SFA3zarYsO6+ZYgoucNImrUMzDn0mFbEOL5p9oPoWiypwypbJVVjWTf557bXZ0YFLig==" - }, - "Microsoft.Extensions.Testing.Abstractions/1.0.0-preview1-002702": { - "type": "package", - "serviceable": true, - "sha512": "sha512-NE4Efz4kvkztJ80CSifUlP0UaBP4iOOaeTVk6nrj+ZIJzhsRGLbecIe4oX8G82pkCkqFF9i8KTl7YYUwpQY5Wg==" - }, - "Newtonsoft.Json/9.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-U82mHQSKaIk+lpSVCbWYKNavmNH1i5xrExDEquU1i6I5pV6UMOqRnJRSlKO3cMPfcpp0RgDY+8jUXHdQ4IfXvw==" - }, - "NLog/4.4.0-betav15": { - "type": "package", - "serviceable": true, - "sha512": "sha512-LDRcdjv5VG9EWz+mnFqdSolUci+j+DBPIPjm7Xdam3xa1F9Rt7o0UpYoCnNRulqHzpKbU704o7Ad4ck9WxDhnw==" - }, - "NuGet.Common/3.5.0-beta-final": { - "type": "package", - "serviceable": true, - "sha512": "sha512-7eCg4ky9NtTnxY1+2VtDKIYX137QejH8Dsuw6fENU53N6OeoROsrv1MUm0pu4e3TF8VH1eL5G3Vx/G30VdXEDg==" - }, - "NuGet.Frameworks/3.5.0-beta-final": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Si7O1OFxUryBq3xuq2AIwADM8WUMIBQOmUdTJBSaxV+KesShLJfgrr7Dl+Tg/nVETSEArJS8ktscv7gjKqtosg==" - }, - "NuGet.Packaging/3.5.0-beta-final": { - "type": "package", - "serviceable": true, - "sha512": "sha512-wJSrtokTPmpIkNhJLiG5GPxdRFCVl6XB3MmgLCyRhD2O2wZVQqvvL6SELOz/61EU0C8m9ni/UiiNRqTEtH5QZw==" - }, - "NuGet.Packaging.Core/3.5.0-beta-final": { - "type": "package", - "serviceable": true, - "sha512": "sha512-sdc8dUnbjEpNzIK5h5frJgn7ARQjQLdXMC5YrMHoEh0sCJnd2p1Lu4JvHK7mqn/MurVCAvoAjNDyazzFaVCD0w==" - }, - "NuGet.Packaging.Core.Types/3.5.0-beta-final": { - "type": "package", - "serviceable": true, - "sha512": "sha512-35AVdtLFJFp66CI9EDS61iviOe4UsCwfGh7RILK3j2ihZtlbTIIS5ygjmS8GnTkhNpmdwQRIk/rUempv4ABBxQ==" - }, - "NuGet.RuntimeModel/3.5.0-beta-final": { - "type": "package", - "serviceable": true, - "sha512": "sha512-5opNw7zHG5wC0Qx9AzlopdPg48Tf/QVcVVKmPRuwUa3VBA1b9DBjY+1jCkaof8JRzyHZqLnxd6T9BuT98Jk0YQ==" - }, - "NuGet.Versioning/3.5.0-beta-final": { - "type": "package", - "serviceable": true, - "sha512": "sha512-fwFF9Mck1hgZVDvvJLU81gcaidMksfRoCwyjBALEXxnp1fJr4xLyGbTRdbf2OKI5OODGuUpxaMkcz7P4T8HsXw==" - }, - "Portable.BouncyCastle/1.8.1.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-bKqC2Me9ukybNYTBhlYd2sJ6j2kRV7SgB+JfiP2GueYq6QdM4Ym6PYV5eyrqb6KViOyd3zqQfJp0o6UW5ZG+GQ==" - }, - "Remotion.Linq/2.1.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-IJn0BqkvwEDpP+2qjvci7n4/a9f7DhKESLWb2/uG4xQh3rTkGTBUz69bI4IivCoKkTFAqjXxYDZw2K/npohjsw==" - }, - "SQLite/3.12.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-XYNQJt2eFqGluWP+fDaiNrV1v3kA+VsU2ygUjLx7zqzhIZKlAjSYMZLldmbGNnlNC5rKR+0LTrN0IA9dZkDyFw==" - }, - "SQLite.Native/3.12.2": { - "type": "package", - "serviceable": true, - "sha512": "sha512-/5BdEFTaCziE6K5OG0bjSUhPo+LRmFcmyriFWEZNSuHaiqSp69sVngTb/Yo8mH6JykMA79BFdCBLMW+2E3pnuA==" - }, - "System.Collections.NonGeneric/4.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==" - }, - "System.Collections.Specialized/4.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-/HKQyVP0yH1I0YtK7KJL/28snxHNH/bi+0lgk/+MbURF6ULhAE31MDI+NZDerNWu264YbxklXCCygISgm+HMug==" - }, - "System.ComponentModel.Primitives/4.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-sc/7eVCdxPrp3ljpgTKVaQGUXiW05phNWvtv/m2kocXqrUQvTVWKou1Edas2aDjTThLPZOxPYIGNb/HN0QjURg==" - }, - "System.ComponentModel.TypeConverter/4.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-MnDAlaeJZy9pdB5ZdOlwdxfpI+LJQ6e0hmH7d2+y2LkiD8DRJynyDYl4Xxf3fWFm7SbEwBZh4elcfzONQLOoQw==" - }, - "System.Data.Common/4.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-epU8jeTe7aE7RqGHq9rZ8b0Q4Ah7DgubzHQblgZMSqgW1saW868WmooSyC5ywf8upLBkcVLDu93W9GPWUYsU2Q==" - }, - "System.Diagnostics.Contracts/4.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-HvQQjy712vnlpPxaloZYkuE78Gn353L0SJLJVeLcNASeg9c4qla2a1Xq8I7B3jZoDzKPtHTkyVO7AZ5tpeQGuA==" - }, - "System.Diagnostics.TraceSource/4.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-6WVCczFZKXwpWpzd/iJkYnsmWTSFFiU24Xx/YdHXBcu+nFI/ehTgeqdJQFbtRPzbrO3KtRNjvkhtj4t5/WwWsA==" - }, - "System.Interactive.Async/3.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-UEM+WmG1Oq0bNbPx/E1jaIQ83QOrPfVDUyuYBtG6D6DpB77ytv9flPterMujumpHuoRjSc0ilSB8w41fQc05dw==" - }, - "System.Net.WebSockets/4.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==" - }, - "System.Net.WebSockets.Client/4.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-GY5h9cn0ZVsG4ORQqMytTldrqxet2RC2CSEsgWGf4XNW5jhL5SxzcUZph03xbZsgn7K3qMr+Rq+gkbJNI+FEXg==" - }, - "System.Private.DataContractSerialization/4.1.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==" - }, - "System.Resources.ResourceWriter/4.0.0-beta-22816": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Q6wpzkZjop1J+WJXl9H0OgXQvxDQxMkqA43AVENNW4SlTzIT8rFW7tum54xYZy3QCMKK8gIfOnVqA6VbgXRq1Q==" - }, - "System.Runtime.CompilerServices.Unsafe/4.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-LDvjxLx2fkThOFo/SC+901fJrh5artALmgzeSqnVxzvFp4q3HO8BkeLyshPdcbs5zpN7Xh9G23M6sDhgIPbG9A==" - }, - "System.Runtime.Serialization.Primitives/4.1.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==" - }, - "System.Runtime.Serialization.Xml/4.1.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-yqfKHkWUAdI0hdDIdD9KDzluKtZ8IIqLF3O7xIZlt6UTs1bOvFRpCvRTvGQva3Ak/ZM9/nq9IHBJ1tC4Ybcrjg==" - }, - "System.Text.Encodings.Web/4.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-TWZnuiJgPDAEEUfobD7njXvSVR2Toz+jvKWds6yL4oSztmKQfnWzucczjzA+6Dv1bktBdY71sZW1YN0X6m9chQ==" - }, - "System.Xml.XmlSerializer/4.0.11": { - "type": "package", - "serviceable": true, - "sha512": "sha512-FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==" - }, - "VideoLibrary/1.3.4": { - "type": "package", - "serviceable": true, - "sha512": "sha512-HZ2RAE9xx/sjJGnwm8etawoJXYluaYGas4bAFpE14S62NFodNKzUf7Cm9TQ+JFJxAdY+1g1FEKk1b6FPSv9aMg==" - }, - "xunit/2.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-u/7VQSOSXa7kSG4iK6Lcn7RqKZQ3hk7cnyMNVMpXHSP0RI5VQEtc44hvkG3LyWOVsx1dhUDD3rPAHAxyOUDQJw==" - }, - "xunit.abstractions/2.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-NAdxKQRzuLnCZ0g++x6i87/8rMBpQoRiRlRNLAqfODm2zJPbteHRoSER3DXfxnqrHXyBJT8rFaZ8uveBeQyaMA==" - }, - "xunit.assert/2.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Hhhw+YaTe+BGhbr57dxVE+6VJk8BfThqFFii1XIsSZ4qx+SSCixprJC10JkiLRVSTfWyT8W/4nAf6NQgIrmBxA==" - }, - "xunit.core/2.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-jlbYdPbnkPIRwJllcT/tQZCNsSElVDEymdpJfH79uTUrPARkELVYw9o/zhAjKZXmeikGqGK5C2Yny4gTNoEu0Q==" - }, - "xunit.extensibility.core/2.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ANWM3WxeaeHjACLRlmrv+xOc0WAcr3cvIiJE+gqbdzTv1NCH4p1VDyT+8WmmdCc9db0WFiJLaDy4YTYsL1wWXw==" - }, - "xunit.extensibility.execution/2.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-tAoNafoVknKa3sZJPMvtZRnhOSk3gasEGeceSm7w/gyGwsR/OXFxndWJB1xSHeoy33d3Z6jFqn4A3j+pWCF0Ew==" - }, - "xunit.runner.reporters/2.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ja0kJrvwSiho2TRFpfHfa+6tGJI5edcyD8fdekTkjn7Us17PbGqglIihRe8sR9YFAmS4ipEC8+7CXOM/b69ENQ==" - }, - "xunit.runner.utility/2.1.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-jJJHROwskIhdQuYw7exe7KaW20dOCa+lzV/lY7Zdh1ZZzdUPpScMi9ReJIutqiyjhemGF8V/GaMIPrcjyZ4ioQ==" - }, - "Discord.Net/1.0.0-beta": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "Discord.Net.Commands/1.0.0-beta": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "NadekoBot/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - } - } -} \ No newline at end of file diff --git a/src/tests/bin/Debug/netcoreapp1.0/tests.dll b/src/tests/bin/Debug/netcoreapp1.0/tests.dll deleted file mode 100644 index 3961e8eacec0c60f12b96c009e6b42a2d9db3ec8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6144 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 diff --git a/src/tests/bin/Debug/netcoreapp1.0/tests.pdb b/src/tests/bin/Debug/netcoreapp1.0/tests.pdb deleted file mode 100644 index d2221260776b14b14aaf00d282b1cd20932acef1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1388 zcmZ8hOK1~O6us|t@@Y-mq_zG{OH)6H#MTe~e`!@}ZLN;ABBCafp$3yoJ8x30hzt}I zK~P*N2%>_BbkUUyL3HIpTnH{)xwjySE8X}xcV?oJf%E2_b3b$6oBLiyKbR3Dh@TiR z+?VN?>`8Zf0)^=^Yd~r^pJVMUFbnt86{5?Mh#gb9V;9O}itRJdG}cCRn#H_>=Lbgm z`|y4Teh)}xidGK%-px06F0FmuH+}Ks+G4}R+=mZyqmXHIzNGpF@~UbB4*_*R97qDq zKp5bvt2VatgY^DlXq_*h8WuRV31|e^_a)T#@D}t5*dqiT2PT0hz#Om!sr*OKJ_)?atS>d|32b?QdjQMIn!Ws(v7lN~QIN%4tHSkElUx0_eqXGX0 z9tN)u_+#)0cr4(nz#G7u0?uomSHl}?c=Lap_cdO_A$fHR>cUKV>!_nnmOZ^X`aAG% z6v1i}e?0{)_2$@R{!9Gy>Rmf_Z8>wMXc^g}>L%MPS(9d-3S?)?d8k=?H&?-RFldUg1bd_c>GvU&5om9d=kpp~x_O_d%t z?NULhf>l17_K@3&y;_ zbf{3C2%V^u3r$s zkYg%GMUU~AHdN~=ciO$`-f(ZbcisE$j63T-oBy?PzSQ<*`qz%!!iOLCp1T?E`nhTp zTP>RE1*K#(Oq~)<&@8d9^|Aq*i@uf@&~$8DA<+;Ci7sm7Asyj7W@R33rulHSIv_;Y~+Vuah zoCY*#1FRup4_^|9*wu+oX`?aPtKn?pd#$vYU645m10`sKqy>ZmTK%M67EZt?9|`no zRfvt!I*v&4iV+*5rM%*#MlHNUEi}j#3 Date: Fri, 30 Sep 2016 04:24:56 +0200 Subject: [PATCH 018/135] Actually had Leave command done in another place commented out --- .../Modules/Administration/Administration.cs | 12 --- .../Commands/PlayingRotateCommands.cs | 1 - .../Administration/Commands/SelfCommands.cs | 92 ++++++++++--------- 3 files changed, 47 insertions(+), 58 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index 8541f8f2..5eca1ac9 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -711,17 +711,5 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync($"Successfuly added a new donator. Total donated amount from this user: {don.Amount} 👑").ConfigureAwait(false); } - - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] - [RequireContext(ContextType.Guild)] - [OwnerOnly] - public async Task Leave(IUserMessage imsg, [Remainder] IGuild guild) - { - var channel = (ITextChannel)imsg.Channel; - - await guild.LeaveAsync(); - - await channel.SendMessageAsync($"Left guild **{guild.Name}**\nId: `{guild.Id}`."); - } } } diff --git a/src/NadekoBot/Modules/Administration/Commands/PlayingRotateCommands.cs b/src/NadekoBot/Modules/Administration/Commands/PlayingRotateCommands.cs index 7bc44758..d482a256 100644 --- a/src/NadekoBot/Modules/Administration/Commands/PlayingRotateCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/PlayingRotateCommands.cs @@ -13,7 +13,6 @@ using System.Text; using System.Threading; using System.Threading.Tasks; -//todo owner only namespace NadekoBot.Modules.Administration { public partial class Administration diff --git a/src/NadekoBot/Modules/Administration/Commands/SelfCommands.cs b/src/NadekoBot/Modules/Administration/Commands/SelfCommands.cs index ef6c11a6..19b80c89 100644 --- a/src/NadekoBot/Modules/Administration/Commands/SelfCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/SelfCommands.cs @@ -1,50 +1,52 @@ -//using Discord; -//using Discord.Commands; -//using Discord.WebSocket; -//using NadekoBot.Attributes; -//using System.Linq; -//using System.Threading.Tasks; +using Discord; +using Discord.Commands; +using Discord.WebSocket; +using NadekoBot.Attributes; +using System.Linq; +using System.Threading.Tasks; -////todo owner only -//namespace NadekoBot.Modules.Administration -//{ -// public partial class Administration -// { -// [Group] -// class SelfCommands -// { -// private DiscordSocketClient _client; +//todo owner only +namespace NadekoBot.Modules.Administration +{ + public partial class Administration + { + [Group] + class SelfCommands + { + private DiscordSocketClient _client; -// public SelfCommands(DiscordSocketClient client) -// { -// this._client = client; -// } + public SelfCommands(DiscordSocketClient client) + { + this._client = client; + } -// [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] -// [RequireContext(ContextType.Guild)] -// public async Task Leave(IUserMessage umsg, [Remainder] string guildStr) -// { -// var channel = (ITextChannel)umsg.Channel; + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + [OwnerOnly] + public async Task Leave(IUserMessage umsg, [Remainder] string guildStr) + { + var channel = (ITextChannel)umsg.Channel; -// guildStr = guildStr.ToUpperInvariant(); -// var server = _client.GetGuilds().FirstOrDefault(g => g.Id.ToString() == guildStr) ?? _client.GetGuilds().FirstOrDefault(g => g.Name.ToUpperInvariant() == guildStr); + guildStr = guildStr.Trim().ToUpperInvariant(); + var server = _client.GetGuilds().FirstOrDefault(g => g.Id.ToString().Trim().ToUpperInvariant() == guildStr) ?? + _client.GetGuilds().FirstOrDefault(g => g.Name.Trim().ToUpperInvariant() == guildStr); -// if (server == null) -// { -// await channel.SendMessageAsync("Cannot find that server").ConfigureAwait(false); -// return; -// } -// if (server.OwnerId != _client.GetCurrentUser().Id) -// { -// await server.LeaveAsync().ConfigureAwait(false); -// await channel.SendMessageAsync("Left server " + server.Name).ConfigureAwait(false); -// } -// else -// { -// await server.DeleteAsync().ConfigureAwait(false); -// await channel.SendMessageAsync("Deleted server " + server.Name).ConfigureAwait(false); -// } -// } -// } -// } -//} \ No newline at end of file + if (server == null) + { + await channel.SendMessageAsync("Cannot find that server").ConfigureAwait(false); + return; + } + if (server.OwnerId != _client.GetCurrentUser().Id) + { + await server.LeaveAsync().ConfigureAwait(false); + await channel.SendMessageAsync("Left server " + server.Name).ConfigureAwait(false); + } + else + { + await server.DeleteAsync().ConfigureAwait(false); + await channel.SendMessageAsync("Deleted server " + server.Name).ConfigureAwait(false); + } + } + } + } +} \ No newline at end of file From 46a6bddb55b0b7d68a1c76e3484ab6610807c940 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Fri, 30 Sep 2016 04:45:23 +0200 Subject: [PATCH 019/135] Fixed some minor things --- src/NadekoBot/Modules/Administration/Commands/SelfCommands.cs | 1 - src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs | 2 +- src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs | 2 ++ src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs | 2 +- src/NadekoBot/Resources/CommandStrings.Designer.cs | 4 ++-- src/NadekoBot/Resources/CommandStrings.resx | 4 ++-- 6 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Commands/SelfCommands.cs b/src/NadekoBot/Modules/Administration/Commands/SelfCommands.cs index 19b80c89..d37c2398 100644 --- a/src/NadekoBot/Modules/Administration/Commands/SelfCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/SelfCommands.cs @@ -5,7 +5,6 @@ using NadekoBot.Attributes; using System.Linq; using System.Threading.Tasks; -//todo owner only namespace NadekoBot.Modules.Administration { public partial class Administration diff --git a/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs index 24e2b4c5..9d0aa94d 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs @@ -70,7 +70,7 @@ namespace NadekoBot.Modules.Gambling arr[i] = rng.Next(1, n2 + 1); } var elemCnt = 0; - await channel.SendMessageAsync($"`{umsg.Author.Mention} rolled {n1} {(n1 == 1 ? "die" : "dice")} 1-{n2}.`\n`Result:` " + string.Join(", ", (ordered ? arr.OrderBy(x => x).AsEnumerable() : arr).Select(x => elemCnt++ % 2 == 0 ? $"**{x}**" : x.ToString()))).ConfigureAwait(false); + await channel.SendMessageAsync($"{umsg.Author.Mention} rolled {n1} {(n1 == 1 ? "die" : "dice")} 1-{n2}.\n`Result:` " + string.Join(", ", (ordered ? arr.OrderBy(x => x).AsEnumerable() : arr).Select(x => elemCnt++ % 2 == 0 ? $"**{x}**" : x.ToString()))).ConfigureAwait(false); } } } diff --git a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs index f2474d50..d45382aa 100644 --- a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs @@ -16,6 +16,8 @@ using System.Threading.Tasks; namespace NadekoBot.Modules.Games { + //todo make currency generation change and cooldown modifyable + //only by bot owner through commands public partial class Games { ///

diff --git a/src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs b/src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs index 481e250b..81afbe0e 100644 --- a/src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs @@ -27,7 +27,7 @@ namespace NadekoBot.Modules.Searches } [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] - public async Task Osu(IUserMessage umsg, string usr, string mode) + public async Task Osu(IUserMessage umsg, string usr, [Remainder] string mode = null) { var channel = (ITextChannel)umsg.Channel; diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index ffa02391..8253f6ca 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -2625,7 +2625,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Toggles currency generation on this channel. Every posted message will have 2% chance to spawn a NadekoFlower. Optional parameter cooldown time in minutes, 5 minutes by default. Requires Manage Messages permission.. + /// Looks up a localized string similar to Toggles currency generation on this channel. Every posted message will have 2% chance to spawn a NadekoFlower. Requires Manage Messages permission.. /// public static string gencurrency_desc { get { @@ -2634,7 +2634,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `>gc` or `>gc 60`. + /// Looks up a localized string similar to `>gc`. /// public static string gencurrency_summary { get { diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index 59917de7..ad27382f 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -1588,10 +1588,10 @@ gencurrency gc - Toggles currency generation on this channel. Every posted message will have 2% chance to spawn a NadekoFlower. Optional parameter cooldown time in minutes, 5 minutes by default. Requires Manage Messages permission. + Toggles currency generation on this channel. Every posted message will have 2% chance to spawn a NadekoFlower. Requires Manage Messages permission. - `>gc` or `>gc 60` + `>gc` leet From 0d918d39c957616b145b27d73372f46d94741323 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Fri, 30 Sep 2016 05:58:44 +0200 Subject: [PATCH 020/135] ShardedDiscordClient Implemented. I'm not feeling well --- .gitignore | 3 +- .../Modules/Administration/Administration.cs | 4 +- .../Administration/Commands/LogCommand.cs | 4 +- .../Commands/RatelimitCommand.cs | 2 +- .../Administration/Commands/SelfCommands.cs | 4 +- .../Modules/ClashOfClans/ClashOfClans.cs | 2 +- src/NadekoBot/Modules/DiscordModule.cs | 4 +- src/NadekoBot/Modules/Gambling/Gambling.cs | 2 +- .../Games/Commands/Trivia/TriviaGame.cs | 2 +- src/NadekoBot/Modules/Games/Games.cs | 4 +- src/NadekoBot/Modules/Help/Help.cs | 7 +- src/NadekoBot/Modules/Music/Music.cs | 29 +++++-- src/NadekoBot/Modules/NSFW/NSFW.cs | 2 +- .../Modules/Permissions/Permissions.cs | 2 +- src/NadekoBot/Modules/Pokemon/Pokemon.cs | 2 +- src/NadekoBot/Modules/Searches/Searches.cs | 2 +- .../Modules/Translator/Translator.cs | 2 +- src/NadekoBot/Modules/Utility/Utility.cs | 2 +- src/NadekoBot/NadekoBot.cs | 6 +- src/NadekoBot/Services/CommandHandler.cs | 4 +- src/NadekoBot/Services/Impl/StatsService.cs | 12 ++- src/NadekoBot/ShardedDiscordClient.cs | 83 +++++++++++++++++++ 22 files changed, 145 insertions(+), 39 deletions(-) create mode 100644 src/NadekoBot/ShardedDiscordClient.cs diff --git a/.gitignore b/.gitignore index df1024a7..a8e78718 100644 --- a/.gitignore +++ b/.gitignore @@ -31,4 +31,5 @@ src/NadekoBot/project.lock.json NadekoBot.sln.iml .idea/workspace.xml .idea/vcs.xml -.idea/modules.xml \ No newline at end of file +.idea/modules.xml +src/tests/bin \ No newline at end of file diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index 5eca1ac9..a3ba38df 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -22,7 +22,7 @@ namespace NadekoBot.Modules.Administration [NadekoModule("Administration", ".")] public partial class Administration : DiscordModule { - public Administration(ILocalization loc, CommandService cmds, DiscordSocketClient client) : base(loc, cmds, client) + public Administration(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) { NadekoBot.CommandHandler.CommandExecuted += DelMsgOnCmd_Handler; } @@ -614,7 +614,7 @@ namespace NadekoBot.Modules.Administration { var channel = (ITextChannel)umsg.Channel; - foreach (var ch in (await _client.GetGuildsAsync().ConfigureAwait(false)).Select(async g => await g.GetDefaultChannelAsync().ConfigureAwait(false))) + foreach (var ch in _client.GetGuilds().Select(async g => await g.GetDefaultChannelAsync().ConfigureAwait(false))) { await channel.SendMessageAsync(message).ConfigureAwait(false); } diff --git a/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs b/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs index d985da63..b7be6999 100644 --- a/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs +++ b/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs @@ -22,7 +22,7 @@ namespace NadekoBot.Modules.Administration [Group] public class LogCommands { - private DiscordSocketClient _client { get; } + private ShardedDiscordClient _client { get; } private Logger _log { get; } private string prettyCurrentTime => $"【{DateTime.Now:HH:mm:ss}】"; @@ -33,7 +33,7 @@ namespace NadekoBot.Modules.Administration private Timer t; private IGoogleApiService _google { get; } - public LogCommands(DiscordSocketClient client, IGoogleApiService google) + public LogCommands(ShardedDiscordClient client, IGoogleApiService google) { _client = client; _google = google; diff --git a/src/NadekoBot/Modules/Administration/Commands/RatelimitCommand.cs b/src/NadekoBot/Modules/Administration/Commands/RatelimitCommand.cs index fa606adb..ee612047 100644 --- a/src/NadekoBot/Modules/Administration/Commands/RatelimitCommand.cs +++ b/src/NadekoBot/Modules/Administration/Commands/RatelimitCommand.cs @@ -17,7 +17,7 @@ namespace NadekoBot.Modules.Administration { public static ConcurrentDictionary RatelimitingChannels = new ConcurrentDictionary(); - private DiscordSocketClient _client { get; } + private ShardedDiscordClient _client { get; } public class Ratelimiter { diff --git a/src/NadekoBot/Modules/Administration/Commands/SelfCommands.cs b/src/NadekoBot/Modules/Administration/Commands/SelfCommands.cs index d37c2398..78444817 100644 --- a/src/NadekoBot/Modules/Administration/Commands/SelfCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/SelfCommands.cs @@ -12,9 +12,9 @@ namespace NadekoBot.Modules.Administration [Group] class SelfCommands { - private DiscordSocketClient _client; + private ShardedDiscordClient _client; - public SelfCommands(DiscordSocketClient client) + public SelfCommands(ShardedDiscordClient client) { this._client = client; } diff --git a/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs b/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs index 04ac67aa..c643dd46 100644 --- a/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs +++ b/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs @@ -19,7 +19,7 @@ namespace NadekoBot.Modules.ClashOfClans { public static ConcurrentDictionary> ClashWars { get; set; } = new ConcurrentDictionary>(); - public ClashOfClans(ILocalization loc, CommandService cmds, DiscordSocketClient client) : base(loc, cmds, client) + public ClashOfClans(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) { using (var uow = DbHandler.UnitOfWork()) { diff --git a/src/NadekoBot/Modules/DiscordModule.cs b/src/NadekoBot/Modules/DiscordModule.cs index e73d1789..5ad80226 100644 --- a/src/NadekoBot/Modules/DiscordModule.cs +++ b/src/NadekoBot/Modules/DiscordModule.cs @@ -10,11 +10,11 @@ namespace NadekoBot.Modules { protected ILocalization _l { get; } protected CommandService _commands { get; } - protected DiscordSocketClient _client { get; } + protected ShardedDiscordClient _client { get; } protected Logger _log { get; } private string _prefix { get; } - public DiscordModule(ILocalization loc, CommandService cmds, DiscordSocketClient client) + public DiscordModule(ILocalization loc, CommandService cmds, ShardedDiscordClient client) { string prefix; if (NadekoBot.ModulePrefixes.TryGetValue(this.GetType().Name, out prefix)) diff --git a/src/NadekoBot/Modules/Gambling/Gambling.cs b/src/NadekoBot/Modules/Gambling/Gambling.cs index 216b5df0..6969155f 100644 --- a/src/NadekoBot/Modules/Gambling/Gambling.cs +++ b/src/NadekoBot/Modules/Gambling/Gambling.cs @@ -21,7 +21,7 @@ namespace NadekoBot.Modules.Gambling public static string CurrencyPluralName { get; set; } public static string CurrencySign { get; set; } - public Gambling(ILocalization loc, CommandService cmds, DiscordSocketClient client) : base(loc, cmds, client) + public Gambling(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) { using (var uow = DbHandler.UnitOfWork()) { diff --git a/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs b/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs index c4e960a6..c4b27ff5 100644 --- a/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs +++ b/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs @@ -111,7 +111,7 @@ namespace NadekoBot.Modules.Games.Trivia { if (!(umsg.Channel is IGuildChannel && umsg.Channel is ITextChannel)) return; if ((umsg.Channel as ITextChannel).Guild != guild) return; - if (umsg.Author.Id == (await NadekoBot.Client.GetCurrentUserAsync()).Id) return; + if (umsg.Author.Id == NadekoBot.Client.GetCurrentUser().Id) return; var guildUser = umsg.Author as IGuildUser; diff --git a/src/NadekoBot/Modules/Games/Games.cs b/src/NadekoBot/Modules/Games/Games.cs index ea57db12..0dbb4d58 100644 --- a/src/NadekoBot/Modules/Games/Games.cs +++ b/src/NadekoBot/Modules/Games/Games.cs @@ -23,7 +23,7 @@ namespace NadekoBot.Modules.Games } } } - public Games(ILocalization loc, CommandService cmds, DiscordSocketClient client) : base(loc, cmds, client) + public Games(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) { } @@ -97,7 +97,7 @@ namespace NadekoBot.Modules.Games else if ((pick == 0 && nadekoPick == 1) || (pick == 1 && nadekoPick == 2) || (pick == 2 && nadekoPick == 0)) - msg = $"{(await NadekoBot.Client.GetCurrentUserAsync()).Mention} won! :{GetRPSPick(nadekoPick)}: beats :{GetRPSPick(pick)}:"; + msg = $"{NadekoBot.Client.GetCurrentUser().Mention} won! :{GetRPSPick(nadekoPick)}: beats :{GetRPSPick(pick)}:"; else msg = $"{umsg.Author.Mention} won! :{GetRPSPick(pick)}: beats :{GetRPSPick(nadekoPick)}:"; diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index 4a36bd43..bb6fcd65 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -23,7 +23,7 @@ namespace NadekoBot.Modules.Help return str + String.Format(str, NadekoBot.Credentials.ClientId); } } - public Help(ILocalization loc, CommandService cmds, DiscordSocketClient client) : base(loc, cmds, client) + public Help(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) { } @@ -99,7 +99,7 @@ namespace NadekoBot.Modules.Help [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [OwnerOnly] - public async Task Hgit(IUserMessage umsg) + public Task Hgit(IUserMessage umsg) { var helpstr = new StringBuilder(); @@ -115,12 +115,13 @@ namespace NadekoBot.Modules.Help } helpstr.AppendLine($"`{com.Text}` {string.Join(" ", com.Aliases.Skip(1).Select(a=>"`"+a+"`"))} | {com.Remarks} | {com.Summary}"); } - helpstr = helpstr.Replace((await NadekoBot.Client.GetCurrentUserAsync()).Username , "@BotName"); + helpstr = helpstr.Replace(NadekoBot.Client.GetCurrentUser().Username , "@BotName"); #if DEBUG File.WriteAllText("../../../../../docs/Commands List.md", helpstr.ToString()); #else File.WriteAllText("commandlist.md", helpstr.ToString()); #endif + return Task.CompletedTask; } [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] diff --git a/src/NadekoBot/Modules/Music/Music.cs b/src/NadekoBot/Modules/Music/Music.cs index b9ad5fd6..abc9702d 100644 --- a/src/NadekoBot/Modules/Music/Music.cs +++ b/src/NadekoBot/Modules/Music/Music.cs @@ -25,7 +25,7 @@ namespace NadekoBot.Modules.Music public const string MusicDataPath = "data/musicdata"; private IGoogleApiService _google; - public Music(ILocalization loc, CommandService cmds, DiscordSocketClient client, IGoogleApiService google) : base(loc, cmds, client) + public Music(ILocalization loc, CommandService cmds, ShardedDiscordClient client, IGoogleApiService google) : base(loc, cmds, client) { //it can fail if its currenctly opened or doesn't exist. Either way i don't care try { Directory.Delete(MusicDataPath, true); } catch { } @@ -520,16 +520,33 @@ namespace NadekoBot.Modules.Music await channel.SendMessageAsync($"🎵🔁`Repeat playlist {(currentValue ? "enabled" : "disabled")}`").ConfigureAwait(false); } - /// - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + //[LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] //[RequireContext(ContextType.Guild)] //public async Task Save(IUserMessage umsg, [Remainder] string name) //{ // var channel = (ITextChannel)umsg.Channel; + // MusicPlayer musicPlayer; + // if (!MusicPlayers.TryGetValue(channel.Guild.Id, out musicPlayer)) + // return; + // var curSong = musicPlayer.CurrentSong; + // var items = musicPlayer.Playlist.Append(curSong); + + // MusicPlaylist playlist; + // using (var uow = DbHandler.UnitOfWork()) + // { + // playlist = new MusicPlaylist + // { + // Name = name, + // Songs = items.ToList() + // }; + // uow.MusicPlaylists.Add(playlist); + // } + + // await channel.SendMessageAsync($"Playlist saved as {name}, id: {playlist.Id}."); //} - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + //[LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] //[RequireContext(ContextType.Guild)] //public async Task Load(IUserMessage umsg, [Remainder] string name) //{ @@ -537,7 +554,7 @@ namespace NadekoBot.Modules.Music //} - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + //[LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] //[RequireContext(ContextType.Guild)] //public async Task Playlists(IUserMessage umsg, [Remainder] string num) //{ @@ -545,7 +562,7 @@ namespace NadekoBot.Modules.Music //} - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + //[LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] //[RequireContext(ContextType.Guild)] //public async Task DeletePlaylist(IUserMessage umsg, [Remainder] string pl) //{ diff --git a/src/NadekoBot/Modules/NSFW/NSFW.cs b/src/NadekoBot/Modules/NSFW/NSFW.cs index 3b7a6e62..f64686d9 100644 --- a/src/NadekoBot/Modules/NSFW/NSFW.cs +++ b/src/NadekoBot/Modules/NSFW/NSFW.cs @@ -18,7 +18,7 @@ namespace NadekoBot.Modules.NSFW [NadekoModule("NSFW", "~")] public class NSFW : DiscordModule { - public NSFW(ILocalization loc, CommandService cmds, DiscordSocketClient client) : base(loc, cmds, client) + public NSFW(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) { } diff --git a/src/NadekoBot/Modules/Permissions/Permissions.cs b/src/NadekoBot/Modules/Permissions/Permissions.cs index 17227d3a..087d3755 100644 --- a/src/NadekoBot/Modules/Permissions/Permissions.cs +++ b/src/NadekoBot/Modules/Permissions/Permissions.cs @@ -17,7 +17,7 @@ namespace NadekoBot.Modules.Permissions [NadekoModule("Permissions", ";")] public class Permissions : DiscordModule { - public Permissions(ILocalization loc, CommandService cmds, DiscordSocketClient client) : base(loc, cmds, client) + public Permissions(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) { } diff --git a/src/NadekoBot/Modules/Pokemon/Pokemon.cs b/src/NadekoBot/Modules/Pokemon/Pokemon.cs index 870aa482..1633252e 100644 --- a/src/NadekoBot/Modules/Pokemon/Pokemon.cs +++ b/src/NadekoBot/Modules/Pokemon/Pokemon.cs @@ -10,7 +10,7 @@ namespace NadekoBot.Modules.Games [Module(">", AppendSpace = false)] public partial class Pokemon : DiscordModule { - public Pokemon(ILocalization loc, CommandService cmds, DiscordSocketClient client) : base(loc, cmds, client) + public Pokemon(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) { } diff --git a/src/NadekoBot/Modules/Searches/Searches.cs b/src/NadekoBot/Modules/Searches/Searches.cs index cb886063..06ab3933 100644 --- a/src/NadekoBot/Modules/Searches/Searches.cs +++ b/src/NadekoBot/Modules/Searches/Searches.cs @@ -25,7 +25,7 @@ namespace NadekoBot.Modules.Searches { private IGoogleApiService _google { get; } - public Searches(ILocalization loc, CommandService cmds, DiscordSocketClient client, IGoogleApiService youtube) : base(loc, cmds, client) + public Searches(ILocalization loc, CommandService cmds, ShardedDiscordClient client, IGoogleApiService youtube) : base(loc, cmds, client) { _google = youtube; } diff --git a/src/NadekoBot/Modules/Translator/Translator.cs b/src/NadekoBot/Modules/Translator/Translator.cs index 4d66a7a6..bc0d6c8d 100644 --- a/src/NadekoBot/Modules/Translator/Translator.cs +++ b/src/NadekoBot/Modules/Translator/Translator.cs @@ -12,7 +12,7 @@ namespace NadekoBot.Modules.Translator [NadekoModule("Translator", "~")] public class Translator : DiscordModule { - public Translator(ILocalization loc, CommandService cmds, DiscordSocketClient client) : base(loc, cmds, client) + public Translator(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) { } diff --git a/src/NadekoBot/Modules/Utility/Utility.cs b/src/NadekoBot/Modules/Utility/Utility.cs index 2614faea..32f37096 100644 --- a/src/NadekoBot/Modules/Utility/Utility.cs +++ b/src/NadekoBot/Modules/Utility/Utility.cs @@ -18,7 +18,7 @@ namespace NadekoBot.Modules.Utility [NadekoModule("Utility", ".")] public partial class Utility : DiscordModule { - public Utility(ILocalization loc, CommandService cmds, DiscordSocketClient client) : base(loc, cmds, client) + public Utility(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) { } diff --git a/src/NadekoBot/NadekoBot.cs b/src/NadekoBot/NadekoBot.cs index 63413e9b..9d4b0985 100644 --- a/src/NadekoBot/NadekoBot.cs +++ b/src/NadekoBot/NadekoBot.cs @@ -26,7 +26,7 @@ namespace NadekoBot public static CommandService CommandService { get; private set; } public static CommandHandler CommandHandler { get; private set; } - public static DiscordSocketClient Client { get; private set; } + public static ShardedDiscordClient Client { get; private set; } public static Localization Localizer { get; private set; } public static BotCredentials Credentials { get; private set; } @@ -43,7 +43,7 @@ namespace NadekoBot _log.Info("Starting NadekoBot v" + typeof(NadekoBot).GetTypeInfo().Assembly.GetCustomAttribute().InformationalVersion); //create client - Client = new DiscordSocketClient(new DiscordSocketConfig + Client = new ShardedDiscordClient (new DiscordSocketConfig { AudioMode = Discord.Audio.AudioMode.Outgoing, MessageCacheSize = 10, @@ -61,7 +61,7 @@ namespace NadekoBot //setup DI var depMap = new DependencyMap(); depMap.Add(Localizer); - depMap.Add(Client); + depMap.Add(Client); depMap.Add(CommandService); depMap.Add(Google); diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index 01c18b59..7a562ca7 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -18,13 +18,13 @@ namespace NadekoBot.Services { public class CommandHandler { - private DiscordSocketClient _client; + private ShardedDiscordClient _client; private CommandService _commandService; private Logger _log; public event EventHandler CommandExecuted = delegate { }; - public CommandHandler(DiscordSocketClient client, CommandService commandService) + public CommandHandler(ShardedDiscordClient client, CommandService commandService) { _client = client; _commandService = commandService; diff --git a/src/NadekoBot/Services/Impl/StatsService.cs b/src/NadekoBot/Services/Impl/StatsService.cs index 3d33bb9f..a2ec5b65 100644 --- a/src/NadekoBot/Services/Impl/StatsService.cs +++ b/src/NadekoBot/Services/Impl/StatsService.cs @@ -13,7 +13,7 @@ namespace NadekoBot.Services.Impl public class StatsService : IStatsService { private int messageCounter; - private DiscordSocketClient client; + private ShardedDiscordClient client; private DateTime started; private int commandsRan = 0; @@ -22,7 +22,7 @@ namespace NadekoBot.Services.Impl public string Heap => Math.Round((double)GC.GetTotalMemory(false) / 1.MiB(), 2).ToString(); - public StatsService(DiscordSocketClient client, CommandHandler cmdHandler) + public StatsService(ShardedDiscordClient client, CommandHandler cmdHandler) { this.client = client; @@ -33,14 +33,18 @@ namespace NadekoBot.Services.Impl this.client.Disconnected += _ => Reset(); } - public Task Print() => Task.FromResult($@"`Author: Kwoth` `Library: Discord.Net` + public Task Print() + { + var curUser = client.GetCurrentUser(); + return Task.FromResult($@"`Author: Kwoth` `Library: Discord.Net` `Bot Version: {BotVersion}` -`Bot id: {(client.GetCurrentUser()).Id}` +`Bot id: {curUser.Id}` `Owners' Ids: {string.Join(", ", NadekoBot.Credentials.OwnerIds)}` `Uptime: {GetUptimeString()}` `Servers: {client.GetGuilds().Count} | TextChannels: {client.GetGuilds().SelectMany(g => g.GetChannels().Where(c => c is ITextChannel)).Count()} | VoiceChannels: {client.GetGuilds().SelectMany(g => g.GetChannels().Where(c => c is IVoiceChannel)).Count()}` `Commands Ran this session: {commandsRan}` `Messages: {messageCounter} ({messageCounter / (double)GetUptime().TotalSeconds:F2}/sec)` `Heap: {Heap} MB`"); + } public Task Reset() { diff --git a/src/NadekoBot/ShardedDiscordClient.cs b/src/NadekoBot/ShardedDiscordClient.cs new file mode 100644 index 00000000..6e454a4e --- /dev/null +++ b/src/NadekoBot/ShardedDiscordClient.cs @@ -0,0 +1,83 @@ +using Discord; +using Discord.WebSocket; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Discord.API; +using Discord.Logging; +using System.IO; + +namespace NadekoBot +{ + public class ShardedDiscordClient + { + private DiscordSocketConfig discordSocketConfig; + + public Func UserJoined { get; internal set; } = delegate { return Task.CompletedTask; }; + public Func MessageReceived { get; internal set; } = delegate { return Task.CompletedTask; }; + public Func UserLeft { get; internal set; } = delegate { return Task.CompletedTask; }; + public Func UserUpdated { get; internal set; } = delegate { return Task.CompletedTask; }; + public Func, IMessage, Task> MessageUpdated { get; internal set; } = delegate { return Task.CompletedTask; }; + public Func, Task> MessageDeleted { get; internal set; } = delegate { return Task.CompletedTask; }; + public Func UserBanned { get; internal set; } = delegate { return Task.CompletedTask; }; + public Func UserUnbanned { get; internal set; } = delegate { return Task.CompletedTask; }; + public Func UserPresenceUpdated { get; internal set; } = delegate { return Task.CompletedTask; }; + public Func UserVoiceStateUpdated { get; internal set; } = delegate { return Task.CompletedTask; }; + public Func ChannelCreated { get; internal set; } = delegate { return Task.CompletedTask; }; + public Func ChannelDestroyed { get; internal set; } = delegate { return Task.CompletedTask; }; + public Func ChannelUpdated { get; internal set; } = delegate { return Task.CompletedTask; }; + public Func Disconnected { get; internal set; } = delegate { return Task.CompletedTask; }; + + private IReadOnlyList Clients { get; } + + public ShardedDiscordClient (DiscordSocketConfig discordSocketConfig) + { + this.discordSocketConfig = discordSocketConfig; + + var clientList = new List(); + for (int i = 0; i < discordSocketConfig.TotalShards; i++) + { + discordSocketConfig.ShardId = i; + var client = new DiscordSocketClient(discordSocketConfig); + clientList.Add(client); + client.UserJoined += async arg1 => await UserJoined(arg1); + client.MessageReceived += async arg1 => await MessageReceived(arg1); + client.UserLeft += async arg1 => await UserLeft(arg1); + client.UserUpdated += async (arg1, gu2) => await UserUpdated(arg1, gu2); + client.MessageUpdated += async (arg1, m2) => await MessageUpdated(arg1, m2); + client.MessageDeleted += async (arg1, arg2) => await MessageDeleted(arg1, arg2); + client.UserBanned += async (arg1, arg2) => await UserBanned(arg1, arg2); + client.UserPresenceUpdated += async (arg1, arg2, arg3) => await UserPresenceUpdated(arg1, arg2, arg3); + client.UserVoiceStateUpdated += async (arg1, arg2, arg3) => await UserVoiceStateUpdated(arg1, arg2, arg3); + client.ChannelCreated += async arg => await ChannelCreated(arg); + client.ChannelDestroyed += async arg => await ChannelDestroyed(arg); + client.ChannelUpdated += async (arg1, arg2) => await ChannelUpdated(arg1, arg2); + } + + Clients = clientList.AsReadOnly(); + } + + public ISelfUser GetCurrentUser() => + Clients.Select(c => c.GetCurrentUser()).FirstOrDefault(u => u != null); + + public IReadOnlyCollection GetGuilds() => + Clients.SelectMany(c => c.GetGuilds()).ToArray(); + + public IGuild GetGuild(ulong id) => + Clients.Select(c => c.GetGuild(id)).FirstOrDefault(g => g != null); + + public Task GetDMChannelAsync(ulong channelId) => + Clients.Select(async c => await c.GetDMChannelAsync(channelId).ConfigureAwait(false)).FirstOrDefault(c => c != null); + + internal Task LoginAsync(TokenType tokenType, string token) => + Task.WhenAll(Clients.Select(c => c.LoginAsync(tokenType, token))); + + internal Task ConnectAsync() => + Task.WhenAll(Clients.Select(c => c.ConnectAsync())); + + internal Task DownloadAllUsersAsync() => + Task.WhenAll(Clients.Select(c => c.DownloadAllUsersAsync())); + } +} From 3f168a21f104f8e3812b19bb06792622f9451f26 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Fri, 30 Sep 2016 17:16:30 +0200 Subject: [PATCH 021/135] Permissions now friendly to custom reactions (soon:tm:) --- src/NadekoBot/Modules/Help/Help.cs | 15 +++++++++++++-- .../Permissions/PermissionExtensions.cs | 19 +++++++++++++------ src/NadekoBot/Services/CommandHandler.cs | 2 +- 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index bb6fcd65..adfabeee 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -19,8 +19,19 @@ namespace NadekoBot.Modules.Help { public string HelpString { get { - var str = "To add me to your server, use this link -> \n"; - return str + String.Format(str, NadekoBot.Credentials.ClientId); + var str = @"To add me to your server, use this link -> +You can use `{1}modules` command to see a list of all modules. +You can use `{1}commands ModuleName` +(for example `{1}commands Administration`) to see a list of all of the commands in that module. +For a specific command help, use {1}h ""Command name"" (for example {1}h !!q) + + +**LIST OF COMMANDS CAN BE FOUND ON THIS LINK** + + + +Nadeko Support Server: https://discord.gg/0ehQwTK2RBjAxzEY"; + return String.Format(str, NadekoBot.Credentials.ClientId, NadekoBot.ModulePrefixes[typeof(Help).Name]); } } public Help(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) diff --git a/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs b/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs index 70905eaf..6a39a9ff 100644 --- a/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs +++ b/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs @@ -17,10 +17,17 @@ namespace NadekoBot.Modules.Permissions { var perms = permsEnumerable as List ?? permsEnumerable.ToList(); int throwaway; - return perms.CheckPermissions(message, command, out throwaway); + return perms.CheckPermissions(message, command.Name, command.Module.Name, out throwaway); } - public static bool CheckPermissions(this IEnumerable permsEnumerable, IUserMessage message, Command command, out int permIndex) + public static bool CheckPermissions(this IEnumerable permsEnumerable, IUserMessage message, string commandName, string moduleName) + { + var perms = permsEnumerable as List ?? permsEnumerable.ToList(); + int throwaway; + return perms.CheckPermissions(message, commandName, moduleName, out throwaway); + } + + public static bool CheckPermissions(this IEnumerable permsEnumerable, IUserMessage message, string commandName, string moduleName, out int permIndex) { var perms = permsEnumerable as List ?? permsEnumerable.ToList(); @@ -28,7 +35,7 @@ namespace NadekoBot.Modules.Permissions { var perm = perms[i]; - var result = perm.CheckPermission(message, command); + var result = perm.CheckPermission(message, commandName, moduleName); if (result == null) { @@ -47,12 +54,12 @@ namespace NadekoBot.Modules.Permissions //null = not applicable //true = applicable, allowed //false = applicable, not allowed - public static bool? CheckPermission(this Permission perm, IUserMessage message, Command command) + public static bool? CheckPermission(this Permission perm, IUserMessage message, string commandName, string moduleName) { if (!((perm.SecondaryTarget == SecondaryPermissionType.Command && - perm.SecondaryTargetName.ToLowerInvariant() == command.Text.ToLowerInvariant()) || + perm.SecondaryTargetName.ToLowerInvariant() == commandName.ToLowerInvariant()) || (perm.SecondaryTarget == SecondaryPermissionType.Module && - perm.SecondaryTargetName.ToLowerInvariant() == command.Module.Name.ToLowerInvariant()) || + perm.SecondaryTargetName.ToLowerInvariant() == moduleName.ToLowerInvariant()) || perm.SecondaryTarget == SecondaryPermissionType.AllModules)) return null; diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index 7a562ca7..0a7f6372 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -164,7 +164,7 @@ namespace NadekoBot.Services if (guild != null) { int index; - if (!rootPerm.AsEnumerable().CheckPermissions(message, cmd, out index)) + if (!rootPerm.AsEnumerable().CheckPermissions(message, cmd.Name, cmd.Module.Name, out index)) { var returnMsg = $"Permission number #{index} **{rootPerm.GetAt(index).GetCommand()}** is preventing this action."; return new Tuple(cmd, SearchResult.FromError(CommandError.Exception, returnMsg)); From ecdc744769aa0d24b083db9603d15bbd1d783157 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Fri, 30 Sep 2016 17:24:25 +0200 Subject: [PATCH 022/135] A bit better logging of errors in commandhandler --- src/NadekoBot/Services/CommandHandler.cs | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index 0a7f6372..75f43088 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -101,17 +101,11 @@ namespace NadekoBot.Services } } } - catch (InvalidOperationException ex) + catch (Exception ex) { - Console.WriteLine(ex); - } - catch (SqliteException ex) - { - Console.WriteLine(ex.InnerException); - } - catch (HttpException ex) - { - Console.WriteLine(ex); + _log.Warn(ex, "Error in CommandHandler"); + if(ex.InnerException != null) + _log.Warn(ex.InnerException, "Inner Exception of the error in CommandHandler"); } }); From b7198ea0ed989a7d212b02f34a579c33c04b4a43 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Fri, 30 Sep 2016 19:43:48 +0200 Subject: [PATCH 023/135] Some help commands, and $$$ can now be ran in the DM --- src/NadekoBot/Modules/Gambling/Gambling.cs | 3 +-- src/NadekoBot/Modules/Help/Help.cs | 14 +++++--------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/NadekoBot/Modules/Gambling/Gambling.cs b/src/NadekoBot/Modules/Gambling/Gambling.cs index 6969155f..333a8bcc 100644 --- a/src/NadekoBot/Modules/Gambling/Gambling.cs +++ b/src/NadekoBot/Modules/Gambling/Gambling.cs @@ -48,10 +48,9 @@ namespace NadekoBot.Modules.Gambling } [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] - [RequireContext(ContextType.Guild)] public async Task Cash(IUserMessage umsg, [Remainder] IUser user = null) { - var channel = (ITextChannel)umsg.Channel; + var channel = umsg.Channel; user = user ?? umsg.Author; long amount; diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index adfabeee..5dc88748 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -23,7 +23,7 @@ namespace NadekoBot.Modules.Help You can use `{1}modules` command to see a list of all modules. You can use `{1}commands ModuleName` (for example `{1}commands Administration`) to see a list of all of the commands in that module. -For a specific command help, use {1}h ""Command name"" (for example {1}h !!q) +For a specific command help, use `{1}h CommandName` (for example {1}h !!q) **LIST OF COMMANDS CAN BE FOUND ON THIS LINK** @@ -39,20 +39,17 @@ Nadeko Support Server: https://discord.gg/0ehQwTK2RBjAxzEY"; } [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] - [RequireContext(ContextType.Guild)] public async Task Modules(IUserMessage umsg) { - var channel = (ITextChannel)umsg.Channel; - await channel.SendMessageAsync("`List of modules:` ```xl\n• " + string.Join("\n• ", _commands.Modules.Select(m => m.Name)) + $"\n``` `Type \"-commands module_name\" to get a list of commands in that module.`") + await umsg.Channel.SendMessageAsync("`List of modules:` ```xl\n• " + string.Join("\n• ", _commands.Modules.Select(m => m.Name)) + $"\n``` `Type \"-commands module_name\" to get a list of commands in that module.`") .ConfigureAwait(false); } [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] - [RequireContext(ContextType.Guild)] public async Task Commands(IUserMessage umsg, [Remainder] string module = null) { - var channel = (ITextChannel)umsg.Channel; + var channel = umsg.Channel; module = module?.Trim().ToUpperInvariant(); if (string.IsNullOrWhiteSpace(module)) @@ -76,14 +73,13 @@ Nadeko Support Server: https://discord.gg/0ehQwTK2RBjAxzEY"; { await channel.SendMessageAsync("`List Of Commands:`\n• " + string.Join("\n• ", cmdsArray.Select(c => $"{c.Text}"))); } - await channel.SendMessageAsync($"`You can type \"-h command_name\" to see the help about that specific command.`").ConfigureAwait(false); + await channel.SendMessageAsync($"`You can type \"{NadekoBot.ModulePrefixes[typeof(Help).Name]}h CommandName\" to see the help about that specific command.`").ConfigureAwait(false); } [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] - [RequireContext(ContextType.Guild)] public async Task H(IUserMessage umsg, [Remainder] string comToFind = null) { - var channel = (ITextChannel)umsg.Channel; + var channel = umsg.Channel; comToFind = comToFind?.ToLowerInvariant(); if (string.IsNullOrWhiteSpace(comToFind)) From 80e749a1a1b0b96e4283735aeca0c5ee0f2c2eba Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sat, 1 Oct 2016 05:49:05 +0200 Subject: [PATCH 024/135] Playlist loading, saving and listing done --- .../NadekoSqliteContextModelSnapshot.cs | 45 +++++++ .../Modules/Administration/Administration.cs | 9 +- src/NadekoBot/Modules/Help/Help.cs | 3 +- .../Modules/Music/Classes/MusicControls.cs | 2 +- src/NadekoBot/Modules/Music/Music.cs | 116 +++++++++++++----- src/NadekoBot/NadekoBot.cs | 6 +- src/NadekoBot/Services/CommandHandler.cs | 23 ++-- .../Services/Database/NadekoContext.cs | 1 + src/NadekoBot/Services/Database/UnitOfWork.cs | 4 + src/NadekoBot/Services/Impl/BotCredentials.cs | 3 + 10 files changed, 162 insertions(+), 50 deletions(-) diff --git a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs index 210b97e9..949720d0 100644 --- a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs +++ b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs @@ -356,6 +356,20 @@ namespace NadekoBot.Migrations b.ToTable("ModulePrefixes"); }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.MusicPlaylist", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.ToTable("MusicPlaylists"); + }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => { b.Property("Id") @@ -397,6 +411,30 @@ namespace NadekoBot.Migrations b.ToTable("PlayingStatus"); }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("MusicPlaylistId"); + + b.Property("Provider"); + + b.Property("ProviderType"); + + b.Property("Query"); + + b.Property("Title"); + + b.Property("Uri"); + + b.HasKey("Id"); + + b.HasIndex("MusicPlaylistId"); + + b.ToTable("PlaylistSong"); + }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => { b.Property("Id") @@ -588,6 +626,13 @@ namespace NadekoBot.Migrations .HasForeignKey("BotConfigId"); }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.HasOne("NadekoBot.Services.Database.Models.MusicPlaylist") + .WithMany("Songs") + .HasForeignKey("MusicPlaylistId"); + }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => { b.HasOne("NadekoBot.Services.Database.Models.BotConfig") diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index a3ba38df..e82aa16f 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -614,10 +614,11 @@ namespace NadekoBot.Modules.Administration { var channel = (ITextChannel)umsg.Channel; - foreach (var ch in _client.GetGuilds().Select(async g => await g.GetDefaultChannelAsync().ConfigureAwait(false))) - { - await channel.SendMessageAsync(message).ConfigureAwait(false); - } + var channels = await Task.WhenAll(_client.GetGuilds().Select(g => + g.GetDefaultChannelAsync() + )).ConfigureAwait(false); + + await Task.WhenAll(channels.Select(c => c.SendMessageAsync($"`Message from {umsg.Author} (Bot Owner):` " + message))); await channel.SendMessageAsync(":ok:").ConfigureAwait(false); } diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index 5dc88748..f4c2dbcc 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -84,7 +84,8 @@ Nadeko Support Server: https://discord.gg/0ehQwTK2RBjAxzEY"; comToFind = comToFind?.ToLowerInvariant(); if (string.IsNullOrWhiteSpace(comToFind)) { - await (await (umsg.Author as IGuildUser).CreateDMChannelAsync()).SendMessageAsync(HelpString).ConfigureAwait(false); + IMessageChannel ch = channel is ITextChannel ? await ((IGuildUser)umsg.Author).CreateDMChannelAsync() : channel; + await ch.SendMessageAsync(HelpString).ConfigureAwait(false); return; } var com = _commands.Commands.FirstOrDefault(c => c.Text.ToLowerInvariant() == comToFind || c.Aliases.Select(a=>a.ToLowerInvariant()).Contains(comToFind)); diff --git a/src/NadekoBot/Modules/Music/Classes/MusicControls.cs b/src/NadekoBot/Modules/Music/Classes/MusicControls.cs index 233bca09..fa4e2302 100644 --- a/src/NadekoBot/Modules/Music/Classes/MusicControls.cs +++ b/src/NadekoBot/Modules/Music/Classes/MusicControls.cs @@ -252,7 +252,7 @@ namespace NadekoBot.Modules.Music.Classes playlist.Clear(); if (!SongCancelSource.IsCancellationRequested) SongCancelSource.Cancel(); - await audioClient.DisconnectAsync(); + await audioClient.DisconnectAsync(); }); } diff --git a/src/NadekoBot/Modules/Music/Music.cs b/src/NadekoBot/Modules/Music/Music.cs index abc9702d..21e8e26f 100644 --- a/src/NadekoBot/Modules/Music/Music.cs +++ b/src/NadekoBot/Modules/Music/Music.cs @@ -14,6 +14,7 @@ using System.Net.Http; using Newtonsoft.Json.Linq; using System.Collections.Generic; using NadekoBot.Services.Database; +using NadekoBot.Services.Database.Models; namespace NadekoBot.Modules.Music { @@ -520,48 +521,95 @@ namespace NadekoBot.Modules.Music await channel.SendMessageAsync($"🎵🔁`Repeat playlist {(currentValue ? "enabled" : "disabled")}`").ConfigureAwait(false); } - //[LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task Save(IUserMessage umsg, [Remainder] string name) - //{ - // var channel = (ITextChannel)umsg.Channel; - // MusicPlayer musicPlayer; - // if (!MusicPlayers.TryGetValue(channel.Guild.Id, out musicPlayer)) - // return; + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task Save(IUserMessage umsg, [Remainder] string name) + { + var channel = (ITextChannel)umsg.Channel; + MusicPlayer musicPlayer; + if (!MusicPlayers.TryGetValue(channel.Guild.Id, out musicPlayer)) + return; - // var curSong = musicPlayer.CurrentSong; - // var items = musicPlayer.Playlist.Append(curSong); + var curSong = musicPlayer.CurrentSong; + var songs = musicPlayer.Playlist.Append(curSong) + .Select(s=> new PlaylistSong() { + Provider = s.SongInfo.Provider, + ProviderType = s.SongInfo.ProviderType, + Title = s.SongInfo.Title, + Uri = s.SongInfo.Uri, + Query = s.SongInfo.Query, + }).ToList(); - // MusicPlaylist playlist; - // using (var uow = DbHandler.UnitOfWork()) - // { - // playlist = new MusicPlaylist - // { - // Name = name, - // Songs = items.ToList() - // }; - // uow.MusicPlaylists.Add(playlist); - // } + MusicPlaylist playlist; + using (var uow = DbHandler.UnitOfWork()) + { + playlist = new MusicPlaylist + { + Name = name, + Author = umsg.Author.Username, + Songs = songs, + }; + uow.MusicPlaylists.Add(playlist); + await uow.CompleteAsync().ConfigureAwait(false); + } - // await channel.SendMessageAsync($"Playlist saved as {name}, id: {playlist.Id}."); - //} + await channel.SendMessageAsync(($"🎵 `Saved playlist as {name}.` `Id: {playlist.Id}`")).ConfigureAwait(false); + } - //[LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task Load(IUserMessage umsg, [Remainder] string name) - //{ - // var channel = (ITextChannel)umsg.Channel; + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task Load(IUserMessage umsg, [Remainder] int id) + { + var channel = (ITextChannel)umsg.Channel; - //} + MusicPlaylist mpl; + using (var uow = DbHandler.UnitOfWork()) + { + mpl = uow.MusicPlaylists.GetWithSongs(id); + } - //[LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task Playlists(IUserMessage umsg, [Remainder] string num) - //{ - // var channel = (ITextChannel)umsg.Channel; + if (mpl == null) + { + await channel.SendMessageAsync("Can't find playlist with that ID").ConfigureAwait(false); + return; + } - //} + var msg = await channel.SendMessageAsync($"`Attempting to load {mpl.Songs.Count} songs...`").ConfigureAwait(false); + foreach (var item in mpl.Songs) + { + try + { + var usr = (IGuildUser)umsg.Author; + await QueueSong(usr, channel, usr.VoiceChannel, item.Query, true, item.ProviderType).ConfigureAwait(false); + } + catch { break; } + } + await msg.ModifyAsync(m => m.Content = $"`Done loading playlist {mpl.Name}.`").ConfigureAwait(false); + } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task Playlists(IUserMessage umsg, [Remainder] int num = 1) + { + var channel = (ITextChannel)umsg.Channel; + + if (num <= 0) + return; + + List playlists; + + using (var uow = DbHandler.UnitOfWork()) + { + playlists = uow.MusicPlaylists.GetPlaylistsOnPage(num); + } + + await channel.SendMessageAsync($@"`Page {num} of saved playlists` + +" + string.Join("\n", playlists.Select(r => $"`#{r.Id}` - `{r.Name}` by {r.Author} - **{r.Songs.Count}** songs"))).ConfigureAwait(false); + } + + //todo only author or owner //[LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] //[RequireContext(ContextType.Guild)] //public async Task DeletePlaylist(IUserMessage umsg, [Remainder] string pl) diff --git a/src/NadekoBot/NadekoBot.cs b/src/NadekoBot/NadekoBot.cs index 9d4b0985..bf26ad28 100644 --- a/src/NadekoBot/NadekoBot.cs +++ b/src/NadekoBot/NadekoBot.cs @@ -42,16 +42,20 @@ namespace NadekoBot _log.Info("Starting NadekoBot v" + typeof(NadekoBot).GetTypeInfo().Assembly.GetCustomAttribute().InformationalVersion); + + Credentials = new BotCredentials(); + //create client Client = new ShardedDiscordClient (new DiscordSocketConfig { AudioMode = Discord.Audio.AudioMode.Outgoing, MessageCacheSize = 10, LogLevel = LogSeverity.Warning, + TotalShards = Credentials.TotalShards, + ConnectionTimeout = 60000 }); //initialize Services - Credentials = new BotCredentials(); CommandService = new CommandService(); Localizer = new Localization(); Google = new GoogleApiService(); diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index 75f43088..1a4e65f9 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -43,22 +43,27 @@ namespace NadekoBot.Services var throwaway = Task.Run(async () => { - var sw = new Stopwatch(); + var sw = new Stopwatch(); sw.Start(); try { - bool verbose; - Permission rootPerm; - string permRole; - using (var uow = DbHandler.UnitOfWork()) + + bool verbose = false; + Permission rootPerm = null; + string permRole = ""; + if (guild != null) { - var config = uow.GuildConfigs.PermissionsFor(guild.Id); - verbose = config.VerbosePermissions; - rootPerm = config.RootPermission; - permRole = config.PermissionRole.Trim().ToLowerInvariant(); + using (var uow = DbHandler.UnitOfWork()) + { + var config = uow.GuildConfigs.PermissionsFor(guild.Id); + verbose = config.VerbosePermissions; + rootPerm = config.RootPermission; + permRole = config.PermissionRole.Trim().ToLowerInvariant(); + } } + var t = await ExecuteCommand(usrMsg, usrMsg.Content, guild, usrMsg.Author, rootPerm, permRole, MultiMatchHandling.Best); var command = t.Item1; var result = t.Item2; diff --git a/src/NadekoBot/Services/Database/NadekoContext.cs b/src/NadekoBot/Services/Database/NadekoContext.cs index 6d71f8cc..ea4242f2 100644 --- a/src/NadekoBot/Services/Database/NadekoContext.cs +++ b/src/NadekoBot/Services/Database/NadekoContext.cs @@ -22,6 +22,7 @@ namespace NadekoBot.Services.Database public DbSet Currency { get; set; } public DbSet ConversionUnits { get; set; } public DbSet TypingArticles { get; set; } + public DbSet MusicPlaylists { get; set; } //logging public DbSet LogSettings { get; set; } diff --git a/src/NadekoBot/Services/Database/UnitOfWork.cs b/src/NadekoBot/Services/Database/UnitOfWork.cs index b2b84e3e..33f5d1c1 100644 --- a/src/NadekoBot/Services/Database/UnitOfWork.cs +++ b/src/NadekoBot/Services/Database/UnitOfWork.cs @@ -38,12 +38,16 @@ namespace NadekoBot.Services.Database private ICurrencyRepository _currency; public ICurrencyRepository Currency => _currency ?? (_currency = new CurrencyRepository(_context)); + private IUnitConverterRepository _conUnits; public IUnitConverterRepository ConverterUnits => _conUnits ?? (_conUnits = new UnitConverterRepository(_context)); private ITypingArticlesRepository _typingArticles; public ITypingArticlesRepository TypingArticles => _typingArticles ?? (_typingArticles = new TypingArticlesRepository(_context)); + private IMusicPlaylistRepository _musicPlaylists; + public IMusicPlaylistRepository MusicPlaylists => _musicPlaylists ?? (_musicPlaylists = new MusicPlaylistRepository(_context)); + public UnitOfWork(NadekoContext context) { _context = context; diff --git a/src/NadekoBot/Services/Impl/BotCredentials.cs b/src/NadekoBot/Services/Impl/BotCredentials.cs index 23e4fcb9..0d420528 100644 --- a/src/NadekoBot/Services/Impl/BotCredentials.cs +++ b/src/NadekoBot/Services/Impl/BotCredentials.cs @@ -27,6 +27,7 @@ namespace NadekoBot.Services.Impl public string SoundCloudClientId { get; } public DB Db { get; } + public int TotalShards { get; } public BotCredentials() { @@ -40,6 +41,7 @@ namespace NadekoBot.Services.Impl GoogleApiKey = cm.GoogleApiKey; MashapeKey = cm.MashapeKey; OsuApiKey = cm.OsuApiKey; + TotalShards = cm.TotalShards < 1 ? 1 : cm.TotalShards; SoundCloudClientId = cm.SoundCloudClientId; if (cm.Db == null) Db = new DB("sqlite", ""); @@ -60,6 +62,7 @@ namespace NadekoBot.Services.Impl public string OsuApiKey { get; set; } public string SoundCloudClientId { get; set; } public DB Db { get; set; } + public int TotalShards { get; set; } = 1; } private class DbModel From 31cd9b285694fa9415239eea29da27f8cf63ab7c Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sat, 1 Oct 2016 19:35:11 +0200 Subject: [PATCH 025/135] Deleting playlist implemented, needs testing --- .gitignore | 2 +- .../NadekoSqliteContextModelSnapshot.cs | 2 ++ src/NadekoBot/Modules/Music/Music.cs | 35 +++++++++++++++---- 3 files changed, 32 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index a8e78718..df5ec176 100644 --- a/.gitignore +++ b/.gitignore @@ -17,7 +17,7 @@ Tests/bin src/NadekoBot/credentials.json src/NadekoBot/project.lock.json src/NadekoBot/data/NadekoBot.db -src/NadekoBot/musicdata/* +src/NadekoBot/musicdata src/NadekoBot/project.lock.json # NuGet Packages diff --git a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs index 949720d0..de39d0e6 100644 --- a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs +++ b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs @@ -363,6 +363,8 @@ namespace NadekoBot.Migrations b.Property("Author"); + b.Property("AuthorId"); + b.Property("Name"); b.HasKey("Id"); diff --git a/src/NadekoBot/Modules/Music/Music.cs b/src/NadekoBot/Modules/Music/Music.cs index 21e8e26f..ec7e7373 100644 --- a/src/NadekoBot/Modules/Music/Music.cs +++ b/src/NadekoBot/Modules/Music/Music.cs @@ -547,6 +547,7 @@ namespace NadekoBot.Modules.Music { Name = name, Author = umsg.Author.Username, + AuthorId = umsg.Author.Id, Songs = songs, }; uow.MusicPlaylists.Add(playlist); @@ -610,13 +611,35 @@ namespace NadekoBot.Modules.Music } //todo only author or owner - //[LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task DeletePlaylist(IUserMessage umsg, [Remainder] string pl) - //{ - // var channel = (ITextChannel)umsg.Channel; + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task DeletePlaylist(IUserMessage umsg, [Remainder] int id) + { + var channel = (ITextChannel)umsg.Channel; - //} + bool success = false; + MusicPlaylist pl = null; + using (var uow = DbHandler.UnitOfWork()) + { + pl = uow.MusicPlaylists.Get(id); + + if (pl != null) + { + if (NadekoBot.Credentials.IsOwner(umsg.Author) || pl.AuthorId == umsg.Author.Id) + { + uow.MusicPlaylists.Remove(pl.Id); + await uow.CompleteAsync().ConfigureAwait(false); + } + else + success = false; + } + } + + if (success) + await channel.SendMessageAsync("Failed to delete that playlist. It either doesn't exist, or you are not its author.").ConfigureAwait(false); + else + await channel.SendMessageAsync("`Playlist successfully deleted.`").ConfigureAwait(false); + } [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] From 66b0d11415a056dae2f5a25f2c5eb742d13da972 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sun, 2 Oct 2016 03:00:03 +0200 Subject: [PATCH 026/135] playlist stuff --- ...er.cs => 20161001173937_first.Designer.cs} | 49 +++++++++++++++++- ...01917_first.cs => 20161001173937_first.cs} | 50 +++++++++++++++++++ src/NadekoBot/Modules/Music/Music.cs | 44 +++++++++------- .../Services/Database/Models/MusicPlaylist.cs | 16 ++++++ .../Services/Database/Models/PlaylistSong.cs | 18 +++++++ .../Services/Database/NadekoContext.cs | 13 ++++- .../Repositories/IMusicPlaylistRepository.cs | 15 ++++++ .../Impl/MusicPlaylistRepository.cs | 32 ++++++++++++ 8 files changed, 217 insertions(+), 20 deletions(-) rename src/NadekoBot/Migrations/{20160930001917_first.Designer.cs => 20161001173937_first.Designer.cs} (92%) rename src/NadekoBot/Migrations/{20160930001917_first.cs => 20161001173937_first.cs} (92%) create mode 100644 src/NadekoBot/Services/Database/Models/MusicPlaylist.cs create mode 100644 src/NadekoBot/Services/Database/Models/PlaylistSong.cs create mode 100644 src/NadekoBot/Services/Database/Repositories/IMusicPlaylistRepository.cs create mode 100644 src/NadekoBot/Services/Database/Repositories/Impl/MusicPlaylistRepository.cs diff --git a/src/NadekoBot/Migrations/20160930001917_first.Designer.cs b/src/NadekoBot/Migrations/20161001173937_first.Designer.cs similarity index 92% rename from src/NadekoBot/Migrations/20160930001917_first.Designer.cs rename to src/NadekoBot/Migrations/20161001173937_first.Designer.cs index dd4fabf1..6647dc9e 100644 --- a/src/NadekoBot/Migrations/20160930001917_first.Designer.cs +++ b/src/NadekoBot/Migrations/20161001173937_first.Designer.cs @@ -8,7 +8,7 @@ using NadekoBot.Services.Database.Impl; namespace NadekoBot.Migrations { [DbContext(typeof(NadekoSqliteContext))] - [Migration("20160930001917_first")] + [Migration("20161001173937_first")] partial class first { protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -357,6 +357,22 @@ namespace NadekoBot.Migrations b.ToTable("ModulePrefixes"); }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.MusicPlaylist", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("AuthorId"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.ToTable("MusicPlaylists"); + }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => { b.Property("Id") @@ -398,6 +414,30 @@ namespace NadekoBot.Migrations b.ToTable("PlayingStatus"); }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("MusicPlaylistId"); + + b.Property("Provider"); + + b.Property("ProviderType"); + + b.Property("Query"); + + b.Property("Title"); + + b.Property("Uri"); + + b.HasKey("Id"); + + b.HasIndex("MusicPlaylistId"); + + b.ToTable("PlaylistSong"); + }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => { b.Property("Id") @@ -589,6 +629,13 @@ namespace NadekoBot.Migrations .HasForeignKey("BotConfigId"); }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.HasOne("NadekoBot.Services.Database.Models.MusicPlaylist") + .WithMany("Songs") + .HasForeignKey("MusicPlaylistId"); + }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => { b.HasOne("NadekoBot.Services.Database.Models.BotConfig") diff --git a/src/NadekoBot/Migrations/20160930001917_first.cs b/src/NadekoBot/Migrations/20161001173937_first.cs similarity index 92% rename from src/NadekoBot/Migrations/20160930001917_first.cs rename to src/NadekoBot/Migrations/20161001173937_first.cs index 400ac665..2cf892c5 100644 --- a/src/NadekoBot/Migrations/20160930001917_first.cs +++ b/src/NadekoBot/Migrations/20161001173937_first.cs @@ -122,6 +122,21 @@ namespace NadekoBot.Migrations table.PrimaryKey("PK_LogSettings", x => x.Id); }); + migrationBuilder.CreateTable( + name: "MusicPlaylists", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + Author = table.Column(nullable: true), + AuthorId = table.Column(nullable: false), + Name = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_MusicPlaylists", x => x.Id); + }); + migrationBuilder.CreateTable( name: "Permission", columns: table => new @@ -390,6 +405,30 @@ namespace NadekoBot.Migrations onDelete: ReferentialAction.Restrict); }); + migrationBuilder.CreateTable( + name: "PlaylistSong", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + MusicPlaylistId = table.Column(nullable: true), + Provider = table.Column(nullable: true), + ProviderType = table.Column(nullable: false), + Query = table.Column(nullable: true), + Title = table.Column(nullable: true), + Uri = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_PlaylistSong", x => x.Id); + table.ForeignKey( + name: "FK_PlaylistSong_MusicPlaylists_MusicPlaylistId", + column: x => x.MusicPlaylistId, + principalTable: "MusicPlaylists", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + migrationBuilder.CreateTable( name: "GuildConfigs", columns: table => new @@ -535,6 +574,11 @@ namespace NadekoBot.Migrations table: "PlayingStatus", column: "BotConfigId"); + migrationBuilder.CreateIndex( + name: "IX_PlaylistSong_MusicPlaylistId", + table: "PlaylistSong", + column: "MusicPlaylistId"); + migrationBuilder.CreateIndex( name: "IX_RaceAnimals_BotConfigId", table: "RaceAnimals", @@ -588,6 +632,9 @@ namespace NadekoBot.Migrations migrationBuilder.DropTable( name: "PlayingStatus"); + migrationBuilder.DropTable( + name: "PlaylistSong"); + migrationBuilder.DropTable( name: "Quotes"); @@ -612,6 +659,9 @@ namespace NadekoBot.Migrations migrationBuilder.DropTable( name: "GuildConfigs"); + migrationBuilder.DropTable( + name: "MusicPlaylists"); + migrationBuilder.DropTable( name: "BotConfig"); diff --git a/src/NadekoBot/Modules/Music/Music.cs b/src/NadekoBot/Modules/Music/Music.cs index ec7e7373..926bc8e3 100644 --- a/src/NadekoBot/Modules/Music/Music.cs +++ b/src/NadekoBot/Modules/Music/Music.cs @@ -571,7 +571,7 @@ namespace NadekoBot.Modules.Music if (mpl == null) { - await channel.SendMessageAsync("Can't find playlist with that ID").ConfigureAwait(false); + await channel.SendMessageAsync("`Can't find playlist with that ID`").ConfigureAwait(false); return; } @@ -619,26 +619,34 @@ namespace NadekoBot.Modules.Music bool success = false; MusicPlaylist pl = null; - using (var uow = DbHandler.UnitOfWork()) + try { - pl = uow.MusicPlaylists.Get(id); - - if (pl != null) + using (var uow = DbHandler.UnitOfWork()) { - if (NadekoBot.Credentials.IsOwner(umsg.Author) || pl.AuthorId == umsg.Author.Id) - { - uow.MusicPlaylists.Remove(pl.Id); - await uow.CompleteAsync().ConfigureAwait(false); - } - else - success = false; - } - } + pl = uow.MusicPlaylists.Get(id); - if (success) - await channel.SendMessageAsync("Failed to delete that playlist. It either doesn't exist, or you are not its author.").ConfigureAwait(false); - else - await channel.SendMessageAsync("`Playlist successfully deleted.`").ConfigureAwait(false); + if (pl != null) + { + if (NadekoBot.Credentials.IsOwner(umsg.Author) || pl.AuthorId == umsg.Author.Id) + { + uow.MusicPlaylists.Remove(pl); + await uow.CompleteAsync().ConfigureAwait(false); + success = true; + } + else + success = false; + } + } + + if (!success) + await channel.SendMessageAsync("Failed to delete that playlist. It either doesn't exist, or you are not its author.").ConfigureAwait(false); + else + await channel.SendMessageAsync("`Playlist successfully deleted.`").ConfigureAwait(false); + } + catch (Exception ex) + { + Console.WriteLine(ex); + } } [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] diff --git a/src/NadekoBot/Services/Database/Models/MusicPlaylist.cs b/src/NadekoBot/Services/Database/Models/MusicPlaylist.cs new file mode 100644 index 00000000..d14d3c01 --- /dev/null +++ b/src/NadekoBot/Services/Database/Models/MusicPlaylist.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace NadekoBot.Services.Database.Models +{ + public class MusicPlaylist : DbEntity + { + public string Name { get; set; } + public string Author { get; set; } + public ulong AuthorId { get; set; } + public List Songs { get; set; } + } +} diff --git a/src/NadekoBot/Services/Database/Models/PlaylistSong.cs b/src/NadekoBot/Services/Database/Models/PlaylistSong.cs new file mode 100644 index 00000000..166bedd0 --- /dev/null +++ b/src/NadekoBot/Services/Database/Models/PlaylistSong.cs @@ -0,0 +1,18 @@ +using NadekoBot.Modules.Music.Classes; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace NadekoBot.Services.Database.Models +{ + public class PlaylistSong : DbEntity + { + public string Provider { get; set; } + public MusicType ProviderType { get; set; } + public string Title { get; set; } + public string Uri { get; set; } + public string Query { get; set; } + } +} diff --git a/src/NadekoBot/Services/Database/NadekoContext.cs b/src/NadekoBot/Services/Database/NadekoContext.cs index ea4242f2..bb8b3087 100644 --- a/src/NadekoBot/Services/Database/NadekoContext.cs +++ b/src/NadekoBot/Services/Database/NadekoContext.cs @@ -187,7 +187,7 @@ namespace NadekoBot.Services.Database permissionEntity .HasOne(p => p.Next) .WithOne(p => p.Previous); - + #endregion #region LogSettings @@ -203,6 +203,17 @@ namespace NadekoBot.Services.Database // .HasMany(ls => ls.IgnoredVoicePresenceChannelIds) // .WithOne(ls => ls.LogSetting); #endregion + + #region MusicPlaylists + var musicPlaylistEntity = modelBuilder.Entity(); + + musicPlaylistEntity + .HasMany(p => p.Songs) + .WithOne() + .OnDelete(Microsoft.EntityFrameworkCore.Metadata.DeleteBehavior.Cascade); + + + #endregion } protected abstract override void OnConfiguring(DbContextOptionsBuilder optionsBuilder); } diff --git a/src/NadekoBot/Services/Database/Repositories/IMusicPlaylistRepository.cs b/src/NadekoBot/Services/Database/Repositories/IMusicPlaylistRepository.cs new file mode 100644 index 00000000..58c870c8 --- /dev/null +++ b/src/NadekoBot/Services/Database/Repositories/IMusicPlaylistRepository.cs @@ -0,0 +1,15 @@ +using NadekoBot.Services.Database.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace NadekoBot.Services.Database.Repositories +{ + public interface IMusicPlaylistRepository : IRepository + { + List GetPlaylistsOnPage(int num); + MusicPlaylist GetWithSongs(int id); + } +} diff --git a/src/NadekoBot/Services/Database/Repositories/Impl/MusicPlaylistRepository.cs b/src/NadekoBot/Services/Database/Repositories/Impl/MusicPlaylistRepository.cs new file mode 100644 index 00000000..572461ce --- /dev/null +++ b/src/NadekoBot/Services/Database/Repositories/Impl/MusicPlaylistRepository.cs @@ -0,0 +1,32 @@ +using NadekoBot.Services.Database.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Microsoft.EntityFrameworkCore; + +namespace NadekoBot.Services.Database.Repositories.Impl +{ + public class MusicPlaylistRepository : Repository, IMusicPlaylistRepository + { + public MusicPlaylistRepository(DbContext context) : base(context) + { + } + + public List GetPlaylistsOnPage(int num) + { + if (num < 1) + throw new IndexOutOfRangeException(); + + return _set.Skip((num - 1) * 20) + .Take(20) + .Include(pl => pl.Songs) + .ToList(); + } + + public MusicPlaylist GetWithSongs(int id) => + _set.Include(mpl => mpl.Songs) + .FirstOrDefault(mpl => mpl.Id == id); + } +} From 81c98442adece45a97069027ec2ee9b06fd7132a Mon Sep 17 00:00:00 2001 From: Nitix Date: Sun, 2 Oct 2016 04:15:57 +0200 Subject: [PATCH 027/135] Fix Foreign key with delete on cascade --- .../20161002021256_first.Designer.cs | 648 +++++++++++++++++ .../Migrations/20161002021256_first.cs | 675 ++++++++++++++++++ .../NadekoSqliteContextModelSnapshot.cs | 3 +- .../Services/Database/NadekoContext.cs | 2 +- 4 files changed, 1326 insertions(+), 2 deletions(-) create mode 100644 src/NadekoBot/Migrations/20161002021256_first.Designer.cs create mode 100644 src/NadekoBot/Migrations/20161002021256_first.cs diff --git a/src/NadekoBot/Migrations/20161002021256_first.Designer.cs b/src/NadekoBot/Migrations/20161002021256_first.Designer.cs new file mode 100644 index 00000000..544da87d --- /dev/null +++ b/src/NadekoBot/Migrations/20161002021256_first.Designer.cs @@ -0,0 +1,648 @@ +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using NadekoBot.Services.Database.Impl; + +namespace NadekoBot.Migrations +{ + [DbContext(typeof(NadekoSqliteContext))] + [Migration("20161002021256_first")] + partial class first + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { + modelBuilder + .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ItemId"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("BlacklistItem"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BufferSize"); + + b.Property("CurrencyGenerationChance"); + + b.Property("CurrencyGenerationCooldown"); + + b.Property("CurrencyName"); + + b.Property("CurrencyPluralName"); + + b.Property("CurrencySign"); + + b.Property("DontJoinServers"); + + b.Property("ForwardMessages"); + + b.Property("ForwardToAllOwners"); + + b.Property("RemindMessageFormat"); + + b.Property("RotatingStatuses"); + + b.HasKey("Id"); + + b.ToTable("BotConfig"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BaseDestroyed"); + + b.Property("CallUser"); + + b.Property("ClashWarId"); + + b.Property("Stars"); + + b.Property("TimeAdded"); + + b.HasKey("Id"); + + b.HasIndex("ClashWarId"); + + b.ToTable("ClashCallers"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("EnemyClan"); + + b.Property("GuildId"); + + b.Property("Size"); + + b.Property("StartedAt"); + + b.Property("WarState"); + + b.HasKey("Id"); + + b.ToTable("ClashOfClans"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("InternalTrigger"); + + b.Property("Modifier"); + + b.Property("UnitType"); + + b.HasKey("Id"); + + b.ToTable("ConversionUnits"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Currency"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("Name"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Donators"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("EightBallResponses"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildConfigId"); + + b.Property("GuildId"); + + b.Property("LastStatus"); + + b.Property("Type"); + + b.Property("Username"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FollowedStream"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AutoAssignRoleId"); + + b.Property("AutoDeleteByeMessages"); + + b.Property("AutoDeleteGreetMessages"); + + b.Property("AutoDeleteGreetMessagesTimer"); + + b.Property("AutoDeleteSelfAssignedRoleMessages"); + + b.Property("ByeMessageChannelId"); + + b.Property("ChannelByeMessageText"); + + b.Property("ChannelGreetMessageText"); + + b.Property("DefaultMusicVolume"); + + b.Property("DeleteMessageOnCommand"); + + b.Property("DmGreetMessageText"); + + b.Property("ExclusiveSelfAssignedRoles"); + + b.Property("GenerateCurrencyChannelId"); + + b.Property("GreetMessageChannelId"); + + b.Property("GuildId"); + + b.Property("LogSettingId"); + + b.Property("PermissionRole"); + + b.Property("RootPermissionId"); + + b.Property("SendChannelByeMessage"); + + b.Property("SendChannelGreetMessage"); + + b.Property("SendDmGreetMessage"); + + b.Property("VerbosePermissions"); + + b.Property("VoicePlusTextEnabled"); + + b.HasKey("Id"); + + b.HasIndex("GuildId") + .IsUnique(); + + b.HasIndex("LogSettingId"); + + b.HasIndex("RootPermissionId"); + + b.ToTable("GuildConfigs"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredLogChannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredVoicePresenceCHannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelCreated"); + + b.Property("ChannelDestroyed"); + + b.Property("ChannelId"); + + b.Property("ChannelUpdated"); + + b.Property("IsLogging"); + + b.Property("LogUserPresence"); + + b.Property("LogVoicePresence"); + + b.Property("MessageDeleted"); + + b.Property("MessageReceived"); + + b.Property("MessageUpdated"); + + b.Property("UserBanned"); + + b.Property("UserJoined"); + + b.Property("UserLeft"); + + b.Property("UserPresenceChannelId"); + + b.Property("UserUnbanned"); + + b.Property("UserUpdated"); + + b.Property("VoicePresenceChannelId"); + + b.HasKey("Id"); + + b.ToTable("LogSettings"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ModuleName"); + + b.Property("Prefix"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("ModulePrefixes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.MusicPlaylist", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("AuthorId"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.ToTable("MusicPlaylists"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("NextId"); + + b.Property("PrimaryTarget"); + + b.Property("PrimaryTargetId"); + + b.Property("SecondaryTarget"); + + b.Property("SecondaryTargetName"); + + b.Property("State"); + + b.HasKey("Id"); + + b.HasIndex("NextId") + .IsUnique(); + + b.ToTable("Permission"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Status"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("PlayingStatus"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("MusicPlaylistId"); + + b.Property("Provider"); + + b.Property("ProviderType"); + + b.Property("Query"); + + b.Property("Title"); + + b.Property("Uri"); + + b.HasKey("Id"); + + b.HasIndex("MusicPlaylistId"); + + b.ToTable("PlaylistSong"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AuthorId"); + + b.Property("AuthorName") + .IsRequired(); + + b.Property("GuildId"); + + b.Property("Keyword") + .IsRequired(); + + b.Property("Text") + .IsRequired(); + + b.HasKey("Id"); + + b.ToTable("Quotes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Icon"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("RaceAnimals"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("IsPrivate"); + + b.Property("Message"); + + b.Property("ServerId"); + + b.Property("UserId"); + + b.Property("When"); + + b.HasKey("Id"); + + b.ToTable("Reminders"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildId"); + + b.Property("Interval"); + + b.Property("Message"); + + b.HasKey("Id"); + + b.HasIndex("ChannelId") + .IsUnique(); + + b.ToTable("Repeaters"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildId"); + + b.Property("RoleId"); + + b.HasKey("Id"); + + b.HasIndex("GuildId", "RoleId") + .IsUnique(); + + b.ToTable("SelfAssignableRoles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.ToTable("TypingArticles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("Blacklist") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") + .WithMany("Bases") + .HasForeignKey("ClashWarId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("EightBallResponses") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FollowedStreams") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany() + .HasForeignKey("LogSettingId"); + + b.HasOne("NadekoBot.Services.Database.Models.Permission", "RootPermission") + .WithMany() + .HasForeignKey("RootPermissionId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredChannels") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredVoicePresenceChannelIds") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") + .WithMany("ModulePrefixes") + .HasForeignKey("BotConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.HasOne("NadekoBot.Services.Database.Models.Permission", "Next") + .WithOne("Previous") + .HasForeignKey("NadekoBot.Services.Database.Models.Permission", "NextId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RotatingStatusMessages") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.HasOne("NadekoBot.Services.Database.Models.MusicPlaylist") + .WithMany("Songs") + .HasForeignKey("MusicPlaylistId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RaceAnimals") + .HasForeignKey("BotConfigId"); + }); + } + } +} diff --git a/src/NadekoBot/Migrations/20161002021256_first.cs b/src/NadekoBot/Migrations/20161002021256_first.cs new file mode 100644 index 00000000..7c62a1a9 --- /dev/null +++ b/src/NadekoBot/Migrations/20161002021256_first.cs @@ -0,0 +1,675 @@ +using System; +using System.Collections.Generic; +using Microsoft.EntityFrameworkCore.Migrations; + +namespace NadekoBot.Migrations +{ + public partial class first : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "BotConfig", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + BufferSize = table.Column(nullable: false), + CurrencyGenerationChance = table.Column(nullable: false), + CurrencyGenerationCooldown = table.Column(nullable: false), + CurrencyName = table.Column(nullable: true), + CurrencyPluralName = table.Column(nullable: true), + CurrencySign = table.Column(nullable: true), + DontJoinServers = table.Column(nullable: false), + ForwardMessages = table.Column(nullable: false), + ForwardToAllOwners = table.Column(nullable: false), + RemindMessageFormat = table.Column(nullable: true), + RotatingStatuses = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_BotConfig", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "ClashOfClans", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + ChannelId = table.Column(nullable: false), + EnemyClan = table.Column(nullable: true), + GuildId = table.Column(nullable: false), + Size = table.Column(nullable: false), + StartedAt = table.Column(nullable: false), + WarState = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_ClashOfClans", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "ConversionUnits", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + InternalTrigger = table.Column(nullable: true), + Modifier = table.Column(nullable: false), + UnitType = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_ConversionUnits", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Currency", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + Amount = table.Column(nullable: false), + UserId = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Currency", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Donators", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + Amount = table.Column(nullable: false), + Name = table.Column(nullable: true), + UserId = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Donators", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "LogSettings", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + ChannelCreated = table.Column(nullable: false), + ChannelDestroyed = table.Column(nullable: false), + ChannelId = table.Column(nullable: false), + ChannelUpdated = table.Column(nullable: false), + IsLogging = table.Column(nullable: false), + LogUserPresence = table.Column(nullable: false), + LogVoicePresence = table.Column(nullable: false), + MessageDeleted = table.Column(nullable: false), + MessageReceived = table.Column(nullable: false), + MessageUpdated = table.Column(nullable: false), + UserBanned = table.Column(nullable: false), + UserJoined = table.Column(nullable: false), + UserLeft = table.Column(nullable: false), + UserPresenceChannelId = table.Column(nullable: false), + UserUnbanned = table.Column(nullable: false), + UserUpdated = table.Column(nullable: false), + VoicePresenceChannelId = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_LogSettings", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "MusicPlaylists", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + Author = table.Column(nullable: true), + AuthorId = table.Column(nullable: false), + Name = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_MusicPlaylists", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Permission", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + NextId = table.Column(nullable: true), + PrimaryTarget = table.Column(nullable: false), + PrimaryTargetId = table.Column(nullable: false), + SecondaryTarget = table.Column(nullable: false), + SecondaryTargetName = table.Column(nullable: true), + State = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Permission", x => x.Id); + table.ForeignKey( + name: "FK_Permission_Permission_NextId", + column: x => x.NextId, + principalTable: "Permission", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "Quotes", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + AuthorId = table.Column(nullable: false), + AuthorName = table.Column(nullable: false), + GuildId = table.Column(nullable: false), + Keyword = table.Column(nullable: false), + Text = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Quotes", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Reminders", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + ChannelId = table.Column(nullable: false), + IsPrivate = table.Column(nullable: false), + Message = table.Column(nullable: true), + ServerId = table.Column(nullable: false), + UserId = table.Column(nullable: false), + When = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Reminders", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "Repeaters", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + ChannelId = table.Column(nullable: false), + GuildId = table.Column(nullable: false), + Interval = table.Column(nullable: false), + Message = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Repeaters", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "SelfAssignableRoles", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + GuildId = table.Column(nullable: false), + RoleId = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_SelfAssignableRoles", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "TypingArticles", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + Author = table.Column(nullable: true), + Text = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_TypingArticles", x => x.Id); + }); + + migrationBuilder.CreateTable( + name: "BlacklistItem", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + BotConfigId = table.Column(nullable: true), + ItemId = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_BlacklistItem", x => x.Id); + table.ForeignKey( + name: "FK_BlacklistItem_BotConfig_BotConfigId", + column: x => x.BotConfigId, + principalTable: "BotConfig", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "EightBallResponses", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + BotConfigId = table.Column(nullable: true), + Text = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_EightBallResponses", x => x.Id); + table.ForeignKey( + name: "FK_EightBallResponses_BotConfig_BotConfigId", + column: x => x.BotConfigId, + principalTable: "BotConfig", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "ModulePrefixes", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + BotConfigId = table.Column(nullable: false), + ModuleName = table.Column(nullable: true), + Prefix = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_ModulePrefixes", x => x.Id); + table.ForeignKey( + name: "FK_ModulePrefixes_BotConfig_BotConfigId", + column: x => x.BotConfigId, + principalTable: "BotConfig", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "PlayingStatus", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + BotConfigId = table.Column(nullable: true), + Status = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_PlayingStatus", x => x.Id); + table.ForeignKey( + name: "FK_PlayingStatus_BotConfig_BotConfigId", + column: x => x.BotConfigId, + principalTable: "BotConfig", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "RaceAnimals", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + BotConfigId = table.Column(nullable: true), + Icon = table.Column(nullable: true), + Name = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_RaceAnimals", x => x.Id); + table.ForeignKey( + name: "FK_RaceAnimals_BotConfig_BotConfigId", + column: x => x.BotConfigId, + principalTable: "BotConfig", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "ClashCallers", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + BaseDestroyed = table.Column(nullable: false), + CallUser = table.Column(nullable: true), + ClashWarId = table.Column(nullable: false), + Stars = table.Column(nullable: false), + TimeAdded = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_ClashCallers", x => x.Id); + table.ForeignKey( + name: "FK_ClashCallers_ClashOfClans_ClashWarId", + column: x => x.ClashWarId, + principalTable: "ClashOfClans", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "IgnoredLogChannels", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + ChannelId = table.Column(nullable: false), + LogSettingId = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_IgnoredLogChannels", x => x.Id); + table.ForeignKey( + name: "FK_IgnoredLogChannels_LogSettings_LogSettingId", + column: x => x.LogSettingId, + principalTable: "LogSettings", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "IgnoredVoicePresenceCHannels", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + ChannelId = table.Column(nullable: false), + LogSettingId = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_IgnoredVoicePresenceCHannels", x => x.Id); + table.ForeignKey( + name: "FK_IgnoredVoicePresenceCHannels_LogSettings_LogSettingId", + column: x => x.LogSettingId, + principalTable: "LogSettings", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "PlaylistSong", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + MusicPlaylistId = table.Column(nullable: true), + Provider = table.Column(nullable: true), + ProviderType = table.Column(nullable: false), + Query = table.Column(nullable: true), + Title = table.Column(nullable: true), + Uri = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_PlaylistSong", x => x.Id); + table.ForeignKey( + name: "FK_PlaylistSong_MusicPlaylists_MusicPlaylistId", + column: x => x.MusicPlaylistId, + principalTable: "MusicPlaylists", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.CreateTable( + name: "GuildConfigs", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + AutoAssignRoleId = table.Column(nullable: false), + AutoDeleteByeMessages = table.Column(nullable: false), + AutoDeleteGreetMessages = table.Column(nullable: false), + AutoDeleteGreetMessagesTimer = table.Column(nullable: false), + AutoDeleteSelfAssignedRoleMessages = table.Column(nullable: false), + ByeMessageChannelId = table.Column(nullable: false), + ChannelByeMessageText = table.Column(nullable: true), + ChannelGreetMessageText = table.Column(nullable: true), + DefaultMusicVolume = table.Column(nullable: false), + DeleteMessageOnCommand = table.Column(nullable: false), + DmGreetMessageText = table.Column(nullable: true), + ExclusiveSelfAssignedRoles = table.Column(nullable: false), + GenerateCurrencyChannelId = table.Column(nullable: true), + GreetMessageChannelId = table.Column(nullable: false), + GuildId = table.Column(nullable: false), + LogSettingId = table.Column(nullable: true), + PermissionRole = table.Column(nullable: true), + RootPermissionId = table.Column(nullable: true), + SendChannelByeMessage = table.Column(nullable: false), + SendChannelGreetMessage = table.Column(nullable: false), + SendDmGreetMessage = table.Column(nullable: false), + VerbosePermissions = table.Column(nullable: false), + VoicePlusTextEnabled = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_GuildConfigs", x => x.Id); + table.ForeignKey( + name: "FK_GuildConfigs_LogSettings_LogSettingId", + column: x => x.LogSettingId, + principalTable: "LogSettings", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + table.ForeignKey( + name: "FK_GuildConfigs_Permission_RootPermissionId", + column: x => x.RootPermissionId, + principalTable: "Permission", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "FollowedStream", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + ChannelId = table.Column(nullable: false), + GuildConfigId = table.Column(nullable: true), + GuildId = table.Column(nullable: false), + LastStatus = table.Column(nullable: false), + Type = table.Column(nullable: false), + Username = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FollowedStream", x => x.Id); + table.ForeignKey( + name: "FK_FollowedStream_GuildConfigs_GuildConfigId", + column: x => x.GuildConfigId, + principalTable: "GuildConfigs", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateIndex( + name: "IX_BlacklistItem_BotConfigId", + table: "BlacklistItem", + column: "BotConfigId"); + + migrationBuilder.CreateIndex( + name: "IX_ClashCallers_ClashWarId", + table: "ClashCallers", + column: "ClashWarId"); + + migrationBuilder.CreateIndex( + name: "IX_Currency_UserId", + table: "Currency", + column: "UserId", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_Donators_UserId", + table: "Donators", + column: "UserId", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_EightBallResponses_BotConfigId", + table: "EightBallResponses", + column: "BotConfigId"); + + migrationBuilder.CreateIndex( + name: "IX_FollowedStream_GuildConfigId", + table: "FollowedStream", + column: "GuildConfigId"); + + migrationBuilder.CreateIndex( + name: "IX_GuildConfigs_GuildId", + table: "GuildConfigs", + column: "GuildId", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_GuildConfigs_LogSettingId", + table: "GuildConfigs", + column: "LogSettingId"); + + migrationBuilder.CreateIndex( + name: "IX_GuildConfigs_RootPermissionId", + table: "GuildConfigs", + column: "RootPermissionId"); + + migrationBuilder.CreateIndex( + name: "IX_IgnoredLogChannels_LogSettingId", + table: "IgnoredLogChannels", + column: "LogSettingId"); + + migrationBuilder.CreateIndex( + name: "IX_IgnoredVoicePresenceCHannels_LogSettingId", + table: "IgnoredVoicePresenceCHannels", + column: "LogSettingId"); + + migrationBuilder.CreateIndex( + name: "IX_ModulePrefixes_BotConfigId", + table: "ModulePrefixes", + column: "BotConfigId"); + + migrationBuilder.CreateIndex( + name: "IX_Permission_NextId", + table: "Permission", + column: "NextId", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_PlayingStatus_BotConfigId", + table: "PlayingStatus", + column: "BotConfigId"); + + migrationBuilder.CreateIndex( + name: "IX_PlaylistSong_MusicPlaylistId", + table: "PlaylistSong", + column: "MusicPlaylistId"); + + migrationBuilder.CreateIndex( + name: "IX_RaceAnimals_BotConfigId", + table: "RaceAnimals", + column: "BotConfigId"); + + migrationBuilder.CreateIndex( + name: "IX_Repeaters_ChannelId", + table: "Repeaters", + column: "ChannelId", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_SelfAssignableRoles_GuildId_RoleId", + table: "SelfAssignableRoles", + columns: new[] { "GuildId", "RoleId" }, + unique: true); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "BlacklistItem"); + + migrationBuilder.DropTable( + name: "ClashCallers"); + + migrationBuilder.DropTable( + name: "ConversionUnits"); + + migrationBuilder.DropTable( + name: "Currency"); + + migrationBuilder.DropTable( + name: "Donators"); + + migrationBuilder.DropTable( + name: "EightBallResponses"); + + migrationBuilder.DropTable( + name: "FollowedStream"); + + migrationBuilder.DropTable( + name: "IgnoredLogChannels"); + + migrationBuilder.DropTable( + name: "IgnoredVoicePresenceCHannels"); + + migrationBuilder.DropTable( + name: "ModulePrefixes"); + + migrationBuilder.DropTable( + name: "PlayingStatus"); + + migrationBuilder.DropTable( + name: "PlaylistSong"); + + migrationBuilder.DropTable( + name: "Quotes"); + + migrationBuilder.DropTable( + name: "RaceAnimals"); + + migrationBuilder.DropTable( + name: "Reminders"); + + migrationBuilder.DropTable( + name: "Repeaters"); + + migrationBuilder.DropTable( + name: "SelfAssignableRoles"); + + migrationBuilder.DropTable( + name: "TypingArticles"); + + migrationBuilder.DropTable( + name: "ClashOfClans"); + + migrationBuilder.DropTable( + name: "GuildConfigs"); + + migrationBuilder.DropTable( + name: "MusicPlaylists"); + + migrationBuilder.DropTable( + name: "BotConfig"); + + migrationBuilder.DropTable( + name: "LogSettings"); + + migrationBuilder.DropTable( + name: "Permission"); + } + } +} diff --git a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs index de39d0e6..788474c7 100644 --- a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs +++ b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs @@ -632,7 +632,8 @@ namespace NadekoBot.Migrations { b.HasOne("NadekoBot.Services.Database.Models.MusicPlaylist") .WithMany("Songs") - .HasForeignKey("MusicPlaylistId"); + .HasForeignKey("MusicPlaylistId") + .OnDelete(DeleteBehavior.Cascade); }); modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => diff --git a/src/NadekoBot/Services/Database/NadekoContext.cs b/src/NadekoBot/Services/Database/NadekoContext.cs index bb8b3087..81940a91 100644 --- a/src/NadekoBot/Services/Database/NadekoContext.cs +++ b/src/NadekoBot/Services/Database/NadekoContext.cs @@ -208,7 +208,7 @@ namespace NadekoBot.Services.Database var musicPlaylistEntity = modelBuilder.Entity(); musicPlaylistEntity - .HasMany(p => p.Songs) + .HasMany(p => p.Songs) .WithOne() .OnDelete(Microsoft.EntityFrameworkCore.Metadata.DeleteBehavior.Cascade); From b97d626bc4ea62bcf8e25e09fa288d3a9463c198 Mon Sep 17 00:00:00 2001 From: Nitix Date: Sun, 2 Oct 2016 04:28:15 +0200 Subject: [PATCH 028/135] Deletion of old migration --- .../20161001173937_first.Designer.cs | 647 ----------------- .../Migrations/20161001173937_first.cs | 675 ------------------ 2 files changed, 1322 deletions(-) delete mode 100644 src/NadekoBot/Migrations/20161001173937_first.Designer.cs delete mode 100644 src/NadekoBot/Migrations/20161001173937_first.cs diff --git a/src/NadekoBot/Migrations/20161001173937_first.Designer.cs b/src/NadekoBot/Migrations/20161001173937_first.Designer.cs deleted file mode 100644 index 6647dc9e..00000000 --- a/src/NadekoBot/Migrations/20161001173937_first.Designer.cs +++ /dev/null @@ -1,647 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using NadekoBot.Services.Database.Impl; - -namespace NadekoBot.Migrations -{ - [DbContext(typeof(NadekoSqliteContext))] - [Migration("20161001173937_first")] - partial class first - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { - modelBuilder - .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ItemId"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("BlacklistItem"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BufferSize"); - - b.Property("CurrencyGenerationChance"); - - b.Property("CurrencyGenerationCooldown"); - - b.Property("CurrencyName"); - - b.Property("CurrencyPluralName"); - - b.Property("CurrencySign"); - - b.Property("DontJoinServers"); - - b.Property("ForwardMessages"); - - b.Property("ForwardToAllOwners"); - - b.Property("RemindMessageFormat"); - - b.Property("RotatingStatuses"); - - b.HasKey("Id"); - - b.ToTable("BotConfig"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BaseDestroyed"); - - b.Property("CallUser"); - - b.Property("ClashWarId"); - - b.Property("Stars"); - - b.Property("TimeAdded"); - - b.HasKey("Id"); - - b.HasIndex("ClashWarId"); - - b.ToTable("ClashCallers"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("EnemyClan"); - - b.Property("GuildId"); - - b.Property("Size"); - - b.Property("StartedAt"); - - b.Property("WarState"); - - b.HasKey("Id"); - - b.ToTable("ClashOfClans"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("InternalTrigger"); - - b.Property("Modifier"); - - b.Property("UnitType"); - - b.HasKey("Id"); - - b.ToTable("ConversionUnits"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Currency"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("Name"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Donators"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("EightBallResponses"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildConfigId"); - - b.Property("GuildId"); - - b.Property("LastStatus"); - - b.Property("Type"); - - b.Property("Username"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.ToTable("FollowedStream"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AutoAssignRoleId"); - - b.Property("AutoDeleteByeMessages"); - - b.Property("AutoDeleteGreetMessages"); - - b.Property("AutoDeleteGreetMessagesTimer"); - - b.Property("AutoDeleteSelfAssignedRoleMessages"); - - b.Property("ByeMessageChannelId"); - - b.Property("ChannelByeMessageText"); - - b.Property("ChannelGreetMessageText"); - - b.Property("DefaultMusicVolume"); - - b.Property("DeleteMessageOnCommand"); - - b.Property("DmGreetMessageText"); - - b.Property("ExclusiveSelfAssignedRoles"); - - b.Property("GenerateCurrencyChannelId"); - - b.Property("GreetMessageChannelId"); - - b.Property("GuildId"); - - b.Property("LogSettingId"); - - b.Property("PermissionRole"); - - b.Property("RootPermissionId"); - - b.Property("SendChannelByeMessage"); - - b.Property("SendChannelGreetMessage"); - - b.Property("SendDmGreetMessage"); - - b.Property("VerbosePermissions"); - - b.Property("VoicePlusTextEnabled"); - - b.HasKey("Id"); - - b.HasIndex("GuildId") - .IsUnique(); - - b.HasIndex("LogSettingId"); - - b.HasIndex("RootPermissionId"); - - b.ToTable("GuildConfigs"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredLogChannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredVoicePresenceCHannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelCreated"); - - b.Property("ChannelDestroyed"); - - b.Property("ChannelId"); - - b.Property("ChannelUpdated"); - - b.Property("IsLogging"); - - b.Property("LogUserPresence"); - - b.Property("LogVoicePresence"); - - b.Property("MessageDeleted"); - - b.Property("MessageReceived"); - - b.Property("MessageUpdated"); - - b.Property("UserBanned"); - - b.Property("UserJoined"); - - b.Property("UserLeft"); - - b.Property("UserPresenceChannelId"); - - b.Property("UserUnbanned"); - - b.Property("UserUpdated"); - - b.Property("VoicePresenceChannelId"); - - b.HasKey("Id"); - - b.ToTable("LogSettings"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ModuleName"); - - b.Property("Prefix"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("ModulePrefixes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.MusicPlaylist", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Author"); - - b.Property("AuthorId"); - - b.Property("Name"); - - b.HasKey("Id"); - - b.ToTable("MusicPlaylists"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("NextId"); - - b.Property("PrimaryTarget"); - - b.Property("PrimaryTargetId"); - - b.Property("SecondaryTarget"); - - b.Property("SecondaryTargetName"); - - b.Property("State"); - - b.HasKey("Id"); - - b.HasIndex("NextId") - .IsUnique(); - - b.ToTable("Permission"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Status"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("PlayingStatus"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("MusicPlaylistId"); - - b.Property("Provider"); - - b.Property("ProviderType"); - - b.Property("Query"); - - b.Property("Title"); - - b.Property("Uri"); - - b.HasKey("Id"); - - b.HasIndex("MusicPlaylistId"); - - b.ToTable("PlaylistSong"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AuthorId"); - - b.Property("AuthorName") - .IsRequired(); - - b.Property("GuildId"); - - b.Property("Keyword") - .IsRequired(); - - b.Property("Text") - .IsRequired(); - - b.HasKey("Id"); - - b.ToTable("Quotes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Icon"); - - b.Property("Name"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("RaceAnimals"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("IsPrivate"); - - b.Property("Message"); - - b.Property("ServerId"); - - b.Property("UserId"); - - b.Property("When"); - - b.HasKey("Id"); - - b.ToTable("Reminders"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildId"); - - b.Property("Interval"); - - b.Property("Message"); - - b.HasKey("Id"); - - b.HasIndex("ChannelId") - .IsUnique(); - - b.ToTable("Repeaters"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("GuildId"); - - b.Property("RoleId"); - - b.HasKey("Id"); - - b.HasIndex("GuildId", "RoleId") - .IsUnique(); - - b.ToTable("SelfAssignableRoles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Author"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.ToTable("TypingArticles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("Blacklist") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") - .WithMany("Bases") - .HasForeignKey("ClashWarId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("EightBallResponses") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FollowedStreams") - .HasForeignKey("GuildConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany() - .HasForeignKey("LogSettingId"); - - b.HasOne("NadekoBot.Services.Database.Models.Permission", "RootPermission") - .WithMany() - .HasForeignKey("RootPermissionId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredChannels") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredVoicePresenceChannelIds") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") - .WithMany("ModulePrefixes") - .HasForeignKey("BotConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => - { - b.HasOne("NadekoBot.Services.Database.Models.Permission", "Next") - .WithOne("Previous") - .HasForeignKey("NadekoBot.Services.Database.Models.Permission", "NextId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RotatingStatusMessages") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => - { - b.HasOne("NadekoBot.Services.Database.Models.MusicPlaylist") - .WithMany("Songs") - .HasForeignKey("MusicPlaylistId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RaceAnimals") - .HasForeignKey("BotConfigId"); - }); - } - } -} diff --git a/src/NadekoBot/Migrations/20161001173937_first.cs b/src/NadekoBot/Migrations/20161001173937_first.cs deleted file mode 100644 index 2cf892c5..00000000 --- a/src/NadekoBot/Migrations/20161001173937_first.cs +++ /dev/null @@ -1,675 +0,0 @@ -using System; -using System.Collections.Generic; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace NadekoBot.Migrations -{ - public partial class first : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "BotConfig", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - BufferSize = table.Column(nullable: false), - CurrencyGenerationChance = table.Column(nullable: false), - CurrencyGenerationCooldown = table.Column(nullable: false), - CurrencyName = table.Column(nullable: true), - CurrencyPluralName = table.Column(nullable: true), - CurrencySign = table.Column(nullable: true), - DontJoinServers = table.Column(nullable: false), - ForwardMessages = table.Column(nullable: false), - ForwardToAllOwners = table.Column(nullable: false), - RemindMessageFormat = table.Column(nullable: true), - RotatingStatuses = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_BotConfig", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "ClashOfClans", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - ChannelId = table.Column(nullable: false), - EnemyClan = table.Column(nullable: true), - GuildId = table.Column(nullable: false), - Size = table.Column(nullable: false), - StartedAt = table.Column(nullable: false), - WarState = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_ClashOfClans", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "ConversionUnits", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - InternalTrigger = table.Column(nullable: true), - Modifier = table.Column(nullable: false), - UnitType = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_ConversionUnits", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "Currency", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - Amount = table.Column(nullable: false), - UserId = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Currency", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "Donators", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - Amount = table.Column(nullable: false), - Name = table.Column(nullable: true), - UserId = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Donators", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "LogSettings", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - ChannelCreated = table.Column(nullable: false), - ChannelDestroyed = table.Column(nullable: false), - ChannelId = table.Column(nullable: false), - ChannelUpdated = table.Column(nullable: false), - IsLogging = table.Column(nullable: false), - LogUserPresence = table.Column(nullable: false), - LogVoicePresence = table.Column(nullable: false), - MessageDeleted = table.Column(nullable: false), - MessageReceived = table.Column(nullable: false), - MessageUpdated = table.Column(nullable: false), - UserBanned = table.Column(nullable: false), - UserJoined = table.Column(nullable: false), - UserLeft = table.Column(nullable: false), - UserPresenceChannelId = table.Column(nullable: false), - UserUnbanned = table.Column(nullable: false), - UserUpdated = table.Column(nullable: false), - VoicePresenceChannelId = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_LogSettings", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "MusicPlaylists", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - Author = table.Column(nullable: true), - AuthorId = table.Column(nullable: false), - Name = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_MusicPlaylists", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "Permission", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - NextId = table.Column(nullable: true), - PrimaryTarget = table.Column(nullable: false), - PrimaryTargetId = table.Column(nullable: false), - SecondaryTarget = table.Column(nullable: false), - SecondaryTargetName = table.Column(nullable: true), - State = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Permission", x => x.Id); - table.ForeignKey( - name: "FK_Permission_Permission_NextId", - column: x => x.NextId, - principalTable: "Permission", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "Quotes", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - AuthorId = table.Column(nullable: false), - AuthorName = table.Column(nullable: false), - GuildId = table.Column(nullable: false), - Keyword = table.Column(nullable: false), - Text = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Quotes", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "Reminders", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - ChannelId = table.Column(nullable: false), - IsPrivate = table.Column(nullable: false), - Message = table.Column(nullable: true), - ServerId = table.Column(nullable: false), - UserId = table.Column(nullable: false), - When = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Reminders", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "Repeaters", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - ChannelId = table.Column(nullable: false), - GuildId = table.Column(nullable: false), - Interval = table.Column(nullable: false), - Message = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_Repeaters", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "SelfAssignableRoles", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - GuildId = table.Column(nullable: false), - RoleId = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_SelfAssignableRoles", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "TypingArticles", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - Author = table.Column(nullable: true), - Text = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_TypingArticles", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "BlacklistItem", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - BotConfigId = table.Column(nullable: true), - ItemId = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_BlacklistItem", x => x.Id); - table.ForeignKey( - name: "FK_BlacklistItem_BotConfig_BotConfigId", - column: x => x.BotConfigId, - principalTable: "BotConfig", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "EightBallResponses", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - BotConfigId = table.Column(nullable: true), - Text = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_EightBallResponses", x => x.Id); - table.ForeignKey( - name: "FK_EightBallResponses_BotConfig_BotConfigId", - column: x => x.BotConfigId, - principalTable: "BotConfig", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "ModulePrefixes", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - BotConfigId = table.Column(nullable: false), - ModuleName = table.Column(nullable: true), - Prefix = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_ModulePrefixes", x => x.Id); - table.ForeignKey( - name: "FK_ModulePrefixes_BotConfig_BotConfigId", - column: x => x.BotConfigId, - principalTable: "BotConfig", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "PlayingStatus", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - BotConfigId = table.Column(nullable: true), - Status = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_PlayingStatus", x => x.Id); - table.ForeignKey( - name: "FK_PlayingStatus_BotConfig_BotConfigId", - column: x => x.BotConfigId, - principalTable: "BotConfig", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "RaceAnimals", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - BotConfigId = table.Column(nullable: true), - Icon = table.Column(nullable: true), - Name = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_RaceAnimals", x => x.Id); - table.ForeignKey( - name: "FK_RaceAnimals_BotConfig_BotConfigId", - column: x => x.BotConfigId, - principalTable: "BotConfig", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "ClashCallers", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - BaseDestroyed = table.Column(nullable: false), - CallUser = table.Column(nullable: true), - ClashWarId = table.Column(nullable: false), - Stars = table.Column(nullable: false), - TimeAdded = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_ClashCallers", x => x.Id); - table.ForeignKey( - name: "FK_ClashCallers_ClashOfClans_ClashWarId", - column: x => x.ClashWarId, - principalTable: "ClashOfClans", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IgnoredLogChannels", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - ChannelId = table.Column(nullable: false), - LogSettingId = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_IgnoredLogChannels", x => x.Id); - table.ForeignKey( - name: "FK_IgnoredLogChannels_LogSettings_LogSettingId", - column: x => x.LogSettingId, - principalTable: "LogSettings", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "IgnoredVoicePresenceCHannels", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - ChannelId = table.Column(nullable: false), - LogSettingId = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_IgnoredVoicePresenceCHannels", x => x.Id); - table.ForeignKey( - name: "FK_IgnoredVoicePresenceCHannels_LogSettings_LogSettingId", - column: x => x.LogSettingId, - principalTable: "LogSettings", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "PlaylistSong", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - MusicPlaylistId = table.Column(nullable: true), - Provider = table.Column(nullable: true), - ProviderType = table.Column(nullable: false), - Query = table.Column(nullable: true), - Title = table.Column(nullable: true), - Uri = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_PlaylistSong", x => x.Id); - table.ForeignKey( - name: "FK_PlaylistSong_MusicPlaylists_MusicPlaylistId", - column: x => x.MusicPlaylistId, - principalTable: "MusicPlaylists", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "GuildConfigs", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - AutoAssignRoleId = table.Column(nullable: false), - AutoDeleteByeMessages = table.Column(nullable: false), - AutoDeleteGreetMessages = table.Column(nullable: false), - AutoDeleteGreetMessagesTimer = table.Column(nullable: false), - AutoDeleteSelfAssignedRoleMessages = table.Column(nullable: false), - ByeMessageChannelId = table.Column(nullable: false), - ChannelByeMessageText = table.Column(nullable: true), - ChannelGreetMessageText = table.Column(nullable: true), - DefaultMusicVolume = table.Column(nullable: false), - DeleteMessageOnCommand = table.Column(nullable: false), - DmGreetMessageText = table.Column(nullable: true), - ExclusiveSelfAssignedRoles = table.Column(nullable: false), - GenerateCurrencyChannelId = table.Column(nullable: true), - GreetMessageChannelId = table.Column(nullable: false), - GuildId = table.Column(nullable: false), - LogSettingId = table.Column(nullable: true), - PermissionRole = table.Column(nullable: true), - RootPermissionId = table.Column(nullable: true), - SendChannelByeMessage = table.Column(nullable: false), - SendChannelGreetMessage = table.Column(nullable: false), - SendDmGreetMessage = table.Column(nullable: false), - VerbosePermissions = table.Column(nullable: false), - VoicePlusTextEnabled = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_GuildConfigs", x => x.Id); - table.ForeignKey( - name: "FK_GuildConfigs_LogSettings_LogSettingId", - column: x => x.LogSettingId, - principalTable: "LogSettings", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "FK_GuildConfigs_Permission_RootPermissionId", - column: x => x.RootPermissionId, - principalTable: "Permission", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "FollowedStream", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - ChannelId = table.Column(nullable: false), - GuildConfigId = table.Column(nullable: true), - GuildId = table.Column(nullable: false), - LastStatus = table.Column(nullable: false), - Type = table.Column(nullable: false), - Username = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FollowedStream", x => x.Id); - table.ForeignKey( - name: "FK_FollowedStream_GuildConfigs_GuildConfigId", - column: x => x.GuildConfigId, - principalTable: "GuildConfigs", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateIndex( - name: "IX_BlacklistItem_BotConfigId", - table: "BlacklistItem", - column: "BotConfigId"); - - migrationBuilder.CreateIndex( - name: "IX_ClashCallers_ClashWarId", - table: "ClashCallers", - column: "ClashWarId"); - - migrationBuilder.CreateIndex( - name: "IX_Currency_UserId", - table: "Currency", - column: "UserId", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_Donators_UserId", - table: "Donators", - column: "UserId", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_EightBallResponses_BotConfigId", - table: "EightBallResponses", - column: "BotConfigId"); - - migrationBuilder.CreateIndex( - name: "IX_FollowedStream_GuildConfigId", - table: "FollowedStream", - column: "GuildConfigId"); - - migrationBuilder.CreateIndex( - name: "IX_GuildConfigs_GuildId", - table: "GuildConfigs", - column: "GuildId", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_GuildConfigs_LogSettingId", - table: "GuildConfigs", - column: "LogSettingId"); - - migrationBuilder.CreateIndex( - name: "IX_GuildConfigs_RootPermissionId", - table: "GuildConfigs", - column: "RootPermissionId"); - - migrationBuilder.CreateIndex( - name: "IX_IgnoredLogChannels_LogSettingId", - table: "IgnoredLogChannels", - column: "LogSettingId"); - - migrationBuilder.CreateIndex( - name: "IX_IgnoredVoicePresenceCHannels_LogSettingId", - table: "IgnoredVoicePresenceCHannels", - column: "LogSettingId"); - - migrationBuilder.CreateIndex( - name: "IX_ModulePrefixes_BotConfigId", - table: "ModulePrefixes", - column: "BotConfigId"); - - migrationBuilder.CreateIndex( - name: "IX_Permission_NextId", - table: "Permission", - column: "NextId", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_PlayingStatus_BotConfigId", - table: "PlayingStatus", - column: "BotConfigId"); - - migrationBuilder.CreateIndex( - name: "IX_PlaylistSong_MusicPlaylistId", - table: "PlaylistSong", - column: "MusicPlaylistId"); - - migrationBuilder.CreateIndex( - name: "IX_RaceAnimals_BotConfigId", - table: "RaceAnimals", - column: "BotConfigId"); - - migrationBuilder.CreateIndex( - name: "IX_Repeaters_ChannelId", - table: "Repeaters", - column: "ChannelId", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_SelfAssignableRoles_GuildId_RoleId", - table: "SelfAssignableRoles", - columns: new[] { "GuildId", "RoleId" }, - unique: true); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "BlacklistItem"); - - migrationBuilder.DropTable( - name: "ClashCallers"); - - migrationBuilder.DropTable( - name: "ConversionUnits"); - - migrationBuilder.DropTable( - name: "Currency"); - - migrationBuilder.DropTable( - name: "Donators"); - - migrationBuilder.DropTable( - name: "EightBallResponses"); - - migrationBuilder.DropTable( - name: "FollowedStream"); - - migrationBuilder.DropTable( - name: "IgnoredLogChannels"); - - migrationBuilder.DropTable( - name: "IgnoredVoicePresenceCHannels"); - - migrationBuilder.DropTable( - name: "ModulePrefixes"); - - migrationBuilder.DropTable( - name: "PlayingStatus"); - - migrationBuilder.DropTable( - name: "PlaylistSong"); - - migrationBuilder.DropTable( - name: "Quotes"); - - migrationBuilder.DropTable( - name: "RaceAnimals"); - - migrationBuilder.DropTable( - name: "Reminders"); - - migrationBuilder.DropTable( - name: "Repeaters"); - - migrationBuilder.DropTable( - name: "SelfAssignableRoles"); - - migrationBuilder.DropTable( - name: "TypingArticles"); - - migrationBuilder.DropTable( - name: "ClashOfClans"); - - migrationBuilder.DropTable( - name: "GuildConfigs"); - - migrationBuilder.DropTable( - name: "MusicPlaylists"); - - migrationBuilder.DropTable( - name: "BotConfig"); - - migrationBuilder.DropTable( - name: "LogSettings"); - - migrationBuilder.DropTable( - name: "Permission"); - } - } -} From 8f2b48c2912af5d265a7ea32da5bd3c2bdef42ca Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 3 Oct 2016 04:19:14 +0200 Subject: [PATCH 029/135] Blacklisting done --- .../NadekoSqliteContextModelSnapshot.cs | 2 + src/NadekoBot/Modules/Gambling/Gambling.cs | 13 +- .../Games/Commands/Trivia/TriviaGame.cs | 4 +- .../Permissions/PermissionExtensions.cs | 2 +- .../Modules/Permissions/Permissions.cs | 2 +- src/NadekoBot/Modules/Utility/Utility.cs | 2 +- .../Resources/CommandStrings.Designer.cs | 122 +++++++++--------- src/NadekoBot/Resources/CommandStrings.resx | 20 +-- src/NadekoBot/Services/CommandHandler.cs | 19 ++- .../Services/Database/Models/BotConfig.cs | 2 + 10 files changed, 102 insertions(+), 86 deletions(-) diff --git a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs index 788474c7..75cc79bd 100644 --- a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs +++ b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs @@ -24,6 +24,8 @@ namespace NadekoBot.Migrations b.Property("ItemId"); + b.Property("Type"); + b.HasKey("Id"); b.HasIndex("BotConfigId"); diff --git a/src/NadekoBot/Modules/Gambling/Gambling.cs b/src/NadekoBot/Modules/Gambling/Gambling.cs index 333a8bcc..d8296c98 100644 --- a/src/NadekoBot/Modules/Gambling/Gambling.cs +++ b/src/NadekoBot/Modules/Gambling/Gambling.cs @@ -197,13 +197,12 @@ namespace NadekoBot.Modules.Gambling await channel.SendMessageAsync( richest.Aggregate(new StringBuilder( $@"```xl - ┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┓ - ┃ Id ┃ $$$ ┃ - "), - (cur, cs) => cur.AppendLine( -$@"┣━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━┫ - ┃{(channel.Guild.GetUser(cs.UserId)?.Username.TrimTo(18, true) ?? cs.UserId.ToString()),-20} ┃ {cs,5} ┃") - ).ToString() + "┗━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━┛```").ConfigureAwait(false); +┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┓ +┃ Id ┃ $$$ ┃ +"), + (cur, cs) => cur.AppendLine($@"┣━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━┫ +┃{(channel.Guild.GetUser(cs.UserId)?.Username.TrimTo(18, true) ?? cs.UserId.ToString()),-20} ┃ {cs.Amount,6} ┃") + ).ToString() + "┗━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━━┛```").ConfigureAwait(false); } } } diff --git a/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs b/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs index c4b27ff5..6a68368f 100644 --- a/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs +++ b/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs @@ -13,8 +13,8 @@ namespace NadekoBot.Modules.Games.Trivia { private readonly SemaphoreSlim _guessLock = new SemaphoreSlim(1, 1); - private IGuild guild { get; } - private ITextChannel channel { get; } + public IGuild guild { get; } + public ITextChannel channel { get; } private int QuestionDurationMiliseconds { get; } = 30000; private int HintTimeoutMiliseconds { get; } = 6000; diff --git a/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs b/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs index 6a39a9ff..77f4201f 100644 --- a/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs +++ b/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs @@ -43,7 +43,7 @@ namespace NadekoBot.Modules.Permissions } else { - permIndex = i + 1; + permIndex = i; return result.Value; } } diff --git a/src/NadekoBot/Modules/Permissions/Permissions.cs b/src/NadekoBot/Modules/Permissions/Permissions.cs index 087d3755..485d7f46 100644 --- a/src/NadekoBot/Modules/Permissions/Permissions.cs +++ b/src/NadekoBot/Modules/Permissions/Permissions.cs @@ -15,7 +15,7 @@ using Discord.API; namespace NadekoBot.Modules.Permissions { [NadekoModule("Permissions", ";")] - public class Permissions : DiscordModule + public partial class Permissions : DiscordModule { public Permissions(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) { diff --git a/src/NadekoBot/Modules/Utility/Utility.cs b/src/NadekoBot/Modules/Utility/Utility.cs index 32f37096..56589a75 100644 --- a/src/NadekoBot/Modules/Utility/Utility.cs +++ b/src/NadekoBot/Modules/Utility/Utility.cs @@ -98,7 +98,7 @@ namespace NadekoBot.Modules.Utility public async Task UserId(IUserMessage msg, IGuildUser target = null) { var usr = target ?? msg.Author; - await msg.Reply($"Id of the user { usr.Username } is { usr.Id })").ConfigureAwait(false); + await msg.Reply($"Id of the user { usr.Username } is { usr.Id }").ConfigureAwait(false); } [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index 8253f6ca..c841bb54 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -1061,27 +1061,27 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to Blacklists a mentioned channel (#general for example).. /// - public static string cbl_desc { + public static string channelblacklist_desc { get { - return ResourceManager.GetString("cbl_desc", resourceCulture); + return ResourceManager.GetString("channelblacklist_desc", resourceCulture); } } /// /// Looks up a localized string similar to `;cbl #some_channel`. /// - public static string cbl_summary { + public static string channelblacklist_summary { get { - return ResourceManager.GetString("cbl_summary", resourceCulture); + return ResourceManager.GetString("channelblacklist_summary", resourceCulture); } } /// /// Looks up a localized string similar to cbl. /// - public static string cbl_text { + public static string channelblacklist_text { get { - return ResourceManager.GetString("cbl_text", resourceCulture); + return ResourceManager.GetString("channelblacklist_text", resourceCulture); } } @@ -1104,7 +1104,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to channelid. + /// Looks up a localized string similar to channelid cid. /// public static string channelid_text { get { @@ -5972,33 +5972,6 @@ namespace NadekoBot.Resources { } } - /// - /// Looks up a localized string similar to Blacklists a server by a name or id (#general for example). **BOT OWNER ONLY**. - /// - public static string sbl_desc { - get { - return ResourceManager.GetString("sbl_desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to `;sbl [servername/serverid]`. - /// - public static string sbl_summary { - get { - return ResourceManager.GetString("sbl_summary", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to sbl. - /// - public static string sbl_text { - get { - return ResourceManager.GetString("sbl_text", resourceCulture); - } - } - /// /// Looks up a localized string similar to Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance. **Bot Owner Only.**. /// @@ -6053,6 +6026,33 @@ namespace NadekoBot.Resources { } } + /// + /// Looks up a localized string similar to Blacklists a server by a name or id (#general for example). **BOT OWNER ONLY**. + /// + public static string serverblacklist_desc { + get { + return ResourceManager.GetString("serverblacklist_desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to `;sbl [servername/serverid]`. + /// + public static string serverblacklist_summary { + get { + return ResourceManager.GetString("serverblacklist_summary", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to sbl. + /// + public static string serverblacklist_text { + get { + return ResourceManager.GetString("serverblacklist_text", resourceCulture); + } + } + /// /// Looks up a localized string similar to Shows current server ID.. /// @@ -7052,33 +7052,6 @@ namespace NadekoBot.Resources { } } - /// - /// Looks up a localized string similar to Blacklists a mentioned user. **Bot Owner Only!**. - /// - public static string ubl_desc { - get { - return ResourceManager.GetString("ubl_desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to `;ubl [user_mention]`. - /// - public static string ubl_summary { - get { - return ResourceManager.GetString("ubl_summary", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to ubl. - /// - public static string ubl_text { - get { - return ResourceManager.GetString("ubl_text", resourceCulture); - } - } - /// /// Looks up a localized string similar to Unbinds a bot from the channel and board. **Bot Owner Only!**. /// @@ -7241,6 +7214,33 @@ namespace NadekoBot.Resources { } } + /// + /// Looks up a localized string similar to Blacklists a mentioned user. **Bot Owner Only!**. + /// + public static string userblacklist_desc { + get { + return ResourceManager.GetString("userblacklist_desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to `;ubl [user_mention]`. + /// + public static string userblacklist_summary { + get { + return ResourceManager.GetString("userblacklist_summary", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ubl. + /// + public static string userblacklist_text { + get { + return ResourceManager.GetString("userblacklist_text", resourceCulture); + } + } + /// /// Looks up a localized string similar to Shows user ID.. /// diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index ad27382f..58f84736 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -919,7 +919,7 @@ `.uid` or `.uid "@SomeGuy"` - channelid + channelid cid Shows current channel ID. @@ -1224,13 +1224,13 @@ `;arc "module name" [enable/disable] MyRole` - + ubl - + Blacklists a mentioned user. **Bot Owner Only!** - + `;ubl [user_mention]` @@ -1242,13 +1242,13 @@ `;uubl [user_mention]` - + cbl - + Blacklists a mentioned channel (#general for example). - + `;cbl #some_channel` @@ -1260,13 +1260,13 @@ `;cubl #some_channel` - + sbl - + Blacklists a server by a name or id (#general for example). **BOT OWNER ONLY** - + `;sbl [servername/serverid]` diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index 1a4e65f9..5703eaec 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -39,16 +39,29 @@ namespace NadekoBot.Services if (usrMsg == null) return Task.CompletedTask; + if (usrMsg.Author.IsBot) //no bots + return Task.CompletedTask; + var guild = (msg.Channel as ITextChannel)?.Guild; + BlacklistItem blacklistedItem; + if ((blacklistedItem = Permissions.BlacklistCommands.BlacklistedItems.FirstOrDefault(bi => + (bi.Type == BlacklistItem.BlacklistType.Server && bi.ItemId == guild?.Id) || + (bi.Type == BlacklistItem.BlacklistType.Channel && bi.ItemId == msg.Channel.Id) || + (bi.Type == BlacklistItem.BlacklistType.User && bi.ItemId == usrMsg.Author.Id))) != null) + { + _log.Warn("Attempt was made to run a command by a blacklisted {0}, id: {1}", blacklistedItem.Type, blacklistedItem.ItemId); + return Task.CompletedTask; + } + var throwaway = Task.Run(async () => { - var sw = new Stopwatch(); + var sw = new Stopwatch(); sw.Start(); try { - + bool verbose = false; Permission rootPerm = null; string permRole = ""; @@ -165,7 +178,7 @@ namespace NadekoBot.Services int index; if (!rootPerm.AsEnumerable().CheckPermissions(message, cmd.Name, cmd.Module.Name, out index)) { - var returnMsg = $"Permission number #{index} **{rootPerm.GetAt(index).GetCommand()}** is preventing this action."; + var returnMsg = $"Permission number #{index + 1} **{rootPerm.GetAt(index).GetCommand()}** is preventing this action."; return new Tuple(cmd, SearchResult.FromError(CommandError.Exception, returnMsg)); } diff --git a/src/NadekoBot/Services/Database/Models/BotConfig.cs b/src/NadekoBot/Services/Database/Models/BotConfig.cs index acb5d199..b8c08404 100644 --- a/src/NadekoBot/Services/Database/Models/BotConfig.cs +++ b/src/NadekoBot/Services/Database/Models/BotConfig.cs @@ -43,6 +43,8 @@ namespace NadekoBot.Services.Database.Models public class BlacklistItem : DbEntity { public ulong ItemId { get; set; } + public BlacklistType Type { get; set; } + public enum BlacklistType { Server, From 0df0eea6c0e1c451f0ebf4dffbb50a3ecd99eda5 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 3 Oct 2016 04:34:37 +0200 Subject: [PATCH 030/135] forgot migrations --- .../20161003012137_blacklist.Designer.cs | 650 ++++++++++++++++++ .../Migrations/20161003012137_blacklist.cs | 26 + .../Permissions/Commands/BlacklistCommands.cs | 104 +++ 3 files changed, 780 insertions(+) create mode 100644 src/NadekoBot/Migrations/20161003012137_blacklist.Designer.cs create mode 100644 src/NadekoBot/Migrations/20161003012137_blacklist.cs create mode 100644 src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs diff --git a/src/NadekoBot/Migrations/20161003012137_blacklist.Designer.cs b/src/NadekoBot/Migrations/20161003012137_blacklist.Designer.cs new file mode 100644 index 00000000..5bdecdb6 --- /dev/null +++ b/src/NadekoBot/Migrations/20161003012137_blacklist.Designer.cs @@ -0,0 +1,650 @@ +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using NadekoBot.Services.Database.Impl; + +namespace NadekoBot.Migrations +{ + [DbContext(typeof(NadekoSqliteContext))] + [Migration("20161003012137_blacklist")] + partial class blacklist + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { + modelBuilder + .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ItemId"); + + b.Property("Type"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("BlacklistItem"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BufferSize"); + + b.Property("CurrencyGenerationChance"); + + b.Property("CurrencyGenerationCooldown"); + + b.Property("CurrencyName"); + + b.Property("CurrencyPluralName"); + + b.Property("CurrencySign"); + + b.Property("DontJoinServers"); + + b.Property("ForwardMessages"); + + b.Property("ForwardToAllOwners"); + + b.Property("RemindMessageFormat"); + + b.Property("RotatingStatuses"); + + b.HasKey("Id"); + + b.ToTable("BotConfig"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BaseDestroyed"); + + b.Property("CallUser"); + + b.Property("ClashWarId"); + + b.Property("Stars"); + + b.Property("TimeAdded"); + + b.HasKey("Id"); + + b.HasIndex("ClashWarId"); + + b.ToTable("ClashCallers"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("EnemyClan"); + + b.Property("GuildId"); + + b.Property("Size"); + + b.Property("StartedAt"); + + b.Property("WarState"); + + b.HasKey("Id"); + + b.ToTable("ClashOfClans"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("InternalTrigger"); + + b.Property("Modifier"); + + b.Property("UnitType"); + + b.HasKey("Id"); + + b.ToTable("ConversionUnits"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Currency"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("Name"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Donators"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("EightBallResponses"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildConfigId"); + + b.Property("GuildId"); + + b.Property("LastStatus"); + + b.Property("Type"); + + b.Property("Username"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FollowedStream"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AutoAssignRoleId"); + + b.Property("AutoDeleteByeMessages"); + + b.Property("AutoDeleteGreetMessages"); + + b.Property("AutoDeleteGreetMessagesTimer"); + + b.Property("AutoDeleteSelfAssignedRoleMessages"); + + b.Property("ByeMessageChannelId"); + + b.Property("ChannelByeMessageText"); + + b.Property("ChannelGreetMessageText"); + + b.Property("DefaultMusicVolume"); + + b.Property("DeleteMessageOnCommand"); + + b.Property("DmGreetMessageText"); + + b.Property("ExclusiveSelfAssignedRoles"); + + b.Property("GenerateCurrencyChannelId"); + + b.Property("GreetMessageChannelId"); + + b.Property("GuildId"); + + b.Property("LogSettingId"); + + b.Property("PermissionRole"); + + b.Property("RootPermissionId"); + + b.Property("SendChannelByeMessage"); + + b.Property("SendChannelGreetMessage"); + + b.Property("SendDmGreetMessage"); + + b.Property("VerbosePermissions"); + + b.Property("VoicePlusTextEnabled"); + + b.HasKey("Id"); + + b.HasIndex("GuildId") + .IsUnique(); + + b.HasIndex("LogSettingId"); + + b.HasIndex("RootPermissionId"); + + b.ToTable("GuildConfigs"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredLogChannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredVoicePresenceCHannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelCreated"); + + b.Property("ChannelDestroyed"); + + b.Property("ChannelId"); + + b.Property("ChannelUpdated"); + + b.Property("IsLogging"); + + b.Property("LogUserPresence"); + + b.Property("LogVoicePresence"); + + b.Property("MessageDeleted"); + + b.Property("MessageReceived"); + + b.Property("MessageUpdated"); + + b.Property("UserBanned"); + + b.Property("UserJoined"); + + b.Property("UserLeft"); + + b.Property("UserPresenceChannelId"); + + b.Property("UserUnbanned"); + + b.Property("UserUpdated"); + + b.Property("VoicePresenceChannelId"); + + b.HasKey("Id"); + + b.ToTable("LogSettings"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ModuleName"); + + b.Property("Prefix"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("ModulePrefixes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.MusicPlaylist", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("AuthorId"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.ToTable("MusicPlaylists"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("NextId"); + + b.Property("PrimaryTarget"); + + b.Property("PrimaryTargetId"); + + b.Property("SecondaryTarget"); + + b.Property("SecondaryTargetName"); + + b.Property("State"); + + b.HasKey("Id"); + + b.HasIndex("NextId") + .IsUnique(); + + b.ToTable("Permission"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Status"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("PlayingStatus"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("MusicPlaylistId"); + + b.Property("Provider"); + + b.Property("ProviderType"); + + b.Property("Query"); + + b.Property("Title"); + + b.Property("Uri"); + + b.HasKey("Id"); + + b.HasIndex("MusicPlaylistId"); + + b.ToTable("PlaylistSong"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AuthorId"); + + b.Property("AuthorName") + .IsRequired(); + + b.Property("GuildId"); + + b.Property("Keyword") + .IsRequired(); + + b.Property("Text") + .IsRequired(); + + b.HasKey("Id"); + + b.ToTable("Quotes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Icon"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("RaceAnimals"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("IsPrivate"); + + b.Property("Message"); + + b.Property("ServerId"); + + b.Property("UserId"); + + b.Property("When"); + + b.HasKey("Id"); + + b.ToTable("Reminders"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildId"); + + b.Property("Interval"); + + b.Property("Message"); + + b.HasKey("Id"); + + b.HasIndex("ChannelId") + .IsUnique(); + + b.ToTable("Repeaters"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildId"); + + b.Property("RoleId"); + + b.HasKey("Id"); + + b.HasIndex("GuildId", "RoleId") + .IsUnique(); + + b.ToTable("SelfAssignableRoles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.ToTable("TypingArticles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("Blacklist") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") + .WithMany("Bases") + .HasForeignKey("ClashWarId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("EightBallResponses") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FollowedStreams") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany() + .HasForeignKey("LogSettingId"); + + b.HasOne("NadekoBot.Services.Database.Models.Permission", "RootPermission") + .WithMany() + .HasForeignKey("RootPermissionId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredChannels") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredVoicePresenceChannelIds") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") + .WithMany("ModulePrefixes") + .HasForeignKey("BotConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.HasOne("NadekoBot.Services.Database.Models.Permission", "Next") + .WithOne("Previous") + .HasForeignKey("NadekoBot.Services.Database.Models.Permission", "NextId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RotatingStatusMessages") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.HasOne("NadekoBot.Services.Database.Models.MusicPlaylist") + .WithMany("Songs") + .HasForeignKey("MusicPlaylistId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RaceAnimals") + .HasForeignKey("BotConfigId"); + }); + } + } +} diff --git a/src/NadekoBot/Migrations/20161003012137_blacklist.cs b/src/NadekoBot/Migrations/20161003012137_blacklist.cs new file mode 100644 index 00000000..f3c24df2 --- /dev/null +++ b/src/NadekoBot/Migrations/20161003012137_blacklist.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using Microsoft.EntityFrameworkCore.Migrations; +using NadekoBot.Services.Database.Models; + +namespace NadekoBot.Migrations +{ + public partial class blacklist : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "Type", + table: "BlacklistItem", + nullable: false, + defaultValue: BlacklistItem.BlacklistType.Server); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "Type", + table: "BlacklistItem"); + } + } +} diff --git a/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs b/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs new file mode 100644 index 00000000..de442bff --- /dev/null +++ b/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs @@ -0,0 +1,104 @@ +using Discord; +using Discord.Commands; +using NadekoBot.Attributes; +using NadekoBot.Modules.Games.Trivia; +using NadekoBot.Services; +using NadekoBot.Services.Database; +using NadekoBot.Services.Database.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using static NadekoBot.Services.Database.Models.BlacklistItem; + +namespace NadekoBot.Modules.Permissions +{ + public partial class Permissions + { + public enum AddRemove + { + Add, + Rem + } + + [Group] + public class BlacklistCommands + { + public static HashSet BlacklistedItems { get; set; } = new HashSet(); + + static BlacklistCommands() + { + using (var uow = DbHandler.UnitOfWork()) + { + BlacklistedItems = uow.BotConfig.GetOrCreate().Blacklist; + } + } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [OwnerOnly] + public Task UserBlacklist(IUserMessage imsg, AddRemove action, ulong id) + => Blacklist(imsg, action, id, BlacklistType.User); + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [OwnerOnly] + public Task ChannelBlacklist(IUserMessage imsg, AddRemove action, ulong id) + => Blacklist(imsg, action, id, BlacklistType.Channel); + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [OwnerOnly] + public Task ServerBlacklist(IUserMessage imsg, AddRemove action, ulong id) + => Blacklist(imsg, action, id, BlacklistType.Server); + + private async Task Blacklist(IUserMessage imsg, AddRemove action, ulong id, BlacklistType type) + { + var channel = imsg.Channel; + + using (var uow = DbHandler.UnitOfWork()) + { + if (action == AddRemove.Add) + { + var item = new BlacklistItem { ItemId = id, Type = type }; + uow.BotConfig.GetOrCreate().Blacklist.Add(item); + BlacklistedItems.Add(item); + } + else + { + uow.BotConfig.GetOrCreate().Blacklist.RemoveWhere(bi => bi.ItemId == id && bi.Type == type); + BlacklistedItems.RemoveWhere(bi => bi.ItemId == id && bi.Type == type); + } + await uow.CompleteAsync().ConfigureAwait(false); + } + if (action == AddRemove.Rem) + { + TriviaGame tg; + switch (type) + { + case BlacklistType.Server: + Games.Games.TriviaCommands.RunningTrivias.TryRemove(id, out tg); + if (tg != null) + { + await tg.StopGame().ConfigureAwait(false); + } + break; + case BlacklistType.Channel: + var item = Games.Games.TriviaCommands.RunningTrivias.FirstOrDefault(kvp => kvp.Value.channel.Id == id); + Games.Games.TriviaCommands.RunningTrivias.TryRemove(item.Key, out tg); + if (tg != null) + { + await tg.StopGame().ConfigureAwait(false); + } + break; + case BlacklistType.User: + break; + default: + break; + } + + } + + await channel.SendMessageAsync(":ok:").ConfigureAwait(false); + } + } + } +} From f7b3b67197c3568f56454d99de2e3f6ca3d8ccfe Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 3 Oct 2016 19:21:05 +0200 Subject: [PATCH 031/135] Invite filtering works --- .../NadekoSqliteContextModelSnapshot.cs | 58 ++++++ src/NadekoBot/Services/CommandHandler.cs | 174 +++++++++++------- .../Services/Database/Models/GuildConfig.cs | 18 ++ .../Impl/GuildConfigRepository.cs | 6 + src/NadekoBot/_Extensions/Extensions.cs | 5 + src/tests/Tests.cs | 16 +- 6 files changed, 201 insertions(+), 76 deletions(-) diff --git a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs index 75cc79bd..932e67dd 100644 --- a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs +++ b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs @@ -177,6 +177,42 @@ namespace NadekoBot.Migrations b.ToTable("EightBallResponses"); }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildConfigId"); + + b.Property("GuildConfigId1"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.HasIndex("GuildConfigId1"); + + b.ToTable("FilterChannelId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildConfigId"); + + b.Property("Word"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FilteredWord"); + }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => { b.Property("Id") @@ -230,6 +266,10 @@ namespace NadekoBot.Migrations b.Property("ExclusiveSelfAssignedRoles"); + b.Property("FilterInvites"); + + b.Property("FilterWords"); + b.Property("GenerateCurrencyChannelId"); b.Property("GreetMessageChannelId"); @@ -576,6 +616,24 @@ namespace NadekoBot.Migrations .HasForeignKey("BotConfigId"); }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilterInvitesChannelIds") + .HasForeignKey("GuildConfigId"); + + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilterWordsChannelIds") + .HasForeignKey("GuildConfigId1"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilteredWords") + .HasForeignKey("GuildConfigId"); + }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => { b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index 5703eaec..579790c2 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -13,6 +13,7 @@ using NadekoBot.Services.Database.Models; using NadekoBot.Modules.Permissions; using Microsoft.Data.Sqlite; using Discord.Net; +using NadekoBot.Extensions; namespace NadekoBot.Services { @@ -33,14 +34,14 @@ namespace NadekoBot.Services _client.MessageReceived += MessageReceivedHandler; } - private Task MessageReceivedHandler(IMessage msg) + private async Task MessageReceivedHandler(IMessage msg) { var usrMsg = msg as IUserMessage; if (usrMsg == null) - return Task.CompletedTask; + return; if (usrMsg.Author.IsBot) //no bots - return Task.CompletedTask; + return; var guild = (msg.Channel as ITextChannel)?.Guild; @@ -51,83 +52,124 @@ namespace NadekoBot.Services (bi.Type == BlacklistItem.BlacklistType.User && bi.ItemId == usrMsg.Author.Id))) != null) { _log.Warn("Attempt was made to run a command by a blacklisted {0}, id: {1}", blacklistedItem.Type, blacklistedItem.ItemId); - return Task.CompletedTask; + return; } - var throwaway = Task.Run(async () => + if (guild != null) { - var sw = new Stopwatch(); - sw.Start(); - - try + if (Permissions.FilterCommands.InviteFilteringChannels.Contains(usrMsg.Channel.Id) || + Permissions.FilterCommands.InviteFilteringServers.Contains(guild.Id)) { - - bool verbose = false; - Permission rootPerm = null; - string permRole = ""; - if (guild != null) + if (usrMsg.Content.IsDiscordInvite()) { - using (var uow = DbHandler.UnitOfWork()) + try { - var config = uow.GuildConfigs.PermissionsFor(guild.Id); - verbose = config.VerbosePermissions; - rootPerm = config.RootPermission; - permRole = config.PermissionRole.Trim().ToLowerInvariant(); + await usrMsg.DeleteAsync().ConfigureAwait(false); + return; } - } - - - var t = await ExecuteCommand(usrMsg, usrMsg.Content, guild, usrMsg.Author, rootPerm, permRole, MultiMatchHandling.Best); - var command = t.Item1; - var result = t.Item2; - sw.Stop(); - var channel = (usrMsg.Channel as ITextChannel); - if (result.IsSuccess) - { - CommandExecuted(this, new CommandExecutedEventArgs(usrMsg, command)); - _log.Info("Command Executed after {4}s\n\t" + - "User: {0}\n\t" + - "Server: {1}\n\t" + - "Channel: {2}\n\t" + - "Message: {3}", - usrMsg.Author + " [" + usrMsg.Author.Id + "]", // {0} - (channel == null ? "PRIVATE" : channel.Guild.Name + " [" + channel.Guild.Id + "]"), // {1} - (channel == null ? "PRIVATE" : channel.Name + " [" + channel.Id + "]"), // {2} - usrMsg.Content, // {3} - sw.Elapsed.TotalSeconds // {4} - ); - } - else if (!result.IsSuccess && result.Error != CommandError.UnknownCommand) - { - _log.Warn("Command Errored after {5}s\n\t" + - "User: {0}\n\t" + - "Server: {1}\n\t" + - "Channel: {2}\n\t" + - "Message: {3}\n\t" + - "Error: {4}", - usrMsg.Author + " [" + usrMsg.Author.Id + "]", // {0} - (channel == null ? "PRIVATE" : channel.Guild.Name + " [" + channel.Guild.Id + "]"), // {1} - (channel == null ? "PRIVATE" : channel.Name + " [" + channel.Id + "]"), // {2} - usrMsg.Content,// {3} - result.ErrorReason, // {4} - sw.Elapsed.TotalSeconds // {5} - ); - if (guild != null && command != null && result.Error == CommandError.Exception) + catch (HttpException ex) { - if (verbose) - await msg.Channel.SendMessageAsync(":warning: " + result.ErrorReason).ConfigureAwait(false); + _log.Warn("I do not have permission to filter invites in channel with id " + usrMsg.Channel.Id, ex); } } } - catch (Exception ex) + var filteredWords = Permissions.FilterCommands.FilteredWordsForChannel(usrMsg.Channel.Id, guild.Id).Concat(Permissions.FilterCommands.FilteredWordsForServer(guild.Id)); + var wordsInMessage = usrMsg.Content.ToLowerInvariant().Split(' '); + if (filteredWords.Any()) { - _log.Warn(ex, "Error in CommandHandler"); - if(ex.InnerException != null) - _log.Warn(ex.InnerException, "Inner Exception of the error in CommandHandler"); + try + { + await usrMsg.DeleteAsync().ConfigureAwait(false); + return; + } + catch (HttpException ex) + { + _log.Warn("I do not have permission to filter words in channel with id " + usrMsg.Channel.Id, ex); + } } - }); + } - return Task.CompletedTask; + try + { + bool verbose = false; + Permission rootPerm = null; + string permRole = ""; + if (guild != null) + { + using (var uow = DbHandler.UnitOfWork()) + { + var config = uow.GuildConfigs.PermissionsFor(guild.Id); + verbose = config.VerbosePermissions; + rootPerm = config.RootPermission; + permRole = config.PermissionRole.Trim().ToLowerInvariant(); + } + + + } + + var throwaway = Task.Run(async () => + { + var sw = new Stopwatch(); + sw.Start(); + + try + { + var t = await ExecuteCommand(usrMsg, usrMsg.Content, guild, usrMsg.Author, rootPerm, permRole, MultiMatchHandling.Best); + var command = t.Item1; + var result = t.Item2; + sw.Stop(); + var channel = (usrMsg.Channel as ITextChannel); + if (result.IsSuccess) + { + CommandExecuted(this, new CommandExecutedEventArgs(usrMsg, command)); + _log.Info("Command Executed after {4}s\n\t" + + "User: {0}\n\t" + + "Server: {1}\n\t" + + "Channel: {2}\n\t" + + "Message: {3}", + usrMsg.Author + " [" + usrMsg.Author.Id + "]", // {0} + (channel == null ? "PRIVATE" : channel.Guild.Name + " [" + channel.Guild.Id + "]"), // {1} + (channel == null ? "PRIVATE" : channel.Name + " [" + channel.Id + "]"), // {2} + usrMsg.Content, // {3} + sw.Elapsed.TotalSeconds // {4} + ); + } + else if (!result.IsSuccess && result.Error != CommandError.UnknownCommand) + { + _log.Warn("Command Errored after {5}s\n\t" + + "User: {0}\n\t" + + "Server: {1}\n\t" + + "Channel: {2}\n\t" + + "Message: {3}\n\t" + + "Error: {4}", + usrMsg.Author + " [" + usrMsg.Author.Id + "]", // {0} + (channel == null ? "PRIVATE" : channel.Guild.Name + " [" + channel.Guild.Id + "]"), // {1} + (channel == null ? "PRIVATE" : channel.Name + " [" + channel.Id + "]"), // {2} + usrMsg.Content,// {3} + result.ErrorReason, // {4} + sw.Elapsed.TotalSeconds // {5} + ); + if (guild != null && command != null && result.Error == CommandError.Exception) + { + if (verbose) + await msg.Channel.SendMessageAsync(":warning: " + result.ErrorReason).ConfigureAwait(false); + } + } + } + catch (Exception ex) + { + _log.Warn(ex, "Error in CommandHandler"); + if (ex.InnerException != null) + _log.Warn(ex.InnerException, "Inner Exception of the error in CommandHandler"); + } + }); + } + catch (Exception ex) + { + _log.Error(ex, "Error in the outter scope of the commandhandler."); + if (ex.InnerException != null) + _log.Error(ex.InnerException, "Inner exception: "); + } } public async Task> ExecuteCommand(IUserMessage message, string input, IGuild guild, IUser user, Permission rootPerm, string permRole, MultiMatchHandling multiMatchHandling = MultiMatchHandling.Best) { diff --git a/src/NadekoBot/Services/Database/Models/GuildConfig.cs b/src/NadekoBot/Services/Database/Models/GuildConfig.cs index 8f96a284..3ef24e35 100644 --- a/src/NadekoBot/Services/Database/Models/GuildConfig.cs +++ b/src/NadekoBot/Services/Database/Models/GuildConfig.cs @@ -46,5 +46,23 @@ namespace NadekoBot.Services.Database.Models public Permission RootPermission { get; set; } public bool VerbosePermissions { get; set; } public string PermissionRole { get; set; } = "Nadeko"; + + //filtering + public bool FilterInvites { get; set; } + public HashSet FilterInvitesChannelIds { get; set; } + + public bool FilterWords { get; set; } + public HashSet FilteredWords { get; set; } + public HashSet FilterWordsChannelIds { get; set; } + } + + public class FilterChannelId :DbEntity + { + public ulong ChannelId { get; set; } + } + + public class FilteredWord :DbEntity + { + public string Word { get; set; } } } diff --git a/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs b/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs index 1066397b..9a82c191 100644 --- a/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs +++ b/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs @@ -23,6 +23,9 @@ namespace NadekoBot.Services.Database.Repositories.Impl .ThenInclude(gc => gc.Previous) .Include(gc => gc.RootPermission) .ThenInclude(gc => gc.Next) + .Include(gc => gc.FilterInvitesChannelIds) + .Include(gc => gc.FilterWordsChannelIds) + .Include(gc => gc.FilteredWords) .ToList(); /// @@ -37,6 +40,9 @@ namespace NadekoBot.Services.Database.Repositories.Impl .ThenInclude(ls => ls.IgnoredChannels) .Include(gc => gc.LogSetting) .ThenInclude(ls => ls.IgnoredVoicePresenceChannelIds) + .Include(gc => gc.FilterInvitesChannelIds) + .Include(gc => gc.FilterWordsChannelIds) + .Include(gc => gc.FilteredWords) .FirstOrDefault(c => c.GuildId == guildId); if (config == null) diff --git a/src/NadekoBot/_Extensions/Extensions.cs b/src/NadekoBot/_Extensions/Extensions.cs index 98a1be46..c226e45e 100644 --- a/src/NadekoBot/_Extensions/Extensions.cs +++ b/src/NadekoBot/_Extensions/Extensions.cs @@ -298,5 +298,10 @@ namespace NadekoBot.Extensions imageStream.Position = 0; return imageStream; } + + private static readonly Regex filterRegex = new Regex(@"(?:discord(?:\.gg|app\.com\/invite)\/(?([\w]{16}|(?:[\w]+-?){3})))", RegexOptions.Compiled | RegexOptions.IgnoreCase); + + public static bool IsDiscordInvite(this string str) + => filterRegex.IsMatch(str); } } \ No newline at end of file diff --git a/src/tests/Tests.cs b/src/tests/Tests.cs index fdfa5e85..57d1e8f9 100644 --- a/src/tests/Tests.cs +++ b/src/tests/Tests.cs @@ -40,9 +40,11 @@ namespace Tests root.Prepend(new Permission() { SecondaryTargetName = "Added" }); + root = root.GetRoot(); + Assert.Equal(11, root.Count()); - Assert.Equal("Added", root.AsEnumerable().Last().SecondaryTargetName); + Assert.Equal("Added", root.AsEnumerable().First().SecondaryTargetName); } [Fact] @@ -87,15 +89,9 @@ namespace Tests Assert.Equal("3", removed.SecondaryTargetName); Assert.Equal(9, root.Count()); - - var temp = root.Next; - removed = root.RemoveAt(0); - - Assert.Equal(8, temp.Count()); - Assert.Equal(null, temp.Previous); - - Assert.Throws(typeof(IndexOutOfRangeException), () => { temp.RemoveAt(8); }); - Assert.Throws(typeof(IndexOutOfRangeException), () => { temp.RemoveAt(-1); }); + Assert.Throws(typeof(IndexOutOfRangeException), () => { root.RemoveAt(0); }); + Assert.Throws(typeof(IndexOutOfRangeException), () => { root.RemoveAt(9); }); + Assert.Throws(typeof(IndexOutOfRangeException), () => { root.RemoveAt(-1); }); } [Fact] From f12aa1694868c03d913dab4d5d482968973c6b36 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 3 Oct 2016 19:37:25 +0200 Subject: [PATCH 032/135] Migrations again O.o --- .../20161003170208_filtering.Designer.cs | 708 ++++++++++++++++++ .../Migrations/20161003170208_filtering.cs | 103 +++ .../Permissions/Commands/FilterCommands.cs | 217 ++++++ 3 files changed, 1028 insertions(+) create mode 100644 src/NadekoBot/Migrations/20161003170208_filtering.Designer.cs create mode 100644 src/NadekoBot/Migrations/20161003170208_filtering.cs create mode 100644 src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs diff --git a/src/NadekoBot/Migrations/20161003170208_filtering.Designer.cs b/src/NadekoBot/Migrations/20161003170208_filtering.Designer.cs new file mode 100644 index 00000000..8d173fd5 --- /dev/null +++ b/src/NadekoBot/Migrations/20161003170208_filtering.Designer.cs @@ -0,0 +1,708 @@ +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using NadekoBot.Services.Database.Impl; + +namespace NadekoBot.Migrations +{ + [DbContext(typeof(NadekoSqliteContext))] + [Migration("20161003170208_filtering")] + partial class filtering + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { + modelBuilder + .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ItemId"); + + b.Property("Type"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("BlacklistItem"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BufferSize"); + + b.Property("CurrencyGenerationChance"); + + b.Property("CurrencyGenerationCooldown"); + + b.Property("CurrencyName"); + + b.Property("CurrencyPluralName"); + + b.Property("CurrencySign"); + + b.Property("DontJoinServers"); + + b.Property("ForwardMessages"); + + b.Property("ForwardToAllOwners"); + + b.Property("RemindMessageFormat"); + + b.Property("RotatingStatuses"); + + b.HasKey("Id"); + + b.ToTable("BotConfig"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BaseDestroyed"); + + b.Property("CallUser"); + + b.Property("ClashWarId"); + + b.Property("Stars"); + + b.Property("TimeAdded"); + + b.HasKey("Id"); + + b.HasIndex("ClashWarId"); + + b.ToTable("ClashCallers"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("EnemyClan"); + + b.Property("GuildId"); + + b.Property("Size"); + + b.Property("StartedAt"); + + b.Property("WarState"); + + b.HasKey("Id"); + + b.ToTable("ClashOfClans"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("InternalTrigger"); + + b.Property("Modifier"); + + b.Property("UnitType"); + + b.HasKey("Id"); + + b.ToTable("ConversionUnits"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Currency"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("Name"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Donators"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("EightBallResponses"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildConfigId"); + + b.Property("GuildConfigId1"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.HasIndex("GuildConfigId1"); + + b.ToTable("FilterChannelId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildConfigId"); + + b.Property("Word"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FilteredWord"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildConfigId"); + + b.Property("GuildId"); + + b.Property("LastStatus"); + + b.Property("Type"); + + b.Property("Username"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FollowedStream"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AutoAssignRoleId"); + + b.Property("AutoDeleteByeMessages"); + + b.Property("AutoDeleteGreetMessages"); + + b.Property("AutoDeleteGreetMessagesTimer"); + + b.Property("AutoDeleteSelfAssignedRoleMessages"); + + b.Property("ByeMessageChannelId"); + + b.Property("ChannelByeMessageText"); + + b.Property("ChannelGreetMessageText"); + + b.Property("DefaultMusicVolume"); + + b.Property("DeleteMessageOnCommand"); + + b.Property("DmGreetMessageText"); + + b.Property("ExclusiveSelfAssignedRoles"); + + b.Property("FilterInvites"); + + b.Property("FilterWords"); + + b.Property("GenerateCurrencyChannelId"); + + b.Property("GreetMessageChannelId"); + + b.Property("GuildId"); + + b.Property("LogSettingId"); + + b.Property("PermissionRole"); + + b.Property("RootPermissionId"); + + b.Property("SendChannelByeMessage"); + + b.Property("SendChannelGreetMessage"); + + b.Property("SendDmGreetMessage"); + + b.Property("VerbosePermissions"); + + b.Property("VoicePlusTextEnabled"); + + b.HasKey("Id"); + + b.HasIndex("GuildId") + .IsUnique(); + + b.HasIndex("LogSettingId"); + + b.HasIndex("RootPermissionId"); + + b.ToTable("GuildConfigs"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredLogChannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredVoicePresenceCHannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelCreated"); + + b.Property("ChannelDestroyed"); + + b.Property("ChannelId"); + + b.Property("ChannelUpdated"); + + b.Property("IsLogging"); + + b.Property("LogUserPresence"); + + b.Property("LogVoicePresence"); + + b.Property("MessageDeleted"); + + b.Property("MessageReceived"); + + b.Property("MessageUpdated"); + + b.Property("UserBanned"); + + b.Property("UserJoined"); + + b.Property("UserLeft"); + + b.Property("UserPresenceChannelId"); + + b.Property("UserUnbanned"); + + b.Property("UserUpdated"); + + b.Property("VoicePresenceChannelId"); + + b.HasKey("Id"); + + b.ToTable("LogSettings"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ModuleName"); + + b.Property("Prefix"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("ModulePrefixes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.MusicPlaylist", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("AuthorId"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.ToTable("MusicPlaylists"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("NextId"); + + b.Property("PrimaryTarget"); + + b.Property("PrimaryTargetId"); + + b.Property("SecondaryTarget"); + + b.Property("SecondaryTargetName"); + + b.Property("State"); + + b.HasKey("Id"); + + b.HasIndex("NextId") + .IsUnique(); + + b.ToTable("Permission"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Status"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("PlayingStatus"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("MusicPlaylistId"); + + b.Property("Provider"); + + b.Property("ProviderType"); + + b.Property("Query"); + + b.Property("Title"); + + b.Property("Uri"); + + b.HasKey("Id"); + + b.HasIndex("MusicPlaylistId"); + + b.ToTable("PlaylistSong"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AuthorId"); + + b.Property("AuthorName") + .IsRequired(); + + b.Property("GuildId"); + + b.Property("Keyword") + .IsRequired(); + + b.Property("Text") + .IsRequired(); + + b.HasKey("Id"); + + b.ToTable("Quotes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Icon"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("RaceAnimals"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("IsPrivate"); + + b.Property("Message"); + + b.Property("ServerId"); + + b.Property("UserId"); + + b.Property("When"); + + b.HasKey("Id"); + + b.ToTable("Reminders"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildId"); + + b.Property("Interval"); + + b.Property("Message"); + + b.HasKey("Id"); + + b.HasIndex("ChannelId") + .IsUnique(); + + b.ToTable("Repeaters"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildId"); + + b.Property("RoleId"); + + b.HasKey("Id"); + + b.HasIndex("GuildId", "RoleId") + .IsUnique(); + + b.ToTable("SelfAssignableRoles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.ToTable("TypingArticles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("Blacklist") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") + .WithMany("Bases") + .HasForeignKey("ClashWarId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("EightBallResponses") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilterInvitesChannelIds") + .HasForeignKey("GuildConfigId"); + + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilterWordsChannelIds") + .HasForeignKey("GuildConfigId1"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilteredWords") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FollowedStreams") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany() + .HasForeignKey("LogSettingId"); + + b.HasOne("NadekoBot.Services.Database.Models.Permission", "RootPermission") + .WithMany() + .HasForeignKey("RootPermissionId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredChannels") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredVoicePresenceChannelIds") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") + .WithMany("ModulePrefixes") + .HasForeignKey("BotConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.HasOne("NadekoBot.Services.Database.Models.Permission", "Next") + .WithOne("Previous") + .HasForeignKey("NadekoBot.Services.Database.Models.Permission", "NextId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RotatingStatusMessages") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.HasOne("NadekoBot.Services.Database.Models.MusicPlaylist") + .WithMany("Songs") + .HasForeignKey("MusicPlaylistId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RaceAnimals") + .HasForeignKey("BotConfigId"); + }); + } + } +} diff --git a/src/NadekoBot/Migrations/20161003170208_filtering.cs b/src/NadekoBot/Migrations/20161003170208_filtering.cs new file mode 100644 index 00000000..64e2d5e9 --- /dev/null +++ b/src/NadekoBot/Migrations/20161003170208_filtering.cs @@ -0,0 +1,103 @@ +using System; +using System.Collections.Generic; +using Microsoft.EntityFrameworkCore.Migrations; + +namespace NadekoBot.Migrations +{ + public partial class filtering : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "FilterChannelId", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + ChannelId = table.Column(nullable: false), + GuildConfigId = table.Column(nullable: true), + GuildConfigId1 = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FilterChannelId", x => x.Id); + table.ForeignKey( + name: "FK_FilterChannelId_GuildConfigs_GuildConfigId", + column: x => x.GuildConfigId, + principalTable: "GuildConfigs", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + table.ForeignKey( + name: "FK_FilterChannelId_GuildConfigs_GuildConfigId1", + column: x => x.GuildConfigId1, + principalTable: "GuildConfigs", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "FilteredWord", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + GuildConfigId = table.Column(nullable: true), + Word = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FilteredWord", x => x.Id); + table.ForeignKey( + name: "FK_FilteredWord_GuildConfigs_GuildConfigId", + column: x => x.GuildConfigId, + principalTable: "GuildConfigs", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.AddColumn( + name: "FilterInvites", + table: "GuildConfigs", + nullable: false, + defaultValue: false); + + migrationBuilder.AddColumn( + name: "FilterWords", + table: "GuildConfigs", + nullable: false, + defaultValue: false); + + migrationBuilder.CreateIndex( + name: "IX_FilterChannelId_GuildConfigId", + table: "FilterChannelId", + column: "GuildConfigId"); + + migrationBuilder.CreateIndex( + name: "IX_FilterChannelId_GuildConfigId1", + table: "FilterChannelId", + column: "GuildConfigId1"); + + migrationBuilder.CreateIndex( + name: "IX_FilteredWord_GuildConfigId", + table: "FilteredWord", + column: "GuildConfigId"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "FilterInvites", + table: "GuildConfigs"); + + migrationBuilder.DropColumn( + name: "FilterWords", + table: "GuildConfigs"); + + migrationBuilder.DropTable( + name: "FilterChannelId"); + + migrationBuilder.DropTable( + name: "FilteredWord"); + } + } +} diff --git a/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs b/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs new file mode 100644 index 00000000..127cb8d4 --- /dev/null +++ b/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs @@ -0,0 +1,217 @@ +using Discord; +using Discord.Commands; +using NadekoBot.Attributes; +using NadekoBot.Services; +using NadekoBot.Services.Database; +using System; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace NadekoBot.Modules.Permissions +{ + public partial class Permissions + { + [Group] + public class FilterCommands + { + public static HashSet InviteFilteringChannels { get; set; } + public static HashSet InviteFilteringServers { get; set; } + + //serverid, filteredwords + private static ConcurrentDictionary> ServerFilteredWords { get; set; } + + public static HashSet WordFilteringChannels { get; set; } + public static HashSet WordFilteringServers { get; set; } + + public static HashSet FilteredWordsForChannel(ulong channelId, ulong guildId) + { + var words = FilteredWordsForServer(guildId); + + if (!words.Any() || WordFilteringChannels.Contains(channelId)) + return words; + return new HashSet(); + } + + public static HashSet FilteredWordsForServer(ulong guildId) + { + var words = new HashSet(); + ServerFilteredWords.TryGetValue(guildId, out words); + return words; + } + + static FilterCommands() + { + using (var uow = DbHandler.UnitOfWork()) + { + var guildConfigs = uow.GuildConfigs.GetAll(); + + InviteFilteringServers = new HashSet(guildConfigs.Where(gc => gc.FilterInvites).Select(gc => gc.GuildId)); + InviteFilteringChannels = new HashSet(guildConfigs.SelectMany(gc => gc.FilterInvitesChannelIds.Select(fci => fci.ChannelId))); + + var dict = guildConfigs.ToDictionary(gc => gc.GuildId, gc => new HashSet(gc.FilteredWords.Select(fw => fw.Word))); + + ServerFilteredWords = new ConcurrentDictionary>(dict); + + var serverFiltering = guildConfigs.Where(gc => gc.FilterWords); + WordFilteringServers = new HashSet(serverFiltering.Select(gc => gc.GuildId)); + + WordFilteringChannels = new HashSet(guildConfigs.SelectMany(gc => gc.FilterWordsChannelIds.Select(fwci => fwci.ChannelId))); + + } + } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task SrvrFilterInv(IUserMessage imsg) + { + var channel = (ITextChannel)imsg.Channel; + + bool enabled; + using (var uow = DbHandler.UnitOfWork()) + { + var config = uow.GuildConfigs.For(channel.Guild.Id); + enabled = config.FilterInvites = !config.FilterInvites; + await uow.CompleteAsync().ConfigureAwait(false); + } + + if (enabled) + { + InviteFilteringServers.Add(channel.Guild.Id); + await channel.SendMessageAsync("`Invite filtering enabled on the whole server.`").ConfigureAwait(false); + } + else + { + InviteFilteringServers.Remove(channel.Guild.Id); + await channel.SendMessageAsync("`Invite filtering disabled on the whole server.`").ConfigureAwait(false); + } + } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task ChnlFilterInv(IUserMessage imsg) + { + var channel = (ITextChannel)imsg.Channel; + + int removed; + using (var uow = DbHandler.UnitOfWork()) + { + var config = uow.GuildConfigs.For(channel.Guild.Id); + removed = config.FilterInvitesChannelIds.RemoveWhere(fc => fc.ChannelId == channel.Id); + if (removed == 0) + { + config.FilterInvitesChannelIds.Add(new Services.Database.Models.FilterChannelId() + { + ChannelId = channel.Id + }); + } + await uow.CompleteAsync().ConfigureAwait(false); + } + + if (removed == 0) + { + InviteFilteringChannels.Add(channel.Id); + await channel.SendMessageAsync("`Invite filtering enabled on this channel.`").ConfigureAwait(false); + } + else + { + InviteFilteringChannels.Remove(channel.Id); + await channel.SendMessageAsync("`Invite filtering disabled on this channel.`").ConfigureAwait(false); + } + } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task SrvrFilterWords(IUserMessage imsg) + { + var channel = (ITextChannel)imsg.Channel; + + bool enabled; + using (var uow = DbHandler.UnitOfWork()) + { + var config = uow.GuildConfigs.For(channel.Guild.Id); + enabled = config.FilterWords = !config.FilterWords; + await uow.CompleteAsync().ConfigureAwait(false); + } + + if (enabled) + { + WordFilteringServers.Add(channel.Guild.Id); + await channel.SendMessageAsync("`Word filtering enabled on the whole server.`").ConfigureAwait(false); + } + else + { + WordFilteringServers.Remove(channel.Guild.Id); + await channel.SendMessageAsync("`Word filtering disabled on the whole server.`").ConfigureAwait(false); + } + } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task ChnlFilterWords(IUserMessage imsg) + { + var channel = (ITextChannel)imsg.Channel; + + int removed; + using (var uow = DbHandler.UnitOfWork()) + { + var config = uow.GuildConfigs.For(channel.Guild.Id); + removed = config.FilterWordsChannelIds.RemoveWhere(fc => fc.ChannelId == channel.Id); + if (removed == 0) + { + config.FilterWordsChannelIds.Add(new Services.Database.Models.FilterChannelId() + { + ChannelId = channel.Id + }); + } + await uow.CompleteAsync().ConfigureAwait(false); + } + + if (removed == 0) + { + WordFilteringChannels.Add(channel.Id); + await channel.SendMessageAsync("`Word filtering enabled on this channel.`").ConfigureAwait(false); + } + else + { + WordFilteringChannels.Remove(channel.Id); + await channel.SendMessageAsync("`Word filtering disabled on this channel.`").ConfigureAwait(false); + } + } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task AddFilterWord(IUserMessage imsg, [Remainder] string word) + { + var channel = (ITextChannel)imsg.Channel; + + word = word?.Trim().ToLowerInvariant(); + + if (string.IsNullOrWhiteSpace(word)) + return; + + bool contains; + using (var uow = DbHandler.UnitOfWork()) + { + var config = uow.GuildConfigs.For(channel.Guild.Id); + + contains = config.FilteredWords.Any(fw => fw.Word == word); + + if (!contains) + config.FilteredWords.Add(new Services.Database.Models.FilteredWord() { Word = word}); + } + + if (!contains) + { + var filteredWords = ServerFilteredWords.GetOrAdd(channel.Guild.Id, new HashSet()); + + filteredWords.Add(word); + await channel.SendMessageAsync($"Word `{word}` successfully added to the list of filtered words."); + } + } + + } + } +} From 9c0ff08c677dccdfa58250834a41c42fcdfa075f Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 3 Oct 2016 23:07:22 +0200 Subject: [PATCH 033/135] Filtering words works --- .../Permissions/Commands/FilterCommands.cs | 59 +++++++++++++------ .../Resources/CommandStrings.Designer.cs | 54 ++++++++--------- src/NadekoBot/Resources/CommandStrings.resx | 12 ++-- src/NadekoBot/Services/CommandHandler.cs | 7 ++- 4 files changed, 78 insertions(+), 54 deletions(-) diff --git a/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs b/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs index 127cb8d4..f8cf9ae6 100644 --- a/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs +++ b/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs @@ -28,17 +28,17 @@ namespace NadekoBot.Modules.Permissions public static HashSet FilteredWordsForChannel(ulong channelId, ulong guildId) { - var words = FilteredWordsForServer(guildId); - - if (!words.Any() || WordFilteringChannels.Contains(channelId)) - return words; - return new HashSet(); + HashSet words = new HashSet(); + if(WordFilteringChannels.Contains(channelId)) + ServerFilteredWords.TryGetValue(guildId, out words); + return words; } public static HashSet FilteredWordsForServer(ulong guildId) { var words = new HashSet(); - ServerFilteredWords.TryGetValue(guildId, out words); + if(WordFilteringServers.Contains(guildId)) + ServerFilteredWords.TryGetValue(guildId, out words); return words; } @@ -80,12 +80,12 @@ namespace NadekoBot.Modules.Permissions if (enabled) { InviteFilteringServers.Add(channel.Guild.Id); - await channel.SendMessageAsync("`Invite filtering enabled on the whole server.`").ConfigureAwait(false); + await channel.SendMessageAsync("`Invite filtering enabled on this server.`").ConfigureAwait(false); } else { InviteFilteringServers.Remove(channel.Guild.Id); - await channel.SendMessageAsync("`Invite filtering disabled on the whole server.`").ConfigureAwait(false); + await channel.SendMessageAsync("`Invite filtering disabled on this server.`").ConfigureAwait(false); } } @@ -139,12 +139,12 @@ namespace NadekoBot.Modules.Permissions if (enabled) { WordFilteringServers.Add(channel.Guild.Id); - await channel.SendMessageAsync("`Word filtering enabled on the whole server.`").ConfigureAwait(false); + await channel.SendMessageAsync("`Word filtering enabled on this server.`").ConfigureAwait(false); } else { WordFilteringServers.Remove(channel.Guild.Id); - await channel.SendMessageAsync("`Word filtering disabled on the whole server.`").ConfigureAwait(false); + await channel.SendMessageAsync("`Word filtering disabled on this server.`").ConfigureAwait(false); } } @@ -183,7 +183,7 @@ namespace NadekoBot.Modules.Permissions [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] - public async Task AddFilterWord(IUserMessage imsg, [Remainder] string word) + public async Task FilterWord(IUserMessage imsg, [Remainder] string word) { var channel = (ITextChannel)imsg.Channel; @@ -192,26 +192,47 @@ namespace NadekoBot.Modules.Permissions if (string.IsNullOrWhiteSpace(word)) return; - bool contains; + int removed; using (var uow = DbHandler.UnitOfWork()) { var config = uow.GuildConfigs.For(channel.Guild.Id); - contains = config.FilteredWords.Any(fw => fw.Word == word); + removed = config.FilteredWords.RemoveWhere(fw => fw.Word == word); - if (!contains) - config.FilteredWords.Add(new Services.Database.Models.FilteredWord() { Word = word}); + if (removed == 0) + config.FilteredWords.Add(new Services.Database.Models.FilteredWord() { Word = word }); + + await uow.CompleteAsync().ConfigureAwait(false); } - if (!contains) - { - var filteredWords = ServerFilteredWords.GetOrAdd(channel.Guild.Id, new HashSet()); + var filteredWords = ServerFilteredWords.GetOrAdd(channel.Guild.Id, new HashSet()); + if (removed == 0) + { filteredWords.Add(word); - await channel.SendMessageAsync($"Word `{word}` successfully added to the list of filtered words."); + await channel.SendMessageAsync($"Word `{word}` successfully added to the list of filtered words.") + .ConfigureAwait(false); + } + else + { + filteredWords.Remove(word); + await channel.SendMessageAsync($"Word `{word}` removed from the list of filtered words.") + .ConfigureAwait(false); } } + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task LstFilterWords(IUserMessage imsg) + { + var channel = (ITextChannel)imsg.Channel; + + HashSet filteredWords; + ServerFilteredWords.TryGetValue(channel.Guild.Id, out filteredWords); + + await channel.SendMessageAsync($"`List of banned words:`\n" + string.Join(",\n", filteredWords)) + .ConfigureAwait(false); + } } } } diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index c841bb54..a5bad982 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -113,33 +113,6 @@ namespace NadekoBot.Resources { } } - /// - /// Looks up a localized string similar to Adds a new word to the list of filtered words. - /// - public static string addfilterword_desc { - get { - return ResourceManager.GetString("addfilterword_desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to `;afw poop`. - /// - public static string addfilterword_summary { - get { - return ResourceManager.GetString("addfilterword_summary", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to addfilterword afw. - /// - public static string addfilterword_text { - get { - return ResourceManager.GetString("addfilterword_text", resourceCulture); - } - } - /// /// Looks up a localized string similar to Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued%, %trivia% **Bot Owner Only!**. /// @@ -2543,6 +2516,33 @@ namespace NadekoBot.Resources { } } + /// + /// Looks up a localized string similar to Adds or removes (if it exists) a word from the list of filtered words. + /// + public static string filterword_desc { + get { + return ResourceManager.GetString("filterword_desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to `;fw poop`. + /// + public static string filterword_summary { + get { + return ResourceManager.GetString("filterword_summary", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to fw. + /// + public static string filterword_text { + get { + return ResourceManager.GetString("filterword_text", resourceCulture); + } + } + /// /// Looks up a localized string similar to Shows a unicode fire message. Optional parameter [x] tells her how many times to repeat the fire.. /// diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index 58f84736..8a376095 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -981,14 +981,14 @@ `;cfw enable #general-chat` - - addfilterword afw + + fw - - Adds a new word to the list of filtered words + + Adds or removes (if it exists) a word from the list of filtered words - - `;afw poop` + + `;fw poop` rmvfilterword rw diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index 579790c2..979da273 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -55,7 +55,7 @@ namespace NadekoBot.Services return; } - if (guild != null) + if (guild != null && guild.OwnerId != usrMsg.Author.Id) { if (Permissions.FilterCommands.InviteFilteringChannels.Contains(usrMsg.Channel.Id) || Permissions.FilterCommands.InviteFilteringServers.Contains(guild.Id)) @@ -73,9 +73,12 @@ namespace NadekoBot.Services } } } + } + if (guild != null && guild.OwnerId != usrMsg.Author.Id) + { var filteredWords = Permissions.FilterCommands.FilteredWordsForChannel(usrMsg.Channel.Id, guild.Id).Concat(Permissions.FilterCommands.FilteredWordsForServer(guild.Id)); var wordsInMessage = usrMsg.Content.ToLowerInvariant().Split(' '); - if (filteredWords.Any()) + if (filteredWords.Any(w=>wordsInMessage.Contains(w))) { try { From c9e9a4255d20ea73218c2dce0f48e3d7281f138a Mon Sep 17 00:00:00 2001 From: Kwoth Date: Tue, 4 Oct 2016 23:15:57 +0200 Subject: [PATCH 034/135] Changed some strings --- .../Modules/Utility/Commands/QuoteCommands.cs | 4 +- .../Resources/CommandStrings.Designer.cs | 138 ++---------------- src/NadekoBot/Resources/CommandStrings.resx | 66 ++------- src/NadekoBot/project.json | 2 +- 4 files changed, 33 insertions(+), 177 deletions(-) diff --git a/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs b/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs index 4995703e..83f48972 100644 --- a/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs +++ b/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs @@ -16,7 +16,7 @@ namespace NadekoBot.Modules.Utility { [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] - public async Task ShowQuote(IUserMessage umsg, string keyword) + public async Task ShowQuote(IUserMessage umsg, [Remainder] string keyword) { var channel = (ITextChannel)umsg.Channel; @@ -65,7 +65,7 @@ namespace NadekoBot.Modules.Utility [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] - public async Task DeleteQuote(IUserMessage umsg, string keyword) + public async Task DeleteQuote(IUserMessage umsg, [Remainder] string keyword) { var channel = (ITextChannel)umsg.Channel; diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index a5bad982..13886cc4 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -87,7 +87,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Add a custom reaction. Guide here: <https://github.com/Kwoth/NadekoBot/wiki/Custom-Reactions> **Bot Owner Only!**. + /// Looks up a localized string similar to Add a custom reaction. Guide here: <https://github.com/Kwoth/NadekoBot/wiki/Custom-Reactions>. /// public static string addcustreact_desc { get { @@ -114,7 +114,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued%, %trivia% **Bot Owner Only!**. + /// Looks up a localized string similar to Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued%. /// public static string addplaying_desc { get { @@ -141,7 +141,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Adds a new quote with the specified name (single word) and message (no limit).. + /// Looks up a localized string similar to Adds a new quote with the specified name and message (no limit).. /// public static string addquote_desc { get { @@ -150,7 +150,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `.. abc My message`. + /// Looks up a localized string similar to `.. abc sayhi Hi`. /// public static string addquote_summary { get { @@ -168,34 +168,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Sets permissions for all commands from a certain module at the channel level.. - /// - public static string allchnlcmds_desc { - get { - return ResourceManager.GetString("allchnlcmds_desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to `;acc "module name" [enable/disable] SomeChannel`. - /// - public static string allchnlcmds_summary { - get { - return ResourceManager.GetString("allchnlcmds_summary", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to allchnlcmds acc. - /// - public static string allchnlcmds_text { - get { - return ResourceManager.GetString("allchnlcmds_text", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Sets permissions for all modules at the channel level.. + /// Looks up a localized string similar to Enable or disable all modules in a specified channel.. /// public static string allchnlmdls_desc { get { @@ -204,7 +177,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `;acm [enable/disable] SomeChannel`. + /// Looks up a localized string similar to `;acm enable #SomeChannel`. /// public static string allchnlmdls_summary { get { @@ -240,7 +213,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to allcmdcooldowns. + /// Looks up a localized string similar to allcmdcooldowns acmdcds. /// public static string allcmdcooldowns_text { get { @@ -249,34 +222,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Sets permissions for all commands from a certain module at the role level.. - /// - public static string allrolecmds_desc { - get { - return ResourceManager.GetString("allrolecmds_desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to `;arc "module name" [enable/disable] MyRole`. - /// - public static string allrolecmds_summary { - get { - return ResourceManager.GetString("allrolecmds_summary", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to allrolecmds acmdcds. - /// - public static string allrolecmds_text { - get { - return ResourceManager.GetString("allrolecmds_text", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Sets permissions for all modules at the role level.. + /// Looks up a localized string similar to Enable or disable all modules for a specific role.. /// public static string allrolemdls_desc { get { @@ -303,34 +249,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Sets permissions for all commands from a certain module at the server level.. - /// - public static string allsrvrcmds_desc { - get { - return ResourceManager.GetString("allsrvrcmds_desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to `;asc "module name" [enable/disable]`. - /// - public static string allsrvrcmds_summary { - get { - return ResourceManager.GetString("allsrvrcmds_summary", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to allsrvrcmds asc. - /// - public static string allsrvrcmds_text { - get { - return ResourceManager.GetString("allsrvrcmds_text", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Sets permissions for all modules at the server level.. + /// Looks up a localized string similar to Enable or disable all modules for your server.. /// public static string allsrvrmdls_desc { get { @@ -357,34 +276,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Sets permission for all commands from a module for a specific user.. - /// - public static string allusrcmds_desc { - get { - return ResourceManager.GetString("allusrcmds_desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to `;auc Searches disable @Someone`. - /// - public static string allusrcmds_summary { - get { - return ResourceManager.GetString("allusrcmds_summary", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to allusrcmds auc. - /// - public static string allusrcmds_text { - get { - return ResourceManager.GetString("allusrcmds_text", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Sets permission for all modules for a specific user.. + /// Looks up a localized string similar to Enable or disable all modules for a specific user.. /// public static string allusrmdls_desc { get { @@ -420,7 +312,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `~aq aquarion evol`. + /// Looks up a localized string similar to `~ani aquarion evol`. /// public static string ani_summary { get { @@ -438,7 +330,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Sends a message to all servers' general channel bot is connected to.**Bot Owner Only!**. + /// Looks up a localized string similar to Sends a message to all servers' general channel bot is connected to.. /// public static string announce_desc { get { @@ -465,7 +357,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Adds a role, or list of roles separated by whitespace(use quotations for multiword roles) to the list of self-assignable roles. **Needs Manage Roles Permissions.**. + /// Looks up a localized string similar to Adds a role, or list of roles separated by whitespace(use quotations for multiword roles) to the list of self-assignable roles.. /// public static string asar_desc { get { @@ -519,7 +411,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Automaticaly assigns a specified role to every user who joins the server. **Needs Manage Roles Permissions.**. + /// Looks up a localized string similar to Automaticaly assigns a specified role to every user who joins the server. . /// public static string autoassignrole_desc { get { @@ -627,7 +519,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Bans a user by id or name with an optional message. **Needs Ban Permissions.**. + /// Looks up a localized string similar to Bans a user by id or name with an optional message.. /// public static string ban_desc { get { diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index 8a376095..b6fc2550 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -301,7 +301,7 @@ addplaying adpl - Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued%, %trivia% **Bot Owner Only!** + Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued% `.adpl` @@ -382,7 +382,7 @@ asar - Adds a role, or list of roles separated by whitespace(use quotations for multiword roles) to the list of self-assignable roles. **Needs Manage Roles Permissions.** + Adds a role, or list of roles separated by whitespace(use quotations for multiword roles) to the list of self-assignable roles. `.asar Gamer` @@ -436,7 +436,7 @@ addcustreact acr - Add a custom reaction. Guide here: <https://github.com/Kwoth/NadekoBot/wiki/Custom-Reactions> **Bot Owner Only!** + Add a custom reaction. Guide here: <https://github.com/Kwoth/NadekoBot/wiki/Custom-Reactions> `.acr "hello" Hi there %user%` @@ -481,7 +481,7 @@ autoassignrole aar - Automaticaly assigns a specified role to every user who joins the server. **Needs Manage Roles Permissions.** + Automaticaly assigns a specified role to every user who joins the server. `.aar` to disable, `.aar Role Name` to enable @@ -589,7 +589,7 @@ ban b - Bans a user by id or name with an optional message. **Needs Ban Permissions.** + Bans a user by id or name with an optional message. `.b "@some Guy" Your behaviour is toxic.` @@ -805,7 +805,7 @@ announce - Sends a message to all servers' general channel bot is connected to.**Bot Owner Only!** + Sends a message to all servers' general channel bot is connected to. `.announce Useless spam` @@ -1174,56 +1174,29 @@ allsrvrmdls asm - Sets permissions for all modules at the server level. + Enable or disable all modules for your server. `;asm [enable/disable]` - - allsrvrcmds asc - - - Sets permissions for all commands from a certain module at the server level. - - - `;asc "module name" [enable/disable]` - allchnlmdls acm - Sets permissions for all modules at the channel level. + Enable or disable all modules in a specified channel. - `;acm [enable/disable] SomeChannel` - - - allchnlcmds acc - - - Sets permissions for all commands from a certain module at the channel level. - - - `;acc "module name" [enable/disable] SomeChannel` + `;acm enable #SomeChannel` allrolemdls arm - Sets permissions for all modules at the role level. + Enable or disable all modules for a specific role. `;arm [enable/disable] MyRole` - - allrolecmds acmdcds - - - Sets permissions for all commands from a certain module at the role level. - - - `;arc "module name" [enable/disable] MyRole` - ubl @@ -1279,7 +1252,7 @@ `;cmdcd "some cmd" 5` - allcmdcooldowns + allcmdcooldowns acmdcds Shows a list of all commands and their respective cooldowns. @@ -1291,10 +1264,10 @@ . - Adds a new quote with the specified name (single word) and message (no limit). + Adds a new quote with the specified name and message (no limit). - `.. abc My message` + `.. abc sayhi Hi` .. @@ -2131,7 +2104,7 @@ Queries anilist for an anime and shows the first result. - `~aq aquarion evol` + `~ani aquarion evol` imdb @@ -2646,17 +2619,8 @@ listperms lp - - Sets permission for all commands from a module for a specific user. - - - `;auc Searches disable @Someone` - - - allusrcmds auc - - Sets permission for all modules for a specific user. + Enable or disable all modules for a specific user. `;aum enable @someone` diff --git a/src/NadekoBot/project.json b/src/NadekoBot/project.json index 9ae6cbdd..c3a8b3b9 100644 --- a/src/NadekoBot/project.json +++ b/src/NadekoBot/project.json @@ -7,7 +7,7 @@ "emitEntryPoint": true, "allowUnsafe": true, "compile": { - "exclude": [ "_Models", "_Classes", "_Modules" ], + "exclude": [ ], }, "copyToOutput": { "include": [ "data" ], From df31285ed1eb302062bdf08df2daa0ad09c4abcd Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 5 Oct 2016 01:57:28 +0200 Subject: [PATCH 035/135] some fixes, strings --- .../Administration/Commands/LogCommand.cs | 68 ++++----- .../Searches/Commands/UnitConversion.cs | 22 --- .../Resources/CommandStrings.Designer.cs | 136 ++++++------------ src/NadekoBot/Resources/CommandStrings.resx | 52 +++---- src/NadekoBot/Services/CommandHandler.cs | 30 ++-- .../Services/Database/Models/LogSetting.cs | 1 - 6 files changed, 106 insertions(+), 203 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs b/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs index b7be6999..3ce63622 100644 --- a/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs +++ b/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs @@ -529,41 +529,41 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync($"`Logging will no longer ignore {channel.Name} ({channel.Id}) channel.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] - [RequireContext(ContextType.Guild)] - [OwnerOnly] - public async Task LogAdd(IUserMessage msg, [Remainder] string eventName) - { - var channel = (ITextChannel)msg.Channel; - //eventName = eventName?.Replace(" ","").ToLowerInvariant(); + //[LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + //[RequireContext(ContextType.Guild)] + //[OwnerOnly] + //public async Task LogAdd(IUserMessage msg, [Remainder] string eventName) + //{ + // var channel = (ITextChannel)msg.Channel; + // //eventName = eventName?.Replace(" ","").ToLowerInvariant(); - switch (eventName.ToLowerInvariant()) - { - case "messagereceived": - case "messageupdated": - case "messagedeleted": - case "userjoined": - case "userleft": - case "userbanned": - case "userunbanned": - case "channelcreated": - case "channeldestroyed": - case "channelupdated": - using (var uow = DbHandler.UnitOfWork()) - { - var logSetting = uow.GuildConfigs.For(channel.Guild.Id).LogSetting; - GuildLogSettings.AddOrUpdate(channel.Guild.Id, (id) => logSetting, (id, old) => logSetting); - var prop = logSetting.GetType().GetProperty(eventName); - prop.SetValue(logSetting, true); - await uow.CompleteAsync().ConfigureAwait(false); - } - await channel.SendMessageAsync($"`Now logging {eventName} event.`").ConfigureAwait(false); - break; - default: - await channel.SendMessageAsync($"`Event \"{eventName}\" not found.`").ConfigureAwait(false); - break; - } - } + // switch (eventName.ToLowerInvariant()) + // { + // case "messagereceived": + // case "messageupdated": + // case "messagedeleted": + // case "userjoined": + // case "userleft": + // case "userbanned": + // case "userunbanned": + // case "channelcreated": + // case "channeldestroyed": + // case "channelupdated": + // using (var uow = DbHandler.UnitOfWork()) + // { + // var logSetting = uow.GuildConfigs.For(channel.Guild.Id).LogSetting; + // GuildLogSettings.AddOrUpdate(channel.Guild.Id, (id) => logSetting, (id, old) => logSetting); + // var prop = logSetting.GetType().GetProperty(eventName); + // prop.SetValue(logSetting, true); + // await uow.CompleteAsync().ConfigureAwait(false); + // } + // await channel.SendMessageAsync($"`Now logging {eventName} event.`").ConfigureAwait(false); + // break; + // default: + // await channel.SendMessageAsync($"`Event \"{eventName}\" not found.`").ConfigureAwait(false); + // break; + // } + //} //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] //[RequireContext(ContextType.Guild)] diff --git a/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs b/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs index e4f19cba..6c3f28b1 100644 --- a/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs +++ b/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs @@ -94,27 +94,6 @@ namespace NadekoBot.Modules.Searches } public List Units { get; set; } - - - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] - [RequireContext(ContextType.Guild)] - public async Task ConvertListE(IUserMessage msg) //extended and bugged list - { - var channel = msg.Channel as IGuildChannel; - - var sb = new StringBuilder("Units that can be used by the converter: \n"); - var res = Units.GroupBy(x => x.UnitType); - foreach (var group in res) - { - sb.AppendLine($"{group.Key}: ```xl"); - foreach (var el in group) - { - sb.Append($" [{string.Join(",", el.Triggers)}] "); - } - sb.AppendLine("```"); - } - await msg.ReplyLong(sb.ToString(), breakOn: new[] { "```xl", "\n" }); - } [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task ConvertList(IUserMessage msg) @@ -176,7 +155,6 @@ namespace NadekoBot.Modules.Searches } else { - //I just love currency if (originUnit.UnitType == "currency") { res = (value * targetUnit.Modifier) / originUnit.Modifier; diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index 13886cc4..2df71b44 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -141,7 +141,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Adds a new quote with the specified name and message (no limit).. + /// Looks up a localized string similar to Adds a new quote with the specified name and message.. /// public static string addquote_desc { get { @@ -150,7 +150,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `.. abc sayhi Hi`. + /// Looks up a localized string similar to `.. sayhi Hi`. /// public static string addquote_summary { get { @@ -1031,60 +1031,6 @@ namespace NadekoBot.Resources { } } - /// - /// Looks up a localized string similar to Checks if a certain user is streaming on the beam platform.. - /// - public static string checkbeam_desc { - get { - return ResourceManager.GetString("checkbeam_desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to `~chbm SomeStreamer`. - /// - public static string checkbeam_summary { - get { - return ResourceManager.GetString("checkbeam_summary", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to checkbeam chbm. - /// - public static string checkbeam_text { - get { - return ResourceManager.GetString("checkbeam_text", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Checks if a certain user is streaming on the hitbox platform.. - /// - public static string checkhitbox_desc { - get { - return ResourceManager.GetString("checkhitbox_desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to `~chhb SomeStreamer`. - /// - public static string checkhitbox_summary { - get { - return ResourceManager.GetString("checkhitbox_summary", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to checkhitbox chhb. - /// - public static string checkhitbox_text { - get { - return ResourceManager.GetString("checkhitbox_text", resourceCulture); - } - } - /// /// Looks up a localized string similar to Checks your userspecific permissions on this channel.. /// @@ -1113,29 +1059,29 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Checks if a certain user is streaming on the twitch platform.. + /// Looks up a localized string similar to Checks if a user is online on a certain streaming platform.. /// - public static string checktwitch_desc { + public static string checkstream_desc { get { - return ResourceManager.GetString("checktwitch_desc", resourceCulture); + return ResourceManager.GetString("checkstream_desc", resourceCulture); } } /// - /// Looks up a localized string similar to `~chtw SomeStreamer`. + /// Looks up a localized string similar to `~cs twitch MyFavStreamer`. /// - public static string checktwitch_summary { + public static string checkstream_summary { get { - return ResourceManager.GetString("checktwitch_summary", resourceCulture); + return ResourceManager.GetString("checkstream_summary", resourceCulture); } } /// - /// Looks up a localized string similar to checktwitch chtw. + /// Looks up a localized string similar to checkstream cs. /// - public static string checktwitch_text { + public static string checkstream_text { get { - return ResourceManager.GetString("checktwitch_text", resourceCulture); + return ResourceManager.GetString("checkstream_text", resourceCulture); } } @@ -3840,7 +3786,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Toggles logging in this channel. Logs every message sent/deleted/edited on the server. **Bot Owner Only!**. + /// Looks up a localized string similar to Logs server activity in this channel.. /// public static string logserver_desc { get { @@ -4443,7 +4389,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `~osu top5 Name`. + /// Looks up a localized string similar to `~osu5 Name`. /// public static string osu5_summary { get { @@ -4470,7 +4416,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `~osu b https://osu.ppy.sh/s/127712`. + /// Looks up a localized string similar to `~osub https://osu.ppy.sh/s/127712`. /// public static string osub_summary { get { @@ -6620,33 +6566,6 @@ namespace NadekoBot.Resources { } } - /// - /// Looks up a localized string similar to Starts a game of trivia. You can add nohint to prevent hints.First player to get to 10 points wins by default. You can specify a different number. 30 seconds per question.. - /// - public static string t_desc { - get { - return ResourceManager.GetString("t_desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to `>t nohint` or `>t 5 nohint`. - /// - public static string t_summary { - get { - return ResourceManager.GetString("t_summary", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to trivia t. - /// - public static string t_text { - get { - return ResourceManager.GetString("t_text", resourceCulture); - } - } - /// /// Looks up a localized string similar to Takes a certain amount of flowers from someone. **Bot Owner Only!**. /// @@ -6809,6 +6728,33 @@ namespace NadekoBot.Resources { } } + /// + /// Looks up a localized string similar to Starts a game of trivia. You can add nohint to prevent hints.First player to get to 10 points wins by default. You can specify a different number. 30 seconds per question.. + /// + public static string trivia_desc { + get { + return ResourceManager.GetString("trivia_desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to `>t nohint` or `>t 5 nohint`. + /// + public static string trivia_summary { + get { + return ResourceManager.GetString("trivia_summary", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to trivia t. + /// + public static string trivia_text { + get { + return ResourceManager.GetString("trivia_text", resourceCulture); + } + } + /// /// Looks up a localized string similar to Notifies this channel when a certain user starts streaming.. /// diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index b6fc2550..3ab99e2d 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -238,7 +238,7 @@ logserver - Toggles logging in this channel. Logs every message sent/deleted/edited on the server. **Bot Owner Only!** + Logs server activity in this channel. `.logserver` @@ -1264,10 +1264,10 @@ . - Adds a new quote with the specified name and message (no limit). + Adds a new quote with the specified name and message. - `.. abc sayhi Hi` + `.. sayhi Hi` .. @@ -1467,13 +1467,13 @@ `$lb` - + trivia t - + Starts a game of trivia. You can add nohint to prevent hints.First player to get to 10 points wins by default. You can specify a different number. 30 seconds per question. - + `>t nohint` or `>t 5 nohint` @@ -1935,33 +1935,6 @@ `~beam SomeStreamer` - - checkhitbox chhb - - - Checks if a certain user is streaming on the hitbox platform. - - - `~chhb SomeStreamer` - - - checktwitch chtw - - - Checks if a certain user is streaming on the twitch platform. - - - `~chtw SomeStreamer` - - - checkbeam chbm - - - Checks if a certain user is streaming on the beam platform. - - - `~chbm SomeStreamer` - removestream rms @@ -2032,7 +2005,7 @@ Shows information about an osu beatmap. - `~osu b https://osu.ppy.sh/s/127712` + `~osub https://osu.ppy.sh/s/127712` osu5 @@ -2041,7 +2014,7 @@ Displays a user's top 5 plays. - `~osu top5 Name` + `~osu5 Name` pokemon poke @@ -2646,4 +2619,13 @@ removeperm rp + + Checks if a user is online on a certain streaming platform. + + + `~cs twitch MyFavStreamer` + + + checkstream cs + \ No newline at end of file diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index 979da273..6a9ac026 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -45,16 +45,6 @@ namespace NadekoBot.Services var guild = (msg.Channel as ITextChannel)?.Guild; - BlacklistItem blacklistedItem; - if ((blacklistedItem = Permissions.BlacklistCommands.BlacklistedItems.FirstOrDefault(bi => - (bi.Type == BlacklistItem.BlacklistType.Server && bi.ItemId == guild?.Id) || - (bi.Type == BlacklistItem.BlacklistType.Channel && bi.ItemId == msg.Channel.Id) || - (bi.Type == BlacklistItem.BlacklistType.User && bi.ItemId == usrMsg.Author.Id))) != null) - { - _log.Warn("Attempt was made to run a command by a blacklisted {0}, id: {1}", blacklistedItem.Type, blacklistedItem.ItemId); - return; - } - if (guild != null && guild.OwnerId != usrMsg.Author.Id) { if (Permissions.FilterCommands.InviteFilteringChannels.Contains(usrMsg.Channel.Id) || @@ -73,12 +63,11 @@ namespace NadekoBot.Services } } } - } - if (guild != null && guild.OwnerId != usrMsg.Author.Id) - { + + var filteredWords = Permissions.FilterCommands.FilteredWordsForChannel(usrMsg.Channel.Id, guild.Id).Concat(Permissions.FilterCommands.FilteredWordsForServer(guild.Id)); var wordsInMessage = usrMsg.Content.ToLowerInvariant().Split(' '); - if (filteredWords.Any(w=>wordsInMessage.Contains(w))) + if (filteredWords.Any(w => wordsInMessage.Contains(w))) { try { @@ -90,6 +79,15 @@ namespace NadekoBot.Services _log.Warn("I do not have permission to filter words in channel with id " + usrMsg.Channel.Id, ex); } } + + BlacklistItem blacklistedItem; + if ((blacklistedItem = Permissions.BlacklistCommands.BlacklistedItems.FirstOrDefault(bi => + (bi.Type == BlacklistItem.BlacklistType.Server && bi.ItemId == guild?.Id) || + (bi.Type == BlacklistItem.BlacklistType.Channel && bi.ItemId == msg.Channel.Id) || + (bi.Type == BlacklistItem.BlacklistType.User && bi.ItemId == usrMsg.Author.Id))) != null) + { + return; + } } try @@ -221,7 +219,7 @@ namespace NadekoBot.Services if (guild != null) { int index; - if (!rootPerm.AsEnumerable().CheckPermissions(message, cmd.Name, cmd.Module.Name, out index)) + if (!rootPerm.AsEnumerable().CheckPermissions(message, cmd.Text, cmd.Module.Name, out index)) { var returnMsg = $"Permission number #{index + 1} **{rootPerm.GetAt(index).GetCommand()}** is preventing this action."; return new Tuple(cmd, SearchResult.FromError(CommandError.Exception, returnMsg)); @@ -232,7 +230,7 @@ namespace NadekoBot.Services { if (!((IGuildUser)user).Roles.Any(r => r.Name.Trim().ToLowerInvariant() == permRole)) { - return new Tuple(cmd, SearchResult.FromError(CommandError.Exception, $"You need a **{permRole}** role in order to use permission commands.")); + return new Tuple(cmd, SearchResult.FromError(CommandError.Exception, $"You need the **{permRole}** role in order to use permission commands.")); } } } diff --git a/src/NadekoBot/Services/Database/Models/LogSetting.cs b/src/NadekoBot/Services/Database/Models/LogSetting.cs index a02cfcbc..1aeb1dfa 100644 --- a/src/NadekoBot/Services/Database/Models/LogSetting.cs +++ b/src/NadekoBot/Services/Database/Models/LogSetting.cs @@ -12,7 +12,6 @@ namespace NadekoBot.Services.Database.Models public ulong ChannelId { get; set; } public HashSet IgnoredChannels { get; set; } - public bool MessageReceived { get; set; } = true; public bool MessageUpdated { get; set; } = true; public bool MessageDeleted { get; set; } = true; From 21aabcc1146c4296a27ad346baeb25ca8b4766f1 Mon Sep 17 00:00:00 2001 From: Nitix Date: Wed, 5 Oct 2016 01:57:35 +0200 Subject: [PATCH 036/135] Add migration command --- ...0161004233426_MigrationVersion.Designer.cs | 710 +++++++++++++++++ .../20161004233426_MigrationVersion.cs | 25 + .../20161004233637_HelpString.Designer.cs | 712 ++++++++++++++++++ .../Migrations/20161004233637_HelpString.cs | 24 + .../NadekoSqliteContextModelSnapshot.cs | 4 + .../Administration/Commands/Migration.cs | 220 ++++++ .../Resources/CommandStrings.Designer.cs | 27 + src/NadekoBot/Resources/CommandStrings.resx | 9 + .../Services/Database/Models/BotConfig.cs | 5 + 9 files changed, 1736 insertions(+) create mode 100644 src/NadekoBot/Migrations/20161004233426_MigrationVersion.Designer.cs create mode 100644 src/NadekoBot/Migrations/20161004233426_MigrationVersion.cs create mode 100644 src/NadekoBot/Migrations/20161004233637_HelpString.Designer.cs create mode 100644 src/NadekoBot/Migrations/20161004233637_HelpString.cs create mode 100644 src/NadekoBot/Modules/Administration/Commands/Migration.cs diff --git a/src/NadekoBot/Migrations/20161004233426_MigrationVersion.Designer.cs b/src/NadekoBot/Migrations/20161004233426_MigrationVersion.Designer.cs new file mode 100644 index 00000000..d3b201ac --- /dev/null +++ b/src/NadekoBot/Migrations/20161004233426_MigrationVersion.Designer.cs @@ -0,0 +1,710 @@ +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using NadekoBot.Services.Database.Impl; + +namespace NadekoBot.Migrations +{ + [DbContext(typeof(NadekoSqliteContext))] + [Migration("20161004233426_MigrationVersion")] + partial class MigrationVersion + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { + modelBuilder + .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ItemId"); + + b.Property("Type"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("BlacklistItem"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BufferSize"); + + b.Property("CurrencyGenerationChance"); + + b.Property("CurrencyGenerationCooldown"); + + b.Property("CurrencyName"); + + b.Property("CurrencyPluralName"); + + b.Property("CurrencySign"); + + b.Property("DontJoinServers"); + + b.Property("ForwardMessages"); + + b.Property("ForwardToAllOwners"); + + b.Property("MigrationVersion"); + + b.Property("RemindMessageFormat"); + + b.Property("RotatingStatuses"); + + b.HasKey("Id"); + + b.ToTable("BotConfig"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BaseDestroyed"); + + b.Property("CallUser"); + + b.Property("ClashWarId"); + + b.Property("Stars"); + + b.Property("TimeAdded"); + + b.HasKey("Id"); + + b.HasIndex("ClashWarId"); + + b.ToTable("ClashCallers"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("EnemyClan"); + + b.Property("GuildId"); + + b.Property("Size"); + + b.Property("StartedAt"); + + b.Property("WarState"); + + b.HasKey("Id"); + + b.ToTable("ClashOfClans"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("InternalTrigger"); + + b.Property("Modifier"); + + b.Property("UnitType"); + + b.HasKey("Id"); + + b.ToTable("ConversionUnits"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Currency"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("Name"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Donators"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("EightBallResponses"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildConfigId"); + + b.Property("GuildConfigId1"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.HasIndex("GuildConfigId1"); + + b.ToTable("FilterChannelId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildConfigId"); + + b.Property("Word"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FilteredWord"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildConfigId"); + + b.Property("GuildId"); + + b.Property("LastStatus"); + + b.Property("Type"); + + b.Property("Username"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FollowedStream"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AutoAssignRoleId"); + + b.Property("AutoDeleteByeMessages"); + + b.Property("AutoDeleteGreetMessages"); + + b.Property("AutoDeleteGreetMessagesTimer"); + + b.Property("AutoDeleteSelfAssignedRoleMessages"); + + b.Property("ByeMessageChannelId"); + + b.Property("ChannelByeMessageText"); + + b.Property("ChannelGreetMessageText"); + + b.Property("DefaultMusicVolume"); + + b.Property("DeleteMessageOnCommand"); + + b.Property("DmGreetMessageText"); + + b.Property("ExclusiveSelfAssignedRoles"); + + b.Property("FilterInvites"); + + b.Property("FilterWords"); + + b.Property("GenerateCurrencyChannelId"); + + b.Property("GreetMessageChannelId"); + + b.Property("GuildId"); + + b.Property("LogSettingId"); + + b.Property("PermissionRole"); + + b.Property("RootPermissionId"); + + b.Property("SendChannelByeMessage"); + + b.Property("SendChannelGreetMessage"); + + b.Property("SendDmGreetMessage"); + + b.Property("VerbosePermissions"); + + b.Property("VoicePlusTextEnabled"); + + b.HasKey("Id"); + + b.HasIndex("GuildId") + .IsUnique(); + + b.HasIndex("LogSettingId"); + + b.HasIndex("RootPermissionId"); + + b.ToTable("GuildConfigs"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredLogChannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredVoicePresenceCHannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelCreated"); + + b.Property("ChannelDestroyed"); + + b.Property("ChannelId"); + + b.Property("ChannelUpdated"); + + b.Property("IsLogging"); + + b.Property("LogUserPresence"); + + b.Property("LogVoicePresence"); + + b.Property("MessageDeleted"); + + b.Property("MessageReceived"); + + b.Property("MessageUpdated"); + + b.Property("UserBanned"); + + b.Property("UserJoined"); + + b.Property("UserLeft"); + + b.Property("UserPresenceChannelId"); + + b.Property("UserUnbanned"); + + b.Property("UserUpdated"); + + b.Property("VoicePresenceChannelId"); + + b.HasKey("Id"); + + b.ToTable("LogSettings"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ModuleName"); + + b.Property("Prefix"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("ModulePrefixes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.MusicPlaylist", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("AuthorId"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.ToTable("MusicPlaylists"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("NextId"); + + b.Property("PrimaryTarget"); + + b.Property("PrimaryTargetId"); + + b.Property("SecondaryTarget"); + + b.Property("SecondaryTargetName"); + + b.Property("State"); + + b.HasKey("Id"); + + b.HasIndex("NextId") + .IsUnique(); + + b.ToTable("Permission"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Status"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("PlayingStatus"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("MusicPlaylistId"); + + b.Property("Provider"); + + b.Property("ProviderType"); + + b.Property("Query"); + + b.Property("Title"); + + b.Property("Uri"); + + b.HasKey("Id"); + + b.HasIndex("MusicPlaylistId"); + + b.ToTable("PlaylistSong"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AuthorId"); + + b.Property("AuthorName") + .IsRequired(); + + b.Property("GuildId"); + + b.Property("Keyword") + .IsRequired(); + + b.Property("Text") + .IsRequired(); + + b.HasKey("Id"); + + b.ToTable("Quotes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Icon"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("RaceAnimals"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("IsPrivate"); + + b.Property("Message"); + + b.Property("ServerId"); + + b.Property("UserId"); + + b.Property("When"); + + b.HasKey("Id"); + + b.ToTable("Reminders"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildId"); + + b.Property("Interval"); + + b.Property("Message"); + + b.HasKey("Id"); + + b.HasIndex("ChannelId") + .IsUnique(); + + b.ToTable("Repeaters"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildId"); + + b.Property("RoleId"); + + b.HasKey("Id"); + + b.HasIndex("GuildId", "RoleId") + .IsUnique(); + + b.ToTable("SelfAssignableRoles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.ToTable("TypingArticles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("Blacklist") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") + .WithMany("Bases") + .HasForeignKey("ClashWarId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("EightBallResponses") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilterInvitesChannelIds") + .HasForeignKey("GuildConfigId"); + + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilterWordsChannelIds") + .HasForeignKey("GuildConfigId1"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilteredWords") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FollowedStreams") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany() + .HasForeignKey("LogSettingId"); + + b.HasOne("NadekoBot.Services.Database.Models.Permission", "RootPermission") + .WithMany() + .HasForeignKey("RootPermissionId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredChannels") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredVoicePresenceChannelIds") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") + .WithMany("ModulePrefixes") + .HasForeignKey("BotConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.HasOne("NadekoBot.Services.Database.Models.Permission", "Next") + .WithOne("Previous") + .HasForeignKey("NadekoBot.Services.Database.Models.Permission", "NextId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RotatingStatusMessages") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.HasOne("NadekoBot.Services.Database.Models.MusicPlaylist") + .WithMany("Songs") + .HasForeignKey("MusicPlaylistId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RaceAnimals") + .HasForeignKey("BotConfigId"); + }); + } + } +} diff --git a/src/NadekoBot/Migrations/20161004233426_MigrationVersion.cs b/src/NadekoBot/Migrations/20161004233426_MigrationVersion.cs new file mode 100644 index 00000000..a5017255 --- /dev/null +++ b/src/NadekoBot/Migrations/20161004233426_MigrationVersion.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using Microsoft.EntityFrameworkCore.Migrations; + +namespace NadekoBot.Migrations +{ + public partial class MigrationVersion : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "MigrationVersion", + table: "BotConfig", + nullable: false, + defaultValue: 0); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "MigrationVersion", + table: "BotConfig"); + } + } +} diff --git a/src/NadekoBot/Migrations/20161004233637_HelpString.Designer.cs b/src/NadekoBot/Migrations/20161004233637_HelpString.Designer.cs new file mode 100644 index 00000000..17d81a59 --- /dev/null +++ b/src/NadekoBot/Migrations/20161004233637_HelpString.Designer.cs @@ -0,0 +1,712 @@ +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using NadekoBot.Services.Database.Impl; + +namespace NadekoBot.Migrations +{ + [DbContext(typeof(NadekoSqliteContext))] + [Migration("20161004233637_HelpString")] + partial class HelpString + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { + modelBuilder + .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ItemId"); + + b.Property("Type"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("BlacklistItem"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BufferSize"); + + b.Property("CurrencyGenerationChance"); + + b.Property("CurrencyGenerationCooldown"); + + b.Property("CurrencyName"); + + b.Property("CurrencyPluralName"); + + b.Property("CurrencySign"); + + b.Property("DontJoinServers"); + + b.Property("ForwardMessages"); + + b.Property("ForwardToAllOwners"); + + b.Property("HelpString"); + + b.Property("MigrationVersion"); + + b.Property("RemindMessageFormat"); + + b.Property("RotatingStatuses"); + + b.HasKey("Id"); + + b.ToTable("BotConfig"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BaseDestroyed"); + + b.Property("CallUser"); + + b.Property("ClashWarId"); + + b.Property("Stars"); + + b.Property("TimeAdded"); + + b.HasKey("Id"); + + b.HasIndex("ClashWarId"); + + b.ToTable("ClashCallers"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("EnemyClan"); + + b.Property("GuildId"); + + b.Property("Size"); + + b.Property("StartedAt"); + + b.Property("WarState"); + + b.HasKey("Id"); + + b.ToTable("ClashOfClans"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("InternalTrigger"); + + b.Property("Modifier"); + + b.Property("UnitType"); + + b.HasKey("Id"); + + b.ToTable("ConversionUnits"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Currency"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("Name"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Donators"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("EightBallResponses"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildConfigId"); + + b.Property("GuildConfigId1"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.HasIndex("GuildConfigId1"); + + b.ToTable("FilterChannelId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildConfigId"); + + b.Property("Word"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FilteredWord"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildConfigId"); + + b.Property("GuildId"); + + b.Property("LastStatus"); + + b.Property("Type"); + + b.Property("Username"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FollowedStream"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AutoAssignRoleId"); + + b.Property("AutoDeleteByeMessages"); + + b.Property("AutoDeleteGreetMessages"); + + b.Property("AutoDeleteGreetMessagesTimer"); + + b.Property("AutoDeleteSelfAssignedRoleMessages"); + + b.Property("ByeMessageChannelId"); + + b.Property("ChannelByeMessageText"); + + b.Property("ChannelGreetMessageText"); + + b.Property("DefaultMusicVolume"); + + b.Property("DeleteMessageOnCommand"); + + b.Property("DmGreetMessageText"); + + b.Property("ExclusiveSelfAssignedRoles"); + + b.Property("FilterInvites"); + + b.Property("FilterWords"); + + b.Property("GenerateCurrencyChannelId"); + + b.Property("GreetMessageChannelId"); + + b.Property("GuildId"); + + b.Property("LogSettingId"); + + b.Property("PermissionRole"); + + b.Property("RootPermissionId"); + + b.Property("SendChannelByeMessage"); + + b.Property("SendChannelGreetMessage"); + + b.Property("SendDmGreetMessage"); + + b.Property("VerbosePermissions"); + + b.Property("VoicePlusTextEnabled"); + + b.HasKey("Id"); + + b.HasIndex("GuildId") + .IsUnique(); + + b.HasIndex("LogSettingId"); + + b.HasIndex("RootPermissionId"); + + b.ToTable("GuildConfigs"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredLogChannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredVoicePresenceCHannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelCreated"); + + b.Property("ChannelDestroyed"); + + b.Property("ChannelId"); + + b.Property("ChannelUpdated"); + + b.Property("IsLogging"); + + b.Property("LogUserPresence"); + + b.Property("LogVoicePresence"); + + b.Property("MessageDeleted"); + + b.Property("MessageReceived"); + + b.Property("MessageUpdated"); + + b.Property("UserBanned"); + + b.Property("UserJoined"); + + b.Property("UserLeft"); + + b.Property("UserPresenceChannelId"); + + b.Property("UserUnbanned"); + + b.Property("UserUpdated"); + + b.Property("VoicePresenceChannelId"); + + b.HasKey("Id"); + + b.ToTable("LogSettings"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ModuleName"); + + b.Property("Prefix"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("ModulePrefixes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.MusicPlaylist", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("AuthorId"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.ToTable("MusicPlaylists"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("NextId"); + + b.Property("PrimaryTarget"); + + b.Property("PrimaryTargetId"); + + b.Property("SecondaryTarget"); + + b.Property("SecondaryTargetName"); + + b.Property("State"); + + b.HasKey("Id"); + + b.HasIndex("NextId") + .IsUnique(); + + b.ToTable("Permission"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Status"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("PlayingStatus"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("MusicPlaylistId"); + + b.Property("Provider"); + + b.Property("ProviderType"); + + b.Property("Query"); + + b.Property("Title"); + + b.Property("Uri"); + + b.HasKey("Id"); + + b.HasIndex("MusicPlaylistId"); + + b.ToTable("PlaylistSong"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AuthorId"); + + b.Property("AuthorName") + .IsRequired(); + + b.Property("GuildId"); + + b.Property("Keyword") + .IsRequired(); + + b.Property("Text") + .IsRequired(); + + b.HasKey("Id"); + + b.ToTable("Quotes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Icon"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("RaceAnimals"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("IsPrivate"); + + b.Property("Message"); + + b.Property("ServerId"); + + b.Property("UserId"); + + b.Property("When"); + + b.HasKey("Id"); + + b.ToTable("Reminders"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildId"); + + b.Property("Interval"); + + b.Property("Message"); + + b.HasKey("Id"); + + b.HasIndex("ChannelId") + .IsUnique(); + + b.ToTable("Repeaters"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildId"); + + b.Property("RoleId"); + + b.HasKey("Id"); + + b.HasIndex("GuildId", "RoleId") + .IsUnique(); + + b.ToTable("SelfAssignableRoles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.ToTable("TypingArticles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("Blacklist") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") + .WithMany("Bases") + .HasForeignKey("ClashWarId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("EightBallResponses") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilterInvitesChannelIds") + .HasForeignKey("GuildConfigId"); + + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilterWordsChannelIds") + .HasForeignKey("GuildConfigId1"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilteredWords") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FollowedStreams") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany() + .HasForeignKey("LogSettingId"); + + b.HasOne("NadekoBot.Services.Database.Models.Permission", "RootPermission") + .WithMany() + .HasForeignKey("RootPermissionId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredChannels") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredVoicePresenceChannelIds") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") + .WithMany("ModulePrefixes") + .HasForeignKey("BotConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.HasOne("NadekoBot.Services.Database.Models.Permission", "Next") + .WithOne("Previous") + .HasForeignKey("NadekoBot.Services.Database.Models.Permission", "NextId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RotatingStatusMessages") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.HasOne("NadekoBot.Services.Database.Models.MusicPlaylist") + .WithMany("Songs") + .HasForeignKey("MusicPlaylistId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RaceAnimals") + .HasForeignKey("BotConfigId"); + }); + } + } +} diff --git a/src/NadekoBot/Migrations/20161004233637_HelpString.cs b/src/NadekoBot/Migrations/20161004233637_HelpString.cs new file mode 100644 index 00000000..9a4322e3 --- /dev/null +++ b/src/NadekoBot/Migrations/20161004233637_HelpString.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using Microsoft.EntityFrameworkCore.Migrations; + +namespace NadekoBot.Migrations +{ + public partial class HelpString : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "HelpString", + table: "BotConfig", + nullable: true); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "HelpString", + table: "BotConfig"); + } + } +} diff --git a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs index 932e67dd..63a46553 100644 --- a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs +++ b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs @@ -56,6 +56,10 @@ namespace NadekoBot.Migrations b.Property("ForwardToAllOwners"); + b.Property("HelpString"); + + b.Property("MigrationVersion"); + b.Property("RemindMessageFormat"); b.Property("RotatingStatuses"); diff --git a/src/NadekoBot/Modules/Administration/Commands/Migration.cs b/src/NadekoBot/Modules/Administration/Commands/Migration.cs new file mode 100644 index 00000000..ad8d0168 --- /dev/null +++ b/src/NadekoBot/Modules/Administration/Commands/Migration.cs @@ -0,0 +1,220 @@ +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.IO; +using System.Linq; +using System.Threading.Tasks; +using Discord; +using Discord.Commands; +using NadekoBot.Attributes; +using NadekoBot.Services; +using NadekoBot.Services.Database.Models; +using Newtonsoft.Json; +using NLog; + +namespace NadekoBot.Modules.Administration +{ + public partial class Administration + { + [Group] + public class Migration + { + private const int CURRENT_VERSION = 1; + + private Logger _log { get; } + + public Migration() + { + _log = LogManager.GetCurrentClassLogger(); + } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [OwnerOnly] + public async Task MigrateData(IUserMessage umsg) + { + var channel = (ITextChannel) umsg.Channel; + + var version = 0; + using (var uow = DbHandler.UnitOfWork()) + { + version = uow.BotConfig.GetOrCreate().MigrationVersion; + } + try + { + for (var i = version; i < CURRENT_VERSION; i++) + { + switch (i) + { + case 0: + Migrate0_9To1_0(); + break; + } + } + await umsg.Channel.SendMessageAsync("Migration done.").ConfigureAwait(false); + } + catch (MigrationException) + { + await umsg.Channel.SendMessageAsync("Error while migrating, check logs for more informations").ConfigureAwait(false); + } + } + + private void Migrate0_9To1_0() + { + Config0_9 oldData; + try + { + oldData = JsonConvert.DeserializeObject(File.ReadAllText("./data/config.json")); + } + catch (FileNotFoundException) + { + _log.Warn("config.json not found, assuming not needed"); + using (var uow = DbHandler.UnitOfWork()) + { + var botConfig = uow.BotConfig.GetOrCreate(); + botConfig.MigrationVersion = 1; + uow.CompleteAsync().ConfigureAwait(false); + } + return; + } + catch (Exception) + { + _log.Error("Unknow error while deserializing file config.json, pls check its integrity, aborting migration"); + throw new MigrationException(); + } + using (var uow = DbHandler.UnitOfWork()) + { + var botConfig = uow.BotConfig.GetOrCreate(); + + //Basic + botConfig.DontJoinServers = oldData.DontJoinServers; + botConfig.ForwardMessages = oldData.ForwardMessages; + botConfig.ForwardToAllOwners = oldData.ForwardToAllOwners; + botConfig.BufferSize = (ulong) oldData.BufferSize; + botConfig.RemindMessageFormat = oldData.RemindMessageFormat; + botConfig.CurrencySign = oldData.CurrencySign; + botConfig.CurrencyName = oldData.CurrencyName; + botConfig.DMHelpString = oldData.DMHelpString; + botConfig.HelpString = oldData.HelpString; + + //messages + botConfig.RotatingStatuses = oldData.IsRotatingStatus; + var messages = new List(); + + oldData.RotatingStatuses.ForEach(i => messages.Add(new PlayingStatus { Status = i })); + botConfig.RotatingStatusMessages = messages; + + //races + var races = new List(); + oldData.RaceAnimals.ForEach(i => races.Add(new RaceAnimal() { Icon = i, Name = i })); + botConfig.RaceAnimals = races; + + //Prefix + var prefix = new List + { + new ModulePrefix() + { + ModuleName = "Administration", + Prefix = oldData.CommandPrefixes.Administration + }, + new ModulePrefix() + { + ModuleName = "Searches", + Prefix = oldData.CommandPrefixes.Searches + }, + new ModulePrefix() {ModuleName = "NSFW", Prefix = oldData.CommandPrefixes.NSFW}, + new ModulePrefix() + { + ModuleName = "Conversations", + Prefix = oldData.CommandPrefixes.Conversations + }, + new ModulePrefix() + { + ModuleName = "ClashOfClans", + Prefix = oldData.CommandPrefixes.ClashOfClans + }, + new ModulePrefix() {ModuleName = "Help", Prefix = oldData.CommandPrefixes.Help}, + new ModulePrefix() {ModuleName = "Music", Prefix = oldData.CommandPrefixes.Music}, + new ModulePrefix() {ModuleName = "Trello", Prefix = oldData.CommandPrefixes.Trello}, + new ModulePrefix() {ModuleName = "Games", Prefix = oldData.CommandPrefixes.Games}, + new ModulePrefix() + { + ModuleName = "Gambling", + Prefix = oldData.CommandPrefixes.Gambling + }, + new ModulePrefix() + { + ModuleName = "Permissions", + Prefix = oldData.CommandPrefixes.Permissions + }, + new ModulePrefix() + { + ModuleName = "Programming", + Prefix = oldData.CommandPrefixes.Programming + }, + new ModulePrefix() {ModuleName = "Pokemon", Prefix = oldData.CommandPrefixes.Pokemon}, + new ModulePrefix() {ModuleName = "Utility", Prefix = oldData.CommandPrefixes.Utility} + }; + botConfig.ModulePrefixes = prefix; + + //Blacklist + var blacklist = oldData.ServerBlacklist.Select(server => new BlacklistItem() {ItemId = server, Type = BlacklistItem.BlacklistType.Server}).ToList(); + blacklist.AddRange(oldData.ChannelBlacklist.Select(channel => new BlacklistItem() {ItemId = channel, Type = BlacklistItem.BlacklistType.Channel})); + blacklist.AddRange(oldData.UserBlacklist.Select(user => new BlacklistItem() {ItemId = user, Type = BlacklistItem.BlacklistType.User})); + botConfig.Blacklist = new HashSet(blacklist); + + //Eightball + botConfig.EightBallResponses = oldData._8BallResponses.Select(response => new EightBallResponse() {Text = response}).ToList(); + + //NOW save it + botConfig.MigrationVersion = 1; + uow.CompleteAsync(); + } + } + + private class MigrationException : Exception + { + } + + protected class CommandPrefixes0_9 + { + public string Administration { get; set; } + public string Searches { get; set; } + public string NSFW { get; set; } + public string Conversations { get; set; } + public string ClashOfClans { get; set; } + public string Help { get; set; } + public string Music { get; set; } + public string Trello { get; set; } + public string Games { get; set; } + public string Gambling { get; set; } + public string Permissions { get; set; } + public string Programming { get; set; } + public string Pokemon { get; set; } + public string Utility { get; set; } + } + + protected class Config0_9 + { + public bool DontJoinServers { get; set; } + public bool ForwardMessages { get; set; } + public bool ForwardToAllOwners { get; set; } + public bool IsRotatingStatus { get; set; } + public int BufferSize { get; set; } + public List RaceAnimals { get; set; } + public string RemindMessageFormat { get; set; } + public Dictionary> CustomReactions { get; set; } + public List RotatingStatuses { get; set; } + public CommandPrefixes0_9 CommandPrefixes { get; set; } + public List ServerBlacklist { get; set; } + public List ChannelBlacklist { get; set; } + public List UserBlacklist { get; set; } + public List _8BallResponses { get; set; } + public string CurrencySign { get; set; } + public string CurrencyName { get; set; } + public string DMHelpString { get; set; } + public string HelpString { get; set; } + } + + } + } +} diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index 13886cc4..f8627116 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -4136,6 +4136,33 @@ namespace NadekoBot.Resources { } } + /// + /// Looks up a localized string similar to Migrate data from old bot configuration. + /// + public static string migratedata_desc { + get { + return ResourceManager.GetString("migratedata_desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to `.migratedata`. + /// + public static string migratedata_summary { + get { + return ResourceManager.GetString("migratedata_summary", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to migratedata. + /// + public static string migratedata_text { + get { + return ResourceManager.GetString("migratedata_text", resourceCulture); + } + } + /// /// Looks up a localized string similar to List all bot modules.. /// diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index b6fc2550..63ea6c8c 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -2646,4 +2646,13 @@ removeperm rp + + Migrate data from old bot configuration + + + `.migratedata` + + + migratedata + \ No newline at end of file diff --git a/src/NadekoBot/Services/Database/Models/BotConfig.cs b/src/NadekoBot/Services/Database/Models/BotConfig.cs index b8c08404..51c52aea 100644 --- a/src/NadekoBot/Services/Database/Models/BotConfig.cs +++ b/src/NadekoBot/Services/Database/Models/BotConfig.cs @@ -33,6 +33,11 @@ namespace NadekoBot.Services.Database.Models public List EightBallResponses { get; set; } = new List(); public List RaceAnimals { get; set; } = new List(); + + public string DMHelpString; + public string HelpString { get; set; } + + public int MigrationVersion { get; set; } } public class PlayingStatus :DbEntity From b43e0dd21904797e83f8b73e005a737b941df3b8 Mon Sep 17 00:00:00 2001 From: Nitix Date: Wed, 5 Oct 2016 02:33:24 +0200 Subject: [PATCH 037/135] (BotConfig) add missing getter and setter --- src/NadekoBot/Services/Database/Models/BotConfig.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NadekoBot/Services/Database/Models/BotConfig.cs b/src/NadekoBot/Services/Database/Models/BotConfig.cs index 51c52aea..c66a98cb 100644 --- a/src/NadekoBot/Services/Database/Models/BotConfig.cs +++ b/src/NadekoBot/Services/Database/Models/BotConfig.cs @@ -34,7 +34,7 @@ namespace NadekoBot.Services.Database.Models public List EightBallResponses { get; set; } = new List(); public List RaceAnimals { get; set; } = new List(); - public string DMHelpString; + public string DMHelpString { get; set; } public string HelpString { get; set; } public int MigrationVersion { get; set; } From e8c5401b15e62b44f5763559da151d4148cdc581 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 5 Oct 2016 04:03:57 +0200 Subject: [PATCH 038/135] Fixed up the pr --- .../Administration/Commands/Migration.cs | 62 ++----------------- .../Administration/Commands/Migration/0_9..cs | 48 ++++++++++++++ .../Commands/Migration/MigrationException.cs | 13 ++++ 3 files changed, 67 insertions(+), 56 deletions(-) create mode 100644 src/NadekoBot/Modules/Administration/Commands/Migration/0_9..cs create mode 100644 src/NadekoBot/Modules/Administration/Commands/Migration/MigrationException.cs diff --git a/src/NadekoBot/Modules/Administration/Commands/Migration.cs b/src/NadekoBot/Modules/Administration/Commands/Migration.cs index ad8d0168..d6898502 100644 --- a/src/NadekoBot/Modules/Administration/Commands/Migration.cs +++ b/src/NadekoBot/Modules/Administration/Commands/Migration.cs @@ -11,6 +11,7 @@ using NadekoBot.Services; using NadekoBot.Services.Database.Models; using Newtonsoft.Json; using NLog; +using NadekoBot.Modules.Administration.Commands.Migration; namespace NadekoBot.Modules.Administration { @@ -46,7 +47,7 @@ namespace NadekoBot.Modules.Administration switch (i) { case 0: - Migrate0_9To1_0(); + await Migrate0_9To1_0(); break; } } @@ -54,11 +55,11 @@ namespace NadekoBot.Modules.Administration } catch (MigrationException) { - await umsg.Channel.SendMessageAsync("Error while migrating, check logs for more informations").ConfigureAwait(false); + await umsg.Channel.SendMessageAsync(":warning: Error while migrating, check logs for more informations.").ConfigureAwait(false); } } - private void Migrate0_9To1_0() + private async Task Migrate0_9To1_0() { Config0_9 oldData; try @@ -67,13 +68,7 @@ namespace NadekoBot.Modules.Administration } catch (FileNotFoundException) { - _log.Warn("config.json not found, assuming not needed"); - using (var uow = DbHandler.UnitOfWork()) - { - var botConfig = uow.BotConfig.GetOrCreate(); - botConfig.MigrationVersion = 1; - uow.CompleteAsync().ConfigureAwait(false); - } + _log.Warn("config.json not found"); return; } catch (Exception) @@ -167,54 +162,9 @@ namespace NadekoBot.Modules.Administration //NOW save it botConfig.MigrationVersion = 1; - uow.CompleteAsync(); + await uow.CompleteAsync().ConfigureAwait(false); } } - - private class MigrationException : Exception - { - } - - protected class CommandPrefixes0_9 - { - public string Administration { get; set; } - public string Searches { get; set; } - public string NSFW { get; set; } - public string Conversations { get; set; } - public string ClashOfClans { get; set; } - public string Help { get; set; } - public string Music { get; set; } - public string Trello { get; set; } - public string Games { get; set; } - public string Gambling { get; set; } - public string Permissions { get; set; } - public string Programming { get; set; } - public string Pokemon { get; set; } - public string Utility { get; set; } - } - - protected class Config0_9 - { - public bool DontJoinServers { get; set; } - public bool ForwardMessages { get; set; } - public bool ForwardToAllOwners { get; set; } - public bool IsRotatingStatus { get; set; } - public int BufferSize { get; set; } - public List RaceAnimals { get; set; } - public string RemindMessageFormat { get; set; } - public Dictionary> CustomReactions { get; set; } - public List RotatingStatuses { get; set; } - public CommandPrefixes0_9 CommandPrefixes { get; set; } - public List ServerBlacklist { get; set; } - public List ChannelBlacklist { get; set; } - public List UserBlacklist { get; set; } - public List _8BallResponses { get; set; } - public string CurrencySign { get; set; } - public string CurrencyName { get; set; } - public string DMHelpString { get; set; } - public string HelpString { get; set; } - } - } } } diff --git a/src/NadekoBot/Modules/Administration/Commands/Migration/0_9..cs b/src/NadekoBot/Modules/Administration/Commands/Migration/0_9..cs new file mode 100644 index 00000000..87a18f9b --- /dev/null +++ b/src/NadekoBot/Modules/Administration/Commands/Migration/0_9..cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace NadekoBot.Modules.Administration.Commands.Migration +{ + public class CommandPrefixes0_9 + { + public string Administration { get; set; } + public string Searches { get; set; } + public string NSFW { get; set; } + public string Conversations { get; set; } + public string ClashOfClans { get; set; } + public string Help { get; set; } + public string Music { get; set; } + public string Trello { get; set; } + public string Games { get; set; } + public string Gambling { get; set; } + public string Permissions { get; set; } + public string Programming { get; set; } + public string Pokemon { get; set; } + public string Utility { get; set; } + } + + public class Config0_9 + { + public bool DontJoinServers { get; set; } + public bool ForwardMessages { get; set; } + public bool ForwardToAllOwners { get; set; } + public bool IsRotatingStatus { get; set; } + public int BufferSize { get; set; } + public List RaceAnimals { get; set; } + public string RemindMessageFormat { get; set; } + public Dictionary> CustomReactions { get; set; } + public List RotatingStatuses { get; set; } + public CommandPrefixes0_9 CommandPrefixes { get; set; } + public List ServerBlacklist { get; set; } + public List ChannelBlacklist { get; set; } + public List UserBlacklist { get; set; } + public List _8BallResponses { get; set; } + public string CurrencySign { get; set; } + public string CurrencyName { get; set; } + public string DMHelpString { get; set; } + public string HelpString { get; set; } + } +} \ No newline at end of file diff --git a/src/NadekoBot/Modules/Administration/Commands/Migration/MigrationException.cs b/src/NadekoBot/Modules/Administration/Commands/Migration/MigrationException.cs new file mode 100644 index 00000000..1b26d161 --- /dev/null +++ b/src/NadekoBot/Modules/Administration/Commands/Migration/MigrationException.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace NadekoBot.Modules.Administration.Commands.Migration +{ + public class MigrationException : Exception + { + + } +} From fbf06ede237d5c4844a399b8ee6f446d824c6934 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 5 Oct 2016 05:09:44 +0200 Subject: [PATCH 039/135] Changed attribute names, changed CommandStrings.resx keys --- .../{LocalizedAlias.cs => Aliases.cs} | 4 +- src/NadekoBot/Attributes/Description.cs | 14 + src/NadekoBot/Attributes/LocalizedCommand.cs | 15 - .../Attributes/LocalizedDescription.cs | 14 - src/NadekoBot/Attributes/LocalizedSummary.cs | 14 - src/NadekoBot/Attributes/NadekoCommand.cs | 15 + src/NadekoBot/Attributes/Usage.cs | 14 + .../20161002021256_first.Designer.cs | 648 --------- .../20161003012137_blacklist.Designer.cs | 650 --------- .../Migrations/20161003012137_blacklist.cs | 26 - .../20161003170208_filtering.Designer.cs | 708 --------- .../Migrations/20161003170208_filtering.cs | 103 -- ...0161004233426_MigrationVersion.Designer.cs | 710 ---------- .../20161004233426_MigrationVersion.cs | 25 - .../Migrations/20161004233637_HelpString.cs | 24 - ...er.cs => 20161005030440_first.Designer.cs} | 8 +- ...21256_first.cs => 20161005030440_first.cs} | 77 +- .../NadekoSqliteContextModelSnapshot.cs | 4 +- .../Modules/Administration/Administration.cs | 68 +- .../Commands/AutoAssignRoleCommands.cs | 2 +- .../Commands/CrossServerTextChannel.cs | 6 +- .../Administration/Commands/LogCommand.cs | 8 +- .../Commands/MessageRepeater.cs | 6 +- .../Administration/Commands/Migration.cs | 2 +- .../Commands/PlayingRotateCommands.cs | 8 +- .../Commands/RatelimitCommand.cs | 2 +- .../Commands/SelfAssignedRolesCommand.cs | 12 +- .../Administration/Commands/SelfCommands.cs | 2 +- .../Commands/ServerGreetCommands.cs | 16 +- .../Commands/VoicePlusTextCommands.cs | 4 +- .../Modules/ClashOfClans/ClashOfClans.cs | 18 +- .../Modules/Gambling/Commands/AnimalRacing.cs | 4 +- .../Gambling/Commands/DiceRollCommand.cs | 12 +- .../Modules/Gambling/Commands/DrawCommand.cs | 4 +- .../Gambling/Commands/FlipCoinCommand.cs | 4 +- src/NadekoBot/Modules/Gambling/Gambling.cs | 18 +- .../Modules/Games/Commands/LeetCommands.cs | 2 +- .../Games/Commands/PlantAndPickCommands.cs | 6 +- .../Modules/Games/Commands/PollCommands.cs | 4 +- .../Games/Commands/SpeedTypingCommands.cs | 6 +- .../Modules/Games/Commands/TriviaCommands.cs | 6 +- src/NadekoBot/Modules/Games/Games.cs | 8 +- src/NadekoBot/Modules/Help/Help.cs | 16 +- src/NadekoBot/Modules/Music/Music.cs | 64 +- src/NadekoBot/Modules/NSFW/NSFW.cs | 16 +- .../Permissions/Commands/BlacklistCommands.cs | 6 +- .../Permissions/Commands/FilterCommands.cs | 12 +- .../Modules/Permissions/Permissions.cs | 34 +- src/NadekoBot/Modules/Pokemon/Pokemon.cs | 2 +- .../Searches/Commands/AnimeSearchCommands.cs | 4 +- .../Modules/Searches/Commands/CalcCommand.cs | 4 +- .../Modules/Searches/Commands/JokeCommands.cs | 10 +- .../Modules/Searches/Commands/LoLCommands.cs | 2 +- .../Searches/Commands/MemegenCommands.cs | 4 +- .../Modules/Searches/Commands/OsuCommands.cs | 6 +- .../Commands/PokemonSearchCommands.cs | 4 +- .../Commands/StreamNotificationCommands.cs | 12 +- .../Searches/Commands/UnitConversion.cs | 4 +- src/NadekoBot/Modules/Searches/Searches.cs | 40 +- .../Modules/Translator/Translator.cs | 4 +- .../Modules/Utility/Commands/InfoCommands.cs | 6 +- .../Modules/Utility/Commands/QuoteCommands.cs | 8 +- .../Modules/Utility/Commands/Remind.cs | 4 +- src/NadekoBot/Modules/Utility/Utility.cs | 18 +- src/NadekoBot/Resources/CommandStrings.resx | 1261 ++++++++--------- 65 files changed, 1006 insertions(+), 3836 deletions(-) rename src/NadekoBot/Attributes/{LocalizedAlias.cs => Aliases.cs} (52%) create mode 100644 src/NadekoBot/Attributes/Description.cs delete mode 100644 src/NadekoBot/Attributes/LocalizedCommand.cs delete mode 100644 src/NadekoBot/Attributes/LocalizedDescription.cs delete mode 100644 src/NadekoBot/Attributes/LocalizedSummary.cs create mode 100644 src/NadekoBot/Attributes/NadekoCommand.cs create mode 100644 src/NadekoBot/Attributes/Usage.cs delete mode 100644 src/NadekoBot/Migrations/20161002021256_first.Designer.cs delete mode 100644 src/NadekoBot/Migrations/20161003012137_blacklist.Designer.cs delete mode 100644 src/NadekoBot/Migrations/20161003012137_blacklist.cs delete mode 100644 src/NadekoBot/Migrations/20161003170208_filtering.Designer.cs delete mode 100644 src/NadekoBot/Migrations/20161003170208_filtering.cs delete mode 100644 src/NadekoBot/Migrations/20161004233426_MigrationVersion.Designer.cs delete mode 100644 src/NadekoBot/Migrations/20161004233426_MigrationVersion.cs delete mode 100644 src/NadekoBot/Migrations/20161004233637_HelpString.cs rename src/NadekoBot/Migrations/{20161004233637_HelpString.Designer.cs => 20161005030440_first.Designer.cs} (99%) rename src/NadekoBot/Migrations/{20161002021256_first.cs => 20161005030440_first.cs} (89%) diff --git a/src/NadekoBot/Attributes/LocalizedAlias.cs b/src/NadekoBot/Attributes/Aliases.cs similarity index 52% rename from src/NadekoBot/Attributes/LocalizedAlias.cs rename to src/NadekoBot/Attributes/Aliases.cs index 97f808aa..ee6e18ad 100644 --- a/src/NadekoBot/Attributes/LocalizedAlias.cs +++ b/src/NadekoBot/Attributes/Aliases.cs @@ -9,9 +9,9 @@ using System.Threading.Tasks; namespace NadekoBot.Attributes { - public class LocalizedAliasAttribute : AliasAttribute + public class Aliases : AliasAttribute { - public LocalizedAliasAttribute([CallerMemberName] string memberName = "") : base(Localization.LoadCommandString(memberName.ToLowerInvariant() + "_text").Split(' ').Skip(1).ToArray()) + public Aliases([CallerMemberName] string memberName = "") : base(Localization.LoadCommandString(memberName.ToLowerInvariant() + "_cmd").Split(' ').Skip(1).ToArray()) { } } diff --git a/src/NadekoBot/Attributes/Description.cs b/src/NadekoBot/Attributes/Description.cs new file mode 100644 index 00000000..a6f32c74 --- /dev/null +++ b/src/NadekoBot/Attributes/Description.cs @@ -0,0 +1,14 @@ +using Discord.Commands; +using NadekoBot.Services; +using System.Runtime.CompilerServices; + +namespace NadekoBot.Attributes +{ + public class Description : SummaryAttribute + { + public Description([CallerMemberName] string memberName="") : base(Localization.LoadCommandString(memberName.ToLowerInvariant() + "_desc")) + { + + } + } +} diff --git a/src/NadekoBot/Attributes/LocalizedCommand.cs b/src/NadekoBot/Attributes/LocalizedCommand.cs deleted file mode 100644 index dcb96537..00000000 --- a/src/NadekoBot/Attributes/LocalizedCommand.cs +++ /dev/null @@ -1,15 +0,0 @@ -using Discord.Commands; -using NadekoBot.Services; -using System.Linq; -using System.Runtime.CompilerServices; - -namespace NadekoBot.Attributes -{ - public class LocalizedCommandAttribute : CommandAttribute - { - public LocalizedCommandAttribute([CallerMemberName] string memberName="") : base(Localization.LoadCommandString(memberName.ToLowerInvariant() + "_text").Split(' ')[0]) - { - - } - } -} diff --git a/src/NadekoBot/Attributes/LocalizedDescription.cs b/src/NadekoBot/Attributes/LocalizedDescription.cs deleted file mode 100644 index e05ec7c0..00000000 --- a/src/NadekoBot/Attributes/LocalizedDescription.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Discord.Commands; -using NadekoBot.Services; -using System.Runtime.CompilerServices; - -namespace NadekoBot.Attributes -{ - public class LocalizedRemarksAttribute : RemarksAttribute - { - public LocalizedRemarksAttribute([CallerMemberName] string memberName="") : base(Localization.LoadCommandString(memberName.ToLowerInvariant()+"_desc")) - { - - } - } -} diff --git a/src/NadekoBot/Attributes/LocalizedSummary.cs b/src/NadekoBot/Attributes/LocalizedSummary.cs deleted file mode 100644 index 9ded83bc..00000000 --- a/src/NadekoBot/Attributes/LocalizedSummary.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Discord.Commands; -using NadekoBot.Services; -using System.Runtime.CompilerServices; - -namespace NadekoBot.Attributes -{ - public class LocalizedSummaryAttribute : SummaryAttribute - { - public LocalizedSummaryAttribute([CallerMemberName] string memberName="") : base(Localization.LoadCommandString(memberName.ToLowerInvariant() + "_summary")) - { - - } - } -} diff --git a/src/NadekoBot/Attributes/NadekoCommand.cs b/src/NadekoBot/Attributes/NadekoCommand.cs new file mode 100644 index 00000000..ab473cbb --- /dev/null +++ b/src/NadekoBot/Attributes/NadekoCommand.cs @@ -0,0 +1,15 @@ +using Discord.Commands; +using NadekoBot.Services; +using System.Linq; +using System.Runtime.CompilerServices; + +namespace NadekoBot.Attributes +{ + public class NadekoCommand : CommandAttribute + { + public NadekoCommand([CallerMemberName] string memberName="") : base(Localization.LoadCommandString(memberName.ToLowerInvariant() + "_cmd").Split(' ')[0]) + { + + } + } +} diff --git a/src/NadekoBot/Attributes/Usage.cs b/src/NadekoBot/Attributes/Usage.cs new file mode 100644 index 00000000..b3e18519 --- /dev/null +++ b/src/NadekoBot/Attributes/Usage.cs @@ -0,0 +1,14 @@ +using Discord.Commands; +using NadekoBot.Services; +using System.Runtime.CompilerServices; + +namespace NadekoBot.Attributes +{ + public class Usage : RemarksAttribute + { + public Usage([CallerMemberName] string memberName="") : base(Localization.LoadCommandString(memberName.ToLowerInvariant()+"_usage")) + { + + } + } +} diff --git a/src/NadekoBot/Migrations/20161002021256_first.Designer.cs b/src/NadekoBot/Migrations/20161002021256_first.Designer.cs deleted file mode 100644 index 544da87d..00000000 --- a/src/NadekoBot/Migrations/20161002021256_first.Designer.cs +++ /dev/null @@ -1,648 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using NadekoBot.Services.Database.Impl; - -namespace NadekoBot.Migrations -{ - [DbContext(typeof(NadekoSqliteContext))] - [Migration("20161002021256_first")] - partial class first - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { - modelBuilder - .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ItemId"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("BlacklistItem"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BufferSize"); - - b.Property("CurrencyGenerationChance"); - - b.Property("CurrencyGenerationCooldown"); - - b.Property("CurrencyName"); - - b.Property("CurrencyPluralName"); - - b.Property("CurrencySign"); - - b.Property("DontJoinServers"); - - b.Property("ForwardMessages"); - - b.Property("ForwardToAllOwners"); - - b.Property("RemindMessageFormat"); - - b.Property("RotatingStatuses"); - - b.HasKey("Id"); - - b.ToTable("BotConfig"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BaseDestroyed"); - - b.Property("CallUser"); - - b.Property("ClashWarId"); - - b.Property("Stars"); - - b.Property("TimeAdded"); - - b.HasKey("Id"); - - b.HasIndex("ClashWarId"); - - b.ToTable("ClashCallers"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("EnemyClan"); - - b.Property("GuildId"); - - b.Property("Size"); - - b.Property("StartedAt"); - - b.Property("WarState"); - - b.HasKey("Id"); - - b.ToTable("ClashOfClans"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("InternalTrigger"); - - b.Property("Modifier"); - - b.Property("UnitType"); - - b.HasKey("Id"); - - b.ToTable("ConversionUnits"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Currency"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("Name"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Donators"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("EightBallResponses"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildConfigId"); - - b.Property("GuildId"); - - b.Property("LastStatus"); - - b.Property("Type"); - - b.Property("Username"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.ToTable("FollowedStream"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AutoAssignRoleId"); - - b.Property("AutoDeleteByeMessages"); - - b.Property("AutoDeleteGreetMessages"); - - b.Property("AutoDeleteGreetMessagesTimer"); - - b.Property("AutoDeleteSelfAssignedRoleMessages"); - - b.Property("ByeMessageChannelId"); - - b.Property("ChannelByeMessageText"); - - b.Property("ChannelGreetMessageText"); - - b.Property("DefaultMusicVolume"); - - b.Property("DeleteMessageOnCommand"); - - b.Property("DmGreetMessageText"); - - b.Property("ExclusiveSelfAssignedRoles"); - - b.Property("GenerateCurrencyChannelId"); - - b.Property("GreetMessageChannelId"); - - b.Property("GuildId"); - - b.Property("LogSettingId"); - - b.Property("PermissionRole"); - - b.Property("RootPermissionId"); - - b.Property("SendChannelByeMessage"); - - b.Property("SendChannelGreetMessage"); - - b.Property("SendDmGreetMessage"); - - b.Property("VerbosePermissions"); - - b.Property("VoicePlusTextEnabled"); - - b.HasKey("Id"); - - b.HasIndex("GuildId") - .IsUnique(); - - b.HasIndex("LogSettingId"); - - b.HasIndex("RootPermissionId"); - - b.ToTable("GuildConfigs"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredLogChannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredVoicePresenceCHannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelCreated"); - - b.Property("ChannelDestroyed"); - - b.Property("ChannelId"); - - b.Property("ChannelUpdated"); - - b.Property("IsLogging"); - - b.Property("LogUserPresence"); - - b.Property("LogVoicePresence"); - - b.Property("MessageDeleted"); - - b.Property("MessageReceived"); - - b.Property("MessageUpdated"); - - b.Property("UserBanned"); - - b.Property("UserJoined"); - - b.Property("UserLeft"); - - b.Property("UserPresenceChannelId"); - - b.Property("UserUnbanned"); - - b.Property("UserUpdated"); - - b.Property("VoicePresenceChannelId"); - - b.HasKey("Id"); - - b.ToTable("LogSettings"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ModuleName"); - - b.Property("Prefix"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("ModulePrefixes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.MusicPlaylist", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Author"); - - b.Property("AuthorId"); - - b.Property("Name"); - - b.HasKey("Id"); - - b.ToTable("MusicPlaylists"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("NextId"); - - b.Property("PrimaryTarget"); - - b.Property("PrimaryTargetId"); - - b.Property("SecondaryTarget"); - - b.Property("SecondaryTargetName"); - - b.Property("State"); - - b.HasKey("Id"); - - b.HasIndex("NextId") - .IsUnique(); - - b.ToTable("Permission"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Status"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("PlayingStatus"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("MusicPlaylistId"); - - b.Property("Provider"); - - b.Property("ProviderType"); - - b.Property("Query"); - - b.Property("Title"); - - b.Property("Uri"); - - b.HasKey("Id"); - - b.HasIndex("MusicPlaylistId"); - - b.ToTable("PlaylistSong"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AuthorId"); - - b.Property("AuthorName") - .IsRequired(); - - b.Property("GuildId"); - - b.Property("Keyword") - .IsRequired(); - - b.Property("Text") - .IsRequired(); - - b.HasKey("Id"); - - b.ToTable("Quotes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Icon"); - - b.Property("Name"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("RaceAnimals"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("IsPrivate"); - - b.Property("Message"); - - b.Property("ServerId"); - - b.Property("UserId"); - - b.Property("When"); - - b.HasKey("Id"); - - b.ToTable("Reminders"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildId"); - - b.Property("Interval"); - - b.Property("Message"); - - b.HasKey("Id"); - - b.HasIndex("ChannelId") - .IsUnique(); - - b.ToTable("Repeaters"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("GuildId"); - - b.Property("RoleId"); - - b.HasKey("Id"); - - b.HasIndex("GuildId", "RoleId") - .IsUnique(); - - b.ToTable("SelfAssignableRoles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Author"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.ToTable("TypingArticles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("Blacklist") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") - .WithMany("Bases") - .HasForeignKey("ClashWarId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("EightBallResponses") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FollowedStreams") - .HasForeignKey("GuildConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany() - .HasForeignKey("LogSettingId"); - - b.HasOne("NadekoBot.Services.Database.Models.Permission", "RootPermission") - .WithMany() - .HasForeignKey("RootPermissionId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredChannels") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredVoicePresenceChannelIds") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") - .WithMany("ModulePrefixes") - .HasForeignKey("BotConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => - { - b.HasOne("NadekoBot.Services.Database.Models.Permission", "Next") - .WithOne("Previous") - .HasForeignKey("NadekoBot.Services.Database.Models.Permission", "NextId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RotatingStatusMessages") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => - { - b.HasOne("NadekoBot.Services.Database.Models.MusicPlaylist") - .WithMany("Songs") - .HasForeignKey("MusicPlaylistId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RaceAnimals") - .HasForeignKey("BotConfigId"); - }); - } - } -} diff --git a/src/NadekoBot/Migrations/20161003012137_blacklist.Designer.cs b/src/NadekoBot/Migrations/20161003012137_blacklist.Designer.cs deleted file mode 100644 index 5bdecdb6..00000000 --- a/src/NadekoBot/Migrations/20161003012137_blacklist.Designer.cs +++ /dev/null @@ -1,650 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using NadekoBot.Services.Database.Impl; - -namespace NadekoBot.Migrations -{ - [DbContext(typeof(NadekoSqliteContext))] - [Migration("20161003012137_blacklist")] - partial class blacklist - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { - modelBuilder - .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ItemId"); - - b.Property("Type"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("BlacklistItem"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BufferSize"); - - b.Property("CurrencyGenerationChance"); - - b.Property("CurrencyGenerationCooldown"); - - b.Property("CurrencyName"); - - b.Property("CurrencyPluralName"); - - b.Property("CurrencySign"); - - b.Property("DontJoinServers"); - - b.Property("ForwardMessages"); - - b.Property("ForwardToAllOwners"); - - b.Property("RemindMessageFormat"); - - b.Property("RotatingStatuses"); - - b.HasKey("Id"); - - b.ToTable("BotConfig"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BaseDestroyed"); - - b.Property("CallUser"); - - b.Property("ClashWarId"); - - b.Property("Stars"); - - b.Property("TimeAdded"); - - b.HasKey("Id"); - - b.HasIndex("ClashWarId"); - - b.ToTable("ClashCallers"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("EnemyClan"); - - b.Property("GuildId"); - - b.Property("Size"); - - b.Property("StartedAt"); - - b.Property("WarState"); - - b.HasKey("Id"); - - b.ToTable("ClashOfClans"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("InternalTrigger"); - - b.Property("Modifier"); - - b.Property("UnitType"); - - b.HasKey("Id"); - - b.ToTable("ConversionUnits"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Currency"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("Name"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Donators"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("EightBallResponses"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildConfigId"); - - b.Property("GuildId"); - - b.Property("LastStatus"); - - b.Property("Type"); - - b.Property("Username"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.ToTable("FollowedStream"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AutoAssignRoleId"); - - b.Property("AutoDeleteByeMessages"); - - b.Property("AutoDeleteGreetMessages"); - - b.Property("AutoDeleteGreetMessagesTimer"); - - b.Property("AutoDeleteSelfAssignedRoleMessages"); - - b.Property("ByeMessageChannelId"); - - b.Property("ChannelByeMessageText"); - - b.Property("ChannelGreetMessageText"); - - b.Property("DefaultMusicVolume"); - - b.Property("DeleteMessageOnCommand"); - - b.Property("DmGreetMessageText"); - - b.Property("ExclusiveSelfAssignedRoles"); - - b.Property("GenerateCurrencyChannelId"); - - b.Property("GreetMessageChannelId"); - - b.Property("GuildId"); - - b.Property("LogSettingId"); - - b.Property("PermissionRole"); - - b.Property("RootPermissionId"); - - b.Property("SendChannelByeMessage"); - - b.Property("SendChannelGreetMessage"); - - b.Property("SendDmGreetMessage"); - - b.Property("VerbosePermissions"); - - b.Property("VoicePlusTextEnabled"); - - b.HasKey("Id"); - - b.HasIndex("GuildId") - .IsUnique(); - - b.HasIndex("LogSettingId"); - - b.HasIndex("RootPermissionId"); - - b.ToTable("GuildConfigs"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredLogChannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredVoicePresenceCHannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelCreated"); - - b.Property("ChannelDestroyed"); - - b.Property("ChannelId"); - - b.Property("ChannelUpdated"); - - b.Property("IsLogging"); - - b.Property("LogUserPresence"); - - b.Property("LogVoicePresence"); - - b.Property("MessageDeleted"); - - b.Property("MessageReceived"); - - b.Property("MessageUpdated"); - - b.Property("UserBanned"); - - b.Property("UserJoined"); - - b.Property("UserLeft"); - - b.Property("UserPresenceChannelId"); - - b.Property("UserUnbanned"); - - b.Property("UserUpdated"); - - b.Property("VoicePresenceChannelId"); - - b.HasKey("Id"); - - b.ToTable("LogSettings"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ModuleName"); - - b.Property("Prefix"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("ModulePrefixes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.MusicPlaylist", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Author"); - - b.Property("AuthorId"); - - b.Property("Name"); - - b.HasKey("Id"); - - b.ToTable("MusicPlaylists"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("NextId"); - - b.Property("PrimaryTarget"); - - b.Property("PrimaryTargetId"); - - b.Property("SecondaryTarget"); - - b.Property("SecondaryTargetName"); - - b.Property("State"); - - b.HasKey("Id"); - - b.HasIndex("NextId") - .IsUnique(); - - b.ToTable("Permission"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Status"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("PlayingStatus"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("MusicPlaylistId"); - - b.Property("Provider"); - - b.Property("ProviderType"); - - b.Property("Query"); - - b.Property("Title"); - - b.Property("Uri"); - - b.HasKey("Id"); - - b.HasIndex("MusicPlaylistId"); - - b.ToTable("PlaylistSong"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AuthorId"); - - b.Property("AuthorName") - .IsRequired(); - - b.Property("GuildId"); - - b.Property("Keyword") - .IsRequired(); - - b.Property("Text") - .IsRequired(); - - b.HasKey("Id"); - - b.ToTable("Quotes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Icon"); - - b.Property("Name"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("RaceAnimals"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("IsPrivate"); - - b.Property("Message"); - - b.Property("ServerId"); - - b.Property("UserId"); - - b.Property("When"); - - b.HasKey("Id"); - - b.ToTable("Reminders"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildId"); - - b.Property("Interval"); - - b.Property("Message"); - - b.HasKey("Id"); - - b.HasIndex("ChannelId") - .IsUnique(); - - b.ToTable("Repeaters"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("GuildId"); - - b.Property("RoleId"); - - b.HasKey("Id"); - - b.HasIndex("GuildId", "RoleId") - .IsUnique(); - - b.ToTable("SelfAssignableRoles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Author"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.ToTable("TypingArticles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("Blacklist") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") - .WithMany("Bases") - .HasForeignKey("ClashWarId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("EightBallResponses") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FollowedStreams") - .HasForeignKey("GuildConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany() - .HasForeignKey("LogSettingId"); - - b.HasOne("NadekoBot.Services.Database.Models.Permission", "RootPermission") - .WithMany() - .HasForeignKey("RootPermissionId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredChannels") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredVoicePresenceChannelIds") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") - .WithMany("ModulePrefixes") - .HasForeignKey("BotConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => - { - b.HasOne("NadekoBot.Services.Database.Models.Permission", "Next") - .WithOne("Previous") - .HasForeignKey("NadekoBot.Services.Database.Models.Permission", "NextId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RotatingStatusMessages") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => - { - b.HasOne("NadekoBot.Services.Database.Models.MusicPlaylist") - .WithMany("Songs") - .HasForeignKey("MusicPlaylistId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RaceAnimals") - .HasForeignKey("BotConfigId"); - }); - } - } -} diff --git a/src/NadekoBot/Migrations/20161003012137_blacklist.cs b/src/NadekoBot/Migrations/20161003012137_blacklist.cs deleted file mode 100644 index f3c24df2..00000000 --- a/src/NadekoBot/Migrations/20161003012137_blacklist.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System; -using System.Collections.Generic; -using Microsoft.EntityFrameworkCore.Migrations; -using NadekoBot.Services.Database.Models; - -namespace NadekoBot.Migrations -{ - public partial class blacklist : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "Type", - table: "BlacklistItem", - nullable: false, - defaultValue: BlacklistItem.BlacklistType.Server); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "Type", - table: "BlacklistItem"); - } - } -} diff --git a/src/NadekoBot/Migrations/20161003170208_filtering.Designer.cs b/src/NadekoBot/Migrations/20161003170208_filtering.Designer.cs deleted file mode 100644 index 8d173fd5..00000000 --- a/src/NadekoBot/Migrations/20161003170208_filtering.Designer.cs +++ /dev/null @@ -1,708 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using NadekoBot.Services.Database.Impl; - -namespace NadekoBot.Migrations -{ - [DbContext(typeof(NadekoSqliteContext))] - [Migration("20161003170208_filtering")] - partial class filtering - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { - modelBuilder - .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ItemId"); - - b.Property("Type"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("BlacklistItem"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BufferSize"); - - b.Property("CurrencyGenerationChance"); - - b.Property("CurrencyGenerationCooldown"); - - b.Property("CurrencyName"); - - b.Property("CurrencyPluralName"); - - b.Property("CurrencySign"); - - b.Property("DontJoinServers"); - - b.Property("ForwardMessages"); - - b.Property("ForwardToAllOwners"); - - b.Property("RemindMessageFormat"); - - b.Property("RotatingStatuses"); - - b.HasKey("Id"); - - b.ToTable("BotConfig"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BaseDestroyed"); - - b.Property("CallUser"); - - b.Property("ClashWarId"); - - b.Property("Stars"); - - b.Property("TimeAdded"); - - b.HasKey("Id"); - - b.HasIndex("ClashWarId"); - - b.ToTable("ClashCallers"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("EnemyClan"); - - b.Property("GuildId"); - - b.Property("Size"); - - b.Property("StartedAt"); - - b.Property("WarState"); - - b.HasKey("Id"); - - b.ToTable("ClashOfClans"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("InternalTrigger"); - - b.Property("Modifier"); - - b.Property("UnitType"); - - b.HasKey("Id"); - - b.ToTable("ConversionUnits"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Currency"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("Name"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Donators"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("EightBallResponses"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildConfigId"); - - b.Property("GuildConfigId1"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.HasIndex("GuildConfigId1"); - - b.ToTable("FilterChannelId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("GuildConfigId"); - - b.Property("Word"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.ToTable("FilteredWord"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildConfigId"); - - b.Property("GuildId"); - - b.Property("LastStatus"); - - b.Property("Type"); - - b.Property("Username"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.ToTable("FollowedStream"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AutoAssignRoleId"); - - b.Property("AutoDeleteByeMessages"); - - b.Property("AutoDeleteGreetMessages"); - - b.Property("AutoDeleteGreetMessagesTimer"); - - b.Property("AutoDeleteSelfAssignedRoleMessages"); - - b.Property("ByeMessageChannelId"); - - b.Property("ChannelByeMessageText"); - - b.Property("ChannelGreetMessageText"); - - b.Property("DefaultMusicVolume"); - - b.Property("DeleteMessageOnCommand"); - - b.Property("DmGreetMessageText"); - - b.Property("ExclusiveSelfAssignedRoles"); - - b.Property("FilterInvites"); - - b.Property("FilterWords"); - - b.Property("GenerateCurrencyChannelId"); - - b.Property("GreetMessageChannelId"); - - b.Property("GuildId"); - - b.Property("LogSettingId"); - - b.Property("PermissionRole"); - - b.Property("RootPermissionId"); - - b.Property("SendChannelByeMessage"); - - b.Property("SendChannelGreetMessage"); - - b.Property("SendDmGreetMessage"); - - b.Property("VerbosePermissions"); - - b.Property("VoicePlusTextEnabled"); - - b.HasKey("Id"); - - b.HasIndex("GuildId") - .IsUnique(); - - b.HasIndex("LogSettingId"); - - b.HasIndex("RootPermissionId"); - - b.ToTable("GuildConfigs"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredLogChannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredVoicePresenceCHannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelCreated"); - - b.Property("ChannelDestroyed"); - - b.Property("ChannelId"); - - b.Property("ChannelUpdated"); - - b.Property("IsLogging"); - - b.Property("LogUserPresence"); - - b.Property("LogVoicePresence"); - - b.Property("MessageDeleted"); - - b.Property("MessageReceived"); - - b.Property("MessageUpdated"); - - b.Property("UserBanned"); - - b.Property("UserJoined"); - - b.Property("UserLeft"); - - b.Property("UserPresenceChannelId"); - - b.Property("UserUnbanned"); - - b.Property("UserUpdated"); - - b.Property("VoicePresenceChannelId"); - - b.HasKey("Id"); - - b.ToTable("LogSettings"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ModuleName"); - - b.Property("Prefix"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("ModulePrefixes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.MusicPlaylist", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Author"); - - b.Property("AuthorId"); - - b.Property("Name"); - - b.HasKey("Id"); - - b.ToTable("MusicPlaylists"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("NextId"); - - b.Property("PrimaryTarget"); - - b.Property("PrimaryTargetId"); - - b.Property("SecondaryTarget"); - - b.Property("SecondaryTargetName"); - - b.Property("State"); - - b.HasKey("Id"); - - b.HasIndex("NextId") - .IsUnique(); - - b.ToTable("Permission"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Status"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("PlayingStatus"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("MusicPlaylistId"); - - b.Property("Provider"); - - b.Property("ProviderType"); - - b.Property("Query"); - - b.Property("Title"); - - b.Property("Uri"); - - b.HasKey("Id"); - - b.HasIndex("MusicPlaylistId"); - - b.ToTable("PlaylistSong"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AuthorId"); - - b.Property("AuthorName") - .IsRequired(); - - b.Property("GuildId"); - - b.Property("Keyword") - .IsRequired(); - - b.Property("Text") - .IsRequired(); - - b.HasKey("Id"); - - b.ToTable("Quotes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Icon"); - - b.Property("Name"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("RaceAnimals"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("IsPrivate"); - - b.Property("Message"); - - b.Property("ServerId"); - - b.Property("UserId"); - - b.Property("When"); - - b.HasKey("Id"); - - b.ToTable("Reminders"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildId"); - - b.Property("Interval"); - - b.Property("Message"); - - b.HasKey("Id"); - - b.HasIndex("ChannelId") - .IsUnique(); - - b.ToTable("Repeaters"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("GuildId"); - - b.Property("RoleId"); - - b.HasKey("Id"); - - b.HasIndex("GuildId", "RoleId") - .IsUnique(); - - b.ToTable("SelfAssignableRoles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Author"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.ToTable("TypingArticles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("Blacklist") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") - .WithMany("Bases") - .HasForeignKey("ClashWarId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("EightBallResponses") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FilterInvitesChannelIds") - .HasForeignKey("GuildConfigId"); - - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FilterWordsChannelIds") - .HasForeignKey("GuildConfigId1"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FilteredWords") - .HasForeignKey("GuildConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FollowedStreams") - .HasForeignKey("GuildConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany() - .HasForeignKey("LogSettingId"); - - b.HasOne("NadekoBot.Services.Database.Models.Permission", "RootPermission") - .WithMany() - .HasForeignKey("RootPermissionId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredChannels") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredVoicePresenceChannelIds") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") - .WithMany("ModulePrefixes") - .HasForeignKey("BotConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => - { - b.HasOne("NadekoBot.Services.Database.Models.Permission", "Next") - .WithOne("Previous") - .HasForeignKey("NadekoBot.Services.Database.Models.Permission", "NextId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RotatingStatusMessages") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => - { - b.HasOne("NadekoBot.Services.Database.Models.MusicPlaylist") - .WithMany("Songs") - .HasForeignKey("MusicPlaylistId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RaceAnimals") - .HasForeignKey("BotConfigId"); - }); - } - } -} diff --git a/src/NadekoBot/Migrations/20161003170208_filtering.cs b/src/NadekoBot/Migrations/20161003170208_filtering.cs deleted file mode 100644 index 64e2d5e9..00000000 --- a/src/NadekoBot/Migrations/20161003170208_filtering.cs +++ /dev/null @@ -1,103 +0,0 @@ -using System; -using System.Collections.Generic; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace NadekoBot.Migrations -{ - public partial class filtering : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "FilterChannelId", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - ChannelId = table.Column(nullable: false), - GuildConfigId = table.Column(nullable: true), - GuildConfigId1 = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FilterChannelId", x => x.Id); - table.ForeignKey( - name: "FK_FilterChannelId_GuildConfigs_GuildConfigId", - column: x => x.GuildConfigId, - principalTable: "GuildConfigs", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "FK_FilterChannelId_GuildConfigs_GuildConfigId1", - column: x => x.GuildConfigId1, - principalTable: "GuildConfigs", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "FilteredWord", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - GuildConfigId = table.Column(nullable: true), - Word = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FilteredWord", x => x.Id); - table.ForeignKey( - name: "FK_FilteredWord_GuildConfigs_GuildConfigId", - column: x => x.GuildConfigId, - principalTable: "GuildConfigs", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.AddColumn( - name: "FilterInvites", - table: "GuildConfigs", - nullable: false, - defaultValue: false); - - migrationBuilder.AddColumn( - name: "FilterWords", - table: "GuildConfigs", - nullable: false, - defaultValue: false); - - migrationBuilder.CreateIndex( - name: "IX_FilterChannelId_GuildConfigId", - table: "FilterChannelId", - column: "GuildConfigId"); - - migrationBuilder.CreateIndex( - name: "IX_FilterChannelId_GuildConfigId1", - table: "FilterChannelId", - column: "GuildConfigId1"); - - migrationBuilder.CreateIndex( - name: "IX_FilteredWord_GuildConfigId", - table: "FilteredWord", - column: "GuildConfigId"); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "FilterInvites", - table: "GuildConfigs"); - - migrationBuilder.DropColumn( - name: "FilterWords", - table: "GuildConfigs"); - - migrationBuilder.DropTable( - name: "FilterChannelId"); - - migrationBuilder.DropTable( - name: "FilteredWord"); - } - } -} diff --git a/src/NadekoBot/Migrations/20161004233426_MigrationVersion.Designer.cs b/src/NadekoBot/Migrations/20161004233426_MigrationVersion.Designer.cs deleted file mode 100644 index d3b201ac..00000000 --- a/src/NadekoBot/Migrations/20161004233426_MigrationVersion.Designer.cs +++ /dev/null @@ -1,710 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using NadekoBot.Services.Database.Impl; - -namespace NadekoBot.Migrations -{ - [DbContext(typeof(NadekoSqliteContext))] - [Migration("20161004233426_MigrationVersion")] - partial class MigrationVersion - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { - modelBuilder - .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ItemId"); - - b.Property("Type"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("BlacklistItem"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BufferSize"); - - b.Property("CurrencyGenerationChance"); - - b.Property("CurrencyGenerationCooldown"); - - b.Property("CurrencyName"); - - b.Property("CurrencyPluralName"); - - b.Property("CurrencySign"); - - b.Property("DontJoinServers"); - - b.Property("ForwardMessages"); - - b.Property("ForwardToAllOwners"); - - b.Property("MigrationVersion"); - - b.Property("RemindMessageFormat"); - - b.Property("RotatingStatuses"); - - b.HasKey("Id"); - - b.ToTable("BotConfig"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BaseDestroyed"); - - b.Property("CallUser"); - - b.Property("ClashWarId"); - - b.Property("Stars"); - - b.Property("TimeAdded"); - - b.HasKey("Id"); - - b.HasIndex("ClashWarId"); - - b.ToTable("ClashCallers"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("EnemyClan"); - - b.Property("GuildId"); - - b.Property("Size"); - - b.Property("StartedAt"); - - b.Property("WarState"); - - b.HasKey("Id"); - - b.ToTable("ClashOfClans"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("InternalTrigger"); - - b.Property("Modifier"); - - b.Property("UnitType"); - - b.HasKey("Id"); - - b.ToTable("ConversionUnits"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Currency"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("Name"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Donators"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("EightBallResponses"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildConfigId"); - - b.Property("GuildConfigId1"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.HasIndex("GuildConfigId1"); - - b.ToTable("FilterChannelId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("GuildConfigId"); - - b.Property("Word"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.ToTable("FilteredWord"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildConfigId"); - - b.Property("GuildId"); - - b.Property("LastStatus"); - - b.Property("Type"); - - b.Property("Username"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.ToTable("FollowedStream"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AutoAssignRoleId"); - - b.Property("AutoDeleteByeMessages"); - - b.Property("AutoDeleteGreetMessages"); - - b.Property("AutoDeleteGreetMessagesTimer"); - - b.Property("AutoDeleteSelfAssignedRoleMessages"); - - b.Property("ByeMessageChannelId"); - - b.Property("ChannelByeMessageText"); - - b.Property("ChannelGreetMessageText"); - - b.Property("DefaultMusicVolume"); - - b.Property("DeleteMessageOnCommand"); - - b.Property("DmGreetMessageText"); - - b.Property("ExclusiveSelfAssignedRoles"); - - b.Property("FilterInvites"); - - b.Property("FilterWords"); - - b.Property("GenerateCurrencyChannelId"); - - b.Property("GreetMessageChannelId"); - - b.Property("GuildId"); - - b.Property("LogSettingId"); - - b.Property("PermissionRole"); - - b.Property("RootPermissionId"); - - b.Property("SendChannelByeMessage"); - - b.Property("SendChannelGreetMessage"); - - b.Property("SendDmGreetMessage"); - - b.Property("VerbosePermissions"); - - b.Property("VoicePlusTextEnabled"); - - b.HasKey("Id"); - - b.HasIndex("GuildId") - .IsUnique(); - - b.HasIndex("LogSettingId"); - - b.HasIndex("RootPermissionId"); - - b.ToTable("GuildConfigs"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredLogChannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredVoicePresenceCHannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelCreated"); - - b.Property("ChannelDestroyed"); - - b.Property("ChannelId"); - - b.Property("ChannelUpdated"); - - b.Property("IsLogging"); - - b.Property("LogUserPresence"); - - b.Property("LogVoicePresence"); - - b.Property("MessageDeleted"); - - b.Property("MessageReceived"); - - b.Property("MessageUpdated"); - - b.Property("UserBanned"); - - b.Property("UserJoined"); - - b.Property("UserLeft"); - - b.Property("UserPresenceChannelId"); - - b.Property("UserUnbanned"); - - b.Property("UserUpdated"); - - b.Property("VoicePresenceChannelId"); - - b.HasKey("Id"); - - b.ToTable("LogSettings"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ModuleName"); - - b.Property("Prefix"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("ModulePrefixes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.MusicPlaylist", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Author"); - - b.Property("AuthorId"); - - b.Property("Name"); - - b.HasKey("Id"); - - b.ToTable("MusicPlaylists"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("NextId"); - - b.Property("PrimaryTarget"); - - b.Property("PrimaryTargetId"); - - b.Property("SecondaryTarget"); - - b.Property("SecondaryTargetName"); - - b.Property("State"); - - b.HasKey("Id"); - - b.HasIndex("NextId") - .IsUnique(); - - b.ToTable("Permission"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Status"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("PlayingStatus"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("MusicPlaylistId"); - - b.Property("Provider"); - - b.Property("ProviderType"); - - b.Property("Query"); - - b.Property("Title"); - - b.Property("Uri"); - - b.HasKey("Id"); - - b.HasIndex("MusicPlaylistId"); - - b.ToTable("PlaylistSong"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AuthorId"); - - b.Property("AuthorName") - .IsRequired(); - - b.Property("GuildId"); - - b.Property("Keyword") - .IsRequired(); - - b.Property("Text") - .IsRequired(); - - b.HasKey("Id"); - - b.ToTable("Quotes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Icon"); - - b.Property("Name"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("RaceAnimals"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("IsPrivate"); - - b.Property("Message"); - - b.Property("ServerId"); - - b.Property("UserId"); - - b.Property("When"); - - b.HasKey("Id"); - - b.ToTable("Reminders"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildId"); - - b.Property("Interval"); - - b.Property("Message"); - - b.HasKey("Id"); - - b.HasIndex("ChannelId") - .IsUnique(); - - b.ToTable("Repeaters"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("GuildId"); - - b.Property("RoleId"); - - b.HasKey("Id"); - - b.HasIndex("GuildId", "RoleId") - .IsUnique(); - - b.ToTable("SelfAssignableRoles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Author"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.ToTable("TypingArticles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("Blacklist") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") - .WithMany("Bases") - .HasForeignKey("ClashWarId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("EightBallResponses") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FilterInvitesChannelIds") - .HasForeignKey("GuildConfigId"); - - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FilterWordsChannelIds") - .HasForeignKey("GuildConfigId1"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FilteredWords") - .HasForeignKey("GuildConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FollowedStreams") - .HasForeignKey("GuildConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany() - .HasForeignKey("LogSettingId"); - - b.HasOne("NadekoBot.Services.Database.Models.Permission", "RootPermission") - .WithMany() - .HasForeignKey("RootPermissionId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredChannels") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredVoicePresenceChannelIds") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") - .WithMany("ModulePrefixes") - .HasForeignKey("BotConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => - { - b.HasOne("NadekoBot.Services.Database.Models.Permission", "Next") - .WithOne("Previous") - .HasForeignKey("NadekoBot.Services.Database.Models.Permission", "NextId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RotatingStatusMessages") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => - { - b.HasOne("NadekoBot.Services.Database.Models.MusicPlaylist") - .WithMany("Songs") - .HasForeignKey("MusicPlaylistId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RaceAnimals") - .HasForeignKey("BotConfigId"); - }); - } - } -} diff --git a/src/NadekoBot/Migrations/20161004233426_MigrationVersion.cs b/src/NadekoBot/Migrations/20161004233426_MigrationVersion.cs deleted file mode 100644 index a5017255..00000000 --- a/src/NadekoBot/Migrations/20161004233426_MigrationVersion.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using System.Collections.Generic; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace NadekoBot.Migrations -{ - public partial class MigrationVersion : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "MigrationVersion", - table: "BotConfig", - nullable: false, - defaultValue: 0); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "MigrationVersion", - table: "BotConfig"); - } - } -} diff --git a/src/NadekoBot/Migrations/20161004233637_HelpString.cs b/src/NadekoBot/Migrations/20161004233637_HelpString.cs deleted file mode 100644 index 9a4322e3..00000000 --- a/src/NadekoBot/Migrations/20161004233637_HelpString.cs +++ /dev/null @@ -1,24 +0,0 @@ -using System; -using System.Collections.Generic; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace NadekoBot.Migrations -{ - public partial class HelpString : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "HelpString", - table: "BotConfig", - nullable: true); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "HelpString", - table: "BotConfig"); - } - } -} diff --git a/src/NadekoBot/Migrations/20161004233637_HelpString.Designer.cs b/src/NadekoBot/Migrations/20161005030440_first.Designer.cs similarity index 99% rename from src/NadekoBot/Migrations/20161004233637_HelpString.Designer.cs rename to src/NadekoBot/Migrations/20161005030440_first.Designer.cs index 17d81a59..1f862568 100644 --- a/src/NadekoBot/Migrations/20161004233637_HelpString.Designer.cs +++ b/src/NadekoBot/Migrations/20161005030440_first.Designer.cs @@ -8,8 +8,8 @@ using NadekoBot.Services.Database.Impl; namespace NadekoBot.Migrations { [DbContext(typeof(NadekoSqliteContext))] - [Migration("20161004233637_HelpString")] - partial class HelpString + [Migration("20161005030440_first")] + partial class first { protected override void BuildTargetModel(ModelBuilder modelBuilder) { @@ -51,6 +51,8 @@ namespace NadekoBot.Migrations b.Property("CurrencySign"); + b.Property("DMHelpString"); + b.Property("DontJoinServers"); b.Property("ForwardMessages"); @@ -362,8 +364,6 @@ namespace NadekoBot.Migrations b.Property("MessageDeleted"); - b.Property("MessageReceived"); - b.Property("MessageUpdated"); b.Property("UserBanned"); diff --git a/src/NadekoBot/Migrations/20161002021256_first.cs b/src/NadekoBot/Migrations/20161005030440_first.cs similarity index 89% rename from src/NadekoBot/Migrations/20161002021256_first.cs rename to src/NadekoBot/Migrations/20161005030440_first.cs index 7c62a1a9..0b8325dc 100644 --- a/src/NadekoBot/Migrations/20161002021256_first.cs +++ b/src/NadekoBot/Migrations/20161005030440_first.cs @@ -20,9 +20,12 @@ namespace NadekoBot.Migrations CurrencyName = table.Column(nullable: true), CurrencyPluralName = table.Column(nullable: true), CurrencySign = table.Column(nullable: true), + DMHelpString = table.Column(nullable: true), DontJoinServers = table.Column(nullable: false), ForwardMessages = table.Column(nullable: false), ForwardToAllOwners = table.Column(nullable: false), + HelpString = table.Column(nullable: true), + MigrationVersion = table.Column(nullable: false), RemindMessageFormat = table.Column(nullable: true), RotatingStatuses = table.Column(nullable: false) }, @@ -107,7 +110,6 @@ namespace NadekoBot.Migrations LogUserPresence = table.Column(nullable: false), LogVoicePresence = table.Column(nullable: false), MessageDeleted = table.Column(nullable: false), - MessageReceived = table.Column(nullable: false), MessageUpdated = table.Column(nullable: false), UserBanned = table.Column(nullable: false), UserJoined = table.Column(nullable: false), @@ -247,7 +249,8 @@ namespace NadekoBot.Migrations Id = table.Column(nullable: false) .Annotation("Autoincrement", true), BotConfigId = table.Column(nullable: true), - ItemId = table.Column(nullable: false) + ItemId = table.Column(nullable: false), + Type = table.Column(nullable: false) }, constraints: table => { @@ -447,6 +450,8 @@ namespace NadekoBot.Migrations DeleteMessageOnCommand = table.Column(nullable: false), DmGreetMessageText = table.Column(nullable: true), ExclusiveSelfAssignedRoles = table.Column(nullable: false), + FilterInvites = table.Column(nullable: false), + FilterWords = table.Column(nullable: false), GenerateCurrencyChannelId = table.Column(nullable: true), GreetMessageChannelId = table.Column(nullable: false), GuildId = table.Column(nullable: false), @@ -476,6 +481,53 @@ namespace NadekoBot.Migrations onDelete: ReferentialAction.Restrict); }); + migrationBuilder.CreateTable( + name: "FilterChannelId", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + ChannelId = table.Column(nullable: false), + GuildConfigId = table.Column(nullable: true), + GuildConfigId1 = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FilterChannelId", x => x.Id); + table.ForeignKey( + name: "FK_FilterChannelId_GuildConfigs_GuildConfigId", + column: x => x.GuildConfigId, + principalTable: "GuildConfigs", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + table.ForeignKey( + name: "FK_FilterChannelId_GuildConfigs_GuildConfigId1", + column: x => x.GuildConfigId1, + principalTable: "GuildConfigs", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "FilteredWord", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + GuildConfigId = table.Column(nullable: true), + Word = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_FilteredWord", x => x.Id); + table.ForeignKey( + name: "FK_FilteredWord_GuildConfigs_GuildConfigId", + column: x => x.GuildConfigId, + principalTable: "GuildConfigs", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + migrationBuilder.CreateTable( name: "FollowedStream", columns: table => new @@ -527,6 +579,21 @@ namespace NadekoBot.Migrations table: "EightBallResponses", column: "BotConfigId"); + migrationBuilder.CreateIndex( + name: "IX_FilterChannelId_GuildConfigId", + table: "FilterChannelId", + column: "GuildConfigId"); + + migrationBuilder.CreateIndex( + name: "IX_FilterChannelId_GuildConfigId1", + table: "FilterChannelId", + column: "GuildConfigId1"); + + migrationBuilder.CreateIndex( + name: "IX_FilteredWord_GuildConfigId", + table: "FilteredWord", + column: "GuildConfigId"); + migrationBuilder.CreateIndex( name: "IX_FollowedStream_GuildConfigId", table: "FollowedStream", @@ -617,6 +684,12 @@ namespace NadekoBot.Migrations migrationBuilder.DropTable( name: "EightBallResponses"); + migrationBuilder.DropTable( + name: "FilterChannelId"); + + migrationBuilder.DropTable( + name: "FilteredWord"); + migrationBuilder.DropTable( name: "FollowedStream"); diff --git a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs index 63a46553..050244e0 100644 --- a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs +++ b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs @@ -50,6 +50,8 @@ namespace NadekoBot.Migrations b.Property("CurrencySign"); + b.Property("DMHelpString"); + b.Property("DontJoinServers"); b.Property("ForwardMessages"); @@ -361,8 +363,6 @@ namespace NadekoBot.Migrations b.Property("MessageDeleted"); - b.Property("MessageReceived"); - b.Property("MessageUpdated"); b.Property("UserBanned"); diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index e82aa16f..c48ab530 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -50,7 +50,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task Restart(IUserMessage umsg) @@ -65,7 +65,7 @@ namespace NadekoBot.Modules.Administration Environment.Exit(0); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.Administrator)] public async Task Delmsgoncmd(IUserMessage umsg) @@ -85,7 +85,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("❗`Stopped automatic deletion of successfull command invokations.`"); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] public async Task Setrole(IUserMessage umsg, IGuildUser usr, [Remainder] IRole role) @@ -103,7 +103,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] public async Task Removerole(IUserMessage umsg, IGuildUser usr, [Remainder] IRole role) @@ -120,7 +120,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] public async Task RenameRole(IUserMessage umsg, IRole roleToEdit, string newname) @@ -142,7 +142,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] public async Task RemoveAllRoles(IUserMessage umsg, [Remainder] IGuildUser user) @@ -160,7 +160,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] public async Task CreateRole(IUserMessage umsg, [Remainder] string roleName = null) @@ -181,7 +181,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] public async Task RoleColor(IUserMessage umsg, params string[] args) @@ -219,7 +219,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.BanMembers)] public async Task Ban(IUserMessage umsg, IGuildUser user) @@ -246,7 +246,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.BanMembers)] public async Task Softban(IUserMessage umsg, IGuildUser user, [Remainder] string msg = null) @@ -272,7 +272,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Kick(IUserMessage umsg, IGuildUser user, [Remainder] string msg = null) { @@ -300,7 +300,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.MuteMembers)] public async Task Mute(IUserMessage umsg, params IGuildUser[] users) @@ -323,7 +323,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.MuteMembers)] public async Task Unmute(IUserMessage umsg, params IGuildUser[] users) @@ -346,7 +346,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.DeafenMembers)] public async Task Deafen(IUserMessage umsg, params IGuildUser[] users) @@ -369,7 +369,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.DeafenMembers)] public async Task UnDeafen(IUserMessage umsg, params IGuildUser[] users) @@ -392,7 +392,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageChannels)] public async Task DelVoiChanl(IUserMessage umsg, [Remainder] IVoiceChannel voiceChannel) @@ -401,7 +401,7 @@ namespace NadekoBot.Modules.Administration await umsg.Channel.SendMessageAsync($"Removed channel **{voiceChannel.Name}**.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageChannels)] public async Task CreatVoiChanl(IUserMessage umsg, [Remainder] string channelName) @@ -411,7 +411,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync($"Created voice channel **{ch.Name}**, id `{ch.Id}`.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageChannels)] public async Task DelTxtChanl(IUserMessage umsg, [Remainder] ITextChannel channel) @@ -420,7 +420,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync($"Removed text channel **{channel.Name}**, id `{channel.Id}`.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageChannels)] public async Task CreaTxtChanl(IUserMessage umsg, [Remainder] string channelName) @@ -430,7 +430,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync($"Added text channel **{txtCh.Name}**, id `{txtCh.Id}`.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageChannels)] public async Task SetTopic(IUserMessage umsg, [Remainder] string topic = null) @@ -441,7 +441,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync(":ok: **New channel topic set.**").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageChannels)] public async Task SetChanlName(IUserMessage umsg, [Remainder] string name) @@ -454,7 +454,7 @@ namespace NadekoBot.Modules.Administration //delets her own messages, no perm required - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Prune(IUserMessage umsg) { @@ -467,7 +467,7 @@ namespace NadekoBot.Modules.Administration } // prune x - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(ChannelPermission.ManageMessages)] public async Task Prune(IUserMessage msg, int count) @@ -486,7 +486,7 @@ namespace NadekoBot.Modules.Administration } //prune @user [x] - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(ChannelPermission.ManageMessages)] public async Task Prune(IUserMessage msg, IGuildUser user, int count = 100) @@ -497,7 +497,7 @@ namespace NadekoBot.Modules.Administration await msg.Channel.DeleteMessagesAsync(enumerable); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task Die(IUserMessage umsg) @@ -509,7 +509,7 @@ namespace NadekoBot.Modules.Administration Environment.Exit(0); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task Setname(IUserMessage umsg, [Remainder] string newName) @@ -523,7 +523,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync($"Successfully changed name to {newName}").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task NewAvatar(IUserMessage umsg, [Remainder] string img = null) @@ -548,7 +548,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("New avatar set.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task SetGame(IUserMessage umsg, [Remainder] string game = null) @@ -562,7 +562,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("New game set.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task Send(IUserMessage umsg, string where, [Remainder] string msg = null) @@ -607,7 +607,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task Announce(IUserMessage umsg, [Remainder] string message) @@ -623,7 +623,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync(":ok:").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task SaveChat(IUserMessage umsg, int cnt) @@ -656,7 +656,7 @@ namespace NadekoBot.Modules.Administration } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.MentionEveryone)] public async Task MentionRole(IUserMessage umsg, params IRole[] roles) @@ -681,7 +681,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync(send).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Donators(IUserMessage umsg) { @@ -697,7 +697,7 @@ namespace NadekoBot.Modules.Administration } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Donadd(IUserMessage umsg, IUser donator, int amount) { diff --git a/src/NadekoBot/Modules/Administration/Commands/AutoAssignRoleCommands.cs b/src/NadekoBot/Modules/Administration/Commands/AutoAssignRoleCommands.cs index b5aedcf4..968f9dd9 100644 --- a/src/NadekoBot/Modules/Administration/Commands/AutoAssignRoleCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/AutoAssignRoleCommands.cs @@ -42,7 +42,7 @@ namespace NadekoBot.Modules.Administration }; } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] public async Task AutoAssignRole(IUserMessage umsg, [Remainder] IRole role = null) diff --git a/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs b/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs index 693fbe39..9c830023 100644 --- a/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs +++ b/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs @@ -56,7 +56,7 @@ namespace NadekoBot.Modules.Administration public static readonly ConcurrentDictionary> Subscribers = new ConcurrentDictionary>(); - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task Scsc(IUserMessage msg) @@ -71,7 +71,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] public async Task Jcsc(IUserMessage imsg, int token) @@ -85,7 +85,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync(":ok:").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] public async Task Lcsc(IUserMessage imsg) diff --git a/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs b/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs index 3ce63622..d9abdaa0 100644 --- a/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs +++ b/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs @@ -482,7 +482,7 @@ namespace NadekoBot.Modules.Administration return channel; } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task LogServer(IUserMessage msg) @@ -505,7 +505,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("`Logging disabled.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task LogIgnore(IUserMessage imsg) @@ -600,7 +600,7 @@ namespace NadekoBot.Modules.Administration // } //} - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task UserPresence(IUserMessage imsg) { @@ -622,7 +622,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync($"`Stopped logging user presence updates.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task VoicePresence(IUserMessage imsg) { diff --git a/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs b/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs index 7902102c..9e7ffa61 100644 --- a/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs +++ b/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs @@ -73,7 +73,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageMessages)] public async Task RepeatInvoke(IUserMessage imsg) @@ -90,7 +90,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("🔄 " + rep.Repeater.Message).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Repeat(IUserMessage imsg) { @@ -110,7 +110,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("`No message is repeating.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Repeat(IUserMessage imsg, int minutes, [Remainder] string message) { diff --git a/src/NadekoBot/Modules/Administration/Commands/Migration.cs b/src/NadekoBot/Modules/Administration/Commands/Migration.cs index d6898502..4a297e6e 100644 --- a/src/NadekoBot/Modules/Administration/Commands/Migration.cs +++ b/src/NadekoBot/Modules/Administration/Commands/Migration.cs @@ -29,7 +29,7 @@ namespace NadekoBot.Modules.Administration _log = LogManager.GetCurrentClassLogger(); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [OwnerOnly] public async Task MigrateData(IUserMessage umsg) { diff --git a/src/NadekoBot/Modules/Administration/Commands/PlayingRotateCommands.cs b/src/NadekoBot/Modules/Administration/Commands/PlayingRotateCommands.cs index d482a256..ab8721e8 100644 --- a/src/NadekoBot/Modules/Administration/Commands/PlayingRotateCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/PlayingRotateCommands.cs @@ -85,7 +85,7 @@ namespace NadekoBot.Modules.Administration {"%queued%", () => Music.Music.MusicPlayers.Sum(kvp => kvp.Value.Playlist.Count).ToString()} }; - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task RotatePlaying(IUserMessage umsg) @@ -106,7 +106,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("`Rotating playing status disabled.`"); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task AddPlaying(IUserMessage umsg, [Remainder] string status) @@ -123,7 +123,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("`Added.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task ListPlaying(IUserMessage umsg) @@ -146,7 +146,7 @@ namespace NadekoBot.Modules.Administration } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task RemovePlaying(IUserMessage umsg, int index) diff --git a/src/NadekoBot/Modules/Administration/Commands/RatelimitCommand.cs b/src/NadekoBot/Modules/Administration/Commands/RatelimitCommand.cs index ee612047..b7b11f64 100644 --- a/src/NadekoBot/Modules/Administration/Commands/RatelimitCommand.cs +++ b/src/NadekoBot/Modules/Administration/Commands/RatelimitCommand.cs @@ -84,7 +84,7 @@ namespace NadekoBot.Modules.Administration }; } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Slowmode(IUserMessage umsg, int msg = 1, int perSec = 5) { diff --git a/src/NadekoBot/Modules/Administration/Commands/SelfAssignedRolesCommand.cs b/src/NadekoBot/Modules/Administration/Commands/SelfAssignedRolesCommand.cs index 8ecfd242..d1a7dca3 100644 --- a/src/NadekoBot/Modules/Administration/Commands/SelfAssignedRolesCommand.cs +++ b/src/NadekoBot/Modules/Administration/Commands/SelfAssignedRolesCommand.cs @@ -19,7 +19,7 @@ namespace NadekoBot.Modules.Administration public class SelfAssignedRolesCommands { - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] public async Task Asar(IUserMessage umsg, [Remainder] IRole role) @@ -49,7 +49,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync(msg.ToString()).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] public async Task Rsar(IUserMessage umsg, [Remainder] IRole role) @@ -70,7 +70,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync($":ok:**{role.Name}** has been removed from the list of self-assignable roles").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Lsar(IUserMessage umsg) { @@ -105,7 +105,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync(msg.ToString() + "\n\n" + removeMsg.ToString()).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] public async Task Tesar(IUserMessage umsg) @@ -124,7 +124,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("Self assigned roles are now " + exl); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Iam(IUserMessage umsg, [Remainder] IRole role) { @@ -182,7 +182,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Iamnot(IUserMessage umsg, [Remainder] IRole role) { diff --git a/src/NadekoBot/Modules/Administration/Commands/SelfCommands.cs b/src/NadekoBot/Modules/Administration/Commands/SelfCommands.cs index 78444817..87bf6860 100644 --- a/src/NadekoBot/Modules/Administration/Commands/SelfCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/SelfCommands.cs @@ -19,7 +19,7 @@ namespace NadekoBot.Modules.Administration this._client = client; } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task Leave(IUserMessage umsg, [Remainder] string guildStr) diff --git a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs index b462ebd5..c156c8e1 100644 --- a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs @@ -106,7 +106,7 @@ namespace NadekoBot.Modules.Administration return Task.CompletedTask; } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] public async Task GreetDel(IUserMessage umsg) @@ -128,7 +128,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("`Automatic deletion of greet messages has been disabled.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] public async Task Greet(IUserMessage umsg) @@ -151,7 +151,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("Greet announcements disabled.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] public async Task GreetMsg(IUserMessage umsg, [Remainder] string text) @@ -180,7 +180,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("Enable greet messsages by typing `.greet`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] public async Task GreetDm(IUserMessage umsg) @@ -202,7 +202,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("Greet announcements disabled.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] public async Task GreetDmMsg(IUserMessage umsg, [Remainder] string text) @@ -231,7 +231,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("Enable DM greet messsages by typing `.greetdm`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] public async Task Bye(IUserMessage umsg) @@ -254,7 +254,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("Bye announcements disabled.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] public async Task ByeMsg(IUserMessage umsg, [Remainder] string text) @@ -283,7 +283,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("Enable bye messsages by typing `.bye`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] public async Task ByeDel(IUserMessage umsg) diff --git a/src/NadekoBot/Modules/Administration/Commands/VoicePlusTextCommands.cs b/src/NadekoBot/Modules/Administration/Commands/VoicePlusTextCommands.cs index e3a15e49..06f30700 100644 --- a/src/NadekoBot/Modules/Administration/Commands/VoicePlusTextCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/VoicePlusTextCommands.cs @@ -97,7 +97,7 @@ namespace NadekoBot.Modules.Administration private string GetChannelName(string voiceName) => channelNameRegex.Replace(voiceName, "").Trim().Replace(" ", "-").TrimTo(90, true) + "-voice"; - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] [RequirePermission(GuildPermission.ManageChannels)] @@ -138,7 +138,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync(ex.ToString()).ConfigureAwait(false); } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageChannels)] [RequirePermission(GuildPermission.ManageRoles)] diff --git a/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs b/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs index c643dd46..f817fe5c 100644 --- a/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs +++ b/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs @@ -51,7 +51,7 @@ namespace NadekoBot.Modules.ClashOfClans } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task CreateWar(IUserMessage umsg, int size, [Remainder] string enemyClan = null) { @@ -84,7 +84,7 @@ namespace NadekoBot.Modules.ClashOfClans await channel.SendMessageAsync($"❗🔰**CREATED CLAN WAR AGAINST {cw.ShortPrint()}**").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task StartWar(IUserMessage umsg, [Remainder] string number = null) { @@ -112,7 +112,7 @@ namespace NadekoBot.Modules.ClashOfClans SaveWar(war); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task ListWar(IUserMessage umsg, [Remainder] string number = null) { @@ -155,7 +155,7 @@ namespace NadekoBot.Modules.ClashOfClans await channel.SendMessageAsync(warsInfo.Item1[warsInfo.Item2].ToPrettyString()).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Claim(IUserMessage umsg, int number, int baseNumber, [Remainder] string other_name = null) { @@ -183,7 +183,7 @@ namespace NadekoBot.Modules.ClashOfClans } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task ClaimFinish1(IUserMessage umsg, int number, int baseNumber, [Remainder] string other_name = null) { @@ -191,7 +191,7 @@ namespace NadekoBot.Modules.ClashOfClans await FinishClaim(umsg, number, baseNumber, other_name, 1); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task ClaimFinish2(IUserMessage umsg, int number, int baseNumber, [Remainder] string other_name = null) { @@ -199,7 +199,7 @@ namespace NadekoBot.Modules.ClashOfClans await FinishClaim(umsg, number, baseNumber, other_name, 2); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task ClaimFinish(IUserMessage umsg, int number, int baseNumber, [Remainder] string other_name = null) { @@ -207,7 +207,7 @@ namespace NadekoBot.Modules.ClashOfClans await FinishClaim(umsg, number, baseNumber, other_name); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task EndWar(IUserMessage umsg, int number) { @@ -228,7 +228,7 @@ namespace NadekoBot.Modules.ClashOfClans warsInfo.Item1.RemoveAt(warsInfo.Item2); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Unclaim(IUserMessage umsg, int number, [Remainder] string otherName = null) { diff --git a/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs b/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs index 8e34016c..7b00bb4b 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs @@ -24,7 +24,7 @@ namespace NadekoBot.Modules.Gambling } public static ConcurrentDictionary AnimalRaces = new ConcurrentDictionary(); - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Race(IUserMessage umsg) { @@ -36,7 +36,7 @@ namespace NadekoBot.Modules.Gambling await channel.SendMessageAsync("🏁 `Failed starting a race. Another race is probably running.`"); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task JoinRace(IUserMessage umsg, int amount = 0) { diff --git a/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs index 9d0aa94d..d1e4aab6 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs @@ -21,7 +21,7 @@ namespace NadekoBot.Modules.Gambling { private Regex dndRegex { get; } = new Regex(@"(?\d+)d(?\d+)", RegexOptions.Compiled); - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Roll(IUserMessage umsg) { @@ -44,7 +44,7 @@ namespace NadekoBot.Modules.Gambling await channel.SendFileAsync(imageStream, "dice.png", $"{umsg.Author.Mention} rolled " + Format.Code(gen.ToString())).ConfigureAwait(false); } //todo merge into internallDndRoll and internalRoll - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [Priority(1)] public async Task Roll(IUserMessage umsg, string arg) @@ -75,7 +75,7 @@ namespace NadekoBot.Modules.Gambling } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [Priority(2)] public async Task Roll(IUserMessage umsg, int num) @@ -130,7 +130,7 @@ namespace NadekoBot.Modules.Gambling await channel.SendFileAsync(ms, "dice.png", $"{umsg.Author.Mention} rolled {values.Count} {(values.Count == 1 ? "die" : "dice")}. Total: **{values.Sum()}** Average: **{(values.Sum() / (1.0f * values.Count)).ToString("N2")}**").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Rolluo(IUserMessage umsg, string arg) { @@ -160,7 +160,7 @@ namespace NadekoBot.Modules.Gambling } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Rolluo(IUserMessage umsg, int num) { @@ -213,7 +213,7 @@ namespace NadekoBot.Modules.Gambling await channel.SendFileAsync(ms, "dice.png", $"{umsg.Author.Mention} rolled {values.Count} {(values.Count == 1 ? "die" : "dice")}. Total: **{values.Sum()}** Average: **{(values.Sum() / (1.0f * values.Count)).ToString("N2")}**").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task NRoll(IUserMessage umsg, [Remainder] string range) { diff --git a/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs index 9a455ac5..69649b78 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs @@ -18,7 +18,7 @@ namespace NadekoBot.Modules.Gambling private static readonly ConcurrentDictionary AllDecks = new ConcurrentDictionary(); private const string cardsPath = "data/images/cards"; - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Draw(IUserMessage msg) { @@ -50,7 +50,7 @@ namespace NadekoBot.Modules.Gambling } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Shuffle(IUserMessage imsg) { diff --git a/src/NadekoBot/Modules/Gambling/Commands/FlipCoinCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/FlipCoinCommand.cs index 05096884..5fb0ddf4 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/FlipCoinCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/FlipCoinCommand.cs @@ -19,7 +19,7 @@ namespace NadekoBot.Modules.Gambling private const string tailsPath = "data/images/coins/tails.png"; public FlipCoinCommands() { } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Flip(IUserMessage imsg, int count = 1) { @@ -47,7 +47,7 @@ namespace NadekoBot.Modules.Gambling await channel.SendFileAsync(imgs.Merge().ToStream(), $"{count} coins.png").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Betflip(IUserMessage umsg, int amount, string guess) { diff --git a/src/NadekoBot/Modules/Gambling/Gambling.cs b/src/NadekoBot/Modules/Gambling/Gambling.cs index d8296c98..b47c45ce 100644 --- a/src/NadekoBot/Modules/Gambling/Gambling.cs +++ b/src/NadekoBot/Modules/Gambling/Gambling.cs @@ -33,7 +33,7 @@ namespace NadekoBot.Modules.Gambling } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Raffle(IUserMessage umsg, [Remainder] IRole role = null) { @@ -47,7 +47,7 @@ namespace NadekoBot.Modules.Gambling await channel.SendMessageAsync($"**Raffled user:** {usr.Username} (id: {usr.Id})").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] public async Task Cash(IUserMessage umsg, [Remainder] IUser user = null) { var channel = umsg.Channel; @@ -64,7 +64,7 @@ namespace NadekoBot.Modules.Gambling await channel.SendMessageAsync($"{user.Username} has {amount} {config.CurrencySign}").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Give(IUserMessage umsg, long amount, [Remainder] IGuildUser receiver) { @@ -81,13 +81,13 @@ namespace NadekoBot.Modules.Gambling await channel.SendMessageAsync($"{umsg.Author.Mention} successfully sent {amount} {Gambling.CurrencyPluralName}s to {receiver.Mention}!").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public Task Award(IUserMessage umsg, long amount, [Remainder] IGuildUser usr) => Award(umsg, amount, usr.Id); - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task Award(IUserMessage umsg, long amount, [Remainder] ulong usrId) @@ -102,7 +102,7 @@ namespace NadekoBot.Modules.Gambling await channel.SendMessageAsync($"{umsg.Author.Mention} successfully awarded {amount} {Gambling.CurrencyName}s to <@{usrId}>!").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task Take(IUserMessage umsg, long amount, [Remainder] IGuildUser user) @@ -117,7 +117,7 @@ namespace NadekoBot.Modules.Gambling } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task Take(IUserMessage umsg, long amount, [Remainder] ulong usrId) @@ -131,7 +131,7 @@ namespace NadekoBot.Modules.Gambling await channel.SendMessageAsync($"{umsg.Author.Mention} successfully took {amount} {Gambling.CurrencyName}s from <@{usrId}>!").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task BetRoll(IUserMessage umsg, long amount) { @@ -181,7 +181,7 @@ namespace NadekoBot.Modules.Gambling await channel.SendMessageAsync(str).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Leaderboard(IUserMessage umsg) { diff --git a/src/NadekoBot/Modules/Games/Commands/LeetCommands.cs b/src/NadekoBot/Modules/Games/Commands/LeetCommands.cs index 4f0f85af..1a7657b4 100644 --- a/src/NadekoBot/Modules/Games/Commands/LeetCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/LeetCommands.cs @@ -12,7 +12,7 @@ namespace NadekoBot.Modules.Games { public partial class Games { - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Leet(IUserMessage umsg, int level, [Remainder] string text = null) { diff --git a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs index d45382aa..1a2da238 100644 --- a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs @@ -98,7 +98,7 @@ namespace NadekoBot.Modules.Games }); return Task.CompletedTask; } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Pick(IUserMessage imsg) { @@ -131,7 +131,7 @@ namespace NadekoBot.Modules.Games }); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Plant(IUserMessage imsg) { @@ -162,7 +162,7 @@ namespace NadekoBot.Modules.Games plantedFlowers.AddOrUpdate(channel.Id, new List() { msg }, (id, old) => { old.Add(msg); return old; }); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageMessages)] public async Task Gencurrency(IUserMessage imsg) diff --git a/src/NadekoBot/Modules/Games/Commands/PollCommands.cs b/src/NadekoBot/Modules/Games/Commands/PollCommands.cs index 0f2c31e5..c8318cc2 100644 --- a/src/NadekoBot/Modules/Games/Commands/PollCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/PollCommands.cs @@ -14,7 +14,7 @@ namespace NadekoBot.Modules.Games { public static ConcurrentDictionary ActivePolls = new ConcurrentDictionary(); - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Poll(IUserMessage umsg, [Remainder] string arg = null) { @@ -35,7 +35,7 @@ namespace NadekoBot.Modules.Games } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Pollend(IUserMessage umsg) { diff --git a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs index 6e564b3c..0545386c 100644 --- a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs @@ -139,7 +139,7 @@ namespace NadekoBot.Modules.Games RunningContests = new ConcurrentDictionary(); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task TypeStart(IUserMessage msg) { @@ -160,7 +160,7 @@ namespace NadekoBot.Modules.Games } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task TypeStop(IUserMessage imsg) { @@ -175,7 +175,7 @@ namespace NadekoBot.Modules.Games } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task Typeadd(IUserMessage imsg, [Remainder] string text) diff --git a/src/NadekoBot/Modules/Games/Commands/TriviaCommands.cs b/src/NadekoBot/Modules/Games/Commands/TriviaCommands.cs index 8556ac00..56fd3fc1 100644 --- a/src/NadekoBot/Modules/Games/Commands/TriviaCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/TriviaCommands.cs @@ -17,7 +17,7 @@ namespace NadekoBot.Modules.Games { public static ConcurrentDictionary RunningTrivias = new ConcurrentDictionary(); - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Trivia(IUserMessage umsg, params string[] args) { @@ -44,7 +44,7 @@ namespace NadekoBot.Modules.Games await channel.SendMessageAsync("Trivia game is already running on this server.\n" + trivia.CurrentQuestion).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Tl(IUserMessage umsg) { @@ -57,7 +57,7 @@ namespace NadekoBot.Modules.Games await channel.SendMessageAsync("No trivia is running on this server.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Tq(IUserMessage umsg) { diff --git a/src/NadekoBot/Modules/Games/Games.cs b/src/NadekoBot/Modules/Games/Games.cs index 0dbb4d58..81a3532d 100644 --- a/src/NadekoBot/Modules/Games/Games.cs +++ b/src/NadekoBot/Modules/Games/Games.cs @@ -27,7 +27,7 @@ namespace NadekoBot.Modules.Games { } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Choose(IUserMessage umsg, [Remainder] string list = null) { @@ -41,7 +41,7 @@ namespace NadekoBot.Modules.Games await channel.SendMessageAsync(listArr[rng.Next(0, listArr.Length)]).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task _8Ball(IUserMessage umsg, [Remainder] string question = null) { @@ -54,7 +54,7 @@ namespace NadekoBot.Modules.Games 🎱 `8Ball Answers` __**{_8BallResponses.Shuffle().FirstOrDefault()}**__").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Rps(IUserMessage umsg, string input) { @@ -104,7 +104,7 @@ namespace NadekoBot.Modules.Games await channel.SendMessageAsync(msg).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Linux(IUserMessage umsg, string guhnoo, string loonix) { diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index f4c2dbcc..5787d483 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -38,7 +38,7 @@ Nadeko Support Server: https://discord.gg/0ehQwTK2RBjAxzEY"; { } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] public async Task Modules(IUserMessage umsg) { @@ -46,7 +46,7 @@ Nadeko Support Server: https://discord.gg/0ehQwTK2RBjAxzEY"; .ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] public async Task Commands(IUserMessage umsg, [Remainder] string module = null) { var channel = umsg.Channel; @@ -76,7 +76,7 @@ Nadeko Support Server: https://discord.gg/0ehQwTK2RBjAxzEY"; await channel.SendMessageAsync($"`You can type \"{NadekoBot.ModulePrefixes[typeof(Help).Name]}h CommandName\" to see the help about that specific command.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] public async Task H(IUserMessage umsg, [Remainder] string comToFind = null) { var channel = umsg.Channel; @@ -100,11 +100,11 @@ Nadeko Support Server: https://discord.gg/0ehQwTK2RBjAxzEY"; if (alias != null) str += $" / `{ alias }`"; if (com != null) - await channel.SendMessageAsync(str + $@"{Environment.NewLine}**Desc:** {com.Remarks} -**Usage:** {com.Summary}").ConfigureAwait(false); + await channel.SendMessageAsync(str + $@"{Environment.NewLine}**Desc:** {com.Summary} +**Usage:** {com.Remarks}").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public Task Hgit(IUserMessage umsg) @@ -132,7 +132,7 @@ Nadeko Support Server: https://discord.gg/0ehQwTK2RBjAxzEY"; return Task.CompletedTask; } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Guide(IUserMessage umsg) { @@ -143,7 +143,7 @@ Nadeko Support Server: https://discord.gg/0ehQwTK2RBjAxzEY"; **Hosting Guides and docs can be found here**: ").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Donate(IUserMessage umsg) { diff --git a/src/NadekoBot/Modules/Music/Music.cs b/src/NadekoBot/Modules/Music/Music.cs index 926bc8e3..a3f94b79 100644 --- a/src/NadekoBot/Modules/Music/Music.cs +++ b/src/NadekoBot/Modules/Music/Music.cs @@ -36,7 +36,7 @@ namespace NadekoBot.Modules.Music _google = google; } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public Task Next(IUserMessage umsg) { @@ -49,7 +49,7 @@ namespace NadekoBot.Modules.Music return Task.CompletedTask; } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public Task Stop(IUserMessage umsg) { @@ -65,7 +65,7 @@ namespace NadekoBot.Modules.Music return Task.CompletedTask; } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public Task Destroy(IUserMessage umsg) { @@ -78,7 +78,7 @@ namespace NadekoBot.Modules.Music return Task.CompletedTask; } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Pause(IUserMessage umsg) { @@ -95,7 +95,7 @@ namespace NadekoBot.Modules.Music await channel.SendMessageAsync("🎵`Music Player unpaused.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Queue(IUserMessage umsg, [Remainder] string query) { @@ -109,7 +109,7 @@ namespace NadekoBot.Modules.Music } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task SoundCloudQueue(IUserMessage umsg, [Remainder] string query) { @@ -123,7 +123,7 @@ namespace NadekoBot.Modules.Music } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task ListQueue(IUserMessage umsg, int page = 1) { @@ -156,7 +156,7 @@ namespace NadekoBot.Modules.Music await channel.SendMessageAsync(toSend + string.Join("\n", musicPlayer.Playlist.Skip(startAt).Take(15).Select(v => $"`{number++}.` {v.PrettyName}"))).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task NowPlaying(IUserMessage umsg) { @@ -171,7 +171,7 @@ namespace NadekoBot.Modules.Music $"{currentSong.PrettyCurrentTime()}").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Volume(IUserMessage umsg, int val) { @@ -187,7 +187,7 @@ namespace NadekoBot.Modules.Music await channel.SendMessageAsync($"🎵 `Volume set to {volume}%`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Defvol(IUserMessage umsg, [Remainder] int val) { @@ -206,7 +206,7 @@ namespace NadekoBot.Modules.Music await channel.SendMessageAsync($"🎵 `Default volume set to {val}%`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public Task Mute(IUserMessage umsg) { @@ -220,7 +220,7 @@ namespace NadekoBot.Modules.Music return Task.CompletedTask; } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public Task Max(IUserMessage umsg) { @@ -234,7 +234,7 @@ namespace NadekoBot.Modules.Music return Task.CompletedTask; } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Shuffle(IUserMessage umsg) { @@ -254,7 +254,7 @@ namespace NadekoBot.Modules.Music await channel.SendMessageAsync("🎵 `Songs shuffled.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Playlist(IUserMessage umsg, [Remainder] string playlist) { @@ -296,7 +296,7 @@ namespace NadekoBot.Modules.Music await msg.ModifyAsync(m => m.Content = "🎵 `Playlist queue complete.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task SoundCloudPl(IUserMessage umsg, [Remainder] string pl) { @@ -333,7 +333,7 @@ namespace NadekoBot.Modules.Music } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task LocalPl(IUserMessage umsg, [Remainder] string directory) @@ -363,7 +363,7 @@ namespace NadekoBot.Modules.Music catch { } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Radio(IUserMessage umsg, string radio_link) { @@ -381,7 +381,7 @@ namespace NadekoBot.Modules.Music } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task Local(IUserMessage umsg, [Remainder] string path) @@ -394,7 +394,7 @@ namespace NadekoBot.Modules.Music } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Move(IUserMessage umsg) { @@ -406,7 +406,7 @@ namespace NadekoBot.Modules.Music await musicPlayer.MoveToVoiceChannel(voiceChannel); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Remove(IUserMessage umsg, int num) { @@ -426,7 +426,7 @@ namespace NadekoBot.Modules.Music await channel.SendMessageAsync($"🎵**Track {song.PrettyName} at position `#{num}` has been removed.**").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Remove(IUserMessage umsg, string all) { @@ -441,7 +441,7 @@ namespace NadekoBot.Modules.Music return; } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task MoveSong(IUserMessage umsg, [Remainder] string fromto) { @@ -477,7 +477,7 @@ namespace NadekoBot.Modules.Music } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task SetMaxQueue(IUserMessage umsg, uint size) { @@ -491,7 +491,7 @@ namespace NadekoBot.Modules.Music await channel.SendMessageAsync($"🎵 `Max queue set to {(size == 0 ? ("unlimited") : size + " tracks")}`"); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task ReptCurSong(IUserMessage umsg) { @@ -509,7 +509,7 @@ namespace NadekoBot.Modules.Music .ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task RepeatPl(IUserMessage umsg) { @@ -521,7 +521,7 @@ namespace NadekoBot.Modules.Music await channel.SendMessageAsync($"🎵🔁`Repeat playlist {(currentValue ? "enabled" : "disabled")}`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Save(IUserMessage umsg, [Remainder] string name) { @@ -557,7 +557,7 @@ namespace NadekoBot.Modules.Music await channel.SendMessageAsync(($"🎵 `Saved playlist as {name}.` `Id: {playlist.Id}`")).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Load(IUserMessage umsg, [Remainder] int id) { @@ -589,7 +589,7 @@ namespace NadekoBot.Modules.Music await msg.ModifyAsync(m => m.Content = $"`Done loading playlist {mpl.Name}.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Playlists(IUserMessage umsg, [Remainder] int num = 1) { @@ -611,7 +611,7 @@ namespace NadekoBot.Modules.Music } //todo only author or owner - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task DeletePlaylist(IUserMessage umsg, [Remainder] int id) { @@ -649,7 +649,7 @@ namespace NadekoBot.Modules.Music } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Goto(IUserMessage umsg, int time) { @@ -686,7 +686,7 @@ namespace NadekoBot.Modules.Music await channel.SendMessageAsync($"`Skipped to {minutes}:{seconds}`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task GetLink(IUserMessage umsg, int index = 0) { @@ -721,7 +721,7 @@ namespace NadekoBot.Modules.Music } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Autoplay(IUserMessage umsg) { diff --git a/src/NadekoBot/Modules/NSFW/NSFW.cs b/src/NadekoBot/Modules/NSFW/NSFW.cs index f64686d9..52a38ce7 100644 --- a/src/NadekoBot/Modules/NSFW/NSFW.cs +++ b/src/NadekoBot/Modules/NSFW/NSFW.cs @@ -22,7 +22,7 @@ namespace NadekoBot.Modules.NSFW { } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Hentai(IUserMessage umsg, [Remainder] string tag = null) { @@ -41,7 +41,7 @@ namespace NadekoBot.Modules.NSFW await channel.SendMessageAsync(String.Join("\n\n", links)).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Danbooru(IUserMessage umsg, [Remainder] string tag = null) { @@ -55,7 +55,7 @@ namespace NadekoBot.Modules.NSFW await channel.SendMessageAsync(link).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Gelbooru(IUserMessage umsg, [Remainder] string tag = null) { @@ -69,7 +69,7 @@ namespace NadekoBot.Modules.NSFW await channel.SendMessageAsync(link).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Rule34(IUserMessage umsg, [Remainder] string tag = null) { @@ -83,7 +83,7 @@ namespace NadekoBot.Modules.NSFW await channel.SendMessageAsync(link).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task E621(IUserMessage umsg, [Remainder] string tag = null) { @@ -97,7 +97,7 @@ namespace NadekoBot.Modules.NSFW await channel.SendMessageAsync(link).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Cp(IUserMessage umsg) { @@ -106,7 +106,7 @@ namespace NadekoBot.Modules.NSFW await channel.SendMessageAsync("http://i.imgur.com/MZkY1md.jpg").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Boobs(IUserMessage umsg) { @@ -126,7 +126,7 @@ namespace NadekoBot.Modules.NSFW } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Butts(IUserMessage umsg) { diff --git a/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs b/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs index de442bff..843347e0 100644 --- a/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs +++ b/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs @@ -35,17 +35,17 @@ namespace NadekoBot.Modules.Permissions } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [OwnerOnly] public Task UserBlacklist(IUserMessage imsg, AddRemove action, ulong id) => Blacklist(imsg, action, id, BlacklistType.User); - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [OwnerOnly] public Task ChannelBlacklist(IUserMessage imsg, AddRemove action, ulong id) => Blacklist(imsg, action, id, BlacklistType.Channel); - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [OwnerOnly] public Task ServerBlacklist(IUserMessage imsg, AddRemove action, ulong id) => Blacklist(imsg, action, id, BlacklistType.Server); diff --git a/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs b/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs index f8cf9ae6..96a4ff3f 100644 --- a/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs +++ b/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs @@ -63,7 +63,7 @@ namespace NadekoBot.Modules.Permissions } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task SrvrFilterInv(IUserMessage imsg) { @@ -89,7 +89,7 @@ namespace NadekoBot.Modules.Permissions } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task ChnlFilterInv(IUserMessage imsg) { @@ -122,7 +122,7 @@ namespace NadekoBot.Modules.Permissions } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task SrvrFilterWords(IUserMessage imsg) { @@ -148,7 +148,7 @@ namespace NadekoBot.Modules.Permissions } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task ChnlFilterWords(IUserMessage imsg) { @@ -181,7 +181,7 @@ namespace NadekoBot.Modules.Permissions } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task FilterWord(IUserMessage imsg, [Remainder] string word) { @@ -221,7 +221,7 @@ namespace NadekoBot.Modules.Permissions } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task LstFilterWords(IUserMessage imsg) { diff --git a/src/NadekoBot/Modules/Permissions/Permissions.cs b/src/NadekoBot/Modules/Permissions/Permissions.cs index 485d7f46..0dfdbd5d 100644 --- a/src/NadekoBot/Modules/Permissions/Permissions.cs +++ b/src/NadekoBot/Modules/Permissions/Permissions.cs @@ -21,7 +21,7 @@ namespace NadekoBot.Modules.Permissions { } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Verbose(IUserMessage msg, PermissionAction action) { @@ -37,7 +37,7 @@ namespace NadekoBot.Modules.Permissions await channel.SendMessageAsync("I will " + (action.Value ? "now" : "no longer") + " show permission warnings.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task PermRole(IUserMessage msg, [Remainder] IRole role = null) { @@ -59,7 +59,7 @@ namespace NadekoBot.Modules.Permissions await channel.SendMessageAsync($"Users now require **{role.Name}** role in order to edit permissions.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task ListPerms(IUserMessage msg) { @@ -80,7 +80,7 @@ namespace NadekoBot.Modules.Permissions await channel.SendMessageAsync(toSend).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task RemovePerm(IUserMessage imsg, int index) { @@ -122,7 +122,7 @@ namespace NadekoBot.Modules.Permissions } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task MovePerm(IUserMessage imsg, int from, int to) { @@ -160,7 +160,7 @@ namespace NadekoBot.Modules.Permissions await channel.SendMessageAsync("`Invalid index(es) specified.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task SrvrCmd(IUserMessage imsg, Command command, PermissionAction action) { @@ -183,7 +183,7 @@ namespace NadekoBot.Modules.Permissions await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{command.Text}` command on this server.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task SrvrMdl(IUserMessage imsg, Module module, PermissionAction action) { @@ -206,7 +206,7 @@ namespace NadekoBot.Modules.Permissions await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{module.Name}` module on this server.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task UsrCmd(IUserMessage imsg, Command command, PermissionAction action, [Remainder] IGuildUser user) { @@ -229,7 +229,7 @@ namespace NadekoBot.Modules.Permissions await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{command.Text}` command for `{user}` user.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task UsrMdl(IUserMessage imsg, Module module, PermissionAction action, [Remainder] IGuildUser user) { @@ -252,7 +252,7 @@ namespace NadekoBot.Modules.Permissions await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{module.Name}` module for `{user}` user.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task RoleCmd(IUserMessage imsg, Command command, PermissionAction action, [Remainder] IRole role) { @@ -275,7 +275,7 @@ namespace NadekoBot.Modules.Permissions await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{command.Text}` command for `{role}` role.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task RoleMdl(IUserMessage imsg, Module module, PermissionAction action, [Remainder] IRole role) { @@ -298,7 +298,7 @@ namespace NadekoBot.Modules.Permissions await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{module.Name}` module for `{role}` role.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task ChnlCmd(IUserMessage imsg, Command command, PermissionAction action, [Remainder] ITextChannel chnl) { @@ -326,7 +326,7 @@ namespace NadekoBot.Modules.Permissions await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{command.Text}` command for `{chnl}` channel.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task ChnlMdl(IUserMessage imsg, Module module, PermissionAction action, [Remainder] ITextChannel chnl) { @@ -349,7 +349,7 @@ namespace NadekoBot.Modules.Permissions await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{module.Name}` module for `{chnl}` channel.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task AllChnlMdls(IUserMessage imsg, PermissionAction action, [Remainder] ITextChannel chnl) { @@ -372,7 +372,7 @@ namespace NadekoBot.Modules.Permissions await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL MODULES` for `{chnl}` channel.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task AllRoleMdls(IUserMessage imsg, PermissionAction action, [Remainder] IRole role) { @@ -395,7 +395,7 @@ namespace NadekoBot.Modules.Permissions await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL MODULES` for `{role}` role.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task AllUsrMdls(IUserMessage imsg, PermissionAction action, [Remainder] IUser user) { @@ -418,7 +418,7 @@ namespace NadekoBot.Modules.Permissions await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL MODULES` for `{user}` user.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task AllSrvrMdls(IUserMessage imsg, PermissionAction action, [Remainder] IUser user) { diff --git a/src/NadekoBot/Modules/Pokemon/Pokemon.cs b/src/NadekoBot/Modules/Pokemon/Pokemon.cs index 1633252e..3504154a 100644 --- a/src/NadekoBot/Modules/Pokemon/Pokemon.cs +++ b/src/NadekoBot/Modules/Pokemon/Pokemon.cs @@ -15,7 +15,7 @@ namespace NadekoBot.Modules.Games } //todo Dragon should PR this in - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Poke(IUserMessage umsg) { diff --git a/src/NadekoBot/Modules/Searches/Commands/AnimeSearchCommands.cs b/src/NadekoBot/Modules/Searches/Commands/AnimeSearchCommands.cs index 15803201..27320f0d 100644 --- a/src/NadekoBot/Modules/Searches/Commands/AnimeSearchCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/AnimeSearchCommands.cs @@ -29,7 +29,7 @@ namespace NadekoBot.Modules.Searches _log = LogManager.GetCurrentClassLogger(); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Anime(IUserMessage umsg, [Remainder] string query) { @@ -43,7 +43,7 @@ namespace NadekoBot.Modules.Searches await channel.SendMessageAsync(result.ToString() ?? "`No anime found.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Manga(IUserMessage umsg, [Remainder] string query) { diff --git a/src/NadekoBot/Modules/Searches/Commands/CalcCommand.cs b/src/NadekoBot/Modules/Searches/Commands/CalcCommand.cs index b1faf848..f9edac0c 100644 --- a/src/NadekoBot/Modules/Searches/Commands/CalcCommand.cs +++ b/src/NadekoBot/Modules/Searches/Commands/CalcCommand.cs @@ -14,7 +14,7 @@ namespace NadekoBot.Modules.Searches [Group] public partial class Searches { - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public static async Task Calculate(IUserMessage msg, [Remainder] string expression) { @@ -41,7 +41,7 @@ namespace NadekoBot.Modules.Searches } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task CalcOps(IUserMessage msg) { diff --git a/src/NadekoBot/Modules/Searches/Commands/JokeCommands.cs b/src/NadekoBot/Modules/Searches/Commands/JokeCommands.cs index 1df3fcea..b291aadd 100644 --- a/src/NadekoBot/Modules/Searches/Commands/JokeCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/JokeCommands.cs @@ -42,7 +42,7 @@ namespace NadekoBot.Modules.Searches _log.Warn("data/magicitems.json is missing. Magic items are not loaded."); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Yomama(IUserMessage umsg) { @@ -54,7 +54,7 @@ namespace NadekoBot.Modules.Searches } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Randjoke(IUserMessage umsg) { @@ -66,7 +66,7 @@ namespace NadekoBot.Modules.Searches } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task ChuckNorris(IUserMessage umsg) { @@ -78,7 +78,7 @@ namespace NadekoBot.Modules.Searches } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task WowJoke(IUserMessage umsg) { @@ -90,7 +90,7 @@ namespace NadekoBot.Modules.Searches await channel.SendMessageAsync(wowJokes[new NadekoRandom().Next(0, wowJokes.Count)].ToString()); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task MagicItem(IUserMessage umsg) { diff --git a/src/NadekoBot/Modules/Searches/Commands/LoLCommands.cs b/src/NadekoBot/Modules/Searches/Commands/LoLCommands.cs index d667b270..2108878f 100644 --- a/src/NadekoBot/Modules/Searches/Commands/LoLCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/LoLCommands.cs @@ -32,7 +32,7 @@ namespace NadekoBot.Modules.Searches "Doesn't matter what you ban really. Enemy will ban your main and you will lose." }; - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Lolban(IUserMessage umsg) { diff --git a/src/NadekoBot/Modules/Searches/Commands/MemegenCommands.cs b/src/NadekoBot/Modules/Searches/Commands/MemegenCommands.cs index ffccb71a..d35c37d2 100644 --- a/src/NadekoBot/Modules/Searches/Commands/MemegenCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/MemegenCommands.cs @@ -15,7 +15,7 @@ namespace NadekoBot.Modules.Searches { public partial class Searches { - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Memelist(IUserMessage umsg) { @@ -29,7 +29,7 @@ namespace NadekoBot.Modules.Searches } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Memegen(IUserMessage umsg, string meme, string topText, string botText) { diff --git a/src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs b/src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs index 81afbe0e..d9bcbd39 100644 --- a/src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs @@ -25,7 +25,7 @@ namespace NadekoBot.Modules.Searches { _log = LogManager.GetCurrentClassLogger(); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Osu(IUserMessage umsg, string usr, [Remainder] string mode = null) { @@ -58,7 +58,7 @@ namespace NadekoBot.Modules.Searches } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Osub(IUserMessage umsg, [Remainder] string map) { @@ -95,7 +95,7 @@ namespace NadekoBot.Modules.Searches } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Osu5(IUserMessage umsg, string user, [Remainder] string mode) { diff --git a/src/NadekoBot/Modules/Searches/Commands/PokemonSearchCommands.cs b/src/NadekoBot/Modules/Searches/Commands/PokemonSearchCommands.cs index 55885f7c..efb7ee93 100644 --- a/src/NadekoBot/Modules/Searches/Commands/PokemonSearchCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/PokemonSearchCommands.cs @@ -38,7 +38,7 @@ namespace NadekoBot.Modules.Searches _log.Warn(PokemonAbilitiesFile + " is missing. Pokemon abilities not loaded."); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Pokemon(IUserMessage umsg, [Remainder] string pokemon = null) { @@ -59,7 +59,7 @@ namespace NadekoBot.Modules.Searches await channel.SendMessageAsync("`No pokemon found.`"); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task PokemonAbility(IUserMessage umsg, [Remainder] string ability = null) { diff --git a/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs b/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs index 7b250624..3aa6b5a4 100644 --- a/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs @@ -132,28 +132,28 @@ namespace NadekoBot.Modules.Searches return new Tuple(false, "0"); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageMessages)] public async Task Hitbox(IUserMessage msg, [Remainder] string username) => await TrackStream((ITextChannel)msg.Channel, username, FollowedStream.FollowedStreamType.Hitbox) .ConfigureAwait(false); - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageMessages)] public async Task Twitch(IUserMessage msg, [Remainder] string username) => await TrackStream((ITextChannel)msg.Channel, username, FollowedStream.FollowedStreamType.Twitch) .ConfigureAwait(false); - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageMessages)] public async Task Beam(IUserMessage msg, [Remainder] string username) => await TrackStream((ITextChannel)msg.Channel, username, FollowedStream.FollowedStreamType.Beam) .ConfigureAwait(false); - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task ListStreams(IUserMessage imsg) { @@ -179,7 +179,7 @@ namespace NadekoBot.Modules.Searches await channel.SendMessageAsync($"You are following **{streams.Count()}** streams on this server.\n\n" + text).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task RemoveStream(IUserMessage msg, [Remainder] string username) { @@ -207,7 +207,7 @@ namespace NadekoBot.Modules.Searches await channel.SendMessageAsync($":ok: Removed `{toRemove.Username}`'s stream ({toRemove.Type}) from notifications.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task CheckStream(IUserMessage imsg, FollowedStream.FollowedStreamType platform, [Remainder] string username) { diff --git a/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs b/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs index 6c3f28b1..844ee5d0 100644 --- a/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs +++ b/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs @@ -94,7 +94,7 @@ namespace NadekoBot.Modules.Searches } public List Units { get; set; } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task ConvertList(IUserMessage msg) { @@ -108,7 +108,7 @@ namespace NadekoBot.Modules.Searches } await msg.ReplyLong(sb.ToString(), breakOn: new[] { "```xl\n", "\n" }); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] public async Task Convert(IUserMessage msg, string origin, string target, decimal value) { var originUnit = Units.Find(x => x.Triggers.Select(y => y.ToLowerInvariant()).Contains(origin.ToLowerInvariant())); diff --git a/src/NadekoBot/Modules/Searches/Searches.cs b/src/NadekoBot/Modules/Searches/Searches.cs index 06ab3933..47aeb05c 100644 --- a/src/NadekoBot/Modules/Searches/Searches.cs +++ b/src/NadekoBot/Modules/Searches/Searches.cs @@ -30,7 +30,7 @@ namespace NadekoBot.Modules.Searches _google = youtube; } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Weather(IUserMessage umsg, string city, string country) { @@ -51,7 +51,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 🌄 **Sunrise:** {obj["sunrise"]} 🌇 **Sunset:** {obj["sunset"]}").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Youtube(IUserMessage umsg, [Remainder] string query = null) { @@ -66,7 +66,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 await channel.SendMessageAsync(result).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Imdb(IUserMessage umsg, [Remainder] string query = null) { @@ -90,7 +90,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 await channel.SendMessageAsync(result.ToString()).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task RandomCat(IUserMessage umsg) { @@ -103,7 +103,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task RandomDog(IUserMessage umsg) { @@ -114,7 +114,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task I(IUserMessage umsg, [Remainder] string query = null) { @@ -144,7 +144,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Ir(IUserMessage umsg, [Remainder] string query = null) { @@ -176,7 +176,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Lmgtfy(IUserMessage umsg, [Remainder] string ffs = null) { @@ -190,7 +190,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 .ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Google(IUserMessage umsg, [Remainder] string terms = null) { @@ -204,7 +204,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 .ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Hearthstone(IUserMessage umsg, [Remainder] string name = null) { @@ -256,7 +256,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Ud(IUserMessage umsg, [Remainder] string query = null) { @@ -290,7 +290,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Hashtag(IUserMessage umsg, [Remainder] string query = null) { @@ -325,7 +325,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Catfact(IUserMessage umsg) { @@ -339,7 +339,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Revav(IUserMessage umsg, [Remainder] string arg = null) { @@ -356,7 +356,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 await channel.SendMessageAsync($"https://images.google.com/searchbyimage?image_url={usr.AvatarUrl}").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Revimg(IUserMessage umsg, [Remainder] string imageLink = null) { @@ -368,7 +368,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 await channel.SendMessageAsync($"https://images.google.com/searchbyimage?image_url={imageLink}").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Safebooru(IUserMessage umsg, [Remainder] string tag = null) { @@ -382,7 +382,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 await channel.SendMessageAsync(link).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Wiki(IUserMessage umsg, [Remainder] string query = null) { @@ -402,7 +402,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Clr(IUserMessage umsg, [Remainder] string color = null) { @@ -422,7 +422,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 await channel.SendFileAsync(img.ToStream(), $"{color}.png"); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Videocall(IUserMessage umsg, [Remainder] string arg = null) { @@ -445,7 +445,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Avatar(IUserMessage umsg, [Remainder] string mention = null) { diff --git a/src/NadekoBot/Modules/Translator/Translator.cs b/src/NadekoBot/Modules/Translator/Translator.cs index bc0d6c8d..d13cdb54 100644 --- a/src/NadekoBot/Modules/Translator/Translator.cs +++ b/src/NadekoBot/Modules/Translator/Translator.cs @@ -16,7 +16,7 @@ namespace NadekoBot.Modules.Translator { } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Translate(IUserMessage umsg, string langs, [Remainder] string text = null) { @@ -44,7 +44,7 @@ namespace NadekoBot.Modules.Translator } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Translangs(IUserMessage umsg) { diff --git a/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs b/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs index 1e4683e6..f80fc294 100644 --- a/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs +++ b/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs @@ -12,7 +12,7 @@ namespace NadekoBot.Modules.Utility { partial class Utility : DiscordModule { - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task ServerInfo(IUserMessage msg, string guild = null) { @@ -47,7 +47,7 @@ namespace NadekoBot.Modules.Utility await msg.Reply(sb.ToString()).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task ChannelInfo(IUserMessage msg, ITextChannel channel = null) { @@ -63,7 +63,7 @@ namespace NadekoBot.Modules.Utility await msg.Reply(toReturn).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task UserInfo(IUserMessage msg, IGuildUser usr = null) { diff --git a/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs b/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs index 83f48972..dd4b3353 100644 --- a/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs +++ b/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs @@ -14,7 +14,7 @@ namespace NadekoBot.Modules.Utility { public partial class Utility { - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task ShowQuote(IUserMessage umsg, [Remainder] string keyword) { @@ -37,7 +37,7 @@ namespace NadekoBot.Modules.Utility await channel.SendMessageAsync("📣 " + quote.Text); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task AddQuote(IUserMessage umsg, string keyword, [Remainder] string text) { @@ -63,7 +63,7 @@ namespace NadekoBot.Modules.Utility } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task DeleteQuote(IUserMessage umsg, [Remainder] string keyword) { @@ -90,7 +90,7 @@ namespace NadekoBot.Modules.Utility await channel.SendMessageAsync("`Deleted a random quote.`"); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task DelAllQuotes(IUserMessage umsg, string keyword) { diff --git a/src/NadekoBot/Modules/Utility/Commands/Remind.cs b/src/NadekoBot/Modules/Utility/Commands/Remind.cs index 57759952..e01c8a78 100644 --- a/src/NadekoBot/Modules/Utility/Commands/Remind.cs +++ b/src/NadekoBot/Modules/Utility/Commands/Remind.cs @@ -92,7 +92,7 @@ namespace NadekoBot.Modules.Utility } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Remind(IUserMessage umsg, string meorchannel, string timeStr, [Remainder] string message) { @@ -184,7 +184,7 @@ namespace NadekoBot.Modules.Utility await StartReminder(rem); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] public async Task RemindTemplate(IUserMessage umsg, [Remainder] string arg) diff --git a/src/NadekoBot/Modules/Utility/Utility.cs b/src/NadekoBot/Modules/Utility/Utility.cs index 56589a75..1a009a2c 100644 --- a/src/NadekoBot/Modules/Utility/Utility.cs +++ b/src/NadekoBot/Modules/Utility/Utility.cs @@ -23,7 +23,7 @@ namespace NadekoBot.Modules.Utility } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task WhosPlaying(IUserMessage umsg, [Remainder] string game = null) { @@ -43,7 +43,7 @@ namespace NadekoBot.Modules.Utility await channel.SendMessageAsync("```xl\n" + string.Join("\n", arr.GroupBy(item => (i++) / 3).Select(ig => string.Concat(ig.Select(el => $"• {el,-35}")))) + "\n```").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task InRole(IUserMessage umsg, [Remainder] string roles = null) { @@ -76,7 +76,7 @@ namespace NadekoBot.Modules.Utility await channel.SendMessageAsync(send).ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task CheckMyPerms(IUserMessage msg) { @@ -93,7 +93,7 @@ namespace NadekoBot.Modules.Utility await msg.Reply(builder.ToString()); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task UserId(IUserMessage msg, IGuildUser target = null) { @@ -101,20 +101,20 @@ namespace NadekoBot.Modules.Utility await msg.Reply($"Id of the user { usr.Username } is { usr.Id }").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] public async Task ChannelId(IUserMessage msg) { await msg.Reply($"This Channel's ID is {msg.Channel.Id}").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task ServerId(IUserMessage msg) { await msg.Reply($"This server's ID is {((ITextChannel)msg.Channel).Guild.Id}").ConfigureAwait(false); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Roles(IUserMessage msg, IGuildUser target = null) { @@ -130,7 +130,7 @@ namespace NadekoBot.Modules.Utility } } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task ChannelTopic(IUserMessage umsg) { @@ -143,7 +143,7 @@ namespace NadekoBot.Modules.Utility await channel.SendMessageAsync("`Topic:` " + topic); } - [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Stats(IUserMessage umsg) { diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index eda33425..fd73691b 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -117,2524 +117,2515 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + h help Either shows a help for a single command, or PMs you help link if no arguments are specified. - + `-h !m q` or just `-h` - + hgit - Generates the commandlist.md file. **Bot Owner Only!** + Generates the commandlist.md file. - + `-hgit` - + donate Instructions for helping the project! - + `-donate` or `~donate` - + modules mdls List all bot modules. - + `-modules` or `.modules` - + commands cmds List all of the bot's commands from a certain module. - + `-commands` or `.commands` - + greetdel - Toggles automatic deletion of greet messages. **Needs Manage Server Permissions.** + Toggles automatic deletion of greet messages. - + `.greetdel` - + greet - Toggles anouncements on the current channel when someone joins the server. **Needs Manage Server Permissions.** + Toggles anouncements on the current channel when someone joins the server. - + `.greet` - + greetmsg - Sets a new join announcement message which will be shown in the server's channel. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. **Needs Manage Server Permissions.** + Sets a new join announcement message which will be shown in the server's channel. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. - + `.greetmsg Welcome, %user%.` - + bye Toggles anouncements on the current channel when someone leaves the server. - + `.bye` - + byemsg - Sets a new leave announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current bye message. **Needs Manage Server Permissions.** + Sets a new leave announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current bye message. - + `.byemsg %user% has left.` - + byedel - Toggles automatic deletion of bye messages. **Needs Manage Server Permissions.** + Toggles automatic deletion of bye messages. - + `.byedel` - + greetdm - Toggles whether the greet messages will be sent in a DM (This is separate from greet - you can have both, any or neither enabled). **Needs Manage Server Permissions.** + Toggles whether the greet messages will be sent in a DM (This is separate from greet - you can have both, any or neither enabled). - + `.greetdm` - + spmom - Toggles whether mentions of other offline users on your server will send a pm to them. **Needs Manage Server Permissions.** + Toggles whether mentions of other offline users on your server will send a pm to them. - + `.spmom` - + logserver Logs server activity in this channel. - + `.logserver` - + logignore - Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. **Bot Owner Only!** + Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. - + `.logignore` - + userpresence - Starts logging to this channel when someone from the server goes online/offline/idle. **Needs Manage Server Permissions.** + Starts logging to this channel when someone from the server goes online/offline/idle. - + `.userpresence` - + voicepresence - Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. **Needs Manage Server Permissions.** + Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. - + `.voicerpresence` - + repeatinvoke repinv - Immediately shows the repeat message and restarts the timer. **Needs Manage Messages Permissions.** + Immediately shows the repeat message and restarts the timer. - + `.repinv` - + repeat - Repeat a message every X minutes. If no parameters are specified, repeat is disabled. **Needs Manage Messages Permissions.** + Repeat a message every X minutes. If no parameters are specified, repeat is disabled. - + `.repeat 5 Hello there` - + rotateplaying ropl - Toggles rotation of playing status of the dynamic strings you specified earlier. **Bot Owner Only!** + Toggles rotation of playing status of the dynamic strings you specified earlier. - + `.ropl` - + addplaying adpl Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued% - + `.adpl` - + listplaying lipl - Lists all playing statuses with their corresponding number. **Bot Owner Only!** + Lists all playing statuses with their corresponding number. - + `.lipl` - + removeplaying rmlp repl - Removes a playing string on a given number. **Bot Owner Only!** + Removes a playing string on a given number. - + `.rmpl` - + slowmode - Toggles slow mode. When ON, users will be able to send only 1 message every 5 seconds. **Needs Manage Messages Permissions.** + Toggles slow mode. When ON, users will be able to send only 1 message every 5 seconds. - + `.slowmode` - + cleanvplust cv+t Deletes all text channels ending in `-voice` for which voicechannels are not found. **Use at your own risk. Needs Manage Roles and Manage Channels Permissions.** - + `.cleanv+t` - + voice+text v+t - Creates a text channel for each voice channel only users in that voice channel can see.If you are server owner, keep in mind you will see them all the time regardless. **Needs Manage Roles and Manage Channels Permissions.** + Creates a text channel for each voice channel only users in that voice channel can see.If you are server owner, keep in mind you will see them all the time regardless. - + `.voice+text` - + scsc - Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance. **Bot Owner Only.** + Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance. - + `.scsc` - + jcsc - Joins current channel to an instance of cross server channel using the token. **Needs Manage Server Permissions.** + Joins current channel to an instance of cross server channel using the token. - + `.jcsc` - + lcsc - Leaves Cross server channel instance from this channel. **Needs Manage Server Permissions.** + Leaves Cross server channel instance from this channel. - + `.lcsc` - + asar Adds a role, or list of roles separated by whitespace(use quotations for multiword roles) to the list of self-assignable roles. - + `.asar Gamer` - + rsar Removes a specified role from the list of self-assignable roles. - + `.rsar` - + lsar Lists all self-assignable roles. - + `.lsar` - + togglexclsar tesar toggle whether the self-assigned roles should be exclusive - + `.tesar` - + iam Adds a role to you that you choose. Role must be on a list of self-assignable roles. - + `.iam Gamer` - + iamnot iamn Removes a role to you that you choose. Role must be on a list of self-assignable roles. - + `.iamn Gamer` - + addcustreact acr Add a custom reaction. Guide here: <https://github.com/Kwoth/NadekoBot/wiki/Custom-Reactions> - + `.acr "hello" Hi there %user%` - + listcustreact lcr Lists custom reactions (paginated with 30 commands per page). Use 'all' instead of page number to get all custom reactions DM-ed to you. - + `.lcr 1` - + showcustreact scr Shows all possible responses from a single custom reaction. - + `.scr %mention% bb` - + editcustreact ecr - Edits a custom reaction, arguments are custom reactions name, index to change, and a (multiword) message **Bot Owner Only** + Edits a custom reaction, arguments are custom reactions name, index to change, and a (multiword) message. - + `.ecr "%mention% disguise" 2 Test 123` - + delcustreact dcr - Deletes a custom reaction with given name (and index). **Bot Owner Only.** + Deletes a custom reaction with given name (and index). - + `.dcr index` - + autoassignrole aar Automaticaly assigns a specified role to every user who joins the server. - + `.aar` to disable, `.aar Role Name` to enable - + leave - Makes Nadeko leave the server. Either name or id required. **Bot Owner Only!** + Makes Nadeko leave the server. Either name or id required. - + `.leave 123123123331` - + listincidents lin - List all UNREAD incidents and flags them as read. **Needs Manage Server Permissions.** + List all UNREAD incidents and flags them as read. - + `.lin` - + listallincidents lain - Sends you a file containing all incidents and flags them as read. **Needs Manage Server Permissions.** + Sends you a file containing all incidents and flags them as read. - + `.lain` - + delmsgoncmd Toggles the automatic deletion of user's successful command message to prevent chat flood. **Server Manager Only.** - + `.delmsgoncmd` - + restart - Restarts the bot. Might not work. **Bot Owner Only** + Restarts the bot. Might not work. - + `.restart` - + setrole sr - Sets a role for a given user. **Needs Manage Roles Permissions.** + Sets a role for a given user. - + `.sr @User Guest` - + removerole rr - Removes a role from a given user. **Needs Manage Roles Permissions.** + Removes a role from a given user. - + `.rr @User Admin` - + renamerole renr Renames a role. Roles you are renaming must be lower than bot's highest role. **Manage Roles Permissions.** - + `.renr "First role" SecondRole` - + removeallroles rar - Removes all roles from a mentioned user. **Needs Manage Roles Permissions.** + Removes all roles from a mentioned user. - + `.rar @User` - + createrole cr - Creates a role with a given name. **Needs Manage Roles Permissions.** + Creates a role with a given name. - + `.cr Awesome Role` - + rolecolor rc - Set a role's color to the hex or 0-255 rgb color value provided. **Needs Manage Roles Permissions.** + Set a role's color to the hex or 0-255 rgb color value provided. - + `.rc Admin 255 200 100` or `.rc Admin ffba55` - + ban b Bans a user by id or name with an optional message. - + `.b "@some Guy" Your behaviour is toxic.` - + softban sb - Bans and then unbans a user by id or name with an optional message. **Needs Ban Permissions.** + Bans and then unbans a user by id or name with an optional message. - + `.sb "@some Guy" Your behaviour is toxic.` - + kick k - Kicks a mentioned user. **Needs Kick Permissions.** + Kicks a mentioned user. - + `.k "@some Guy" Your behaviour is toxic.` - + mute min Sets the music volume to 0% - + `!!min` - + unmute - Unmutes mentioned user or users. **Needs Mute Permissions.** + Unmutes mentioned user or users. - + `.unmute "@Someguy"` or `.unmute "@Someguy" "@Someguy"` - + deafen deaf - Deafens mentioned user or users. **Needs Deafen Permissions.** + Deafens mentioned user or users. - + `.deaf "@Someguy"` or `.deaf "@Someguy" "@Someguy"` - + undeafen undef - Undeafens mentioned user or users. **Needs Deafen Permissions.** + Undeafens mentioned user or users. - + `.undef "@Someguy"` or `.undef "@Someguy" "@Someguy"` - + delvoichanl dvch - Deletes a voice channel with a given name. **Needs Manage Channel Permissions.** + Deletes a voice channel with a given name. - + `.dvch VoiceChannelName` - + creatvoichanl cvch - Creates a new voice channel with a given name. **Needs Manage Channel Permissions.** + Creates a new voice channel with a given name. - + `.cvch VoiceChannelName` - + deltxtchanl dtch - Deletes a text channel with a given name. **Needs Manage Channel Permissions.** + Deletes a text channel with a given name. - + `.dtch TextChannelName` - + creatxtchanl ctch - Creates a new text channel with a given name. **Needs Manage Channel Permissions.** + Creates a new text channel with a given name. - + `.ctch TextChannelName` - + settopic st - Sets a topic on the current channel. **Needs Manage Channel Permissions.** + Sets a topic on the current channel. - + `.st My new topic` - + setchanlname schn - Changed the name of the current channel. **Needs Manage Channel Permissions.** + Changed the name of the current channel. - + `.schn NewName` - + heap - Shows allocated memory - **Bot Owner Only!** + Shows allocated memory - - + `.heap` - + prune clr - `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. **Needs Manage Messages Permissions** + `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. - + `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` - + die Works only for the owner. Shuts the bot down. - + `@NadekoBot die` - + setname newnm - Give the bot a new name. **Bot Owner Only!** + Give the bot a new name. - + `.newnm BotName` - + newavatar setavatar - Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. **Bot Owner Only!** + Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. - + `.setavatar http://i.imgur.com/xTG3a1I.jpg` - + setgame - Sets the bots game. **Bot Owner Only!** + Sets the bots game. - + `.setgame Playing with kwoth` - + send - Send a message to someone on a different server through the bot. **Bot Owner Only!** + Send a message to someone on a different server through the bot. - + `.send sid - + mentionrole menro Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. - + `.menro RoleName` - + unstuck - Clears the message queue. **Bot Owner Only!** + Clears the message queue. - + `.unstuck` - + donators List of lovely people who donated to keep this project alive. - + `.donators` - + donadd Add a donator to the database. **Kwoth Only** - + `.donadd Donate Amount` - + announce Sends a message to all servers' general channel bot is connected to. - + `.announce Useless spam` - + savechat - Saves a number of messages to a text file and sends it to you. **Bot Owner Only** + Saves a number of messages to a text file and sends it to you. - + `.savechat 150` - + remind Sends a message to you or a channel after certain amount of time. First argument is me/here/'channelname'. Second argument is time in a descending order (mo>w>d>h>m) example: 1w5d3h10m. Third argument is a (multiword)message. - + `.remind me 1d5h Do something` or `.remind #general Start now!` - + remindmsg - Sets message for when the remind is triggered. Available placeholders are %user% - user who ran the command, %message% - Message specified in the remind, %target% - target channel of the remind. **Bot Owner Only!** + Sets message for when the remind is triggered. Available placeholders are %user% - user who ran the command, %message% - Message specified in the remind, %target% - target channel of the remind. - + `.remindmsg do something else` - + serverinfo sinfo Shows info about the server the bot is on. If no channel is supplied, it defaults to current one. - + `.sinfo Some Server` - + channelinfo cinfo Shows info about the channel. If no channel is supplied, it defaults to current one. - + `.cinfo #some-channel` - + userinfo uinfo Shows info about the user. If no user is supplied, it defaults a user running the command. - + `.uinfo @SomeUser` - + whosplaying Shows a list of users who are playing the specified game. - + `.whoplays Overwatch` - + inrole Lists every person from the provided role or roles (separated by a ',') on this server. If the list is too long for 1 message, you must have Manage Messages permission. - + `.inrole Role` - + checkmyperms Checks your userspecific permissions on this channel. - + `.checkmyperms` - + stats Shows some basic stats for Nadeko. - + `.stats` - + dysyd Shows some basic stats for Nadeko. - + `.dysyd` - + userid uid Shows user ID. - + `.uid` or `.uid "@SomeGuy"` - + channelid cid Shows current channel ID. - + `.cid` - + serverid sid Shows current server ID. - + `.sid` - + roles List all roles on this server or a single user if specified. - + `.roles` - + channeltopic ct Sends current channel's topic as a message. - + `.ct` - + chnlfilterinv cfi Enables or disables automatic deleting of invites on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. - + `;cfi enable #general-chat` - + srvrfilterinv sfi Enables or disables automatic deleting of invites on the server. - + `;sfi disable` - + chnlfilterwords cfw Enables or disables automatic deleting of messages containing banned words on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. - + `;cfw enable #general-chat` - + fw Adds or removes (if it exists) a word from the list of filtered words - + `;fw poop` - + rmvfilterword rw Removes the word from the list of filtered words - + `;rw poop` - + lstfilterwords lfw Shows a list of filtered words - + `;lfw` - + srvrfilterwords sfw Enables or disables automatic deleting of messages containing forbidden words on the server. - + `;sfw disable` - + permrole pr Sets a role which can change permissions. Or supply no parameters to find out the current one. Default one is 'Nadeko'. - + `;pr role` - + rolepermscopy rpc Copies BOT PERMISSIONS (not discord permissions) from one role to another. - + `;rpc Some Role ~ Some other role` - + chnlpermscopy cpc Copies BOT PERMISSIONS (not discord permissions) from one channel to another. - + `;cpc Some Channel ~ Some other channel` - + usrpermscopy upc Copies BOT PERMISSIONS (not discord permissions) from one role to another. - + `;upc @SomeUser ~ @SomeOtherUser` - + verbose v Sets whether to show when a command/module is blocked. - + `;verbose true` - + srvrperms sp Shows banned permissions for this server. - + `;sp` - + roleperms rp Shows banned permissions for a certain role. No argument means for everyone. - + `;rp AwesomeRole` - + chnlperms cp Shows banned permissions for a certain channel. No argument means for this channel. - + `;cp #dev` - + userperms up Shows banned permissions for a certain user. No argument means for yourself. - + `;up Kwoth` - + srvrmdl sm Sets a module's permission at the server level. - + `;sm "module name" enable` - + srvrcmd sc Sets a command's permission at the server level. - + `;sc "command name" disable` - + rolemdl rm Sets a module's permission at the role level. - + `;rm "module name" enable MyRole` - + rolecmd rc Sets a command's permission at the role level. - + `;rc "command name" disable MyRole` - + chnlmdl cm Sets a module's permission at the channel level. - + `;cm "module name" enable SomeChannel` - + chnlcmd cc Sets a command's permission at the channel level. - + `;cc "command name" enable SomeChannel` - + usrmdl um Sets a module's permission at the user level. - + `;um "module name" enable SomeUsername` - + usrcmd uc Sets a command's permission at the user level. - + `;uc "command name" enable SomeUsername` - + allsrvrmdls asm Enable or disable all modules for your server. - + `;asm [enable/disable]` - + allchnlmdls acm Enable or disable all modules in a specified channel. - + `;acm enable #SomeChannel` - + allrolemdls arm Enable or disable all modules for a specific role. - + `;arm [enable/disable] MyRole` - + ubl - Blacklists a mentioned user. **Bot Owner Only!** + Blacklists a mentioned user. - + `;ubl [user_mention]` - + uubl - Unblacklists a mentioned user. **Bot Owner Only!** + Unblacklists a mentioned user. - + `;uubl [user_mention]` - + cbl Blacklists a mentioned channel (#general for example). - + `;cbl #some_channel` - + cubl Unblacklists a mentioned channel (#general for example). - + `;cubl #some_channel` - + sbl - Blacklists a server by a name or id (#general for example). **BOT OWNER ONLY** + Blacklists a server by a name or id (#general for example). - + `;sbl [servername/serverid]` - + cmdcooldown cmdcd - Sets a cooldown per user for a command. Set 0 to clear. **Needs Manager Messages Permissions** + Sets a cooldown per user for a command. Set 0 to clear. - + `;cmdcd "some cmd" 5` - + allcmdcooldowns acmdcds Shows a list of all commands and their respective cooldowns. - + `;acmdcds` - + . Adds a new quote with the specified name and message. - + `.. sayhi Hi` - + .. Shows a random quote with a specified name. - + `... abc` - + deletequote delq Deletes all quotes with the specified keyword. You have to either be bot owner or the creator of the quote to delete it. - + `.delq abc` - + rip Shows a grave image of someone with a start year - + `@NadekoBot rip @Someone 2000` - + do you love me Replies with positive answer only to the bot owner. - + `@NadekoBot do you love me` - + how are you Replies positive only if bot owner is online. - + `@NadekoBot how are you` - + fire Shows a unicode fire message. Optional parameter [x] tells her how many times to repeat the fire. - + `@NadekoBot fire [x]` - - dump - - - Dumps all of the invites it can to dump.txt.** Owner Only.** - - - `@NadekoBot dump` - - + draw Draws a card from the deck.If you supply number [x], she draws up to 5 cards from the deck. - + `$draw [x]` - + shuffle sh Shuffles the current playlist. - + `!!sh` - + flip Flips coin(s) - heads or tails, and shows an image. - + `$flip` or `$flip 3` - + betflip bf Bet to guess will the result be heads or tails. Guessing award you double flowers you've bet. - + `$bf 5 heads` or `$bf 3 t` - + roll Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. - + `$roll` or `$roll 7` or `$roll 3d5` - + rolluo Rolls X normal dice (up to 30) unordered. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. - + `$rolluo` or `$rolluo 7` or `$rolluo 3d5` - + nroll Rolls in a given range. - + `$nroll 5` (rolls 0-5) or `$nroll 5-15` - + race Starts a new animal race. - + `$race` - + joinrace jr Joins a new race. You can specify an amount of flowers for betting (optional). You will get YourBet*(participants-1) back if you win. - + `$jr` or `$jr 5` - + raffle Prints a name and ID of a random user from the online list from the (optional) role. - + `$raffle` or `$raffle RoleName` - + give Give someone a certain amount of NadekoFlowers - + `$give 1 "@SomeGuy"` - + award - Gives someone a certain amount of flowers. **Bot Owner Only!** + Gives someone a certain amount of flowers. - + `$award 100 @person` - + take - Takes a certain amount of flowers from someone. **Bot Owner Only!** + Takes a certain amount of flowers from someone. - + `$take 1 "@someguy"` - + betroll br Bets a certain amount of NadekoFlowers and rolls a dice. Rolling over 66 yields x2 flowers, over 90 - x3 and 100 x10. - + `$br 5` - + leaderboard lb Displays bot currency leaderboard - + `$lb` - + trivia t Starts a game of trivia. You can add nohint to prevent hints.First player to get to 10 points wins by default. You can specify a different number. 30 seconds per question. - + `>t nohint` or `>t 5 nohint` - + tl Shows a current trivia leaderboard. - + `>tl` - + tq Quits current trivia after current question. - + `>tq` - + typestart Starts a typing contest. - + `>typestart` - + typestop Stops a typing contest on the current channel. - + `>typestop` - + typeadd - Adds a new article to the typing contest. Owner only. + Adds a new article to the typing contest. - + `>typeadd wordswords` - + poll - Creates a poll, only person who has manage server permission can do it. **Needs Manage Server Permissions** + Creates a poll, only person who has manage server permission can do it. - + `>poll Question?;Answer1;Answ 2;A_3` - + pollend Stops active poll on this server and prints the results in this channel. - + `>pollend` - + pick Picks a flower planted in this channel. - + `>pick` - + plant Spend a flower to plant it in this channel. (If bot is restarted or crashes, flower will be lost) - + `>plant` - + gencurrency gc Toggles currency generation on this channel. Every posted message will have 2% chance to spawn a NadekoFlower. Requires Manage Messages permission. - + `>gc` - + leet Converts a text to leetspeak with 6 (1-6) severity levels - + `>leet 3 Hello` - + choose Chooses a thing from a list of things - + `>choose Get up;Sleep;Sleep more` - + 8ball Ask the 8ball a yes/no question. - + `>8ball should i do something` - + rps Play a game of rocket paperclip scissors with Nadeko. - + `>rps scissors` - + linux Prints a customizable Linux interjection - + `>linux Spyware Windows` - + next n Goes to the next song in the queue. You have to be in the same voice channel as the bot. - + `!!n` - + stop s Stops the music and clears the playlist. Stays in the channel. - + `!!s` - + destroy d Completely stops the music and unbinds the bot from the channel. (may cause weird behaviour) - + `!!d` - + pause p Pauses or Unpauses the song. - + `!!p` - + queue q yq Queue a song using keywords or a link. Bot will join your voice channel.**You must be in a voice channel**. - + `!!q Dream Of Venice` - + soundcloudqueue sq Queue a soundcloud song using keywords. Bot will join your voice channel.**You must be in a voice channel**. - + `!!sq Dream Of Venice` - + listqueue lq Lists 15 currently queued songs per page. Default page is 1. - + `!!lq` or `!!lq 2` - + nowplaying np Shows the song currently playing. - + `!!np` - + volume vol Sets the music volume 0-100% - + `!!vol 50` - + defvol dv Sets the default music volume when music playback is started (0-100). Persists through restarts. - + `!!dv 80` - + max Sets the music volume to 100%. - + `!!max` - + half Sets the music volume to 50%. - + `!!half` - + playlist pl Queues up to 500 songs from a youtube playlist specified by a link, or keywords. - + `!!pl playlist link or name` - + soundcloudpl scpl Queue a soundcloud playlist using a link. - + `!!scpl soundcloudseturl` - + localplaylst lopl - Queues all songs from a directory. **Bot Owner Only!** + Queues all songs from a directory. - + `!!lopl C:/music/classical` - + radio ra Queues a radio stream from a link. It can be a direct mp3 radio stream, .m3u, .pls .asx or .xspf (Usage Video: <https://streamable.com/al54>) - + `!!ra radio link here` - + local lo - Queues a local file by specifying a full path. **Bot Owner Only!** + Queues a local file by specifying a full path. - + `!!lo C:/music/mysong.mp3` - + move mv Moves the bot to your voice channel. (works only if music is already playing) - + `!!mv` - + remove rm Remove a song by its # in the queue, or 'all' to remove whole queue. - + `!!rm 5` - + movesong ms Moves a song from one position to another. - + `!! ms 5>3` - + setmaxqueue smq Sets a maximum queue size. Supply 0 or no argument to have no limit. - + `!!smq 50` or `!!smq` - + cleanup - Cleans up hanging voice connections. **Bot Owner Only!** + Cleans up hanging voice connections. - + `!!cleanup` - + reptcursong rcs Toggles repeat of current song. - + `!!rcs` - + rpeatplaylst rpl Toggles repeat of all songs in the queue (every song that finishes is added to the end of the queue). - + `!!rpl` - + save Saves a playlist under a certain name. Name must be no longer than 20 characters and mustn't contain dashes. - + `!!save classical1` - + load Loads a playlist under a certain name. - + `!!load classical-1` - + playlists pls Lists all playlists. Paginated. 20 per page. Default page is 0. - + `!!pls 1` - + deleteplaylist delpls Deletes a saved playlist. Only if you made it or if you are the bot owner. - + `!!delpls animu-5` - + goto Goes to a specific time in seconds in a song. - + `!!goto 30` - + getlink gl Shows a link to the song in the queue by index, or the currently playing song by default. - + `!!gl` - + autoplay ap Toggles autoplay - When the song is finished, automatically queue a related youtube song. (Works only for youtube songs and when queue is empty) - + `!!ap` - + lolchamp Shows League Of Legends champion statistics. If there are spaces/apostrophes or in the name - omit them. Optional second parameter is a role. - + `~lolchamp Riven` or `~lolchamp Annie sup` - + lolban Shows top banned champions ordered by ban rate. - + `~lolban` - + hitbox hb Notifies this channel when a certain user starts streaming. - + `~hitbox SomeStreamer` - + twitch tw Notifies this channel when a certain user starts streaming. - + `~twitch SomeStreamer` - + beam bm Notifies this channel when a certain user starts streaming. - + `~beam SomeStreamer` - + removestream rms Removes notifications of a certain streamer on this channel. - + `~rms SomeGuy` - + liststreams ls Lists all streams you are following on this server. - + `~ls` - + convert Convert quantities from>to. - + `~convert m>km 1000` - + convertlist List of the convertable dimensions and currencies. - + - + wowjoke Get one of Kwoth's penultimate WoW jokes. - + `~wowjoke` - + calculate calc Evaluate a mathematical expression. - + `~calc 1+1` - + osu Shows osu stats for a player. - + `~osu Name` or `~osu Name taiko` - + osub Shows information about an osu beatmap. - + `~osub https://osu.ppy.sh/s/127712` - + osu5 Displays a user's top 5 plays. - + `~osu5 Name` - + pokemon poke Searches for a pokemon. - + `~poke Sylveon` - + pokemonability pokeab Searches for a pokemon ability. - + `~pokeab "water gun"` - + memelist Pulls a list of memes you can use with `~memegen` from http://memegen.link/templates/ - + `~memelist` - + memegen Generates a meme from memelist with top and bottom text. - + `~memegen biw "gets iced coffee" "in the winter"` - + weather we Shows weather data for a specified city and a country. BOTH ARE REQUIRED. Use country abbrevations. - + `~we Moscow RF` - + youtube yt Searches youtubes and shows the first result - + `~yt query` - + ani anime aq Queries anilist for an anime and shows the first result. - + `~ani aquarion evol` - + imdb Queries imdb for movies or series, show first result. - + `~imdb Batman vs Superman` - + manga mang mq Queries anilist for a manga and shows the first result. - + `~mq Shingeki no kyojin` - + randomcat meow Shows a random cat image. - + `~meow` - + randomdog woof Shows a random dog image. - + `~woof` - + img i Pulls the first image found using a search parameter. Use ~ir for different results. - + `~i cute kitten` - + ir Pulls a random image using a search parameter. - + `~ir cute kitten` - + lmgtfy Google something for an idiot. - + `~lmgtfy query` - + google g Get a google search link for some terms. - + `~google query` - + hearthstone hs Searches for a Hearthstone card and shows its image. Takes a while to complete. - + `~hs Ysera` - + urbandict ud Searches Urban Dictionary for a word. - + `~ud Pineapple` - + # Searches Tagdef.com for a hashtag. - + `~# ff` - + catfact Shows a random catfact from <http://catfacts-api.appspot.com/api/facts> - + `~catfact` - + yomama ym Shows a random joke from <http://api.yomomma.info/> - + `~ym` - + randjoke rj Shows a random joke from <http://tambal.azurewebsites.net/joke/random> - + `~rj` - + chucknorris cn Shows a random chucknorris joke from <http://tambal.azurewebsites.net/joke/random> - + `~cn` - + magicitem mi Shows a random magicitem from <https://1d4chan.org/wiki/List_of_/tg/%27s_magic_items> - + `~mi` - + revav Returns a google reverse image search for someone's avatar. - + `~revav "@SomeGuy"` - + revimg Returns a google reverse image search for an image from a link. - + `~revimg Image link` - + safebooru Shows a random image from safebooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) - + `~safebooru yuri+kissing` - + wikipedia wiki Gives you back a wikipedia link - + `~wiki query` - + clr prune Shows you what color corresponds to that hex. - + `~clr 00ff00` - + videocall Creates a private <http://www.appear.in> video call link for you and other mentioned people. The link is sent to mentioned people via a private message. - + `~videocall "@SomeGuy"` - + av avatar Shows a mentioned person's avatar. - + `~av "@SomeGuy"` - + hentai Shows a random NSFW hentai image from gelbooru and danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) - + `~hentai yuri+kissing` - + danbooru Shows a random hentai image from danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) - + `~danbooru yuri+kissing` - + gelbooru Shows a random hentai image from gelbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) - + `~gelbooru yuri+kissing` - + rule34 Shows a random image from rule34.xx with a given tag. Tag is optional but preffered. (multiple tags are appended with +) - + `~rule34 yuri+kissing` - + e621 Shows a random hentai image from e621.net with a given tag. Tag is optional but preffered. Use spaces for multiple tags. - + `~e621 yuri kissing` - + cp We all know where this will lead you to. - + `~cp` - + boobs Real adult content. - + `~boobs` - + butts ass butt Real adult content. - + `~butts` or `~ass` - + createwar cw Creates a new war by specifying a size (>10 and multiple of 5) and enemy clan name. - + `,cw 15 The Enemy Clan` - + startwar sw Starts a war with a given number. - + `,sw 15` - + listwar lw Shows the active war claims by a number. Shows all wars in a short way if no number is specified. - + `,lw [war_number] or ,lw` - + claim call c Claims a certain base from a certain war. You can supply a name in the third optional argument to claim in someone else's place. - + `,call [war_number] [base_number] [optional_other_name]` - + claimfinish cf cf3 claimfinish3 Finish your claim with 3 stars if you destroyed a base. Optional second argument finishes for someone else. - + `,cf [war_number] [optional_other_name]` - + claimfinish2 cf2 Finish your claim with 2 stars if you destroyed a base. Optional second argument finishes for someone else. - + `,cf [war_number] [optional_other_name]` - + claimfinish1 cf1 Finish your claim with 1 stars if you destroyed a base. Optional second argument finishes for someone else. - + `,cf [war_number] [optional_other_name]` - + unclaim ucall uc Removes your claim from a certain war. Optional second argument denotes a person in whose place to unclaim - + `,uc [war_number] [optional_other_name]` - + endwar ew Ends the war with a given index. - + `,ew [war_number]` - + attack Attacks a target with the given move. Use `>movelist` to see a list of moves your type can use. - + `>attack "vine whip" @someguy` - + movelist ml Lists the moves you are able to use - + `>ml` - + heal Heals someone. Revives those who fainted. Costs a NadekoFlower - + `>heal @someone` - + type Get the poketype of the target. - + `>type @someone` - + settype Set your poketype. Costs a NadekoFlower. - + `>settype fire` - + translate trans Translates from>to text. From the given language to the destiation language. - + `~trans en>fr Hello` - + translangs List the valid languages for translation. - + `~translangs` or `~translangs language` - + bind - Bind a trello bot to a single channel. You will receive notifications from your board when something is added or edited. **Bot Owner Only!** + Bind a trello bot to a single channel. You will receive notifications from your board when something is added or edited. - + `trello bind [board_id]` - + unbind - Unbinds a bot from the channel and board. **Bot Owner Only!** + Unbinds a bot from the channel and board. - + `trello unbind` - + lists list - Lists all lists, yo ;) **Bot Owner Only!** + Lists all lists, yo ;) - + `trello list` - + cards - Lists all cards from the supplied list. You can supply either a name or an index. **Bot Owner Only!** + Lists all cards from the supplied list. You can supply either a name or an index. - + `trello cards index` Sends a readme and a guide links to the channel. - + `-readme` or `-guide` - + readme guide Shows all available operations in .calc command - + `.calcops` - + calcops Deletes all quotes on a specified keyword. - + `.delallq` - + delallq daq - + greetdmmsg - + `.greetdmmsg Welcome to the server, %user%`. - Sets a new join announcement message which will be sent to the user who joined. Type %user% if you want to mention the new member. Using it with no message will show the current DM greet message. **Needs Manage Server Permissions.** + Sets a new join announcement message which will be sent to the user who joined. Type %user% if you want to mention the new member. Using it with no message will show the current DM greet message. Check how much NadekoFlowers a person has. (Defaults to yourself) - + `$$$` or `$$$ @SomeGuy` - + cash $$ Lists whole permission chain with their indexes. - + `;lp` - + listperms lp Enable or disable all modules for a specific user. - + `;aum enable @someone` - + allusrmdls aum Moves permission from one position to another. - + `;mp 2 4` - + moveperm mp Removes a permission from a given position - + `;rp 1` - + removeperm rp Migrate data from old bot configuration - + `.migratedata` - + migratedata Checks if a user is online on a certain streaming platform. - + `~cs twitch MyFavStreamer` - + checkstream cs \ No newline at end of file From 755d793150ac386c550a9af45ac0f61deac75216 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 5 Oct 2016 07:01:19 +0200 Subject: [PATCH 040/135] Safety --- .../Modules/Administration/Administration.cs | 26 +++-- .../Commands/CrossServerTextChannel.cs | 9 +- .../Administration/Commands/LogCommand.cs | 16 +-- .../Commands/MessageRepeater.cs | 6 +- .../Commands/ServerGreetCommands.cs | 32 ++++-- .../Commands/VoicePlusTextCommands.cs | 4 +- .../Modules/ClashOfClans/ClashOfClans.cs | 4 +- .../Modules/Gambling/Commands/AnimalRacing.cs | 23 ++-- .../Gambling/Commands/DiceRollCommand.cs | 3 +- .../Modules/Gambling/Commands/DrawCommand.cs | 108 ++++++++++-------- .../Games/Commands/PlantAndPickCommands.cs | 15 ++- .../Modules/Games/Commands/PollCommands.cs | 13 +-- .../Games/Commands/SpeedTypingCommands.cs | 53 +++++---- .../Games/Commands/Trivia/TriviaGame.cs | 20 ++-- src/NadekoBot/Modules/Music/Music.cs | 48 ++++---- .../Permissions/Commands/BlacklistCommands.cs | 10 ++ .../Modules/Searches/Commands/OsuCommands.cs | 3 +- .../Commands/StreamNotificationCommands.cs | 6 +- .../Modules/Utility/Commands/QuoteCommands.cs | 13 ++- .../Modules/Utility/Commands/Remind.cs | 13 +-- src/NadekoBot/Resources/CommandStrings.resx | 32 ++---- src/NadekoBot/Services/CurrencyHandler.cs | 4 +- src/NadekoBot/TypeReaders/GuildTypeReader.cs | 5 +- 23 files changed, 242 insertions(+), 224 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index c48ab530..5f5a7d5d 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -42,14 +42,14 @@ namespace NadekoBot.Modules.Administration } if (shouldDelete) - await e.Message.DeleteAsync(); + await e.Message.DeleteAsync().ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex, "Delmsgoncmd errored..."); } } - + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] @@ -57,9 +57,10 @@ namespace NadekoBot.Modules.Administration { var channel = (ITextChannel)umsg.Channel; - await channel.SendMessageAsync("`Restarting in 2 seconds...`"); - await Task.Delay(2000); - System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo { + await channel.SendMessageAsync("`Restarting in 2 seconds...`").ConfigureAwait(false); + await Task.Delay(2000).ConfigureAwait(false); + System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo + { Arguments = "dotnet " + System.Reflection.Assembly.GetEntryAssembly().Location }); Environment.Exit(0); @@ -80,9 +81,9 @@ namespace NadekoBot.Modules.Administration await uow.CompleteAsync(); } if (conf.DeleteMessageOnCommand) - await channel.SendMessageAsync("❗`Now automatically deleting successfull command invokations.`"); + await channel.SendMessageAsync("❗`Now automatically deleting successfull command invokations.`").ConfigureAwait(false); else - await channel.SendMessageAsync("❗`Stopped automatic deletion of successfull command invokations.`"); + await channel.SendMessageAsync("❗`Stopped automatic deletion of successfull command invokations.`").ConfigureAwait(false); } [NadekoCommand, Usage, Description, Aliases] @@ -504,7 +505,7 @@ namespace NadekoBot.Modules.Administration { var channel = (ITextChannel)umsg.Channel; - await channel.SendMessageAsync("`Shutting down.`").ConfigureAwait(false); + try { await channel.SendMessageAsync("`Shutting down.`").ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } await Task.Delay(2000).ConfigureAwait(false); Environment.Exit(0); } @@ -589,7 +590,7 @@ namespace NadekoBot.Modules.Administration { return; } - await ch.SendMessageAsync(msg); + await ch.SendMessageAsync(msg).ConfigureAwait(false); } else if (ids[1].ToUpperInvariant().StartsWith("U:")) { @@ -599,11 +600,11 @@ namespace NadekoBot.Modules.Administration { return; } - await user.SendMessageAsync(msg); + await user.SendMessageAsync(msg).ConfigureAwait(false); } else { - await channel.SendMessageAsync("`Invalid format.`"); + await channel.SendMessageAsync("`Invalid format.`").ConfigureAwait(false); } } @@ -618,7 +619,8 @@ namespace NadekoBot.Modules.Administration g.GetDefaultChannelAsync() )).ConfigureAwait(false); - await Task.WhenAll(channels.Select(c => c.SendMessageAsync($"`Message from {umsg.Author} (Bot Owner):` " + message))); + await Task.WhenAll(channels.Select(c => c.SendMessageAsync($"`Message from {umsg.Author} (Bot Owner):` " + message))) + .ConfigureAwait(false); await channel.SendMessageAsync(":ok:").ConfigureAwait(false); } diff --git a/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs b/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs index 9c830023..bc2821ed 100644 --- a/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs +++ b/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs @@ -4,6 +4,7 @@ using Discord.WebSocket; using NadekoBot.Attributes; using NadekoBot.Extensions; using NadekoBot.Services; +using NLog; using System; using System.Collections.Concurrent; using System.Collections.Generic; @@ -19,6 +20,7 @@ namespace NadekoBot.Modules.Administration { public CrossServerTextChannel() { + _log = LogManager.GetCurrentClassLogger(); NadekoBot.Client.MessageReceived += (imsg) => { var msg = imsg as IUserMessage; @@ -31,8 +33,6 @@ namespace NadekoBot.Modules.Administration Task.Run(async () => { - try - { if (msg.Author.Id == NadekoBot.Client.GetCurrentUser().Id) return; foreach (var subscriber in Subscribers) { @@ -41,11 +41,9 @@ namespace NadekoBot.Modules.Administration continue; foreach (var chan in set.Except(new[] { channel })) { - await chan.SendMessageAsync(GetText(channel.Guild, channel, (IGuildUser)msg.Author, msg)).ConfigureAwait(false); + try { await chan.SendMessageAsync(GetText(channel.Guild, channel, (IGuildUser)msg.Author, msg)).ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } } } - } - catch { } }); return Task.CompletedTask; }; @@ -55,6 +53,7 @@ namespace NadekoBot.Modules.Administration $"**{server.Name} | {channel.Name}** `{user.Username}`: " + message.Content; public static readonly ConcurrentDictionary> Subscribers = new ConcurrentDictionary>(); + private Logger _log { get; } [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] diff --git a/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs b/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs index d9abdaa0..05de36b0 100644 --- a/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs +++ b/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs @@ -168,7 +168,7 @@ namespace NadekoBot.Modules.Administration var task = Task.Run(async () => { - await logChannel.SendMessageAsync($"❗`{prettyCurrentTime}` `{(ch is IVoiceChannel ? "Voice" : "Text")} Channel Deleted:` **#{ch.Name}** ({ch.Id})").ConfigureAwait(false); + try { await logChannel.SendMessageAsync($"❗`{prettyCurrentTime}` `{(ch is IVoiceChannel ? "Voice" : "Text")} Channel Deleted:` **#{ch.Name}** ({ch.Id})").ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } }); return Task.CompletedTask; @@ -192,7 +192,7 @@ namespace NadekoBot.Modules.Administration var task = Task.Run(async () => { - await logChannel.SendMessageAsync($"`{prettyCurrentTime}`🆕`{(ch is IVoiceChannel ? "Voice" : "Text")} Channel Created:` **#{ch.Name}** ({ch.Id})").ConfigureAwait(false); + try { await logChannel.SendMessageAsync($"`{prettyCurrentTime}`🆕`{(ch is IVoiceChannel ? "Voice" : "Text")} Channel Created:` **#{ch.Name}** ({ch.Id})").ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } }); return Task.CompletedTask; @@ -275,7 +275,7 @@ namespace NadekoBot.Modules.Administration var task = Task.Run(async () => { - await logChannel.SendMessageAsync($"`{prettyCurrentTime}`❗`User left:` **{usr.Username}** ({usr.Id})").ConfigureAwait(false); + try { await logChannel.SendMessageAsync($"`{prettyCurrentTime}`❗`User left:` **{usr.Username}** ({usr.Id})").ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } }); return Task.CompletedTask; @@ -295,7 +295,7 @@ namespace NadekoBot.Modules.Administration var task = Task.Run(async () => { - await logChannel.SendMessageAsync($"`{prettyCurrentTime}`❗`User joined:` **{usr.Username}** ({usr.Id})").ConfigureAwait(false); + try { await logChannel.SendMessageAsync($"`{prettyCurrentTime}`❗`User joined:` **{usr.Username}** ({usr.Id})").ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } }); return Task.CompletedTask; @@ -315,7 +315,7 @@ namespace NadekoBot.Modules.Administration var task = Task.Run(async () => { - await logChannel.SendMessageAsync($"`{prettyCurrentTime}`♻`User unbanned:` **{usr.Username}** ({usr.Id})").ConfigureAwait(false); + try { await logChannel.SendMessageAsync($"`{prettyCurrentTime}`♻`User unbanned:` **{usr.Username}** ({usr.Id})").ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } }); return Task.CompletedTask; @@ -335,7 +335,7 @@ namespace NadekoBot.Modules.Administration var task = Task.Run(async () => { - await logChannel.SendMessageAsync($"❗`{prettyCurrentTime}`❌`User banned:` **{usr.Username}** ({usr.Id})").ConfigureAwait(false); + try { await logChannel.SendMessageAsync($"❗`{prettyCurrentTime}`❌`User banned:` **{usr.Username}** ({usr.Id})").ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } }); return Task.CompletedTask; @@ -399,10 +399,10 @@ namespace NadekoBot.Modules.Administration var task = Task.Run(async () => { - await logChannel.SendMessageAsync($@"🕔`{prettyCurrentTime}` **Message** 📝 `#{channel.Name}` + try { await logChannel.SendMessageAsync($@"🕔`{prettyCurrentTime}` **Message** 📝 `#{channel.Name}` 👤`{before.Author.Username}` `Old:` {before.Resolve(userHandling: UserMentionHandling.NameAndDiscriminator)} - `New:` {after.Resolve(userHandling: UserMentionHandling.NameAndDiscriminator)}").ConfigureAwait(false); + `New:` {after.Resolve(userHandling: UserMentionHandling.NameAndDiscriminator)}").ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } }); return Task.CompletedTask; diff --git a/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs b/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs index 9e7ffa61..0a7ba01d 100644 --- a/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs +++ b/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs @@ -5,6 +5,7 @@ using NadekoBot.Attributes; using NadekoBot.Services; using NadekoBot.Services.Database; using NadekoBot.Services.Database.Models; +using NLog; using System; using System.Collections.Concurrent; using System.Collections.Generic; @@ -23,6 +24,8 @@ namespace NadekoBot.Modules.Administration public class RepeatRunner { + private Logger _log { get; } + private CancellationTokenSource source { get; set; } private CancellationToken token { get; set; } public Repeater Repeater { get; } @@ -30,6 +33,7 @@ namespace NadekoBot.Modules.Administration public RepeatRunner(Repeater repeater, ITextChannel channel = null) { + _log = LogManager.GetCurrentClassLogger(); this.Repeater = repeater; this.Channel = channel ?? NadekoBot.Client.GetGuild(repeater.GuildId)?.GetTextChannel(repeater.ChannelId); if (Channel == null) @@ -47,7 +51,7 @@ namespace NadekoBot.Modules.Administration while (!token.IsCancellationRequested) { await Task.Delay(Repeater.Interval, token).ConfigureAwait(false); - await Channel.SendMessageAsync("🔄 " + Repeater.Message).ConfigureAwait(false); + try { await Channel.SendMessageAsync("🔄 " + Repeater.Message).ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } } } catch (OperationCanceledException) { } diff --git a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs index c156c8e1..735f7e0f 100644 --- a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs @@ -4,6 +4,7 @@ using NadekoBot.Attributes; using NadekoBot.Services; using NadekoBot.Services.Database.Models; using NLog; +using System; using System.Collections.Concurrent; using System.Linq; using System.Threading.Tasks; @@ -44,16 +45,19 @@ namespace NadekoBot.Modules.Administration var msg = conf.ChannelByeMessageText.Replace("%user%", "**" + user.Username + "**"); if (string.IsNullOrWhiteSpace(msg)) return; - - var toDelete = await channel.SendMessageAsync(msg).ConfigureAwait(false); - if (conf.AutoDeleteByeMessages) + try { - var t = Task.Run(async () => + var toDelete = await channel.SendMessageAsync(msg).ConfigureAwait(false); + if (conf.AutoDeleteByeMessages) { - await Task.Delay(conf.AutoDeleteGreetMessagesTimer * 1000).ConfigureAwait(false); // 5 minutes - await toDelete.DeleteAsync().ConfigureAwait(false); - }); + var t = Task.Run(async () => + { + await Task.Delay(conf.AutoDeleteGreetMessagesTimer * 1000).ConfigureAwait(false); // 5 minutes + await toDelete.DeleteAsync().ConfigureAwait(false); + }); + } } + catch (Exception ex) { _log.Warn(ex); } }); return Task.CompletedTask; } @@ -76,15 +80,19 @@ namespace NadekoBot.Modules.Administration var msg = conf.ChannelGreetMessageText.Replace("%user%", user.Username).Replace("%server%", user.Guild.Name); if (!string.IsNullOrWhiteSpace(msg)) { - var toDelete = await channel.SendMessageAsync(msg).ConfigureAwait(false); - if (conf.AutoDeleteGreetMessages) + try { - var t = Task.Run(async () => + var toDelete = await channel.SendMessageAsync(msg).ConfigureAwait(false); + if (conf.AutoDeleteGreetMessages) { - await Task.Delay(conf.AutoDeleteGreetMessagesTimer * 1000).ConfigureAwait(false); // 5 minutes + var t = Task.Run(async () => + { + await Task.Delay(conf.AutoDeleteGreetMessagesTimer * 1000).ConfigureAwait(false); // 5 minutes await toDelete.DeleteAsync().ConfigureAwait(false); - }); + }); + } } + catch (Exception ex) { _log.Warn(ex); } } } } diff --git a/src/NadekoBot/Modules/Administration/Commands/VoicePlusTextCommands.cs b/src/NadekoBot/Modules/Administration/Commands/VoicePlusTextCommands.cs index 06f30700..9696c188 100644 --- a/src/NadekoBot/Modules/Administration/Commands/VoicePlusTextCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/VoicePlusTextCommands.cs @@ -148,7 +148,7 @@ namespace NadekoBot.Modules.Administration var guild = channel.Guild; if (!guild.GetCurrentUser().GuildPermissions.ManageChannels) { - await channel.SendMessageAsync("`I have insufficient permission to do that.`"); + await channel.SendMessageAsync("`I have insufficient permission to do that.`").ConfigureAwait(false); return; } @@ -163,7 +163,7 @@ namespace NadekoBot.Modules.Administration await Task.Delay(500); } - await channel.SendMessageAsync("`Done.`"); + await channel.SendMessageAsync("`Done.`").ConfigureAwait(false); } } } diff --git a/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs b/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs index f817fe5c..b4254162 100644 --- a/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs +++ b/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs @@ -45,9 +45,9 @@ namespace NadekoBot.Modules.ClashOfClans if (Bases[i] == null) continue; if (!Bases[i].BaseDestroyed && DateTime.UtcNow - Bases[i].TimeAdded >= callExpire) { - await war.Channel.SendMessageAsync($"❗🔰**Claim from @{Bases[i].CallUser} for a war against {war.ShortPrint()} has expired.**").ConfigureAwait(false); Bases[i] = null; - } + try { await war.Channel.SendMessageAsync($"❗🔰**Claim from @{Bases[i].CallUser} for a war against {war.ShortPrint()} has expired.**").ConfigureAwait(false); } catch { } + } } } diff --git a/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs b/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs index 7b00bb4b..649fe8fa 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs @@ -4,6 +4,7 @@ using NadekoBot.Attributes; using NadekoBot.Extensions; using NadekoBot.Services; using NadekoBot.Services.Database; +using NLog; using System; using System.Collections.Concurrent; using System.Collections.Generic; @@ -47,7 +48,7 @@ namespace NadekoBot.Modules.Gambling if (amount > 0) if(!await CurrencyHandler.RemoveCurrencyAsync((IGuildUser)umsg.Author, "BetRace", amount, true).ConfigureAwait(false)) - await channel.SendMessageAsync($"{umsg.Author.Mention} You don't have enough {Gambling.CurrencyName}s.").ConfigureAwait(false); + try { await channel.SendMessageAsync($"{umsg.Author.Mention} You don't have enough {Gambling.CurrencyName}s.").ConfigureAwait(false); } catch { } AnimalRace ar; @@ -69,12 +70,14 @@ namespace NadekoBot.Modules.Gambling public List participants = new List(); private ulong serverId; private int messagesSinceGameStarted = 0; + private Logger _log { get; } public ITextChannel raceChannel { get; set; } public bool Started { get; private set; } = false; public AnimalRace(ulong serverId, ITextChannel ch) { + this._log = LogManager.GetCurrentClassLogger(); this.serverId = serverId; this.raceChannel = ch; if (!AnimalRaces.TryAdd(serverId, this)) @@ -85,7 +88,7 @@ namespace NadekoBot.Modules.Gambling using (var uow = DbHandler.UnitOfWork()) { - animals = new ConcurrentQueue(uow.BotConfig.GetOrCreate().RaceAnimals.Select(ra=>ra.Icon).Shuffle()); + animals = new ConcurrentQueue(uow.BotConfig.GetOrCreate().RaceAnimals.Select(ra => ra.Icon).Shuffle()); } @@ -96,23 +99,23 @@ namespace NadekoBot.Modules.Gambling { try { - await raceChannel.SendMessageAsync($"🏁`Race is starting in 20 seconds or when the room is full. Type {NadekoBot.ModulePrefixes[typeof(Gambling).Name]}jr to join the race.`"); + try { await raceChannel.SendMessageAsync($"🏁`Race is starting in 20 seconds or when the room is full. Type {NadekoBot.ModulePrefixes[typeof(Gambling).Name]}jr to join the race.`"); } catch (Exception ex) { _log.Warn(ex); } var t = await Task.WhenAny(Task.Delay(20000, token), fullgame); Started = true; cancelSource.Cancel(); if (t == fullgame) { - await raceChannel.SendMessageAsync("🏁`Race full, starting right now!`"); + try { await raceChannel.SendMessageAsync("🏁`Race full, starting right now!`"); } catch (Exception ex) { _log.Warn(ex); } } else if (participants.Count > 1) { - await raceChannel.SendMessageAsync("🏁`Game starting with " + participants.Count + " participants.`"); + try { await raceChannel.SendMessageAsync("🏁`Game starting with " + participants.Count + " participants.`"); } catch (Exception ex) { _log.Warn(ex); } } else { - await raceChannel.SendMessageAsync("🏁`Race failed to start since there was not enough participants.`"); + try { await raceChannel.SendMessageAsync("🏁`Race failed to start since there was not enough participants.`"); } catch (Exception ex) { _log.Warn(ex); } var p = participants.FirstOrDefault(); - + if (p != null) await CurrencyHandler.AddCurrencyAsync(p.User, "BetRace", p.AmountBet, true).ConfigureAwait(false); End(); @@ -169,11 +172,13 @@ namespace NadekoBot.Modules.Gambling { if (msg != null) try { await msg.DeleteAsync(); } catch { } - msg = await raceChannel.SendMessageAsync(text).ConfigureAwait(false); messagesSinceGameStarted = 0; + try { msg = await raceChannel.SendMessageAsync(text).ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } } else - await msg.ModifyAsync(m => m.Content = text).ConfigureAwait(false); + { + try { await msg.ModifyAsync(m => m.Content = text).ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } + } await Task.Delay(2500); } diff --git a/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs index d1e4aab6..a6e6a8ba 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs @@ -89,7 +89,6 @@ namespace NadekoBot.Modules.Gambling if (num < 1 || num > 30) { await channel.SendMessageAsync("Invalid number specified. You can roll up to 1-30 dice at a time.").ConfigureAwait(false); - num = 30; return; } @@ -173,7 +172,7 @@ namespace NadekoBot.Modules.Gambling if (num < 1 || num > 30) { await channel.SendMessageAsync("Invalid number specified. You can roll up to 1-30 dice at a time.").ConfigureAwait(false); - num = 30; + return; } var rng = new NadekoRandom(); diff --git a/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs index 69649b78..410d0cd1 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs @@ -4,6 +4,7 @@ using ImageProcessorCore; using NadekoBot.Attributes; using NadekoBot.Extensions; using NadekoBot.Modules.Gambling.Models; +using NLog; using System; using System.Collections.Concurrent; using System.Collections.Generic; @@ -12,59 +13,70 @@ using System.Threading.Tasks; namespace NadekoBot.Modules.Gambling { - [Group] - public class DrawCommands + public partial class Gambling { - private static readonly ConcurrentDictionary AllDecks = new ConcurrentDictionary(); - - private const string cardsPath = "data/images/cards"; - [NadekoCommand, Usage, Description, Aliases] - [RequireContext(ContextType.Guild)] - public async Task Draw(IUserMessage msg) + [Group] + public class DrawCommands { - var channel = (ITextChannel)msg.Channel; - var cards = AllDecks.GetOrAdd(channel.Guild, (s) => new Cards()); - - var num = 1; - var images = new List(); - var cardObjects = new List(); - for (var i = 0; i < num; i++) + private static readonly ConcurrentDictionary AllDecks = new ConcurrentDictionary(); + + + public DrawCommands() { - if (cards.CardPool.Count == 0 && i != 0) + _log = LogManager.GetCurrentClassLogger(); + } + + private const string cardsPath = "data/images/cards"; + private Logger _log { get; } + + [NadekoCommand, Usage, Description, Aliases] + [RequireContext(ContextType.Guild)] + public async Task Draw(IUserMessage msg) + { + var channel = (ITextChannel)msg.Channel; + var cards = AllDecks.GetOrAdd(channel.Guild, (s) => new Cards()); + + var num = 1; + var images = new List(); + var cardObjects = new List(); + for (var i = 0; i < num; i++) { - await channel.SendMessageAsync("No more cards in a deck.").ConfigureAwait(false); - break; - } - var currentCard = cards.DrawACard(); - cardObjects.Add(currentCard); - using (var stream = File.OpenRead(Path.Combine(cardsPath, currentCard.GetName()))) - images.Add(new Image(stream)); - } - MemoryStream bitmapStream = new MemoryStream(); - images.Merge().SaveAsPng(bitmapStream); - bitmapStream.Position = 0; - await channel.SendFileAsync(bitmapStream, images.Count + " cards.jpg", $"{msg.Author.Mention} drew (TODO: CARD NAMES HERE)").ConfigureAwait(false); - if (cardObjects.Count == 5) - { - await channel.SendMessageAsync($"{msg.Author.Mention} `{Cards.GetHandValue(cardObjects)}`").ConfigureAwait(false); - } - } - - [NadekoCommand, Usage, Description, Aliases] - [RequireContext(ContextType.Guild)] - public async Task Shuffle(IUserMessage imsg) - { - var channel = (ITextChannel)imsg.Channel; - - AllDecks.AddOrUpdate(channel.Guild, - (g) => new Cards(), - (g, c) => + if (cards.CardPool.Count == 0 && i != 0) { - c.Restart(); - return c; - }); + try { await channel.SendMessageAsync("No more cards in a deck.").ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } + break; + } + var currentCard = cards.DrawACard(); + cardObjects.Add(currentCard); + using (var stream = File.OpenRead(Path.Combine(cardsPath, currentCard.GetName()))) + images.Add(new Image(stream)); + } + MemoryStream bitmapStream = new MemoryStream(); + images.Merge().SaveAsPng(bitmapStream); + bitmapStream.Position = 0; + await channel.SendFileAsync(bitmapStream, images.Count + " cards.jpg", $"{msg.Author.Mention} drew (TODO: CARD NAMES HERE)").ConfigureAwait(false); + if (cardObjects.Count == 5) + { + await channel.SendMessageAsync($"{msg.Author.Mention} `{Cards.GetHandValue(cardObjects)}`").ConfigureAwait(false); + } + } - await channel.SendMessageAsync("`Deck reshuffled.`").ConfigureAwait(false); + [NadekoCommand, Usage, Description, Aliases] + [RequireContext(ContextType.Guild)] + public async Task Shuffle(IUserMessage imsg) + { + var channel = (ITextChannel)imsg.Channel; + + AllDecks.AddOrUpdate(channel.Guild, + (g) => new Cards(), + (g, c) => + { + c.Restart(); + return c; + }); + + await channel.SendMessageAsync("`Deck reshuffled.`").ConfigureAwait(false); + } } } -} +} \ No newline at end of file diff --git a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs index 1a2da238..9bde265a 100644 --- a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs @@ -5,6 +5,7 @@ using NadekoBot.Attributes; using NadekoBot.Extensions; using NadekoBot.Services; using NadekoBot.Services.Database; +using NLog; using System; using System.Collections.Concurrent; using System.Collections.Generic; @@ -40,9 +41,11 @@ namespace NadekoBot.Modules.Games private float chance; private int cooldown; + private Logger _log { get; } public PlantPickCommands() { + _log = LogManager.GetCurrentClassLogger(); NadekoBot.Client.MessageReceived += PotentialFlowerGeneration; rng = new NadekoRandom(); @@ -121,14 +124,10 @@ namespace NadekoBot.Modules.Games await CurrencyHandler.AddCurrencyAsync((IGuildUser)imsg.Author, "Picked flower(s).", msgs.Count, false).ConfigureAwait(false); var msg = await channel.SendMessageAsync($"**{imsg.Author.Username}** picked {msgs.Count}{Gambling.Gambling.CurrencySign}!").ConfigureAwait(false); var t = Task.Run(async () => - { - try - { - await Task.Delay(10000).ConfigureAwait(false); - await msg.DeleteAsync().ConfigureAwait(false); - } - catch { } - }); + { + await Task.Delay(10000).ConfigureAwait(false); + try { await msg.DeleteAsync().ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } + }); } [NadekoCommand, Usage, Description, Aliases] diff --git a/src/NadekoBot/Modules/Games/Commands/PollCommands.cs b/src/NadekoBot/Modules/Games/Commands/PollCommands.cs index c8318cc2..e641ee74 100644 --- a/src/NadekoBot/Modules/Games/Commands/PollCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/PollCommands.cs @@ -124,17 +124,12 @@ namespace NadekoBot.Modules.Games var t = Task.Run(async () => { - try + if (vote < 1 || vote > answers.Length) + return; + if (participants.TryAdd(msg.Author, vote)) { - - if (vote < 1 || vote > answers.Length) - return; - if (participants.TryAdd(msg.Author, vote)) - { - await (ch as ITextChannel).SendMessageAsync($"Thanks for voting **{msg.Author.Username}**.").ConfigureAwait(false); - } + try { await (ch as ITextChannel).SendMessageAsync($"Thanks for voting **{msg.Author.Username}**.").ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } } - catch { } }); return Task.CompletedTask; } diff --git a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs index 0545386c..d18621a7 100644 --- a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs @@ -5,6 +5,7 @@ using NadekoBot.Attributes; using NadekoBot.Extensions; using NadekoBot.Services; using NadekoBot.Services.Database; +using NLog; using System; using System.Collections.Concurrent; using System.Collections.Generic; @@ -24,9 +25,11 @@ namespace NadekoBot.Modules.Games public bool IsActive; private readonly Stopwatch sw; private readonly List finishedUserIds; + private Logger _log { get; } public TypingGame(ITextChannel channel) { + _log = LogManager.GetCurrentClassLogger(); this.channel = channel; IsActive = false; sw = new Stopwatch(); @@ -43,41 +46,43 @@ namespace NadekoBot.Modules.Games IsActive = false; sw.Stop(); sw.Reset(); - await channel.SendMessageAsync("Typing contest stopped").ConfigureAwait(false); + try { await channel.SendMessageAsync("Typing contest stopped").ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } return true; } public async Task Start() { - while (true) + if (IsActive) return; // can't start running game + IsActive = true; + CurrentSentence = GetRandomSentence(); + var i = (int)(CurrentSentence.Length / WORD_VALUE * 1.7f); + await channel.SendMessageAsync($@":clock2: Next contest will last for {i} seconds. Type the bolded text as fast as you can.").ConfigureAwait(false); + + + var msg = await channel.SendMessageAsync("Starting new typing contest in **3**...").ConfigureAwait(false); + await Task.Delay(1000).ConfigureAwait(false); + try { - if (IsActive) return; // can't start running game - IsActive = true; - CurrentSentence = GetRandomSentence(); - var i = (int)(CurrentSentence.Length / WORD_VALUE * 1.7f); - await channel.SendMessageAsync($":clock2: Next contest will last for {i} seconds. Type the bolded text as fast as you can.").ConfigureAwait(false); - - - var msg = await channel.SendMessageAsync("Starting new typing contest in **3**...").ConfigureAwait(false); - await Task.Delay(1000).ConfigureAwait(false); await msg.ModifyAsync(m => m.Content = "Starting new typing contest in **2**...").ConfigureAwait(false); await Task.Delay(1000).ConfigureAwait(false); await msg.ModifyAsync(m => m.Content = "Starting new typing contest in **1**...").ConfigureAwait(false); await Task.Delay(1000).ConfigureAwait(false); - await msg.ModifyAsync(m => m.Content = $":book:**{CurrentSentence.Replace(" ", " \x200B")}**:book:").ConfigureAwait(false); - sw.Start(); - HandleAnswers(); - - while (i > 0) - { - await Task.Delay(1000).ConfigureAwait(false); - i--; - if (!IsActive) - return; - } - - await Stop().ConfigureAwait(false); } + catch (Exception ex) { _log.Warn(ex); } + + await msg.ModifyAsync(m => m.Content = $":book:**{CurrentSentence.Replace(" ", " \x200B")}**:book:").ConfigureAwait(false); + sw.Start(); + HandleAnswers(); + + while (i > 0) + { + await Task.Delay(1000).ConfigureAwait(false); + i--; + if (!IsActive) + return; + } + + await Stop().ConfigureAwait(false); } public string GetRandomSentence() diff --git a/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs b/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs index 6a68368f..9ca62599 100644 --- a/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs +++ b/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs @@ -1,5 +1,7 @@ using Discord; using NadekoBot.Extensions; +using NLog; +using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; @@ -12,6 +14,7 @@ namespace NadekoBot.Modules.Games.Trivia public class TriviaGame { private readonly SemaphoreSlim _guessLock = new SemaphoreSlim(1, 1); + private Logger _log { get; } public IGuild guild { get; } public ITextChannel channel { get; } @@ -33,6 +36,7 @@ namespace NadekoBot.Modules.Games.Trivia public TriviaGame(IGuild guild, ITextChannel channel, bool showHints, int winReq = 10) { + _log = LogManager.GetCurrentClassLogger(); ShowHints = showHints; this.guild = guild; this.channel = channel; @@ -51,13 +55,13 @@ namespace NadekoBot.Modules.Games.Trivia CurrentQuestion = TriviaQuestionPool.Instance.GetRandomQuestion(oldQuestions); if (CurrentQuestion == null) { - await channel.SendMessageAsync($":exclamation: Failed loading a trivia question").ConfigureAwait(false); + try { await channel.SendMessageAsync($":exclamation: Failed loading a trivia question").ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } await End().ConfigureAwait(false); return; } oldQuestions.Add(CurrentQuestion); //add it to exclusion list so it doesn't show up again //sendquestion - await channel.SendMessageAsync($":question: **{CurrentQuestion.Question}**").ConfigureAwait(false); + try { await channel.SendMessageAsync($":question: **{CurrentQuestion.Question}**").ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } //receive messages NadekoBot.Client.MessageReceived += PotentialGuess; @@ -70,7 +74,7 @@ namespace NadekoBot.Modules.Games.Trivia //hint await Task.Delay(HintTimeoutMiliseconds, token).ConfigureAwait(false); if (ShowHints) - await channel.SendMessageAsync($":exclamation:**Hint:** {CurrentQuestion.GetHint()}").ConfigureAwait(false); + try { await channel.SendMessageAsync($":exclamation:**Hint:** {CurrentQuestion.GetHint()}").ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } //timeout await Task.Delay(QuestionDurationMiliseconds - HintTimeoutMiliseconds, token).ConfigureAwait(false); @@ -79,7 +83,7 @@ namespace NadekoBot.Modules.Games.Trivia catch (TaskCanceledException) { } //means someone guessed the answer GameActive = false; if (!triviaCancelSource.IsCancellationRequested) - await channel.SendMessageAsync($":clock2: :question: **Time's up!** The correct answer was **{CurrentQuestion.Answer}**").ConfigureAwait(false); + try { await channel.SendMessageAsync($":clock2: :question: **Time's up!** The correct answer was **{CurrentQuestion.Answer}**").ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } NadekoBot.Client.MessageReceived -= PotentialGuess; // load next question if game is still running await Task.Delay(2000).ConfigureAwait(false); @@ -96,7 +100,7 @@ namespace NadekoBot.Modules.Games.Trivia public async Task StopGame() { if (!ShouldStopGame) - await channel.SendMessageAsync(":exclamation: Trivia will stop after this question.").ConfigureAwait(false); + try { await channel.SendMessageAsync(":exclamation: Trivia will stop after this question.").ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } ShouldStopGame = true; } @@ -128,13 +132,13 @@ namespace NadekoBot.Modules.Games.Trivia finally { _guessLock.Release(); } if (!guess) return; triviaCancelSource.Cancel(); - await channel.SendMessageAsync($"☑️ {guildUser.Mention} guessed it! The answer was: **{CurrentQuestion.Answer}**").ConfigureAwait(false); + try { await channel.SendMessageAsync($"☑️ {guildUser.Mention} guessed it! The answer was: **{CurrentQuestion.Answer}**").ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } if (Users[guildUser] != WinRequirement) return; ShouldStopGame = true; await channel.SendMessageAsync($":exclamation: We have a winner! It's {guildUser.Mention}.").ConfigureAwait(false); } - catch { } - }); + catch (Exception ex) { _log.Warn(ex); } + }); return Task.CompletedTask; } diff --git a/src/NadekoBot/Modules/Music/Music.cs b/src/NadekoBot/Modules/Music/Music.cs index a3f94b79..5cc2eb80 100644 --- a/src/NadekoBot/Modules/Music/Music.cs +++ b/src/NadekoBot/Modules/Music/Music.cs @@ -574,19 +574,19 @@ namespace NadekoBot.Modules.Music await channel.SendMessageAsync("`Can't find playlist with that ID`").ConfigureAwait(false); return; } - - var msg = await channel.SendMessageAsync($"`Attempting to load {mpl.Songs.Count} songs...`").ConfigureAwait(false); + IUserMessage msg = null; + try { msg = await channel.SendMessageAsync($"`Attempting to load {mpl.Songs.Count} songs...`").ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } foreach (var item in mpl.Songs) { + var usr = (IGuildUser)umsg.Author; try { - var usr = (IGuildUser)umsg.Author; await QueueSong(usr, channel, usr.VoiceChannel, item.Query, true, item.ProviderType).ConfigureAwait(false); } catch { break; } } - - await msg.ModifyAsync(m => m.Content = $"`Done loading playlist {mpl.Name}.`").ConfigureAwait(false); + if (msg != null) + await msg.ModifyAsync(m => m.Content = $"`Done loading playlist {mpl.Name}.`").ConfigureAwait(false); } [NadekoCommand, Usage, Description, Aliases] @@ -769,16 +769,13 @@ namespace NadekoBot.Modules.Music await lastFinishedMessage.DeleteAsync().ConfigureAwait(false); if (playingMessage != null) await playingMessage.DeleteAsync().ConfigureAwait(false); - lastFinishedMessage = await textCh.SendMessageAsync($"🎵`Finished`{song.PrettyName}").ConfigureAwait(false); + try { lastFinishedMessage = await textCh.SendMessageAsync($"🎵`Finished`{song.PrettyName}").ConfigureAwait(false); } catch { } if (mp.Autoplay && mp.Playlist.Count == 0 && song.SongInfo.Provider == "YouTube") { await QueueSong(queuer.Guild.GetCurrentUser(), textCh, voiceCh, (await NadekoBot.Google.GetRelatedVideosAsync(song.SongInfo.Query, 4)).ToList().Shuffle().FirstOrDefault(), silent, musicType).ConfigureAwait(false); } } - catch (Exception e) - { - Console.WriteLine(e); - } + catch { } } }; mp.OnStarted += async (s, song) => @@ -789,13 +786,8 @@ namespace NadekoBot.Modules.Music if (sender == null) return; - try - { - var msgTxt = $"🎵`Playing`{song.PrettyName} `Vol: {(int)(sender.Volume * 100)}%`"; - playingMessage = await textCh.SendMessageAsync(msgTxt).ConfigureAwait(false); - } - catch { } + try { playingMessage = await textCh.SendMessageAsync(msgTxt).ConfigureAwait(false); } catch { } } }; return mp; @@ -810,23 +802,25 @@ namespace NadekoBot.Modules.Music } catch (PlaylistFullException) { - await textCh.SendMessageAsync($"🎵 `Queue is full at {musicPlayer.MaxQueueSize}/{musicPlayer.MaxQueueSize}.` "); + try { await textCh.SendMessageAsync($"🎵 `Queue is full at {musicPlayer.MaxQueueSize}/{musicPlayer.MaxQueueSize}.` "); } catch { } throw; } if (!silent) { - var queuedMessage = await textCh.SendMessageAsync($"🎵`Queued`{resolvedSong.PrettyName} **at** `#{musicPlayer.Playlist.Count + 1}`").ConfigureAwait(false); -#pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed - Task.Run(async () => + try { - await Task.Delay(10000).ConfigureAwait(false); - try + var queuedMessage = await textCh.SendMessageAsync($"🎵`Queued`{resolvedSong.PrettyName} **at** `#{musicPlayer.Playlist.Count + 1}`").ConfigureAwait(false); + var t = Task.Run(async () => { - await queuedMessage.DeleteAsync().ConfigureAwait(false); - } - catch { } - }).ConfigureAwait(false); -#pragma warning restore CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed + await Task.Delay(10000).ConfigureAwait(false); + try + { + await queuedMessage.DeleteAsync().ConfigureAwait(false); + } + catch { } + }).ConfigureAwait(false); + } + catch { } // if queued message sending fails, don't attempt to delete it } } } diff --git a/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs b/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs index 843347e0..a53964ed 100644 --- a/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs +++ b/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs @@ -40,6 +40,11 @@ namespace NadekoBot.Modules.Permissions public Task UserBlacklist(IUserMessage imsg, AddRemove action, ulong id) => Blacklist(imsg, action, id, BlacklistType.User); + [NadekoCommand, Usage, Description, Aliases] + [OwnerOnly] + public Task UserBlacklist(IUserMessage imsg, AddRemove action, IUser usr) + => Blacklist(imsg, action, usr.Id, BlacklistType.User); + [NadekoCommand, Usage, Description, Aliases] [OwnerOnly] public Task ChannelBlacklist(IUserMessage imsg, AddRemove action, ulong id) @@ -50,6 +55,11 @@ namespace NadekoBot.Modules.Permissions public Task ServerBlacklist(IUserMessage imsg, AddRemove action, ulong id) => Blacklist(imsg, action, id, BlacklistType.Server); + [NadekoCommand, Usage, Description, Aliases] + [OwnerOnly] + public Task ServerBlacklist(IUserMessage imsg, AddRemove action, IGuild guild) + => Blacklist(imsg, action, guild.Id, BlacklistType.Server); + private async Task Blacklist(IUserMessage imsg, AddRemove action, ulong id, BlacklistType type) { var channel = imsg.Channel; diff --git a/src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs b/src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs index d9bcbd39..0f02a9e1 100644 --- a/src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs @@ -47,8 +47,7 @@ namespace NadekoBot.Modules.Searches var res = await http.GetStreamAsync(new Uri($"http://lemmmy.pw/osusig/sig.php?uname={ usr }&flagshadow&xpbar&xpbarhex&pp=2&mode={m}")).ConfigureAwait(false); res.Position = 0; - await channel.SendFileAsync(res, $"{usr}.png").ConfigureAwait(false); - await channel.SendMessageAsync($"`Profile Link:`https://osu.ppy.sh/u/{Uri.EscapeDataString(usr)}\n`Image provided by https://lemmmy.pw/osusig`").ConfigureAwait(false); + await channel.SendFileAsync(res, $"{usr}.png", $"`Profile Link:`https://osu.ppy.sh/u/{Uri.EscapeDataString(usr)}\n`Image provided by https://lemmmy.pw/osusig`").ConfigureAwait(false); } catch (Exception ex) { diff --git a/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs b/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs index 3aa6b5a4..b18bd349 100644 --- a/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs @@ -68,9 +68,9 @@ namespace NadekoBot.Modules.Searches msg += $"\n`Here is the Link:`【 http://www.twitch.tv/{stream.Username}/ 】"; else if (stream.Type == FollowedStream.FollowedStreamType.Beam) msg += $"\n`Here is the Link:`【 http://www.beam.pro/{stream.Username}/ 】"; - //else if (stream.Type == FollowedStream.FollowedStreamType.YoutubeGaming) - // msg += $"\n`Here is the Link:`【 not implemented yet - {stream.Username} 】"; - await channel.SendMessageAsync(msg).ConfigureAwait(false); + //else if (stream.Type == FollowedStream.FollowedStreamType.YoutubeGaming) + // msg += $"\n`Here is the Link:`【 not implemented yet - {stream.Username} 】"; + try { await channel.SendMessageAsync(msg).ConfigureAwait(false); } catch { } } } FirstPass = false; diff --git a/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs b/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs index dd4b3353..f9c3ef7b 100644 --- a/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs +++ b/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs @@ -59,8 +59,8 @@ namespace NadekoBot.Modules.Utility Text = text, }); await uow.CompleteAsync().ConfigureAwait(false); - await channel.SendMessageAsync("`Quote added.`").ConfigureAwait(false); } + await channel.SendMessageAsync("`Quote added.`").ConfigureAwait(false); } [NadekoCommand, Usage, Description, Aliases] @@ -73,21 +73,22 @@ namespace NadekoBot.Modules.Utility return; keyword = keyword.ToUpperInvariant(); - + string response; using (var uow = DbHandler.UnitOfWork()) { - var q = await uow.Quotes.GetRandomQuoteByKeywordAsync(channel.Guild.Id, keyword); + var q = await uow.Quotes.GetRandomQuoteByKeywordAsync(channel.Guild.Id, keyword).ConfigureAwait(false); if (q == null) { - await channel.SendMessageAsync("`No quotes found.`"); + response = "`No quotes found.`"; return; } uow.Quotes.Remove(q); - await uow.CompleteAsync(); + await uow.CompleteAsync().ConfigureAwait(false); + response = "`Deleted a random quote`"; } - await channel.SendMessageAsync("`Deleted a random quote.`"); + await channel.SendMessageAsync(response); } [NadekoCommand, Usage, Description, Aliases] diff --git a/src/NadekoBot/Modules/Utility/Commands/Remind.cs b/src/NadekoBot/Modules/Utility/Commands/Remind.cs index e01c8a78..67e297b2 100644 --- a/src/NadekoBot/Modules/Utility/Commands/Remind.cs +++ b/src/NadekoBot/Modules/Utility/Commands/Remind.cs @@ -5,6 +5,7 @@ using NadekoBot.Attributes; using NadekoBot.Services; using NadekoBot.Services.Database; using NadekoBot.Services.Database.Models; +using NLog; using System; using System.Collections.Generic; using System.Linq; @@ -31,9 +32,11 @@ namespace NadekoBot.Modules.Utility { "%user%", (r) => $"<@!{r.UserId}>" }, { "%target%", (r) => r.IsPrivate ? "Direct Message" : $"<#{r.ChannelId}>"} }; + private Logger _log { get; } public RemindCommands() { + _log = LogManager.GetCurrentClassLogger(); List reminders; using (var uow = DbHandler.UnitOfWork()) { @@ -52,7 +55,7 @@ namespace NadekoBot.Modules.Utility { var now = DateTime.Now; var twoMins = new TimeSpan(0, 2, 0); - TimeSpan time = r.When - now; + TimeSpan time = r.When - now; if (time.TotalMilliseconds > int.MaxValue) return; @@ -76,12 +79,8 @@ namespace NadekoBot.Modules.Utility replacements.Aggregate(RemindMessageFormat, (cur, replace) => cur.Replace(replace.Key, replace.Value(r))) ).ConfigureAwait(false); //it works trust me - - } - catch (Exception ex) - { - Console.WriteLine($"Timer error! {ex}"); } + catch (Exception ex) { _log.Warn(ex); } finally { using (var uow = DbHandler.UnitOfWork()) @@ -180,7 +179,7 @@ namespace NadekoBot.Modules.Utility await uow.CompleteAsync(); } - await channel.SendMessageAsync($"⏰ I will remind \"{(ch is ITextChannel ? ((ITextChannel)ch).Name : umsg.Author.Username)}\" to \"{message.ToString()}\" in {output}. ({time:d.M.yyyy.} at {time:HH:mm})").ConfigureAwait(false); + try { await channel.SendMessageAsync($"⏰ I will remind \"{(ch is ITextChannel ? ((ITextChannel)ch).Name : umsg.Author.Username)}\" to \"{message.ToString()}\" in {output}. ({time:d.M.yyyy.} at {time:HH:mm})").ConfigureAwait(false); } catch { } await StartReminder(rem); } diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index fd73691b..bb2e7c1d 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -1201,52 +1201,34 @@ ubl - Blacklists a mentioned user. + Either [add]s or [rem]oves a user specified by a mention or ID from a blacklist. - `;ubl [user_mention]` - - - uubl - - - Unblacklists a mentioned user. - - - `;uubl [user_mention]` + `;ubl add @SomeUser` or `;ubl rem 12312312313` cbl - Blacklists a mentioned channel (#general for example). + Either [add]s or [rem]oves a channel specified by an ID from a blacklist. - `;cbl #some_channel` - - - cubl - - - Unblacklists a mentioned channel (#general for example). - - - `;cubl #some_channel` + `;cbl rem 12312312312` sbl - Blacklists a server by a name or id (#general for example). + Either [add]s or [rem]oves a server specified by a Name or ID from a blacklist. - `;sbl [servername/serverid]` + `;sbl add 12312321312` or `;sbl rem SomeTrashServer` cmdcooldown cmdcd - Sets a cooldown per user for a command. Set 0 to clear. + Sets a cooldown per user for a command. Set 0 to clear. `;cmdcd "some cmd" 5` diff --git a/src/NadekoBot/Services/CurrencyHandler.cs b/src/NadekoBot/Services/CurrencyHandler.cs index e847c7cb..2c0128b3 100644 --- a/src/NadekoBot/Services/CurrencyHandler.cs +++ b/src/NadekoBot/Services/CurrencyHandler.cs @@ -33,7 +33,7 @@ namespace NadekoBot.Services var success = uow.Currency.TryUpdateState(authorId, -amount); if (!success) return false; - await uow.CompleteAsync(); + await uow.CompleteAsync().ConfigureAwait(false); } return true; @@ -44,7 +44,7 @@ namespace NadekoBot.Services await AddCurrencyAsync(author.Id, reason, amount); if (sendMessage) - await author.SendMessageAsync($"`You received:` {amount} {Gambling.CurrencySign}\n`Reason:` {reason}").ConfigureAwait(false); + try { await author.SendMessageAsync($"`You received:` {amount} {Gambling.CurrencySign}\n`Reason:` {reason}").ConfigureAwait(false); } catch { } } public static async Task AddCurrencyAsync(ulong receiverId, string reason, long amount) diff --git a/src/NadekoBot/TypeReaders/GuildTypeReader.cs b/src/NadekoBot/TypeReaders/GuildTypeReader.cs index 2f7bc19c..8863aa00 100644 --- a/src/NadekoBot/TypeReaders/GuildTypeReader.cs +++ b/src/NadekoBot/TypeReaders/GuildTypeReader.cs @@ -14,8 +14,9 @@ namespace NadekoBot.TypeReaders public override Task Read(IUserMessage context, string input) { input = input.Trim().ToLowerInvariant(); - var guild = NadekoBot.Client.GetGuilds().FirstOrDefault(g => g.Id.ToString().Trim().ToLowerInvariant() == input) ?? //by id - NadekoBot.Client.GetGuilds().FirstOrDefault(g => g.Name.Trim().ToLowerInvariant() == input);//by name + var guilds = NadekoBot.Client.GetGuilds(); + var guild = guilds.FirstOrDefault(g => g.Id.ToString().Trim().ToLowerInvariant() == input) ?? //by id + guilds.FirstOrDefault(g => g.Name.Trim().ToLowerInvariant() == input); //by name if (guild != null) return Task.FromResult(TypeReaderResult.FromSuccess(guild)); From 5b86b849918a7a10dd49c88a4225c2cdca7e1b8d Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 5 Oct 2016 07:02:01 +0200 Subject: [PATCH 041/135] Fixed compile error --- src/NadekoBot/Modules/Games/Commands/PollCommands.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NadekoBot/Modules/Games/Commands/PollCommands.cs b/src/NadekoBot/Modules/Games/Commands/PollCommands.cs index e641ee74..7df37330 100644 --- a/src/NadekoBot/Modules/Games/Commands/PollCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/PollCommands.cs @@ -128,7 +128,7 @@ namespace NadekoBot.Modules.Games return; if (participants.TryAdd(msg.Author, vote)) { - try { await (ch as ITextChannel).SendMessageAsync($"Thanks for voting **{msg.Author.Username}**.").ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } + try { await (ch as ITextChannel).SendMessageAsync($"Thanks for voting **{msg.Author.Username}**.").ConfigureAwait(false); } catch { } } }); return Task.CompletedTask; From 4016974cef986c63a8a5c821e6cde3399afaa671 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 5 Oct 2016 07:06:46 +0200 Subject: [PATCH 042/135] Fixed typeadd --- src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs index d18621a7..7d33ae31 100644 --- a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs @@ -194,6 +194,7 @@ namespace NadekoBot.Modules.Games Author = imsg.Author.Username, Text = text }); + await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync("Added new article for typing game.").ConfigureAwait(false); From ebd927fafdb19eb3839c105ec0907380b760d415 Mon Sep 17 00:00:00 2001 From: Nitix Date: Thu, 6 Oct 2016 01:29:52 +0200 Subject: [PATCH 043/135] Change gitignore to a better one --- .gitignore | 348 +- src/NadekoBot/project.lock.json | 9146 ---------------------------- src/tests/project.lock.json | 9842 ------------------------------- 3 files changed, 333 insertions(+), 19003 deletions(-) delete mode 100644 src/NadekoBot/project.lock.json delete mode 100644 src/tests/project.lock.json diff --git a/.gitignore b/.gitignore index df5ec176..30036293 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,85 @@ +#Manually added files + +src/NadekoBot/credentials.json +src/NadekoBot/data/NadekoBot.db +src/NadekoBot/musicdata + +# Created by https://www.gitignore.io/api/visualstudio,visualstudiocode,windows,linux,macos + +### VisualStudioCode ### +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json + + +### Windows ### +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msm +*.msp + +# Windows shortcuts +*.lnk + + +### Linux ### +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + + +### macOS ### +*.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + + +### VisualStudio ### ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. @@ -6,19 +88,154 @@ *.user *.userosscache *.sln.docstates -*.pfx -.vs -obj/ # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs -**/src/NadekoBot/bin -Tests/bin -src/NadekoBot/credentials.json -src/NadekoBot/project.lock.json -src/NadekoBot/data/NadekoBot.db -src/NadekoBot/musicdata -src/NadekoBot/project.lock.json + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# DNX +project.lock.json +project.fragment.lock.json +artifacts/ + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# TODO: Comment the next line if you want to checkin your web deploy settings +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ # NuGet Packages *.nupkg @@ -28,8 +245,109 @@ src/NadekoBot/project.lock.json !**/packages/build/ # Uncomment if necessary however generally it will be regenerated when needed #!**/packages/repositories.config -NadekoBot.sln.iml -.idea/workspace.xml -.idea/vcs.xml -.idea/modules.xml -src/tests/bin \ No newline at end of file +# NuGet v3's project.json files produces more ignoreable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +node_modules/ +orleans.codegen.cs + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/ + +### VisualStudio Patch ### +build/ \ No newline at end of file diff --git a/src/NadekoBot/project.lock.json b/src/NadekoBot/project.lock.json deleted file mode 100644 index 76da98a3..00000000 --- a/src/NadekoBot/project.lock.json +++ /dev/null @@ -1,9146 +0,0 @@ -{ - "locked": false, - "version": 2, - "targets": { - ".NETCoreApp,Version=v1.0": { - "CoreCLR-NCalc/2.1.0": { - "type": "package", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Diagnostics.Debug": "4.0.11", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Xml": "4.1.1", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading.Thread": "4.0.0" - }, - "compile": { - "lib/netstandard1.3/NCalc.dll": {} - }, - "runtime": { - "lib/netstandard1.3/NCalc.dll": {} - } - }, - "Google.Apis/1.16.0": { - "type": "package", - "dependencies": { - "Google.Apis.Core": "1.16.0", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.IO": "4.1.0", - "System.IO.Compression": "4.1.0", - "System.Linq": "4.1.0", - "System.Net.Http": "4.1.0", - "System.Net.Primitives": "4.0.11", - "System.Reflection": "4.1.0", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "lib/netstandard1.3/Google.Apis.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Google.Apis.dll": {} - } - }, - "Google.Apis.Auth/1.15.0": { - "type": "package", - "dependencies": { - "Google.Apis.Core": "1.15.0", - "Newtonsoft.Json": "9.0.1", - "Portable.BouncyCastle": "1.8.1.1", - "System.Collections": "4.0.11", - "System.Console": "4.0.0", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Process": "4.1.0", - "System.IO": "4.1.0", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Linq": "4.1.0", - "System.Net.Http": "4.1.0", - "System.Net.Primitives": "4.0.11", - "System.Net.Requests": "4.0.11", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "lib/netstandard1.3/Google.Apis.Auth.PlatformServices.dll": {}, - "lib/netstandard1.3/Google.Apis.Auth.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Google.Apis.Auth.PlatformServices.dll": {}, - "lib/netstandard1.3/Google.Apis.Auth.dll": {} - } - }, - "Google.Apis.Core/1.16.0": { - "type": "package", - "dependencies": { - "Newtonsoft.Json": "9.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Net.Http": "4.1.0", - "System.Net.Primitives": "4.0.11", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "lib/netstandard1.3/Google.Apis.Core.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Google.Apis.Core.dll": {} - } - }, - "Google.Apis.Customsearch.v1/1.16.0.466": { - "type": "package", - "dependencies": { - "Google.Apis": "1.16.0" - }, - "compile": { - "lib/netstandard1.3/Google.Apis.Customsearch.v1.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Google.Apis.Customsearch.v1.dll": {} - } - }, - "Google.Apis.Urlshortener.v1/1.15.0.138": { - "type": "package", - "dependencies": { - "Google.Apis": "1.15.0", - "Google.Apis.Auth": "1.15.0" - }, - "compile": { - "lib/netstandard1.3/Google.Apis.Urlshortener.v1.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Google.Apis.Urlshortener.v1.dll": {} - } - }, - "Google.Apis.YouTube.v3/1.15.0.582": { - "type": "package", - "dependencies": { - "Google.Apis": "1.15.0", - "Google.Apis.Auth": "1.15.0" - }, - "compile": { - "lib/netstandard1.3/Google.Apis.YouTube.v3.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Google.Apis.YouTube.v3.dll": {} - } - }, - "ImageProcessorCore/1.0.0-alpha1045": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tools": "4.0.1", - "System.IO": "4.1.0", - "System.IO.Compression": "4.1.0", - "System.Linq": "4.1.0", - "System.Numerics.Vectors": "4.1.1", - "System.ObjectModel": "4.0.12", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime.CompilerServices.Unsafe": "4.0.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.InteropServices": "4.1.0", - "System.Runtime.Numerics": "4.0.1", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Threading.Tasks.Parallel": "4.0.1" - }, - "compile": { - "lib/netstandard1.1/ImageProcessorCore.dll": {} - }, - "runtime": { - "lib/netstandard1.1/ImageProcessorCore.dll": {} - } - }, - "Libuv/1.9.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1" - }, - "runtimeTargets": { - "runtimes/debian-x64/native/libuv.so": { - "assetType": "native", - "rid": "debian-x64" - }, - "runtimes/fedora-x64/native/libuv.so": { - "assetType": "native", - "rid": "fedora-x64" - }, - "runtimes/opensuse-x64/native/libuv.so": { - "assetType": "native", - "rid": "opensuse-x64" - }, - "runtimes/osx/native/libuv.dylib": { - "assetType": "native", - "rid": "osx" - }, - "runtimes/rhel-x64/native/libuv.so": { - "assetType": "native", - "rid": "rhel-x64" - }, - "runtimes/win7-arm/native/libuv.dll": { - "assetType": "native", - "rid": "win7-arm" - }, - "runtimes/win7-x64/native/libuv.dll": { - "assetType": "native", - "rid": "win7-x64" - }, - "runtimes/win7-x86/native/libuv.dll": { - "assetType": "native", - "rid": "win7-x86" - } - } - }, - "Microsoft.AspNetCore.Hosting.Abstractions/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Hosting.Server.Abstractions": "1.0.0", - "Microsoft.AspNetCore.Http.Abstractions": "1.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "1.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "1.0.0", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0" - }, - "compile": { - "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Abstractions.dll": {} - } - }, - "Microsoft.AspNetCore.Hosting.Server.Abstractions/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Http.Features": "1.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "1.0.0" - }, - "compile": { - "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": {} - } - }, - "Microsoft.AspNetCore.Http.Abstractions/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Http.Features": "1.0.0", - "System.Globalization.Extensions": "4.0.1", - "System.Linq.Expressions": "4.1.0", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Runtime.InteropServices": "4.1.0", - "System.Text.Encodings.Web": "4.0.0" - }, - "compile": { - "lib/netstandard1.3/Microsoft.AspNetCore.Http.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.AspNetCore.Http.Abstractions.dll": {} - } - }, - "Microsoft.AspNetCore.Http.Features/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0", - "System.Collections": "4.0.11", - "System.ComponentModel": "4.0.1", - "System.Linq": "4.1.0", - "System.Net.Primitives": "4.0.11", - "System.Net.WebSockets": "4.0.0", - "System.Runtime.Extensions": "4.1.0", - "System.Security.Claims": "4.0.1", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Security.Principal": "4.0.1" - }, - "compile": { - "lib/netstandard1.3/Microsoft.AspNetCore.Http.Features.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.AspNetCore.Http.Features.dll": {} - } - }, - "Microsoft.CodeAnalysis.Analyzers/1.1.0": { - "type": "package" - }, - "Microsoft.CodeAnalysis.Common/1.3.0": { - "type": "package", - "dependencies": { - "Microsoft.CodeAnalysis.Analyzers": "1.1.0", - "System.AppContext": "4.1.0", - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Collections.Immutable": "1.2.0", - "System.Console": "4.0.0", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.FileVersionInfo": "4.0.0", - "System.Diagnostics.StackTrace": "4.0.1", - "System.Diagnostics.Tools": "4.0.1", - "System.Dynamic.Runtime": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Metadata": "1.3.0", - "System.Reflection.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Runtime.Numerics": "4.0.1", - "System.Security.Cryptography.Algorithms": "4.2.0", - "System.Security.Cryptography.Encoding": "4.0.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.CodePages": "4.0.1", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Threading.Tasks.Parallel": "4.0.1", - "System.Threading.Thread": "4.0.0", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XDocument": "4.0.11", - "System.Xml.XPath.XDocument": "4.0.1", - "System.Xml.XmlDocument": "4.0.1" - }, - "compile": { - "lib/netstandard1.3/_._": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.CodeAnalysis.dll": {} - } - }, - "Microsoft.CodeAnalysis.CSharp/1.3.0": { - "type": "package", - "dependencies": { - "Microsoft.CodeAnalysis.Common": "[1.3.0]" - }, - "compile": { - "lib/netstandard1.3/_._": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.CodeAnalysis.CSharp.dll": {} - } - }, - "Microsoft.CodeAnalysis.VisualBasic/1.3.0": { - "type": "package", - "dependencies": { - "Microsoft.CodeAnalysis.Common": "1.3.0" - }, - "compile": { - "lib/netstandard1.3/_._": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.CodeAnalysis.VisualBasic.dll": {} - } - }, - "Microsoft.CSharp/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Dynamic.Runtime": "4.0.11", - "System.Globalization": "4.0.11", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.ObjectModel": "4.0.12", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.InteropServices": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.0/Microsoft.CSharp.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.CSharp.dll": {} - } - }, - "Microsoft.Data.Sqlite/1.0.0": { - "type": "package", - "dependencies": { - "SQLite": "3.12.2", - "System.AppContext": "4.1.0", - "System.Data.Common": "4.1.0", - "System.Diagnostics.Debug": "4.0.11", - "System.Linq": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.InteropServices": "4.1.0", - "System.Text.Encoding": "4.0.11" - }, - "compile": { - "lib/netstandard1.3/Microsoft.Data.Sqlite.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.Data.Sqlite.dll": {} - } - }, - "Microsoft.EntityFrameworkCore/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Caching.Memory": "1.0.0", - "Microsoft.Extensions.DependencyInjection": "1.0.0", - "Microsoft.Extensions.Logging": "1.0.0", - "Remotion.Linq": "2.1.1", - "System.Collections.Concurrent": "4.0.12", - "System.Collections.Immutable": "1.2.0", - "System.ComponentModel.Annotations": "4.1.0", - "System.Interactive.Async": "3.0.0", - "System.Linq.Queryable": "4.0.1", - "System.ObjectModel": "4.0.12", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0" - }, - "compile": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.dll": {} - } - }, - "Microsoft.EntityFrameworkCore.Design/1.0.0-preview2-final": { - "type": "package", - "dependencies": { - "Microsoft.EntityFrameworkCore.Design.Core": "1.0.0-preview2-final", - "Microsoft.Extensions.CommandLineUtils": "1.0.0", - "Microsoft.NETCore.App": "1.0.0" - }, - "compile": { - "lib/netcoreapp1.0/Microsoft.EntityFrameworkCore.Design.dll": {} - }, - "runtime": { - "lib/netcoreapp1.0/Microsoft.EntityFrameworkCore.Design.dll": {} - } - }, - "Microsoft.EntityFrameworkCore.Design.Core/1.0.0-preview2-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Hosting.Abstractions": "1.0.0", - "Microsoft.EntityFrameworkCore.Relational.Design": "1.0.0", - "System.AppContext": "4.1.0", - "System.Collections.NonGeneric": "4.0.1", - "System.IO": "4.1.0", - "System.IO.FileSystem": "4.0.1" - }, - "compile": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Design.Core.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Design.Core.dll": {} - } - }, - "Microsoft.EntityFrameworkCore.Relational/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.CSharp": "4.0.1", - "Microsoft.EntityFrameworkCore": "1.0.0", - "System.Data.Common": "4.1.0", - "System.Diagnostics.DiagnosticSource": "4.0.0", - "System.Text.RegularExpressions": "4.1.0" - }, - "compile": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Relational.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Relational.dll": {} - } - }, - "Microsoft.EntityFrameworkCore.Relational.Design/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.EntityFrameworkCore.Relational": "1.0.0" - }, - "compile": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Relational.Design.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Relational.Design.dll": {} - } - }, - "Microsoft.EntityFrameworkCore.Sqlite/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Data.Sqlite": "1.0.0", - "Microsoft.EntityFrameworkCore.Relational": "1.0.0", - "System.IO.FileSystem": "4.0.1" - }, - "compile": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Sqlite.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Sqlite.dll": {} - } - }, - "Microsoft.Extensions.Caching.Abstractions/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0", - "System.Collections": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "lib/netstandard1.0/Microsoft.Extensions.Caching.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard1.0/Microsoft.Extensions.Caching.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.Caching.Memory/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "1.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", - "Microsoft.Extensions.Options": "1.0.0", - "System.Linq": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "lib/netstandard1.3/Microsoft.Extensions.Caching.Memory.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.Extensions.Caching.Memory.dll": {} - } - }, - "Microsoft.Extensions.CommandLineUtils/1.0.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Console": "4.0.0", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Resources.ResourceManager": "4.0.1" - }, - "compile": { - "lib/netstandard1.3/Microsoft.Extensions.CommandLineUtils.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.Extensions.CommandLineUtils.dll": {} - } - }, - "Microsoft.Extensions.Configuration.Abstractions/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0", - "System.Linq": "4.1.0" - }, - "compile": { - "lib/netstandard1.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard1.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.DependencyInjection/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "lib/netstandard1.1/Microsoft.Extensions.DependencyInjection.dll": {} - }, - "runtime": { - "lib/netstandard1.1/Microsoft.Extensions.DependencyInjection.dll": {} - } - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/1.0.0": { - "type": "package", - "dependencies": { - "System.ComponentModel": "4.0.1", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.Reflection": "4.1.0", - "System.Resources.ResourceManager": "4.0.1" - }, - "compile": { - "lib/netstandard1.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard1.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.FileProviders.Abstractions/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0", - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1" - }, - "compile": { - "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.Logging/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0", - "System.Threading": "4.0.11" - }, - "compile": { - "lib/netstandard1.1/Microsoft.Extensions.Logging.dll": {} - }, - "runtime": { - "lib/netstandard1.1/Microsoft.Extensions.Logging.dll": {} - } - }, - "Microsoft.Extensions.Logging.Abstractions/1.0.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.InteropServices": "4.1.0" - }, - "compile": { - "lib/netstandard1.1/Microsoft.Extensions.Logging.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard1.1/Microsoft.Extensions.Logging.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.Options/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", - "Microsoft.Extensions.Primitives": "1.0.0", - "System.ComponentModel": "4.0.1", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.Reflection": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "lib/netstandard1.0/Microsoft.Extensions.Options.dll": {} - }, - "runtime": { - "lib/netstandard1.0/Microsoft.Extensions.Options.dll": {} - } - }, - "Microsoft.Extensions.PlatformAbstractions/1.0.0": { - "type": "package", - "dependencies": { - "System.AppContext": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime.Extensions": "4.1.0" - }, - "compile": { - "lib/netstandard1.3/Microsoft.Extensions.PlatformAbstractions.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.Extensions.PlatformAbstractions.dll": {} - } - }, - "Microsoft.Extensions.Primitives/1.0.0": { - "type": "package", - "dependencies": { - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "lib/netstandard1.0/Microsoft.Extensions.Primitives.dll": {} - }, - "runtime": { - "lib/netstandard1.0/Microsoft.Extensions.Primitives.dll": {} - } - }, - "Microsoft.NETCore.App/1.0.0": { - "type": "package", - "dependencies": { - "Libuv": "1.9.0", - "Microsoft.CSharp": "4.0.1", - "Microsoft.CodeAnalysis.CSharp": "1.3.0", - "Microsoft.CodeAnalysis.VisualBasic": "1.3.0", - "Microsoft.NETCore.DotNetHostPolicy": "1.0.1", - "Microsoft.NETCore.Runtime.CoreCLR": "1.0.2", - "Microsoft.VisualBasic": "10.0.1", - "NETStandard.Library": "1.6.0", - "System.Buffers": "4.0.0", - "System.Collections.Immutable": "1.2.0", - "System.ComponentModel": "4.0.1", - "System.ComponentModel.Annotations": "4.1.0", - "System.Diagnostics.DiagnosticSource": "4.0.0", - "System.Diagnostics.Process": "4.1.0", - "System.Dynamic.Runtime": "4.0.11", - "System.Globalization.Extensions": "4.0.1", - "System.IO.FileSystem.Watcher": "4.0.0", - "System.IO.MemoryMappedFiles": "4.0.0", - "System.IO.UnmanagedMemoryStream": "4.0.1", - "System.Linq.Expressions": "4.1.0", - "System.Linq.Parallel": "4.0.1", - "System.Linq.Queryable": "4.0.1", - "System.Net.NameResolution": "4.0.0", - "System.Net.Requests": "4.0.11", - "System.Net.Security": "4.0.0", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Numerics.Vectors": "4.1.1", - "System.Reflection.DispatchProxy": "4.0.1", - "System.Reflection.Metadata": "1.3.0", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.Reader": "4.0.0", - "System.Runtime.Loader": "4.0.0", - "System.Security.Cryptography.Algorithms": "4.2.0", - "System.Security.Cryptography.Encoding": "4.0.0", - "System.Security.Cryptography.Primitives": "4.0.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Threading.Tasks.Dataflow": "4.6.0", - "System.Threading.Tasks.Extensions": "4.0.0", - "System.Threading.Tasks.Parallel": "4.0.1", - "System.Threading.Thread": "4.0.0", - "System.Threading.ThreadPool": "4.0.10" - }, - "compile": { - "lib/netcoreapp1.0/_._": {} - }, - "runtime": { - "lib/netcoreapp1.0/_._": {} - } - }, - "Microsoft.NETCore.DotNetHost/1.0.1": { - "type": "package" - }, - "Microsoft.NETCore.DotNetHostPolicy/1.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.DotNetHostResolver": "1.0.1" - } - }, - "Microsoft.NETCore.DotNetHostResolver/1.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.DotNetHost": "1.0.1" - } - }, - "Microsoft.NETCore.Jit/1.0.2": { - "type": "package" - }, - "Microsoft.NETCore.Platforms/1.0.1": { - "type": "package", - "compile": { - "lib/netstandard1.0/_._": {} - }, - "runtime": { - "lib/netstandard1.0/_._": {} - } - }, - "Microsoft.NETCore.Runtime.CoreCLR/1.0.2": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Jit": "1.0.2", - "Microsoft.NETCore.Windows.ApiSets": "1.0.1" - } - }, - "Microsoft.NETCore.Targets/1.0.1": { - "type": "package", - "compile": { - "lib/netstandard1.0/_._": {} - }, - "runtime": { - "lib/netstandard1.0/_._": {} - } - }, - "Microsoft.NETCore.Windows.ApiSets/1.0.1": { - "type": "package" - }, - "Microsoft.VisualBasic/10.0.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Dynamic.Runtime": "4.0.11", - "System.Globalization": "4.0.11", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.ObjectModel": "4.0.12", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.InteropServices": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.1/Microsoft.VisualBasic.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.VisualBasic.dll": {} - } - }, - "Microsoft.Win32.Primitives/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/Microsoft.Win32.Primitives.dll": {} - } - }, - "Microsoft.Win32.Registry/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/_._": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/Microsoft.Win32.Registry.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/Microsoft.Win32.Registry.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "NETStandard.Library/1.6.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.Win32.Primitives": "4.0.1", - "System.AppContext": "4.1.0", - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Console": "4.0.0", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tools": "4.0.1", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Globalization.Calendars": "4.0.1", - "System.IO": "4.1.0", - "System.IO.Compression": "4.1.0", - "System.IO.Compression.ZipFile": "4.0.1", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.Net.Http": "4.1.0", - "System.Net.Primitives": "4.0.11", - "System.Net.Sockets": "4.1.0", - "System.ObjectModel": "4.0.12", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Runtime.InteropServices.RuntimeInformation": "4.0.0", - "System.Runtime.Numerics": "4.0.1", - "System.Security.Cryptography.Algorithms": "4.2.0", - "System.Security.Cryptography.Encoding": "4.0.0", - "System.Security.Cryptography.Primitives": "4.0.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Threading.Timer": "4.0.1", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XDocument": "4.0.11" - } - }, - "Newtonsoft.Json/9.0.1": { - "type": "package", - "dependencies": { - "Microsoft.CSharp": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Dynamic.Runtime": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.ObjectModel": "4.0.12", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XDocument": "4.0.11" - }, - "compile": { - "lib/netstandard1.0/Newtonsoft.Json.dll": {} - }, - "runtime": { - "lib/netstandard1.0/Newtonsoft.Json.dll": {} - } - }, - "NLog/4.4.0-betav15": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.PlatformAbstractions": "1.0.0", - "NETStandard.Library": "1.6.0", - "System.Collections.NonGeneric": "4.0.1", - "System.ComponentModel.TypeConverter": "4.1.0", - "System.Data.Common": "4.1.0", - "System.Diagnostics.Contracts": "4.0.1", - "System.Diagnostics.StackTrace": "4.0.1", - "System.Diagnostics.TraceSource": "4.0.0", - "System.IO.FileSystem.Watcher": "4.0.0", - "System.Net.NameResolution": "4.0.0", - "System.Net.Requests": "4.0.11", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Threading.Thread": "4.0.0", - "System.Threading.ThreadPool": "4.0.10", - "System.Xml.XmlDocument": "4.0.1" - }, - "compile": { - "lib/netstandard1.5/NLog.dll": {} - }, - "runtime": { - "lib/netstandard1.5/NLog.dll": {} - } - }, - "Portable.BouncyCastle/1.8.1.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "lib/netstandard1.3/crypto.dll": {} - }, - "runtime": { - "lib/netstandard1.3/crypto.dll": {} - } - }, - "Remotion.Linq/2.1.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.Linq.Queryable": "4.0.1", - "System.ObjectModel": "4.0.12", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "lib/netstandard1.0/Remotion.Linq.dll": {} - }, - "runtime": { - "lib/netstandard1.0/Remotion.Linq.dll": {} - } - }, - "runtime.native.System/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1" - }, - "compile": { - "lib/netstandard1.0/_._": {} - }, - "runtime": { - "lib/netstandard1.0/_._": {} - } - }, - "runtime.native.System.IO.Compression/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1" - }, - "compile": { - "lib/netstandard1.0/_._": {} - }, - "runtime": { - "lib/netstandard1.0/_._": {} - } - }, - "runtime.native.System.Net.Http/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1" - }, - "compile": { - "lib/netstandard1.0/_._": {} - }, - "runtime": { - "lib/netstandard1.0/_._": {} - } - }, - "runtime.native.System.Net.Security/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1" - }, - "compile": { - "lib/netstandard1.0/_._": {} - }, - "runtime": { - "lib/netstandard1.0/_._": {} - } - }, - "runtime.native.System.Security.Cryptography/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1" - }, - "compile": { - "lib/netstandard1.0/_._": {} - }, - "runtime": { - "lib/netstandard1.0/_._": {} - } - }, - "SQLite/3.12.2": { - "type": "package", - "dependencies": { - "SQLite.Native": "3.12.2" - } - }, - "SQLite.Native/3.12.2": { - "type": "package", - "runtimeTargets": { - "runtimes/linux-x64/native/libsqlite3.so": { - "assetType": "native", - "rid": "linux-x64" - }, - "runtimes/osx-x64/native/libsqlite3.dylib": { - "assetType": "native", - "rid": "osx-x64" - }, - "runtimes/win7-x64/native/sqlite3.dll": { - "assetType": "native", - "rid": "win7-x64" - }, - "runtimes/win7-x86/native/sqlite3.dll": { - "assetType": "native", - "rid": "win7-x86" - } - } - }, - "System.AppContext/4.1.0": { - "type": "package", - "dependencies": { - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.6/System.AppContext.dll": {} - }, - "runtime": { - "lib/netstandard1.6/System.AppContext.dll": {} - } - }, - "System.Buffers/4.0.0": { - "type": "package", - "dependencies": { - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "lib/netstandard1.1/System.Buffers.dll": {} - }, - "runtime": { - "lib/netstandard1.1/System.Buffers.dll": {} - } - }, - "System.Collections/4.0.11": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Collections.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Collections.Concurrent/4.0.12": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Reflection": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Collections.Concurrent.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Collections.Concurrent.dll": {} - } - }, - "System.Collections.Immutable/1.2.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.Linq": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "lib/netstandard1.0/System.Collections.Immutable.dll": {} - }, - "runtime": { - "lib/netstandard1.0/System.Collections.Immutable.dll": {} - } - }, - "System.Collections.NonGeneric/4.0.1": { - "type": "package", - "dependencies": { - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Collections.NonGeneric.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Collections.NonGeneric.dll": {} - } - }, - "System.Collections.Specialized/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections.NonGeneric": "4.0.1", - "System.Globalization": "4.0.11", - "System.Globalization.Extensions": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/_._": {} - }, - "runtime": { - "lib/netstandard1.3/System.Collections.Specialized.dll": {} - } - }, - "System.ComponentModel/4.0.1": { - "type": "package", - "dependencies": { - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/System.ComponentModel.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.ComponentModel.dll": {} - } - }, - "System.ComponentModel.Annotations/4.1.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.ComponentModel": "4.0.1", - "System.Globalization": "4.0.11", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.4/System.ComponentModel.Annotations.dll": {} - }, - "runtime": { - "lib/netstandard1.4/System.ComponentModel.Annotations.dll": {} - } - }, - "System.ComponentModel.Primitives/4.1.0": { - "type": "package", - "dependencies": { - "System.ComponentModel": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/System.ComponentModel.Primitives.dll": {} - }, - "runtime": { - "lib/netstandard1.0/System.ComponentModel.Primitives.dll": {} - } - }, - "System.ComponentModel.TypeConverter/4.1.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.NonGeneric": "4.0.1", - "System.Collections.Specialized": "4.0.1", - "System.ComponentModel": "4.0.1", - "System.ComponentModel.Primitives": "4.1.0", - "System.Globalization": "4.0.11", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.5/System.ComponentModel.TypeConverter.dll": {} - }, - "runtime": { - "lib/netstandard1.5/System.ComponentModel.TypeConverter.dll": {} - } - }, - "System.Console/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.IO": "4.1.0", - "System.Runtime": "4.1.0", - "System.Text.Encoding": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Console.dll": {} - } - }, - "System.Data.Common/4.1.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.2/System.Data.Common.dll": {} - }, - "runtime": { - "lib/netstandard1.2/System.Data.Common.dll": {} - } - }, - "System.Diagnostics.Contracts/4.0.1": { - "type": "package", - "dependencies": { - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/System.Diagnostics.Contracts.dll": {} - }, - "runtime": { - "lib/netstandard1.0/System.Diagnostics.Contracts.dll": {} - } - }, - "System.Diagnostics.Debug/4.0.11": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Diagnostics.Debug.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Diagnostics.DiagnosticSource/4.0.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Reflection": "4.1.0", - "System.Runtime": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": {} - } - }, - "System.Diagnostics.FileVersionInfo/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Reflection.Metadata": "1.3.0", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.InteropServices": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/_._": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Diagnostics.FileVersionInfo.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Diagnostics.FileVersionInfo.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Diagnostics.Process/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.Win32.Primitives": "4.0.1", - "Microsoft.Win32.Registry": "4.0.0", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Threading.Thread": "4.0.0", - "System.Threading.ThreadPool": "4.0.10", - "runtime.native.System": "4.0.0" - }, - "compile": { - "ref/netstandard1.4/System.Diagnostics.Process.dll": {} - }, - "runtimeTargets": { - "runtimes/linux/lib/netstandard1.4/System.Diagnostics.Process.dll": { - "assetType": "runtime", - "rid": "linux" - }, - "runtimes/osx/lib/netstandard1.4/System.Diagnostics.Process.dll": { - "assetType": "runtime", - "rid": "osx" - }, - "runtimes/win/lib/netstandard1.4/System.Diagnostics.Process.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Diagnostics.StackTrace/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections.Immutable": "1.2.0", - "System.IO.FileSystem": "4.0.1", - "System.Reflection": "4.1.0", - "System.Reflection.Metadata": "1.3.0", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Diagnostics.StackTrace.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Diagnostics.StackTrace.dll": {} - } - }, - "System.Diagnostics.Tools/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/System.Diagnostics.Tools.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Diagnostics.TraceSource/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11", - "runtime.native.System": "4.0.0" - }, - "compile": { - "ref/netstandard1.3/System.Diagnostics.TraceSource.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Diagnostics.TraceSource.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Diagnostics.TraceSource.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Diagnostics.Tracing/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.5/System.Diagnostics.Tracing.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wpa81/_._": {} - } - }, - "System.Dynamic.Runtime/4.0.11": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.ObjectModel": "4.0.12", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Dynamic.Runtime.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Dynamic.Runtime.dll": {} - } - }, - "System.Globalization/4.0.11": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Globalization.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Globalization.Calendars/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Globalization": "4.0.11", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Globalization.Calendars.dll": {} - } - }, - "System.Globalization.Extensions/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Globalization": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.InteropServices": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Globalization.Extensions.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Globalization.Extensions.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Globalization.Extensions.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Interactive.Async/3.0.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Linq": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "lib/netstandard1.0/System.Interactive.Async.dll": {} - }, - "runtime": { - "lib/netstandard1.0/System.Interactive.Async.dll": {} - } - }, - "System.IO/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.5/System.IO.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.IO.Compression/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "runtime.native.System": "4.0.0", - "runtime.native.System.IO.Compression": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.IO.Compression.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wpa81/_._": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.IO.Compression.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.IO.Compression.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.IO.Compression.ZipFile/4.0.1": { - "type": "package", - "dependencies": { - "System.Buffers": "4.0.0", - "System.IO": "4.1.0", - "System.IO.Compression": "4.1.0", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.Encoding": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.IO.Compression.ZipFile.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.IO.Compression.ZipFile.dll": {} - } - }, - "System.IO.FileSystem/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.IO": "4.1.0", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Text.Encoding": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.IO.FileSystem.dll": {} - } - }, - "System.IO.FileSystem.Primitives/4.0.1": { - "type": "package", - "dependencies": { - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.IO.FileSystem.Primitives.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": {} - } - }, - "System.IO.FileSystem.Watcher/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Overlapped": "4.0.1", - "System.Threading.Tasks": "4.0.11", - "System.Threading.Thread": "4.0.0", - "runtime.native.System": "4.0.0" - }, - "compile": { - "ref/netstandard1.3/System.IO.FileSystem.Watcher.dll": {} - }, - "runtimeTargets": { - "runtimes/linux/lib/netstandard1.3/System.IO.FileSystem.Watcher.dll": { - "assetType": "runtime", - "rid": "linux" - }, - "runtimes/osx/lib/netstandard1.3/System.IO.FileSystem.Watcher.dll": { - "assetType": "runtime", - "rid": "osx" - }, - "runtimes/win/lib/netstandard1.3/System.IO.FileSystem.Watcher.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.IO.MemoryMappedFiles/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.IO": "4.1.0", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.IO.UnmanagedMemoryStream": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "runtime.native.System": "4.0.0" - }, - "compile": { - "ref/netstandard1.3/System.IO.MemoryMappedFiles.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.IO.MemoryMappedFiles.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.IO.MemoryMappedFiles.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.IO.UnmanagedMemoryStream/4.0.1": { - "type": "package", - "dependencies": { - "System.IO": "4.1.0", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.InteropServices": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.IO.UnmanagedMemoryStream.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.IO.UnmanagedMemoryStream.dll": {} - } - }, - "System.Linq/4.1.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0" - }, - "compile": { - "ref/netstandard1.6/System.Linq.dll": {} - }, - "runtime": { - "lib/netstandard1.6/System.Linq.dll": {} - } - }, - "System.Linq.Expressions/4.1.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.ObjectModel": "4.0.12", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.6/System.Linq.Expressions.dll": {} - }, - "runtime": { - "lib/netstandard1.6/System.Linq.Expressions.dll": {} - } - }, - "System.Linq.Parallel/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Linq": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.1/System.Linq.Parallel.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Linq.Parallel.dll": {} - } - }, - "System.Linq.Queryable/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/System.Linq.Queryable.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Linq.Queryable.dll": {} - } - }, - "System.Net.Http/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.DiagnosticSource": "4.0.0", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Globalization.Extensions": "4.0.1", - "System.IO": "4.1.0", - "System.IO.FileSystem": "4.0.1", - "System.Net.Primitives": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.Algorithms": "4.2.0", - "System.Security.Cryptography.Encoding": "4.0.0", - "System.Security.Cryptography.OpenSsl": "4.0.0", - "System.Security.Cryptography.Primitives": "4.0.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "runtime.native.System": "4.0.0", - "runtime.native.System.Net.Http": "4.0.1", - "runtime.native.System.Security.Cryptography": "4.0.0" - }, - "compile": { - "ref/netstandard1.3/System.Net.Http.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wpa81/_._": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.6/System.Net.Http.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Net.Http.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Net.NameResolution/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Principal.Windows": "4.0.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "runtime.native.System": "4.0.0" - }, - "compile": { - "ref/netstandard1.3/System.Net.NameResolution.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Net.NameResolution.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Net.NameResolution.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Net.Primitives/4.0.11": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Handles": "4.0.1" - }, - "compile": { - "ref/netstandard1.3/System.Net.Primitives.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Net.Requests/4.0.11": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Net.Http": "4.1.0", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Net.Requests.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Net.Requests.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Net.Requests.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Net.Security/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Globalization.Extensions": "4.0.1", - "System.IO": "4.1.0", - "System.Net.Primitives": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Claims": "4.0.1", - "System.Security.Cryptography.Algorithms": "4.2.0", - "System.Security.Cryptography.Encoding": "4.0.0", - "System.Security.Cryptography.OpenSsl": "4.0.0", - "System.Security.Cryptography.Primitives": "4.0.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Security.Principal": "4.0.1", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Threading.ThreadPool": "4.0.10", - "runtime.native.System": "4.0.0", - "runtime.native.System.Net.Security": "4.0.1", - "runtime.native.System.Security.Cryptography": "4.0.0" - }, - "compile": { - "ref/netstandard1.3/System.Net.Security.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.6/System.Net.Security.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Net.Security.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Net.Sockets/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.IO": "4.1.0", - "System.Net.Primitives": "4.0.11", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Net.Sockets.dll": {} - } - }, - "System.Net.WebHeaderCollection/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Net.WebHeaderCollection.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Net.WebHeaderCollection.dll": {} - } - }, - "System.Net.WebSockets/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Net.WebSockets.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Net.WebSockets.dll": {} - } - }, - "System.Net.WebSockets.Client/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Net.WebSockets.Client.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Net.WebSockets.Client.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Net.WebSockets.Client.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Numerics.Vectors/4.1.1": { - "type": "package", - "dependencies": { - "System.Globalization": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/System.Numerics.Vectors.dll": {} - }, - "runtime": { - "lib/netstandard1.0/System.Numerics.Vectors.dll": {} - } - }, - "System.ObjectModel/4.0.12": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.ObjectModel.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.ObjectModel.dll": {} - } - }, - "System.Private.DataContractSerialization/4.1.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - }, - "compile": { - "ref/netstandard/_._": {} - }, - "runtime": { - "lib/netstandard1.3/System.Private.DataContractSerialization.dll": {} - } - }, - "System.Reflection/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.IO": "4.1.0", - "System.Reflection.Primitives": "4.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.5/System.Reflection.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Reflection.DispatchProxy/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Reflection.DispatchProxy.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Reflection.DispatchProxy.dll": {} - } - }, - "System.Reflection.Emit/4.0.1": { - "type": "package", - "dependencies": { - "System.IO": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.1/_._": {} - }, - "runtime": { - "lib/netstandard1.3/System.Reflection.Emit.dll": {} - } - }, - "System.Reflection.Emit.ILGeneration/4.0.1": { - "type": "package", - "dependencies": { - "System.Reflection": "4.1.0", - "System.Reflection.Primitives": "4.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/_._": {} - }, - "runtime": { - "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll": {} - } - }, - "System.Reflection.Emit.Lightweight/4.0.1": { - "type": "package", - "dependencies": { - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/_._": {} - }, - "runtime": { - "lib/netstandard1.3/System.Reflection.Emit.Lightweight.dll": {} - } - }, - "System.Reflection.Extensions/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Reflection": "4.1.0", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/System.Reflection.Extensions.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Reflection.Metadata/1.3.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Immutable": "1.2.0", - "System.Diagnostics.Debug": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.InteropServices": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Threading": "4.0.11" - }, - "compile": { - "lib/netstandard1.1/System.Reflection.Metadata.dll": {} - }, - "runtime": { - "lib/netstandard1.1/System.Reflection.Metadata.dll": {} - } - }, - "System.Reflection.Primitives/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/System.Reflection.Primitives.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Reflection.TypeExtensions/4.1.0": { - "type": "package", - "dependencies": { - "System.Reflection": "4.1.0", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.5/System.Reflection.TypeExtensions.dll": {} - }, - "runtime": { - "lib/netstandard1.5/System.Reflection.TypeExtensions.dll": {} - } - }, - "System.Resources.Reader/4.0.0": { - "type": "package", - "dependencies": { - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11" - }, - "compile": { - "lib/netstandard1.0/System.Resources.Reader.dll": {} - }, - "runtime": { - "lib/netstandard1.0/System.Resources.Reader.dll": {} - } - }, - "System.Resources.ResourceManager/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Globalization": "4.0.11", - "System.Reflection": "4.1.0", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/System.Resources.ResourceManager.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Resources.ResourceWriter/4.0.0-beta-22816": { - "type": "package", - "dependencies": { - "System.IO": "4.0.10-beta-22816", - "System.Runtime": "4.0.20-beta-22816" - }, - "compile": { - "lib/contract/System.Resources.ResourceWriter.dll": {} - }, - "runtime": { - "lib/aspnetcore50/System.Resources.ResourceWriter.dll": {} - } - }, - "System.Runtime/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1" - }, - "compile": { - "ref/netstandard1.5/System.Runtime.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp80+wpa81/_._": {} - } - }, - "System.Runtime.CompilerServices.Unsafe/4.0.0": { - "type": "package", - "dependencies": { - "System.Runtime": "4.1.0" - }, - "compile": { - "lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll": {} - }, - "runtime": { - "lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll": {} - } - }, - "System.Runtime.Extensions/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.5/System.Runtime.Extensions.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Runtime.Handles/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Runtime.Handles.dll": {} - } - }, - "System.Runtime.InteropServices/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Reflection": "4.1.0", - "System.Reflection.Primitives": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Handles": "4.0.1" - }, - "compile": { - "ref/netstandard1.5/System.Runtime.InteropServices.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wpa81/_._": {} - } - }, - "System.Runtime.InteropServices.RuntimeInformation/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Reflection": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.InteropServices": "4.1.0", - "System.Threading": "4.0.11", - "runtime.native.System": "4.0.0" - }, - "compile": { - "ref/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Runtime.Loader/4.0.0": { - "type": "package", - "dependencies": { - "System.IO": "4.1.0", - "System.Reflection": "4.1.0", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.5/_._": {} - }, - "runtime": { - "lib/netstandard1.5/System.Runtime.Loader.dll": {} - } - }, - "System.Runtime.Numerics/4.0.1": { - "type": "package", - "dependencies": { - "System.Globalization": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0" - }, - "compile": { - "ref/netstandard1.1/System.Runtime.Numerics.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Runtime.Numerics.dll": {} - } - }, - "System.Runtime.Serialization.Primitives/4.1.1": { - "type": "package", - "dependencies": { - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Runtime.Serialization.Primitives.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll": {} - } - }, - "System.Runtime.Serialization.Xml/4.1.1": { - "type": "package", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Runtime.Serialization.Xml.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Runtime.Serialization.Xml.dll": {} - } - }, - "System.Security.Claims/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Security.Principal": "4.0.1" - }, - "compile": { - "ref/netstandard1.3/System.Security.Claims.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Security.Claims.dll": {} - } - }, - "System.Security.Cryptography.Algorithms/4.2.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Collections": "4.0.11", - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Runtime.Numerics": "4.0.1", - "System.Security.Cryptography.Encoding": "4.0.0", - "System.Security.Cryptography.Primitives": "4.0.0", - "System.Text.Encoding": "4.0.11", - "runtime.native.System.Security.Cryptography": "4.0.0" - }, - "compile": { - "ref/netstandard1.6/System.Security.Cryptography.Algorithms.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.Algorithms.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.Algorithms.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Security.Cryptography.Cng/4.2.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.Algorithms": "4.2.0", - "System.Security.Cryptography.Encoding": "4.0.0", - "System.Security.Cryptography.Primitives": "4.0.0", - "System.Text.Encoding": "4.0.11" - }, - "compile": { - "ref/netstandard1.6/_._": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.Cng.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.Cng.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Security.Cryptography.Csp/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.IO": "4.1.0", - "System.Reflection": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.Algorithms": "4.2.0", - "System.Security.Cryptography.Encoding": "4.0.0", - "System.Security.Cryptography.Primitives": "4.0.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/_._": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.Csp.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Security.Cryptography.Csp.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Security.Cryptography.Encoding/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Linq": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.Primitives": "4.0.0", - "System.Text.Encoding": "4.0.11", - "runtime.native.System.Security.Cryptography": "4.0.0" - }, - "compile": { - "ref/netstandard1.3/System.Security.Cryptography.Encoding.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.Encoding.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Security.Cryptography.Encoding.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Security.Cryptography.OpenSsl/4.0.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Runtime.Numerics": "4.0.1", - "System.Security.Cryptography.Algorithms": "4.2.0", - "System.Security.Cryptography.Encoding": "4.0.0", - "System.Security.Cryptography.Primitives": "4.0.0", - "System.Text.Encoding": "4.0.11", - "runtime.native.System.Security.Cryptography": "4.0.0" - }, - "compile": { - "ref/netstandard1.6/_._": {} - }, - "runtime": { - "lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll": { - "assetType": "runtime", - "rid": "unix" - } - } - }, - "System.Security.Cryptography.Primitives/4.0.0": { - "type": "package", - "dependencies": { - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Security.Cryptography.Primitives.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll": {} - } - }, - "System.Security.Cryptography.X509Certificates/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.Globalization.Calendars": "4.0.1", - "System.IO": "4.1.0", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Runtime.Numerics": "4.0.1", - "System.Security.Cryptography.Algorithms": "4.2.0", - "System.Security.Cryptography.Cng": "4.2.0", - "System.Security.Cryptography.Csp": "4.0.0", - "System.Security.Cryptography.Encoding": "4.0.0", - "System.Security.Cryptography.OpenSsl": "4.0.0", - "System.Security.Cryptography.Primitives": "4.0.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "runtime.native.System": "4.0.0", - "runtime.native.System.Net.Http": "4.0.1", - "runtime.native.System.Security.Cryptography": "4.0.0" - }, - "compile": { - "ref/netstandard1.4/System.Security.Cryptography.X509Certificates.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.X509Certificates.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.X509Certificates.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Security.Principal/4.0.1": { - "type": "package", - "dependencies": { - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/System.Security.Principal.dll": {} - }, - "runtime": { - "lib/netstandard1.0/System.Security.Principal.dll": {} - } - }, - "System.Security.Principal.Windows/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Reflection": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Claims": "4.0.1", - "System.Security.Principal": "4.0.1", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/_._": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Security.Principal.Windows.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Security.Principal.Windows.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Text.Encoding/4.0.11": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Text.Encoding.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Text.Encoding.CodePages/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Reflection": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/_._": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Text.Encoding.CodePages.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Text.Encoding.CodePages.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Text.Encoding.Extensions/4.0.11": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0", - "System.Text.Encoding": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Text.Encoding.Extensions.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Text.Encodings.Web/4.0.0": { - "type": "package", - "dependencies": { - "System.Diagnostics.Debug": "4.0.11", - "System.IO": "4.1.0", - "System.Reflection": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "lib/netstandard1.0/System.Text.Encodings.Web.dll": {} - }, - "runtime": { - "lib/netstandard1.0/System.Text.Encodings.Web.dll": {} - } - }, - "System.Text.RegularExpressions/4.1.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.6/System.Text.RegularExpressions.dll": {} - }, - "runtime": { - "lib/netstandard1.6/System.Text.RegularExpressions.dll": {} - } - }, - "System.Threading/4.0.11": { - "type": "package", - "dependencies": { - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Threading.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Threading.dll": {} - } - }, - "System.Threading.Overlapped/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Handles": "4.0.1" - }, - "compile": { - "ref/netstandard1.3/_._": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Threading.Overlapped.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Threading.Overlapped.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Threading.Tasks/4.0.11": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Threading.Tasks.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Threading.Tasks.Dataflow/4.6.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Dynamic.Runtime": "4.0.11", - "System.Linq": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "lib/netstandard1.1/System.Threading.Tasks.Dataflow.dll": {} - }, - "runtime": { - "lib/netstandard1.1/System.Threading.Tasks.Dataflow.dll": {} - } - }, - "System.Threading.Tasks.Extensions/4.0.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "lib/netstandard1.0/System.Threading.Tasks.Extensions.dll": {} - }, - "runtime": { - "lib/netstandard1.0/System.Threading.Tasks.Extensions.dll": {} - } - }, - "System.Threading.Tasks.Parallel/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.1/System.Threading.Tasks.Parallel.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Threading.Tasks.Parallel.dll": {} - } - }, - "System.Threading.Thread/4.0.0": { - "type": "package", - "dependencies": { - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Threading.Thread.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Threading.Thread.dll": {} - } - }, - "System.Threading.ThreadPool/4.0.10": { - "type": "package", - "dependencies": { - "System.Runtime": "4.1.0", - "System.Runtime.Handles": "4.0.1" - }, - "compile": { - "ref/netstandard1.3/System.Threading.ThreadPool.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Threading.ThreadPool.dll": {} - } - }, - "System.Threading.Timer/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.2/System.Threading.Timer.dll": {} - } - }, - "System.Xml.ReaderWriter/4.0.11": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.InteropServices": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading.Tasks": "4.0.11", - "System.Threading.Tasks.Extensions": "4.0.0" - }, - "compile": { - "ref/netstandard1.3/System.Xml.ReaderWriter.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Xml.ReaderWriter.dll": {} - } - }, - "System.Xml.XDocument/4.0.11": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tools": "4.0.1", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Reflection": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Xml.XDocument.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Xml.XDocument.dll": {} - } - }, - "System.Xml.XmlDocument/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Xml.XmlDocument.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Xml.XmlDocument.dll": {} - } - }, - "System.Xml.XmlSerializer/4.0.11": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - }, - "compile": { - "ref/netstandard1.3/_._": {} - }, - "runtime": { - "lib/netstandard1.3/System.Xml.XmlSerializer.dll": {} - } - }, - "System.Xml.XPath/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/_._": {} - }, - "runtime": { - "lib/netstandard1.3/System.Xml.XPath.dll": {} - } - }, - "System.Xml.XPath.XDocument/4.0.1": { - "type": "package", - "dependencies": { - "System.Diagnostics.Debug": "4.0.11", - "System.Linq": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XDocument": "4.0.11", - "System.Xml.XPath": "4.0.1" - }, - "compile": { - "ref/netstandard1.3/_._": {} - }, - "runtime": { - "lib/netstandard1.3/System.Xml.XPath.XDocument.dll": {} - } - }, - "VideoLibrary/1.3.4": { - "type": "package", - "compile": { - "lib/portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10/libvideo.dll": {} - }, - "runtime": { - "lib/portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10/libvideo.dll": {} - } - }, - "Discord.Net/1.0.0-beta": { - "type": "project", - "framework": ".NETStandard,Version=v1.3", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "Newtonsoft.Json": "8.0.3", - "System.Collections.Concurrent": "4.0.12", - "System.Collections.Immutable": "1.2.0", - "System.IO.Compression": "4.1.0", - "System.IO.FileSystem": "4.0.1", - "System.Net.Http": "4.1.0", - "System.Net.NameResolution": "4.0.0", - "System.Net.Sockets": "4.1.0", - "System.Net.WebSockets.Client": "4.0.0", - "System.Reflection.Extensions": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Runtime.InteropServices.RuntimeInformation": "4.0.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.RegularExpressions": "4.1.0" - }, - "compile": { - "netstandard1.3/Discord.Net.dll": {} - }, - "runtime": { - "netstandard1.3/Discord.Net.dll": {} - } - }, - "Discord.Net.Commands/1.0.0-beta": { - "type": "project", - "framework": ".NETStandard,Version=v1.3", - "dependencies": { - "Discord.Net": "1.0.0" - }, - "compile": { - "netstandard1.3/Discord.Net.Commands.dll": {} - }, - "runtime": { - "netstandard1.3/Discord.Net.Commands.dll": {} - } - } - } - }, - "libraries": { - "CoreCLR-NCalc/2.1.0": { - "sha512": "GUPPo99NUeAgLR5oIOLrApJx3Mx5BZEaKkK9OlDd/CmAYaACLHo68FnO+kCamsLH2+rvr6Rw3hAwzap4GVFV8Q==", - "type": "package", - "path": "CoreCLR-NCalc/2.1.0", - "files": [ - "CoreCLR-NCalc.2.1.0.nupkg.sha512", - "CoreCLR-NCalc.nuspec", - "lib/net451/NCalc.dll", - "lib/netstandard1.3/NCalc.dll" - ] - }, - "Google.Apis/1.16.0": { - "sha512": "/p657K7J7p9aRl6QxUjQfNK0AobxnLHwDWdSqAr/17lZeQR+XMuEbIy7No80+zDeS39kKrRVWFlu1vHiws7gRQ==", - "type": "package", - "path": "Google.Apis/1.16.0", - "files": [ - "Google.Apis.1.16.0.nupkg.sha512", - "Google.Apis.nuspec", - "License.txt", - "lib/net45/Google.Apis.PlatformServices.dll", - "lib/net45/Google.Apis.PlatformServices.pdb", - "lib/net45/Google.Apis.PlatformServices.xml", - "lib/net45/Google.Apis.dll", - "lib/net45/Google.Apis.pdb", - "lib/net45/Google.Apis.xml", - "lib/netstandard1.3/Google.Apis.dll", - "lib/netstandard1.3/Google.Apis.pdb", - "lib/netstandard1.3/Google.Apis.xml", - "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.dll", - "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.pdb", - "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.xml", - "lib/win81/Google.Apis.PlatformServices.dll", - "lib/win81/Google.Apis.PlatformServices.pdb", - "lib/win81/Google.Apis.PlatformServices.xml", - "lib/win81/Google.Apis.dll", - "lib/win81/Google.Apis.pdb", - "lib/win81/Google.Apis.xml", - "lib/wp8/Google.Apis.PlatformServices.dll", - "lib/wp8/Google.Apis.PlatformServices.pdb", - "lib/wp8/Google.Apis.PlatformServices.xml", - "lib/wp8/Google.Apis.dll", - "lib/wp8/Google.Apis.pdb", - "lib/wp8/Google.Apis.xml", - "lib/wpa81/Google.Apis.PlatformServices.dll", - "lib/wpa81/Google.Apis.PlatformServices.pdb", - "lib/wpa81/Google.Apis.PlatformServices.xml", - "lib/wpa81/Google.Apis.dll", - "lib/wpa81/Google.Apis.pdb", - "lib/wpa81/Google.Apis.xml" - ] - }, - "Google.Apis.Auth/1.15.0": { - "sha512": "gBMi03/CjodxVVjByVvvaE4To9905Oe6o59oxzP6AI5uZaab9zNclR+2cu6OcnS5wOIpf5DKAWd+jlSshuZ/cw==", - "type": "package", - "path": "Google.Apis.Auth/1.15.0", - "files": [ - "Google.Apis.Auth.1.15.0.nupkg.sha512", - "Google.Apis.Auth.nuspec", - "License.txt", - "lib/net45/Google.Apis.Auth.PlatformServices.dll", - "lib/net45/Google.Apis.Auth.PlatformServices.pdb", - "lib/net45/Google.Apis.Auth.PlatformServices.xml", - "lib/net45/Google.Apis.Auth.dll", - "lib/net45/Google.Apis.Auth.pdb", - "lib/net45/Google.Apis.Auth.xml", - "lib/netstandard1.3/Google.Apis.Auth.PlatformServices.dll", - "lib/netstandard1.3/Google.Apis.Auth.PlatformServices.pdb", - "lib/netstandard1.3/Google.Apis.Auth.PlatformServices.xml", - "lib/netstandard1.3/Google.Apis.Auth.dll", - "lib/netstandard1.3/Google.Apis.Auth.pdb", - "lib/netstandard1.3/Google.Apis.Auth.xml", - "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Auth.dll", - "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Auth.pdb", - "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Auth.xml", - "lib/win81/Google.Apis.Auth.PlatformServices.dll", - "lib/win81/Google.Apis.Auth.PlatformServices.pdb", - "lib/win81/Google.Apis.Auth.PlatformServices.xml", - "lib/win81/Google.Apis.Auth.dll", - "lib/win81/Google.Apis.Auth.pdb", - "lib/win81/Google.Apis.Auth.xml", - "lib/wp8/Google.Apis.Auth.PlatformServices.dll", - "lib/wp8/Google.Apis.Auth.PlatformServices.pdb", - "lib/wp8/Google.Apis.Auth.PlatformServices.xml", - "lib/wp8/Google.Apis.Auth.dll", - "lib/wp8/Google.Apis.Auth.pdb", - "lib/wp8/Google.Apis.Auth.xml", - "lib/wpa81/Google.Apis.Auth.PlatformServices.dll", - "lib/wpa81/Google.Apis.Auth.PlatformServices.pdb", - "lib/wpa81/Google.Apis.Auth.PlatformServices.xml", - "lib/wpa81/Google.Apis.Auth.dll", - "lib/wpa81/Google.Apis.Auth.pdb", - "lib/wpa81/Google.Apis.Auth.xml" - ] - }, - "Google.Apis.Core/1.16.0": { - "sha512": "uATqVAsPHlpOf+3VV51xFEIghAMSLJyh1hqoVpnPOlkXBx7fkOcs0qP3tKXtmsaeuyC/7BYM1Tt42lyIyhY2lQ==", - "type": "package", - "path": "Google.Apis.Core/1.16.0", - "files": [ - "Google.Apis.Core.1.16.0.nupkg.sha512", - "Google.Apis.Core.nuspec", - "License.txt", - "lib/net45/Google.Apis.Core.dll", - "lib/net45/Google.Apis.Core.pdb", - "lib/net45/Google.Apis.Core.xml", - "lib/netstandard1.3/Google.Apis.Core.dll", - "lib/netstandard1.3/Google.Apis.Core.pdb", - "lib/netstandard1.3/Google.Apis.Core.xml", - "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Core.dll", - "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Core.pdb", - "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Core.xml" - ] - }, - "Google.Apis.Customsearch.v1/1.16.0.466": { - "sha512": "uZ5VP/xKgTZCMJXgEfwHYEIR/7FsbtvL+bncm08a07RhWLFZTdRpCAkNL4b5wADHkblpkBe1VWKv43W77I4tJw==", - "type": "package", - "path": "Google.Apis.Customsearch.v1/1.16.0.466", - "files": [ - "Google.Apis.Customsearch.v1.1.16.0.466.nupkg.sha512", - "Google.Apis.Customsearch.v1.nuspec", - "lib/netstandard1.3/Google.Apis.Customsearch.v1.dll", - "lib/netstandard1.3/Google.Apis.Customsearch.v1.pdb", - "lib/netstandard1.3/Google.Apis.Customsearch.v1.xml", - "lib/portable-net40+sl50+netcore45+wpa81+wp8/Google.Apis.Customsearch.v1.dll", - "lib/portable-net40+sl50+netcore45+wpa81+wp8/Google.Apis.Customsearch.v1.pdb", - "lib/portable-net40+sl50+netcore45+wpa81+wp8/Google.Apis.Customsearch.v1.xml", - "lib/portable-net45+netcore45+wpa81+wp8/Google.Apis.Customsearch.v1.dll", - "lib/portable-net45+netcore45+wpa81+wp8/Google.Apis.Customsearch.v1.pdb", - "lib/portable-net45+netcore45+wpa81+wp8/Google.Apis.Customsearch.v1.xml" - ] - }, - "Google.Apis.Urlshortener.v1/1.15.0.138": { - "sha512": "67USnpqrk8tWO3LAgaK9qDQT6h8A7i7eUIOKm+OISThZoQuHiLCn6dbg46FVb597LUh57AxClSSbhnweYcYC3Q==", - "type": "package", - "path": "Google.Apis.Urlshortener.v1/1.15.0.138", - "files": [ - "Google.Apis.Urlshortener.v1.1.15.0.138.nupkg.sha512", - "Google.Apis.Urlshortener.v1.nuspec", - "lib/netstandard1.3/Google.Apis.Urlshortener.v1.dll", - "lib/netstandard1.3/Google.Apis.Urlshortener.v1.pdb", - "lib/netstandard1.3/Google.Apis.Urlshortener.v1.xml", - "lib/portable-net40+sl50+netcore45+wpa81+wp8/Google.Apis.Urlshortener.v1.dll", - "lib/portable-net40+sl50+netcore45+wpa81+wp8/Google.Apis.Urlshortener.v1.pdb", - "lib/portable-net40+sl50+netcore45+wpa81+wp8/Google.Apis.Urlshortener.v1.xml", - "lib/portable-net45+netcore45+wpa81+wp8/Google.Apis.Urlshortener.v1.dll", - "lib/portable-net45+netcore45+wpa81+wp8/Google.Apis.Urlshortener.v1.pdb", - "lib/portable-net45+netcore45+wpa81+wp8/Google.Apis.Urlshortener.v1.xml" - ] - }, - "Google.Apis.YouTube.v3/1.15.0.582": { - "sha512": "isR8FdI417PKLgLlNdOVDhduO+8yqPJ+vfID1Zx0MjAa/y3q655Plk2E/KNmsrjvXkqSSWwDCQHPz/Q1fat4tA==", - "type": "package", - "path": "Google.Apis.YouTube.v3/1.15.0.582", - "files": [ - "Google.Apis.YouTube.v3.1.15.0.582.nupkg.sha512", - "Google.Apis.YouTube.v3.nuspec", - "lib/netstandard1.3/Google.Apis.YouTube.v3.dll", - "lib/netstandard1.3/Google.Apis.YouTube.v3.pdb", - "lib/netstandard1.3/Google.Apis.YouTube.v3.xml", - "lib/portable-net40+sl50+netcore45+wpa81+wp8/Google.Apis.YouTube.v3.dll", - "lib/portable-net40+sl50+netcore45+wpa81+wp8/Google.Apis.YouTube.v3.pdb", - "lib/portable-net40+sl50+netcore45+wpa81+wp8/Google.Apis.YouTube.v3.xml", - "lib/portable-net45+netcore45+wpa81+wp8/Google.Apis.YouTube.v3.dll", - "lib/portable-net45+netcore45+wpa81+wp8/Google.Apis.YouTube.v3.pdb", - "lib/portable-net45+netcore45+wpa81+wp8/Google.Apis.YouTube.v3.xml" - ] - }, - "ImageProcessorCore/1.0.0-alpha1045": { - "sha512": "A5oL7SwFnzcu5eF26u49nf73joQghpEpCGwLb54dm6VI6ZGpjBJpKAyNKtJP30HtXy1VngiGJn/EcvCl8+JGcg==", - "type": "package", - "path": "ImageProcessorCore/1.0.0-alpha1045", - "files": [ - "ImageProcessorCore.1.0.0-alpha1045.nupkg.sha512", - "ImageProcessorCore.nuspec", - "lib/netstandard1.1/ImageProcessorCore.dll" - ] - }, - "Libuv/1.9.0": { - "sha512": "9Q7AaqtQhS8JDSIvRBt6ODSLWDBI4c8YxNxyCQemWebBFUtBbc6M5Vi5Gz1ZyIUlTW3rZK9bIr5gnVyv0z7a2Q==", - "type": "package", - "path": "Libuv/1.9.0", - "files": [ - "Libuv.1.9.0.nupkg.sha512", - "Libuv.nuspec", - "License.txt", - "runtimes/debian-x64/native/libuv.so", - "runtimes/fedora-x64/native/libuv.so", - "runtimes/opensuse-x64/native/libuv.so", - "runtimes/osx/native/libuv.dylib", - "runtimes/rhel-x64/native/libuv.so", - "runtimes/win7-arm/native/libuv.dll", - "runtimes/win7-x64/native/libuv.dll", - "runtimes/win7-x86/native/libuv.dll" - ] - }, - "Microsoft.AspNetCore.Hosting.Abstractions/1.0.0": { - "sha512": "8r6qOl1jYyC523ZKM1QNl+6ijIoYWELWm0tpEWqtTIOg9DytHJWshB7usgqiuRmfHXM0EUziR6ouFY7iP7Tuzw==", - "type": "package", - "path": "Microsoft.AspNetCore.Hosting.Abstractions/1.0.0", - "files": [ - "Microsoft.AspNetCore.Hosting.Abstractions.1.0.0.nupkg.sha512", - "Microsoft.AspNetCore.Hosting.Abstractions.nuspec", - "lib/net451/Microsoft.AspNetCore.Hosting.Abstractions.dll", - "lib/net451/Microsoft.AspNetCore.Hosting.Abstractions.xml", - "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Abstractions.dll", - "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Abstractions.xml" - ] - }, - "Microsoft.AspNetCore.Hosting.Server.Abstractions/1.0.0": { - "sha512": "sHZyhQEoW15T9E36rfdm5Ux6a6RZB0KNM79ccf2IplWASqmlRGhX4ydU3dzQRLhkHpLx16fnWOL0KScsO6BevQ==", - "type": "package", - "path": "Microsoft.AspNetCore.Hosting.Server.Abstractions/1.0.0", - "files": [ - "Microsoft.AspNetCore.Hosting.Server.Abstractions.1.0.0.nupkg.sha512", - "Microsoft.AspNetCore.Hosting.Server.Abstractions.nuspec", - "lib/net451/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll", - "lib/net451/Microsoft.AspNetCore.Hosting.Server.Abstractions.xml", - "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll", - "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Server.Abstractions.xml" - ] - }, - "Microsoft.AspNetCore.Http.Abstractions/1.0.0": { - "sha512": "OJHlqdJOWKKBfsiVdX4Z4KCNuqvBIu6+1MVKuejRDyHnGyMkNHNoP/dtVzhPqvJXaJg9N4HlD0XNc6GDCFVffg==", - "type": "package", - "path": "Microsoft.AspNetCore.Http.Abstractions/1.0.0", - "files": [ - "Microsoft.AspNetCore.Http.Abstractions.1.0.0.nupkg.sha512", - "Microsoft.AspNetCore.Http.Abstractions.nuspec", - "lib/net451/Microsoft.AspNetCore.Http.Abstractions.dll", - "lib/net451/Microsoft.AspNetCore.Http.Abstractions.xml", - "lib/netstandard1.3/Microsoft.AspNetCore.Http.Abstractions.dll", - "lib/netstandard1.3/Microsoft.AspNetCore.Http.Abstractions.xml" - ] - }, - "Microsoft.AspNetCore.Http.Features/1.0.0": { - "sha512": "6x7zgfbTo1gL9xMEb7EMO2ES/48bqwnWyfH09z+ubWhnzxdhHls8rtqstPylu5FPD9nid6Vo2pgDm5vufRAy5Q==", - "type": "package", - "path": "Microsoft.AspNetCore.Http.Features/1.0.0", - "files": [ - "Microsoft.AspNetCore.Http.Features.1.0.0.nupkg.sha512", - "Microsoft.AspNetCore.Http.Features.nuspec", - "lib/net451/Microsoft.AspNetCore.Http.Features.dll", - "lib/net451/Microsoft.AspNetCore.Http.Features.xml", - "lib/netstandard1.3/Microsoft.AspNetCore.Http.Features.dll", - "lib/netstandard1.3/Microsoft.AspNetCore.Http.Features.xml" - ] - }, - "Microsoft.CodeAnalysis.Analyzers/1.1.0": { - "sha512": "HS3iRWZKcUw/8eZ/08GXKY2Bn7xNzQPzf8gRPHGSowX7u7XXu9i9YEaBeBNKUXWfI7qjvT2zXtLUvbN0hds8vg==", - "type": "package", - "path": "Microsoft.CodeAnalysis.Analyzers/1.1.0", - "files": [ - "Microsoft.CodeAnalysis.Analyzers.1.1.0.nupkg.sha512", - "Microsoft.CodeAnalysis.Analyzers.nuspec", - "ThirdPartyNotices.rtf", - "analyzers/dotnet/cs/Microsoft.CodeAnalysis.Analyzers.dll", - "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.Analyzers.dll", - "analyzers/dotnet/vb/Microsoft.CodeAnalysis.Analyzers.dll", - "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.Analyzers.dll", - "tools/install.ps1", - "tools/uninstall.ps1" - ] - }, - "Microsoft.CodeAnalysis.Common/1.3.0": { - "sha512": "V09G35cs0CT1C4Dr1IEOh8IGfnWALEVAOO5JXsqagxXwmYR012TlorQ+vx2eXxfZRKs3gAS/r92gN9kRBLba5A==", - "type": "package", - "path": "Microsoft.CodeAnalysis.Common/1.3.0", - "files": [ - "Microsoft.CodeAnalysis.Common.1.3.0.nupkg.sha512", - "Microsoft.CodeAnalysis.Common.nuspec", - "ThirdPartyNotices.rtf", - "lib/net45/Microsoft.CodeAnalysis.dll", - "lib/net45/Microsoft.CodeAnalysis.xml", - "lib/netstandard1.3/Microsoft.CodeAnalysis.dll", - "lib/netstandard1.3/Microsoft.CodeAnalysis.xml", - "lib/portable-net45+win8/Microsoft.CodeAnalysis.dll", - "lib/portable-net45+win8/Microsoft.CodeAnalysis.xml" - ] - }, - "Microsoft.CodeAnalysis.CSharp/1.3.0": { - "sha512": "BgWDIAbSFsHuGeLSn/rljLi51nXqkSo4DZ0qEIrHyPVasrhxEVq7aV8KKZ3HEfSFB+GIhBmOogE+mlOLYg19eg==", - "type": "package", - "path": "Microsoft.CodeAnalysis.CSharp/1.3.0", - "files": [ - "Microsoft.CodeAnalysis.CSharp.1.3.0.nupkg.sha512", - "Microsoft.CodeAnalysis.CSharp.nuspec", - "ThirdPartyNotices.rtf", - "lib/net45/Microsoft.CodeAnalysis.CSharp.dll", - "lib/net45/Microsoft.CodeAnalysis.CSharp.xml", - "lib/netstandard1.3/Microsoft.CodeAnalysis.CSharp.dll", - "lib/netstandard1.3/Microsoft.CodeAnalysis.CSharp.xml", - "lib/portable-net45+win8/Microsoft.CodeAnalysis.CSharp.dll", - "lib/portable-net45+win8/Microsoft.CodeAnalysis.CSharp.xml" - ] - }, - "Microsoft.CodeAnalysis.VisualBasic/1.3.0": { - "sha512": "Sf3k8PkTkWqBmXnnblJbvb7ewO6mJzX6WO2t7m04BmOY5qBq6yhhyXnn/BMM+QCec3Arw3X35Zd8f9eBql0qgg==", - "type": "package", - "path": "Microsoft.CodeAnalysis.VisualBasic/1.3.0", - "files": [ - "Microsoft.CodeAnalysis.VisualBasic.1.3.0.nupkg.sha512", - "Microsoft.CodeAnalysis.VisualBasic.nuspec", - "ThirdPartyNotices.rtf", - "lib/net45/Microsoft.CodeAnalysis.VisualBasic.dll", - "lib/net45/Microsoft.CodeAnalysis.VisualBasic.xml", - "lib/netstandard1.3/Microsoft.CodeAnalysis.VisualBasic.dll", - "lib/netstandard1.3/Microsoft.CodeAnalysis.VisualBasic.xml", - "lib/portable-net45+win8/Microsoft.CodeAnalysis.VisualBasic.dll", - "lib/portable-net45+win8/Microsoft.CodeAnalysis.VisualBasic.xml" - ] - }, - "Microsoft.CSharp/4.0.1": { - "sha512": "17h8b5mXa87XYKrrVqdgZ38JefSUqLChUQpXgSnpzsM0nDOhE40FTeNWOJ/YmySGV6tG6T8+hjz6vxbknHJr6A==", - "type": "package", - "path": "Microsoft.CSharp/4.0.1", - "files": [ - "Microsoft.CSharp.4.0.1.nupkg.sha512", - "Microsoft.CSharp.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/Microsoft.CSharp.dll", - "lib/netstandard1.3/Microsoft.CSharp.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/Microsoft.CSharp.dll", - "ref/netcore50/Microsoft.CSharp.xml", - "ref/netcore50/de/Microsoft.CSharp.xml", - "ref/netcore50/es/Microsoft.CSharp.xml", - "ref/netcore50/fr/Microsoft.CSharp.xml", - "ref/netcore50/it/Microsoft.CSharp.xml", - "ref/netcore50/ja/Microsoft.CSharp.xml", - "ref/netcore50/ko/Microsoft.CSharp.xml", - "ref/netcore50/ru/Microsoft.CSharp.xml", - "ref/netcore50/zh-hans/Microsoft.CSharp.xml", - "ref/netcore50/zh-hant/Microsoft.CSharp.xml", - "ref/netstandard1.0/Microsoft.CSharp.dll", - "ref/netstandard1.0/Microsoft.CSharp.xml", - "ref/netstandard1.0/de/Microsoft.CSharp.xml", - "ref/netstandard1.0/es/Microsoft.CSharp.xml", - "ref/netstandard1.0/fr/Microsoft.CSharp.xml", - "ref/netstandard1.0/it/Microsoft.CSharp.xml", - "ref/netstandard1.0/ja/Microsoft.CSharp.xml", - "ref/netstandard1.0/ko/Microsoft.CSharp.xml", - "ref/netstandard1.0/ru/Microsoft.CSharp.xml", - "ref/netstandard1.0/zh-hans/Microsoft.CSharp.xml", - "ref/netstandard1.0/zh-hant/Microsoft.CSharp.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "Microsoft.Data.Sqlite/1.0.0": { - "sha512": "dezlCGK9zVrPNfoX1SL50GmWDdRQNcV1SBy3wuCn/a0g7Gc26PyvlA4BKapjnCK5N8LSQ2+1PdW2imiRr+YvxA==", - "type": "package", - "path": "Microsoft.Data.Sqlite/1.0.0", - "files": [ - "Microsoft.Data.Sqlite.1.0.0.nupkg.sha512", - "Microsoft.Data.Sqlite.nuspec", - "lib/net451/Microsoft.Data.Sqlite.dll", - "lib/net451/Microsoft.Data.Sqlite.xml", - "lib/netstandard1.3/Microsoft.Data.Sqlite.dll", - "lib/netstandard1.3/Microsoft.Data.Sqlite.xml" - ] - }, - "Microsoft.EntityFrameworkCore/1.0.0": { - "sha512": "Vqg/v0cXRQZQH0gY3VHHqt0Bt5WZEkDReVpI1sNYKHVbVtnMYFKPp5SiNygosUJYrJk1rSGb8UVkplDNNUkEgg==", - "type": "package", - "path": "Microsoft.EntityFrameworkCore/1.0.0", - "files": [ - "Microsoft.EntityFrameworkCore.1.0.0.nupkg.sha512", - "Microsoft.EntityFrameworkCore.nuspec", - "lib/net451/Microsoft.EntityFrameworkCore.dll", - "lib/net451/Microsoft.EntityFrameworkCore.xml", - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.dll", - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.xml" - ] - }, - "Microsoft.EntityFrameworkCore.Design/1.0.0-preview2-final": { - "sha512": "RhyjntECuOVsrKjgFog9rv+V7oBsxBNxz5NviF7uHvDDQXLyHH3os/CewQxRNsve114AQH5RX/Bww6qAXlSORQ==", - "type": "package", - "path": "Microsoft.EntityFrameworkCore.Design/1.0.0-preview2-final", - "files": [ - "Microsoft.EntityFrameworkCore.Design.1.0.0-preview2-final.nupkg.sha512", - "Microsoft.EntityFrameworkCore.Design.nuspec", - "lib/net451/_._", - "lib/netcore50/_._", - "lib/netcoreapp1.0/Microsoft.EntityFrameworkCore.Design.dll", - "lib/netcoreapp1.0/Microsoft.EntityFrameworkCore.Design.runtimeconfig.json", - "lib/netcoreapp1.0/Microsoft.EntityFrameworkCore.Design.xml", - "runtimes/win7-x64/lib/net451/Microsoft.EntityFrameworkCore.Design.exe", - "runtimes/win7-x86/lib/net451/Microsoft.EntityFrameworkCore.Design.exe" - ] - }, - "Microsoft.EntityFrameworkCore.Design.Core/1.0.0-preview2-final": { - "sha512": "H3pHksGErQSEwWyvISlDYMslIXftS4XB2m0AvqBS08ECGHagh27mqm/oIyUetzzRad+C2V0zpguJmR14eMiRaA==", - "type": "package", - "path": "Microsoft.EntityFrameworkCore.Design.Core/1.0.0-preview2-final", - "files": [ - "Microsoft.EntityFrameworkCore.Design.Core.1.0.0-preview2-final.nupkg.sha512", - "Microsoft.EntityFrameworkCore.Design.Core.nuspec", - "lib/net451/Microsoft.EntityFrameworkCore.Design.Core.dll", - "lib/net451/Microsoft.EntityFrameworkCore.Design.Core.xml", - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Design.Core.dll", - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Design.Core.xml" - ] - }, - "Microsoft.EntityFrameworkCore.Relational/1.0.0": { - "sha512": "LGBab+7o0eq4C3YtvkAxK8W7Ia57eO0Ue0viQgt0STptQ2bUpLzV7q5LfbNl475rt6yTWa/vDQlYVaI64fwqdw==", - "type": "package", - "path": "Microsoft.EntityFrameworkCore.Relational/1.0.0", - "files": [ - "Microsoft.EntityFrameworkCore.Relational.1.0.0.nupkg.sha512", - "Microsoft.EntityFrameworkCore.Relational.nuspec", - "lib/net451/Microsoft.EntityFrameworkCore.Relational.dll", - "lib/net451/Microsoft.EntityFrameworkCore.Relational.xml", - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Relational.dll", - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Relational.xml" - ] - }, - "Microsoft.EntityFrameworkCore.Relational.Design/1.0.0": { - "sha512": "pw4EmGTp5U645is0Lyf0C6yU1uQGHVIZiRyxlDNNrRllL0ZjSFKTShv9qbE+fBpvvvArNp2HhDmP7d6vJAt0Dw==", - "type": "package", - "path": "Microsoft.EntityFrameworkCore.Relational.Design/1.0.0", - "files": [ - "Microsoft.EntityFrameworkCore.Relational.Design.1.0.0.nupkg.sha512", - "Microsoft.EntityFrameworkCore.Relational.Design.nuspec", - "lib/net451/Microsoft.EntityFrameworkCore.Relational.Design.dll", - "lib/net451/Microsoft.EntityFrameworkCore.Relational.Design.xml", - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Relational.Design.dll", - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Relational.Design.xml" - ] - }, - "Microsoft.EntityFrameworkCore.Sqlite/1.0.0": { - "sha512": "GF5xfn90zVKbnCdNrjeH4j1IaAQ7FsHCWkTrdUKISzrPxG3LIizJaU2iu8YMfNhMYd5N1Y7R7SxF2dBh+5A+Ew==", - "type": "package", - "path": "Microsoft.EntityFrameworkCore.Sqlite/1.0.0", - "files": [ - "Microsoft.EntityFrameworkCore.Sqlite.1.0.0.nupkg.sha512", - "Microsoft.EntityFrameworkCore.Sqlite.nuspec", - "lib/net451/Microsoft.EntityFrameworkCore.Sqlite.dll", - "lib/net451/Microsoft.EntityFrameworkCore.Sqlite.xml", - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Sqlite.dll", - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Sqlite.xml" - ] - }, - "Microsoft.Extensions.Caching.Abstractions/1.0.0": { - "sha512": "IxlFDVOchL6tdR05bk7EiJvMtvZrVkZXBhkbXqc3GxOHOrHFGcN+92WoWFPeBpdpy8ot/Px5ZdXzt7k+2n1Bdg==", - "type": "package", - "path": "Microsoft.Extensions.Caching.Abstractions/1.0.0", - "files": [ - "Microsoft.Extensions.Caching.Abstractions.1.0.0.nupkg.sha512", - "Microsoft.Extensions.Caching.Abstractions.nuspec", - "lib/netstandard1.0/Microsoft.Extensions.Caching.Abstractions.dll", - "lib/netstandard1.0/Microsoft.Extensions.Caching.Abstractions.xml" - ] - }, - "Microsoft.Extensions.Caching.Memory/1.0.0": { - "sha512": "6+7zTufCnZ+tfrUo7RbIRR3LB0BxwOwxfXuo0IbLyIvgoToGpWuz5wYEDfCYNOvpig9tY8FA0I1uRHYmITMXMQ==", - "type": "package", - "path": "Microsoft.Extensions.Caching.Memory/1.0.0", - "files": [ - "Microsoft.Extensions.Caching.Memory.1.0.0.nupkg.sha512", - "Microsoft.Extensions.Caching.Memory.nuspec", - "lib/net451/Microsoft.Extensions.Caching.Memory.dll", - "lib/net451/Microsoft.Extensions.Caching.Memory.xml", - "lib/netstandard1.3/Microsoft.Extensions.Caching.Memory.dll", - "lib/netstandard1.3/Microsoft.Extensions.Caching.Memory.xml" - ] - }, - "Microsoft.Extensions.CommandLineUtils/1.0.0": { - "sha512": "kXJ8+YvEjp1j7ezJ7yvQMLYbRL6QlpBUjRoBfqghoe80yqZ5azYB90lL4iNeyRCznWF+cGm41aaIoFU0aOq7TQ==", - "type": "package", - "path": "Microsoft.Extensions.CommandLineUtils/1.0.0", - "files": [ - "Microsoft.Extensions.CommandLineUtils.1.0.0.nupkg.sha512", - "Microsoft.Extensions.CommandLineUtils.nuspec", - "lib/net451/Microsoft.Extensions.CommandLineUtils.dll", - "lib/net451/Microsoft.Extensions.CommandLineUtils.xml", - "lib/netstandard1.3/Microsoft.Extensions.CommandLineUtils.dll", - "lib/netstandard1.3/Microsoft.Extensions.CommandLineUtils.xml" - ] - }, - "Microsoft.Extensions.Configuration.Abstractions/1.0.0": { - "sha512": "nJ+Et/rnDMDmGhxvFAKdN3va7y+YDPICv1nUEP8I4IKgOkWwr/dCZHMqxVhJFrkbW9ux8Kd7erC4mvxfZh0WnA==", - "type": "package", - "path": "Microsoft.Extensions.Configuration.Abstractions/1.0.0", - "files": [ - "Microsoft.Extensions.Configuration.Abstractions.1.0.0.nupkg.sha512", - "Microsoft.Extensions.Configuration.Abstractions.nuspec", - "lib/netstandard1.0/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/netstandard1.0/Microsoft.Extensions.Configuration.Abstractions.xml" - ] - }, - "Microsoft.Extensions.DependencyInjection/1.0.0": { - "sha512": "zdtkiZNV6LB8xtpmfyUjP/9N9ZCL/ydQ+0bfjun38fbrk+MDEm9M2yeLzRdq+OIt5xExw/KU04wFaVwJ1bhQPg==", - "type": "package", - "path": "Microsoft.Extensions.DependencyInjection/1.0.0", - "files": [ - "Microsoft.Extensions.DependencyInjection.1.0.0.nupkg.sha512", - "Microsoft.Extensions.DependencyInjection.nuspec", - "lib/netstandard1.1/Microsoft.Extensions.DependencyInjection.dll", - "lib/netstandard1.1/Microsoft.Extensions.DependencyInjection.xml" - ] - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/1.0.0": { - "sha512": "+XwaNo3o9RhLQhUnnOBCaukeRi1X9yYc0Fzye9RlErSflKZdw0VgHtn6rvKo0FTionsW0x8QVULhKH+nkqVjQA==", - "type": "package", - "path": "Microsoft.Extensions.DependencyInjection.Abstractions/1.0.0", - "files": [ - "Microsoft.Extensions.DependencyInjection.Abstractions.1.0.0.nupkg.sha512", - "Microsoft.Extensions.DependencyInjection.Abstractions.nuspec", - "lib/netstandard1.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/netstandard1.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml" - ] - }, - "Microsoft.Extensions.FileProviders.Abstractions/1.0.0": { - "sha512": "4jsqTxG3py/hYSsOtZMkNJ2/CQqPdpwyK7bDUkrwHgqowCFSmx/C+R4IzQ+2AK2Up1fVcu+ldC0gktwidL828A==", - "type": "package", - "path": "Microsoft.Extensions.FileProviders.Abstractions/1.0.0", - "files": [ - "Microsoft.Extensions.FileProviders.Abstractions.1.0.0.nupkg.sha512", - "Microsoft.Extensions.FileProviders.Abstractions.nuspec", - "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Abstractions.dll", - "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Abstractions.xml" - ] - }, - "Microsoft.Extensions.Logging/1.0.0": { - "sha512": "0mDuASVrd/nMeBYIJSK+9lT3TSmWxUXP/ipVB1pF1ApMN5fqGCckPTNwmOfT4Z9wPkXGnhbwFTGrxZvbzTWxOg==", - "type": "package", - "path": "Microsoft.Extensions.Logging/1.0.0", - "files": [ - "Microsoft.Extensions.Logging.1.0.0.nupkg.sha512", - "Microsoft.Extensions.Logging.nuspec", - "lib/netstandard1.1/Microsoft.Extensions.Logging.dll", - "lib/netstandard1.1/Microsoft.Extensions.Logging.xml" - ] - }, - "Microsoft.Extensions.Logging.Abstractions/1.0.0": { - "sha512": "wHT6oY50q36mAXBRKtFaB7u07WxKC5u2M8fi3PqHOOnHyUo9gD0u1TlCNR8UObHQxKMYwqlgI8TLcErpt29n8A==", - "type": "package", - "path": "Microsoft.Extensions.Logging.Abstractions/1.0.0", - "files": [ - "Microsoft.Extensions.Logging.Abstractions.1.0.0.nupkg.sha512", - "Microsoft.Extensions.Logging.Abstractions.nuspec", - "lib/netstandard1.1/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/netstandard1.1/Microsoft.Extensions.Logging.Abstractions.xml" - ] - }, - "Microsoft.Extensions.Options/1.0.0": { - "sha512": "SdP3yPKF++JTkoa91pBDiE70uQkR/gdXWzOnMPbSj+eOqY1vgY+b8RVl+gh7TrJ2wlCK2QqnQtvCQlPPZRK36w==", - "type": "package", - "path": "Microsoft.Extensions.Options/1.0.0", - "files": [ - "Microsoft.Extensions.Options.1.0.0.nupkg.sha512", - "Microsoft.Extensions.Options.nuspec", - "lib/netstandard1.0/Microsoft.Extensions.Options.dll", - "lib/netstandard1.0/Microsoft.Extensions.Options.xml" - ] - }, - "Microsoft.Extensions.PlatformAbstractions/1.0.0": { - "sha512": "zyjUzrOmuevOAJpIo3Mt5GmpALVYCVdLZ99keMbmCxxgQH7oxzU58kGHzE6hAgYEiWsdfMJLjVR7r+vSmaJmtg==", - "type": "package", - "path": "Microsoft.Extensions.PlatformAbstractions/1.0.0", - "files": [ - "Microsoft.Extensions.PlatformAbstractions.1.0.0.nupkg.sha512", - "Microsoft.Extensions.PlatformAbstractions.nuspec", - "lib/net451/Microsoft.Extensions.PlatformAbstractions.dll", - "lib/net451/Microsoft.Extensions.PlatformAbstractions.xml", - "lib/netstandard1.3/Microsoft.Extensions.PlatformAbstractions.dll", - "lib/netstandard1.3/Microsoft.Extensions.PlatformAbstractions.xml" - ] - }, - "Microsoft.Extensions.Primitives/1.0.0": { - "sha512": "3q2vzfKEDjL6JFkRpk5SFA3zarYsO6+ZYgoucNImrUMzDn0mFbEOL5p9oPoWiypwypbJVVjWTf557bXZ0YFLig==", - "type": "package", - "path": "Microsoft.Extensions.Primitives/1.0.0", - "files": [ - "Microsoft.Extensions.Primitives.1.0.0.nupkg.sha512", - "Microsoft.Extensions.Primitives.nuspec", - "lib/netstandard1.0/Microsoft.Extensions.Primitives.dll", - "lib/netstandard1.0/Microsoft.Extensions.Primitives.xml" - ] - }, - "Microsoft.NETCore.App/1.0.0": { - "sha512": "Bv40dLDrT+Igcg1e6otW3D8voeJCfcAxOlsxSVlDz+J+cdWls5kblZvPHHvx7gX3/oJoQVIkEeO3sMyv5PSVJA==", - "type": "package", - "path": "Microsoft.NETCore.App/1.0.0", - "files": [ - "Microsoft.NETCore.App.1.0.0.nupkg.sha512", - "Microsoft.NETCore.App.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netcoreapp1.0/_._" - ] - }, - "Microsoft.NETCore.DotNetHost/1.0.1": { - "sha512": "uaMgykq6AckP3hZW4dsD6zjocxyXPz0tcTl8OX7mlSUWsyFXdtf45sjdwI0JIHxt3gnI6GihAlOAwYK8HE4niQ==", - "type": "package", - "path": "Microsoft.NETCore.DotNetHost/1.0.1", - "files": [ - "Microsoft.NETCore.DotNetHost.1.0.1.nupkg.sha512", - "Microsoft.NETCore.DotNetHost.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "runtime.json" - ] - }, - "Microsoft.NETCore.DotNetHostPolicy/1.0.1": { - "sha512": "d8AQ+ZVj2iK9sbgl3IEsshCSaumhM1PNTPHxldZAQLOoI1BKF8QZ1zPCNqwBGisPiWOE3f/1SHDbQi1BTRBxuA==", - "type": "package", - "path": "Microsoft.NETCore.DotNetHostPolicy/1.0.1", - "files": [ - "Microsoft.NETCore.DotNetHostPolicy.1.0.1.nupkg.sha512", - "Microsoft.NETCore.DotNetHostPolicy.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "runtime.json" - ] - }, - "Microsoft.NETCore.DotNetHostResolver/1.0.1": { - "sha512": "GEXgpAHB9E0OhfcmNJ664Xcd2bJkz2qkGIAFmCgEI5ANlQy4qEEmBVfUqA+Z9HB85ZwWxZc1eIJ6fxdxcjrctg==", - "type": "package", - "path": "Microsoft.NETCore.DotNetHostResolver/1.0.1", - "files": [ - "Microsoft.NETCore.DotNetHostResolver.1.0.1.nupkg.sha512", - "Microsoft.NETCore.DotNetHostResolver.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "runtime.json" - ] - }, - "Microsoft.NETCore.Jit/1.0.2": { - "sha512": "Ok2vWofa6X8WD9vc4pfLHwvJz1/B6t3gOAoZcjrjrQf7lQOlNIuZIZtLn3wnWX28DuQGpPJkRlBxFj7Z5txNqw==", - "type": "package", - "path": "Microsoft.NETCore.Jit/1.0.2", - "files": [ - "Microsoft.NETCore.Jit.1.0.2.nupkg.sha512", - "Microsoft.NETCore.Jit.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "runtime.json" - ] - }, - "Microsoft.NETCore.Platforms/1.0.1": { - "sha512": "2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ==", - "type": "package", - "path": "Microsoft.NETCore.Platforms/1.0.1", - "files": [ - "Microsoft.NETCore.Platforms.1.0.1.nupkg.sha512", - "Microsoft.NETCore.Platforms.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/_._", - "runtime.json" - ] - }, - "Microsoft.NETCore.Runtime.CoreCLR/1.0.2": { - "sha512": "A0x1xtTjYJWZr2DRzgfCOXgB0JkQg8twnmtTJ79wFje+IihlLbXtx6Z2AxyVokBM5ruwTedR6YdCmHk39QJdtQ==", - "type": "package", - "path": "Microsoft.NETCore.Runtime.CoreCLR/1.0.2", - "files": [ - "Microsoft.NETCore.Runtime.CoreCLR.1.0.2.nupkg.sha512", - "Microsoft.NETCore.Runtime.CoreCLR.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "runtime.json" - ] - }, - "Microsoft.NETCore.Targets/1.0.1": { - "sha512": "rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==", - "type": "package", - "path": "Microsoft.NETCore.Targets/1.0.1", - "files": [ - "Microsoft.NETCore.Targets.1.0.1.nupkg.sha512", - "Microsoft.NETCore.Targets.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/_._", - "runtime.json" - ] - }, - "Microsoft.NETCore.Windows.ApiSets/1.0.1": { - "sha512": "SaToCvvsGMxTgtLv/BrFQ5IFMPRE1zpWbnqbpwykJa8W5XiX82CXI6K2o7yf5xS7EP6t/JzFLV0SIDuWpvBZVw==", - "type": "package", - "path": "Microsoft.NETCore.Windows.ApiSets/1.0.1", - "files": [ - "Microsoft.NETCore.Windows.ApiSets.1.0.1.nupkg.sha512", - "Microsoft.NETCore.Windows.ApiSets.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "runtime.json" - ] - }, - "Microsoft.VisualBasic/10.0.1": { - "sha512": "HpNyOf/4Tp2lh4FyywB55VITk0SqVxEjDzsVDDyF1yafDN6Bq18xcHowzCPINyYHUTgGcEtmpYiRsFdSo0KKdQ==", - "type": "package", - "path": "Microsoft.VisualBasic/10.0.1", - "files": [ - "Microsoft.VisualBasic.10.0.1.nupkg.sha512", - "Microsoft.VisualBasic.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/net45/_._", - "lib/netcore50/Microsoft.VisualBasic.dll", - "lib/netstandard1.3/Microsoft.VisualBasic.dll", - "lib/portable-net45+win8+wpa81/_._", - "lib/win8/_._", - "lib/wpa81/_._", - "ref/net45/_._", - "ref/netcore50/Microsoft.VisualBasic.dll", - "ref/netcore50/Microsoft.VisualBasic.xml", - "ref/netcore50/de/Microsoft.VisualBasic.xml", - "ref/netcore50/es/Microsoft.VisualBasic.xml", - "ref/netcore50/fr/Microsoft.VisualBasic.xml", - "ref/netcore50/it/Microsoft.VisualBasic.xml", - "ref/netcore50/ja/Microsoft.VisualBasic.xml", - "ref/netcore50/ko/Microsoft.VisualBasic.xml", - "ref/netcore50/ru/Microsoft.VisualBasic.xml", - "ref/netcore50/zh-hans/Microsoft.VisualBasic.xml", - "ref/netcore50/zh-hant/Microsoft.VisualBasic.xml", - "ref/netstandard1.1/Microsoft.VisualBasic.dll", - "ref/netstandard1.1/Microsoft.VisualBasic.xml", - "ref/netstandard1.1/de/Microsoft.VisualBasic.xml", - "ref/netstandard1.1/es/Microsoft.VisualBasic.xml", - "ref/netstandard1.1/fr/Microsoft.VisualBasic.xml", - "ref/netstandard1.1/it/Microsoft.VisualBasic.xml", - "ref/netstandard1.1/ja/Microsoft.VisualBasic.xml", - "ref/netstandard1.1/ko/Microsoft.VisualBasic.xml", - "ref/netstandard1.1/ru/Microsoft.VisualBasic.xml", - "ref/netstandard1.1/zh-hans/Microsoft.VisualBasic.xml", - "ref/netstandard1.1/zh-hant/Microsoft.VisualBasic.xml", - "ref/portable-net45+win8+wpa81/_._", - "ref/win8/_._", - "ref/wpa81/_._" - ] - }, - "Microsoft.Win32.Primitives/4.0.1": { - "sha512": "fQnBHO9DgcmkC9dYSJoBqo6sH1VJwJprUHh8F3hbcRlxiQiBUuTntdk8tUwV490OqC2kQUrinGwZyQHTieuXRA==", - "type": "package", - "path": "Microsoft.Win32.Primitives/4.0.1", - "files": [ - "Microsoft.Win32.Primitives.4.0.1.nupkg.sha512", - "Microsoft.Win32.Primitives.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/Microsoft.Win32.Primitives.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/Microsoft.Win32.Primitives.dll", - "ref/netstandard1.3/Microsoft.Win32.Primitives.dll", - "ref/netstandard1.3/Microsoft.Win32.Primitives.xml", - "ref/netstandard1.3/de/Microsoft.Win32.Primitives.xml", - "ref/netstandard1.3/es/Microsoft.Win32.Primitives.xml", - "ref/netstandard1.3/fr/Microsoft.Win32.Primitives.xml", - "ref/netstandard1.3/it/Microsoft.Win32.Primitives.xml", - "ref/netstandard1.3/ja/Microsoft.Win32.Primitives.xml", - "ref/netstandard1.3/ko/Microsoft.Win32.Primitives.xml", - "ref/netstandard1.3/ru/Microsoft.Win32.Primitives.xml", - "ref/netstandard1.3/zh-hans/Microsoft.Win32.Primitives.xml", - "ref/netstandard1.3/zh-hant/Microsoft.Win32.Primitives.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "Microsoft.Win32.Registry/4.0.0": { - "sha512": "q+eLtROUAQ3OxYA5mpQrgyFgzLQxIyrfT2eLpYX5IEPlHmIio2nh4F5bgOaQoGOV865kFKZZso9Oq9RlazvXtg==", - "type": "package", - "path": "Microsoft.Win32.Registry/4.0.0", - "files": [ - "Microsoft.Win32.Registry.4.0.0.nupkg.sha512", - "Microsoft.Win32.Registry.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/net46/Microsoft.Win32.Registry.dll", - "ref/net46/Microsoft.Win32.Registry.dll", - "ref/netstandard1.3/Microsoft.Win32.Registry.dll", - "ref/netstandard1.3/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/de/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/es/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/fr/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/it/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/ja/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/ko/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/ru/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/zh-hans/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/zh-hant/Microsoft.Win32.Registry.xml", - "runtimes/unix/lib/netstandard1.3/Microsoft.Win32.Registry.dll", - "runtimes/win/lib/net46/Microsoft.Win32.Registry.dll", - "runtimes/win/lib/netcore50/_._", - "runtimes/win/lib/netstandard1.3/Microsoft.Win32.Registry.dll" - ] - }, - "NETStandard.Library/1.6.0": { - "sha512": "ypsCvIdCZ4IoYASJHt6tF2fMo7N30NLgV1EbmC+snO490OMl9FvVxmumw14rhReWU3j3g7BYudG6YCrchwHJlA==", - "type": "package", - "path": "NETStandard.Library/1.6.0", - "files": [ - "NETStandard.Library.1.6.0.nupkg.sha512", - "NETStandard.Library.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt" - ] - }, - "Newtonsoft.Json/9.0.1": { - "sha512": "U82mHQSKaIk+lpSVCbWYKNavmNH1i5xrExDEquU1i6I5pV6UMOqRnJRSlKO3cMPfcpp0RgDY+8jUXHdQ4IfXvw==", - "type": "package", - "path": "Newtonsoft.Json/9.0.1", - "files": [ - "Newtonsoft.Json.9.0.1.nupkg.sha512", - "Newtonsoft.Json.nuspec", - "lib/net20/Newtonsoft.Json.dll", - "lib/net20/Newtonsoft.Json.xml", - "lib/net35/Newtonsoft.Json.dll", - "lib/net35/Newtonsoft.Json.xml", - "lib/net40/Newtonsoft.Json.dll", - "lib/net40/Newtonsoft.Json.xml", - "lib/net45/Newtonsoft.Json.dll", - "lib/net45/Newtonsoft.Json.xml", - "lib/netstandard1.0/Newtonsoft.Json.dll", - "lib/netstandard1.0/Newtonsoft.Json.xml", - "lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.dll", - "lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.xml", - "lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.dll", - "lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.xml", - "tools/install.ps1" - ] - }, - "NLog/4.4.0-betav15": { - "sha512": "LDRcdjv5VG9EWz+mnFqdSolUci+j+DBPIPjm7Xdam3xa1F9Rt7o0UpYoCnNRulqHzpKbU704o7Ad4ck9WxDhnw==", - "type": "package", - "path": "NLog/4.4.0-betav15", - "files": [ - "NLog.4.4.0-betav15.nupkg.sha512", - "NLog.nuspec", - "lib/monoandroid23/NLog.dll", - "lib/monoandroid23/NLog.xml", - "lib/net35/NLog.dll", - "lib/net35/NLog.xml", - "lib/net40/NLog.dll", - "lib/net40/NLog.xml", - "lib/net45/NLog.dll", - "lib/net45/NLog.xml", - "lib/netstandard1.3/NLog.dll", - "lib/netstandard1.3/NLog.xml", - "lib/netstandard1.5/NLog.dll", - "lib/netstandard1.5/NLog.xml", - "lib/sl40/NLog.dll", - "lib/sl40/NLog.xml", - "lib/sl50/NLog.dll", - "lib/sl50/NLog.xml", - "lib/wp80/NLog.dll", - "lib/wp80/NLog.xml", - "lib/xamarinios10/NLog.dll", - "lib/xamarinios10/NLog.xml" - ] - }, - "Portable.BouncyCastle/1.8.1.1": { - "sha512": "bKqC2Me9ukybNYTBhlYd2sJ6j2kRV7SgB+JfiP2GueYq6QdM4Ym6PYV5eyrqb6KViOyd3zqQfJp0o6UW5ZG+GQ==", - "type": "package", - "path": "Portable.BouncyCastle/1.8.1.1", - "files": [ - "Portable.BouncyCastle.1.8.1.1.nupkg.sha512", - "Portable.BouncyCastle.nuspec", - "Readme.html", - "lib/netstandard1.0/crypto.dll", - "lib/netstandard1.0/crypto.pdb", - "lib/netstandard1.0/crypto.xml", - "lib/netstandard1.3/crypto.dll", - "lib/netstandard1.3/crypto.pdb", - "lib/netstandard1.3/crypto.xml", - "lib/portable-net4+sl5+wp8+win8+wpa81/crypto.dll", - "lib/portable-net4+sl5+wp8+win8+wpa81/crypto.pdb", - "lib/portable-net4+sl5+wp8+win8+wpa81/crypto.xml" - ] - }, - "Remotion.Linq/2.1.1": { - "sha512": "IJn0BqkvwEDpP+2qjvci7n4/a9f7DhKESLWb2/uG4xQh3rTkGTBUz69bI4IivCoKkTFAqjXxYDZw2K/npohjsw==", - "type": "package", - "path": "Remotion.Linq/2.1.1", - "files": [ - "Remotion.Linq.2.1.1.nupkg.sha512", - "Remotion.Linq.nuspec", - "lib/net35/Remotion.Linq.XML", - "lib/net35/Remotion.Linq.dll", - "lib/net40/Remotion.Linq.XML", - "lib/net40/Remotion.Linq.dll", - "lib/net45/Remotion.Linq.XML", - "lib/net45/Remotion.Linq.dll", - "lib/netstandard1.0/Remotion.Linq.dll", - "lib/netstandard1.0/Remotion.Linq.xml", - "lib/portable-net45+win+wpa81+wp80/Remotion.Linq.dll", - "lib/portable-net45+win+wpa81+wp80/Remotion.Linq.xml" - ] - }, - "runtime.native.System/4.0.0": { - "sha512": "QfS/nQI7k/BLgmLrw7qm7YBoULEvgWnPI+cYsbfCVFTW8Aj+i8JhccxcFMu1RWms0YZzF+UHguNBK4Qn89e2Sg==", - "type": "package", - "path": "runtime.native.System/4.0.0", - "files": [ - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/_._", - "runtime.native.System.4.0.0.nupkg.sha512", - "runtime.native.System.nuspec" - ] - }, - "runtime.native.System.IO.Compression/4.1.0": { - "sha512": "Ob7nvnJBox1aaB222zSVZSkf4WrebPG4qFscfK7vmD7P7NxoSxACQLtO7ytWpqXDn2wcd/+45+EAZ7xjaPip8A==", - "type": "package", - "path": "runtime.native.System.IO.Compression/4.1.0", - "files": [ - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/_._", - "runtime.native.System.IO.Compression.4.1.0.nupkg.sha512", - "runtime.native.System.IO.Compression.nuspec" - ] - }, - "runtime.native.System.Net.Http/4.0.1": { - "sha512": "Nh0UPZx2Vifh8r+J+H2jxifZUD3sBrmolgiFWJd2yiNrxO0xTa6bAw3YwRn1VOiSen/tUXMS31ttNItCZ6lKuA==", - "type": "package", - "path": "runtime.native.System.Net.Http/4.0.1", - "files": [ - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/_._", - "runtime.native.System.Net.Http.4.0.1.nupkg.sha512", - "runtime.native.System.Net.Http.nuspec" - ] - }, - "runtime.native.System.Net.Security/4.0.1": { - "sha512": "Az6Ff6rZFb8nYGAaejFR6jr8ktt9f3e1Q/yKdw0pwHNTLaO/1eCAC9vzBoR9YAb0QeZD6fZXl1A9tRB5stpzXA==", - "type": "package", - "path": "runtime.native.System.Net.Security/4.0.1", - "files": [ - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/_._", - "runtime.native.System.Net.Security.4.0.1.nupkg.sha512", - "runtime.native.System.Net.Security.nuspec" - ] - }, - "runtime.native.System.Security.Cryptography/4.0.0": { - "sha512": "2CQK0jmO6Eu7ZeMgD+LOFbNJSXHFVQbCJJkEyEwowh1SCgYnrn9W9RykMfpeeVGw7h4IBvYikzpGUlmZTUafJw==", - "type": "package", - "path": "runtime.native.System.Security.Cryptography/4.0.0", - "files": [ - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/_._", - "runtime.native.System.Security.Cryptography.4.0.0.nupkg.sha512", - "runtime.native.System.Security.Cryptography.nuspec" - ] - }, - "SQLite/3.12.2": { - "sha512": "XYNQJt2eFqGluWP+fDaiNrV1v3kA+VsU2ygUjLx7zqzhIZKlAjSYMZLldmbGNnlNC5rKR+0LTrN0IA9dZkDyFw==", - "type": "package", - "path": "SQLite/3.12.2", - "files": [ - "SQLite.3.12.2.nupkg.sha512", - "SQLite.nuspec" - ] - }, - "SQLite.Native/3.12.2": { - "sha512": "/5BdEFTaCziE6K5OG0bjSUhPo+LRmFcmyriFWEZNSuHaiqSp69sVngTb/Yo8mH6JykMA79BFdCBLMW+2E3pnuA==", - "type": "package", - "path": "SQLite.Native/3.12.2", - "files": [ - "SQLite.Native.3.12.2.nupkg.sha512", - "SQLite.Native.nuspec", - "build/net45/SQLite.Native.props", - "runtimes/linux-x64/native/libsqlite3.so", - "runtimes/osx-x64/native/libsqlite3.dylib", - "runtimes/win7-x64/native/sqlite3.dll", - "runtimes/win7-x86/native/sqlite3.dll" - ] - }, - "System.AppContext/4.1.0": { - "sha512": "3QjO4jNV7PdKkmQAVp9atA+usVnKRwI3Kx1nMwJ93T0LcQfx7pKAYk0nKz5wn1oP5iqlhZuy6RXOFdhr7rDwow==", - "type": "package", - "path": "System.AppContext/4.1.0", - "files": [ - "System.AppContext.4.1.0.nupkg.sha512", - "System.AppContext.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.AppContext.dll", - "lib/net463/System.AppContext.dll", - "lib/netcore50/System.AppContext.dll", - "lib/netstandard1.6/System.AppContext.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.AppContext.dll", - "ref/net463/System.AppContext.dll", - "ref/netstandard/_._", - "ref/netstandard1.3/System.AppContext.dll", - "ref/netstandard1.3/System.AppContext.xml", - "ref/netstandard1.3/de/System.AppContext.xml", - "ref/netstandard1.3/es/System.AppContext.xml", - "ref/netstandard1.3/fr/System.AppContext.xml", - "ref/netstandard1.3/it/System.AppContext.xml", - "ref/netstandard1.3/ja/System.AppContext.xml", - "ref/netstandard1.3/ko/System.AppContext.xml", - "ref/netstandard1.3/ru/System.AppContext.xml", - "ref/netstandard1.3/zh-hans/System.AppContext.xml", - "ref/netstandard1.3/zh-hant/System.AppContext.xml", - "ref/netstandard1.6/System.AppContext.dll", - "ref/netstandard1.6/System.AppContext.xml", - "ref/netstandard1.6/de/System.AppContext.xml", - "ref/netstandard1.6/es/System.AppContext.xml", - "ref/netstandard1.6/fr/System.AppContext.xml", - "ref/netstandard1.6/it/System.AppContext.xml", - "ref/netstandard1.6/ja/System.AppContext.xml", - "ref/netstandard1.6/ko/System.AppContext.xml", - "ref/netstandard1.6/ru/System.AppContext.xml", - "ref/netstandard1.6/zh-hans/System.AppContext.xml", - "ref/netstandard1.6/zh-hant/System.AppContext.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.AppContext.dll" - ] - }, - "System.Buffers/4.0.0": { - "sha512": "msXumHfjjURSkvxUjYuq4N2ghHoRi2VpXcKMA7gK6ujQfU3vGpl+B6ld0ATRg+FZFpRyA6PgEPA+VlIkTeNf2w==", - "type": "package", - "path": "System.Buffers/4.0.0", - "files": [ - "System.Buffers.4.0.0.nupkg.sha512", - "System.Buffers.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.1/.xml", - "lib/netstandard1.1/System.Buffers.dll" - ] - }, - "System.Collections/4.0.11": { - "sha512": "YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==", - "type": "package", - "path": "System.Collections/4.0.11", - "files": [ - "System.Collections.4.0.11.nupkg.sha512", - "System.Collections.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Collections.dll", - "ref/netcore50/System.Collections.xml", - "ref/netcore50/de/System.Collections.xml", - "ref/netcore50/es/System.Collections.xml", - "ref/netcore50/fr/System.Collections.xml", - "ref/netcore50/it/System.Collections.xml", - "ref/netcore50/ja/System.Collections.xml", - "ref/netcore50/ko/System.Collections.xml", - "ref/netcore50/ru/System.Collections.xml", - "ref/netcore50/zh-hans/System.Collections.xml", - "ref/netcore50/zh-hant/System.Collections.xml", - "ref/netstandard1.0/System.Collections.dll", - "ref/netstandard1.0/System.Collections.xml", - "ref/netstandard1.0/de/System.Collections.xml", - "ref/netstandard1.0/es/System.Collections.xml", - "ref/netstandard1.0/fr/System.Collections.xml", - "ref/netstandard1.0/it/System.Collections.xml", - "ref/netstandard1.0/ja/System.Collections.xml", - "ref/netstandard1.0/ko/System.Collections.xml", - "ref/netstandard1.0/ru/System.Collections.xml", - "ref/netstandard1.0/zh-hans/System.Collections.xml", - "ref/netstandard1.0/zh-hant/System.Collections.xml", - "ref/netstandard1.3/System.Collections.dll", - "ref/netstandard1.3/System.Collections.xml", - "ref/netstandard1.3/de/System.Collections.xml", - "ref/netstandard1.3/es/System.Collections.xml", - "ref/netstandard1.3/fr/System.Collections.xml", - "ref/netstandard1.3/it/System.Collections.xml", - "ref/netstandard1.3/ja/System.Collections.xml", - "ref/netstandard1.3/ko/System.Collections.xml", - "ref/netstandard1.3/ru/System.Collections.xml", - "ref/netstandard1.3/zh-hans/System.Collections.xml", - "ref/netstandard1.3/zh-hant/System.Collections.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Collections.Concurrent/4.0.12": { - "sha512": "2gBcbb3drMLgxlI0fBfxMA31ec6AEyYCHygGse4vxceJan8mRIWeKJ24BFzN7+bi/NFTgdIgufzb94LWO5EERQ==", - "type": "package", - "path": "System.Collections.Concurrent/4.0.12", - "files": [ - "System.Collections.Concurrent.4.0.12.nupkg.sha512", - "System.Collections.Concurrent.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Collections.Concurrent.dll", - "lib/netstandard1.3/System.Collections.Concurrent.dll", - "lib/portable-net45+win8+wpa81/_._", - "lib/win8/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Collections.Concurrent.dll", - "ref/netcore50/System.Collections.Concurrent.xml", - "ref/netcore50/de/System.Collections.Concurrent.xml", - "ref/netcore50/es/System.Collections.Concurrent.xml", - "ref/netcore50/fr/System.Collections.Concurrent.xml", - "ref/netcore50/it/System.Collections.Concurrent.xml", - "ref/netcore50/ja/System.Collections.Concurrent.xml", - "ref/netcore50/ko/System.Collections.Concurrent.xml", - "ref/netcore50/ru/System.Collections.Concurrent.xml", - "ref/netcore50/zh-hans/System.Collections.Concurrent.xml", - "ref/netcore50/zh-hant/System.Collections.Concurrent.xml", - "ref/netstandard1.1/System.Collections.Concurrent.dll", - "ref/netstandard1.1/System.Collections.Concurrent.xml", - "ref/netstandard1.1/de/System.Collections.Concurrent.xml", - "ref/netstandard1.1/es/System.Collections.Concurrent.xml", - "ref/netstandard1.1/fr/System.Collections.Concurrent.xml", - "ref/netstandard1.1/it/System.Collections.Concurrent.xml", - "ref/netstandard1.1/ja/System.Collections.Concurrent.xml", - "ref/netstandard1.1/ko/System.Collections.Concurrent.xml", - "ref/netstandard1.1/ru/System.Collections.Concurrent.xml", - "ref/netstandard1.1/zh-hans/System.Collections.Concurrent.xml", - "ref/netstandard1.1/zh-hant/System.Collections.Concurrent.xml", - "ref/netstandard1.3/System.Collections.Concurrent.dll", - "ref/netstandard1.3/System.Collections.Concurrent.xml", - "ref/netstandard1.3/de/System.Collections.Concurrent.xml", - "ref/netstandard1.3/es/System.Collections.Concurrent.xml", - "ref/netstandard1.3/fr/System.Collections.Concurrent.xml", - "ref/netstandard1.3/it/System.Collections.Concurrent.xml", - "ref/netstandard1.3/ja/System.Collections.Concurrent.xml", - "ref/netstandard1.3/ko/System.Collections.Concurrent.xml", - "ref/netstandard1.3/ru/System.Collections.Concurrent.xml", - "ref/netstandard1.3/zh-hans/System.Collections.Concurrent.xml", - "ref/netstandard1.3/zh-hant/System.Collections.Concurrent.xml", - "ref/portable-net45+win8+wpa81/_._", - "ref/win8/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Collections.Immutable/1.2.0": { - "sha512": "Cma8cBW6di16ZLibL8LYQ+cLjGzoKxpOTu/faZfDcx94ZjAGq6Nv5RO7+T1YZXqEXTZP9rt1wLVEONVpURtUqw==", - "type": "package", - "path": "System.Collections.Immutable/1.2.0", - "files": [ - "System.Collections.Immutable.1.2.0.nupkg.sha512", - "System.Collections.Immutable.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/System.Collections.Immutable.dll", - "lib/netstandard1.0/System.Collections.Immutable.xml", - "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll", - "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.xml" - ] - }, - "System.Collections.NonGeneric/4.0.1": { - "sha512": "hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==", - "type": "package", - "path": "System.Collections.NonGeneric/4.0.1", - "files": [ - "System.Collections.NonGeneric.4.0.1.nupkg.sha512", - "System.Collections.NonGeneric.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Collections.NonGeneric.dll", - "lib/netstandard1.3/System.Collections.NonGeneric.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Collections.NonGeneric.dll", - "ref/netstandard1.3/System.Collections.NonGeneric.dll", - "ref/netstandard1.3/System.Collections.NonGeneric.xml", - "ref/netstandard1.3/de/System.Collections.NonGeneric.xml", - "ref/netstandard1.3/es/System.Collections.NonGeneric.xml", - "ref/netstandard1.3/fr/System.Collections.NonGeneric.xml", - "ref/netstandard1.3/it/System.Collections.NonGeneric.xml", - "ref/netstandard1.3/ja/System.Collections.NonGeneric.xml", - "ref/netstandard1.3/ko/System.Collections.NonGeneric.xml", - "ref/netstandard1.3/ru/System.Collections.NonGeneric.xml", - "ref/netstandard1.3/zh-hans/System.Collections.NonGeneric.xml", - "ref/netstandard1.3/zh-hant/System.Collections.NonGeneric.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Collections.Specialized/4.0.1": { - "sha512": "/HKQyVP0yH1I0YtK7KJL/28snxHNH/bi+0lgk/+MbURF6ULhAE31MDI+NZDerNWu264YbxklXCCygISgm+HMug==", - "type": "package", - "path": "System.Collections.Specialized/4.0.1", - "files": [ - "System.Collections.Specialized.4.0.1.nupkg.sha512", - "System.Collections.Specialized.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Collections.Specialized.dll", - "lib/netstandard1.3/System.Collections.Specialized.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Collections.Specialized.dll", - "ref/netstandard1.3/System.Collections.Specialized.dll", - "ref/netstandard1.3/System.Collections.Specialized.xml", - "ref/netstandard1.3/de/System.Collections.Specialized.xml", - "ref/netstandard1.3/es/System.Collections.Specialized.xml", - "ref/netstandard1.3/fr/System.Collections.Specialized.xml", - "ref/netstandard1.3/it/System.Collections.Specialized.xml", - "ref/netstandard1.3/ja/System.Collections.Specialized.xml", - "ref/netstandard1.3/ko/System.Collections.Specialized.xml", - "ref/netstandard1.3/ru/System.Collections.Specialized.xml", - "ref/netstandard1.3/zh-hans/System.Collections.Specialized.xml", - "ref/netstandard1.3/zh-hant/System.Collections.Specialized.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.ComponentModel/4.0.1": { - "sha512": "oBZFnm7seFiVfugsIyOvQCWobNZs7FzqDV/B7tx20Ep/l3UUFCPDkdTnCNaJZTU27zjeODmy2C/cP60u3D4c9w==", - "type": "package", - "path": "System.ComponentModel/4.0.1", - "files": [ - "System.ComponentModel.4.0.1.nupkg.sha512", - "System.ComponentModel.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.ComponentModel.dll", - "lib/netstandard1.3/System.ComponentModel.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.ComponentModel.dll", - "ref/netcore50/System.ComponentModel.xml", - "ref/netcore50/de/System.ComponentModel.xml", - "ref/netcore50/es/System.ComponentModel.xml", - "ref/netcore50/fr/System.ComponentModel.xml", - "ref/netcore50/it/System.ComponentModel.xml", - "ref/netcore50/ja/System.ComponentModel.xml", - "ref/netcore50/ko/System.ComponentModel.xml", - "ref/netcore50/ru/System.ComponentModel.xml", - "ref/netcore50/zh-hans/System.ComponentModel.xml", - "ref/netcore50/zh-hant/System.ComponentModel.xml", - "ref/netstandard1.0/System.ComponentModel.dll", - "ref/netstandard1.0/System.ComponentModel.xml", - "ref/netstandard1.0/de/System.ComponentModel.xml", - "ref/netstandard1.0/es/System.ComponentModel.xml", - "ref/netstandard1.0/fr/System.ComponentModel.xml", - "ref/netstandard1.0/it/System.ComponentModel.xml", - "ref/netstandard1.0/ja/System.ComponentModel.xml", - "ref/netstandard1.0/ko/System.ComponentModel.xml", - "ref/netstandard1.0/ru/System.ComponentModel.xml", - "ref/netstandard1.0/zh-hans/System.ComponentModel.xml", - "ref/netstandard1.0/zh-hant/System.ComponentModel.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.ComponentModel.Annotations/4.1.0": { - "sha512": "rhnz80h8NnHJzoi0nbQJLRR2cJznyqG168q1bgoSpe5qpaME2SguXzuEzpY68nFCi2kBgHpbU4bRN2cP3unYRA==", - "type": "package", - "path": "System.ComponentModel.Annotations/4.1.0", - "files": [ - "System.ComponentModel.Annotations.4.1.0.nupkg.sha512", - "System.ComponentModel.Annotations.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net461/System.ComponentModel.Annotations.dll", - "lib/netcore50/System.ComponentModel.Annotations.dll", - "lib/netstandard1.4/System.ComponentModel.Annotations.dll", - "lib/portable-net45+win8/_._", - "lib/win8/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net461/System.ComponentModel.Annotations.dll", - "ref/netcore50/System.ComponentModel.Annotations.dll", - "ref/netcore50/System.ComponentModel.Annotations.xml", - "ref/netcore50/de/System.ComponentModel.Annotations.xml", - "ref/netcore50/es/System.ComponentModel.Annotations.xml", - "ref/netcore50/fr/System.ComponentModel.Annotations.xml", - "ref/netcore50/it/System.ComponentModel.Annotations.xml", - "ref/netcore50/ja/System.ComponentModel.Annotations.xml", - "ref/netcore50/ko/System.ComponentModel.Annotations.xml", - "ref/netcore50/ru/System.ComponentModel.Annotations.xml", - "ref/netcore50/zh-hans/System.ComponentModel.Annotations.xml", - "ref/netcore50/zh-hant/System.ComponentModel.Annotations.xml", - "ref/netstandard1.1/System.ComponentModel.Annotations.dll", - "ref/netstandard1.1/System.ComponentModel.Annotations.xml", - "ref/netstandard1.1/de/System.ComponentModel.Annotations.xml", - "ref/netstandard1.1/es/System.ComponentModel.Annotations.xml", - "ref/netstandard1.1/fr/System.ComponentModel.Annotations.xml", - "ref/netstandard1.1/it/System.ComponentModel.Annotations.xml", - "ref/netstandard1.1/ja/System.ComponentModel.Annotations.xml", - "ref/netstandard1.1/ko/System.ComponentModel.Annotations.xml", - "ref/netstandard1.1/ru/System.ComponentModel.Annotations.xml", - "ref/netstandard1.1/zh-hans/System.ComponentModel.Annotations.xml", - "ref/netstandard1.1/zh-hant/System.ComponentModel.Annotations.xml", - "ref/netstandard1.3/System.ComponentModel.Annotations.dll", - "ref/netstandard1.3/System.ComponentModel.Annotations.xml", - "ref/netstandard1.3/de/System.ComponentModel.Annotations.xml", - "ref/netstandard1.3/es/System.ComponentModel.Annotations.xml", - "ref/netstandard1.3/fr/System.ComponentModel.Annotations.xml", - "ref/netstandard1.3/it/System.ComponentModel.Annotations.xml", - "ref/netstandard1.3/ja/System.ComponentModel.Annotations.xml", - "ref/netstandard1.3/ko/System.ComponentModel.Annotations.xml", - "ref/netstandard1.3/ru/System.ComponentModel.Annotations.xml", - "ref/netstandard1.3/zh-hans/System.ComponentModel.Annotations.xml", - "ref/netstandard1.3/zh-hant/System.ComponentModel.Annotations.xml", - "ref/netstandard1.4/System.ComponentModel.Annotations.dll", - "ref/netstandard1.4/System.ComponentModel.Annotations.xml", - "ref/netstandard1.4/de/System.ComponentModel.Annotations.xml", - "ref/netstandard1.4/es/System.ComponentModel.Annotations.xml", - "ref/netstandard1.4/fr/System.ComponentModel.Annotations.xml", - "ref/netstandard1.4/it/System.ComponentModel.Annotations.xml", - "ref/netstandard1.4/ja/System.ComponentModel.Annotations.xml", - "ref/netstandard1.4/ko/System.ComponentModel.Annotations.xml", - "ref/netstandard1.4/ru/System.ComponentModel.Annotations.xml", - "ref/netstandard1.4/zh-hans/System.ComponentModel.Annotations.xml", - "ref/netstandard1.4/zh-hant/System.ComponentModel.Annotations.xml", - "ref/portable-net45+win8/_._", - "ref/win8/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.ComponentModel.Primitives/4.1.0": { - "sha512": "sc/7eVCdxPrp3ljpgTKVaQGUXiW05phNWvtv/m2kocXqrUQvTVWKou1Edas2aDjTThLPZOxPYIGNb/HN0QjURg==", - "type": "package", - "path": "System.ComponentModel.Primitives/4.1.0", - "files": [ - "System.ComponentModel.Primitives.4.1.0.nupkg.sha512", - "System.ComponentModel.Primitives.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/System.ComponentModel.Primitives.dll", - "lib/netstandard1.0/System.ComponentModel.Primitives.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/System.ComponentModel.Primitives.dll", - "ref/netstandard1.0/System.ComponentModel.Primitives.dll", - "ref/netstandard1.0/System.ComponentModel.Primitives.xml", - "ref/netstandard1.0/de/System.ComponentModel.Primitives.xml", - "ref/netstandard1.0/es/System.ComponentModel.Primitives.xml", - "ref/netstandard1.0/fr/System.ComponentModel.Primitives.xml", - "ref/netstandard1.0/it/System.ComponentModel.Primitives.xml", - "ref/netstandard1.0/ja/System.ComponentModel.Primitives.xml", - "ref/netstandard1.0/ko/System.ComponentModel.Primitives.xml", - "ref/netstandard1.0/ru/System.ComponentModel.Primitives.xml", - "ref/netstandard1.0/zh-hans/System.ComponentModel.Primitives.xml", - "ref/netstandard1.0/zh-hant/System.ComponentModel.Primitives.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.ComponentModel.TypeConverter/4.1.0": { - "sha512": "MnDAlaeJZy9pdB5ZdOlwdxfpI+LJQ6e0hmH7d2+y2LkiD8DRJynyDYl4Xxf3fWFm7SbEwBZh4elcfzONQLOoQw==", - "type": "package", - "path": "System.ComponentModel.TypeConverter/4.1.0", - "files": [ - "System.ComponentModel.TypeConverter.4.1.0.nupkg.sha512", - "System.ComponentModel.TypeConverter.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/System.ComponentModel.TypeConverter.dll", - "lib/net462/System.ComponentModel.TypeConverter.dll", - "lib/netstandard1.0/System.ComponentModel.TypeConverter.dll", - "lib/netstandard1.5/System.ComponentModel.TypeConverter.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/System.ComponentModel.TypeConverter.dll", - "ref/net462/System.ComponentModel.TypeConverter.dll", - "ref/netstandard1.0/System.ComponentModel.TypeConverter.dll", - "ref/netstandard1.0/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.0/de/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.0/es/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.0/fr/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.0/it/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.0/ja/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.0/ko/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.0/ru/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.0/zh-hans/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.0/zh-hant/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.5/System.ComponentModel.TypeConverter.dll", - "ref/netstandard1.5/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.5/de/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.5/es/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.5/fr/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.5/it/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.5/ja/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.5/ko/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.5/ru/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.5/zh-hans/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.5/zh-hant/System.ComponentModel.TypeConverter.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Console/4.0.0": { - "sha512": "qSKUSOIiYA/a0g5XXdxFcUFmv1hNICBD7QZ0QhGYVipPIhvpiydY8VZqr1thmCXvmn8aipMg64zuanB4eotK9A==", - "type": "package", - "path": "System.Console/4.0.0", - "files": [ - "System.Console.4.0.0.nupkg.sha512", - "System.Console.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Console.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Console.dll", - "ref/netstandard1.3/System.Console.dll", - "ref/netstandard1.3/System.Console.xml", - "ref/netstandard1.3/de/System.Console.xml", - "ref/netstandard1.3/es/System.Console.xml", - "ref/netstandard1.3/fr/System.Console.xml", - "ref/netstandard1.3/it/System.Console.xml", - "ref/netstandard1.3/ja/System.Console.xml", - "ref/netstandard1.3/ko/System.Console.xml", - "ref/netstandard1.3/ru/System.Console.xml", - "ref/netstandard1.3/zh-hans/System.Console.xml", - "ref/netstandard1.3/zh-hant/System.Console.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Data.Common/4.1.0": { - "sha512": "epU8jeTe7aE7RqGHq9rZ8b0Q4Ah7DgubzHQblgZMSqgW1saW868WmooSyC5ywf8upLBkcVLDu93W9GPWUYsU2Q==", - "type": "package", - "path": "System.Data.Common/4.1.0", - "files": [ - "System.Data.Common.4.1.0.nupkg.sha512", - "System.Data.Common.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net451/System.Data.Common.dll", - "lib/netstandard1.2/System.Data.Common.dll", - "lib/portable-net451+win8+wp8+wpa81/System.Data.Common.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net451/System.Data.Common.dll", - "ref/netstandard1.2/System.Data.Common.dll", - "ref/netstandard1.2/System.Data.Common.xml", - "ref/netstandard1.2/de/System.Data.Common.xml", - "ref/netstandard1.2/es/System.Data.Common.xml", - "ref/netstandard1.2/fr/System.Data.Common.xml", - "ref/netstandard1.2/it/System.Data.Common.xml", - "ref/netstandard1.2/ja/System.Data.Common.xml", - "ref/netstandard1.2/ko/System.Data.Common.xml", - "ref/netstandard1.2/ru/System.Data.Common.xml", - "ref/netstandard1.2/zh-hans/System.Data.Common.xml", - "ref/netstandard1.2/zh-hant/System.Data.Common.xml", - "ref/portable-net451+win8+wp8+wpa81/System.Data.Common.dll", - "ref/portable-net451+win8+wp8+wpa81/System.Data.Common.xml", - "ref/portable-net451+win8+wp8+wpa81/de/System.Data.Common.xml", - "ref/portable-net451+win8+wp8+wpa81/es/System.Data.Common.xml", - "ref/portable-net451+win8+wp8+wpa81/fr/System.Data.Common.xml", - "ref/portable-net451+win8+wp8+wpa81/it/System.Data.Common.xml", - "ref/portable-net451+win8+wp8+wpa81/ja/System.Data.Common.xml", - "ref/portable-net451+win8+wp8+wpa81/ko/System.Data.Common.xml", - "ref/portable-net451+win8+wp8+wpa81/ru/System.Data.Common.xml", - "ref/portable-net451+win8+wp8+wpa81/zh-hans/System.Data.Common.xml", - "ref/portable-net451+win8+wp8+wpa81/zh-hant/System.Data.Common.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Diagnostics.Contracts/4.0.1": { - "sha512": "HvQQjy712vnlpPxaloZYkuE78Gn353L0SJLJVeLcNASeg9c4qla2a1Xq8I7B3jZoDzKPtHTkyVO7AZ5tpeQGuA==", - "type": "package", - "path": "System.Diagnostics.Contracts/4.0.1", - "files": [ - "System.Diagnostics.Contracts.4.0.1.nupkg.sha512", - "System.Diagnostics.Contracts.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Diagnostics.Contracts.dll", - "lib/netstandard1.0/System.Diagnostics.Contracts.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Diagnostics.Contracts.dll", - "ref/netcore50/System.Diagnostics.Contracts.xml", - "ref/netcore50/de/System.Diagnostics.Contracts.xml", - "ref/netcore50/es/System.Diagnostics.Contracts.xml", - "ref/netcore50/fr/System.Diagnostics.Contracts.xml", - "ref/netcore50/it/System.Diagnostics.Contracts.xml", - "ref/netcore50/ja/System.Diagnostics.Contracts.xml", - "ref/netcore50/ko/System.Diagnostics.Contracts.xml", - "ref/netcore50/ru/System.Diagnostics.Contracts.xml", - "ref/netcore50/zh-hans/System.Diagnostics.Contracts.xml", - "ref/netcore50/zh-hant/System.Diagnostics.Contracts.xml", - "ref/netstandard1.0/System.Diagnostics.Contracts.dll", - "ref/netstandard1.0/System.Diagnostics.Contracts.xml", - "ref/netstandard1.0/de/System.Diagnostics.Contracts.xml", - "ref/netstandard1.0/es/System.Diagnostics.Contracts.xml", - "ref/netstandard1.0/fr/System.Diagnostics.Contracts.xml", - "ref/netstandard1.0/it/System.Diagnostics.Contracts.xml", - "ref/netstandard1.0/ja/System.Diagnostics.Contracts.xml", - "ref/netstandard1.0/ko/System.Diagnostics.Contracts.xml", - "ref/netstandard1.0/ru/System.Diagnostics.Contracts.xml", - "ref/netstandard1.0/zh-hans/System.Diagnostics.Contracts.xml", - "ref/netstandard1.0/zh-hant/System.Diagnostics.Contracts.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Diagnostics.Contracts.dll" - ] - }, - "System.Diagnostics.Debug/4.0.11": { - "sha512": "w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==", - "type": "package", - "path": "System.Diagnostics.Debug/4.0.11", - "files": [ - "System.Diagnostics.Debug.4.0.11.nupkg.sha512", - "System.Diagnostics.Debug.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Diagnostics.Debug.dll", - "ref/netcore50/System.Diagnostics.Debug.xml", - "ref/netcore50/de/System.Diagnostics.Debug.xml", - "ref/netcore50/es/System.Diagnostics.Debug.xml", - "ref/netcore50/fr/System.Diagnostics.Debug.xml", - "ref/netcore50/it/System.Diagnostics.Debug.xml", - "ref/netcore50/ja/System.Diagnostics.Debug.xml", - "ref/netcore50/ko/System.Diagnostics.Debug.xml", - "ref/netcore50/ru/System.Diagnostics.Debug.xml", - "ref/netcore50/zh-hans/System.Diagnostics.Debug.xml", - "ref/netcore50/zh-hant/System.Diagnostics.Debug.xml", - "ref/netstandard1.0/System.Diagnostics.Debug.dll", - "ref/netstandard1.0/System.Diagnostics.Debug.xml", - "ref/netstandard1.0/de/System.Diagnostics.Debug.xml", - "ref/netstandard1.0/es/System.Diagnostics.Debug.xml", - "ref/netstandard1.0/fr/System.Diagnostics.Debug.xml", - "ref/netstandard1.0/it/System.Diagnostics.Debug.xml", - "ref/netstandard1.0/ja/System.Diagnostics.Debug.xml", - "ref/netstandard1.0/ko/System.Diagnostics.Debug.xml", - "ref/netstandard1.0/ru/System.Diagnostics.Debug.xml", - "ref/netstandard1.0/zh-hans/System.Diagnostics.Debug.xml", - "ref/netstandard1.0/zh-hant/System.Diagnostics.Debug.xml", - "ref/netstandard1.3/System.Diagnostics.Debug.dll", - "ref/netstandard1.3/System.Diagnostics.Debug.xml", - "ref/netstandard1.3/de/System.Diagnostics.Debug.xml", - "ref/netstandard1.3/es/System.Diagnostics.Debug.xml", - "ref/netstandard1.3/fr/System.Diagnostics.Debug.xml", - "ref/netstandard1.3/it/System.Diagnostics.Debug.xml", - "ref/netstandard1.3/ja/System.Diagnostics.Debug.xml", - "ref/netstandard1.3/ko/System.Diagnostics.Debug.xml", - "ref/netstandard1.3/ru/System.Diagnostics.Debug.xml", - "ref/netstandard1.3/zh-hans/System.Diagnostics.Debug.xml", - "ref/netstandard1.3/zh-hant/System.Diagnostics.Debug.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Diagnostics.DiagnosticSource/4.0.0": { - "sha512": "YKglnq4BMTJxfcr6nuT08g+yJ0UxdePIHxosiLuljuHIUR6t4KhFsyaHOaOc1Ofqp0PUvJ0EmcgiEz6T7vEx3w==", - "type": "package", - "path": "System.Diagnostics.DiagnosticSource/4.0.0", - "files": [ - "System.Diagnostics.DiagnosticSource.4.0.0.nupkg.sha512", - "System.Diagnostics.DiagnosticSource.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/net46/System.Diagnostics.DiagnosticSource.dll", - "lib/net46/System.Diagnostics.DiagnosticSource.xml", - "lib/netstandard1.1/System.Diagnostics.DiagnosticSource.dll", - "lib/netstandard1.1/System.Diagnostics.DiagnosticSource.xml", - "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll", - "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.xml", - "lib/portable-net45+win8+wpa81/System.Diagnostics.DiagnosticSource.dll", - "lib/portable-net45+win8+wpa81/System.Diagnostics.DiagnosticSource.xml" - ] - }, - "System.Diagnostics.FileVersionInfo/4.0.0": { - "sha512": "qjF74OTAU+mRhLaL4YSfiWy3vj6T3AOz8AW37l5zCwfbBfj0k7E94XnEsRaf2TnhE/7QaV6Hvqakoy2LoV8MVg==", - "type": "package", - "path": "System.Diagnostics.FileVersionInfo/4.0.0", - "files": [ - "System.Diagnostics.FileVersionInfo.4.0.0.nupkg.sha512", - "System.Diagnostics.FileVersionInfo.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Diagnostics.FileVersionInfo.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Diagnostics.FileVersionInfo.dll", - "ref/netstandard1.3/System.Diagnostics.FileVersionInfo.dll", - "ref/netstandard1.3/System.Diagnostics.FileVersionInfo.xml", - "ref/netstandard1.3/de/System.Diagnostics.FileVersionInfo.xml", - "ref/netstandard1.3/es/System.Diagnostics.FileVersionInfo.xml", - "ref/netstandard1.3/fr/System.Diagnostics.FileVersionInfo.xml", - "ref/netstandard1.3/it/System.Diagnostics.FileVersionInfo.xml", - "ref/netstandard1.3/ja/System.Diagnostics.FileVersionInfo.xml", - "ref/netstandard1.3/ko/System.Diagnostics.FileVersionInfo.xml", - "ref/netstandard1.3/ru/System.Diagnostics.FileVersionInfo.xml", - "ref/netstandard1.3/zh-hans/System.Diagnostics.FileVersionInfo.xml", - "ref/netstandard1.3/zh-hant/System.Diagnostics.FileVersionInfo.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.Diagnostics.FileVersionInfo.dll", - "runtimes/win/lib/net46/System.Diagnostics.FileVersionInfo.dll", - "runtimes/win/lib/netcore50/System.Diagnostics.FileVersionInfo.dll", - "runtimes/win/lib/netstandard1.3/System.Diagnostics.FileVersionInfo.dll" - ] - }, - "System.Diagnostics.Process/4.1.0": { - "sha512": "mpVZ5bnlSs3tTeJ6jYyDJEIa6tavhAd88lxq1zbYhkkCu0Pno2+gHXcvZcoygq2d8JxW3gojXqNJMTAshduqZA==", - "type": "package", - "path": "System.Diagnostics.Process/4.1.0", - "files": [ - "System.Diagnostics.Process.4.1.0.nupkg.sha512", - "System.Diagnostics.Process.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Diagnostics.Process.dll", - "lib/net461/System.Diagnostics.Process.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Diagnostics.Process.dll", - "ref/net461/System.Diagnostics.Process.dll", - "ref/netstandard1.3/System.Diagnostics.Process.dll", - "ref/netstandard1.3/System.Diagnostics.Process.xml", - "ref/netstandard1.3/de/System.Diagnostics.Process.xml", - "ref/netstandard1.3/es/System.Diagnostics.Process.xml", - "ref/netstandard1.3/fr/System.Diagnostics.Process.xml", - "ref/netstandard1.3/it/System.Diagnostics.Process.xml", - "ref/netstandard1.3/ja/System.Diagnostics.Process.xml", - "ref/netstandard1.3/ko/System.Diagnostics.Process.xml", - "ref/netstandard1.3/ru/System.Diagnostics.Process.xml", - "ref/netstandard1.3/zh-hans/System.Diagnostics.Process.xml", - "ref/netstandard1.3/zh-hant/System.Diagnostics.Process.xml", - "ref/netstandard1.4/System.Diagnostics.Process.dll", - "ref/netstandard1.4/System.Diagnostics.Process.xml", - "ref/netstandard1.4/de/System.Diagnostics.Process.xml", - "ref/netstandard1.4/es/System.Diagnostics.Process.xml", - "ref/netstandard1.4/fr/System.Diagnostics.Process.xml", - "ref/netstandard1.4/it/System.Diagnostics.Process.xml", - "ref/netstandard1.4/ja/System.Diagnostics.Process.xml", - "ref/netstandard1.4/ko/System.Diagnostics.Process.xml", - "ref/netstandard1.4/ru/System.Diagnostics.Process.xml", - "ref/netstandard1.4/zh-hans/System.Diagnostics.Process.xml", - "ref/netstandard1.4/zh-hant/System.Diagnostics.Process.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/linux/lib/netstandard1.4/System.Diagnostics.Process.dll", - "runtimes/osx/lib/netstandard1.4/System.Diagnostics.Process.dll", - "runtimes/win/lib/net46/System.Diagnostics.Process.dll", - "runtimes/win/lib/net461/System.Diagnostics.Process.dll", - "runtimes/win/lib/netstandard1.4/System.Diagnostics.Process.dll", - "runtimes/win7/lib/netcore50/_._" - ] - }, - "System.Diagnostics.StackTrace/4.0.1": { - "sha512": "6i2EbRq0lgGfiZ+FDf0gVaw9qeEU+7IS2+wbZJmFVpvVzVOgZEt0ScZtyenuBvs6iDYbGiF51bMAa0oDP/tujQ==", - "type": "package", - "path": "System.Diagnostics.StackTrace/4.0.1", - "files": [ - "System.Diagnostics.StackTrace.4.0.1.nupkg.sha512", - "System.Diagnostics.StackTrace.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Diagnostics.StackTrace.dll", - "lib/netstandard1.3/System.Diagnostics.StackTrace.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Diagnostics.StackTrace.dll", - "ref/netstandard1.3/System.Diagnostics.StackTrace.dll", - "ref/netstandard1.3/System.Diagnostics.StackTrace.xml", - "ref/netstandard1.3/de/System.Diagnostics.StackTrace.xml", - "ref/netstandard1.3/es/System.Diagnostics.StackTrace.xml", - "ref/netstandard1.3/fr/System.Diagnostics.StackTrace.xml", - "ref/netstandard1.3/it/System.Diagnostics.StackTrace.xml", - "ref/netstandard1.3/ja/System.Diagnostics.StackTrace.xml", - "ref/netstandard1.3/ko/System.Diagnostics.StackTrace.xml", - "ref/netstandard1.3/ru/System.Diagnostics.StackTrace.xml", - "ref/netstandard1.3/zh-hans/System.Diagnostics.StackTrace.xml", - "ref/netstandard1.3/zh-hant/System.Diagnostics.StackTrace.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Diagnostics.StackTrace.dll" - ] - }, - "System.Diagnostics.Tools/4.0.1": { - "sha512": "xBfJ8pnd4C17dWaC9FM6aShzbJcRNMChUMD42I6772KGGrqaFdumwhn9OdM68erj1ueNo3xdQ1EwiFjK5k8p0g==", - "type": "package", - "path": "System.Diagnostics.Tools/4.0.1", - "files": [ - "System.Diagnostics.Tools.4.0.1.nupkg.sha512", - "System.Diagnostics.Tools.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Diagnostics.Tools.dll", - "ref/netcore50/System.Diagnostics.Tools.xml", - "ref/netcore50/de/System.Diagnostics.Tools.xml", - "ref/netcore50/es/System.Diagnostics.Tools.xml", - "ref/netcore50/fr/System.Diagnostics.Tools.xml", - "ref/netcore50/it/System.Diagnostics.Tools.xml", - "ref/netcore50/ja/System.Diagnostics.Tools.xml", - "ref/netcore50/ko/System.Diagnostics.Tools.xml", - "ref/netcore50/ru/System.Diagnostics.Tools.xml", - "ref/netcore50/zh-hans/System.Diagnostics.Tools.xml", - "ref/netcore50/zh-hant/System.Diagnostics.Tools.xml", - "ref/netstandard1.0/System.Diagnostics.Tools.dll", - "ref/netstandard1.0/System.Diagnostics.Tools.xml", - "ref/netstandard1.0/de/System.Diagnostics.Tools.xml", - "ref/netstandard1.0/es/System.Diagnostics.Tools.xml", - "ref/netstandard1.0/fr/System.Diagnostics.Tools.xml", - "ref/netstandard1.0/it/System.Diagnostics.Tools.xml", - "ref/netstandard1.0/ja/System.Diagnostics.Tools.xml", - "ref/netstandard1.0/ko/System.Diagnostics.Tools.xml", - "ref/netstandard1.0/ru/System.Diagnostics.Tools.xml", - "ref/netstandard1.0/zh-hans/System.Diagnostics.Tools.xml", - "ref/netstandard1.0/zh-hant/System.Diagnostics.Tools.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Diagnostics.TraceSource/4.0.0": { - "sha512": "6WVCczFZKXwpWpzd/iJkYnsmWTSFFiU24Xx/YdHXBcu+nFI/ehTgeqdJQFbtRPzbrO3KtRNjvkhtj4t5/WwWsA==", - "type": "package", - "path": "System.Diagnostics.TraceSource/4.0.0", - "files": [ - "System.Diagnostics.TraceSource.4.0.0.nupkg.sha512", - "System.Diagnostics.TraceSource.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Diagnostics.TraceSource.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Diagnostics.TraceSource.dll", - "ref/netstandard1.3/System.Diagnostics.TraceSource.dll", - "ref/netstandard1.3/System.Diagnostics.TraceSource.xml", - "ref/netstandard1.3/de/System.Diagnostics.TraceSource.xml", - "ref/netstandard1.3/es/System.Diagnostics.TraceSource.xml", - "ref/netstandard1.3/fr/System.Diagnostics.TraceSource.xml", - "ref/netstandard1.3/it/System.Diagnostics.TraceSource.xml", - "ref/netstandard1.3/ja/System.Diagnostics.TraceSource.xml", - "ref/netstandard1.3/ko/System.Diagnostics.TraceSource.xml", - "ref/netstandard1.3/ru/System.Diagnostics.TraceSource.xml", - "ref/netstandard1.3/zh-hans/System.Diagnostics.TraceSource.xml", - "ref/netstandard1.3/zh-hant/System.Diagnostics.TraceSource.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.Diagnostics.TraceSource.dll", - "runtimes/win/lib/net46/System.Diagnostics.TraceSource.dll", - "runtimes/win/lib/netstandard1.3/System.Diagnostics.TraceSource.dll" - ] - }, - "System.Diagnostics.Tracing/4.1.0": { - "sha512": "vDN1PoMZCkkdNjvZLql592oYJZgS7URcJzJ7bxeBgGtx5UtR5leNm49VmfHGqIffX4FKacHbI3H6UyNSHQknBg==", - "type": "package", - "path": "System.Diagnostics.Tracing/4.1.0", - "files": [ - "System.Diagnostics.Tracing.4.1.0.nupkg.sha512", - "System.Diagnostics.Tracing.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net462/System.Diagnostics.Tracing.dll", - "lib/portable-net45+win8+wpa81/_._", - "lib/win8/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net462/System.Diagnostics.Tracing.dll", - "ref/netcore50/System.Diagnostics.Tracing.dll", - "ref/netcore50/System.Diagnostics.Tracing.xml", - "ref/netcore50/de/System.Diagnostics.Tracing.xml", - "ref/netcore50/es/System.Diagnostics.Tracing.xml", - "ref/netcore50/fr/System.Diagnostics.Tracing.xml", - "ref/netcore50/it/System.Diagnostics.Tracing.xml", - "ref/netcore50/ja/System.Diagnostics.Tracing.xml", - "ref/netcore50/ko/System.Diagnostics.Tracing.xml", - "ref/netcore50/ru/System.Diagnostics.Tracing.xml", - "ref/netcore50/zh-hans/System.Diagnostics.Tracing.xml", - "ref/netcore50/zh-hant/System.Diagnostics.Tracing.xml", - "ref/netstandard1.1/System.Diagnostics.Tracing.dll", - "ref/netstandard1.1/System.Diagnostics.Tracing.xml", - "ref/netstandard1.1/de/System.Diagnostics.Tracing.xml", - "ref/netstandard1.1/es/System.Diagnostics.Tracing.xml", - "ref/netstandard1.1/fr/System.Diagnostics.Tracing.xml", - "ref/netstandard1.1/it/System.Diagnostics.Tracing.xml", - "ref/netstandard1.1/ja/System.Diagnostics.Tracing.xml", - "ref/netstandard1.1/ko/System.Diagnostics.Tracing.xml", - "ref/netstandard1.1/ru/System.Diagnostics.Tracing.xml", - "ref/netstandard1.1/zh-hans/System.Diagnostics.Tracing.xml", - "ref/netstandard1.1/zh-hant/System.Diagnostics.Tracing.xml", - "ref/netstandard1.2/System.Diagnostics.Tracing.dll", - "ref/netstandard1.2/System.Diagnostics.Tracing.xml", - "ref/netstandard1.2/de/System.Diagnostics.Tracing.xml", - "ref/netstandard1.2/es/System.Diagnostics.Tracing.xml", - "ref/netstandard1.2/fr/System.Diagnostics.Tracing.xml", - "ref/netstandard1.2/it/System.Diagnostics.Tracing.xml", - "ref/netstandard1.2/ja/System.Diagnostics.Tracing.xml", - "ref/netstandard1.2/ko/System.Diagnostics.Tracing.xml", - "ref/netstandard1.2/ru/System.Diagnostics.Tracing.xml", - "ref/netstandard1.2/zh-hans/System.Diagnostics.Tracing.xml", - "ref/netstandard1.2/zh-hant/System.Diagnostics.Tracing.xml", - "ref/netstandard1.3/System.Diagnostics.Tracing.dll", - "ref/netstandard1.3/System.Diagnostics.Tracing.xml", - "ref/netstandard1.3/de/System.Diagnostics.Tracing.xml", - "ref/netstandard1.3/es/System.Diagnostics.Tracing.xml", - "ref/netstandard1.3/fr/System.Diagnostics.Tracing.xml", - "ref/netstandard1.3/it/System.Diagnostics.Tracing.xml", - "ref/netstandard1.3/ja/System.Diagnostics.Tracing.xml", - "ref/netstandard1.3/ko/System.Diagnostics.Tracing.xml", - "ref/netstandard1.3/ru/System.Diagnostics.Tracing.xml", - "ref/netstandard1.3/zh-hans/System.Diagnostics.Tracing.xml", - "ref/netstandard1.3/zh-hant/System.Diagnostics.Tracing.xml", - "ref/netstandard1.5/System.Diagnostics.Tracing.dll", - "ref/netstandard1.5/System.Diagnostics.Tracing.xml", - "ref/netstandard1.5/de/System.Diagnostics.Tracing.xml", - "ref/netstandard1.5/es/System.Diagnostics.Tracing.xml", - "ref/netstandard1.5/fr/System.Diagnostics.Tracing.xml", - "ref/netstandard1.5/it/System.Diagnostics.Tracing.xml", - "ref/netstandard1.5/ja/System.Diagnostics.Tracing.xml", - "ref/netstandard1.5/ko/System.Diagnostics.Tracing.xml", - "ref/netstandard1.5/ru/System.Diagnostics.Tracing.xml", - "ref/netstandard1.5/zh-hans/System.Diagnostics.Tracing.xml", - "ref/netstandard1.5/zh-hant/System.Diagnostics.Tracing.xml", - "ref/portable-net45+win8+wpa81/_._", - "ref/win8/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Dynamic.Runtime/4.0.11": { - "sha512": "db34f6LHYM0U0JpE+sOmjar27BnqTVkbLJhgfwMpTdgTigG/Hna3m2MYVwnFzGGKnEJk2UXFuoVTr8WUbU91/A==", - "type": "package", - "path": "System.Dynamic.Runtime/4.0.11", - "files": [ - "System.Dynamic.Runtime.4.0.11.nupkg.sha512", - "System.Dynamic.Runtime.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Dynamic.Runtime.dll", - "lib/netstandard1.3/System.Dynamic.Runtime.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Dynamic.Runtime.dll", - "ref/netcore50/System.Dynamic.Runtime.xml", - "ref/netcore50/de/System.Dynamic.Runtime.xml", - "ref/netcore50/es/System.Dynamic.Runtime.xml", - "ref/netcore50/fr/System.Dynamic.Runtime.xml", - "ref/netcore50/it/System.Dynamic.Runtime.xml", - "ref/netcore50/ja/System.Dynamic.Runtime.xml", - "ref/netcore50/ko/System.Dynamic.Runtime.xml", - "ref/netcore50/ru/System.Dynamic.Runtime.xml", - "ref/netcore50/zh-hans/System.Dynamic.Runtime.xml", - "ref/netcore50/zh-hant/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/System.Dynamic.Runtime.dll", - "ref/netstandard1.0/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/de/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/es/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/fr/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/it/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/ja/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/ko/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/ru/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/zh-hans/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/zh-hant/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/System.Dynamic.Runtime.dll", - "ref/netstandard1.3/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/de/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/es/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/fr/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/it/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/ja/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/ko/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/ru/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/zh-hans/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/zh-hant/System.Dynamic.Runtime.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Dynamic.Runtime.dll" - ] - }, - "System.Globalization/4.0.11": { - "sha512": "B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==", - "type": "package", - "path": "System.Globalization/4.0.11", - "files": [ - "System.Globalization.4.0.11.nupkg.sha512", - "System.Globalization.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Globalization.dll", - "ref/netcore50/System.Globalization.xml", - "ref/netcore50/de/System.Globalization.xml", - "ref/netcore50/es/System.Globalization.xml", - "ref/netcore50/fr/System.Globalization.xml", - "ref/netcore50/it/System.Globalization.xml", - "ref/netcore50/ja/System.Globalization.xml", - "ref/netcore50/ko/System.Globalization.xml", - "ref/netcore50/ru/System.Globalization.xml", - "ref/netcore50/zh-hans/System.Globalization.xml", - "ref/netcore50/zh-hant/System.Globalization.xml", - "ref/netstandard1.0/System.Globalization.dll", - "ref/netstandard1.0/System.Globalization.xml", - "ref/netstandard1.0/de/System.Globalization.xml", - "ref/netstandard1.0/es/System.Globalization.xml", - "ref/netstandard1.0/fr/System.Globalization.xml", - "ref/netstandard1.0/it/System.Globalization.xml", - "ref/netstandard1.0/ja/System.Globalization.xml", - "ref/netstandard1.0/ko/System.Globalization.xml", - "ref/netstandard1.0/ru/System.Globalization.xml", - "ref/netstandard1.0/zh-hans/System.Globalization.xml", - "ref/netstandard1.0/zh-hant/System.Globalization.xml", - "ref/netstandard1.3/System.Globalization.dll", - "ref/netstandard1.3/System.Globalization.xml", - "ref/netstandard1.3/de/System.Globalization.xml", - "ref/netstandard1.3/es/System.Globalization.xml", - "ref/netstandard1.3/fr/System.Globalization.xml", - "ref/netstandard1.3/it/System.Globalization.xml", - "ref/netstandard1.3/ja/System.Globalization.xml", - "ref/netstandard1.3/ko/System.Globalization.xml", - "ref/netstandard1.3/ru/System.Globalization.xml", - "ref/netstandard1.3/zh-hans/System.Globalization.xml", - "ref/netstandard1.3/zh-hant/System.Globalization.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Globalization.Calendars/4.0.1": { - "sha512": "L1c6IqeQ88vuzC1P81JeHmHA8mxq8a18NUBNXnIY/BVb+TCyAaGIFbhpZt60h9FJNmisymoQkHEFSE9Vslja1Q==", - "type": "package", - "path": "System.Globalization.Calendars/4.0.1", - "files": [ - "System.Globalization.Calendars.4.0.1.nupkg.sha512", - "System.Globalization.Calendars.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Globalization.Calendars.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Globalization.Calendars.dll", - "ref/netstandard1.3/System.Globalization.Calendars.dll", - "ref/netstandard1.3/System.Globalization.Calendars.xml", - "ref/netstandard1.3/de/System.Globalization.Calendars.xml", - "ref/netstandard1.3/es/System.Globalization.Calendars.xml", - "ref/netstandard1.3/fr/System.Globalization.Calendars.xml", - "ref/netstandard1.3/it/System.Globalization.Calendars.xml", - "ref/netstandard1.3/ja/System.Globalization.Calendars.xml", - "ref/netstandard1.3/ko/System.Globalization.Calendars.xml", - "ref/netstandard1.3/ru/System.Globalization.Calendars.xml", - "ref/netstandard1.3/zh-hans/System.Globalization.Calendars.xml", - "ref/netstandard1.3/zh-hant/System.Globalization.Calendars.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Globalization.Extensions/4.0.1": { - "sha512": "KKo23iKeOaIg61SSXwjANN7QYDr/3op3OWGGzDzz7mypx0Za0fZSeG0l6cco8Ntp8YMYkIQcAqlk8yhm5/Uhcg==", - "type": "package", - "path": "System.Globalization.Extensions/4.0.1", - "files": [ - "System.Globalization.Extensions.4.0.1.nupkg.sha512", - "System.Globalization.Extensions.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Globalization.Extensions.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Globalization.Extensions.dll", - "ref/netstandard1.3/System.Globalization.Extensions.dll", - "ref/netstandard1.3/System.Globalization.Extensions.xml", - "ref/netstandard1.3/de/System.Globalization.Extensions.xml", - "ref/netstandard1.3/es/System.Globalization.Extensions.xml", - "ref/netstandard1.3/fr/System.Globalization.Extensions.xml", - "ref/netstandard1.3/it/System.Globalization.Extensions.xml", - "ref/netstandard1.3/ja/System.Globalization.Extensions.xml", - "ref/netstandard1.3/ko/System.Globalization.Extensions.xml", - "ref/netstandard1.3/ru/System.Globalization.Extensions.xml", - "ref/netstandard1.3/zh-hans/System.Globalization.Extensions.xml", - "ref/netstandard1.3/zh-hant/System.Globalization.Extensions.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.Globalization.Extensions.dll", - "runtimes/win/lib/net46/System.Globalization.Extensions.dll", - "runtimes/win/lib/netstandard1.3/System.Globalization.Extensions.dll" - ] - }, - "System.Interactive.Async/3.0.0": { - "sha512": "UEM+WmG1Oq0bNbPx/E1jaIQ83QOrPfVDUyuYBtG6D6DpB77ytv9flPterMujumpHuoRjSc0ilSB8w41fQc05dw==", - "type": "package", - "path": "System.Interactive.Async/3.0.0", - "files": [ - "System.Interactive.Async.3.0.0.nupkg.sha512", - "System.Interactive.Async.nuspec", - "lib/net45/System.Interactive.Async.dll", - "lib/net45/System.Interactive.Async.xml", - "lib/netstandard1.0/System.Interactive.Async.dll", - "lib/netstandard1.0/System.Interactive.Async.xml" - ] - }, - "System.IO/4.1.0": { - "sha512": "3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==", - "type": "package", - "path": "System.IO/4.1.0", - "files": [ - "System.IO.4.1.0.nupkg.sha512", - "System.IO.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net462/System.IO.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net462/System.IO.dll", - "ref/netcore50/System.IO.dll", - "ref/netcore50/System.IO.xml", - "ref/netcore50/de/System.IO.xml", - "ref/netcore50/es/System.IO.xml", - "ref/netcore50/fr/System.IO.xml", - "ref/netcore50/it/System.IO.xml", - "ref/netcore50/ja/System.IO.xml", - "ref/netcore50/ko/System.IO.xml", - "ref/netcore50/ru/System.IO.xml", - "ref/netcore50/zh-hans/System.IO.xml", - "ref/netcore50/zh-hant/System.IO.xml", - "ref/netstandard1.0/System.IO.dll", - "ref/netstandard1.0/System.IO.xml", - "ref/netstandard1.0/de/System.IO.xml", - "ref/netstandard1.0/es/System.IO.xml", - "ref/netstandard1.0/fr/System.IO.xml", - "ref/netstandard1.0/it/System.IO.xml", - "ref/netstandard1.0/ja/System.IO.xml", - "ref/netstandard1.0/ko/System.IO.xml", - "ref/netstandard1.0/ru/System.IO.xml", - "ref/netstandard1.0/zh-hans/System.IO.xml", - "ref/netstandard1.0/zh-hant/System.IO.xml", - "ref/netstandard1.3/System.IO.dll", - "ref/netstandard1.3/System.IO.xml", - "ref/netstandard1.3/de/System.IO.xml", - "ref/netstandard1.3/es/System.IO.xml", - "ref/netstandard1.3/fr/System.IO.xml", - "ref/netstandard1.3/it/System.IO.xml", - "ref/netstandard1.3/ja/System.IO.xml", - "ref/netstandard1.3/ko/System.IO.xml", - "ref/netstandard1.3/ru/System.IO.xml", - "ref/netstandard1.3/zh-hans/System.IO.xml", - "ref/netstandard1.3/zh-hant/System.IO.xml", - "ref/netstandard1.5/System.IO.dll", - "ref/netstandard1.5/System.IO.xml", - "ref/netstandard1.5/de/System.IO.xml", - "ref/netstandard1.5/es/System.IO.xml", - "ref/netstandard1.5/fr/System.IO.xml", - "ref/netstandard1.5/it/System.IO.xml", - "ref/netstandard1.5/ja/System.IO.xml", - "ref/netstandard1.5/ko/System.IO.xml", - "ref/netstandard1.5/ru/System.IO.xml", - "ref/netstandard1.5/zh-hans/System.IO.xml", - "ref/netstandard1.5/zh-hant/System.IO.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.IO.Compression/4.1.0": { - "sha512": "TjnBS6eztThSzeSib+WyVbLzEdLKUcEHN69VtS3u8aAsSc18FU6xCZlNWWsEd8SKcXAE+y1sOu7VbU8sUeM0sg==", - "type": "package", - "path": "System.IO.Compression/4.1.0", - "files": [ - "System.IO.Compression.4.1.0.nupkg.sha512", - "System.IO.Compression.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net46/System.IO.Compression.dll", - "lib/portable-net45+win8+wpa81/_._", - "lib/win8/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net46/System.IO.Compression.dll", - "ref/netcore50/System.IO.Compression.dll", - "ref/netcore50/System.IO.Compression.xml", - "ref/netcore50/de/System.IO.Compression.xml", - "ref/netcore50/es/System.IO.Compression.xml", - "ref/netcore50/fr/System.IO.Compression.xml", - "ref/netcore50/it/System.IO.Compression.xml", - "ref/netcore50/ja/System.IO.Compression.xml", - "ref/netcore50/ko/System.IO.Compression.xml", - "ref/netcore50/ru/System.IO.Compression.xml", - "ref/netcore50/zh-hans/System.IO.Compression.xml", - "ref/netcore50/zh-hant/System.IO.Compression.xml", - "ref/netstandard1.1/System.IO.Compression.dll", - "ref/netstandard1.1/System.IO.Compression.xml", - "ref/netstandard1.1/de/System.IO.Compression.xml", - "ref/netstandard1.1/es/System.IO.Compression.xml", - "ref/netstandard1.1/fr/System.IO.Compression.xml", - "ref/netstandard1.1/it/System.IO.Compression.xml", - "ref/netstandard1.1/ja/System.IO.Compression.xml", - "ref/netstandard1.1/ko/System.IO.Compression.xml", - "ref/netstandard1.1/ru/System.IO.Compression.xml", - "ref/netstandard1.1/zh-hans/System.IO.Compression.xml", - "ref/netstandard1.1/zh-hant/System.IO.Compression.xml", - "ref/netstandard1.3/System.IO.Compression.dll", - "ref/netstandard1.3/System.IO.Compression.xml", - "ref/netstandard1.3/de/System.IO.Compression.xml", - "ref/netstandard1.3/es/System.IO.Compression.xml", - "ref/netstandard1.3/fr/System.IO.Compression.xml", - "ref/netstandard1.3/it/System.IO.Compression.xml", - "ref/netstandard1.3/ja/System.IO.Compression.xml", - "ref/netstandard1.3/ko/System.IO.Compression.xml", - "ref/netstandard1.3/ru/System.IO.Compression.xml", - "ref/netstandard1.3/zh-hans/System.IO.Compression.xml", - "ref/netstandard1.3/zh-hant/System.IO.Compression.xml", - "ref/portable-net45+win8+wpa81/_._", - "ref/win8/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.IO.Compression.dll", - "runtimes/win/lib/net46/System.IO.Compression.dll", - "runtimes/win/lib/netstandard1.3/System.IO.Compression.dll" - ] - }, - "System.IO.Compression.ZipFile/4.0.1": { - "sha512": "hBQYJzfTbQURF10nLhd+az2NHxsU6MU7AB8RUf4IolBP5lOAm4Luho851xl+CqslmhI5ZH/el8BlngEk4lBkaQ==", - "type": "package", - "path": "System.IO.Compression.ZipFile/4.0.1", - "files": [ - "System.IO.Compression.ZipFile.4.0.1.nupkg.sha512", - "System.IO.Compression.ZipFile.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.IO.Compression.ZipFile.dll", - "lib/netstandard1.3/System.IO.Compression.ZipFile.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.IO.Compression.ZipFile.dll", - "ref/netstandard1.3/System.IO.Compression.ZipFile.dll", - "ref/netstandard1.3/System.IO.Compression.ZipFile.xml", - "ref/netstandard1.3/de/System.IO.Compression.ZipFile.xml", - "ref/netstandard1.3/es/System.IO.Compression.ZipFile.xml", - "ref/netstandard1.3/fr/System.IO.Compression.ZipFile.xml", - "ref/netstandard1.3/it/System.IO.Compression.ZipFile.xml", - "ref/netstandard1.3/ja/System.IO.Compression.ZipFile.xml", - "ref/netstandard1.3/ko/System.IO.Compression.ZipFile.xml", - "ref/netstandard1.3/ru/System.IO.Compression.ZipFile.xml", - "ref/netstandard1.3/zh-hans/System.IO.Compression.ZipFile.xml", - "ref/netstandard1.3/zh-hant/System.IO.Compression.ZipFile.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.IO.FileSystem/4.0.1": { - "sha512": "IBErlVq5jOggAD69bg1t0pJcHaDbJbWNUZTPI96fkYWzwYbN6D9wRHMULLDd9dHsl7C2YsxXL31LMfPI1SWt8w==", - "type": "package", - "path": "System.IO.FileSystem/4.0.1", - "files": [ - "System.IO.FileSystem.4.0.1.nupkg.sha512", - "System.IO.FileSystem.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.IO.FileSystem.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.IO.FileSystem.dll", - "ref/netstandard1.3/System.IO.FileSystem.dll", - "ref/netstandard1.3/System.IO.FileSystem.xml", - "ref/netstandard1.3/de/System.IO.FileSystem.xml", - "ref/netstandard1.3/es/System.IO.FileSystem.xml", - "ref/netstandard1.3/fr/System.IO.FileSystem.xml", - "ref/netstandard1.3/it/System.IO.FileSystem.xml", - "ref/netstandard1.3/ja/System.IO.FileSystem.xml", - "ref/netstandard1.3/ko/System.IO.FileSystem.xml", - "ref/netstandard1.3/ru/System.IO.FileSystem.xml", - "ref/netstandard1.3/zh-hans/System.IO.FileSystem.xml", - "ref/netstandard1.3/zh-hant/System.IO.FileSystem.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.IO.FileSystem.Primitives/4.0.1": { - "sha512": "kWkKD203JJKxJeE74p8aF8y4Qc9r9WQx4C0cHzHPrY3fv/L/IhWnyCHaFJ3H1QPOH6A93whlQ2vG5nHlBDvzWQ==", - "type": "package", - "path": "System.IO.FileSystem.Primitives/4.0.1", - "files": [ - "System.IO.FileSystem.Primitives.4.0.1.nupkg.sha512", - "System.IO.FileSystem.Primitives.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.IO.FileSystem.Primitives.dll", - "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.IO.FileSystem.Primitives.dll", - "ref/netstandard1.3/System.IO.FileSystem.Primitives.dll", - "ref/netstandard1.3/System.IO.FileSystem.Primitives.xml", - "ref/netstandard1.3/de/System.IO.FileSystem.Primitives.xml", - "ref/netstandard1.3/es/System.IO.FileSystem.Primitives.xml", - "ref/netstandard1.3/fr/System.IO.FileSystem.Primitives.xml", - "ref/netstandard1.3/it/System.IO.FileSystem.Primitives.xml", - "ref/netstandard1.3/ja/System.IO.FileSystem.Primitives.xml", - "ref/netstandard1.3/ko/System.IO.FileSystem.Primitives.xml", - "ref/netstandard1.3/ru/System.IO.FileSystem.Primitives.xml", - "ref/netstandard1.3/zh-hans/System.IO.FileSystem.Primitives.xml", - "ref/netstandard1.3/zh-hant/System.IO.FileSystem.Primitives.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.IO.FileSystem.Watcher/4.0.0": { - "sha512": "qM4Wr3La+RYb/03B0mZZjbA7tHsGzDffnuXP8Sl48HW2JwCjn3kfD5qdw0sqyNNowUipcJMi9/q6sMUrOIJ6UQ==", - "type": "package", - "path": "System.IO.FileSystem.Watcher/4.0.0", - "files": [ - "System.IO.FileSystem.Watcher.4.0.0.nupkg.sha512", - "System.IO.FileSystem.Watcher.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.IO.FileSystem.Watcher.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.IO.FileSystem.Watcher.dll", - "ref/netstandard1.3/System.IO.FileSystem.Watcher.dll", - "ref/netstandard1.3/System.IO.FileSystem.Watcher.xml", - "ref/netstandard1.3/de/System.IO.FileSystem.Watcher.xml", - "ref/netstandard1.3/es/System.IO.FileSystem.Watcher.xml", - "ref/netstandard1.3/fr/System.IO.FileSystem.Watcher.xml", - "ref/netstandard1.3/it/System.IO.FileSystem.Watcher.xml", - "ref/netstandard1.3/ja/System.IO.FileSystem.Watcher.xml", - "ref/netstandard1.3/ko/System.IO.FileSystem.Watcher.xml", - "ref/netstandard1.3/ru/System.IO.FileSystem.Watcher.xml", - "ref/netstandard1.3/zh-hans/System.IO.FileSystem.Watcher.xml", - "ref/netstandard1.3/zh-hant/System.IO.FileSystem.Watcher.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/linux/lib/netstandard1.3/System.IO.FileSystem.Watcher.dll", - "runtimes/osx/lib/netstandard1.3/System.IO.FileSystem.Watcher.dll", - "runtimes/win/lib/net46/System.IO.FileSystem.Watcher.dll", - "runtimes/win/lib/netstandard1.3/System.IO.FileSystem.Watcher.dll", - "runtimes/win7/lib/netcore50/_._" - ] - }, - "System.IO.MemoryMappedFiles/4.0.0": { - "sha512": "Xqj4xaFAnLVpss9ZSUIvB/VdJAA7GxZDnFGDKJfiGAnZ5VnFROn6eOHWepFpujCYTsh6wlZ3B33bqYkF0QJ7Eg==", - "type": "package", - "path": "System.IO.MemoryMappedFiles/4.0.0", - "files": [ - "System.IO.MemoryMappedFiles.4.0.0.nupkg.sha512", - "System.IO.MemoryMappedFiles.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.IO.MemoryMappedFiles.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.IO.MemoryMappedFiles.dll", - "ref/netstandard1.3/System.IO.MemoryMappedFiles.dll", - "ref/netstandard1.3/System.IO.MemoryMappedFiles.xml", - "ref/netstandard1.3/de/System.IO.MemoryMappedFiles.xml", - "ref/netstandard1.3/es/System.IO.MemoryMappedFiles.xml", - "ref/netstandard1.3/fr/System.IO.MemoryMappedFiles.xml", - "ref/netstandard1.3/it/System.IO.MemoryMappedFiles.xml", - "ref/netstandard1.3/ja/System.IO.MemoryMappedFiles.xml", - "ref/netstandard1.3/ko/System.IO.MemoryMappedFiles.xml", - "ref/netstandard1.3/ru/System.IO.MemoryMappedFiles.xml", - "ref/netstandard1.3/zh-hans/System.IO.MemoryMappedFiles.xml", - "ref/netstandard1.3/zh-hant/System.IO.MemoryMappedFiles.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.IO.MemoryMappedFiles.dll", - "runtimes/win/lib/net46/System.IO.MemoryMappedFiles.dll", - "runtimes/win/lib/netcore50/System.IO.MemoryMappedFiles.dll", - "runtimes/win/lib/netstandard1.3/System.IO.MemoryMappedFiles.dll" - ] - }, - "System.IO.UnmanagedMemoryStream/4.0.1": { - "sha512": "wcq0kXcpfJwdl1Y4/ZjDk7Dhx5HdLyRYYWYmD8Nn8skoGYYQd2BQWbXwjWSczip8AL4Z57o2dWWXAl4aABAKiQ==", - "type": "package", - "path": "System.IO.UnmanagedMemoryStream/4.0.1", - "files": [ - "System.IO.UnmanagedMemoryStream.4.0.1.nupkg.sha512", - "System.IO.UnmanagedMemoryStream.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.IO.UnmanagedMemoryStream.dll", - "lib/netstandard1.3/System.IO.UnmanagedMemoryStream.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.IO.UnmanagedMemoryStream.dll", - "ref/netstandard1.3/System.IO.UnmanagedMemoryStream.dll", - "ref/netstandard1.3/System.IO.UnmanagedMemoryStream.xml", - "ref/netstandard1.3/de/System.IO.UnmanagedMemoryStream.xml", - "ref/netstandard1.3/es/System.IO.UnmanagedMemoryStream.xml", - "ref/netstandard1.3/fr/System.IO.UnmanagedMemoryStream.xml", - "ref/netstandard1.3/it/System.IO.UnmanagedMemoryStream.xml", - "ref/netstandard1.3/ja/System.IO.UnmanagedMemoryStream.xml", - "ref/netstandard1.3/ko/System.IO.UnmanagedMemoryStream.xml", - "ref/netstandard1.3/ru/System.IO.UnmanagedMemoryStream.xml", - "ref/netstandard1.3/zh-hans/System.IO.UnmanagedMemoryStream.xml", - "ref/netstandard1.3/zh-hant/System.IO.UnmanagedMemoryStream.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Linq/4.1.0": { - "sha512": "bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==", - "type": "package", - "path": "System.Linq/4.1.0", - "files": [ - "System.Linq.4.1.0.nupkg.sha512", - "System.Linq.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net463/System.Linq.dll", - "lib/netcore50/System.Linq.dll", - "lib/netstandard1.6/System.Linq.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net463/System.Linq.dll", - "ref/netcore50/System.Linq.dll", - "ref/netcore50/System.Linq.xml", - "ref/netcore50/de/System.Linq.xml", - "ref/netcore50/es/System.Linq.xml", - "ref/netcore50/fr/System.Linq.xml", - "ref/netcore50/it/System.Linq.xml", - "ref/netcore50/ja/System.Linq.xml", - "ref/netcore50/ko/System.Linq.xml", - "ref/netcore50/ru/System.Linq.xml", - "ref/netcore50/zh-hans/System.Linq.xml", - "ref/netcore50/zh-hant/System.Linq.xml", - "ref/netstandard1.0/System.Linq.dll", - "ref/netstandard1.0/System.Linq.xml", - "ref/netstandard1.0/de/System.Linq.xml", - "ref/netstandard1.0/es/System.Linq.xml", - "ref/netstandard1.0/fr/System.Linq.xml", - "ref/netstandard1.0/it/System.Linq.xml", - "ref/netstandard1.0/ja/System.Linq.xml", - "ref/netstandard1.0/ko/System.Linq.xml", - "ref/netstandard1.0/ru/System.Linq.xml", - "ref/netstandard1.0/zh-hans/System.Linq.xml", - "ref/netstandard1.0/zh-hant/System.Linq.xml", - "ref/netstandard1.6/System.Linq.dll", - "ref/netstandard1.6/System.Linq.xml", - "ref/netstandard1.6/de/System.Linq.xml", - "ref/netstandard1.6/es/System.Linq.xml", - "ref/netstandard1.6/fr/System.Linq.xml", - "ref/netstandard1.6/it/System.Linq.xml", - "ref/netstandard1.6/ja/System.Linq.xml", - "ref/netstandard1.6/ko/System.Linq.xml", - "ref/netstandard1.6/ru/System.Linq.xml", - "ref/netstandard1.6/zh-hans/System.Linq.xml", - "ref/netstandard1.6/zh-hant/System.Linq.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Linq.Expressions/4.1.0": { - "sha512": "I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==", - "type": "package", - "path": "System.Linq.Expressions/4.1.0", - "files": [ - "System.Linq.Expressions.4.1.0.nupkg.sha512", - "System.Linq.Expressions.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net463/System.Linq.Expressions.dll", - "lib/netcore50/System.Linq.Expressions.dll", - "lib/netstandard1.6/System.Linq.Expressions.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net463/System.Linq.Expressions.dll", - "ref/netcore50/System.Linq.Expressions.dll", - "ref/netcore50/System.Linq.Expressions.xml", - "ref/netcore50/de/System.Linq.Expressions.xml", - "ref/netcore50/es/System.Linq.Expressions.xml", - "ref/netcore50/fr/System.Linq.Expressions.xml", - "ref/netcore50/it/System.Linq.Expressions.xml", - "ref/netcore50/ja/System.Linq.Expressions.xml", - "ref/netcore50/ko/System.Linq.Expressions.xml", - "ref/netcore50/ru/System.Linq.Expressions.xml", - "ref/netcore50/zh-hans/System.Linq.Expressions.xml", - "ref/netcore50/zh-hant/System.Linq.Expressions.xml", - "ref/netstandard1.0/System.Linq.Expressions.dll", - "ref/netstandard1.0/System.Linq.Expressions.xml", - "ref/netstandard1.0/de/System.Linq.Expressions.xml", - "ref/netstandard1.0/es/System.Linq.Expressions.xml", - "ref/netstandard1.0/fr/System.Linq.Expressions.xml", - "ref/netstandard1.0/it/System.Linq.Expressions.xml", - "ref/netstandard1.0/ja/System.Linq.Expressions.xml", - "ref/netstandard1.0/ko/System.Linq.Expressions.xml", - "ref/netstandard1.0/ru/System.Linq.Expressions.xml", - "ref/netstandard1.0/zh-hans/System.Linq.Expressions.xml", - "ref/netstandard1.0/zh-hant/System.Linq.Expressions.xml", - "ref/netstandard1.3/System.Linq.Expressions.dll", - "ref/netstandard1.3/System.Linq.Expressions.xml", - "ref/netstandard1.3/de/System.Linq.Expressions.xml", - "ref/netstandard1.3/es/System.Linq.Expressions.xml", - "ref/netstandard1.3/fr/System.Linq.Expressions.xml", - "ref/netstandard1.3/it/System.Linq.Expressions.xml", - "ref/netstandard1.3/ja/System.Linq.Expressions.xml", - "ref/netstandard1.3/ko/System.Linq.Expressions.xml", - "ref/netstandard1.3/ru/System.Linq.Expressions.xml", - "ref/netstandard1.3/zh-hans/System.Linq.Expressions.xml", - "ref/netstandard1.3/zh-hant/System.Linq.Expressions.xml", - "ref/netstandard1.6/System.Linq.Expressions.dll", - "ref/netstandard1.6/System.Linq.Expressions.xml", - "ref/netstandard1.6/de/System.Linq.Expressions.xml", - "ref/netstandard1.6/es/System.Linq.Expressions.xml", - "ref/netstandard1.6/fr/System.Linq.Expressions.xml", - "ref/netstandard1.6/it/System.Linq.Expressions.xml", - "ref/netstandard1.6/ja/System.Linq.Expressions.xml", - "ref/netstandard1.6/ko/System.Linq.Expressions.xml", - "ref/netstandard1.6/ru/System.Linq.Expressions.xml", - "ref/netstandard1.6/zh-hans/System.Linq.Expressions.xml", - "ref/netstandard1.6/zh-hant/System.Linq.Expressions.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Linq.Expressions.dll" - ] - }, - "System.Linq.Parallel/4.0.1": { - "sha512": "J7XCa7n2cFn32uLbtceXfBFhgCk5M++50lylHKNbqTiJkw5y4Tglpi6amuJNPCvj9bLzNSI7rs1fi4joLMNRgg==", - "type": "package", - "path": "System.Linq.Parallel/4.0.1", - "files": [ - "System.Linq.Parallel.4.0.1.nupkg.sha512", - "System.Linq.Parallel.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Linq.Parallel.dll", - "lib/netstandard1.3/System.Linq.Parallel.dll", - "lib/portable-net45+win8+wpa81/_._", - "lib/win8/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Linq.Parallel.dll", - "ref/netcore50/System.Linq.Parallel.xml", - "ref/netcore50/de/System.Linq.Parallel.xml", - "ref/netcore50/es/System.Linq.Parallel.xml", - "ref/netcore50/fr/System.Linq.Parallel.xml", - "ref/netcore50/it/System.Linq.Parallel.xml", - "ref/netcore50/ja/System.Linq.Parallel.xml", - "ref/netcore50/ko/System.Linq.Parallel.xml", - "ref/netcore50/ru/System.Linq.Parallel.xml", - "ref/netcore50/zh-hans/System.Linq.Parallel.xml", - "ref/netcore50/zh-hant/System.Linq.Parallel.xml", - "ref/netstandard1.1/System.Linq.Parallel.dll", - "ref/netstandard1.1/System.Linq.Parallel.xml", - "ref/netstandard1.1/de/System.Linq.Parallel.xml", - "ref/netstandard1.1/es/System.Linq.Parallel.xml", - "ref/netstandard1.1/fr/System.Linq.Parallel.xml", - "ref/netstandard1.1/it/System.Linq.Parallel.xml", - "ref/netstandard1.1/ja/System.Linq.Parallel.xml", - "ref/netstandard1.1/ko/System.Linq.Parallel.xml", - "ref/netstandard1.1/ru/System.Linq.Parallel.xml", - "ref/netstandard1.1/zh-hans/System.Linq.Parallel.xml", - "ref/netstandard1.1/zh-hant/System.Linq.Parallel.xml", - "ref/portable-net45+win8+wpa81/_._", - "ref/win8/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Linq.Queryable/4.0.1": { - "sha512": "Yn/WfYe9RoRfmSLvUt2JerP0BTGGykCZkQPgojaxgzF2N0oPo+/AhB8TXOpdCcNlrG3VRtsamtK2uzsp3cqRVw==", - "type": "package", - "path": "System.Linq.Queryable/4.0.1", - "files": [ - "System.Linq.Queryable.4.0.1.nupkg.sha512", - "System.Linq.Queryable.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/monoandroid10/_._", - "lib/monotouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Linq.Queryable.dll", - "lib/netstandard1.3/System.Linq.Queryable.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/monoandroid10/_._", - "ref/monotouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Linq.Queryable.dll", - "ref/netcore50/System.Linq.Queryable.xml", - "ref/netcore50/de/System.Linq.Queryable.xml", - "ref/netcore50/es/System.Linq.Queryable.xml", - "ref/netcore50/fr/System.Linq.Queryable.xml", - "ref/netcore50/it/System.Linq.Queryable.xml", - "ref/netcore50/ja/System.Linq.Queryable.xml", - "ref/netcore50/ko/System.Linq.Queryable.xml", - "ref/netcore50/ru/System.Linq.Queryable.xml", - "ref/netcore50/zh-hans/System.Linq.Queryable.xml", - "ref/netcore50/zh-hant/System.Linq.Queryable.xml", - "ref/netstandard1.0/System.Linq.Queryable.dll", - "ref/netstandard1.0/System.Linq.Queryable.xml", - "ref/netstandard1.0/de/System.Linq.Queryable.xml", - "ref/netstandard1.0/es/System.Linq.Queryable.xml", - "ref/netstandard1.0/fr/System.Linq.Queryable.xml", - "ref/netstandard1.0/it/System.Linq.Queryable.xml", - "ref/netstandard1.0/ja/System.Linq.Queryable.xml", - "ref/netstandard1.0/ko/System.Linq.Queryable.xml", - "ref/netstandard1.0/ru/System.Linq.Queryable.xml", - "ref/netstandard1.0/zh-hans/System.Linq.Queryable.xml", - "ref/netstandard1.0/zh-hant/System.Linq.Queryable.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Net.Http/4.1.0": { - "sha512": "ULq9g3SOPVuupt+Y3U+A37coXzdNisB1neFCSKzBwo182u0RDddKJF8I5+HfyXqK6OhJPgeoAwWXrbiUXuRDsg==", - "type": "package", - "path": "System.Net.Http/4.1.0", - "files": [ - "System.Net.Http.4.1.0.nupkg.sha512", - "System.Net.Http.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/Xamarinmac20/_._", - "lib/monoandroid10/_._", - "lib/monotouch10/_._", - "lib/net45/_._", - "lib/net46/System.Net.Http.dll", - "lib/portable-net45+win8+wpa81/_._", - "lib/win8/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/Xamarinmac20/_._", - "ref/monoandroid10/_._", - "ref/monotouch10/_._", - "ref/net45/_._", - "ref/net46/System.Net.Http.dll", - "ref/net46/System.Net.Http.xml", - "ref/net46/de/System.Net.Http.xml", - "ref/net46/es/System.Net.Http.xml", - "ref/net46/fr/System.Net.Http.xml", - "ref/net46/it/System.Net.Http.xml", - "ref/net46/ja/System.Net.Http.xml", - "ref/net46/ko/System.Net.Http.xml", - "ref/net46/ru/System.Net.Http.xml", - "ref/net46/zh-hans/System.Net.Http.xml", - "ref/net46/zh-hant/System.Net.Http.xml", - "ref/netcore50/System.Net.Http.dll", - "ref/netcore50/System.Net.Http.xml", - "ref/netcore50/de/System.Net.Http.xml", - "ref/netcore50/es/System.Net.Http.xml", - "ref/netcore50/fr/System.Net.Http.xml", - "ref/netcore50/it/System.Net.Http.xml", - "ref/netcore50/ja/System.Net.Http.xml", - "ref/netcore50/ko/System.Net.Http.xml", - "ref/netcore50/ru/System.Net.Http.xml", - "ref/netcore50/zh-hans/System.Net.Http.xml", - "ref/netcore50/zh-hant/System.Net.Http.xml", - "ref/netstandard1.1/System.Net.Http.dll", - "ref/netstandard1.1/System.Net.Http.xml", - "ref/netstandard1.1/de/System.Net.Http.xml", - "ref/netstandard1.1/es/System.Net.Http.xml", - "ref/netstandard1.1/fr/System.Net.Http.xml", - "ref/netstandard1.1/it/System.Net.Http.xml", - "ref/netstandard1.1/ja/System.Net.Http.xml", - "ref/netstandard1.1/ko/System.Net.Http.xml", - "ref/netstandard1.1/ru/System.Net.Http.xml", - "ref/netstandard1.1/zh-hans/System.Net.Http.xml", - "ref/netstandard1.1/zh-hant/System.Net.Http.xml", - "ref/netstandard1.3/System.Net.Http.dll", - "ref/netstandard1.3/System.Net.Http.xml", - "ref/netstandard1.3/de/System.Net.Http.xml", - "ref/netstandard1.3/es/System.Net.Http.xml", - "ref/netstandard1.3/fr/System.Net.Http.xml", - "ref/netstandard1.3/it/System.Net.Http.xml", - "ref/netstandard1.3/ja/System.Net.Http.xml", - "ref/netstandard1.3/ko/System.Net.Http.xml", - "ref/netstandard1.3/ru/System.Net.Http.xml", - "ref/netstandard1.3/zh-hans/System.Net.Http.xml", - "ref/netstandard1.3/zh-hant/System.Net.Http.xml", - "ref/portable-net45+win8+wpa81/_._", - "ref/win8/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.6/System.Net.Http.dll", - "runtimes/win/lib/net46/System.Net.Http.dll", - "runtimes/win/lib/netcore50/System.Net.Http.dll", - "runtimes/win/lib/netstandard1.3/System.Net.Http.dll" - ] - }, - "System.Net.NameResolution/4.0.0": { - "sha512": "JdqRdM1Qym3YehqdKIi5LHrpypP4JMfxKQSNCJ2z4WawkG0il+N3XfNeJOxll2XrTnG7WgYYPoeiu/KOwg0DQw==", - "type": "package", - "path": "System.Net.NameResolution/4.0.0", - "files": [ - "System.Net.NameResolution.4.0.0.nupkg.sha512", - "System.Net.NameResolution.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Net.NameResolution.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Net.NameResolution.dll", - "ref/netstandard1.3/System.Net.NameResolution.dll", - "ref/netstandard1.3/System.Net.NameResolution.xml", - "ref/netstandard1.3/de/System.Net.NameResolution.xml", - "ref/netstandard1.3/es/System.Net.NameResolution.xml", - "ref/netstandard1.3/fr/System.Net.NameResolution.xml", - "ref/netstandard1.3/it/System.Net.NameResolution.xml", - "ref/netstandard1.3/ja/System.Net.NameResolution.xml", - "ref/netstandard1.3/ko/System.Net.NameResolution.xml", - "ref/netstandard1.3/ru/System.Net.NameResolution.xml", - "ref/netstandard1.3/zh-hans/System.Net.NameResolution.xml", - "ref/netstandard1.3/zh-hant/System.Net.NameResolution.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.Net.NameResolution.dll", - "runtimes/win/lib/net46/System.Net.NameResolution.dll", - "runtimes/win/lib/netcore50/System.Net.NameResolution.dll", - "runtimes/win/lib/netstandard1.3/System.Net.NameResolution.dll" - ] - }, - "System.Net.Primitives/4.0.11": { - "sha512": "hVvfl4405DRjA2408luZekbPhplJK03j2Y2lSfMlny7GHXlkByw1iLnc9mgKW0GdQn73vvMcWrWewAhylXA4Nw==", - "type": "package", - "path": "System.Net.Primitives/4.0.11", - "files": [ - "System.Net.Primitives.4.0.11.nupkg.sha512", - "System.Net.Primitives.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Net.Primitives.dll", - "ref/netcore50/System.Net.Primitives.xml", - "ref/netcore50/de/System.Net.Primitives.xml", - "ref/netcore50/es/System.Net.Primitives.xml", - "ref/netcore50/fr/System.Net.Primitives.xml", - "ref/netcore50/it/System.Net.Primitives.xml", - "ref/netcore50/ja/System.Net.Primitives.xml", - "ref/netcore50/ko/System.Net.Primitives.xml", - "ref/netcore50/ru/System.Net.Primitives.xml", - "ref/netcore50/zh-hans/System.Net.Primitives.xml", - "ref/netcore50/zh-hant/System.Net.Primitives.xml", - "ref/netstandard1.0/System.Net.Primitives.dll", - "ref/netstandard1.0/System.Net.Primitives.xml", - "ref/netstandard1.0/de/System.Net.Primitives.xml", - "ref/netstandard1.0/es/System.Net.Primitives.xml", - "ref/netstandard1.0/fr/System.Net.Primitives.xml", - "ref/netstandard1.0/it/System.Net.Primitives.xml", - "ref/netstandard1.0/ja/System.Net.Primitives.xml", - "ref/netstandard1.0/ko/System.Net.Primitives.xml", - "ref/netstandard1.0/ru/System.Net.Primitives.xml", - "ref/netstandard1.0/zh-hans/System.Net.Primitives.xml", - "ref/netstandard1.0/zh-hant/System.Net.Primitives.xml", - "ref/netstandard1.1/System.Net.Primitives.dll", - "ref/netstandard1.1/System.Net.Primitives.xml", - "ref/netstandard1.1/de/System.Net.Primitives.xml", - "ref/netstandard1.1/es/System.Net.Primitives.xml", - "ref/netstandard1.1/fr/System.Net.Primitives.xml", - "ref/netstandard1.1/it/System.Net.Primitives.xml", - "ref/netstandard1.1/ja/System.Net.Primitives.xml", - "ref/netstandard1.1/ko/System.Net.Primitives.xml", - "ref/netstandard1.1/ru/System.Net.Primitives.xml", - "ref/netstandard1.1/zh-hans/System.Net.Primitives.xml", - "ref/netstandard1.1/zh-hant/System.Net.Primitives.xml", - "ref/netstandard1.3/System.Net.Primitives.dll", - "ref/netstandard1.3/System.Net.Primitives.xml", - "ref/netstandard1.3/de/System.Net.Primitives.xml", - "ref/netstandard1.3/es/System.Net.Primitives.xml", - "ref/netstandard1.3/fr/System.Net.Primitives.xml", - "ref/netstandard1.3/it/System.Net.Primitives.xml", - "ref/netstandard1.3/ja/System.Net.Primitives.xml", - "ref/netstandard1.3/ko/System.Net.Primitives.xml", - "ref/netstandard1.3/ru/System.Net.Primitives.xml", - "ref/netstandard1.3/zh-hans/System.Net.Primitives.xml", - "ref/netstandard1.3/zh-hant/System.Net.Primitives.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Net.Requests/4.0.11": { - "sha512": "vxGt7C0cZixN+VqoSW4Yakc1Y9WknmxauDqzxgpw/FnBdz4kQNN51l4wxdXX5VY1xjqy//+G+4CvJWp1+f+y6Q==", - "type": "package", - "path": "System.Net.Requests/4.0.11", - "files": [ - "System.Net.Requests.4.0.11.nupkg.sha512", - "System.Net.Requests.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net46/_._", - "ref/netcore50/System.Net.Requests.dll", - "ref/netcore50/System.Net.Requests.xml", - "ref/netcore50/de/System.Net.Requests.xml", - "ref/netcore50/es/System.Net.Requests.xml", - "ref/netcore50/fr/System.Net.Requests.xml", - "ref/netcore50/it/System.Net.Requests.xml", - "ref/netcore50/ja/System.Net.Requests.xml", - "ref/netcore50/ko/System.Net.Requests.xml", - "ref/netcore50/ru/System.Net.Requests.xml", - "ref/netcore50/zh-hans/System.Net.Requests.xml", - "ref/netcore50/zh-hant/System.Net.Requests.xml", - "ref/netstandard1.0/System.Net.Requests.dll", - "ref/netstandard1.0/System.Net.Requests.xml", - "ref/netstandard1.0/de/System.Net.Requests.xml", - "ref/netstandard1.0/es/System.Net.Requests.xml", - "ref/netstandard1.0/fr/System.Net.Requests.xml", - "ref/netstandard1.0/it/System.Net.Requests.xml", - "ref/netstandard1.0/ja/System.Net.Requests.xml", - "ref/netstandard1.0/ko/System.Net.Requests.xml", - "ref/netstandard1.0/ru/System.Net.Requests.xml", - "ref/netstandard1.0/zh-hans/System.Net.Requests.xml", - "ref/netstandard1.0/zh-hant/System.Net.Requests.xml", - "ref/netstandard1.1/System.Net.Requests.dll", - "ref/netstandard1.1/System.Net.Requests.xml", - "ref/netstandard1.1/de/System.Net.Requests.xml", - "ref/netstandard1.1/es/System.Net.Requests.xml", - "ref/netstandard1.1/fr/System.Net.Requests.xml", - "ref/netstandard1.1/it/System.Net.Requests.xml", - "ref/netstandard1.1/ja/System.Net.Requests.xml", - "ref/netstandard1.1/ko/System.Net.Requests.xml", - "ref/netstandard1.1/ru/System.Net.Requests.xml", - "ref/netstandard1.1/zh-hans/System.Net.Requests.xml", - "ref/netstandard1.1/zh-hant/System.Net.Requests.xml", - "ref/netstandard1.3/System.Net.Requests.dll", - "ref/netstandard1.3/System.Net.Requests.xml", - "ref/netstandard1.3/de/System.Net.Requests.xml", - "ref/netstandard1.3/es/System.Net.Requests.xml", - "ref/netstandard1.3/fr/System.Net.Requests.xml", - "ref/netstandard1.3/it/System.Net.Requests.xml", - "ref/netstandard1.3/ja/System.Net.Requests.xml", - "ref/netstandard1.3/ko/System.Net.Requests.xml", - "ref/netstandard1.3/ru/System.Net.Requests.xml", - "ref/netstandard1.3/zh-hans/System.Net.Requests.xml", - "ref/netstandard1.3/zh-hant/System.Net.Requests.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.Net.Requests.dll", - "runtimes/win/lib/net46/_._", - "runtimes/win/lib/netstandard1.3/System.Net.Requests.dll" - ] - }, - "System.Net.Security/4.0.0": { - "sha512": "uM1JaYJciCc2w7efD6du0EpQ1n5ZQqE6/P43/aI4H5E59qvP+wt3l70KIUF/Ha7NaeXGoGNFPVO0MB80pVHk2g==", - "type": "package", - "path": "System.Net.Security/4.0.0", - "files": [ - "System.Net.Security.4.0.0.nupkg.sha512", - "System.Net.Security.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Net.Security.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Net.Security.dll", - "ref/netstandard1.3/System.Net.Security.dll", - "ref/netstandard1.3/System.Net.Security.xml", - "ref/netstandard1.3/de/System.Net.Security.xml", - "ref/netstandard1.3/es/System.Net.Security.xml", - "ref/netstandard1.3/fr/System.Net.Security.xml", - "ref/netstandard1.3/it/System.Net.Security.xml", - "ref/netstandard1.3/ja/System.Net.Security.xml", - "ref/netstandard1.3/ko/System.Net.Security.xml", - "ref/netstandard1.3/ru/System.Net.Security.xml", - "ref/netstandard1.3/zh-hans/System.Net.Security.xml", - "ref/netstandard1.3/zh-hant/System.Net.Security.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.6/System.Net.Security.dll", - "runtimes/win/lib/net46/System.Net.Security.dll", - "runtimes/win/lib/netstandard1.3/System.Net.Security.dll", - "runtimes/win7/lib/netcore50/_._" - ] - }, - "System.Net.Sockets/4.1.0": { - "sha512": "xAz0N3dAV/aR/9g8r0Y5oEqU1JRsz29F5EGb/WVHmX3jVSLqi2/92M5hTad2aNWovruXrJpJtgZ9fccPMG9uSw==", - "type": "package", - "path": "System.Net.Sockets/4.1.0", - "files": [ - "System.Net.Sockets.4.1.0.nupkg.sha512", - "System.Net.Sockets.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Net.Sockets.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Net.Sockets.dll", - "ref/netstandard1.3/System.Net.Sockets.dll", - "ref/netstandard1.3/System.Net.Sockets.xml", - "ref/netstandard1.3/de/System.Net.Sockets.xml", - "ref/netstandard1.3/es/System.Net.Sockets.xml", - "ref/netstandard1.3/fr/System.Net.Sockets.xml", - "ref/netstandard1.3/it/System.Net.Sockets.xml", - "ref/netstandard1.3/ja/System.Net.Sockets.xml", - "ref/netstandard1.3/ko/System.Net.Sockets.xml", - "ref/netstandard1.3/ru/System.Net.Sockets.xml", - "ref/netstandard1.3/zh-hans/System.Net.Sockets.xml", - "ref/netstandard1.3/zh-hant/System.Net.Sockets.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Net.WebHeaderCollection/4.0.1": { - "sha512": "XX2TIAN+wBSAIV51BU2FvvXMdstUa8b0FBSZmDWjZdwUMmggQSifpTOZ5fNH20z9ZCg2fkV1L5SsZnpO2RQDRQ==", - "type": "package", - "path": "System.Net.WebHeaderCollection/4.0.1", - "files": [ - "System.Net.WebHeaderCollection.4.0.1.nupkg.sha512", - "System.Net.WebHeaderCollection.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/_._", - "lib/netstandard1.3/System.Net.WebHeaderCollection.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/_._", - "ref/netstandard1.3/System.Net.WebHeaderCollection.dll", - "ref/netstandard1.3/System.Net.WebHeaderCollection.xml", - "ref/netstandard1.3/de/System.Net.WebHeaderCollection.xml", - "ref/netstandard1.3/es/System.Net.WebHeaderCollection.xml", - "ref/netstandard1.3/fr/System.Net.WebHeaderCollection.xml", - "ref/netstandard1.3/it/System.Net.WebHeaderCollection.xml", - "ref/netstandard1.3/ja/System.Net.WebHeaderCollection.xml", - "ref/netstandard1.3/ko/System.Net.WebHeaderCollection.xml", - "ref/netstandard1.3/ru/System.Net.WebHeaderCollection.xml", - "ref/netstandard1.3/zh-hans/System.Net.WebHeaderCollection.xml", - "ref/netstandard1.3/zh-hant/System.Net.WebHeaderCollection.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Net.WebSockets/4.0.0": { - "sha512": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "type": "package", - "path": "System.Net.WebSockets/4.0.0", - "files": [ - "System.Net.WebSockets.4.0.0.nupkg.sha512", - "System.Net.WebSockets.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Net.WebSockets.dll", - "lib/netstandard1.3/System.Net.WebSockets.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Net.WebSockets.dll", - "ref/netstandard1.3/System.Net.WebSockets.dll", - "ref/netstandard1.3/System.Net.WebSockets.xml", - "ref/netstandard1.3/de/System.Net.WebSockets.xml", - "ref/netstandard1.3/es/System.Net.WebSockets.xml", - "ref/netstandard1.3/fr/System.Net.WebSockets.xml", - "ref/netstandard1.3/it/System.Net.WebSockets.xml", - "ref/netstandard1.3/ja/System.Net.WebSockets.xml", - "ref/netstandard1.3/ko/System.Net.WebSockets.xml", - "ref/netstandard1.3/ru/System.Net.WebSockets.xml", - "ref/netstandard1.3/zh-hans/System.Net.WebSockets.xml", - "ref/netstandard1.3/zh-hant/System.Net.WebSockets.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Net.WebSockets.Client/4.0.0": { - "sha512": "GY5h9cn0ZVsG4ORQqMytTldrqxet2RC2CSEsgWGf4XNW5jhL5SxzcUZph03xbZsgn7K3qMr+Rq+gkbJNI+FEXg==", - "type": "package", - "path": "System.Net.WebSockets.Client/4.0.0", - "files": [ - "System.Net.WebSockets.Client.4.0.0.nupkg.sha512", - "System.Net.WebSockets.Client.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Net.WebSockets.Client.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Net.WebSockets.Client.dll", - "ref/netstandard1.3/System.Net.WebSockets.Client.dll", - "ref/netstandard1.3/System.Net.WebSockets.Client.xml", - "ref/netstandard1.3/de/System.Net.WebSockets.Client.xml", - "ref/netstandard1.3/es/System.Net.WebSockets.Client.xml", - "ref/netstandard1.3/fr/System.Net.WebSockets.Client.xml", - "ref/netstandard1.3/it/System.Net.WebSockets.Client.xml", - "ref/netstandard1.3/ja/System.Net.WebSockets.Client.xml", - "ref/netstandard1.3/ko/System.Net.WebSockets.Client.xml", - "ref/netstandard1.3/ru/System.Net.WebSockets.Client.xml", - "ref/netstandard1.3/zh-hans/System.Net.WebSockets.Client.xml", - "ref/netstandard1.3/zh-hant/System.Net.WebSockets.Client.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.Net.WebSockets.Client.dll", - "runtimes/win/lib/net46/System.Net.WebSockets.Client.dll", - "runtimes/win/lib/netcore50/System.Net.WebSockets.Client.dll", - "runtimes/win/lib/netstandard1.3/System.Net.WebSockets.Client.dll" - ] - }, - "System.Numerics.Vectors/4.1.1": { - "sha512": "Ex1NSKycC2wi5XBMWUGWPc3lumh6OQWFFmmpZFZz0oLht5lQ+wWPHVZumOrMJuckfUiVMd4p67BrkBos8lcF+Q==", - "type": "package", - "path": "System.Numerics.Vectors/4.1.1", - "files": [ - "System.Numerics.Vectors.4.1.1.nupkg.sha512", - "System.Numerics.Vectors.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Numerics.Vectors.dll", - "lib/net46/System.Numerics.Vectors.xml", - "lib/netstandard1.0/System.Numerics.Vectors.dll", - "lib/netstandard1.0/System.Numerics.Vectors.xml", - "lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.dll", - "lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.xml", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Numerics.Vectors.dll", - "ref/net46/System.Numerics.Vectors.xml", - "ref/netstandard1.0/System.Numerics.Vectors.dll", - "ref/netstandard1.0/System.Numerics.Vectors.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.ObjectModel/4.0.12": { - "sha512": "tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==", - "type": "package", - "path": "System.ObjectModel/4.0.12", - "files": [ - "System.ObjectModel.4.0.12.nupkg.sha512", - "System.ObjectModel.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.ObjectModel.dll", - "lib/netstandard1.3/System.ObjectModel.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.ObjectModel.dll", - "ref/netcore50/System.ObjectModel.xml", - "ref/netcore50/de/System.ObjectModel.xml", - "ref/netcore50/es/System.ObjectModel.xml", - "ref/netcore50/fr/System.ObjectModel.xml", - "ref/netcore50/it/System.ObjectModel.xml", - "ref/netcore50/ja/System.ObjectModel.xml", - "ref/netcore50/ko/System.ObjectModel.xml", - "ref/netcore50/ru/System.ObjectModel.xml", - "ref/netcore50/zh-hans/System.ObjectModel.xml", - "ref/netcore50/zh-hant/System.ObjectModel.xml", - "ref/netstandard1.0/System.ObjectModel.dll", - "ref/netstandard1.0/System.ObjectModel.xml", - "ref/netstandard1.0/de/System.ObjectModel.xml", - "ref/netstandard1.0/es/System.ObjectModel.xml", - "ref/netstandard1.0/fr/System.ObjectModel.xml", - "ref/netstandard1.0/it/System.ObjectModel.xml", - "ref/netstandard1.0/ja/System.ObjectModel.xml", - "ref/netstandard1.0/ko/System.ObjectModel.xml", - "ref/netstandard1.0/ru/System.ObjectModel.xml", - "ref/netstandard1.0/zh-hans/System.ObjectModel.xml", - "ref/netstandard1.0/zh-hant/System.ObjectModel.xml", - "ref/netstandard1.3/System.ObjectModel.dll", - "ref/netstandard1.3/System.ObjectModel.xml", - "ref/netstandard1.3/de/System.ObjectModel.xml", - "ref/netstandard1.3/es/System.ObjectModel.xml", - "ref/netstandard1.3/fr/System.ObjectModel.xml", - "ref/netstandard1.3/it/System.ObjectModel.xml", - "ref/netstandard1.3/ja/System.ObjectModel.xml", - "ref/netstandard1.3/ko/System.ObjectModel.xml", - "ref/netstandard1.3/ru/System.ObjectModel.xml", - "ref/netstandard1.3/zh-hans/System.ObjectModel.xml", - "ref/netstandard1.3/zh-hant/System.ObjectModel.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Private.DataContractSerialization/4.1.1": { - "sha512": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "type": "package", - "path": "System.Private.DataContractSerialization/4.1.1", - "files": [ - "System.Private.DataContractSerialization.4.1.1.nupkg.sha512", - "System.Private.DataContractSerialization.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.3/System.Private.DataContractSerialization.dll", - "ref/netstandard/_._", - "runtimes/aot/lib/netcore50/System.Private.DataContractSerialization.dll" - ] - }, - "System.Reflection/4.1.0": { - "sha512": "JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==", - "type": "package", - "path": "System.Reflection/4.1.0", - "files": [ - "System.Reflection.4.1.0.nupkg.sha512", - "System.Reflection.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net462/System.Reflection.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net462/System.Reflection.dll", - "ref/netcore50/System.Reflection.dll", - "ref/netcore50/System.Reflection.xml", - "ref/netcore50/de/System.Reflection.xml", - "ref/netcore50/es/System.Reflection.xml", - "ref/netcore50/fr/System.Reflection.xml", - "ref/netcore50/it/System.Reflection.xml", - "ref/netcore50/ja/System.Reflection.xml", - "ref/netcore50/ko/System.Reflection.xml", - "ref/netcore50/ru/System.Reflection.xml", - "ref/netcore50/zh-hans/System.Reflection.xml", - "ref/netcore50/zh-hant/System.Reflection.xml", - "ref/netstandard1.0/System.Reflection.dll", - "ref/netstandard1.0/System.Reflection.xml", - "ref/netstandard1.0/de/System.Reflection.xml", - "ref/netstandard1.0/es/System.Reflection.xml", - "ref/netstandard1.0/fr/System.Reflection.xml", - "ref/netstandard1.0/it/System.Reflection.xml", - "ref/netstandard1.0/ja/System.Reflection.xml", - "ref/netstandard1.0/ko/System.Reflection.xml", - "ref/netstandard1.0/ru/System.Reflection.xml", - "ref/netstandard1.0/zh-hans/System.Reflection.xml", - "ref/netstandard1.0/zh-hant/System.Reflection.xml", - "ref/netstandard1.3/System.Reflection.dll", - "ref/netstandard1.3/System.Reflection.xml", - "ref/netstandard1.3/de/System.Reflection.xml", - "ref/netstandard1.3/es/System.Reflection.xml", - "ref/netstandard1.3/fr/System.Reflection.xml", - "ref/netstandard1.3/it/System.Reflection.xml", - "ref/netstandard1.3/ja/System.Reflection.xml", - "ref/netstandard1.3/ko/System.Reflection.xml", - "ref/netstandard1.3/ru/System.Reflection.xml", - "ref/netstandard1.3/zh-hans/System.Reflection.xml", - "ref/netstandard1.3/zh-hant/System.Reflection.xml", - "ref/netstandard1.5/System.Reflection.dll", - "ref/netstandard1.5/System.Reflection.xml", - "ref/netstandard1.5/de/System.Reflection.xml", - "ref/netstandard1.5/es/System.Reflection.xml", - "ref/netstandard1.5/fr/System.Reflection.xml", - "ref/netstandard1.5/it/System.Reflection.xml", - "ref/netstandard1.5/ja/System.Reflection.xml", - "ref/netstandard1.5/ko/System.Reflection.xml", - "ref/netstandard1.5/ru/System.Reflection.xml", - "ref/netstandard1.5/zh-hans/System.Reflection.xml", - "ref/netstandard1.5/zh-hant/System.Reflection.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Reflection.DispatchProxy/4.0.1": { - "sha512": "GPPgWoSxQEU3aCKSOvsAc1dhTTi4iq92PUVEVfnGPGwqCf6synaAJGYLKMs5E3CuRfel8ufACWUijXqDpOlGrA==", - "type": "package", - "path": "System.Reflection.DispatchProxy/4.0.1", - "files": [ - "System.Reflection.DispatchProxy.4.0.1.nupkg.sha512", - "System.Reflection.DispatchProxy.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/netstandard1.3/System.Reflection.DispatchProxy.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/netstandard1.3/System.Reflection.DispatchProxy.dll", - "ref/netstandard1.3/System.Reflection.DispatchProxy.xml", - "ref/netstandard1.3/de/System.Reflection.DispatchProxy.xml", - "ref/netstandard1.3/es/System.Reflection.DispatchProxy.xml", - "ref/netstandard1.3/fr/System.Reflection.DispatchProxy.xml", - "ref/netstandard1.3/it/System.Reflection.DispatchProxy.xml", - "ref/netstandard1.3/ja/System.Reflection.DispatchProxy.xml", - "ref/netstandard1.3/ko/System.Reflection.DispatchProxy.xml", - "ref/netstandard1.3/ru/System.Reflection.DispatchProxy.xml", - "ref/netstandard1.3/zh-hans/System.Reflection.DispatchProxy.xml", - "ref/netstandard1.3/zh-hant/System.Reflection.DispatchProxy.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Reflection.DispatchProxy.dll" - ] - }, - "System.Reflection.Emit/4.0.1": { - "sha512": "P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", - "type": "package", - "path": "System.Reflection.Emit/4.0.1", - "files": [ - "System.Reflection.Emit.4.0.1.nupkg.sha512", - "System.Reflection.Emit.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/net45/_._", - "lib/netcore50/System.Reflection.Emit.dll", - "lib/netstandard1.3/System.Reflection.Emit.dll", - "lib/xamarinmac20/_._", - "ref/MonoAndroid10/_._", - "ref/net45/_._", - "ref/netstandard1.1/System.Reflection.Emit.dll", - "ref/netstandard1.1/System.Reflection.Emit.xml", - "ref/netstandard1.1/de/System.Reflection.Emit.xml", - "ref/netstandard1.1/es/System.Reflection.Emit.xml", - "ref/netstandard1.1/fr/System.Reflection.Emit.xml", - "ref/netstandard1.1/it/System.Reflection.Emit.xml", - "ref/netstandard1.1/ja/System.Reflection.Emit.xml", - "ref/netstandard1.1/ko/System.Reflection.Emit.xml", - "ref/netstandard1.1/ru/System.Reflection.Emit.xml", - "ref/netstandard1.1/zh-hans/System.Reflection.Emit.xml", - "ref/netstandard1.1/zh-hant/System.Reflection.Emit.xml", - "ref/xamarinmac20/_._" - ] - }, - "System.Reflection.Emit.ILGeneration/4.0.1": { - "sha512": "Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==", - "type": "package", - "path": "System.Reflection.Emit.ILGeneration/4.0.1", - "files": [ - "System.Reflection.Emit.ILGeneration.4.0.1.nupkg.sha512", - "System.Reflection.Emit.ILGeneration.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/net45/_._", - "lib/netcore50/System.Reflection.Emit.ILGeneration.dll", - "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll", - "lib/portable-net45+wp8/_._", - "lib/wp80/_._", - "ref/net45/_._", - "ref/netstandard1.0/System.Reflection.Emit.ILGeneration.dll", - "ref/netstandard1.0/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/de/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/es/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/fr/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/it/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/ja/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/ko/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/ru/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/zh-hans/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/zh-hant/System.Reflection.Emit.ILGeneration.xml", - "ref/portable-net45+wp8/_._", - "ref/wp80/_._", - "runtimes/aot/lib/netcore50/_._" - ] - }, - "System.Reflection.Emit.Lightweight/4.0.1": { - "sha512": "sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==", - "type": "package", - "path": "System.Reflection.Emit.Lightweight/4.0.1", - "files": [ - "System.Reflection.Emit.Lightweight.4.0.1.nupkg.sha512", - "System.Reflection.Emit.Lightweight.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/net45/_._", - "lib/netcore50/System.Reflection.Emit.Lightweight.dll", - "lib/netstandard1.3/System.Reflection.Emit.Lightweight.dll", - "lib/portable-net45+wp8/_._", - "lib/wp80/_._", - "ref/net45/_._", - "ref/netstandard1.0/System.Reflection.Emit.Lightweight.dll", - "ref/netstandard1.0/System.Reflection.Emit.Lightweight.xml", - "ref/netstandard1.0/de/System.Reflection.Emit.Lightweight.xml", - "ref/netstandard1.0/es/System.Reflection.Emit.Lightweight.xml", - "ref/netstandard1.0/fr/System.Reflection.Emit.Lightweight.xml", - "ref/netstandard1.0/it/System.Reflection.Emit.Lightweight.xml", - "ref/netstandard1.0/ja/System.Reflection.Emit.Lightweight.xml", - "ref/netstandard1.0/ko/System.Reflection.Emit.Lightweight.xml", - "ref/netstandard1.0/ru/System.Reflection.Emit.Lightweight.xml", - "ref/netstandard1.0/zh-hans/System.Reflection.Emit.Lightweight.xml", - "ref/netstandard1.0/zh-hant/System.Reflection.Emit.Lightweight.xml", - "ref/portable-net45+wp8/_._", - "ref/wp80/_._", - "runtimes/aot/lib/netcore50/_._" - ] - }, - "System.Reflection.Extensions/4.0.1": { - "sha512": "GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==", - "type": "package", - "path": "System.Reflection.Extensions/4.0.1", - "files": [ - "System.Reflection.Extensions.4.0.1.nupkg.sha512", - "System.Reflection.Extensions.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Reflection.Extensions.dll", - "ref/netcore50/System.Reflection.Extensions.xml", - "ref/netcore50/de/System.Reflection.Extensions.xml", - "ref/netcore50/es/System.Reflection.Extensions.xml", - "ref/netcore50/fr/System.Reflection.Extensions.xml", - "ref/netcore50/it/System.Reflection.Extensions.xml", - "ref/netcore50/ja/System.Reflection.Extensions.xml", - "ref/netcore50/ko/System.Reflection.Extensions.xml", - "ref/netcore50/ru/System.Reflection.Extensions.xml", - "ref/netcore50/zh-hans/System.Reflection.Extensions.xml", - "ref/netcore50/zh-hant/System.Reflection.Extensions.xml", - "ref/netstandard1.0/System.Reflection.Extensions.dll", - "ref/netstandard1.0/System.Reflection.Extensions.xml", - "ref/netstandard1.0/de/System.Reflection.Extensions.xml", - "ref/netstandard1.0/es/System.Reflection.Extensions.xml", - "ref/netstandard1.0/fr/System.Reflection.Extensions.xml", - "ref/netstandard1.0/it/System.Reflection.Extensions.xml", - "ref/netstandard1.0/ja/System.Reflection.Extensions.xml", - "ref/netstandard1.0/ko/System.Reflection.Extensions.xml", - "ref/netstandard1.0/ru/System.Reflection.Extensions.xml", - "ref/netstandard1.0/zh-hans/System.Reflection.Extensions.xml", - "ref/netstandard1.0/zh-hant/System.Reflection.Extensions.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Reflection.Metadata/1.3.0": { - "sha512": "jMSCxA4LSyKBGRDm/WtfkO03FkcgRzHxwvQRib1bm2GZ8ifKM1MX1al6breGCEQK280mdl9uQS7JNPXRYk90jw==", - "type": "package", - "path": "System.Reflection.Metadata/1.3.0", - "files": [ - "System.Reflection.Metadata.1.3.0.nupkg.sha512", - "System.Reflection.Metadata.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.1/System.Reflection.Metadata.dll", - "lib/netstandard1.1/System.Reflection.Metadata.xml", - "lib/portable-net45+win8/System.Reflection.Metadata.dll", - "lib/portable-net45+win8/System.Reflection.Metadata.xml" - ] - }, - "System.Reflection.Primitives/4.0.1": { - "sha512": "4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==", - "type": "package", - "path": "System.Reflection.Primitives/4.0.1", - "files": [ - "System.Reflection.Primitives.4.0.1.nupkg.sha512", - "System.Reflection.Primitives.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Reflection.Primitives.dll", - "ref/netcore50/System.Reflection.Primitives.xml", - "ref/netcore50/de/System.Reflection.Primitives.xml", - "ref/netcore50/es/System.Reflection.Primitives.xml", - "ref/netcore50/fr/System.Reflection.Primitives.xml", - "ref/netcore50/it/System.Reflection.Primitives.xml", - "ref/netcore50/ja/System.Reflection.Primitives.xml", - "ref/netcore50/ko/System.Reflection.Primitives.xml", - "ref/netcore50/ru/System.Reflection.Primitives.xml", - "ref/netcore50/zh-hans/System.Reflection.Primitives.xml", - "ref/netcore50/zh-hant/System.Reflection.Primitives.xml", - "ref/netstandard1.0/System.Reflection.Primitives.dll", - "ref/netstandard1.0/System.Reflection.Primitives.xml", - "ref/netstandard1.0/de/System.Reflection.Primitives.xml", - "ref/netstandard1.0/es/System.Reflection.Primitives.xml", - "ref/netstandard1.0/fr/System.Reflection.Primitives.xml", - "ref/netstandard1.0/it/System.Reflection.Primitives.xml", - "ref/netstandard1.0/ja/System.Reflection.Primitives.xml", - "ref/netstandard1.0/ko/System.Reflection.Primitives.xml", - "ref/netstandard1.0/ru/System.Reflection.Primitives.xml", - "ref/netstandard1.0/zh-hans/System.Reflection.Primitives.xml", - "ref/netstandard1.0/zh-hant/System.Reflection.Primitives.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Reflection.TypeExtensions/4.1.0": { - "sha512": "tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", - "type": "package", - "path": "System.Reflection.TypeExtensions/4.1.0", - "files": [ - "System.Reflection.TypeExtensions.4.1.0.nupkg.sha512", - "System.Reflection.TypeExtensions.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Reflection.TypeExtensions.dll", - "lib/net462/System.Reflection.TypeExtensions.dll", - "lib/netcore50/System.Reflection.TypeExtensions.dll", - "lib/netstandard1.5/System.Reflection.TypeExtensions.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Reflection.TypeExtensions.dll", - "ref/net462/System.Reflection.TypeExtensions.dll", - "ref/netstandard1.3/System.Reflection.TypeExtensions.dll", - "ref/netstandard1.3/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.3/de/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.3/es/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.3/fr/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.3/it/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.3/ja/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.3/ko/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.3/ru/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.3/zh-hans/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.3/zh-hant/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.5/System.Reflection.TypeExtensions.dll", - "ref/netstandard1.5/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.5/de/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.5/es/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.5/fr/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.5/it/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.5/ja/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.5/ko/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.5/ru/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.5/zh-hans/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.5/zh-hant/System.Reflection.TypeExtensions.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Reflection.TypeExtensions.dll" - ] - }, - "System.Resources.Reader/4.0.0": { - "sha512": "VX1iHAoHxgrLZv+nq/9drCZI6Q4SSCzSVyUm1e0U60sqWdj6XhY7wvKmy3RvsSal9h+/vqSWwxxJsm0J4vn/jA==", - "type": "package", - "path": "System.Resources.Reader/4.0.0", - "files": [ - "System.Resources.Reader.4.0.0.nupkg.sha512", - "System.Resources.Reader.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/System.Resources.Reader.dll" - ] - }, - "System.Resources.ResourceManager/4.0.1": { - "sha512": "TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==", - "type": "package", - "path": "System.Resources.ResourceManager/4.0.1", - "files": [ - "System.Resources.ResourceManager.4.0.1.nupkg.sha512", - "System.Resources.ResourceManager.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Resources.ResourceManager.dll", - "ref/netcore50/System.Resources.ResourceManager.xml", - "ref/netcore50/de/System.Resources.ResourceManager.xml", - "ref/netcore50/es/System.Resources.ResourceManager.xml", - "ref/netcore50/fr/System.Resources.ResourceManager.xml", - "ref/netcore50/it/System.Resources.ResourceManager.xml", - "ref/netcore50/ja/System.Resources.ResourceManager.xml", - "ref/netcore50/ko/System.Resources.ResourceManager.xml", - "ref/netcore50/ru/System.Resources.ResourceManager.xml", - "ref/netcore50/zh-hans/System.Resources.ResourceManager.xml", - "ref/netcore50/zh-hant/System.Resources.ResourceManager.xml", - "ref/netstandard1.0/System.Resources.ResourceManager.dll", - "ref/netstandard1.0/System.Resources.ResourceManager.xml", - "ref/netstandard1.0/de/System.Resources.ResourceManager.xml", - "ref/netstandard1.0/es/System.Resources.ResourceManager.xml", - "ref/netstandard1.0/fr/System.Resources.ResourceManager.xml", - "ref/netstandard1.0/it/System.Resources.ResourceManager.xml", - "ref/netstandard1.0/ja/System.Resources.ResourceManager.xml", - "ref/netstandard1.0/ko/System.Resources.ResourceManager.xml", - "ref/netstandard1.0/ru/System.Resources.ResourceManager.xml", - "ref/netstandard1.0/zh-hans/System.Resources.ResourceManager.xml", - "ref/netstandard1.0/zh-hant/System.Resources.ResourceManager.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Resources.ResourceWriter/4.0.0-beta-22816": { - "sha512": "Q6wpzkZjop1J+WJXl9H0OgXQvxDQxMkqA43AVENNW4SlTzIT8rFW7tum54xYZy3QCMKK8gIfOnVqA6VbgXRq1Q==", - "type": "package", - "path": "System.Resources.ResourceWriter/4.0.0-beta-22816", - "files": [ - "License.rtf", - "System.Resources.ResourceWriter.4.0.0-beta-22816.nupkg.sha512", - "System.Resources.ResourceWriter.nuspec", - "lib/aspnetcore50/System.Resources.ResourceWriter.dll", - "lib/contract/System.Resources.ResourceWriter.dll", - "lib/net45/System.Resources.ResourceWriter.dll", - "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Resources.ResourceWriter.dll" - ] - }, - "System.Runtime/4.1.0": { - "sha512": "v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==", - "type": "package", - "path": "System.Runtime/4.1.0", - "files": [ - "System.Runtime.4.1.0.nupkg.sha512", - "System.Runtime.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net462/System.Runtime.dll", - "lib/portable-net45+win8+wp80+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net462/System.Runtime.dll", - "ref/netcore50/System.Runtime.dll", - "ref/netcore50/System.Runtime.xml", - "ref/netcore50/de/System.Runtime.xml", - "ref/netcore50/es/System.Runtime.xml", - "ref/netcore50/fr/System.Runtime.xml", - "ref/netcore50/it/System.Runtime.xml", - "ref/netcore50/ja/System.Runtime.xml", - "ref/netcore50/ko/System.Runtime.xml", - "ref/netcore50/ru/System.Runtime.xml", - "ref/netcore50/zh-hans/System.Runtime.xml", - "ref/netcore50/zh-hant/System.Runtime.xml", - "ref/netstandard1.0/System.Runtime.dll", - "ref/netstandard1.0/System.Runtime.xml", - "ref/netstandard1.0/de/System.Runtime.xml", - "ref/netstandard1.0/es/System.Runtime.xml", - "ref/netstandard1.0/fr/System.Runtime.xml", - "ref/netstandard1.0/it/System.Runtime.xml", - "ref/netstandard1.0/ja/System.Runtime.xml", - "ref/netstandard1.0/ko/System.Runtime.xml", - "ref/netstandard1.0/ru/System.Runtime.xml", - "ref/netstandard1.0/zh-hans/System.Runtime.xml", - "ref/netstandard1.0/zh-hant/System.Runtime.xml", - "ref/netstandard1.2/System.Runtime.dll", - "ref/netstandard1.2/System.Runtime.xml", - "ref/netstandard1.2/de/System.Runtime.xml", - "ref/netstandard1.2/es/System.Runtime.xml", - "ref/netstandard1.2/fr/System.Runtime.xml", - "ref/netstandard1.2/it/System.Runtime.xml", - "ref/netstandard1.2/ja/System.Runtime.xml", - "ref/netstandard1.2/ko/System.Runtime.xml", - "ref/netstandard1.2/ru/System.Runtime.xml", - "ref/netstandard1.2/zh-hans/System.Runtime.xml", - "ref/netstandard1.2/zh-hant/System.Runtime.xml", - "ref/netstandard1.3/System.Runtime.dll", - "ref/netstandard1.3/System.Runtime.xml", - "ref/netstandard1.3/de/System.Runtime.xml", - "ref/netstandard1.3/es/System.Runtime.xml", - "ref/netstandard1.3/fr/System.Runtime.xml", - "ref/netstandard1.3/it/System.Runtime.xml", - "ref/netstandard1.3/ja/System.Runtime.xml", - "ref/netstandard1.3/ko/System.Runtime.xml", - "ref/netstandard1.3/ru/System.Runtime.xml", - "ref/netstandard1.3/zh-hans/System.Runtime.xml", - "ref/netstandard1.3/zh-hant/System.Runtime.xml", - "ref/netstandard1.5/System.Runtime.dll", - "ref/netstandard1.5/System.Runtime.xml", - "ref/netstandard1.5/de/System.Runtime.xml", - "ref/netstandard1.5/es/System.Runtime.xml", - "ref/netstandard1.5/fr/System.Runtime.xml", - "ref/netstandard1.5/it/System.Runtime.xml", - "ref/netstandard1.5/ja/System.Runtime.xml", - "ref/netstandard1.5/ko/System.Runtime.xml", - "ref/netstandard1.5/ru/System.Runtime.xml", - "ref/netstandard1.5/zh-hans/System.Runtime.xml", - "ref/netstandard1.5/zh-hant/System.Runtime.xml", - "ref/portable-net45+win8+wp80+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Runtime.CompilerServices.Unsafe/4.0.0": { - "sha512": "LDvjxLx2fkThOFo/SC+901fJrh5artALmgzeSqnVxzvFp4q3HO8BkeLyshPdcbs5zpN7Xh9G23M6sDhgIPbG9A==", - "type": "package", - "path": "System.Runtime.CompilerServices.Unsafe/4.0.0", - "files": [ - "System.Runtime.CompilerServices.Unsafe.4.0.0.nupkg.sha512", - "System.Runtime.CompilerServices.Unsafe.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll", - "lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml" - ] - }, - "System.Runtime.Extensions/4.1.0": { - "sha512": "CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==", - "type": "package", - "path": "System.Runtime.Extensions/4.1.0", - "files": [ - "System.Runtime.Extensions.4.1.0.nupkg.sha512", - "System.Runtime.Extensions.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net462/System.Runtime.Extensions.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net462/System.Runtime.Extensions.dll", - "ref/netcore50/System.Runtime.Extensions.dll", - "ref/netcore50/System.Runtime.Extensions.xml", - "ref/netcore50/de/System.Runtime.Extensions.xml", - "ref/netcore50/es/System.Runtime.Extensions.xml", - "ref/netcore50/fr/System.Runtime.Extensions.xml", - "ref/netcore50/it/System.Runtime.Extensions.xml", - "ref/netcore50/ja/System.Runtime.Extensions.xml", - "ref/netcore50/ko/System.Runtime.Extensions.xml", - "ref/netcore50/ru/System.Runtime.Extensions.xml", - "ref/netcore50/zh-hans/System.Runtime.Extensions.xml", - "ref/netcore50/zh-hant/System.Runtime.Extensions.xml", - "ref/netstandard1.0/System.Runtime.Extensions.dll", - "ref/netstandard1.0/System.Runtime.Extensions.xml", - "ref/netstandard1.0/de/System.Runtime.Extensions.xml", - "ref/netstandard1.0/es/System.Runtime.Extensions.xml", - "ref/netstandard1.0/fr/System.Runtime.Extensions.xml", - "ref/netstandard1.0/it/System.Runtime.Extensions.xml", - "ref/netstandard1.0/ja/System.Runtime.Extensions.xml", - "ref/netstandard1.0/ko/System.Runtime.Extensions.xml", - "ref/netstandard1.0/ru/System.Runtime.Extensions.xml", - "ref/netstandard1.0/zh-hans/System.Runtime.Extensions.xml", - "ref/netstandard1.0/zh-hant/System.Runtime.Extensions.xml", - "ref/netstandard1.3/System.Runtime.Extensions.dll", - "ref/netstandard1.3/System.Runtime.Extensions.xml", - "ref/netstandard1.3/de/System.Runtime.Extensions.xml", - "ref/netstandard1.3/es/System.Runtime.Extensions.xml", - "ref/netstandard1.3/fr/System.Runtime.Extensions.xml", - "ref/netstandard1.3/it/System.Runtime.Extensions.xml", - "ref/netstandard1.3/ja/System.Runtime.Extensions.xml", - "ref/netstandard1.3/ko/System.Runtime.Extensions.xml", - "ref/netstandard1.3/ru/System.Runtime.Extensions.xml", - "ref/netstandard1.3/zh-hans/System.Runtime.Extensions.xml", - "ref/netstandard1.3/zh-hant/System.Runtime.Extensions.xml", - "ref/netstandard1.5/System.Runtime.Extensions.dll", - "ref/netstandard1.5/System.Runtime.Extensions.xml", - "ref/netstandard1.5/de/System.Runtime.Extensions.xml", - "ref/netstandard1.5/es/System.Runtime.Extensions.xml", - "ref/netstandard1.5/fr/System.Runtime.Extensions.xml", - "ref/netstandard1.5/it/System.Runtime.Extensions.xml", - "ref/netstandard1.5/ja/System.Runtime.Extensions.xml", - "ref/netstandard1.5/ko/System.Runtime.Extensions.xml", - "ref/netstandard1.5/ru/System.Runtime.Extensions.xml", - "ref/netstandard1.5/zh-hans/System.Runtime.Extensions.xml", - "ref/netstandard1.5/zh-hant/System.Runtime.Extensions.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Runtime.Handles/4.0.1": { - "sha512": "nCJvEKguXEvk2ymk1gqj625vVnlK3/xdGzx0vOKicQkoquaTBJTP13AIYkocSUwHCLNBwUbXTqTWGDxBTWpt7g==", - "type": "package", - "path": "System.Runtime.Handles/4.0.1", - "files": [ - "System.Runtime.Handles.4.0.1.nupkg.sha512", - "System.Runtime.Handles.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/_._", - "ref/netstandard1.3/System.Runtime.Handles.dll", - "ref/netstandard1.3/System.Runtime.Handles.xml", - "ref/netstandard1.3/de/System.Runtime.Handles.xml", - "ref/netstandard1.3/es/System.Runtime.Handles.xml", - "ref/netstandard1.3/fr/System.Runtime.Handles.xml", - "ref/netstandard1.3/it/System.Runtime.Handles.xml", - "ref/netstandard1.3/ja/System.Runtime.Handles.xml", - "ref/netstandard1.3/ko/System.Runtime.Handles.xml", - "ref/netstandard1.3/ru/System.Runtime.Handles.xml", - "ref/netstandard1.3/zh-hans/System.Runtime.Handles.xml", - "ref/netstandard1.3/zh-hant/System.Runtime.Handles.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Runtime.InteropServices/4.1.0": { - "sha512": "16eu3kjHS633yYdkjwShDHZLRNMKVi/s0bY8ODiqJ2RfMhDMAwxZaUaWVnZ2P71kr/or+X9o/xFWtNqz8ivieQ==", - "type": "package", - "path": "System.Runtime.InteropServices/4.1.0", - "files": [ - "System.Runtime.InteropServices.4.1.0.nupkg.sha512", - "System.Runtime.InteropServices.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net462/System.Runtime.InteropServices.dll", - "lib/portable-net45+win8+wpa81/_._", - "lib/win8/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net462/System.Runtime.InteropServices.dll", - "ref/netcore50/System.Runtime.InteropServices.dll", - "ref/netcore50/System.Runtime.InteropServices.xml", - "ref/netcore50/de/System.Runtime.InteropServices.xml", - "ref/netcore50/es/System.Runtime.InteropServices.xml", - "ref/netcore50/fr/System.Runtime.InteropServices.xml", - "ref/netcore50/it/System.Runtime.InteropServices.xml", - "ref/netcore50/ja/System.Runtime.InteropServices.xml", - "ref/netcore50/ko/System.Runtime.InteropServices.xml", - "ref/netcore50/ru/System.Runtime.InteropServices.xml", - "ref/netcore50/zh-hans/System.Runtime.InteropServices.xml", - "ref/netcore50/zh-hant/System.Runtime.InteropServices.xml", - "ref/netstandard1.1/System.Runtime.InteropServices.dll", - "ref/netstandard1.1/System.Runtime.InteropServices.xml", - "ref/netstandard1.1/de/System.Runtime.InteropServices.xml", - "ref/netstandard1.1/es/System.Runtime.InteropServices.xml", - "ref/netstandard1.1/fr/System.Runtime.InteropServices.xml", - "ref/netstandard1.1/it/System.Runtime.InteropServices.xml", - "ref/netstandard1.1/ja/System.Runtime.InteropServices.xml", - "ref/netstandard1.1/ko/System.Runtime.InteropServices.xml", - "ref/netstandard1.1/ru/System.Runtime.InteropServices.xml", - "ref/netstandard1.1/zh-hans/System.Runtime.InteropServices.xml", - "ref/netstandard1.1/zh-hant/System.Runtime.InteropServices.xml", - "ref/netstandard1.2/System.Runtime.InteropServices.dll", - "ref/netstandard1.2/System.Runtime.InteropServices.xml", - "ref/netstandard1.2/de/System.Runtime.InteropServices.xml", - "ref/netstandard1.2/es/System.Runtime.InteropServices.xml", - "ref/netstandard1.2/fr/System.Runtime.InteropServices.xml", - "ref/netstandard1.2/it/System.Runtime.InteropServices.xml", - "ref/netstandard1.2/ja/System.Runtime.InteropServices.xml", - "ref/netstandard1.2/ko/System.Runtime.InteropServices.xml", - "ref/netstandard1.2/ru/System.Runtime.InteropServices.xml", - "ref/netstandard1.2/zh-hans/System.Runtime.InteropServices.xml", - "ref/netstandard1.2/zh-hant/System.Runtime.InteropServices.xml", - "ref/netstandard1.3/System.Runtime.InteropServices.dll", - "ref/netstandard1.3/System.Runtime.InteropServices.xml", - "ref/netstandard1.3/de/System.Runtime.InteropServices.xml", - "ref/netstandard1.3/es/System.Runtime.InteropServices.xml", - "ref/netstandard1.3/fr/System.Runtime.InteropServices.xml", - "ref/netstandard1.3/it/System.Runtime.InteropServices.xml", - "ref/netstandard1.3/ja/System.Runtime.InteropServices.xml", - "ref/netstandard1.3/ko/System.Runtime.InteropServices.xml", - "ref/netstandard1.3/ru/System.Runtime.InteropServices.xml", - "ref/netstandard1.3/zh-hans/System.Runtime.InteropServices.xml", - "ref/netstandard1.3/zh-hant/System.Runtime.InteropServices.xml", - "ref/netstandard1.5/System.Runtime.InteropServices.dll", - "ref/netstandard1.5/System.Runtime.InteropServices.xml", - "ref/netstandard1.5/de/System.Runtime.InteropServices.xml", - "ref/netstandard1.5/es/System.Runtime.InteropServices.xml", - "ref/netstandard1.5/fr/System.Runtime.InteropServices.xml", - "ref/netstandard1.5/it/System.Runtime.InteropServices.xml", - "ref/netstandard1.5/ja/System.Runtime.InteropServices.xml", - "ref/netstandard1.5/ko/System.Runtime.InteropServices.xml", - "ref/netstandard1.5/ru/System.Runtime.InteropServices.xml", - "ref/netstandard1.5/zh-hans/System.Runtime.InteropServices.xml", - "ref/netstandard1.5/zh-hant/System.Runtime.InteropServices.xml", - "ref/portable-net45+win8+wpa81/_._", - "ref/win8/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Runtime.InteropServices.RuntimeInformation/4.0.0": { - "sha512": "hWPhJxc453RCa8Z29O91EmfGeZIHX1ZH2A8L6lYQVSaKzku2DfArSfMEb1/MYYzPQRJZeu0c9dmYeJKxW5Fgng==", - "type": "package", - "path": "System.Runtime.InteropServices.RuntimeInformation/4.0.0", - "files": [ - "System.Runtime.InteropServices.RuntimeInformation.4.0.0.nupkg.sha512", - "System.Runtime.InteropServices.RuntimeInformation.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/System.Runtime.InteropServices.RuntimeInformation.dll", - "lib/win8/System.Runtime.InteropServices.RuntimeInformation.dll", - "lib/wpa81/System.Runtime.InteropServices.RuntimeInformation.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Runtime.InteropServices.RuntimeInformation.dll", - "runtimes/unix/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll", - "runtimes/win/lib/net45/System.Runtime.InteropServices.RuntimeInformation.dll", - "runtimes/win/lib/netcore50/System.Runtime.InteropServices.RuntimeInformation.dll", - "runtimes/win/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll" - ] - }, - "System.Runtime.Loader/4.0.0": { - "sha512": "4UN78GOVU/mbDFcXkEWtetJT/sJ0yic2gGk1HSlSpWI0TDf421xnrZTDZnwNBapk1GQeYN7U1lTj/aQB1by6ow==", - "type": "package", - "path": "System.Runtime.Loader/4.0.0", - "files": [ - "System.Runtime.Loader.4.0.0.nupkg.sha512", - "System.Runtime.Loader.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/net462/_._", - "lib/netstandard1.5/System.Runtime.Loader.dll", - "ref/netstandard1.5/System.Runtime.Loader.dll", - "ref/netstandard1.5/System.Runtime.Loader.xml", - "ref/netstandard1.5/de/System.Runtime.Loader.xml", - "ref/netstandard1.5/es/System.Runtime.Loader.xml", - "ref/netstandard1.5/fr/System.Runtime.Loader.xml", - "ref/netstandard1.5/it/System.Runtime.Loader.xml", - "ref/netstandard1.5/ja/System.Runtime.Loader.xml", - "ref/netstandard1.5/ko/System.Runtime.Loader.xml", - "ref/netstandard1.5/ru/System.Runtime.Loader.xml", - "ref/netstandard1.5/zh-hans/System.Runtime.Loader.xml", - "ref/netstandard1.5/zh-hant/System.Runtime.Loader.xml" - ] - }, - "System.Runtime.Numerics/4.0.1": { - "sha512": "+XbKFuzdmLP3d1o9pdHu2nxjNr2OEPqGzKeegPLCUMM71a0t50A/rOcIRmGs9wR7a8KuHX6hYs/7/TymIGLNqg==", - "type": "package", - "path": "System.Runtime.Numerics/4.0.1", - "files": [ - "System.Runtime.Numerics.4.0.1.nupkg.sha512", - "System.Runtime.Numerics.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Runtime.Numerics.dll", - "lib/netstandard1.3/System.Runtime.Numerics.dll", - "lib/portable-net45+win8+wpa81/_._", - "lib/win8/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Runtime.Numerics.dll", - "ref/netcore50/System.Runtime.Numerics.xml", - "ref/netcore50/de/System.Runtime.Numerics.xml", - "ref/netcore50/es/System.Runtime.Numerics.xml", - "ref/netcore50/fr/System.Runtime.Numerics.xml", - "ref/netcore50/it/System.Runtime.Numerics.xml", - "ref/netcore50/ja/System.Runtime.Numerics.xml", - "ref/netcore50/ko/System.Runtime.Numerics.xml", - "ref/netcore50/ru/System.Runtime.Numerics.xml", - "ref/netcore50/zh-hans/System.Runtime.Numerics.xml", - "ref/netcore50/zh-hant/System.Runtime.Numerics.xml", - "ref/netstandard1.1/System.Runtime.Numerics.dll", - "ref/netstandard1.1/System.Runtime.Numerics.xml", - "ref/netstandard1.1/de/System.Runtime.Numerics.xml", - "ref/netstandard1.1/es/System.Runtime.Numerics.xml", - "ref/netstandard1.1/fr/System.Runtime.Numerics.xml", - "ref/netstandard1.1/it/System.Runtime.Numerics.xml", - "ref/netstandard1.1/ja/System.Runtime.Numerics.xml", - "ref/netstandard1.1/ko/System.Runtime.Numerics.xml", - "ref/netstandard1.1/ru/System.Runtime.Numerics.xml", - "ref/netstandard1.1/zh-hans/System.Runtime.Numerics.xml", - "ref/netstandard1.1/zh-hant/System.Runtime.Numerics.xml", - "ref/portable-net45+win8+wpa81/_._", - "ref/win8/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Runtime.Serialization.Primitives/4.1.1": { - "sha512": "HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", - "type": "package", - "path": "System.Runtime.Serialization.Primitives/4.1.1", - "files": [ - "System.Runtime.Serialization.Primitives.4.1.1.nupkg.sha512", - "System.Runtime.Serialization.Primitives.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net46/System.Runtime.Serialization.Primitives.dll", - "lib/netcore50/System.Runtime.Serialization.Primitives.dll", - "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net46/System.Runtime.Serialization.Primitives.dll", - "ref/netcore50/System.Runtime.Serialization.Primitives.dll", - "ref/netcore50/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/de/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/es/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/fr/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/it/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/ja/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/ko/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/ru/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/zh-hans/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/zh-hant/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/System.Runtime.Serialization.Primitives.dll", - "ref/netstandard1.0/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/de/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/es/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/fr/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/it/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/ja/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/ko/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/ru/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/zh-hans/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/zh-hant/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/System.Runtime.Serialization.Primitives.dll", - "ref/netstandard1.3/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/de/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/es/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/fr/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/it/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/ja/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/ko/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/ru/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/zh-hans/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/zh-hant/System.Runtime.Serialization.Primitives.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Runtime.Serialization.Primitives.dll" - ] - }, - "System.Runtime.Serialization.Xml/4.1.1": { - "sha512": "yqfKHkWUAdI0hdDIdD9KDzluKtZ8IIqLF3O7xIZlt6UTs1bOvFRpCvRTvGQva3Ak/ZM9/nq9IHBJ1tC4Ybcrjg==", - "type": "package", - "path": "System.Runtime.Serialization.Xml/4.1.1", - "files": [ - "System.Runtime.Serialization.Xml.4.1.1.nupkg.sha512", - "System.Runtime.Serialization.Xml.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net46/System.Runtime.Serialization.Xml.dll", - "lib/netcore50/System.Runtime.Serialization.Xml.dll", - "lib/netstandard1.3/System.Runtime.Serialization.Xml.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net46/System.Runtime.Serialization.Xml.dll", - "ref/netcore50/System.Runtime.Serialization.Xml.dll", - "ref/netcore50/System.Runtime.Serialization.Xml.xml", - "ref/netcore50/de/System.Runtime.Serialization.Xml.xml", - "ref/netcore50/es/System.Runtime.Serialization.Xml.xml", - "ref/netcore50/fr/System.Runtime.Serialization.Xml.xml", - "ref/netcore50/it/System.Runtime.Serialization.Xml.xml", - "ref/netcore50/ja/System.Runtime.Serialization.Xml.xml", - "ref/netcore50/ko/System.Runtime.Serialization.Xml.xml", - "ref/netcore50/ru/System.Runtime.Serialization.Xml.xml", - "ref/netcore50/zh-hans/System.Runtime.Serialization.Xml.xml", - "ref/netcore50/zh-hant/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.0/System.Runtime.Serialization.Xml.dll", - "ref/netstandard1.0/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.0/de/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.0/es/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.0/fr/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.0/it/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.0/ja/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.0/ko/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.0/ru/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.0/zh-hans/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.0/zh-hant/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.3/System.Runtime.Serialization.Xml.dll", - "ref/netstandard1.3/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.3/de/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.3/es/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.3/fr/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.3/it/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.3/ja/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.3/ko/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.3/ru/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.3/zh-hans/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.3/zh-hant/System.Runtime.Serialization.Xml.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Security.Claims/4.0.1": { - "sha512": "4Jlp0OgJLS/Voj1kyFP6MJlIYp3crgfH8kNQk2p7+4JYfc1aAmh9PZyAMMbDhuoolGNtux9HqSOazsioRiDvCw==", - "type": "package", - "path": "System.Security.Claims/4.0.1", - "files": [ - "System.Security.Claims.4.0.1.nupkg.sha512", - "System.Security.Claims.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Security.Claims.dll", - "lib/netstandard1.3/System.Security.Claims.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Security.Claims.dll", - "ref/netstandard1.3/System.Security.Claims.dll", - "ref/netstandard1.3/System.Security.Claims.xml", - "ref/netstandard1.3/de/System.Security.Claims.xml", - "ref/netstandard1.3/es/System.Security.Claims.xml", - "ref/netstandard1.3/fr/System.Security.Claims.xml", - "ref/netstandard1.3/it/System.Security.Claims.xml", - "ref/netstandard1.3/ja/System.Security.Claims.xml", - "ref/netstandard1.3/ko/System.Security.Claims.xml", - "ref/netstandard1.3/ru/System.Security.Claims.xml", - "ref/netstandard1.3/zh-hans/System.Security.Claims.xml", - "ref/netstandard1.3/zh-hant/System.Security.Claims.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Security.Cryptography.Algorithms/4.2.0": { - "sha512": "8JQFxbLVdrtIOKMDN38Fn0GWnqYZw/oMlwOUG/qz1jqChvyZlnUmu+0s7wLx7JYua/nAXoESpHA3iw11QFWhXg==", - "type": "package", - "path": "System.Security.Cryptography.Algorithms/4.2.0", - "files": [ - "System.Security.Cryptography.Algorithms.4.2.0.nupkg.sha512", - "System.Security.Cryptography.Algorithms.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Security.Cryptography.Algorithms.dll", - "lib/net461/System.Security.Cryptography.Algorithms.dll", - "lib/net463/System.Security.Cryptography.Algorithms.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Security.Cryptography.Algorithms.dll", - "ref/net461/System.Security.Cryptography.Algorithms.dll", - "ref/net463/System.Security.Cryptography.Algorithms.dll", - "ref/netstandard1.3/System.Security.Cryptography.Algorithms.dll", - "ref/netstandard1.4/System.Security.Cryptography.Algorithms.dll", - "ref/netstandard1.6/System.Security.Cryptography.Algorithms.dll", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.Algorithms.dll", - "runtimes/win/lib/net46/System.Security.Cryptography.Algorithms.dll", - "runtimes/win/lib/net461/System.Security.Cryptography.Algorithms.dll", - "runtimes/win/lib/net463/System.Security.Cryptography.Algorithms.dll", - "runtimes/win/lib/netcore50/System.Security.Cryptography.Algorithms.dll", - "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.Algorithms.dll" - ] - }, - "System.Security.Cryptography.Cng/4.2.0": { - "sha512": "cUJ2h+ZvONDe28Szw3st5dOHdjndhJzQ2WObDEXAWRPEQBtVItVoxbXM/OEsTthl3cNn2dk2k0I3y45igCQcLw==", - "type": "package", - "path": "System.Security.Cryptography.Cng/4.2.0", - "files": [ - "System.Security.Cryptography.Cng.4.2.0.nupkg.sha512", - "System.Security.Cryptography.Cng.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/net46/System.Security.Cryptography.Cng.dll", - "lib/net461/System.Security.Cryptography.Cng.dll", - "lib/net463/System.Security.Cryptography.Cng.dll", - "ref/net46/System.Security.Cryptography.Cng.dll", - "ref/net461/System.Security.Cryptography.Cng.dll", - "ref/net463/System.Security.Cryptography.Cng.dll", - "ref/netstandard1.3/System.Security.Cryptography.Cng.dll", - "ref/netstandard1.4/System.Security.Cryptography.Cng.dll", - "ref/netstandard1.6/System.Security.Cryptography.Cng.dll", - "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.Cng.dll", - "runtimes/win/lib/net46/System.Security.Cryptography.Cng.dll", - "runtimes/win/lib/net461/System.Security.Cryptography.Cng.dll", - "runtimes/win/lib/net463/System.Security.Cryptography.Cng.dll", - "runtimes/win/lib/netstandard1.4/System.Security.Cryptography.Cng.dll", - "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.Cng.dll" - ] - }, - "System.Security.Cryptography.Csp/4.0.0": { - "sha512": "/i1Usuo4PgAqgbPNC0NjbO3jPW//BoBlTpcWFD1EHVbidH21y4c1ap5bbEMSGAXjAShhMH4abi/K8fILrnu4BQ==", - "type": "package", - "path": "System.Security.Cryptography.Csp/4.0.0", - "files": [ - "System.Security.Cryptography.Csp.4.0.0.nupkg.sha512", - "System.Security.Cryptography.Csp.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Security.Cryptography.Csp.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Security.Cryptography.Csp.dll", - "ref/netstandard1.3/System.Security.Cryptography.Csp.dll", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.Csp.dll", - "runtimes/win/lib/net46/System.Security.Cryptography.Csp.dll", - "runtimes/win/lib/netcore50/_._", - "runtimes/win/lib/netstandard1.3/System.Security.Cryptography.Csp.dll" - ] - }, - "System.Security.Cryptography.Encoding/4.0.0": { - "sha512": "FbKgE5MbxSQMPcSVRgwM6bXN3GtyAh04NkV8E5zKCBE26X0vYW0UtTa2FIgkH33WVqBVxRgxljlVYumWtU+HcQ==", - "type": "package", - "path": "System.Security.Cryptography.Encoding/4.0.0", - "files": [ - "System.Security.Cryptography.Encoding.4.0.0.nupkg.sha512", - "System.Security.Cryptography.Encoding.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Security.Cryptography.Encoding.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Security.Cryptography.Encoding.dll", - "ref/netstandard1.3/System.Security.Cryptography.Encoding.dll", - "ref/netstandard1.3/System.Security.Cryptography.Encoding.xml", - "ref/netstandard1.3/de/System.Security.Cryptography.Encoding.xml", - "ref/netstandard1.3/es/System.Security.Cryptography.Encoding.xml", - "ref/netstandard1.3/fr/System.Security.Cryptography.Encoding.xml", - "ref/netstandard1.3/it/System.Security.Cryptography.Encoding.xml", - "ref/netstandard1.3/ja/System.Security.Cryptography.Encoding.xml", - "ref/netstandard1.3/ko/System.Security.Cryptography.Encoding.xml", - "ref/netstandard1.3/ru/System.Security.Cryptography.Encoding.xml", - "ref/netstandard1.3/zh-hans/System.Security.Cryptography.Encoding.xml", - "ref/netstandard1.3/zh-hant/System.Security.Cryptography.Encoding.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.Encoding.dll", - "runtimes/win/lib/net46/System.Security.Cryptography.Encoding.dll", - "runtimes/win/lib/netstandard1.3/System.Security.Cryptography.Encoding.dll" - ] - }, - "System.Security.Cryptography.OpenSsl/4.0.0": { - "sha512": "HUG/zNUJwEiLkoURDixzkzZdB5yGA5pQhDP93ArOpDPQMteURIGERRNzzoJlmTreLBWr5lkFSjjMSk8ySEpQMw==", - "type": "package", - "path": "System.Security.Cryptography.OpenSsl/4.0.0", - "files": [ - "System.Security.Cryptography.OpenSsl.4.0.0.nupkg.sha512", - "System.Security.Cryptography.OpenSsl.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll", - "ref/netstandard1.6/System.Security.Cryptography.OpenSsl.dll", - "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll" - ] - }, - "System.Security.Cryptography.Primitives/4.0.0": { - "sha512": "Wkd7QryWYjkQclX0bngpntW5HSlMzeJU24UaLJQ7YTfI8ydAVAaU2J+HXLLABOVJlKTVvAeL0Aj39VeTe7L+oA==", - "type": "package", - "path": "System.Security.Cryptography.Primitives/4.0.0", - "files": [ - "System.Security.Cryptography.Primitives.4.0.0.nupkg.sha512", - "System.Security.Cryptography.Primitives.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Security.Cryptography.Primitives.dll", - "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Security.Cryptography.Primitives.dll", - "ref/netstandard1.3/System.Security.Cryptography.Primitives.dll", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Security.Cryptography.X509Certificates/4.1.0": { - "sha512": "4HEfsQIKAhA1+ApNn729Gi09zh+lYWwyIuViihoMDWp1vQnEkL2ct7mAbhBlLYm+x/L4Rr/pyGge1lIY635e0w==", - "type": "package", - "path": "System.Security.Cryptography.X509Certificates/4.1.0", - "files": [ - "System.Security.Cryptography.X509Certificates.4.1.0.nupkg.sha512", - "System.Security.Cryptography.X509Certificates.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Security.Cryptography.X509Certificates.dll", - "lib/net461/System.Security.Cryptography.X509Certificates.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Security.Cryptography.X509Certificates.dll", - "ref/net461/System.Security.Cryptography.X509Certificates.dll", - "ref/netstandard1.3/System.Security.Cryptography.X509Certificates.dll", - "ref/netstandard1.3/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.3/de/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.3/es/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.3/fr/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.3/it/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.3/ja/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.3/ko/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.3/ru/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.3/zh-hans/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.3/zh-hant/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.4/System.Security.Cryptography.X509Certificates.dll", - "ref/netstandard1.4/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.4/de/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.4/es/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.4/fr/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.4/it/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.4/ja/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.4/ko/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.4/ru/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.4/zh-hans/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.4/zh-hant/System.Security.Cryptography.X509Certificates.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.X509Certificates.dll", - "runtimes/win/lib/net46/System.Security.Cryptography.X509Certificates.dll", - "runtimes/win/lib/net461/System.Security.Cryptography.X509Certificates.dll", - "runtimes/win/lib/netcore50/System.Security.Cryptography.X509Certificates.dll", - "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.X509Certificates.dll" - ] - }, - "System.Security.Principal/4.0.1": { - "sha512": "On+SKhXY5rzxh/S8wlH1Rm0ogBlu7zyHNxeNBiXauNrhHRXAe9EuX8Yl5IOzLPGU5Z4kLWHMvORDOCG8iu9hww==", - "type": "package", - "path": "System.Security.Principal/4.0.1", - "files": [ - "System.Security.Principal.4.0.1.nupkg.sha512", - "System.Security.Principal.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Security.Principal.dll", - "lib/netstandard1.0/System.Security.Principal.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Security.Principal.dll", - "ref/netcore50/System.Security.Principal.xml", - "ref/netcore50/de/System.Security.Principal.xml", - "ref/netcore50/es/System.Security.Principal.xml", - "ref/netcore50/fr/System.Security.Principal.xml", - "ref/netcore50/it/System.Security.Principal.xml", - "ref/netcore50/ja/System.Security.Principal.xml", - "ref/netcore50/ko/System.Security.Principal.xml", - "ref/netcore50/ru/System.Security.Principal.xml", - "ref/netcore50/zh-hans/System.Security.Principal.xml", - "ref/netcore50/zh-hant/System.Security.Principal.xml", - "ref/netstandard1.0/System.Security.Principal.dll", - "ref/netstandard1.0/System.Security.Principal.xml", - "ref/netstandard1.0/de/System.Security.Principal.xml", - "ref/netstandard1.0/es/System.Security.Principal.xml", - "ref/netstandard1.0/fr/System.Security.Principal.xml", - "ref/netstandard1.0/it/System.Security.Principal.xml", - "ref/netstandard1.0/ja/System.Security.Principal.xml", - "ref/netstandard1.0/ko/System.Security.Principal.xml", - "ref/netstandard1.0/ru/System.Security.Principal.xml", - "ref/netstandard1.0/zh-hans/System.Security.Principal.xml", - "ref/netstandard1.0/zh-hant/System.Security.Principal.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Security.Principal.Windows/4.0.0": { - "sha512": "iFx15AF3RMEPZn3COh8+Bb2Thv2zsmLd93RchS1b8Mj5SNYeGqbYNCSn5AES1+gq56p4ujGZPrl0xN7ngkXOHg==", - "type": "package", - "path": "System.Security.Principal.Windows/4.0.0", - "files": [ - "System.Security.Principal.Windows.4.0.0.nupkg.sha512", - "System.Security.Principal.Windows.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/net46/System.Security.Principal.Windows.dll", - "ref/net46/System.Security.Principal.Windows.dll", - "ref/netstandard1.3/System.Security.Principal.Windows.dll", - "ref/netstandard1.3/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/de/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/es/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/fr/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/it/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/ja/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/ko/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/ru/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/zh-hans/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/zh-hant/System.Security.Principal.Windows.xml", - "runtimes/unix/lib/netstandard1.3/System.Security.Principal.Windows.dll", - "runtimes/win/lib/net46/System.Security.Principal.Windows.dll", - "runtimes/win/lib/netstandard1.3/System.Security.Principal.Windows.dll" - ] - }, - "System.Text.Encoding/4.0.11": { - "sha512": "U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==", - "type": "package", - "path": "System.Text.Encoding/4.0.11", - "files": [ - "System.Text.Encoding.4.0.11.nupkg.sha512", - "System.Text.Encoding.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Text.Encoding.dll", - "ref/netcore50/System.Text.Encoding.xml", - "ref/netcore50/de/System.Text.Encoding.xml", - "ref/netcore50/es/System.Text.Encoding.xml", - "ref/netcore50/fr/System.Text.Encoding.xml", - "ref/netcore50/it/System.Text.Encoding.xml", - "ref/netcore50/ja/System.Text.Encoding.xml", - "ref/netcore50/ko/System.Text.Encoding.xml", - "ref/netcore50/ru/System.Text.Encoding.xml", - "ref/netcore50/zh-hans/System.Text.Encoding.xml", - "ref/netcore50/zh-hant/System.Text.Encoding.xml", - "ref/netstandard1.0/System.Text.Encoding.dll", - "ref/netstandard1.0/System.Text.Encoding.xml", - "ref/netstandard1.0/de/System.Text.Encoding.xml", - "ref/netstandard1.0/es/System.Text.Encoding.xml", - "ref/netstandard1.0/fr/System.Text.Encoding.xml", - "ref/netstandard1.0/it/System.Text.Encoding.xml", - "ref/netstandard1.0/ja/System.Text.Encoding.xml", - "ref/netstandard1.0/ko/System.Text.Encoding.xml", - "ref/netstandard1.0/ru/System.Text.Encoding.xml", - "ref/netstandard1.0/zh-hans/System.Text.Encoding.xml", - "ref/netstandard1.0/zh-hant/System.Text.Encoding.xml", - "ref/netstandard1.3/System.Text.Encoding.dll", - "ref/netstandard1.3/System.Text.Encoding.xml", - "ref/netstandard1.3/de/System.Text.Encoding.xml", - "ref/netstandard1.3/es/System.Text.Encoding.xml", - "ref/netstandard1.3/fr/System.Text.Encoding.xml", - "ref/netstandard1.3/it/System.Text.Encoding.xml", - "ref/netstandard1.3/ja/System.Text.Encoding.xml", - "ref/netstandard1.3/ko/System.Text.Encoding.xml", - "ref/netstandard1.3/ru/System.Text.Encoding.xml", - "ref/netstandard1.3/zh-hans/System.Text.Encoding.xml", - "ref/netstandard1.3/zh-hant/System.Text.Encoding.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Text.Encoding.CodePages/4.0.1": { - "sha512": "h4z6rrA/hxWf4655D18IIZ0eaLRa3tQC/j+e26W+VinIHY0l07iEXaAvO0YSYq3MvCjMYy8Zs5AdC1sxNQOB7Q==", - "type": "package", - "path": "System.Text.Encoding.CodePages/4.0.1", - "files": [ - "System.Text.Encoding.CodePages.4.0.1.nupkg.sha512", - "System.Text.Encoding.CodePages.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Text.Encoding.CodePages.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/netstandard1.3/System.Text.Encoding.CodePages.dll", - "ref/netstandard1.3/System.Text.Encoding.CodePages.xml", - "ref/netstandard1.3/de/System.Text.Encoding.CodePages.xml", - "ref/netstandard1.3/es/System.Text.Encoding.CodePages.xml", - "ref/netstandard1.3/fr/System.Text.Encoding.CodePages.xml", - "ref/netstandard1.3/it/System.Text.Encoding.CodePages.xml", - "ref/netstandard1.3/ja/System.Text.Encoding.CodePages.xml", - "ref/netstandard1.3/ko/System.Text.Encoding.CodePages.xml", - "ref/netstandard1.3/ru/System.Text.Encoding.CodePages.xml", - "ref/netstandard1.3/zh-hans/System.Text.Encoding.CodePages.xml", - "ref/netstandard1.3/zh-hant/System.Text.Encoding.CodePages.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.Text.Encoding.CodePages.dll", - "runtimes/win/lib/netstandard1.3/System.Text.Encoding.CodePages.dll" - ] - }, - "System.Text.Encoding.Extensions/4.0.11": { - "sha512": "jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==", - "type": "package", - "path": "System.Text.Encoding.Extensions/4.0.11", - "files": [ - "System.Text.Encoding.Extensions.4.0.11.nupkg.sha512", - "System.Text.Encoding.Extensions.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Text.Encoding.Extensions.dll", - "ref/netcore50/System.Text.Encoding.Extensions.xml", - "ref/netcore50/de/System.Text.Encoding.Extensions.xml", - "ref/netcore50/es/System.Text.Encoding.Extensions.xml", - "ref/netcore50/fr/System.Text.Encoding.Extensions.xml", - "ref/netcore50/it/System.Text.Encoding.Extensions.xml", - "ref/netcore50/ja/System.Text.Encoding.Extensions.xml", - "ref/netcore50/ko/System.Text.Encoding.Extensions.xml", - "ref/netcore50/ru/System.Text.Encoding.Extensions.xml", - "ref/netcore50/zh-hans/System.Text.Encoding.Extensions.xml", - "ref/netcore50/zh-hant/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.0/System.Text.Encoding.Extensions.dll", - "ref/netstandard1.0/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.0/de/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.0/es/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.0/fr/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.0/it/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.0/ja/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.0/ko/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.0/ru/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.0/zh-hans/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.0/zh-hant/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.3/System.Text.Encoding.Extensions.dll", - "ref/netstandard1.3/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.3/de/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.3/es/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.3/fr/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.3/it/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.3/ja/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.3/ko/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.3/ru/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.3/zh-hans/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.3/zh-hant/System.Text.Encoding.Extensions.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Text.Encodings.Web/4.0.0": { - "sha512": "TWZnuiJgPDAEEUfobD7njXvSVR2Toz+jvKWds6yL4oSztmKQfnWzucczjzA+6Dv1bktBdY71sZW1YN0X6m9chQ==", - "type": "package", - "path": "System.Text.Encodings.Web/4.0.0", - "files": [ - "System.Text.Encodings.Web.4.0.0.nupkg.sha512", - "System.Text.Encodings.Web.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/System.Text.Encodings.Web.dll", - "lib/netstandard1.0/System.Text.Encodings.Web.xml" - ] - }, - "System.Text.RegularExpressions/4.1.0": { - "sha512": "i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==", - "type": "package", - "path": "System.Text.RegularExpressions/4.1.0", - "files": [ - "System.Text.RegularExpressions.4.1.0.nupkg.sha512", - "System.Text.RegularExpressions.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net463/System.Text.RegularExpressions.dll", - "lib/netcore50/System.Text.RegularExpressions.dll", - "lib/netstandard1.6/System.Text.RegularExpressions.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net463/System.Text.RegularExpressions.dll", - "ref/netcore50/System.Text.RegularExpressions.dll", - "ref/netcore50/System.Text.RegularExpressions.xml", - "ref/netcore50/de/System.Text.RegularExpressions.xml", - "ref/netcore50/es/System.Text.RegularExpressions.xml", - "ref/netcore50/fr/System.Text.RegularExpressions.xml", - "ref/netcore50/it/System.Text.RegularExpressions.xml", - "ref/netcore50/ja/System.Text.RegularExpressions.xml", - "ref/netcore50/ko/System.Text.RegularExpressions.xml", - "ref/netcore50/ru/System.Text.RegularExpressions.xml", - "ref/netcore50/zh-hans/System.Text.RegularExpressions.xml", - "ref/netcore50/zh-hant/System.Text.RegularExpressions.xml", - "ref/netstandard1.0/System.Text.RegularExpressions.dll", - "ref/netstandard1.0/System.Text.RegularExpressions.xml", - "ref/netstandard1.0/de/System.Text.RegularExpressions.xml", - "ref/netstandard1.0/es/System.Text.RegularExpressions.xml", - "ref/netstandard1.0/fr/System.Text.RegularExpressions.xml", - "ref/netstandard1.0/it/System.Text.RegularExpressions.xml", - "ref/netstandard1.0/ja/System.Text.RegularExpressions.xml", - "ref/netstandard1.0/ko/System.Text.RegularExpressions.xml", - "ref/netstandard1.0/ru/System.Text.RegularExpressions.xml", - "ref/netstandard1.0/zh-hans/System.Text.RegularExpressions.xml", - "ref/netstandard1.0/zh-hant/System.Text.RegularExpressions.xml", - "ref/netstandard1.3/System.Text.RegularExpressions.dll", - "ref/netstandard1.3/System.Text.RegularExpressions.xml", - "ref/netstandard1.3/de/System.Text.RegularExpressions.xml", - "ref/netstandard1.3/es/System.Text.RegularExpressions.xml", - "ref/netstandard1.3/fr/System.Text.RegularExpressions.xml", - "ref/netstandard1.3/it/System.Text.RegularExpressions.xml", - "ref/netstandard1.3/ja/System.Text.RegularExpressions.xml", - "ref/netstandard1.3/ko/System.Text.RegularExpressions.xml", - "ref/netstandard1.3/ru/System.Text.RegularExpressions.xml", - "ref/netstandard1.3/zh-hans/System.Text.RegularExpressions.xml", - "ref/netstandard1.3/zh-hant/System.Text.RegularExpressions.xml", - "ref/netstandard1.6/System.Text.RegularExpressions.dll", - "ref/netstandard1.6/System.Text.RegularExpressions.xml", - "ref/netstandard1.6/de/System.Text.RegularExpressions.xml", - "ref/netstandard1.6/es/System.Text.RegularExpressions.xml", - "ref/netstandard1.6/fr/System.Text.RegularExpressions.xml", - "ref/netstandard1.6/it/System.Text.RegularExpressions.xml", - "ref/netstandard1.6/ja/System.Text.RegularExpressions.xml", - "ref/netstandard1.6/ko/System.Text.RegularExpressions.xml", - "ref/netstandard1.6/ru/System.Text.RegularExpressions.xml", - "ref/netstandard1.6/zh-hans/System.Text.RegularExpressions.xml", - "ref/netstandard1.6/zh-hant/System.Text.RegularExpressions.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Threading/4.0.11": { - "sha512": "N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==", - "type": "package", - "path": "System.Threading/4.0.11", - "files": [ - "System.Threading.4.0.11.nupkg.sha512", - "System.Threading.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Threading.dll", - "lib/netstandard1.3/System.Threading.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Threading.dll", - "ref/netcore50/System.Threading.xml", - "ref/netcore50/de/System.Threading.xml", - "ref/netcore50/es/System.Threading.xml", - "ref/netcore50/fr/System.Threading.xml", - "ref/netcore50/it/System.Threading.xml", - "ref/netcore50/ja/System.Threading.xml", - "ref/netcore50/ko/System.Threading.xml", - "ref/netcore50/ru/System.Threading.xml", - "ref/netcore50/zh-hans/System.Threading.xml", - "ref/netcore50/zh-hant/System.Threading.xml", - "ref/netstandard1.0/System.Threading.dll", - "ref/netstandard1.0/System.Threading.xml", - "ref/netstandard1.0/de/System.Threading.xml", - "ref/netstandard1.0/es/System.Threading.xml", - "ref/netstandard1.0/fr/System.Threading.xml", - "ref/netstandard1.0/it/System.Threading.xml", - "ref/netstandard1.0/ja/System.Threading.xml", - "ref/netstandard1.0/ko/System.Threading.xml", - "ref/netstandard1.0/ru/System.Threading.xml", - "ref/netstandard1.0/zh-hans/System.Threading.xml", - "ref/netstandard1.0/zh-hant/System.Threading.xml", - "ref/netstandard1.3/System.Threading.dll", - "ref/netstandard1.3/System.Threading.xml", - "ref/netstandard1.3/de/System.Threading.xml", - "ref/netstandard1.3/es/System.Threading.xml", - "ref/netstandard1.3/fr/System.Threading.xml", - "ref/netstandard1.3/it/System.Threading.xml", - "ref/netstandard1.3/ja/System.Threading.xml", - "ref/netstandard1.3/ko/System.Threading.xml", - "ref/netstandard1.3/ru/System.Threading.xml", - "ref/netstandard1.3/zh-hans/System.Threading.xml", - "ref/netstandard1.3/zh-hant/System.Threading.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Threading.dll" - ] - }, - "System.Threading.Overlapped/4.0.1": { - "sha512": "f7aLuLkBoCQM2kng7zqLFBXz9Gk48gDK8lk1ih9rH/1arJJzZK9gJwNvPDhL6Ps/l6rwOr8jw+4FCHL0KKWiEg==", - "type": "package", - "path": "System.Threading.Overlapped/4.0.1", - "files": [ - "System.Threading.Overlapped.4.0.1.nupkg.sha512", - "System.Threading.Overlapped.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/net46/System.Threading.Overlapped.dll", - "ref/net46/System.Threading.Overlapped.dll", - "ref/netstandard1.3/System.Threading.Overlapped.dll", - "ref/netstandard1.3/System.Threading.Overlapped.xml", - "ref/netstandard1.3/de/System.Threading.Overlapped.xml", - "ref/netstandard1.3/es/System.Threading.Overlapped.xml", - "ref/netstandard1.3/fr/System.Threading.Overlapped.xml", - "ref/netstandard1.3/it/System.Threading.Overlapped.xml", - "ref/netstandard1.3/ja/System.Threading.Overlapped.xml", - "ref/netstandard1.3/ko/System.Threading.Overlapped.xml", - "ref/netstandard1.3/ru/System.Threading.Overlapped.xml", - "ref/netstandard1.3/zh-hans/System.Threading.Overlapped.xml", - "ref/netstandard1.3/zh-hant/System.Threading.Overlapped.xml", - "runtimes/unix/lib/netstandard1.3/System.Threading.Overlapped.dll", - "runtimes/win/lib/net46/System.Threading.Overlapped.dll", - "runtimes/win/lib/netcore50/System.Threading.Overlapped.dll", - "runtimes/win/lib/netstandard1.3/System.Threading.Overlapped.dll" - ] - }, - "System.Threading.Tasks/4.0.11": { - "sha512": "k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==", - "type": "package", - "path": "System.Threading.Tasks/4.0.11", - "files": [ - "System.Threading.Tasks.4.0.11.nupkg.sha512", - "System.Threading.Tasks.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Threading.Tasks.dll", - "ref/netcore50/System.Threading.Tasks.xml", - "ref/netcore50/de/System.Threading.Tasks.xml", - "ref/netcore50/es/System.Threading.Tasks.xml", - "ref/netcore50/fr/System.Threading.Tasks.xml", - "ref/netcore50/it/System.Threading.Tasks.xml", - "ref/netcore50/ja/System.Threading.Tasks.xml", - "ref/netcore50/ko/System.Threading.Tasks.xml", - "ref/netcore50/ru/System.Threading.Tasks.xml", - "ref/netcore50/zh-hans/System.Threading.Tasks.xml", - "ref/netcore50/zh-hant/System.Threading.Tasks.xml", - "ref/netstandard1.0/System.Threading.Tasks.dll", - "ref/netstandard1.0/System.Threading.Tasks.xml", - "ref/netstandard1.0/de/System.Threading.Tasks.xml", - "ref/netstandard1.0/es/System.Threading.Tasks.xml", - "ref/netstandard1.0/fr/System.Threading.Tasks.xml", - "ref/netstandard1.0/it/System.Threading.Tasks.xml", - "ref/netstandard1.0/ja/System.Threading.Tasks.xml", - "ref/netstandard1.0/ko/System.Threading.Tasks.xml", - "ref/netstandard1.0/ru/System.Threading.Tasks.xml", - "ref/netstandard1.0/zh-hans/System.Threading.Tasks.xml", - "ref/netstandard1.0/zh-hant/System.Threading.Tasks.xml", - "ref/netstandard1.3/System.Threading.Tasks.dll", - "ref/netstandard1.3/System.Threading.Tasks.xml", - "ref/netstandard1.3/de/System.Threading.Tasks.xml", - "ref/netstandard1.3/es/System.Threading.Tasks.xml", - "ref/netstandard1.3/fr/System.Threading.Tasks.xml", - "ref/netstandard1.3/it/System.Threading.Tasks.xml", - "ref/netstandard1.3/ja/System.Threading.Tasks.xml", - "ref/netstandard1.3/ko/System.Threading.Tasks.xml", - "ref/netstandard1.3/ru/System.Threading.Tasks.xml", - "ref/netstandard1.3/zh-hans/System.Threading.Tasks.xml", - "ref/netstandard1.3/zh-hant/System.Threading.Tasks.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Threading.Tasks.Dataflow/4.6.0": { - "sha512": "2hRjGu2r2jxRZ55wmcHO/WbdX+YAOz9x6FE8xqkHZgPaoFMKQZRe9dk8xTZIas8fRjxRmzawnTEWIrhlM+Un7w==", - "type": "package", - "path": "System.Threading.Tasks.Dataflow/4.6.0", - "files": [ - "System.Threading.Tasks.Dataflow.4.6.0.nupkg.sha512", - "System.Threading.Tasks.Dataflow.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/System.Threading.Tasks.Dataflow.XML", - "lib/netstandard1.0/System.Threading.Tasks.Dataflow.dll", - "lib/netstandard1.1/System.Threading.Tasks.Dataflow.XML", - "lib/netstandard1.1/System.Threading.Tasks.Dataflow.dll" - ] - }, - "System.Threading.Tasks.Extensions/4.0.0": { - "sha512": "pH4FZDsZQ/WmgJtN4LWYmRdJAEeVkyriSwrv2Teoe5FOU0Yxlb6II6GL8dBPOfRmutHGATduj3ooMt7dJ2+i+w==", - "type": "package", - "path": "System.Threading.Tasks.Extensions/4.0.0", - "files": [ - "System.Threading.Tasks.Extensions.4.0.0.nupkg.sha512", - "System.Threading.Tasks.Extensions.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/System.Threading.Tasks.Extensions.dll", - "lib/netstandard1.0/System.Threading.Tasks.Extensions.xml", - "lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.dll", - "lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml" - ] - }, - "System.Threading.Tasks.Parallel/4.0.1": { - "sha512": "7Pc9t25bcynT9FpMvkUw4ZjYwUiGup/5cJFW72/5MgCG+np2cfVUMdh29u8d7onxX7d8PS3J+wL73zQRqkdrSA==", - "type": "package", - "path": "System.Threading.Tasks.Parallel/4.0.1", - "files": [ - "System.Threading.Tasks.Parallel.4.0.1.nupkg.sha512", - "System.Threading.Tasks.Parallel.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Threading.Tasks.Parallel.dll", - "lib/netstandard1.3/System.Threading.Tasks.Parallel.dll", - "lib/portable-net45+win8+wpa81/_._", - "lib/win8/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Threading.Tasks.Parallel.dll", - "ref/netcore50/System.Threading.Tasks.Parallel.xml", - "ref/netcore50/de/System.Threading.Tasks.Parallel.xml", - "ref/netcore50/es/System.Threading.Tasks.Parallel.xml", - "ref/netcore50/fr/System.Threading.Tasks.Parallel.xml", - "ref/netcore50/it/System.Threading.Tasks.Parallel.xml", - "ref/netcore50/ja/System.Threading.Tasks.Parallel.xml", - "ref/netcore50/ko/System.Threading.Tasks.Parallel.xml", - "ref/netcore50/ru/System.Threading.Tasks.Parallel.xml", - "ref/netcore50/zh-hans/System.Threading.Tasks.Parallel.xml", - "ref/netcore50/zh-hant/System.Threading.Tasks.Parallel.xml", - "ref/netstandard1.1/System.Threading.Tasks.Parallel.dll", - "ref/netstandard1.1/System.Threading.Tasks.Parallel.xml", - "ref/netstandard1.1/de/System.Threading.Tasks.Parallel.xml", - "ref/netstandard1.1/es/System.Threading.Tasks.Parallel.xml", - "ref/netstandard1.1/fr/System.Threading.Tasks.Parallel.xml", - "ref/netstandard1.1/it/System.Threading.Tasks.Parallel.xml", - "ref/netstandard1.1/ja/System.Threading.Tasks.Parallel.xml", - "ref/netstandard1.1/ko/System.Threading.Tasks.Parallel.xml", - "ref/netstandard1.1/ru/System.Threading.Tasks.Parallel.xml", - "ref/netstandard1.1/zh-hans/System.Threading.Tasks.Parallel.xml", - "ref/netstandard1.1/zh-hant/System.Threading.Tasks.Parallel.xml", - "ref/portable-net45+win8+wpa81/_._", - "ref/win8/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Threading.Thread/4.0.0": { - "sha512": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", - "type": "package", - "path": "System.Threading.Thread/4.0.0", - "files": [ - "System.Threading.Thread.4.0.0.nupkg.sha512", - "System.Threading.Thread.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Threading.Thread.dll", - "lib/netcore50/_._", - "lib/netstandard1.3/System.Threading.Thread.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Threading.Thread.dll", - "ref/netstandard1.3/System.Threading.Thread.dll", - "ref/netstandard1.3/System.Threading.Thread.xml", - "ref/netstandard1.3/de/System.Threading.Thread.xml", - "ref/netstandard1.3/es/System.Threading.Thread.xml", - "ref/netstandard1.3/fr/System.Threading.Thread.xml", - "ref/netstandard1.3/it/System.Threading.Thread.xml", - "ref/netstandard1.3/ja/System.Threading.Thread.xml", - "ref/netstandard1.3/ko/System.Threading.Thread.xml", - "ref/netstandard1.3/ru/System.Threading.Thread.xml", - "ref/netstandard1.3/zh-hans/System.Threading.Thread.xml", - "ref/netstandard1.3/zh-hant/System.Threading.Thread.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Threading.ThreadPool/4.0.10": { - "sha512": "IMXgB5Vf/5Qw1kpoVgJMOvUO1l32aC+qC3OaIZjWJOjvcxuxNWOK2ZTWWYXfij22NHxT2j1yWX5vlAeQWld9vA==", - "type": "package", - "path": "System.Threading.ThreadPool/4.0.10", - "files": [ - "System.Threading.ThreadPool.4.0.10.nupkg.sha512", - "System.Threading.ThreadPool.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Threading.ThreadPool.dll", - "lib/netcore50/_._", - "lib/netstandard1.3/System.Threading.ThreadPool.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Threading.ThreadPool.dll", - "ref/netstandard1.3/System.Threading.ThreadPool.dll", - "ref/netstandard1.3/System.Threading.ThreadPool.xml", - "ref/netstandard1.3/de/System.Threading.ThreadPool.xml", - "ref/netstandard1.3/es/System.Threading.ThreadPool.xml", - "ref/netstandard1.3/fr/System.Threading.ThreadPool.xml", - "ref/netstandard1.3/it/System.Threading.ThreadPool.xml", - "ref/netstandard1.3/ja/System.Threading.ThreadPool.xml", - "ref/netstandard1.3/ko/System.Threading.ThreadPool.xml", - "ref/netstandard1.3/ru/System.Threading.ThreadPool.xml", - "ref/netstandard1.3/zh-hans/System.Threading.ThreadPool.xml", - "ref/netstandard1.3/zh-hant/System.Threading.ThreadPool.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Threading.Timer/4.0.1": { - "sha512": "saGfUV8uqVW6LeURiqxcGhZ24PzuRNaUBtbhVeuUAvky1naH395A/1nY0P2bWvrw/BreRtIB/EzTDkGBpqCwEw==", - "type": "package", - "path": "System.Threading.Timer/4.0.1", - "files": [ - "System.Threading.Timer.4.0.1.nupkg.sha512", - "System.Threading.Timer.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net451/_._", - "lib/portable-net451+win81+wpa81/_._", - "lib/win81/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net451/_._", - "ref/netcore50/System.Threading.Timer.dll", - "ref/netcore50/System.Threading.Timer.xml", - "ref/netcore50/de/System.Threading.Timer.xml", - "ref/netcore50/es/System.Threading.Timer.xml", - "ref/netcore50/fr/System.Threading.Timer.xml", - "ref/netcore50/it/System.Threading.Timer.xml", - "ref/netcore50/ja/System.Threading.Timer.xml", - "ref/netcore50/ko/System.Threading.Timer.xml", - "ref/netcore50/ru/System.Threading.Timer.xml", - "ref/netcore50/zh-hans/System.Threading.Timer.xml", - "ref/netcore50/zh-hant/System.Threading.Timer.xml", - "ref/netstandard1.2/System.Threading.Timer.dll", - "ref/netstandard1.2/System.Threading.Timer.xml", - "ref/netstandard1.2/de/System.Threading.Timer.xml", - "ref/netstandard1.2/es/System.Threading.Timer.xml", - "ref/netstandard1.2/fr/System.Threading.Timer.xml", - "ref/netstandard1.2/it/System.Threading.Timer.xml", - "ref/netstandard1.2/ja/System.Threading.Timer.xml", - "ref/netstandard1.2/ko/System.Threading.Timer.xml", - "ref/netstandard1.2/ru/System.Threading.Timer.xml", - "ref/netstandard1.2/zh-hans/System.Threading.Timer.xml", - "ref/netstandard1.2/zh-hant/System.Threading.Timer.xml", - "ref/portable-net451+win81+wpa81/_._", - "ref/win81/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Xml.ReaderWriter/4.0.11": { - "sha512": "ZIiLPsf67YZ9zgr31vzrFaYQqxRPX9cVHjtPSnmx4eN6lbS/yEyYNr2vs1doGDEscF0tjCZFsk9yUg1sC9e8tg==", - "type": "package", - "path": "System.Xml.ReaderWriter/4.0.11", - "files": [ - "System.Xml.ReaderWriter.4.0.11.nupkg.sha512", - "System.Xml.ReaderWriter.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Xml.ReaderWriter.dll", - "lib/netstandard1.3/System.Xml.ReaderWriter.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Xml.ReaderWriter.dll", - "ref/netcore50/System.Xml.ReaderWriter.xml", - "ref/netcore50/de/System.Xml.ReaderWriter.xml", - "ref/netcore50/es/System.Xml.ReaderWriter.xml", - "ref/netcore50/fr/System.Xml.ReaderWriter.xml", - "ref/netcore50/it/System.Xml.ReaderWriter.xml", - "ref/netcore50/ja/System.Xml.ReaderWriter.xml", - "ref/netcore50/ko/System.Xml.ReaderWriter.xml", - "ref/netcore50/ru/System.Xml.ReaderWriter.xml", - "ref/netcore50/zh-hans/System.Xml.ReaderWriter.xml", - "ref/netcore50/zh-hant/System.Xml.ReaderWriter.xml", - "ref/netstandard1.0/System.Xml.ReaderWriter.dll", - "ref/netstandard1.0/System.Xml.ReaderWriter.xml", - "ref/netstandard1.0/de/System.Xml.ReaderWriter.xml", - "ref/netstandard1.0/es/System.Xml.ReaderWriter.xml", - "ref/netstandard1.0/fr/System.Xml.ReaderWriter.xml", - "ref/netstandard1.0/it/System.Xml.ReaderWriter.xml", - "ref/netstandard1.0/ja/System.Xml.ReaderWriter.xml", - "ref/netstandard1.0/ko/System.Xml.ReaderWriter.xml", - "ref/netstandard1.0/ru/System.Xml.ReaderWriter.xml", - "ref/netstandard1.0/zh-hans/System.Xml.ReaderWriter.xml", - "ref/netstandard1.0/zh-hant/System.Xml.ReaderWriter.xml", - "ref/netstandard1.3/System.Xml.ReaderWriter.dll", - "ref/netstandard1.3/System.Xml.ReaderWriter.xml", - "ref/netstandard1.3/de/System.Xml.ReaderWriter.xml", - "ref/netstandard1.3/es/System.Xml.ReaderWriter.xml", - "ref/netstandard1.3/fr/System.Xml.ReaderWriter.xml", - "ref/netstandard1.3/it/System.Xml.ReaderWriter.xml", - "ref/netstandard1.3/ja/System.Xml.ReaderWriter.xml", - "ref/netstandard1.3/ko/System.Xml.ReaderWriter.xml", - "ref/netstandard1.3/ru/System.Xml.ReaderWriter.xml", - "ref/netstandard1.3/zh-hans/System.Xml.ReaderWriter.xml", - "ref/netstandard1.3/zh-hant/System.Xml.ReaderWriter.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Xml.XDocument/4.0.11": { - "sha512": "Mk2mKmPi0nWaoiYeotq1dgeNK1fqWh61+EK+w4Wu8SWuTYLzpUnschb59bJtGywaPq7SmTuPf44wrXRwbIrukg==", - "type": "package", - "path": "System.Xml.XDocument/4.0.11", - "files": [ - "System.Xml.XDocument.4.0.11.nupkg.sha512", - "System.Xml.XDocument.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Xml.XDocument.dll", - "lib/netstandard1.3/System.Xml.XDocument.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Xml.XDocument.dll", - "ref/netcore50/System.Xml.XDocument.xml", - "ref/netcore50/de/System.Xml.XDocument.xml", - "ref/netcore50/es/System.Xml.XDocument.xml", - "ref/netcore50/fr/System.Xml.XDocument.xml", - "ref/netcore50/it/System.Xml.XDocument.xml", - "ref/netcore50/ja/System.Xml.XDocument.xml", - "ref/netcore50/ko/System.Xml.XDocument.xml", - "ref/netcore50/ru/System.Xml.XDocument.xml", - "ref/netcore50/zh-hans/System.Xml.XDocument.xml", - "ref/netcore50/zh-hant/System.Xml.XDocument.xml", - "ref/netstandard1.0/System.Xml.XDocument.dll", - "ref/netstandard1.0/System.Xml.XDocument.xml", - "ref/netstandard1.0/de/System.Xml.XDocument.xml", - "ref/netstandard1.0/es/System.Xml.XDocument.xml", - "ref/netstandard1.0/fr/System.Xml.XDocument.xml", - "ref/netstandard1.0/it/System.Xml.XDocument.xml", - "ref/netstandard1.0/ja/System.Xml.XDocument.xml", - "ref/netstandard1.0/ko/System.Xml.XDocument.xml", - "ref/netstandard1.0/ru/System.Xml.XDocument.xml", - "ref/netstandard1.0/zh-hans/System.Xml.XDocument.xml", - "ref/netstandard1.0/zh-hant/System.Xml.XDocument.xml", - "ref/netstandard1.3/System.Xml.XDocument.dll", - "ref/netstandard1.3/System.Xml.XDocument.xml", - "ref/netstandard1.3/de/System.Xml.XDocument.xml", - "ref/netstandard1.3/es/System.Xml.XDocument.xml", - "ref/netstandard1.3/fr/System.Xml.XDocument.xml", - "ref/netstandard1.3/it/System.Xml.XDocument.xml", - "ref/netstandard1.3/ja/System.Xml.XDocument.xml", - "ref/netstandard1.3/ko/System.Xml.XDocument.xml", - "ref/netstandard1.3/ru/System.Xml.XDocument.xml", - "ref/netstandard1.3/zh-hans/System.Xml.XDocument.xml", - "ref/netstandard1.3/zh-hant/System.Xml.XDocument.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Xml.XmlDocument/4.0.1": { - "sha512": "2eZu6IP+etFVBBFUFzw2w6J21DqIN5eL9Y8r8JfJWUmV28Z5P0SNU01oCisVHQgHsDhHPnmq2s1hJrJCFZWloQ==", - "type": "package", - "path": "System.Xml.XmlDocument/4.0.1", - "files": [ - "System.Xml.XmlDocument.4.0.1.nupkg.sha512", - "System.Xml.XmlDocument.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Xml.XmlDocument.dll", - "lib/netstandard1.3/System.Xml.XmlDocument.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Xml.XmlDocument.dll", - "ref/netstandard1.3/System.Xml.XmlDocument.dll", - "ref/netstandard1.3/System.Xml.XmlDocument.xml", - "ref/netstandard1.3/de/System.Xml.XmlDocument.xml", - "ref/netstandard1.3/es/System.Xml.XmlDocument.xml", - "ref/netstandard1.3/fr/System.Xml.XmlDocument.xml", - "ref/netstandard1.3/it/System.Xml.XmlDocument.xml", - "ref/netstandard1.3/ja/System.Xml.XmlDocument.xml", - "ref/netstandard1.3/ko/System.Xml.XmlDocument.xml", - "ref/netstandard1.3/ru/System.Xml.XmlDocument.xml", - "ref/netstandard1.3/zh-hans/System.Xml.XmlDocument.xml", - "ref/netstandard1.3/zh-hant/System.Xml.XmlDocument.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Xml.XmlSerializer/4.0.11": { - "sha512": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "type": "package", - "path": "System.Xml.XmlSerializer/4.0.11", - "files": [ - "System.Xml.XmlSerializer.4.0.11.nupkg.sha512", - "System.Xml.XmlSerializer.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Xml.XmlSerializer.dll", - "lib/netstandard1.3/System.Xml.XmlSerializer.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Xml.XmlSerializer.dll", - "ref/netcore50/System.Xml.XmlSerializer.xml", - "ref/netcore50/de/System.Xml.XmlSerializer.xml", - "ref/netcore50/es/System.Xml.XmlSerializer.xml", - "ref/netcore50/fr/System.Xml.XmlSerializer.xml", - "ref/netcore50/it/System.Xml.XmlSerializer.xml", - "ref/netcore50/ja/System.Xml.XmlSerializer.xml", - "ref/netcore50/ko/System.Xml.XmlSerializer.xml", - "ref/netcore50/ru/System.Xml.XmlSerializer.xml", - "ref/netcore50/zh-hans/System.Xml.XmlSerializer.xml", - "ref/netcore50/zh-hant/System.Xml.XmlSerializer.xml", - "ref/netstandard1.0/System.Xml.XmlSerializer.dll", - "ref/netstandard1.0/System.Xml.XmlSerializer.xml", - "ref/netstandard1.0/de/System.Xml.XmlSerializer.xml", - "ref/netstandard1.0/es/System.Xml.XmlSerializer.xml", - "ref/netstandard1.0/fr/System.Xml.XmlSerializer.xml", - "ref/netstandard1.0/it/System.Xml.XmlSerializer.xml", - "ref/netstandard1.0/ja/System.Xml.XmlSerializer.xml", - "ref/netstandard1.0/ko/System.Xml.XmlSerializer.xml", - "ref/netstandard1.0/ru/System.Xml.XmlSerializer.xml", - "ref/netstandard1.0/zh-hans/System.Xml.XmlSerializer.xml", - "ref/netstandard1.0/zh-hant/System.Xml.XmlSerializer.xml", - "ref/netstandard1.3/System.Xml.XmlSerializer.dll", - "ref/netstandard1.3/System.Xml.XmlSerializer.xml", - "ref/netstandard1.3/de/System.Xml.XmlSerializer.xml", - "ref/netstandard1.3/es/System.Xml.XmlSerializer.xml", - "ref/netstandard1.3/fr/System.Xml.XmlSerializer.xml", - "ref/netstandard1.3/it/System.Xml.XmlSerializer.xml", - "ref/netstandard1.3/ja/System.Xml.XmlSerializer.xml", - "ref/netstandard1.3/ko/System.Xml.XmlSerializer.xml", - "ref/netstandard1.3/ru/System.Xml.XmlSerializer.xml", - "ref/netstandard1.3/zh-hans/System.Xml.XmlSerializer.xml", - "ref/netstandard1.3/zh-hant/System.Xml.XmlSerializer.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Xml.XmlSerializer.dll" - ] - }, - "System.Xml.XPath/4.0.1": { - "sha512": "UWd1H+1IJ9Wlq5nognZ/XJdyj8qPE4XufBUkAW59ijsCPjZkZe0MUzKKJFBr+ZWBe5Wq1u1d5f2CYgE93uH7DA==", - "type": "package", - "path": "System.Xml.XPath/4.0.1", - "files": [ - "System.Xml.XPath.4.0.1.nupkg.sha512", - "System.Xml.XPath.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Xml.XPath.dll", - "lib/netstandard1.3/System.Xml.XPath.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Xml.XPath.dll", - "ref/netstandard1.3/System.Xml.XPath.dll", - "ref/netstandard1.3/System.Xml.XPath.xml", - "ref/netstandard1.3/de/System.Xml.XPath.xml", - "ref/netstandard1.3/es/System.Xml.XPath.xml", - "ref/netstandard1.3/fr/System.Xml.XPath.xml", - "ref/netstandard1.3/it/System.Xml.XPath.xml", - "ref/netstandard1.3/ja/System.Xml.XPath.xml", - "ref/netstandard1.3/ko/System.Xml.XPath.xml", - "ref/netstandard1.3/ru/System.Xml.XPath.xml", - "ref/netstandard1.3/zh-hans/System.Xml.XPath.xml", - "ref/netstandard1.3/zh-hant/System.Xml.XPath.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Xml.XPath.XDocument/4.0.1": { - "sha512": "FLhdYJx4331oGovQypQ8JIw2kEmNzCsjVOVYY/16kZTUoquZG85oVn7yUhBE2OZt1yGPSXAL0HTEfzjlbNpM7Q==", - "type": "package", - "path": "System.Xml.XPath.XDocument/4.0.1", - "files": [ - "System.Xml.XPath.XDocument.4.0.1.nupkg.sha512", - "System.Xml.XPath.XDocument.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Xml.XPath.XDocument.dll", - "lib/netstandard1.3/System.Xml.XPath.XDocument.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Xml.XPath.XDocument.dll", - "ref/netstandard1.3/System.Xml.XPath.XDocument.dll", - "ref/netstandard1.3/System.Xml.XPath.XDocument.xml", - "ref/netstandard1.3/de/System.Xml.XPath.XDocument.xml", - "ref/netstandard1.3/es/System.Xml.XPath.XDocument.xml", - "ref/netstandard1.3/fr/System.Xml.XPath.XDocument.xml", - "ref/netstandard1.3/it/System.Xml.XPath.XDocument.xml", - "ref/netstandard1.3/ja/System.Xml.XPath.XDocument.xml", - "ref/netstandard1.3/ko/System.Xml.XPath.XDocument.xml", - "ref/netstandard1.3/ru/System.Xml.XPath.XDocument.xml", - "ref/netstandard1.3/zh-hans/System.Xml.XPath.XDocument.xml", - "ref/netstandard1.3/zh-hant/System.Xml.XPath.XDocument.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "VideoLibrary/1.3.4": { - "sha512": "HZ2RAE9xx/sjJGnwm8etawoJXYluaYGas4bAFpE14S62NFodNKzUf7Cm9TQ+JFJxAdY+1g1FEKk1b6FPSv9aMg==", - "type": "package", - "path": "VideoLibrary/1.3.4", - "files": [ - "VideoLibrary.1.3.4.nupkg.sha512", - "VideoLibrary.nuspec", - "lib/portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10/libvideo.dll" - ] - }, - "Discord.Net/1.0.0-beta": { - "type": "project", - "path": "../../discord.net/src/Discord.Net/project.json", - "msbuildProject": "../../discord.net/src/Discord.Net/Discord.Net.xproj" - }, - "Discord.Net.Commands/1.0.0-beta": { - "type": "project", - "path": "../../discord.net/src/Discord.Net.Commands/project.json", - "msbuildProject": "../../discord.net/src/Discord.Net.Commands/Discord.Net.Commands.xproj" - } - }, - "projectFileDependencyGroups": { - "": [ - "CoreCLR-NCalc >= 2.1.0", - "Discord.Net >= 1.0.0-beta-*", - "Discord.Net.Commands >= 1.0.0-beta-*", - "Google.Apis.Customsearch.v1 >= 1.16.0.466", - "Google.Apis.Urlshortener.v1 >= 1.15.0.138", - "Google.Apis.YouTube.v3 >= 1.15.0.582", - "ImageProcessorCore >= 1.0.0-alpha1045", - "Microsoft.EntityFrameworkCore >= 1.0.0", - "Microsoft.EntityFrameworkCore.Design >= 1.0.0-preview2-final", - "Microsoft.EntityFrameworkCore.Sqlite >= 1.0.0", - "Microsoft.Extensions.DependencyInjection >= 1.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions >= 1.0.0", - "Microsoft.Extensions.PlatformAbstractions >= 1.0.0", - "Microsoft.NETCore.App >= 1.0.0", - "NLog >= 4.4.0-betaV15", - "Newtonsoft.Json >= 9.0.1", - "System.Diagnostics.Contracts >= 4.0.1", - "System.Resources.ResourceWriter >= 4.0.0-beta-22816", - "VideoLibrary >= 1.3.4" - ], - ".NETCoreApp,Version=v1.0": [] - }, - "tools": { - ".NETCoreApp,Version=v1.0": { - "Microsoft.EntityFrameworkCore.Tools/1.0.0-preview2-final": { - "type": "package", - "dependencies": { - "Microsoft.DotNet.Cli.Utils": "1.0.0-preview2-003121", - "Microsoft.DotNet.ProjectModel": "1.0.0-rc3-003121", - "Microsoft.EntityFrameworkCore.Design": "1.0.0-preview2-final", - "Microsoft.Extensions.CommandLineUtils": "1.0.0", - "Microsoft.NETCore.App": "1.0.0", - "System.Runtime.InteropServices.RuntimeInformation": "4.0.0" - }, - "compile": { - "lib/netcoreapp1.0/dotnet-ef.dll": {} - }, - "runtime": { - "lib/netcoreapp1.0/dotnet-ef.dll": {} - } - } - } - }, - "projectFileToolGroups": { - ".NETCoreApp,Version=v1.0": [ - "Microsoft.EntityFrameworkCore.Tools >= 1.0.0-preview2-final" - ] - } -} \ No newline at end of file diff --git a/src/tests/project.lock.json b/src/tests/project.lock.json deleted file mode 100644 index c952c18f..00000000 --- a/src/tests/project.lock.json +++ /dev/null @@ -1,9842 +0,0 @@ -{ - "locked": false, - "version": 2, - "targets": { - ".NETCoreApp,Version=v1.0": { - "CoreCLR-NCalc/2.1.0": { - "type": "package", - "dependencies": { - "NETStandard.Library": "1.6.0", - "System.Diagnostics.Debug": "4.0.11", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Xml": "4.1.1", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading.Thread": "4.0.0" - }, - "compile": { - "lib/netstandard1.3/NCalc.dll": {} - }, - "runtime": { - "lib/netstandard1.3/NCalc.dll": {} - } - }, - "dotnet-test-xunit/1.0.0-rc2-build10015": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Testing.Abstractions": "1.0.0-preview1-002702", - "Microsoft.NETCore.App": "1.0.0-rc2-3002702", - "xunit.runner.reporters": "2.1.0" - }, - "compile": { - "lib/netcoreapp1.0/dotnet-test-xunit.dll": {} - }, - "runtime": { - "lib/netcoreapp1.0/dotnet-test-xunit.dll": {} - } - }, - "Google.Apis/1.16.0": { - "type": "package", - "dependencies": { - "Google.Apis.Core": "1.16.0", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.IO": "4.1.0", - "System.IO.Compression": "4.1.0", - "System.Linq": "4.1.0", - "System.Net.Http": "4.1.0", - "System.Net.Primitives": "4.0.11", - "System.Reflection": "4.1.0", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "lib/netstandard1.3/Google.Apis.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Google.Apis.dll": {} - } - }, - "Google.Apis.Auth/1.15.0": { - "type": "package", - "dependencies": { - "Google.Apis.Core": "1.15.0", - "Newtonsoft.Json": "9.0.1", - "Portable.BouncyCastle": "1.8.1.1", - "System.Collections": "4.0.11", - "System.Console": "4.0.0", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Process": "4.1.0", - "System.IO": "4.1.0", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Linq": "4.1.0", - "System.Net.Http": "4.1.0", - "System.Net.Primitives": "4.0.11", - "System.Net.Requests": "4.0.11", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "lib/netstandard1.3/Google.Apis.Auth.PlatformServices.dll": {}, - "lib/netstandard1.3/Google.Apis.Auth.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Google.Apis.Auth.PlatformServices.dll": {}, - "lib/netstandard1.3/Google.Apis.Auth.dll": {} - } - }, - "Google.Apis.Core/1.16.0": { - "type": "package", - "dependencies": { - "Newtonsoft.Json": "9.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Net.Http": "4.1.0", - "System.Net.Primitives": "4.0.11", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "lib/netstandard1.3/Google.Apis.Core.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Google.Apis.Core.dll": {} - } - }, - "Google.Apis.Customsearch.v1/1.16.0.466": { - "type": "package", - "dependencies": { - "Google.Apis": "1.16.0" - }, - "compile": { - "lib/netstandard1.3/Google.Apis.Customsearch.v1.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Google.Apis.Customsearch.v1.dll": {} - } - }, - "Google.Apis.Urlshortener.v1/1.15.0.138": { - "type": "package", - "dependencies": { - "Google.Apis": "1.15.0", - "Google.Apis.Auth": "1.15.0" - }, - "compile": { - "lib/netstandard1.3/Google.Apis.Urlshortener.v1.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Google.Apis.Urlshortener.v1.dll": {} - } - }, - "Google.Apis.YouTube.v3/1.15.0.582": { - "type": "package", - "dependencies": { - "Google.Apis": "1.15.0", - "Google.Apis.Auth": "1.15.0" - }, - "compile": { - "lib/netstandard1.3/Google.Apis.YouTube.v3.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Google.Apis.YouTube.v3.dll": {} - } - }, - "ImageProcessorCore/1.0.0-alpha1045": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tools": "4.0.1", - "System.IO": "4.1.0", - "System.IO.Compression": "4.1.0", - "System.Linq": "4.1.0", - "System.Numerics.Vectors": "4.1.1", - "System.ObjectModel": "4.0.12", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime.CompilerServices.Unsafe": "4.0.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.InteropServices": "4.1.0", - "System.Runtime.Numerics": "4.0.1", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Threading.Tasks.Parallel": "4.0.1" - }, - "compile": { - "lib/netstandard1.1/ImageProcessorCore.dll": {} - }, - "runtime": { - "lib/netstandard1.1/ImageProcessorCore.dll": {} - } - }, - "Libuv/1.9.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1" - }, - "runtimeTargets": { - "runtimes/debian-x64/native/libuv.so": { - "assetType": "native", - "rid": "debian-x64" - }, - "runtimes/fedora-x64/native/libuv.so": { - "assetType": "native", - "rid": "fedora-x64" - }, - "runtimes/opensuse-x64/native/libuv.so": { - "assetType": "native", - "rid": "opensuse-x64" - }, - "runtimes/osx/native/libuv.dylib": { - "assetType": "native", - "rid": "osx" - }, - "runtimes/rhel-x64/native/libuv.so": { - "assetType": "native", - "rid": "rhel-x64" - }, - "runtimes/win7-arm/native/libuv.dll": { - "assetType": "native", - "rid": "win7-arm" - }, - "runtimes/win7-x64/native/libuv.dll": { - "assetType": "native", - "rid": "win7-x64" - }, - "runtimes/win7-x86/native/libuv.dll": { - "assetType": "native", - "rid": "win7-x86" - } - } - }, - "Microsoft.AspNetCore.Hosting.Abstractions/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Hosting.Server.Abstractions": "1.0.0", - "Microsoft.AspNetCore.Http.Abstractions": "1.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "1.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", - "Microsoft.Extensions.FileProviders.Abstractions": "1.0.0", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0" - }, - "compile": { - "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Abstractions.dll": {} - } - }, - "Microsoft.AspNetCore.Hosting.Server.Abstractions/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Http.Features": "1.0.0", - "Microsoft.Extensions.Configuration.Abstractions": "1.0.0" - }, - "compile": { - "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll": {} - } - }, - "Microsoft.AspNetCore.Http.Abstractions/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Http.Features": "1.0.0", - "System.Globalization.Extensions": "4.0.1", - "System.Linq.Expressions": "4.1.0", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Runtime.InteropServices": "4.1.0", - "System.Text.Encodings.Web": "4.0.0" - }, - "compile": { - "lib/netstandard1.3/Microsoft.AspNetCore.Http.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.AspNetCore.Http.Abstractions.dll": {} - } - }, - "Microsoft.AspNetCore.Http.Features/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0", - "System.Collections": "4.0.11", - "System.ComponentModel": "4.0.1", - "System.Linq": "4.1.0", - "System.Net.Primitives": "4.0.11", - "System.Net.WebSockets": "4.0.0", - "System.Runtime.Extensions": "4.1.0", - "System.Security.Claims": "4.0.1", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Security.Principal": "4.0.1" - }, - "compile": { - "lib/netstandard1.3/Microsoft.AspNetCore.Http.Features.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.AspNetCore.Http.Features.dll": {} - } - }, - "Microsoft.CodeAnalysis.Analyzers/1.1.0": { - "type": "package" - }, - "Microsoft.CodeAnalysis.Common/1.3.0": { - "type": "package", - "dependencies": { - "Microsoft.CodeAnalysis.Analyzers": "1.1.0", - "System.AppContext": "4.1.0", - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Collections.Immutable": "1.2.0", - "System.Console": "4.0.0", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.FileVersionInfo": "4.0.0", - "System.Diagnostics.StackTrace": "4.0.1", - "System.Diagnostics.Tools": "4.0.1", - "System.Dynamic.Runtime": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Metadata": "1.3.0", - "System.Reflection.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Runtime.Numerics": "4.0.1", - "System.Security.Cryptography.Algorithms": "4.2.0", - "System.Security.Cryptography.Encoding": "4.0.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.CodePages": "4.0.1", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Threading.Tasks.Parallel": "4.0.1", - "System.Threading.Thread": "4.0.0", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XDocument": "4.0.11", - "System.Xml.XPath.XDocument": "4.0.1", - "System.Xml.XmlDocument": "4.0.1" - }, - "compile": { - "lib/netstandard1.3/_._": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.CodeAnalysis.dll": {} - } - }, - "Microsoft.CodeAnalysis.CSharp/1.3.0": { - "type": "package", - "dependencies": { - "Microsoft.CodeAnalysis.Common": "[1.3.0]" - }, - "compile": { - "lib/netstandard1.3/_._": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.CodeAnalysis.CSharp.dll": {} - } - }, - "Microsoft.CodeAnalysis.VisualBasic/1.3.0": { - "type": "package", - "dependencies": { - "Microsoft.CodeAnalysis.Common": "1.3.0" - }, - "compile": { - "lib/netstandard1.3/_._": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.CodeAnalysis.VisualBasic.dll": {} - } - }, - "Microsoft.CSharp/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Dynamic.Runtime": "4.0.11", - "System.Globalization": "4.0.11", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.ObjectModel": "4.0.12", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.InteropServices": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.0/Microsoft.CSharp.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.CSharp.dll": {} - } - }, - "Microsoft.Data.Sqlite/1.0.0": { - "type": "package", - "dependencies": { - "SQLite": "3.12.2", - "System.AppContext": "4.1.0", - "System.Data.Common": "4.1.0", - "System.Diagnostics.Debug": "4.0.11", - "System.Linq": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.InteropServices": "4.1.0", - "System.Text.Encoding": "4.0.11" - }, - "compile": { - "lib/netstandard1.3/Microsoft.Data.Sqlite.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.Data.Sqlite.dll": {} - } - }, - "Microsoft.DiaSymReader/1.0.6": { - "type": "package", - "compile": { - "lib/portable-net45+win8/Microsoft.DiaSymReader.dll": {} - }, - "runtime": { - "lib/portable-net45+win8/Microsoft.DiaSymReader.dll": {} - } - }, - "Microsoft.DiaSymReader.Native/1.3.3": { - "type": "package", - "runtimeTargets": { - "runtimes/win-x64/native/Microsoft.DiaSymReader.Native.amd64.dll": { - "assetType": "native", - "rid": "win-x64" - }, - "runtimes/win-x86/native/Microsoft.DiaSymReader.Native.x86.dll": { - "assetType": "native", - "rid": "win-x86" - }, - "runtimes/win/native/Microsoft.DiaSymReader.Native.amd64.dll": { - "assetType": "native", - "rid": "win" - }, - "runtimes/win/native/Microsoft.DiaSymReader.Native.arm.dll": { - "assetType": "native", - "rid": "win" - }, - "runtimes/win/native/Microsoft.DiaSymReader.Native.x86.dll": { - "assetType": "native", - "rid": "win" - }, - "runtimes/win8-arm/native/Microsoft.DiaSymReader.Native.arm.dll": { - "assetType": "native", - "rid": "win8-arm" - } - } - }, - "Microsoft.DotNet.InternalAbstractions/1.0.0-rc2-002702": { - "type": "package", - "dependencies": { - "System.AppContext": "4.1.0-rc2-24027", - "System.Collections": "4.0.11-rc2-24027", - "System.IO": "4.1.0-rc2-24027", - "System.IO.FileSystem": "4.0.1-rc2-24027", - "System.Reflection.TypeExtensions": "4.1.0-rc2-24027", - "System.Runtime.Extensions": "4.1.0-rc2-24027", - "System.Runtime.InteropServices": "4.1.0-rc2-24027", - "System.Runtime.InteropServices.RuntimeInformation": "4.0.0-rc2-24027" - }, - "compile": { - "lib/netstandard1.3/Microsoft.DotNet.InternalAbstractions.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.DotNet.InternalAbstractions.dll": {} - } - }, - "Microsoft.DotNet.ProjectModel/1.0.0-rc2-002702": { - "type": "package", - "dependencies": { - "Microsoft.CSharp": "4.0.1-rc2-24027", - "Microsoft.Extensions.DependencyModel": "1.0.0-rc2-002702", - "Newtonsoft.Json": "7.0.1", - "NuGet.Packaging": "3.5.0-beta-final", - "NuGet.RuntimeModel": "3.5.0-beta-final", - "System.Dynamic.Runtime": "4.0.11-rc2-24027", - "System.Reflection.Metadata": "1.3.0-rc2-24027", - "System.Runtime.Loader": "4.0.0-rc2-24027", - "System.Runtime.Serialization.Primitives": "4.1.1-rc2-24027", - "System.Security.Cryptography.Algorithms": "4.1.0-rc2-24027", - "System.Threading.Thread": "4.0.0-rc2-24027", - "System.Xml.XDocument": "4.0.11-rc2-24027" - }, - "compile": { - "lib/netstandard1.5/Microsoft.DotNet.ProjectModel.dll": {} - }, - "runtime": { - "lib/netstandard1.5/Microsoft.DotNet.ProjectModel.dll": {} - } - }, - "Microsoft.EntityFrameworkCore/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Caching.Memory": "1.0.0", - "Microsoft.Extensions.DependencyInjection": "1.0.0", - "Microsoft.Extensions.Logging": "1.0.0", - "Remotion.Linq": "2.1.1", - "System.Collections.Concurrent": "4.0.12", - "System.Collections.Immutable": "1.2.0", - "System.ComponentModel.Annotations": "4.1.0", - "System.Interactive.Async": "3.0.0", - "System.Linq.Queryable": "4.0.1", - "System.ObjectModel": "4.0.12", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0" - }, - "compile": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.dll": {} - } - }, - "Microsoft.EntityFrameworkCore.Design/1.0.0-preview2-final": { - "type": "package", - "dependencies": { - "Microsoft.EntityFrameworkCore.Design.Core": "1.0.0-preview2-final", - "Microsoft.Extensions.CommandLineUtils": "1.0.0", - "Microsoft.NETCore.App": "1.0.0" - }, - "compile": { - "lib/netcoreapp1.0/Microsoft.EntityFrameworkCore.Design.dll": {} - }, - "runtime": { - "lib/netcoreapp1.0/Microsoft.EntityFrameworkCore.Design.dll": {} - } - }, - "Microsoft.EntityFrameworkCore.Design.Core/1.0.0-preview2-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNetCore.Hosting.Abstractions": "1.0.0", - "Microsoft.EntityFrameworkCore.Relational.Design": "1.0.0", - "System.AppContext": "4.1.0", - "System.Collections.NonGeneric": "4.0.1", - "System.IO": "4.1.0", - "System.IO.FileSystem": "4.0.1" - }, - "compile": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Design.Core.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Design.Core.dll": {} - } - }, - "Microsoft.EntityFrameworkCore.Relational/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.CSharp": "4.0.1", - "Microsoft.EntityFrameworkCore": "1.0.0", - "System.Data.Common": "4.1.0", - "System.Diagnostics.DiagnosticSource": "4.0.0", - "System.Text.RegularExpressions": "4.1.0" - }, - "compile": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Relational.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Relational.dll": {} - } - }, - "Microsoft.EntityFrameworkCore.Relational.Design/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.EntityFrameworkCore.Relational": "1.0.0" - }, - "compile": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Relational.Design.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Relational.Design.dll": {} - } - }, - "Microsoft.EntityFrameworkCore.Sqlite/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Data.Sqlite": "1.0.0", - "Microsoft.EntityFrameworkCore.Relational": "1.0.0", - "System.IO.FileSystem": "4.0.1" - }, - "compile": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Sqlite.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Sqlite.dll": {} - } - }, - "Microsoft.Extensions.Caching.Abstractions/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0", - "System.Collections": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "lib/netstandard1.0/Microsoft.Extensions.Caching.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard1.0/Microsoft.Extensions.Caching.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.Caching.Memory/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "1.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", - "Microsoft.Extensions.Options": "1.0.0", - "System.Linq": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "lib/netstandard1.3/Microsoft.Extensions.Caching.Memory.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.Extensions.Caching.Memory.dll": {} - } - }, - "Microsoft.Extensions.CommandLineUtils/1.0.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Console": "4.0.0", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Resources.ResourceManager": "4.0.1" - }, - "compile": { - "lib/netstandard1.3/Microsoft.Extensions.CommandLineUtils.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.Extensions.CommandLineUtils.dll": {} - } - }, - "Microsoft.Extensions.Configuration.Abstractions/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0", - "System.Linq": "4.1.0" - }, - "compile": { - "lib/netstandard1.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard1.0/Microsoft.Extensions.Configuration.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.DependencyInjection/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "lib/netstandard1.1/Microsoft.Extensions.DependencyInjection.dll": {} - }, - "runtime": { - "lib/netstandard1.1/Microsoft.Extensions.DependencyInjection.dll": {} - } - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/1.0.0": { - "type": "package", - "dependencies": { - "System.ComponentModel": "4.0.1", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.Reflection": "4.1.0", - "System.Resources.ResourceManager": "4.0.1" - }, - "compile": { - "lib/netstandard1.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard1.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.DependencyModel/1.0.0-rc2-002702": { - "type": "package", - "dependencies": { - "Microsoft.DotNet.InternalAbstractions": "1.0.0-rc2-002702", - "Newtonsoft.Json": "7.0.1", - "System.Diagnostics.Debug": "4.0.11-rc2-24027", - "System.Dynamic.Runtime": "4.0.11-rc2-24027", - "System.Linq": "4.1.0-rc2-24027" - }, - "compile": { - "lib/netstandard1.5/Microsoft.Extensions.DependencyModel.dll": {} - }, - "runtime": { - "lib/netstandard1.5/Microsoft.Extensions.DependencyModel.dll": {} - } - }, - "Microsoft.Extensions.FileProviders.Abstractions/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0", - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1" - }, - "compile": { - "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.Logging/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0", - "System.Threading": "4.0.11" - }, - "compile": { - "lib/netstandard1.1/Microsoft.Extensions.Logging.dll": {} - }, - "runtime": { - "lib/netstandard1.1/Microsoft.Extensions.Logging.dll": {} - } - }, - "Microsoft.Extensions.Logging.Abstractions/1.0.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.InteropServices": "4.1.0" - }, - "compile": { - "lib/netstandard1.1/Microsoft.Extensions.Logging.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard1.1/Microsoft.Extensions.Logging.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.Options/1.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", - "Microsoft.Extensions.Primitives": "1.0.0", - "System.ComponentModel": "4.0.1", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.Reflection": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "lib/netstandard1.0/Microsoft.Extensions.Options.dll": {} - }, - "runtime": { - "lib/netstandard1.0/Microsoft.Extensions.Options.dll": {} - } - }, - "Microsoft.Extensions.PlatformAbstractions/1.0.0": { - "type": "package", - "dependencies": { - "System.AppContext": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime.Extensions": "4.1.0" - }, - "compile": { - "lib/netstandard1.3/Microsoft.Extensions.PlatformAbstractions.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.Extensions.PlatformAbstractions.dll": {} - } - }, - "Microsoft.Extensions.Primitives/1.0.0": { - "type": "package", - "dependencies": { - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "lib/netstandard1.0/Microsoft.Extensions.Primitives.dll": {} - }, - "runtime": { - "lib/netstandard1.0/Microsoft.Extensions.Primitives.dll": {} - } - }, - "Microsoft.Extensions.Testing.Abstractions/1.0.0-preview1-002702": { - "type": "package", - "dependencies": { - "Microsoft.DiaSymReader": "1.0.6", - "Microsoft.DiaSymReader.Native": "1.3.3", - "Microsoft.DotNet.ProjectModel": "1.0.0-rc2-002702", - "Newtonsoft.Json": "7.0.1", - "System.Reflection.TypeExtensions": "4.1.0-rc2-24027", - "System.Resources.ResourceManager": "4.0.1-rc2-24027" - }, - "compile": { - "lib/netstandard1.5/Microsoft.Extensions.Testing.Abstractions.dll": {} - }, - "runtime": { - "lib/netstandard1.5/Microsoft.Extensions.Testing.Abstractions.dll": {} - } - }, - "Microsoft.NETCore.App/1.0.0": { - "type": "package", - "dependencies": { - "Libuv": "1.9.0", - "Microsoft.CSharp": "4.0.1", - "Microsoft.CodeAnalysis.CSharp": "1.3.0", - "Microsoft.CodeAnalysis.VisualBasic": "1.3.0", - "Microsoft.NETCore.DotNetHostPolicy": "1.0.1", - "Microsoft.NETCore.Runtime.CoreCLR": "1.0.2", - "Microsoft.VisualBasic": "10.0.1", - "NETStandard.Library": "1.6.0", - "System.Buffers": "4.0.0", - "System.Collections.Immutable": "1.2.0", - "System.ComponentModel": "4.0.1", - "System.ComponentModel.Annotations": "4.1.0", - "System.Diagnostics.DiagnosticSource": "4.0.0", - "System.Diagnostics.Process": "4.1.0", - "System.Dynamic.Runtime": "4.0.11", - "System.Globalization.Extensions": "4.0.1", - "System.IO.FileSystem.Watcher": "4.0.0", - "System.IO.MemoryMappedFiles": "4.0.0", - "System.IO.UnmanagedMemoryStream": "4.0.1", - "System.Linq.Expressions": "4.1.0", - "System.Linq.Parallel": "4.0.1", - "System.Linq.Queryable": "4.0.1", - "System.Net.NameResolution": "4.0.0", - "System.Net.Requests": "4.0.11", - "System.Net.Security": "4.0.0", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Numerics.Vectors": "4.1.1", - "System.Reflection.DispatchProxy": "4.0.1", - "System.Reflection.Metadata": "1.3.0", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.Reader": "4.0.0", - "System.Runtime.Loader": "4.0.0", - "System.Security.Cryptography.Algorithms": "4.2.0", - "System.Security.Cryptography.Encoding": "4.0.0", - "System.Security.Cryptography.Primitives": "4.0.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Threading.Tasks.Dataflow": "4.6.0", - "System.Threading.Tasks.Extensions": "4.0.0", - "System.Threading.Tasks.Parallel": "4.0.1", - "System.Threading.Thread": "4.0.0", - "System.Threading.ThreadPool": "4.0.10" - }, - "compile": { - "lib/netcoreapp1.0/_._": {} - }, - "runtime": { - "lib/netcoreapp1.0/_._": {} - } - }, - "Microsoft.NETCore.DotNetHost/1.0.1": { - "type": "package" - }, - "Microsoft.NETCore.DotNetHostPolicy/1.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.DotNetHostResolver": "1.0.1" - } - }, - "Microsoft.NETCore.DotNetHostResolver/1.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.DotNetHost": "1.0.1" - } - }, - "Microsoft.NETCore.Jit/1.0.2": { - "type": "package" - }, - "Microsoft.NETCore.Platforms/1.0.1": { - "type": "package", - "compile": { - "lib/netstandard1.0/_._": {} - }, - "runtime": { - "lib/netstandard1.0/_._": {} - } - }, - "Microsoft.NETCore.Runtime.CoreCLR/1.0.2": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Jit": "1.0.2", - "Microsoft.NETCore.Windows.ApiSets": "1.0.1" - } - }, - "Microsoft.NETCore.Targets/1.0.1": { - "type": "package", - "compile": { - "lib/netstandard1.0/_._": {} - }, - "runtime": { - "lib/netstandard1.0/_._": {} - } - }, - "Microsoft.NETCore.Windows.ApiSets/1.0.1": { - "type": "package" - }, - "Microsoft.VisualBasic/10.0.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Dynamic.Runtime": "4.0.11", - "System.Globalization": "4.0.11", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.ObjectModel": "4.0.12", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.InteropServices": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.1/Microsoft.VisualBasic.dll": {} - }, - "runtime": { - "lib/netstandard1.3/Microsoft.VisualBasic.dll": {} - } - }, - "Microsoft.Win32.Primitives/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/Microsoft.Win32.Primitives.dll": {} - } - }, - "Microsoft.Win32.Registry/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/_._": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/Microsoft.Win32.Registry.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/Microsoft.Win32.Registry.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "NETStandard.Library/1.6.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.Win32.Primitives": "4.0.1", - "System.AppContext": "4.1.0", - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Console": "4.0.0", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tools": "4.0.1", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Globalization.Calendars": "4.0.1", - "System.IO": "4.1.0", - "System.IO.Compression": "4.1.0", - "System.IO.Compression.ZipFile": "4.0.1", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.Net.Http": "4.1.0", - "System.Net.Primitives": "4.0.11", - "System.Net.Sockets": "4.1.0", - "System.ObjectModel": "4.0.12", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Runtime.InteropServices.RuntimeInformation": "4.0.0", - "System.Runtime.Numerics": "4.0.1", - "System.Security.Cryptography.Algorithms": "4.2.0", - "System.Security.Cryptography.Encoding": "4.0.0", - "System.Security.Cryptography.Primitives": "4.0.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Threading.Timer": "4.0.1", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XDocument": "4.0.11" - } - }, - "Newtonsoft.Json/9.0.1": { - "type": "package", - "dependencies": { - "Microsoft.CSharp": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Dynamic.Runtime": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.ObjectModel": "4.0.12", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XDocument": "4.0.11" - }, - "compile": { - "lib/netstandard1.0/Newtonsoft.Json.dll": {} - }, - "runtime": { - "lib/netstandard1.0/Newtonsoft.Json.dll": {} - } - }, - "NLog/4.4.0-betav15": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.PlatformAbstractions": "1.0.0", - "NETStandard.Library": "1.6.0", - "System.Collections.NonGeneric": "4.0.1", - "System.ComponentModel.TypeConverter": "4.1.0", - "System.Data.Common": "4.1.0", - "System.Diagnostics.Contracts": "4.0.1", - "System.Diagnostics.StackTrace": "4.0.1", - "System.Diagnostics.TraceSource": "4.0.0", - "System.IO.FileSystem.Watcher": "4.0.0", - "System.Net.NameResolution": "4.0.0", - "System.Net.Requests": "4.0.11", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Threading.Thread": "4.0.0", - "System.Threading.ThreadPool": "4.0.10", - "System.Xml.XmlDocument": "4.0.1" - }, - "compile": { - "lib/netstandard1.5/NLog.dll": {} - }, - "runtime": { - "lib/netstandard1.5/NLog.dll": {} - } - }, - "NuGet.Common/3.5.0-beta-final": { - "type": "package", - "dependencies": { - "NETStandard.Library": "1.5.0-rc2-24027", - "System.Diagnostics.Process": "4.1.0-rc2-24027", - "System.Security.Cryptography.Algorithms": "4.1.0-rc2-24027", - "System.Threading.Thread": "4.0.0-rc2-24027" - }, - "compile": { - "lib/netstandard1.3/NuGet.Common.dll": {} - }, - "runtime": { - "lib/netstandard1.3/NuGet.Common.dll": {} - } - }, - "NuGet.Frameworks/3.5.0-beta-final": { - "type": "package", - "dependencies": { - "NETStandard.Library": "1.5.0-rc2-24027", - "NuGet.Versioning": "3.5.0-beta-final" - }, - "compile": { - "lib/netstandard1.3/NuGet.Frameworks.dll": {} - }, - "runtime": { - "lib/netstandard1.3/NuGet.Frameworks.dll": {} - } - }, - "NuGet.Packaging/3.5.0-beta-final": { - "type": "package", - "dependencies": { - "NETStandard.Library": "1.5.0-rc2-24027", - "NuGet.Common": "3.5.0-beta-final", - "NuGet.Packaging.Core": "3.5.0-beta-final", - "System.IO.Compression": "4.1.0-rc2-24027" - }, - "compile": { - "lib/netstandard1.3/NuGet.Packaging.dll": {} - }, - "runtime": { - "lib/netstandard1.3/NuGet.Packaging.dll": {} - } - }, - "NuGet.Packaging.Core/3.5.0-beta-final": { - "type": "package", - "dependencies": { - "NETStandard.Library": "1.5.0-rc2-24027", - "NuGet.Packaging.Core.Types": "3.5.0-beta-final", - "System.Xml.XDocument": "4.0.11-rc2-24027" - }, - "compile": { - "lib/netstandard1.3/NuGet.Packaging.Core.dll": {} - }, - "runtime": { - "lib/netstandard1.3/NuGet.Packaging.Core.dll": {} - } - }, - "NuGet.Packaging.Core.Types/3.5.0-beta-final": { - "type": "package", - "dependencies": { - "NETStandard.Library": "1.5.0-rc2-24027", - "NuGet.Frameworks": "3.5.0-beta-final" - }, - "compile": { - "lib/netstandard1.3/NuGet.Packaging.Core.Types.dll": {} - }, - "runtime": { - "lib/netstandard1.3/NuGet.Packaging.Core.Types.dll": {} - } - }, - "NuGet.RuntimeModel/3.5.0-beta-final": { - "type": "package", - "dependencies": { - "NETStandard.Library": "1.5.0-rc2-24027", - "Newtonsoft.Json": "6.0.4", - "NuGet.Frameworks": "3.5.0-beta-final", - "NuGet.Versioning": "3.5.0-beta-final", - "System.Dynamic.Runtime": "4.0.11-rc2-24027", - "System.ObjectModel": "4.0.12-rc2-24027" - }, - "compile": { - "lib/netstandard1.3/NuGet.RuntimeModel.dll": {} - }, - "runtime": { - "lib/netstandard1.3/NuGet.RuntimeModel.dll": {} - } - }, - "NuGet.Versioning/3.5.0-beta-final": { - "type": "package", - "dependencies": { - "NETStandard.Library": "1.5.0-rc2-24027" - }, - "compile": { - "lib/netstandard1.0/NuGet.Versioning.dll": {} - }, - "runtime": { - "lib/netstandard1.0/NuGet.Versioning.dll": {} - } - }, - "Portable.BouncyCastle/1.8.1.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "lib/netstandard1.3/crypto.dll": {} - }, - "runtime": { - "lib/netstandard1.3/crypto.dll": {} - } - }, - "Remotion.Linq/2.1.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.Linq.Queryable": "4.0.1", - "System.ObjectModel": "4.0.12", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "lib/netstandard1.0/Remotion.Linq.dll": {} - }, - "runtime": { - "lib/netstandard1.0/Remotion.Linq.dll": {} - } - }, - "runtime.native.System/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1" - }, - "compile": { - "lib/netstandard1.0/_._": {} - }, - "runtime": { - "lib/netstandard1.0/_._": {} - } - }, - "runtime.native.System.IO.Compression/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1" - }, - "compile": { - "lib/netstandard1.0/_._": {} - }, - "runtime": { - "lib/netstandard1.0/_._": {} - } - }, - "runtime.native.System.Net.Http/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1" - }, - "compile": { - "lib/netstandard1.0/_._": {} - }, - "runtime": { - "lib/netstandard1.0/_._": {} - } - }, - "runtime.native.System.Net.Security/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1" - }, - "compile": { - "lib/netstandard1.0/_._": {} - }, - "runtime": { - "lib/netstandard1.0/_._": {} - } - }, - "runtime.native.System.Security.Cryptography/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1" - }, - "compile": { - "lib/netstandard1.0/_._": {} - }, - "runtime": { - "lib/netstandard1.0/_._": {} - } - }, - "SQLite/3.12.2": { - "type": "package", - "dependencies": { - "SQLite.Native": "3.12.2" - } - }, - "SQLite.Native/3.12.2": { - "type": "package", - "runtimeTargets": { - "runtimes/linux-x64/native/libsqlite3.so": { - "assetType": "native", - "rid": "linux-x64" - }, - "runtimes/osx-x64/native/libsqlite3.dylib": { - "assetType": "native", - "rid": "osx-x64" - }, - "runtimes/win7-x64/native/sqlite3.dll": { - "assetType": "native", - "rid": "win7-x64" - }, - "runtimes/win7-x86/native/sqlite3.dll": { - "assetType": "native", - "rid": "win7-x86" - } - } - }, - "System.AppContext/4.1.0": { - "type": "package", - "dependencies": { - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.6/System.AppContext.dll": {} - }, - "runtime": { - "lib/netstandard1.6/System.AppContext.dll": {} - } - }, - "System.Buffers/4.0.0": { - "type": "package", - "dependencies": { - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "lib/netstandard1.1/System.Buffers.dll": {} - }, - "runtime": { - "lib/netstandard1.1/System.Buffers.dll": {} - } - }, - "System.Collections/4.0.11": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Collections.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Collections.Concurrent/4.0.12": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Reflection": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Collections.Concurrent.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Collections.Concurrent.dll": {} - } - }, - "System.Collections.Immutable/1.2.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.Linq": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "lib/netstandard1.0/System.Collections.Immutable.dll": {} - }, - "runtime": { - "lib/netstandard1.0/System.Collections.Immutable.dll": {} - } - }, - "System.Collections.NonGeneric/4.0.1": { - "type": "package", - "dependencies": { - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Collections.NonGeneric.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Collections.NonGeneric.dll": {} - } - }, - "System.Collections.Specialized/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections.NonGeneric": "4.0.1", - "System.Globalization": "4.0.11", - "System.Globalization.Extensions": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/_._": {} - }, - "runtime": { - "lib/netstandard1.3/System.Collections.Specialized.dll": {} - } - }, - "System.ComponentModel/4.0.1": { - "type": "package", - "dependencies": { - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/System.ComponentModel.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.ComponentModel.dll": {} - } - }, - "System.ComponentModel.Annotations/4.1.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.ComponentModel": "4.0.1", - "System.Globalization": "4.0.11", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.4/System.ComponentModel.Annotations.dll": {} - }, - "runtime": { - "lib/netstandard1.4/System.ComponentModel.Annotations.dll": {} - } - }, - "System.ComponentModel.Primitives/4.1.0": { - "type": "package", - "dependencies": { - "System.ComponentModel": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/System.ComponentModel.Primitives.dll": {} - }, - "runtime": { - "lib/netstandard1.0/System.ComponentModel.Primitives.dll": {} - } - }, - "System.ComponentModel.TypeConverter/4.1.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.NonGeneric": "4.0.1", - "System.Collections.Specialized": "4.0.1", - "System.ComponentModel": "4.0.1", - "System.ComponentModel.Primitives": "4.1.0", - "System.Globalization": "4.0.11", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.5/System.ComponentModel.TypeConverter.dll": {} - }, - "runtime": { - "lib/netstandard1.5/System.ComponentModel.TypeConverter.dll": {} - } - }, - "System.Console/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.IO": "4.1.0", - "System.Runtime": "4.1.0", - "System.Text.Encoding": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Console.dll": {} - } - }, - "System.Data.Common/4.1.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.2/System.Data.Common.dll": {} - }, - "runtime": { - "lib/netstandard1.2/System.Data.Common.dll": {} - } - }, - "System.Diagnostics.Contracts/4.0.1": { - "type": "package", - "dependencies": { - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/System.Diagnostics.Contracts.dll": {} - }, - "runtime": { - "lib/netstandard1.0/System.Diagnostics.Contracts.dll": {} - } - }, - "System.Diagnostics.Debug/4.0.11": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Diagnostics.Debug.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Diagnostics.DiagnosticSource/4.0.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Reflection": "4.1.0", - "System.Runtime": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll": {} - } - }, - "System.Diagnostics.FileVersionInfo/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Reflection.Metadata": "1.3.0", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.InteropServices": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/_._": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Diagnostics.FileVersionInfo.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Diagnostics.FileVersionInfo.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Diagnostics.Process/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.Win32.Primitives": "4.0.1", - "Microsoft.Win32.Registry": "4.0.0", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Threading.Thread": "4.0.0", - "System.Threading.ThreadPool": "4.0.10", - "runtime.native.System": "4.0.0" - }, - "compile": { - "ref/netstandard1.4/System.Diagnostics.Process.dll": {} - }, - "runtimeTargets": { - "runtimes/linux/lib/netstandard1.4/System.Diagnostics.Process.dll": { - "assetType": "runtime", - "rid": "linux" - }, - "runtimes/osx/lib/netstandard1.4/System.Diagnostics.Process.dll": { - "assetType": "runtime", - "rid": "osx" - }, - "runtimes/win/lib/netstandard1.4/System.Diagnostics.Process.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Diagnostics.StackTrace/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections.Immutable": "1.2.0", - "System.IO.FileSystem": "4.0.1", - "System.Reflection": "4.1.0", - "System.Reflection.Metadata": "1.3.0", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Diagnostics.StackTrace.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Diagnostics.StackTrace.dll": {} - } - }, - "System.Diagnostics.Tools/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/System.Diagnostics.Tools.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Diagnostics.TraceSource/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11", - "runtime.native.System": "4.0.0" - }, - "compile": { - "ref/netstandard1.3/System.Diagnostics.TraceSource.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Diagnostics.TraceSource.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Diagnostics.TraceSource.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Diagnostics.Tracing/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.5/System.Diagnostics.Tracing.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wpa81/_._": {} - } - }, - "System.Dynamic.Runtime/4.0.11": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.ObjectModel": "4.0.12", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Dynamic.Runtime.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Dynamic.Runtime.dll": {} - } - }, - "System.Globalization/4.0.11": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Globalization.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Globalization.Calendars/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Globalization": "4.0.11", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Globalization.Calendars.dll": {} - } - }, - "System.Globalization.Extensions/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Globalization": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.InteropServices": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Globalization.Extensions.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Globalization.Extensions.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Globalization.Extensions.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Interactive.Async/3.0.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Linq": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "lib/netstandard1.0/System.Interactive.Async.dll": {} - }, - "runtime": { - "lib/netstandard1.0/System.Interactive.Async.dll": {} - } - }, - "System.IO/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.5/System.IO.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.IO.Compression/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "runtime.native.System": "4.0.0", - "runtime.native.System.IO.Compression": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.IO.Compression.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wpa81/_._": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.IO.Compression.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.IO.Compression.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.IO.Compression.ZipFile/4.0.1": { - "type": "package", - "dependencies": { - "System.Buffers": "4.0.0", - "System.IO": "4.1.0", - "System.IO.Compression": "4.1.0", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.Encoding": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.IO.Compression.ZipFile.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.IO.Compression.ZipFile.dll": {} - } - }, - "System.IO.FileSystem/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.IO": "4.1.0", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Text.Encoding": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.IO.FileSystem.dll": {} - } - }, - "System.IO.FileSystem.Primitives/4.0.1": { - "type": "package", - "dependencies": { - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.IO.FileSystem.Primitives.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll": {} - } - }, - "System.IO.FileSystem.Watcher/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Overlapped": "4.0.1", - "System.Threading.Tasks": "4.0.11", - "System.Threading.Thread": "4.0.0", - "runtime.native.System": "4.0.0" - }, - "compile": { - "ref/netstandard1.3/System.IO.FileSystem.Watcher.dll": {} - }, - "runtimeTargets": { - "runtimes/linux/lib/netstandard1.3/System.IO.FileSystem.Watcher.dll": { - "assetType": "runtime", - "rid": "linux" - }, - "runtimes/osx/lib/netstandard1.3/System.IO.FileSystem.Watcher.dll": { - "assetType": "runtime", - "rid": "osx" - }, - "runtimes/win/lib/netstandard1.3/System.IO.FileSystem.Watcher.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.IO.MemoryMappedFiles/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.IO": "4.1.0", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.IO.UnmanagedMemoryStream": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "runtime.native.System": "4.0.0" - }, - "compile": { - "ref/netstandard1.3/System.IO.MemoryMappedFiles.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.IO.MemoryMappedFiles.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.IO.MemoryMappedFiles.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.IO.UnmanagedMemoryStream/4.0.1": { - "type": "package", - "dependencies": { - "System.IO": "4.1.0", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.InteropServices": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.IO.UnmanagedMemoryStream.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.IO.UnmanagedMemoryStream.dll": {} - } - }, - "System.Linq/4.1.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0" - }, - "compile": { - "ref/netstandard1.6/System.Linq.dll": {} - }, - "runtime": { - "lib/netstandard1.6/System.Linq.dll": {} - } - }, - "System.Linq.Expressions/4.1.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.ObjectModel": "4.0.12", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.6/System.Linq.Expressions.dll": {} - }, - "runtime": { - "lib/netstandard1.6/System.Linq.Expressions.dll": {} - } - }, - "System.Linq.Parallel/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Linq": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.1/System.Linq.Parallel.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Linq.Parallel.dll": {} - } - }, - "System.Linq.Queryable/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Linq": "4.1.0", - "System.Linq.Expressions": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/System.Linq.Queryable.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Linq.Queryable.dll": {} - } - }, - "System.Net.Http/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.DiagnosticSource": "4.0.0", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Globalization.Extensions": "4.0.1", - "System.IO": "4.1.0", - "System.IO.FileSystem": "4.0.1", - "System.Net.Primitives": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.Algorithms": "4.2.0", - "System.Security.Cryptography.Encoding": "4.0.0", - "System.Security.Cryptography.OpenSsl": "4.0.0", - "System.Security.Cryptography.Primitives": "4.0.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "runtime.native.System": "4.0.0", - "runtime.native.System.Net.Http": "4.0.1", - "runtime.native.System.Security.Cryptography": "4.0.0" - }, - "compile": { - "ref/netstandard1.3/System.Net.Http.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wpa81/_._": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.6/System.Net.Http.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Net.Http.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Net.NameResolution/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Principal.Windows": "4.0.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "runtime.native.System": "4.0.0" - }, - "compile": { - "ref/netstandard1.3/System.Net.NameResolution.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Net.NameResolution.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Net.NameResolution.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Net.Primitives/4.0.11": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Handles": "4.0.1" - }, - "compile": { - "ref/netstandard1.3/System.Net.Primitives.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Net.Requests/4.0.11": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Net.Http": "4.1.0", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Net.Requests.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Net.Requests.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Net.Requests.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Net.Security/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Globalization.Extensions": "4.0.1", - "System.IO": "4.1.0", - "System.Net.Primitives": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Claims": "4.0.1", - "System.Security.Cryptography.Algorithms": "4.2.0", - "System.Security.Cryptography.Encoding": "4.0.0", - "System.Security.Cryptography.OpenSsl": "4.0.0", - "System.Security.Cryptography.Primitives": "4.0.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Security.Principal": "4.0.1", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Threading.ThreadPool": "4.0.10", - "runtime.native.System": "4.0.0", - "runtime.native.System.Net.Security": "4.0.1", - "runtime.native.System.Security.Cryptography": "4.0.0" - }, - "compile": { - "ref/netstandard1.3/System.Net.Security.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.6/System.Net.Security.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Net.Security.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Net.Sockets/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.IO": "4.1.0", - "System.Net.Primitives": "4.0.11", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Net.Sockets.dll": {} - } - }, - "System.Net.WebHeaderCollection/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Net.WebHeaderCollection.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Net.WebHeaderCollection.dll": {} - } - }, - "System.Net.WebSockets/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Net.WebSockets.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Net.WebSockets.dll": {} - } - }, - "System.Net.WebSockets.Client/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Globalization": "4.0.11", - "System.Net.Primitives": "4.0.11", - "System.Net.WebHeaderCollection": "4.0.1", - "System.Net.WebSockets": "4.0.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.X509Certificates": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Net.WebSockets.Client.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Net.WebSockets.Client.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Net.WebSockets.Client.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Numerics.Vectors/4.1.1": { - "type": "package", - "dependencies": { - "System.Globalization": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/System.Numerics.Vectors.dll": {} - }, - "runtime": { - "lib/netstandard1.0/System.Numerics.Vectors.dll": {} - } - }, - "System.ObjectModel/4.0.12": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.ObjectModel.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.ObjectModel.dll": {} - } - }, - "System.Private.DataContractSerialization/4.1.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Emit.Lightweight": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1", - "System.Xml.XmlSerializer": "4.0.11" - }, - "compile": { - "ref/netstandard/_._": {} - }, - "runtime": { - "lib/netstandard1.3/System.Private.DataContractSerialization.dll": {} - } - }, - "System.Reflection/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.IO": "4.1.0", - "System.Reflection.Primitives": "4.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.5/System.Reflection.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Reflection.DispatchProxy/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Reflection.DispatchProxy.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Reflection.DispatchProxy.dll": {} - } - }, - "System.Reflection.Emit/4.0.1": { - "type": "package", - "dependencies": { - "System.IO": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.1/_._": {} - }, - "runtime": { - "lib/netstandard1.3/System.Reflection.Emit.dll": {} - } - }, - "System.Reflection.Emit.ILGeneration/4.0.1": { - "type": "package", - "dependencies": { - "System.Reflection": "4.1.0", - "System.Reflection.Primitives": "4.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/_._": {} - }, - "runtime": { - "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll": {} - } - }, - "System.Reflection.Emit.Lightweight/4.0.1": { - "type": "package", - "dependencies": { - "System.Reflection": "4.1.0", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/_._": {} - }, - "runtime": { - "lib/netstandard1.3/System.Reflection.Emit.Lightweight.dll": {} - } - }, - "System.Reflection.Extensions/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Reflection": "4.1.0", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/System.Reflection.Extensions.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Reflection.Metadata/1.3.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Immutable": "1.2.0", - "System.Diagnostics.Debug": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.InteropServices": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Threading": "4.0.11" - }, - "compile": { - "lib/netstandard1.1/System.Reflection.Metadata.dll": {} - }, - "runtime": { - "lib/netstandard1.1/System.Reflection.Metadata.dll": {} - } - }, - "System.Reflection.Primitives/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/System.Reflection.Primitives.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Reflection.TypeExtensions/4.1.0": { - "type": "package", - "dependencies": { - "System.Reflection": "4.1.0", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.5/System.Reflection.TypeExtensions.dll": {} - }, - "runtime": { - "lib/netstandard1.5/System.Reflection.TypeExtensions.dll": {} - } - }, - "System.Resources.Reader/4.0.0": { - "type": "package", - "dependencies": { - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11" - }, - "compile": { - "lib/netstandard1.0/System.Resources.Reader.dll": {} - }, - "runtime": { - "lib/netstandard1.0/System.Resources.Reader.dll": {} - } - }, - "System.Resources.ResourceManager/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Globalization": "4.0.11", - "System.Reflection": "4.1.0", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/System.Resources.ResourceManager.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Resources.ResourceWriter/4.0.0-beta-22816": { - "type": "package", - "dependencies": { - "System.IO": "4.0.10-beta-22816", - "System.Runtime": "4.0.20-beta-22816" - }, - "compile": { - "lib/contract/System.Resources.ResourceWriter.dll": {} - }, - "runtime": { - "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Resources.ResourceWriter.dll": {} - } - }, - "System.Runtime/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1" - }, - "compile": { - "ref/netstandard1.5/System.Runtime.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp80+wpa81/_._": {} - } - }, - "System.Runtime.CompilerServices.Unsafe/4.0.0": { - "type": "package", - "dependencies": { - "System.Runtime": "4.1.0" - }, - "compile": { - "lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll": {} - }, - "runtime": { - "lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll": {} - } - }, - "System.Runtime.Extensions/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.5/System.Runtime.Extensions.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Runtime.Handles/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Runtime.Handles.dll": {} - } - }, - "System.Runtime.InteropServices/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Reflection": "4.1.0", - "System.Reflection.Primitives": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Handles": "4.0.1" - }, - "compile": { - "ref/netstandard1.5/System.Runtime.InteropServices.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wpa81/_._": {} - } - }, - "System.Runtime.InteropServices.RuntimeInformation/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Reflection": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.InteropServices": "4.1.0", - "System.Threading": "4.0.11", - "runtime.native.System": "4.0.0" - }, - "compile": { - "ref/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Runtime.Loader/4.0.0": { - "type": "package", - "dependencies": { - "System.IO": "4.1.0", - "System.Reflection": "4.1.0", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.5/System.Runtime.Loader.dll": {} - }, - "runtime": { - "lib/netstandard1.5/System.Runtime.Loader.dll": {} - } - }, - "System.Runtime.Numerics/4.0.1": { - "type": "package", - "dependencies": { - "System.Globalization": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0" - }, - "compile": { - "ref/netstandard1.1/System.Runtime.Numerics.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Runtime.Numerics.dll": {} - } - }, - "System.Runtime.Serialization.Primitives/4.1.1": { - "type": "package", - "dependencies": { - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Runtime.Serialization.Primitives.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll": {} - } - }, - "System.Runtime.Serialization.Xml/4.1.1": { - "type": "package", - "dependencies": { - "System.IO": "4.1.0", - "System.Private.DataContractSerialization": "4.1.1", - "System.Runtime": "4.1.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.Encoding": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Runtime.Serialization.Xml.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Runtime.Serialization.Xml.dll": {} - } - }, - "System.Security.Claims/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Security.Principal": "4.0.1" - }, - "compile": { - "ref/netstandard1.3/System.Security.Claims.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Security.Claims.dll": {} - } - }, - "System.Security.Cryptography.Algorithms/4.2.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Collections": "4.0.11", - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Runtime.Numerics": "4.0.1", - "System.Security.Cryptography.Encoding": "4.0.0", - "System.Security.Cryptography.Primitives": "4.0.0", - "System.Text.Encoding": "4.0.11", - "runtime.native.System.Security.Cryptography": "4.0.0" - }, - "compile": { - "ref/netstandard1.6/System.Security.Cryptography.Algorithms.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.Algorithms.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.Algorithms.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Security.Cryptography.Cng/4.2.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.Algorithms": "4.2.0", - "System.Security.Cryptography.Encoding": "4.0.0", - "System.Security.Cryptography.Primitives": "4.0.0", - "System.Text.Encoding": "4.0.11" - }, - "compile": { - "ref/netstandard1.6/_._": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.Cng.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.Cng.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Security.Cryptography.Csp/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.IO": "4.1.0", - "System.Reflection": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.Algorithms": "4.2.0", - "System.Security.Cryptography.Encoding": "4.0.0", - "System.Security.Cryptography.Primitives": "4.0.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/_._": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.Csp.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Security.Cryptography.Csp.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Security.Cryptography.Encoding/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Linq": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Cryptography.Primitives": "4.0.0", - "System.Text.Encoding": "4.0.11", - "runtime.native.System.Security.Cryptography": "4.0.0" - }, - "compile": { - "ref/netstandard1.3/System.Security.Cryptography.Encoding.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.Encoding.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Security.Cryptography.Encoding.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Security.Cryptography.OpenSsl/4.0.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Runtime.Numerics": "4.0.1", - "System.Security.Cryptography.Algorithms": "4.2.0", - "System.Security.Cryptography.Encoding": "4.0.0", - "System.Security.Cryptography.Primitives": "4.0.0", - "System.Text.Encoding": "4.0.11", - "runtime.native.System.Security.Cryptography": "4.0.0" - }, - "compile": { - "ref/netstandard1.6/_._": {} - }, - "runtime": { - "lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll": { - "assetType": "runtime", - "rid": "unix" - } - } - }, - "System.Security.Cryptography.Primitives/4.0.0": { - "type": "package", - "dependencies": { - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Security.Cryptography.Primitives.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll": {} - } - }, - "System.Security.Cryptography.X509Certificates/4.1.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.Globalization.Calendars": "4.0.1", - "System.IO": "4.1.0", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Runtime.Numerics": "4.0.1", - "System.Security.Cryptography.Algorithms": "4.2.0", - "System.Security.Cryptography.Cng": "4.2.0", - "System.Security.Cryptography.Csp": "4.0.0", - "System.Security.Cryptography.Encoding": "4.0.0", - "System.Security.Cryptography.OpenSsl": "4.0.0", - "System.Security.Cryptography.Primitives": "4.0.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "runtime.native.System": "4.0.0", - "runtime.native.System.Net.Http": "4.0.1", - "runtime.native.System.Security.Cryptography": "4.0.0" - }, - "compile": { - "ref/netstandard1.4/System.Security.Cryptography.X509Certificates.dll": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.X509Certificates.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.X509Certificates.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Security.Principal/4.0.1": { - "type": "package", - "dependencies": { - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.0/System.Security.Principal.dll": {} - }, - "runtime": { - "lib/netstandard1.0/System.Security.Principal.dll": {} - } - }, - "System.Security.Principal.Windows/4.0.0": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.Win32.Primitives": "4.0.1", - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Reflection": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Security.Claims": "4.0.1", - "System.Security.Principal": "4.0.1", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/_._": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Security.Principal.Windows.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Security.Principal.Windows.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Text.Encoding/4.0.11": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Text.Encoding.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Text.Encoding.CodePages/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Reflection": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.Handles": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/_._": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Text.Encoding.CodePages.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Text.Encoding.CodePages.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Text.Encoding.Extensions/4.0.11": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0", - "System.Text.Encoding": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Text.Encoding.Extensions.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Text.Encodings.Web/4.0.0": { - "type": "package", - "dependencies": { - "System.Diagnostics.Debug": "4.0.11", - "System.IO": "4.1.0", - "System.Reflection": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "lib/netstandard1.0/System.Text.Encodings.Web.dll": {} - }, - "runtime": { - "lib/netstandard1.0/System.Text.Encodings.Web.dll": {} - } - }, - "System.Text.RegularExpressions/4.1.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11" - }, - "compile": { - "ref/netstandard1.6/System.Text.RegularExpressions.dll": {} - }, - "runtime": { - "lib/netstandard1.6/System.Text.RegularExpressions.dll": {} - } - }, - "System.Threading/4.0.11": { - "type": "package", - "dependencies": { - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Threading.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Threading.dll": {} - } - }, - "System.Threading.Overlapped/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Handles": "4.0.1" - }, - "compile": { - "ref/netstandard1.3/_._": {} - }, - "runtimeTargets": { - "runtimes/unix/lib/netstandard1.3/System.Threading.Overlapped.dll": { - "assetType": "runtime", - "rid": "unix" - }, - "runtimes/win/lib/netstandard1.3/System.Threading.Overlapped.dll": { - "assetType": "runtime", - "rid": "win" - } - } - }, - "System.Threading.Tasks/4.0.11": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Threading.Tasks.dll": {} - }, - "runtime": { - "lib/portable-net45+win8+wp8+wpa81/_._": {} - } - }, - "System.Threading.Tasks.Dataflow/4.6.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Dynamic.Runtime": "4.0.11", - "System.Linq": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "lib/netstandard1.1/System.Threading.Tasks.Dataflow.dll": {} - }, - "runtime": { - "lib/netstandard1.1/System.Threading.Tasks.Dataflow.dll": {} - } - }, - "System.Threading.Tasks.Extensions/4.0.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Runtime": "4.1.0", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "lib/netstandard1.0/System.Threading.Tasks.Extensions.dll": {} - }, - "runtime": { - "lib/netstandard1.0/System.Threading.Tasks.Extensions.dll": {} - } - }, - "System.Threading.Tasks.Parallel/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections.Concurrent": "4.0.12", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tracing": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11", - "System.Threading.Tasks": "4.0.11" - }, - "compile": { - "ref/netstandard1.1/System.Threading.Tasks.Parallel.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Threading.Tasks.Parallel.dll": {} - } - }, - "System.Threading.Thread/4.0.0": { - "type": "package", - "dependencies": { - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.3/System.Threading.Thread.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Threading.Thread.dll": {} - } - }, - "System.Threading.ThreadPool/4.0.10": { - "type": "package", - "dependencies": { - "System.Runtime": "4.1.0", - "System.Runtime.Handles": "4.0.1" - }, - "compile": { - "ref/netstandard1.3/System.Threading.ThreadPool.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Threading.ThreadPool.dll": {} - } - }, - "System.Threading.Timer/4.0.1": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.1", - "Microsoft.NETCore.Targets": "1.0.1", - "System.Runtime": "4.1.0" - }, - "compile": { - "ref/netstandard1.2/System.Threading.Timer.dll": {} - } - }, - "System.Xml.ReaderWriter/4.0.11": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.IO.FileSystem": "4.0.1", - "System.IO.FileSystem.Primitives": "4.0.1", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Runtime.InteropServices": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Text.Encoding.Extensions": "4.0.11", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading.Tasks": "4.0.11", - "System.Threading.Tasks.Extensions": "4.0.0" - }, - "compile": { - "ref/netstandard1.3/System.Xml.ReaderWriter.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Xml.ReaderWriter.dll": {} - } - }, - "System.Xml.XDocument/4.0.11": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Diagnostics.Tools": "4.0.1", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Reflection": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Xml.XDocument.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Xml.XDocument.dll": {} - } - }, - "System.Xml.XmlDocument/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.Encoding": "4.0.11", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/System.Xml.XmlDocument.dll": {} - }, - "runtime": { - "lib/netstandard1.3/System.Xml.XmlDocument.dll": {} - } - }, - "System.Xml.XmlSerializer/4.0.11": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Linq": "4.1.0", - "System.Reflection": "4.1.0", - "System.Reflection.Emit": "4.0.1", - "System.Reflection.Emit.ILGeneration": "4.0.1", - "System.Reflection.Extensions": "4.0.1", - "System.Reflection.Primitives": "4.0.1", - "System.Reflection.TypeExtensions": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Text.RegularExpressions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XmlDocument": "4.0.1" - }, - "compile": { - "ref/netstandard1.3/_._": {} - }, - "runtime": { - "lib/netstandard1.3/System.Xml.XmlSerializer.dll": {} - } - }, - "System.Xml.XPath/4.0.1": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.11", - "System.Diagnostics.Debug": "4.0.11", - "System.Globalization": "4.0.11", - "System.IO": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11" - }, - "compile": { - "ref/netstandard1.3/_._": {} - }, - "runtime": { - "lib/netstandard1.3/System.Xml.XPath.dll": {} - } - }, - "System.Xml.XPath.XDocument/4.0.1": { - "type": "package", - "dependencies": { - "System.Diagnostics.Debug": "4.0.11", - "System.Linq": "4.1.0", - "System.Resources.ResourceManager": "4.0.1", - "System.Runtime": "4.1.0", - "System.Runtime.Extensions": "4.1.0", - "System.Threading": "4.0.11", - "System.Xml.ReaderWriter": "4.0.11", - "System.Xml.XDocument": "4.0.11", - "System.Xml.XPath": "4.0.1" - }, - "compile": { - "ref/netstandard1.3/_._": {} - }, - "runtime": { - "lib/netstandard1.3/System.Xml.XPath.XDocument.dll": {} - } - }, - "VideoLibrary/1.3.4": { - "type": "package", - "compile": { - "lib/portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10/libvideo.dll": {} - }, - "runtime": { - "lib/portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10/libvideo.dll": {} - } - }, - "xunit/2.1.0": { - "type": "package", - "dependencies": { - "xunit.assert": "[2.1.0]", - "xunit.core": "[2.1.0]" - } - }, - "xunit.abstractions/2.0.0": { - "type": "package", - "compile": { - "lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.dll": {} - }, - "runtime": { - "lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.dll": {} - } - }, - "xunit.assert/2.1.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.0", - "System.Diagnostics.Debug": "4.0.0", - "System.Globalization": "4.0.0", - "System.Linq": "4.0.0", - "System.ObjectModel": "4.0.0", - "System.Reflection": "4.0.0", - "System.Reflection.Extensions": "4.0.0", - "System.Runtime": "4.0.0", - "System.Runtime.Extensions": "4.0.0", - "System.Text.RegularExpressions": "4.0.0", - "System.Threading.Tasks": "4.0.0" - }, - "compile": { - "lib/dotnet/xunit.assert.dll": {} - }, - "runtime": { - "lib/dotnet/xunit.assert.dll": {} - } - }, - "xunit.core/2.1.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.0", - "System.Diagnostics.Debug": "4.0.0", - "System.Globalization": "4.0.0", - "System.Linq": "4.0.0", - "System.Reflection": "4.0.0", - "System.Reflection.Extensions": "4.0.0", - "System.Runtime": "4.0.0", - "System.Runtime.Extensions": "4.0.0", - "System.Threading.Tasks": "4.0.0", - "xunit.abstractions": "2.0.0", - "xunit.extensibility.core": "[2.1.0]", - "xunit.extensibility.execution": "[2.1.0]" - } - }, - "xunit.extensibility.core/2.1.0": { - "type": "package", - "dependencies": { - "xunit.abstractions": "[2.0.0]" - }, - "compile": { - "lib/dotnet/xunit.core.dll": {} - }, - "runtime": { - "lib/dotnet/xunit.core.dll": {} - } - }, - "xunit.extensibility.execution/2.1.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.0", - "System.Diagnostics.Debug": "4.0.0", - "System.Globalization": "4.0.0", - "System.IO": "4.0.0", - "System.Linq": "4.0.0", - "System.Linq.Expressions": "4.0.0", - "System.Reflection": "4.0.0", - "System.Reflection.Extensions": "4.0.0", - "System.Runtime": "4.0.0", - "System.Runtime.Extensions": "4.0.0", - "System.Text.Encoding": "4.0.0", - "System.Threading": "4.0.0", - "System.Threading.Tasks": "4.0.0", - "xunit.abstractions": "2.0.0", - "xunit.extensibility.core": "[2.1.0]" - }, - "compile": { - "lib/dotnet/xunit.execution.dotnet.dll": {} - }, - "runtime": { - "lib/dotnet/xunit.execution.dotnet.dll": {} - } - }, - "xunit.runner.reporters/2.1.0": { - "type": "package", - "dependencies": { - "Newtonsoft.Json": "7.0.1", - "System.Collections": "4.0.0", - "System.Diagnostics.Debug": "4.0.0", - "System.Net.Http": "4.0.0", - "System.Net.Primitives": "4.0.0", - "System.Reflection": "4.0.0", - "System.Reflection.Extensions": "4.0.0", - "System.Runtime": "4.0.0", - "System.Runtime.Extensions": "4.0.0", - "System.Text.Encoding": "4.0.0", - "System.Threading": "4.0.0", - "System.Threading.Tasks": "4.0.0", - "xunit.abstractions": "2.0.0", - "xunit.runner.utility": "[2.1.0]" - }, - "compile": { - "lib/dotnet/xunit.runner.reporters.dotnet.dll": {} - }, - "runtime": { - "lib/dotnet/xunit.runner.reporters.dotnet.dll": {} - } - }, - "xunit.runner.utility/2.1.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.0", - "System.Diagnostics.Debug": "4.0.0", - "System.Globalization": "4.0.0", - "System.IO": "4.0.0", - "System.Linq": "4.0.0", - "System.Reflection": "4.0.0", - "System.Reflection.Extensions": "4.0.0", - "System.Runtime": "4.0.0", - "System.Runtime.Extensions": "4.0.0", - "System.Text.RegularExpressions": "4.0.0", - "System.Threading": "4.0.0", - "System.Threading.Tasks": "4.0.0", - "xunit.abstractions": "2.0.0" - }, - "compile": { - "lib/dotnet/xunit.runner.utility.dotnet.dll": {} - }, - "runtime": { - "lib/dotnet/xunit.runner.utility.dotnet.dll": {} - } - }, - "Discord.Net/1.0.0-beta": { - "type": "project", - "framework": ".NETStandard,Version=v1.3", - "dependencies": { - "Microsoft.Win32.Primitives": "4.0.1", - "Newtonsoft.Json": "8.0.3", - "System.Collections.Concurrent": "4.0.12", - "System.Collections.Immutable": "1.2.0", - "System.IO.Compression": "4.1.0", - "System.IO.FileSystem": "4.0.1", - "System.Net.Http": "4.1.0", - "System.Net.NameResolution": "4.0.0", - "System.Net.Sockets": "4.1.0", - "System.Net.WebSockets.Client": "4.0.0", - "System.Reflection.Extensions": "4.0.1", - "System.Runtime.InteropServices": "4.1.0", - "System.Runtime.InteropServices.RuntimeInformation": "4.0.0", - "System.Runtime.Serialization.Primitives": "4.1.1", - "System.Text.RegularExpressions": "4.1.0" - }, - "compile": { - "netstandard1.3/Discord.Net.dll": {} - }, - "runtime": { - "netstandard1.3/Discord.Net.dll": {} - } - }, - "Discord.Net.Commands/1.0.0-beta": { - "type": "project", - "framework": ".NETStandard,Version=v1.3", - "dependencies": { - "Discord.Net": "1.0.0" - }, - "compile": { - "netstandard1.3/Discord.Net.Commands.dll": {} - }, - "runtime": { - "netstandard1.3/Discord.Net.Commands.dll": {} - } - }, - "NadekoBot/1.0.0": { - "type": "project", - "framework": ".NETCoreApp,Version=v1.0", - "dependencies": { - "CoreCLR-NCalc": "2.1.0", - "Discord.Net": "1.0.0-beta", - "Discord.Net.Commands": "1.0.0-beta", - "Google.Apis.Customsearch.v1": "1.16.0.466", - "Google.Apis.Urlshortener.v1": "1.15.0.138", - "Google.Apis.YouTube.v3": "1.15.0.582", - "ImageProcessorCore": "1.0.0-alpha1045", - "Microsoft.EntityFrameworkCore": "1.0.0", - "Microsoft.EntityFrameworkCore.Design": "1.0.0-preview2-final", - "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0", - "Microsoft.Extensions.DependencyInjection": "1.0.0", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0", - "Microsoft.NETCore.App": "1.0.0", - "NLog": "4.4.0-betaV15", - "Newtonsoft.Json": "9.0.1", - "System.Diagnostics.Contracts": "4.0.1", - "System.Resources.ResourceWriter": "4.0.0-beta-22816", - "VideoLibrary": "1.3.4" - }, - "compile": { - "netcoreapp1.0/NadekoBot.dll": {} - }, - "runtime": { - "netcoreapp1.0/NadekoBot.dll": {} - } - } - } - }, - "libraries": { - "CoreCLR-NCalc/2.1.0": { - "sha512": "GUPPo99NUeAgLR5oIOLrApJx3Mx5BZEaKkK9OlDd/CmAYaACLHo68FnO+kCamsLH2+rvr6Rw3hAwzap4GVFV8Q==", - "type": "package", - "path": "CoreCLR-NCalc/2.1.0", - "files": [ - "CoreCLR-NCalc.2.1.0.nupkg.sha512", - "CoreCLR-NCalc.nuspec", - "lib/net451/NCalc.dll", - "lib/netstandard1.3/NCalc.dll" - ] - }, - "dotnet-test-xunit/1.0.0-rc2-build10015": { - "sha512": "2traZWYeJiFzau+1j9HcnSZ3rQLDyIrqKyYKCTbPPmu6lsQAtaOG5q+fuKS9Vaxczmh0IcvZ2hdWEuYmtVb9zw==", - "type": "package", - "path": "dotnet-test-xunit/1.0.0-rc2-build10015", - "files": [ - "dotnet-test-xunit.1.0.0-rc2-build10015.nupkg.sha512", - "dotnet-test-xunit.nuspec", - "lib/net451/dotnet-test-xunit.exe", - "lib/netcoreapp1.0/dotnet-test-xunit.dll", - "lib/netcoreapp1.0/dotnet-test-xunit.runtimeconfig.json", - "runtimes/unix-x64/lib/net451/dotnet-test-xunit.exe", - "runtimes/win7-x64/lib/net451/dotnet-test-xunit.exe", - "runtimes/win7-x86/lib/net451/dotnet-test-xunit.exe" - ] - }, - "Google.Apis/1.16.0": { - "sha512": "/p657K7J7p9aRl6QxUjQfNK0AobxnLHwDWdSqAr/17lZeQR+XMuEbIy7No80+zDeS39kKrRVWFlu1vHiws7gRQ==", - "type": "package", - "path": "Google.Apis/1.16.0", - "files": [ - "Google.Apis.1.16.0.nupkg.sha512", - "Google.Apis.nuspec", - "License.txt", - "lib/net45/Google.Apis.PlatformServices.dll", - "lib/net45/Google.Apis.PlatformServices.pdb", - "lib/net45/Google.Apis.PlatformServices.xml", - "lib/net45/Google.Apis.dll", - "lib/net45/Google.Apis.pdb", - "lib/net45/Google.Apis.xml", - "lib/netstandard1.3/Google.Apis.dll", - "lib/netstandard1.3/Google.Apis.pdb", - "lib/netstandard1.3/Google.Apis.xml", - "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.dll", - "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.pdb", - "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.xml", - "lib/win81/Google.Apis.PlatformServices.dll", - "lib/win81/Google.Apis.PlatformServices.pdb", - "lib/win81/Google.Apis.PlatformServices.xml", - "lib/win81/Google.Apis.dll", - "lib/win81/Google.Apis.pdb", - "lib/win81/Google.Apis.xml", - "lib/wp8/Google.Apis.PlatformServices.dll", - "lib/wp8/Google.Apis.PlatformServices.pdb", - "lib/wp8/Google.Apis.PlatformServices.xml", - "lib/wp8/Google.Apis.dll", - "lib/wp8/Google.Apis.pdb", - "lib/wp8/Google.Apis.xml", - "lib/wpa81/Google.Apis.PlatformServices.dll", - "lib/wpa81/Google.Apis.PlatformServices.pdb", - "lib/wpa81/Google.Apis.PlatformServices.xml", - "lib/wpa81/Google.Apis.dll", - "lib/wpa81/Google.Apis.pdb", - "lib/wpa81/Google.Apis.xml" - ] - }, - "Google.Apis.Auth/1.15.0": { - "sha512": "gBMi03/CjodxVVjByVvvaE4To9905Oe6o59oxzP6AI5uZaab9zNclR+2cu6OcnS5wOIpf5DKAWd+jlSshuZ/cw==", - "type": "package", - "path": "Google.Apis.Auth/1.15.0", - "files": [ - "Google.Apis.Auth.1.15.0.nupkg.sha512", - "Google.Apis.Auth.nuspec", - "License.txt", - "lib/net45/Google.Apis.Auth.PlatformServices.dll", - "lib/net45/Google.Apis.Auth.PlatformServices.pdb", - "lib/net45/Google.Apis.Auth.PlatformServices.xml", - "lib/net45/Google.Apis.Auth.dll", - "lib/net45/Google.Apis.Auth.pdb", - "lib/net45/Google.Apis.Auth.xml", - "lib/netstandard1.3/Google.Apis.Auth.PlatformServices.dll", - "lib/netstandard1.3/Google.Apis.Auth.PlatformServices.pdb", - "lib/netstandard1.3/Google.Apis.Auth.PlatformServices.xml", - "lib/netstandard1.3/Google.Apis.Auth.dll", - "lib/netstandard1.3/Google.Apis.Auth.pdb", - "lib/netstandard1.3/Google.Apis.Auth.xml", - "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Auth.dll", - "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Auth.pdb", - "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Auth.xml", - "lib/win81/Google.Apis.Auth.PlatformServices.dll", - "lib/win81/Google.Apis.Auth.PlatformServices.pdb", - "lib/win81/Google.Apis.Auth.PlatformServices.xml", - "lib/win81/Google.Apis.Auth.dll", - "lib/win81/Google.Apis.Auth.pdb", - "lib/win81/Google.Apis.Auth.xml", - "lib/wp8/Google.Apis.Auth.PlatformServices.dll", - "lib/wp8/Google.Apis.Auth.PlatformServices.pdb", - "lib/wp8/Google.Apis.Auth.PlatformServices.xml", - "lib/wp8/Google.Apis.Auth.dll", - "lib/wp8/Google.Apis.Auth.pdb", - "lib/wp8/Google.Apis.Auth.xml", - "lib/wpa81/Google.Apis.Auth.PlatformServices.dll", - "lib/wpa81/Google.Apis.Auth.PlatformServices.pdb", - "lib/wpa81/Google.Apis.Auth.PlatformServices.xml", - "lib/wpa81/Google.Apis.Auth.dll", - "lib/wpa81/Google.Apis.Auth.pdb", - "lib/wpa81/Google.Apis.Auth.xml" - ] - }, - "Google.Apis.Core/1.16.0": { - "sha512": "uATqVAsPHlpOf+3VV51xFEIghAMSLJyh1hqoVpnPOlkXBx7fkOcs0qP3tKXtmsaeuyC/7BYM1Tt42lyIyhY2lQ==", - "type": "package", - "path": "Google.Apis.Core/1.16.0", - "files": [ - "Google.Apis.Core.1.16.0.nupkg.sha512", - "Google.Apis.Core.nuspec", - "License.txt", - "lib/net45/Google.Apis.Core.dll", - "lib/net45/Google.Apis.Core.pdb", - "lib/net45/Google.Apis.Core.xml", - "lib/netstandard1.3/Google.Apis.Core.dll", - "lib/netstandard1.3/Google.Apis.Core.pdb", - "lib/netstandard1.3/Google.Apis.Core.xml", - "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Core.dll", - "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Core.pdb", - "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Core.xml" - ] - }, - "Google.Apis.Customsearch.v1/1.16.0.466": { - "sha512": "uZ5VP/xKgTZCMJXgEfwHYEIR/7FsbtvL+bncm08a07RhWLFZTdRpCAkNL4b5wADHkblpkBe1VWKv43W77I4tJw==", - "type": "package", - "path": "Google.Apis.Customsearch.v1/1.16.0.466", - "files": [ - "Google.Apis.Customsearch.v1.1.16.0.466.nupkg.sha512", - "Google.Apis.Customsearch.v1.nuspec", - "lib/netstandard1.3/Google.Apis.Customsearch.v1.dll", - "lib/netstandard1.3/Google.Apis.Customsearch.v1.pdb", - "lib/netstandard1.3/Google.Apis.Customsearch.v1.xml", - "lib/portable-net40+sl50+netcore45+wpa81+wp8/Google.Apis.Customsearch.v1.dll", - "lib/portable-net40+sl50+netcore45+wpa81+wp8/Google.Apis.Customsearch.v1.pdb", - "lib/portable-net40+sl50+netcore45+wpa81+wp8/Google.Apis.Customsearch.v1.xml", - "lib/portable-net45+netcore45+wpa81+wp8/Google.Apis.Customsearch.v1.dll", - "lib/portable-net45+netcore45+wpa81+wp8/Google.Apis.Customsearch.v1.pdb", - "lib/portable-net45+netcore45+wpa81+wp8/Google.Apis.Customsearch.v1.xml" - ] - }, - "Google.Apis.Urlshortener.v1/1.15.0.138": { - "sha512": "67USnpqrk8tWO3LAgaK9qDQT6h8A7i7eUIOKm+OISThZoQuHiLCn6dbg46FVb597LUh57AxClSSbhnweYcYC3Q==", - "type": "package", - "path": "Google.Apis.Urlshortener.v1/1.15.0.138", - "files": [ - "Google.Apis.Urlshortener.v1.1.15.0.138.nupkg.sha512", - "Google.Apis.Urlshortener.v1.nuspec", - "lib/netstandard1.3/Google.Apis.Urlshortener.v1.dll", - "lib/netstandard1.3/Google.Apis.Urlshortener.v1.pdb", - "lib/netstandard1.3/Google.Apis.Urlshortener.v1.xml", - "lib/portable-net40+sl50+netcore45+wpa81+wp8/Google.Apis.Urlshortener.v1.dll", - "lib/portable-net40+sl50+netcore45+wpa81+wp8/Google.Apis.Urlshortener.v1.pdb", - "lib/portable-net40+sl50+netcore45+wpa81+wp8/Google.Apis.Urlshortener.v1.xml", - "lib/portable-net45+netcore45+wpa81+wp8/Google.Apis.Urlshortener.v1.dll", - "lib/portable-net45+netcore45+wpa81+wp8/Google.Apis.Urlshortener.v1.pdb", - "lib/portable-net45+netcore45+wpa81+wp8/Google.Apis.Urlshortener.v1.xml" - ] - }, - "Google.Apis.YouTube.v3/1.15.0.582": { - "sha512": "isR8FdI417PKLgLlNdOVDhduO+8yqPJ+vfID1Zx0MjAa/y3q655Plk2E/KNmsrjvXkqSSWwDCQHPz/Q1fat4tA==", - "type": "package", - "path": "Google.Apis.YouTube.v3/1.15.0.582", - "files": [ - "Google.Apis.YouTube.v3.1.15.0.582.nupkg.sha512", - "Google.Apis.YouTube.v3.nuspec", - "lib/netstandard1.3/Google.Apis.YouTube.v3.dll", - "lib/netstandard1.3/Google.Apis.YouTube.v3.pdb", - "lib/netstandard1.3/Google.Apis.YouTube.v3.xml", - "lib/portable-net40+sl50+netcore45+wpa81+wp8/Google.Apis.YouTube.v3.dll", - "lib/portable-net40+sl50+netcore45+wpa81+wp8/Google.Apis.YouTube.v3.pdb", - "lib/portable-net40+sl50+netcore45+wpa81+wp8/Google.Apis.YouTube.v3.xml", - "lib/portable-net45+netcore45+wpa81+wp8/Google.Apis.YouTube.v3.dll", - "lib/portable-net45+netcore45+wpa81+wp8/Google.Apis.YouTube.v3.pdb", - "lib/portable-net45+netcore45+wpa81+wp8/Google.Apis.YouTube.v3.xml" - ] - }, - "ImageProcessorCore/1.0.0-alpha1045": { - "sha512": "A5oL7SwFnzcu5eF26u49nf73joQghpEpCGwLb54dm6VI6ZGpjBJpKAyNKtJP30HtXy1VngiGJn/EcvCl8+JGcg==", - "type": "package", - "path": "ImageProcessorCore/1.0.0-alpha1045", - "files": [ - "ImageProcessorCore.1.0.0-alpha1045.nupkg.sha512", - "ImageProcessorCore.nuspec", - "lib/netstandard1.1/ImageProcessorCore.dll" - ] - }, - "Libuv/1.9.0": { - "sha512": "9Q7AaqtQhS8JDSIvRBt6ODSLWDBI4c8YxNxyCQemWebBFUtBbc6M5Vi5Gz1ZyIUlTW3rZK9bIr5gnVyv0z7a2Q==", - "type": "package", - "path": "Libuv/1.9.0", - "files": [ - "Libuv.1.9.0.nupkg.sha512", - "Libuv.nuspec", - "License.txt", - "runtimes/debian-x64/native/libuv.so", - "runtimes/fedora-x64/native/libuv.so", - "runtimes/opensuse-x64/native/libuv.so", - "runtimes/osx/native/libuv.dylib", - "runtimes/rhel-x64/native/libuv.so", - "runtimes/win7-arm/native/libuv.dll", - "runtimes/win7-x64/native/libuv.dll", - "runtimes/win7-x86/native/libuv.dll" - ] - }, - "Microsoft.AspNetCore.Hosting.Abstractions/1.0.0": { - "sha512": "8r6qOl1jYyC523ZKM1QNl+6ijIoYWELWm0tpEWqtTIOg9DytHJWshB7usgqiuRmfHXM0EUziR6ouFY7iP7Tuzw==", - "type": "package", - "path": "Microsoft.AspNetCore.Hosting.Abstractions/1.0.0", - "files": [ - "Microsoft.AspNetCore.Hosting.Abstractions.1.0.0.nupkg.sha512", - "Microsoft.AspNetCore.Hosting.Abstractions.nuspec", - "lib/net451/Microsoft.AspNetCore.Hosting.Abstractions.dll", - "lib/net451/Microsoft.AspNetCore.Hosting.Abstractions.xml", - "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Abstractions.dll", - "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Abstractions.xml" - ] - }, - "Microsoft.AspNetCore.Hosting.Server.Abstractions/1.0.0": { - "sha512": "sHZyhQEoW15T9E36rfdm5Ux6a6RZB0KNM79ccf2IplWASqmlRGhX4ydU3dzQRLhkHpLx16fnWOL0KScsO6BevQ==", - "type": "package", - "path": "Microsoft.AspNetCore.Hosting.Server.Abstractions/1.0.0", - "files": [ - "Microsoft.AspNetCore.Hosting.Server.Abstractions.1.0.0.nupkg.sha512", - "Microsoft.AspNetCore.Hosting.Server.Abstractions.nuspec", - "lib/net451/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll", - "lib/net451/Microsoft.AspNetCore.Hosting.Server.Abstractions.xml", - "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll", - "lib/netstandard1.3/Microsoft.AspNetCore.Hosting.Server.Abstractions.xml" - ] - }, - "Microsoft.AspNetCore.Http.Abstractions/1.0.0": { - "sha512": "OJHlqdJOWKKBfsiVdX4Z4KCNuqvBIu6+1MVKuejRDyHnGyMkNHNoP/dtVzhPqvJXaJg9N4HlD0XNc6GDCFVffg==", - "type": "package", - "path": "Microsoft.AspNetCore.Http.Abstractions/1.0.0", - "files": [ - "Microsoft.AspNetCore.Http.Abstractions.1.0.0.nupkg.sha512", - "Microsoft.AspNetCore.Http.Abstractions.nuspec", - "lib/net451/Microsoft.AspNetCore.Http.Abstractions.dll", - "lib/net451/Microsoft.AspNetCore.Http.Abstractions.xml", - "lib/netstandard1.3/Microsoft.AspNetCore.Http.Abstractions.dll", - "lib/netstandard1.3/Microsoft.AspNetCore.Http.Abstractions.xml" - ] - }, - "Microsoft.AspNetCore.Http.Features/1.0.0": { - "sha512": "6x7zgfbTo1gL9xMEb7EMO2ES/48bqwnWyfH09z+ubWhnzxdhHls8rtqstPylu5FPD9nid6Vo2pgDm5vufRAy5Q==", - "type": "package", - "path": "Microsoft.AspNetCore.Http.Features/1.0.0", - "files": [ - "Microsoft.AspNetCore.Http.Features.1.0.0.nupkg.sha512", - "Microsoft.AspNetCore.Http.Features.nuspec", - "lib/net451/Microsoft.AspNetCore.Http.Features.dll", - "lib/net451/Microsoft.AspNetCore.Http.Features.xml", - "lib/netstandard1.3/Microsoft.AspNetCore.Http.Features.dll", - "lib/netstandard1.3/Microsoft.AspNetCore.Http.Features.xml" - ] - }, - "Microsoft.CodeAnalysis.Analyzers/1.1.0": { - "sha512": "HS3iRWZKcUw/8eZ/08GXKY2Bn7xNzQPzf8gRPHGSowX7u7XXu9i9YEaBeBNKUXWfI7qjvT2zXtLUvbN0hds8vg==", - "type": "package", - "path": "Microsoft.CodeAnalysis.Analyzers/1.1.0", - "files": [ - "Microsoft.CodeAnalysis.Analyzers.1.1.0.nupkg.sha512", - "Microsoft.CodeAnalysis.Analyzers.nuspec", - "ThirdPartyNotices.rtf", - "analyzers/dotnet/cs/Microsoft.CodeAnalysis.Analyzers.dll", - "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.Analyzers.dll", - "analyzers/dotnet/vb/Microsoft.CodeAnalysis.Analyzers.dll", - "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.Analyzers.dll", - "tools/install.ps1", - "tools/uninstall.ps1" - ] - }, - "Microsoft.CodeAnalysis.Common/1.3.0": { - "sha512": "V09G35cs0CT1C4Dr1IEOh8IGfnWALEVAOO5JXsqagxXwmYR012TlorQ+vx2eXxfZRKs3gAS/r92gN9kRBLba5A==", - "type": "package", - "path": "Microsoft.CodeAnalysis.Common/1.3.0", - "files": [ - "Microsoft.CodeAnalysis.Common.1.3.0.nupkg.sha512", - "Microsoft.CodeAnalysis.Common.nuspec", - "ThirdPartyNotices.rtf", - "lib/net45/Microsoft.CodeAnalysis.dll", - "lib/net45/Microsoft.CodeAnalysis.xml", - "lib/netstandard1.3/Microsoft.CodeAnalysis.dll", - "lib/netstandard1.3/Microsoft.CodeAnalysis.xml", - "lib/portable-net45+win8/Microsoft.CodeAnalysis.dll", - "lib/portable-net45+win8/Microsoft.CodeAnalysis.xml" - ] - }, - "Microsoft.CodeAnalysis.CSharp/1.3.0": { - "sha512": "BgWDIAbSFsHuGeLSn/rljLi51nXqkSo4DZ0qEIrHyPVasrhxEVq7aV8KKZ3HEfSFB+GIhBmOogE+mlOLYg19eg==", - "type": "package", - "path": "Microsoft.CodeAnalysis.CSharp/1.3.0", - "files": [ - "Microsoft.CodeAnalysis.CSharp.1.3.0.nupkg.sha512", - "Microsoft.CodeAnalysis.CSharp.nuspec", - "ThirdPartyNotices.rtf", - "lib/net45/Microsoft.CodeAnalysis.CSharp.dll", - "lib/net45/Microsoft.CodeAnalysis.CSharp.xml", - "lib/netstandard1.3/Microsoft.CodeAnalysis.CSharp.dll", - "lib/netstandard1.3/Microsoft.CodeAnalysis.CSharp.xml", - "lib/portable-net45+win8/Microsoft.CodeAnalysis.CSharp.dll", - "lib/portable-net45+win8/Microsoft.CodeAnalysis.CSharp.xml" - ] - }, - "Microsoft.CodeAnalysis.VisualBasic/1.3.0": { - "sha512": "Sf3k8PkTkWqBmXnnblJbvb7ewO6mJzX6WO2t7m04BmOY5qBq6yhhyXnn/BMM+QCec3Arw3X35Zd8f9eBql0qgg==", - "type": "package", - "path": "Microsoft.CodeAnalysis.VisualBasic/1.3.0", - "files": [ - "Microsoft.CodeAnalysis.VisualBasic.1.3.0.nupkg.sha512", - "Microsoft.CodeAnalysis.VisualBasic.nuspec", - "ThirdPartyNotices.rtf", - "lib/net45/Microsoft.CodeAnalysis.VisualBasic.dll", - "lib/net45/Microsoft.CodeAnalysis.VisualBasic.xml", - "lib/netstandard1.3/Microsoft.CodeAnalysis.VisualBasic.dll", - "lib/netstandard1.3/Microsoft.CodeAnalysis.VisualBasic.xml", - "lib/portable-net45+win8/Microsoft.CodeAnalysis.VisualBasic.dll", - "lib/portable-net45+win8/Microsoft.CodeAnalysis.VisualBasic.xml" - ] - }, - "Microsoft.CSharp/4.0.1": { - "sha512": "17h8b5mXa87XYKrrVqdgZ38JefSUqLChUQpXgSnpzsM0nDOhE40FTeNWOJ/YmySGV6tG6T8+hjz6vxbknHJr6A==", - "type": "package", - "path": "Microsoft.CSharp/4.0.1", - "files": [ - "Microsoft.CSharp.4.0.1.nupkg.sha512", - "Microsoft.CSharp.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/Microsoft.CSharp.dll", - "lib/netstandard1.3/Microsoft.CSharp.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/Microsoft.CSharp.dll", - "ref/netcore50/Microsoft.CSharp.xml", - "ref/netcore50/de/Microsoft.CSharp.xml", - "ref/netcore50/es/Microsoft.CSharp.xml", - "ref/netcore50/fr/Microsoft.CSharp.xml", - "ref/netcore50/it/Microsoft.CSharp.xml", - "ref/netcore50/ja/Microsoft.CSharp.xml", - "ref/netcore50/ko/Microsoft.CSharp.xml", - "ref/netcore50/ru/Microsoft.CSharp.xml", - "ref/netcore50/zh-hans/Microsoft.CSharp.xml", - "ref/netcore50/zh-hant/Microsoft.CSharp.xml", - "ref/netstandard1.0/Microsoft.CSharp.dll", - "ref/netstandard1.0/Microsoft.CSharp.xml", - "ref/netstandard1.0/de/Microsoft.CSharp.xml", - "ref/netstandard1.0/es/Microsoft.CSharp.xml", - "ref/netstandard1.0/fr/Microsoft.CSharp.xml", - "ref/netstandard1.0/it/Microsoft.CSharp.xml", - "ref/netstandard1.0/ja/Microsoft.CSharp.xml", - "ref/netstandard1.0/ko/Microsoft.CSharp.xml", - "ref/netstandard1.0/ru/Microsoft.CSharp.xml", - "ref/netstandard1.0/zh-hans/Microsoft.CSharp.xml", - "ref/netstandard1.0/zh-hant/Microsoft.CSharp.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "Microsoft.Data.Sqlite/1.0.0": { - "sha512": "dezlCGK9zVrPNfoX1SL50GmWDdRQNcV1SBy3wuCn/a0g7Gc26PyvlA4BKapjnCK5N8LSQ2+1PdW2imiRr+YvxA==", - "type": "package", - "path": "Microsoft.Data.Sqlite/1.0.0", - "files": [ - "Microsoft.Data.Sqlite.1.0.0.nupkg.sha512", - "Microsoft.Data.Sqlite.nuspec", - "lib/net451/Microsoft.Data.Sqlite.dll", - "lib/net451/Microsoft.Data.Sqlite.xml", - "lib/netstandard1.3/Microsoft.Data.Sqlite.dll", - "lib/netstandard1.3/Microsoft.Data.Sqlite.xml" - ] - }, - "Microsoft.DiaSymReader/1.0.6": { - "sha512": "ai2eBJrXlHa0hecUKnEyacH0iXxGNOMpc9X0s7VAeqqh5TSTW70QMhTRZ0FNCtf3R/W67K4a+uf3R7MASmAjrg==", - "type": "package", - "path": "Microsoft.DiaSymReader/1.0.6", - "files": [ - "Microsoft.DiaSymReader.1.0.6.nupkg.sha512", - "Microsoft.DiaSymReader.nuspec", - "lib/net20/Microsoft.DiaSymReader.dll", - "lib/net20/Microsoft.DiaSymReader.xml", - "lib/portable-net45+win8/Microsoft.DiaSymReader.dll", - "lib/portable-net45+win8/Microsoft.DiaSymReader.xml" - ] - }, - "Microsoft.DiaSymReader.Native/1.3.3": { - "sha512": "mjATkm+L2UlP35gO/ExNutLDfgX4iiwz1l/8sYVoeGHp5WnkEDu0NfIEsC4Oy/pCYeRw0/6SGB+kArJVNNvENQ==", - "type": "package", - "path": "Microsoft.DiaSymReader.Native/1.3.3", - "files": [ - "Microsoft.DiaSymReader.Native.1.3.3.nupkg.sha512", - "Microsoft.DiaSymReader.Native.nuspec", - "build/Microsoft.DiaSymReader.Native.props", - "runtimes/win-x64/native/Microsoft.DiaSymReader.Native.amd64.dll", - "runtimes/win-x86/native/Microsoft.DiaSymReader.Native.x86.dll", - "runtimes/win/native/Microsoft.DiaSymReader.Native.amd64.dll", - "runtimes/win/native/Microsoft.DiaSymReader.Native.arm.dll", - "runtimes/win/native/Microsoft.DiaSymReader.Native.x86.dll", - "runtimes/win8-arm/native/Microsoft.DiaSymReader.Native.arm.dll" - ] - }, - "Microsoft.DotNet.InternalAbstractions/1.0.0-rc2-002702": { - "sha512": "81Zp6K3oJY5zyoCtf7eguaZ+EnM3zawCtUKszBCLob1KH6Bu44ET2hokkk/6eMhTI2aQhbGrV9SaSjJ2K8DUDg==", - "type": "package", - "path": "Microsoft.DotNet.InternalAbstractions/1.0.0-rc2-002702", - "files": [ - "Microsoft.DotNet.InternalAbstractions.1.0.0-rc2-002702.nupkg.sha512", - "Microsoft.DotNet.InternalAbstractions.nuspec", - "lib/net451/Microsoft.DotNet.InternalAbstractions.dll", - "lib/netstandard1.3/Microsoft.DotNet.InternalAbstractions.dll" - ] - }, - "Microsoft.DotNet.ProjectModel/1.0.0-rc2-002702": { - "sha512": "ryslqqMpPRcJma9kJn3V1/GydzUny6i6xfpQ0cqfWmlPdSQ9Hnh6x2l8yVqU+ueCiVffKWn/Or80moLwroXP/A==", - "type": "package", - "path": "Microsoft.DotNet.ProjectModel/1.0.0-rc2-002702", - "files": [ - "Microsoft.DotNet.ProjectModel.1.0.0-rc2-002702.nupkg.sha512", - "Microsoft.DotNet.ProjectModel.nuspec", - "lib/net451/Microsoft.DotNet.ProjectModel.dll", - "lib/netstandard1.5/Microsoft.DotNet.ProjectModel.dll" - ] - }, - "Microsoft.EntityFrameworkCore/1.0.0": { - "sha512": "Vqg/v0cXRQZQH0gY3VHHqt0Bt5WZEkDReVpI1sNYKHVbVtnMYFKPp5SiNygosUJYrJk1rSGb8UVkplDNNUkEgg==", - "type": "package", - "path": "Microsoft.EntityFrameworkCore/1.0.0", - "files": [ - "Microsoft.EntityFrameworkCore.1.0.0.nupkg.sha512", - "Microsoft.EntityFrameworkCore.nuspec", - "lib/net451/Microsoft.EntityFrameworkCore.dll", - "lib/net451/Microsoft.EntityFrameworkCore.xml", - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.dll", - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.xml" - ] - }, - "Microsoft.EntityFrameworkCore.Design/1.0.0-preview2-final": { - "sha512": "RhyjntECuOVsrKjgFog9rv+V7oBsxBNxz5NviF7uHvDDQXLyHH3os/CewQxRNsve114AQH5RX/Bww6qAXlSORQ==", - "type": "package", - "path": "Microsoft.EntityFrameworkCore.Design/1.0.0-preview2-final", - "files": [ - "Microsoft.EntityFrameworkCore.Design.1.0.0-preview2-final.nupkg.sha512", - "Microsoft.EntityFrameworkCore.Design.nuspec", - "lib/net451/_._", - "lib/netcore50/_._", - "lib/netcoreapp1.0/Microsoft.EntityFrameworkCore.Design.dll", - "lib/netcoreapp1.0/Microsoft.EntityFrameworkCore.Design.runtimeconfig.json", - "lib/netcoreapp1.0/Microsoft.EntityFrameworkCore.Design.xml", - "runtimes/win7-x64/lib/net451/Microsoft.EntityFrameworkCore.Design.exe", - "runtimes/win7-x86/lib/net451/Microsoft.EntityFrameworkCore.Design.exe" - ] - }, - "Microsoft.EntityFrameworkCore.Design.Core/1.0.0-preview2-final": { - "sha512": "H3pHksGErQSEwWyvISlDYMslIXftS4XB2m0AvqBS08ECGHagh27mqm/oIyUetzzRad+C2V0zpguJmR14eMiRaA==", - "type": "package", - "path": "Microsoft.EntityFrameworkCore.Design.Core/1.0.0-preview2-final", - "files": [ - "Microsoft.EntityFrameworkCore.Design.Core.1.0.0-preview2-final.nupkg.sha512", - "Microsoft.EntityFrameworkCore.Design.Core.nuspec", - "lib/net451/Microsoft.EntityFrameworkCore.Design.Core.dll", - "lib/net451/Microsoft.EntityFrameworkCore.Design.Core.xml", - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Design.Core.dll", - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Design.Core.xml" - ] - }, - "Microsoft.EntityFrameworkCore.Relational/1.0.0": { - "sha512": "LGBab+7o0eq4C3YtvkAxK8W7Ia57eO0Ue0viQgt0STptQ2bUpLzV7q5LfbNl475rt6yTWa/vDQlYVaI64fwqdw==", - "type": "package", - "path": "Microsoft.EntityFrameworkCore.Relational/1.0.0", - "files": [ - "Microsoft.EntityFrameworkCore.Relational.1.0.0.nupkg.sha512", - "Microsoft.EntityFrameworkCore.Relational.nuspec", - "lib/net451/Microsoft.EntityFrameworkCore.Relational.dll", - "lib/net451/Microsoft.EntityFrameworkCore.Relational.xml", - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Relational.dll", - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Relational.xml" - ] - }, - "Microsoft.EntityFrameworkCore.Relational.Design/1.0.0": { - "sha512": "pw4EmGTp5U645is0Lyf0C6yU1uQGHVIZiRyxlDNNrRllL0ZjSFKTShv9qbE+fBpvvvArNp2HhDmP7d6vJAt0Dw==", - "type": "package", - "path": "Microsoft.EntityFrameworkCore.Relational.Design/1.0.0", - "files": [ - "Microsoft.EntityFrameworkCore.Relational.Design.1.0.0.nupkg.sha512", - "Microsoft.EntityFrameworkCore.Relational.Design.nuspec", - "lib/net451/Microsoft.EntityFrameworkCore.Relational.Design.dll", - "lib/net451/Microsoft.EntityFrameworkCore.Relational.Design.xml", - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Relational.Design.dll", - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Relational.Design.xml" - ] - }, - "Microsoft.EntityFrameworkCore.Sqlite/1.0.0": { - "sha512": "GF5xfn90zVKbnCdNrjeH4j1IaAQ7FsHCWkTrdUKISzrPxG3LIizJaU2iu8YMfNhMYd5N1Y7R7SxF2dBh+5A+Ew==", - "type": "package", - "path": "Microsoft.EntityFrameworkCore.Sqlite/1.0.0", - "files": [ - "Microsoft.EntityFrameworkCore.Sqlite.1.0.0.nupkg.sha512", - "Microsoft.EntityFrameworkCore.Sqlite.nuspec", - "lib/net451/Microsoft.EntityFrameworkCore.Sqlite.dll", - "lib/net451/Microsoft.EntityFrameworkCore.Sqlite.xml", - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Sqlite.dll", - "lib/netstandard1.3/Microsoft.EntityFrameworkCore.Sqlite.xml" - ] - }, - "Microsoft.Extensions.Caching.Abstractions/1.0.0": { - "sha512": "IxlFDVOchL6tdR05bk7EiJvMtvZrVkZXBhkbXqc3GxOHOrHFGcN+92WoWFPeBpdpy8ot/Px5ZdXzt7k+2n1Bdg==", - "type": "package", - "path": "Microsoft.Extensions.Caching.Abstractions/1.0.0", - "files": [ - "Microsoft.Extensions.Caching.Abstractions.1.0.0.nupkg.sha512", - "Microsoft.Extensions.Caching.Abstractions.nuspec", - "lib/netstandard1.0/Microsoft.Extensions.Caching.Abstractions.dll", - "lib/netstandard1.0/Microsoft.Extensions.Caching.Abstractions.xml" - ] - }, - "Microsoft.Extensions.Caching.Memory/1.0.0": { - "sha512": "6+7zTufCnZ+tfrUo7RbIRR3LB0BxwOwxfXuo0IbLyIvgoToGpWuz5wYEDfCYNOvpig9tY8FA0I1uRHYmITMXMQ==", - "type": "package", - "path": "Microsoft.Extensions.Caching.Memory/1.0.0", - "files": [ - "Microsoft.Extensions.Caching.Memory.1.0.0.nupkg.sha512", - "Microsoft.Extensions.Caching.Memory.nuspec", - "lib/net451/Microsoft.Extensions.Caching.Memory.dll", - "lib/net451/Microsoft.Extensions.Caching.Memory.xml", - "lib/netstandard1.3/Microsoft.Extensions.Caching.Memory.dll", - "lib/netstandard1.3/Microsoft.Extensions.Caching.Memory.xml" - ] - }, - "Microsoft.Extensions.CommandLineUtils/1.0.0": { - "sha512": "kXJ8+YvEjp1j7ezJ7yvQMLYbRL6QlpBUjRoBfqghoe80yqZ5azYB90lL4iNeyRCznWF+cGm41aaIoFU0aOq7TQ==", - "type": "package", - "path": "Microsoft.Extensions.CommandLineUtils/1.0.0", - "files": [ - "Microsoft.Extensions.CommandLineUtils.1.0.0.nupkg.sha512", - "Microsoft.Extensions.CommandLineUtils.nuspec", - "lib/net451/Microsoft.Extensions.CommandLineUtils.dll", - "lib/net451/Microsoft.Extensions.CommandLineUtils.xml", - "lib/netstandard1.3/Microsoft.Extensions.CommandLineUtils.dll", - "lib/netstandard1.3/Microsoft.Extensions.CommandLineUtils.xml" - ] - }, - "Microsoft.Extensions.Configuration.Abstractions/1.0.0": { - "sha512": "nJ+Et/rnDMDmGhxvFAKdN3va7y+YDPICv1nUEP8I4IKgOkWwr/dCZHMqxVhJFrkbW9ux8Kd7erC4mvxfZh0WnA==", - "type": "package", - "path": "Microsoft.Extensions.Configuration.Abstractions/1.0.0", - "files": [ - "Microsoft.Extensions.Configuration.Abstractions.1.0.0.nupkg.sha512", - "Microsoft.Extensions.Configuration.Abstractions.nuspec", - "lib/netstandard1.0/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/netstandard1.0/Microsoft.Extensions.Configuration.Abstractions.xml" - ] - }, - "Microsoft.Extensions.DependencyInjection/1.0.0": { - "sha512": "zdtkiZNV6LB8xtpmfyUjP/9N9ZCL/ydQ+0bfjun38fbrk+MDEm9M2yeLzRdq+OIt5xExw/KU04wFaVwJ1bhQPg==", - "type": "package", - "path": "Microsoft.Extensions.DependencyInjection/1.0.0", - "files": [ - "Microsoft.Extensions.DependencyInjection.1.0.0.nupkg.sha512", - "Microsoft.Extensions.DependencyInjection.nuspec", - "lib/netstandard1.1/Microsoft.Extensions.DependencyInjection.dll", - "lib/netstandard1.1/Microsoft.Extensions.DependencyInjection.xml" - ] - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/1.0.0": { - "sha512": "+XwaNo3o9RhLQhUnnOBCaukeRi1X9yYc0Fzye9RlErSflKZdw0VgHtn6rvKo0FTionsW0x8QVULhKH+nkqVjQA==", - "type": "package", - "path": "Microsoft.Extensions.DependencyInjection.Abstractions/1.0.0", - "files": [ - "Microsoft.Extensions.DependencyInjection.Abstractions.1.0.0.nupkg.sha512", - "Microsoft.Extensions.DependencyInjection.Abstractions.nuspec", - "lib/netstandard1.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/netstandard1.0/Microsoft.Extensions.DependencyInjection.Abstractions.xml" - ] - }, - "Microsoft.Extensions.DependencyModel/1.0.0-rc2-002702": { - "sha512": "xLEhTaEJw+3o49TNfPJ0I4ZBPe56kIIgHYmrQo6AibTfdaIV36TyvjznIGwRc53x87xKavq88PlV4tpL+jUiJQ==", - "type": "package", - "path": "Microsoft.Extensions.DependencyModel/1.0.0-rc2-002702", - "files": [ - "Microsoft.Extensions.DependencyModel.1.0.0-rc2-002702.nupkg.sha512", - "Microsoft.Extensions.DependencyModel.nuspec", - "lib/net451/Microsoft.Extensions.DependencyModel.dll", - "lib/netstandard1.5/Microsoft.Extensions.DependencyModel.dll" - ] - }, - "Microsoft.Extensions.FileProviders.Abstractions/1.0.0": { - "sha512": "4jsqTxG3py/hYSsOtZMkNJ2/CQqPdpwyK7bDUkrwHgqowCFSmx/C+R4IzQ+2AK2Up1fVcu+ldC0gktwidL828A==", - "type": "package", - "path": "Microsoft.Extensions.FileProviders.Abstractions/1.0.0", - "files": [ - "Microsoft.Extensions.FileProviders.Abstractions.1.0.0.nupkg.sha512", - "Microsoft.Extensions.FileProviders.Abstractions.nuspec", - "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Abstractions.dll", - "lib/netstandard1.0/Microsoft.Extensions.FileProviders.Abstractions.xml" - ] - }, - "Microsoft.Extensions.Logging/1.0.0": { - "sha512": "0mDuASVrd/nMeBYIJSK+9lT3TSmWxUXP/ipVB1pF1ApMN5fqGCckPTNwmOfT4Z9wPkXGnhbwFTGrxZvbzTWxOg==", - "type": "package", - "path": "Microsoft.Extensions.Logging/1.0.0", - "files": [ - "Microsoft.Extensions.Logging.1.0.0.nupkg.sha512", - "Microsoft.Extensions.Logging.nuspec", - "lib/netstandard1.1/Microsoft.Extensions.Logging.dll", - "lib/netstandard1.1/Microsoft.Extensions.Logging.xml" - ] - }, - "Microsoft.Extensions.Logging.Abstractions/1.0.0": { - "sha512": "wHT6oY50q36mAXBRKtFaB7u07WxKC5u2M8fi3PqHOOnHyUo9gD0u1TlCNR8UObHQxKMYwqlgI8TLcErpt29n8A==", - "type": "package", - "path": "Microsoft.Extensions.Logging.Abstractions/1.0.0", - "files": [ - "Microsoft.Extensions.Logging.Abstractions.1.0.0.nupkg.sha512", - "Microsoft.Extensions.Logging.Abstractions.nuspec", - "lib/netstandard1.1/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/netstandard1.1/Microsoft.Extensions.Logging.Abstractions.xml" - ] - }, - "Microsoft.Extensions.Options/1.0.0": { - "sha512": "SdP3yPKF++JTkoa91pBDiE70uQkR/gdXWzOnMPbSj+eOqY1vgY+b8RVl+gh7TrJ2wlCK2QqnQtvCQlPPZRK36w==", - "type": "package", - "path": "Microsoft.Extensions.Options/1.0.0", - "files": [ - "Microsoft.Extensions.Options.1.0.0.nupkg.sha512", - "Microsoft.Extensions.Options.nuspec", - "lib/netstandard1.0/Microsoft.Extensions.Options.dll", - "lib/netstandard1.0/Microsoft.Extensions.Options.xml" - ] - }, - "Microsoft.Extensions.PlatformAbstractions/1.0.0": { - "sha512": "zyjUzrOmuevOAJpIo3Mt5GmpALVYCVdLZ99keMbmCxxgQH7oxzU58kGHzE6hAgYEiWsdfMJLjVR7r+vSmaJmtg==", - "type": "package", - "path": "Microsoft.Extensions.PlatformAbstractions/1.0.0", - "files": [ - "Microsoft.Extensions.PlatformAbstractions.1.0.0.nupkg.sha512", - "Microsoft.Extensions.PlatformAbstractions.nuspec", - "lib/net451/Microsoft.Extensions.PlatformAbstractions.dll", - "lib/net451/Microsoft.Extensions.PlatformAbstractions.xml", - "lib/netstandard1.3/Microsoft.Extensions.PlatformAbstractions.dll", - "lib/netstandard1.3/Microsoft.Extensions.PlatformAbstractions.xml" - ] - }, - "Microsoft.Extensions.Primitives/1.0.0": { - "sha512": "3q2vzfKEDjL6JFkRpk5SFA3zarYsO6+ZYgoucNImrUMzDn0mFbEOL5p9oPoWiypwypbJVVjWTf557bXZ0YFLig==", - "type": "package", - "path": "Microsoft.Extensions.Primitives/1.0.0", - "files": [ - "Microsoft.Extensions.Primitives.1.0.0.nupkg.sha512", - "Microsoft.Extensions.Primitives.nuspec", - "lib/netstandard1.0/Microsoft.Extensions.Primitives.dll", - "lib/netstandard1.0/Microsoft.Extensions.Primitives.xml" - ] - }, - "Microsoft.Extensions.Testing.Abstractions/1.0.0-preview1-002702": { - "sha512": "NE4Efz4kvkztJ80CSifUlP0UaBP4iOOaeTVk6nrj+ZIJzhsRGLbecIe4oX8G82pkCkqFF9i8KTl7YYUwpQY5Wg==", - "type": "package", - "path": "Microsoft.Extensions.Testing.Abstractions/1.0.0-preview1-002702", - "files": [ - "Microsoft.Extensions.Testing.Abstractions.1.0.0-preview1-002702.nupkg.sha512", - "Microsoft.Extensions.Testing.Abstractions.nuspec", - "lib/net451/Microsoft.Extensions.Testing.Abstractions.dll", - "lib/netstandard1.5/Microsoft.Extensions.Testing.Abstractions.dll" - ] - }, - "Microsoft.NETCore.App/1.0.0": { - "sha512": "Bv40dLDrT+Igcg1e6otW3D8voeJCfcAxOlsxSVlDz+J+cdWls5kblZvPHHvx7gX3/oJoQVIkEeO3sMyv5PSVJA==", - "type": "package", - "path": "Microsoft.NETCore.App/1.0.0", - "files": [ - "Microsoft.NETCore.App.1.0.0.nupkg.sha512", - "Microsoft.NETCore.App.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netcoreapp1.0/_._" - ] - }, - "Microsoft.NETCore.DotNetHost/1.0.1": { - "sha512": "uaMgykq6AckP3hZW4dsD6zjocxyXPz0tcTl8OX7mlSUWsyFXdtf45sjdwI0JIHxt3gnI6GihAlOAwYK8HE4niQ==", - "type": "package", - "path": "Microsoft.NETCore.DotNetHost/1.0.1", - "files": [ - "Microsoft.NETCore.DotNetHost.1.0.1.nupkg.sha512", - "Microsoft.NETCore.DotNetHost.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "runtime.json" - ] - }, - "Microsoft.NETCore.DotNetHostPolicy/1.0.1": { - "sha512": "d8AQ+ZVj2iK9sbgl3IEsshCSaumhM1PNTPHxldZAQLOoI1BKF8QZ1zPCNqwBGisPiWOE3f/1SHDbQi1BTRBxuA==", - "type": "package", - "path": "Microsoft.NETCore.DotNetHostPolicy/1.0.1", - "files": [ - "Microsoft.NETCore.DotNetHostPolicy.1.0.1.nupkg.sha512", - "Microsoft.NETCore.DotNetHostPolicy.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "runtime.json" - ] - }, - "Microsoft.NETCore.DotNetHostResolver/1.0.1": { - "sha512": "GEXgpAHB9E0OhfcmNJ664Xcd2bJkz2qkGIAFmCgEI5ANlQy4qEEmBVfUqA+Z9HB85ZwWxZc1eIJ6fxdxcjrctg==", - "type": "package", - "path": "Microsoft.NETCore.DotNetHostResolver/1.0.1", - "files": [ - "Microsoft.NETCore.DotNetHostResolver.1.0.1.nupkg.sha512", - "Microsoft.NETCore.DotNetHostResolver.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "runtime.json" - ] - }, - "Microsoft.NETCore.Jit/1.0.2": { - "sha512": "Ok2vWofa6X8WD9vc4pfLHwvJz1/B6t3gOAoZcjrjrQf7lQOlNIuZIZtLn3wnWX28DuQGpPJkRlBxFj7Z5txNqw==", - "type": "package", - "path": "Microsoft.NETCore.Jit/1.0.2", - "files": [ - "Microsoft.NETCore.Jit.1.0.2.nupkg.sha512", - "Microsoft.NETCore.Jit.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "runtime.json" - ] - }, - "Microsoft.NETCore.Platforms/1.0.1": { - "sha512": "2G6OjjJzwBfNOO8myRV/nFrbTw5iA+DEm0N+qUqhrOmaVtn4pC77h38I1jsXGw5VH55+dPfQsqHD0We9sCl9FQ==", - "type": "package", - "path": "Microsoft.NETCore.Platforms/1.0.1", - "files": [ - "Microsoft.NETCore.Platforms.1.0.1.nupkg.sha512", - "Microsoft.NETCore.Platforms.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/_._", - "runtime.json" - ] - }, - "Microsoft.NETCore.Runtime.CoreCLR/1.0.2": { - "sha512": "A0x1xtTjYJWZr2DRzgfCOXgB0JkQg8twnmtTJ79wFje+IihlLbXtx6Z2AxyVokBM5ruwTedR6YdCmHk39QJdtQ==", - "type": "package", - "path": "Microsoft.NETCore.Runtime.CoreCLR/1.0.2", - "files": [ - "Microsoft.NETCore.Runtime.CoreCLR.1.0.2.nupkg.sha512", - "Microsoft.NETCore.Runtime.CoreCLR.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "runtime.json" - ] - }, - "Microsoft.NETCore.Targets/1.0.1": { - "sha512": "rkn+fKobF/cbWfnnfBOQHKVKIOpxMZBvlSHkqDWgBpwGDcLRduvs3D9OLGeV6GWGvVwNlVi2CBbTjuPmtHvyNw==", - "type": "package", - "path": "Microsoft.NETCore.Targets/1.0.1", - "files": [ - "Microsoft.NETCore.Targets.1.0.1.nupkg.sha512", - "Microsoft.NETCore.Targets.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/_._", - "runtime.json" - ] - }, - "Microsoft.NETCore.Windows.ApiSets/1.0.1": { - "sha512": "SaToCvvsGMxTgtLv/BrFQ5IFMPRE1zpWbnqbpwykJa8W5XiX82CXI6K2o7yf5xS7EP6t/JzFLV0SIDuWpvBZVw==", - "type": "package", - "path": "Microsoft.NETCore.Windows.ApiSets/1.0.1", - "files": [ - "Microsoft.NETCore.Windows.ApiSets.1.0.1.nupkg.sha512", - "Microsoft.NETCore.Windows.ApiSets.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "runtime.json" - ] - }, - "Microsoft.VisualBasic/10.0.1": { - "sha512": "HpNyOf/4Tp2lh4FyywB55VITk0SqVxEjDzsVDDyF1yafDN6Bq18xcHowzCPINyYHUTgGcEtmpYiRsFdSo0KKdQ==", - "type": "package", - "path": "Microsoft.VisualBasic/10.0.1", - "files": [ - "Microsoft.VisualBasic.10.0.1.nupkg.sha512", - "Microsoft.VisualBasic.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/net45/_._", - "lib/netcore50/Microsoft.VisualBasic.dll", - "lib/netstandard1.3/Microsoft.VisualBasic.dll", - "lib/portable-net45+win8+wpa81/_._", - "lib/win8/_._", - "lib/wpa81/_._", - "ref/net45/_._", - "ref/netcore50/Microsoft.VisualBasic.dll", - "ref/netcore50/Microsoft.VisualBasic.xml", - "ref/netcore50/de/Microsoft.VisualBasic.xml", - "ref/netcore50/es/Microsoft.VisualBasic.xml", - "ref/netcore50/fr/Microsoft.VisualBasic.xml", - "ref/netcore50/it/Microsoft.VisualBasic.xml", - "ref/netcore50/ja/Microsoft.VisualBasic.xml", - "ref/netcore50/ko/Microsoft.VisualBasic.xml", - "ref/netcore50/ru/Microsoft.VisualBasic.xml", - "ref/netcore50/zh-hans/Microsoft.VisualBasic.xml", - "ref/netcore50/zh-hant/Microsoft.VisualBasic.xml", - "ref/netstandard1.1/Microsoft.VisualBasic.dll", - "ref/netstandard1.1/Microsoft.VisualBasic.xml", - "ref/netstandard1.1/de/Microsoft.VisualBasic.xml", - "ref/netstandard1.1/es/Microsoft.VisualBasic.xml", - "ref/netstandard1.1/fr/Microsoft.VisualBasic.xml", - "ref/netstandard1.1/it/Microsoft.VisualBasic.xml", - "ref/netstandard1.1/ja/Microsoft.VisualBasic.xml", - "ref/netstandard1.1/ko/Microsoft.VisualBasic.xml", - "ref/netstandard1.1/ru/Microsoft.VisualBasic.xml", - "ref/netstandard1.1/zh-hans/Microsoft.VisualBasic.xml", - "ref/netstandard1.1/zh-hant/Microsoft.VisualBasic.xml", - "ref/portable-net45+win8+wpa81/_._", - "ref/win8/_._", - "ref/wpa81/_._" - ] - }, - "Microsoft.Win32.Primitives/4.0.1": { - "sha512": "fQnBHO9DgcmkC9dYSJoBqo6sH1VJwJprUHh8F3hbcRlxiQiBUuTntdk8tUwV490OqC2kQUrinGwZyQHTieuXRA==", - "type": "package", - "path": "Microsoft.Win32.Primitives/4.0.1", - "files": [ - "Microsoft.Win32.Primitives.4.0.1.nupkg.sha512", - "Microsoft.Win32.Primitives.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/Microsoft.Win32.Primitives.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/Microsoft.Win32.Primitives.dll", - "ref/netstandard1.3/Microsoft.Win32.Primitives.dll", - "ref/netstandard1.3/Microsoft.Win32.Primitives.xml", - "ref/netstandard1.3/de/Microsoft.Win32.Primitives.xml", - "ref/netstandard1.3/es/Microsoft.Win32.Primitives.xml", - "ref/netstandard1.3/fr/Microsoft.Win32.Primitives.xml", - "ref/netstandard1.3/it/Microsoft.Win32.Primitives.xml", - "ref/netstandard1.3/ja/Microsoft.Win32.Primitives.xml", - "ref/netstandard1.3/ko/Microsoft.Win32.Primitives.xml", - "ref/netstandard1.3/ru/Microsoft.Win32.Primitives.xml", - "ref/netstandard1.3/zh-hans/Microsoft.Win32.Primitives.xml", - "ref/netstandard1.3/zh-hant/Microsoft.Win32.Primitives.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "Microsoft.Win32.Registry/4.0.0": { - "sha512": "q+eLtROUAQ3OxYA5mpQrgyFgzLQxIyrfT2eLpYX5IEPlHmIio2nh4F5bgOaQoGOV865kFKZZso9Oq9RlazvXtg==", - "type": "package", - "path": "Microsoft.Win32.Registry/4.0.0", - "files": [ - "Microsoft.Win32.Registry.4.0.0.nupkg.sha512", - "Microsoft.Win32.Registry.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/net46/Microsoft.Win32.Registry.dll", - "ref/net46/Microsoft.Win32.Registry.dll", - "ref/netstandard1.3/Microsoft.Win32.Registry.dll", - "ref/netstandard1.3/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/de/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/es/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/fr/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/it/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/ja/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/ko/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/ru/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/zh-hans/Microsoft.Win32.Registry.xml", - "ref/netstandard1.3/zh-hant/Microsoft.Win32.Registry.xml", - "runtimes/unix/lib/netstandard1.3/Microsoft.Win32.Registry.dll", - "runtimes/win/lib/net46/Microsoft.Win32.Registry.dll", - "runtimes/win/lib/netcore50/_._", - "runtimes/win/lib/netstandard1.3/Microsoft.Win32.Registry.dll" - ] - }, - "NETStandard.Library/1.6.0": { - "sha512": "ypsCvIdCZ4IoYASJHt6tF2fMo7N30NLgV1EbmC+snO490OMl9FvVxmumw14rhReWU3j3g7BYudG6YCrchwHJlA==", - "type": "package", - "path": "NETStandard.Library/1.6.0", - "files": [ - "NETStandard.Library.1.6.0.nupkg.sha512", - "NETStandard.Library.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt" - ] - }, - "Newtonsoft.Json/9.0.1": { - "sha512": "U82mHQSKaIk+lpSVCbWYKNavmNH1i5xrExDEquU1i6I5pV6UMOqRnJRSlKO3cMPfcpp0RgDY+8jUXHdQ4IfXvw==", - "type": "package", - "path": "Newtonsoft.Json/9.0.1", - "files": [ - "Newtonsoft.Json.9.0.1.nupkg.sha512", - "Newtonsoft.Json.nuspec", - "lib/net20/Newtonsoft.Json.dll", - "lib/net20/Newtonsoft.Json.xml", - "lib/net35/Newtonsoft.Json.dll", - "lib/net35/Newtonsoft.Json.xml", - "lib/net40/Newtonsoft.Json.dll", - "lib/net40/Newtonsoft.Json.xml", - "lib/net45/Newtonsoft.Json.dll", - "lib/net45/Newtonsoft.Json.xml", - "lib/netstandard1.0/Newtonsoft.Json.dll", - "lib/netstandard1.0/Newtonsoft.Json.xml", - "lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.dll", - "lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.xml", - "lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.dll", - "lib/portable-net45+wp80+win8+wpa81/Newtonsoft.Json.xml", - "tools/install.ps1" - ] - }, - "NLog/4.4.0-betav15": { - "sha512": "LDRcdjv5VG9EWz+mnFqdSolUci+j+DBPIPjm7Xdam3xa1F9Rt7o0UpYoCnNRulqHzpKbU704o7Ad4ck9WxDhnw==", - "type": "package", - "path": "NLog/4.4.0-betav15", - "files": [ - "NLog.4.4.0-betav15.nupkg.sha512", - "NLog.nuspec", - "lib/monoandroid23/NLog.dll", - "lib/monoandroid23/NLog.xml", - "lib/net35/NLog.dll", - "lib/net35/NLog.xml", - "lib/net40/NLog.dll", - "lib/net40/NLog.xml", - "lib/net45/NLog.dll", - "lib/net45/NLog.xml", - "lib/netstandard1.3/NLog.dll", - "lib/netstandard1.3/NLog.xml", - "lib/netstandard1.5/NLog.dll", - "lib/netstandard1.5/NLog.xml", - "lib/sl40/NLog.dll", - "lib/sl40/NLog.xml", - "lib/sl50/NLog.dll", - "lib/sl50/NLog.xml", - "lib/wp80/NLog.dll", - "lib/wp80/NLog.xml", - "lib/xamarinios10/NLog.dll", - "lib/xamarinios10/NLog.xml" - ] - }, - "NuGet.Common/3.5.0-beta-final": { - "sha512": "7eCg4ky9NtTnxY1+2VtDKIYX137QejH8Dsuw6fENU53N6OeoROsrv1MUm0pu4e3TF8VH1eL5G3Vx/G30VdXEDg==", - "type": "package", - "path": "NuGet.Common/3.5.0-beta-final", - "files": [ - "NuGet.Common.3.5.0-beta-final.nupkg.sha512", - "NuGet.Common.nuspec", - "lib/net45/NuGet.Common.dll", - "lib/net45/NuGet.Common.xml", - "lib/netstandard1.3/NuGet.Common.dll", - "lib/netstandard1.3/NuGet.Common.xml" - ] - }, - "NuGet.Frameworks/3.5.0-beta-final": { - "sha512": "Si7O1OFxUryBq3xuq2AIwADM8WUMIBQOmUdTJBSaxV+KesShLJfgrr7Dl+Tg/nVETSEArJS8ktscv7gjKqtosg==", - "type": "package", - "path": "NuGet.Frameworks/3.5.0-beta-final", - "files": [ - "NuGet.Frameworks.3.5.0-beta-final.nupkg.sha512", - "NuGet.Frameworks.nuspec", - "lib/net45/NuGet.Frameworks.dll", - "lib/net45/NuGet.Frameworks.xml", - "lib/netstandard1.3/NuGet.Frameworks.dll", - "lib/netstandard1.3/NuGet.Frameworks.xml" - ] - }, - "NuGet.Packaging/3.5.0-beta-final": { - "sha512": "wJSrtokTPmpIkNhJLiG5GPxdRFCVl6XB3MmgLCyRhD2O2wZVQqvvL6SELOz/61EU0C8m9ni/UiiNRqTEtH5QZw==", - "type": "package", - "path": "NuGet.Packaging/3.5.0-beta-final", - "files": [ - "NuGet.Packaging.3.5.0-beta-final.nupkg.sha512", - "NuGet.Packaging.nuspec", - "lib/net45/NuGet.Packaging.dll", - "lib/net45/NuGet.Packaging.xml", - "lib/netstandard1.3/NuGet.Packaging.dll", - "lib/netstandard1.3/NuGet.Packaging.xml" - ] - }, - "NuGet.Packaging.Core/3.5.0-beta-final": { - "sha512": "sdc8dUnbjEpNzIK5h5frJgn7ARQjQLdXMC5YrMHoEh0sCJnd2p1Lu4JvHK7mqn/MurVCAvoAjNDyazzFaVCD0w==", - "type": "package", - "path": "NuGet.Packaging.Core/3.5.0-beta-final", - "files": [ - "NuGet.Packaging.Core.3.5.0-beta-final.nupkg.sha512", - "NuGet.Packaging.Core.nuspec", - "lib/net45/NuGet.Packaging.Core.dll", - "lib/net45/NuGet.Packaging.Core.xml", - "lib/netstandard1.3/NuGet.Packaging.Core.dll", - "lib/netstandard1.3/NuGet.Packaging.Core.xml" - ] - }, - "NuGet.Packaging.Core.Types/3.5.0-beta-final": { - "sha512": "35AVdtLFJFp66CI9EDS61iviOe4UsCwfGh7RILK3j2ihZtlbTIIS5ygjmS8GnTkhNpmdwQRIk/rUempv4ABBxQ==", - "type": "package", - "path": "NuGet.Packaging.Core.Types/3.5.0-beta-final", - "files": [ - "NuGet.Packaging.Core.Types.3.5.0-beta-final.nupkg.sha512", - "NuGet.Packaging.Core.Types.nuspec", - "lib/net45/NuGet.Packaging.Core.Types.dll", - "lib/net45/NuGet.Packaging.Core.Types.xml", - "lib/netstandard1.3/NuGet.Packaging.Core.Types.dll", - "lib/netstandard1.3/NuGet.Packaging.Core.Types.xml" - ] - }, - "NuGet.RuntimeModel/3.5.0-beta-final": { - "sha512": "5opNw7zHG5wC0Qx9AzlopdPg48Tf/QVcVVKmPRuwUa3VBA1b9DBjY+1jCkaof8JRzyHZqLnxd6T9BuT98Jk0YQ==", - "type": "package", - "path": "NuGet.RuntimeModel/3.5.0-beta-final", - "files": [ - "NuGet.RuntimeModel.3.5.0-beta-final.nupkg.sha512", - "NuGet.RuntimeModel.nuspec", - "lib/net45/NuGet.RuntimeModel.dll", - "lib/net45/NuGet.RuntimeModel.xml", - "lib/netstandard1.3/NuGet.RuntimeModel.dll", - "lib/netstandard1.3/NuGet.RuntimeModel.xml" - ] - }, - "NuGet.Versioning/3.5.0-beta-final": { - "sha512": "fwFF9Mck1hgZVDvvJLU81gcaidMksfRoCwyjBALEXxnp1fJr4xLyGbTRdbf2OKI5OODGuUpxaMkcz7P4T8HsXw==", - "type": "package", - "path": "NuGet.Versioning/3.5.0-beta-final", - "files": [ - "NuGet.Versioning.3.5.0-beta-final.nupkg.sha512", - "NuGet.Versioning.nuspec", - "lib/net45/NuGet.Versioning.dll", - "lib/net45/NuGet.Versioning.xml", - "lib/netstandard1.0/NuGet.Versioning.dll", - "lib/netstandard1.0/NuGet.Versioning.xml" - ] - }, - "Portable.BouncyCastle/1.8.1.1": { - "sha512": "bKqC2Me9ukybNYTBhlYd2sJ6j2kRV7SgB+JfiP2GueYq6QdM4Ym6PYV5eyrqb6KViOyd3zqQfJp0o6UW5ZG+GQ==", - "type": "package", - "path": "Portable.BouncyCastle/1.8.1.1", - "files": [ - "Portable.BouncyCastle.1.8.1.1.nupkg.sha512", - "Portable.BouncyCastle.nuspec", - "Readme.html", - "lib/netstandard1.0/crypto.dll", - "lib/netstandard1.0/crypto.pdb", - "lib/netstandard1.0/crypto.xml", - "lib/netstandard1.3/crypto.dll", - "lib/netstandard1.3/crypto.pdb", - "lib/netstandard1.3/crypto.xml", - "lib/portable-net4+sl5+wp8+win8+wpa81/crypto.dll", - "lib/portable-net4+sl5+wp8+win8+wpa81/crypto.pdb", - "lib/portable-net4+sl5+wp8+win8+wpa81/crypto.xml" - ] - }, - "Remotion.Linq/2.1.1": { - "sha512": "IJn0BqkvwEDpP+2qjvci7n4/a9f7DhKESLWb2/uG4xQh3rTkGTBUz69bI4IivCoKkTFAqjXxYDZw2K/npohjsw==", - "type": "package", - "path": "Remotion.Linq/2.1.1", - "files": [ - "Remotion.Linq.2.1.1.nupkg.sha512", - "Remotion.Linq.nuspec", - "lib/net35/Remotion.Linq.XML", - "lib/net35/Remotion.Linq.dll", - "lib/net40/Remotion.Linq.XML", - "lib/net40/Remotion.Linq.dll", - "lib/net45/Remotion.Linq.XML", - "lib/net45/Remotion.Linq.dll", - "lib/netstandard1.0/Remotion.Linq.dll", - "lib/netstandard1.0/Remotion.Linq.xml", - "lib/portable-net45+win+wpa81+wp80/Remotion.Linq.dll", - "lib/portable-net45+win+wpa81+wp80/Remotion.Linq.xml" - ] - }, - "runtime.native.System/4.0.0": { - "sha512": "QfS/nQI7k/BLgmLrw7qm7YBoULEvgWnPI+cYsbfCVFTW8Aj+i8JhccxcFMu1RWms0YZzF+UHguNBK4Qn89e2Sg==", - "type": "package", - "path": "runtime.native.System/4.0.0", - "files": [ - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/_._", - "runtime.native.System.4.0.0.nupkg.sha512", - "runtime.native.System.nuspec" - ] - }, - "runtime.native.System.IO.Compression/4.1.0": { - "sha512": "Ob7nvnJBox1aaB222zSVZSkf4WrebPG4qFscfK7vmD7P7NxoSxACQLtO7ytWpqXDn2wcd/+45+EAZ7xjaPip8A==", - "type": "package", - "path": "runtime.native.System.IO.Compression/4.1.0", - "files": [ - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/_._", - "runtime.native.System.IO.Compression.4.1.0.nupkg.sha512", - "runtime.native.System.IO.Compression.nuspec" - ] - }, - "runtime.native.System.Net.Http/4.0.1": { - "sha512": "Nh0UPZx2Vifh8r+J+H2jxifZUD3sBrmolgiFWJd2yiNrxO0xTa6bAw3YwRn1VOiSen/tUXMS31ttNItCZ6lKuA==", - "type": "package", - "path": "runtime.native.System.Net.Http/4.0.1", - "files": [ - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/_._", - "runtime.native.System.Net.Http.4.0.1.nupkg.sha512", - "runtime.native.System.Net.Http.nuspec" - ] - }, - "runtime.native.System.Net.Security/4.0.1": { - "sha512": "Az6Ff6rZFb8nYGAaejFR6jr8ktt9f3e1Q/yKdw0pwHNTLaO/1eCAC9vzBoR9YAb0QeZD6fZXl1A9tRB5stpzXA==", - "type": "package", - "path": "runtime.native.System.Net.Security/4.0.1", - "files": [ - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/_._", - "runtime.native.System.Net.Security.4.0.1.nupkg.sha512", - "runtime.native.System.Net.Security.nuspec" - ] - }, - "runtime.native.System.Security.Cryptography/4.0.0": { - "sha512": "2CQK0jmO6Eu7ZeMgD+LOFbNJSXHFVQbCJJkEyEwowh1SCgYnrn9W9RykMfpeeVGw7h4IBvYikzpGUlmZTUafJw==", - "type": "package", - "path": "runtime.native.System.Security.Cryptography/4.0.0", - "files": [ - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/_._", - "runtime.native.System.Security.Cryptography.4.0.0.nupkg.sha512", - "runtime.native.System.Security.Cryptography.nuspec" - ] - }, - "SQLite/3.12.2": { - "sha512": "XYNQJt2eFqGluWP+fDaiNrV1v3kA+VsU2ygUjLx7zqzhIZKlAjSYMZLldmbGNnlNC5rKR+0LTrN0IA9dZkDyFw==", - "type": "package", - "path": "SQLite/3.12.2", - "files": [ - "SQLite.3.12.2.nupkg.sha512", - "SQLite.nuspec" - ] - }, - "SQLite.Native/3.12.2": { - "sha512": "/5BdEFTaCziE6K5OG0bjSUhPo+LRmFcmyriFWEZNSuHaiqSp69sVngTb/Yo8mH6JykMA79BFdCBLMW+2E3pnuA==", - "type": "package", - "path": "SQLite.Native/3.12.2", - "files": [ - "SQLite.Native.3.12.2.nupkg.sha512", - "SQLite.Native.nuspec", - "build/net45/SQLite.Native.props", - "runtimes/linux-x64/native/libsqlite3.so", - "runtimes/osx-x64/native/libsqlite3.dylib", - "runtimes/win7-x64/native/sqlite3.dll", - "runtimes/win7-x86/native/sqlite3.dll" - ] - }, - "System.AppContext/4.1.0": { - "sha512": "3QjO4jNV7PdKkmQAVp9atA+usVnKRwI3Kx1nMwJ93T0LcQfx7pKAYk0nKz5wn1oP5iqlhZuy6RXOFdhr7rDwow==", - "type": "package", - "path": "System.AppContext/4.1.0", - "files": [ - "System.AppContext.4.1.0.nupkg.sha512", - "System.AppContext.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.AppContext.dll", - "lib/net463/System.AppContext.dll", - "lib/netcore50/System.AppContext.dll", - "lib/netstandard1.6/System.AppContext.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.AppContext.dll", - "ref/net463/System.AppContext.dll", - "ref/netstandard/_._", - "ref/netstandard1.3/System.AppContext.dll", - "ref/netstandard1.3/System.AppContext.xml", - "ref/netstandard1.3/de/System.AppContext.xml", - "ref/netstandard1.3/es/System.AppContext.xml", - "ref/netstandard1.3/fr/System.AppContext.xml", - "ref/netstandard1.3/it/System.AppContext.xml", - "ref/netstandard1.3/ja/System.AppContext.xml", - "ref/netstandard1.3/ko/System.AppContext.xml", - "ref/netstandard1.3/ru/System.AppContext.xml", - "ref/netstandard1.3/zh-hans/System.AppContext.xml", - "ref/netstandard1.3/zh-hant/System.AppContext.xml", - "ref/netstandard1.6/System.AppContext.dll", - "ref/netstandard1.6/System.AppContext.xml", - "ref/netstandard1.6/de/System.AppContext.xml", - "ref/netstandard1.6/es/System.AppContext.xml", - "ref/netstandard1.6/fr/System.AppContext.xml", - "ref/netstandard1.6/it/System.AppContext.xml", - "ref/netstandard1.6/ja/System.AppContext.xml", - "ref/netstandard1.6/ko/System.AppContext.xml", - "ref/netstandard1.6/ru/System.AppContext.xml", - "ref/netstandard1.6/zh-hans/System.AppContext.xml", - "ref/netstandard1.6/zh-hant/System.AppContext.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.AppContext.dll" - ] - }, - "System.Buffers/4.0.0": { - "sha512": "msXumHfjjURSkvxUjYuq4N2ghHoRi2VpXcKMA7gK6ujQfU3vGpl+B6ld0ATRg+FZFpRyA6PgEPA+VlIkTeNf2w==", - "type": "package", - "path": "System.Buffers/4.0.0", - "files": [ - "System.Buffers.4.0.0.nupkg.sha512", - "System.Buffers.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.1/.xml", - "lib/netstandard1.1/System.Buffers.dll" - ] - }, - "System.Collections/4.0.11": { - "sha512": "YUJGz6eFKqS0V//mLt25vFGrrCvOnsXjlvFQs+KimpwNxug9x0Pzy4PlFMU3Q2IzqAa9G2L4LsK3+9vCBK7oTg==", - "type": "package", - "path": "System.Collections/4.0.11", - "files": [ - "System.Collections.4.0.11.nupkg.sha512", - "System.Collections.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Collections.dll", - "ref/netcore50/System.Collections.xml", - "ref/netcore50/de/System.Collections.xml", - "ref/netcore50/es/System.Collections.xml", - "ref/netcore50/fr/System.Collections.xml", - "ref/netcore50/it/System.Collections.xml", - "ref/netcore50/ja/System.Collections.xml", - "ref/netcore50/ko/System.Collections.xml", - "ref/netcore50/ru/System.Collections.xml", - "ref/netcore50/zh-hans/System.Collections.xml", - "ref/netcore50/zh-hant/System.Collections.xml", - "ref/netstandard1.0/System.Collections.dll", - "ref/netstandard1.0/System.Collections.xml", - "ref/netstandard1.0/de/System.Collections.xml", - "ref/netstandard1.0/es/System.Collections.xml", - "ref/netstandard1.0/fr/System.Collections.xml", - "ref/netstandard1.0/it/System.Collections.xml", - "ref/netstandard1.0/ja/System.Collections.xml", - "ref/netstandard1.0/ko/System.Collections.xml", - "ref/netstandard1.0/ru/System.Collections.xml", - "ref/netstandard1.0/zh-hans/System.Collections.xml", - "ref/netstandard1.0/zh-hant/System.Collections.xml", - "ref/netstandard1.3/System.Collections.dll", - "ref/netstandard1.3/System.Collections.xml", - "ref/netstandard1.3/de/System.Collections.xml", - "ref/netstandard1.3/es/System.Collections.xml", - "ref/netstandard1.3/fr/System.Collections.xml", - "ref/netstandard1.3/it/System.Collections.xml", - "ref/netstandard1.3/ja/System.Collections.xml", - "ref/netstandard1.3/ko/System.Collections.xml", - "ref/netstandard1.3/ru/System.Collections.xml", - "ref/netstandard1.3/zh-hans/System.Collections.xml", - "ref/netstandard1.3/zh-hant/System.Collections.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Collections.Concurrent/4.0.12": { - "sha512": "2gBcbb3drMLgxlI0fBfxMA31ec6AEyYCHygGse4vxceJan8mRIWeKJ24BFzN7+bi/NFTgdIgufzb94LWO5EERQ==", - "type": "package", - "path": "System.Collections.Concurrent/4.0.12", - "files": [ - "System.Collections.Concurrent.4.0.12.nupkg.sha512", - "System.Collections.Concurrent.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Collections.Concurrent.dll", - "lib/netstandard1.3/System.Collections.Concurrent.dll", - "lib/portable-net45+win8+wpa81/_._", - "lib/win8/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Collections.Concurrent.dll", - "ref/netcore50/System.Collections.Concurrent.xml", - "ref/netcore50/de/System.Collections.Concurrent.xml", - "ref/netcore50/es/System.Collections.Concurrent.xml", - "ref/netcore50/fr/System.Collections.Concurrent.xml", - "ref/netcore50/it/System.Collections.Concurrent.xml", - "ref/netcore50/ja/System.Collections.Concurrent.xml", - "ref/netcore50/ko/System.Collections.Concurrent.xml", - "ref/netcore50/ru/System.Collections.Concurrent.xml", - "ref/netcore50/zh-hans/System.Collections.Concurrent.xml", - "ref/netcore50/zh-hant/System.Collections.Concurrent.xml", - "ref/netstandard1.1/System.Collections.Concurrent.dll", - "ref/netstandard1.1/System.Collections.Concurrent.xml", - "ref/netstandard1.1/de/System.Collections.Concurrent.xml", - "ref/netstandard1.1/es/System.Collections.Concurrent.xml", - "ref/netstandard1.1/fr/System.Collections.Concurrent.xml", - "ref/netstandard1.1/it/System.Collections.Concurrent.xml", - "ref/netstandard1.1/ja/System.Collections.Concurrent.xml", - "ref/netstandard1.1/ko/System.Collections.Concurrent.xml", - "ref/netstandard1.1/ru/System.Collections.Concurrent.xml", - "ref/netstandard1.1/zh-hans/System.Collections.Concurrent.xml", - "ref/netstandard1.1/zh-hant/System.Collections.Concurrent.xml", - "ref/netstandard1.3/System.Collections.Concurrent.dll", - "ref/netstandard1.3/System.Collections.Concurrent.xml", - "ref/netstandard1.3/de/System.Collections.Concurrent.xml", - "ref/netstandard1.3/es/System.Collections.Concurrent.xml", - "ref/netstandard1.3/fr/System.Collections.Concurrent.xml", - "ref/netstandard1.3/it/System.Collections.Concurrent.xml", - "ref/netstandard1.3/ja/System.Collections.Concurrent.xml", - "ref/netstandard1.3/ko/System.Collections.Concurrent.xml", - "ref/netstandard1.3/ru/System.Collections.Concurrent.xml", - "ref/netstandard1.3/zh-hans/System.Collections.Concurrent.xml", - "ref/netstandard1.3/zh-hant/System.Collections.Concurrent.xml", - "ref/portable-net45+win8+wpa81/_._", - "ref/win8/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Collections.Immutable/1.2.0": { - "sha512": "Cma8cBW6di16ZLibL8LYQ+cLjGzoKxpOTu/faZfDcx94ZjAGq6Nv5RO7+T1YZXqEXTZP9rt1wLVEONVpURtUqw==", - "type": "package", - "path": "System.Collections.Immutable/1.2.0", - "files": [ - "System.Collections.Immutable.1.2.0.nupkg.sha512", - "System.Collections.Immutable.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/System.Collections.Immutable.dll", - "lib/netstandard1.0/System.Collections.Immutable.xml", - "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll", - "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.xml" - ] - }, - "System.Collections.NonGeneric/4.0.1": { - "sha512": "hMxFT2RhhlffyCdKLDXjx8WEC5JfCvNozAZxCablAuFRH74SCV4AgzE8yJCh/73bFnEoZgJ9MJmkjQ0dJmnKqA==", - "type": "package", - "path": "System.Collections.NonGeneric/4.0.1", - "files": [ - "System.Collections.NonGeneric.4.0.1.nupkg.sha512", - "System.Collections.NonGeneric.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Collections.NonGeneric.dll", - "lib/netstandard1.3/System.Collections.NonGeneric.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Collections.NonGeneric.dll", - "ref/netstandard1.3/System.Collections.NonGeneric.dll", - "ref/netstandard1.3/System.Collections.NonGeneric.xml", - "ref/netstandard1.3/de/System.Collections.NonGeneric.xml", - "ref/netstandard1.3/es/System.Collections.NonGeneric.xml", - "ref/netstandard1.3/fr/System.Collections.NonGeneric.xml", - "ref/netstandard1.3/it/System.Collections.NonGeneric.xml", - "ref/netstandard1.3/ja/System.Collections.NonGeneric.xml", - "ref/netstandard1.3/ko/System.Collections.NonGeneric.xml", - "ref/netstandard1.3/ru/System.Collections.NonGeneric.xml", - "ref/netstandard1.3/zh-hans/System.Collections.NonGeneric.xml", - "ref/netstandard1.3/zh-hant/System.Collections.NonGeneric.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Collections.Specialized/4.0.1": { - "sha512": "/HKQyVP0yH1I0YtK7KJL/28snxHNH/bi+0lgk/+MbURF6ULhAE31MDI+NZDerNWu264YbxklXCCygISgm+HMug==", - "type": "package", - "path": "System.Collections.Specialized/4.0.1", - "files": [ - "System.Collections.Specialized.4.0.1.nupkg.sha512", - "System.Collections.Specialized.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Collections.Specialized.dll", - "lib/netstandard1.3/System.Collections.Specialized.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Collections.Specialized.dll", - "ref/netstandard1.3/System.Collections.Specialized.dll", - "ref/netstandard1.3/System.Collections.Specialized.xml", - "ref/netstandard1.3/de/System.Collections.Specialized.xml", - "ref/netstandard1.3/es/System.Collections.Specialized.xml", - "ref/netstandard1.3/fr/System.Collections.Specialized.xml", - "ref/netstandard1.3/it/System.Collections.Specialized.xml", - "ref/netstandard1.3/ja/System.Collections.Specialized.xml", - "ref/netstandard1.3/ko/System.Collections.Specialized.xml", - "ref/netstandard1.3/ru/System.Collections.Specialized.xml", - "ref/netstandard1.3/zh-hans/System.Collections.Specialized.xml", - "ref/netstandard1.3/zh-hant/System.Collections.Specialized.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.ComponentModel/4.0.1": { - "sha512": "oBZFnm7seFiVfugsIyOvQCWobNZs7FzqDV/B7tx20Ep/l3UUFCPDkdTnCNaJZTU27zjeODmy2C/cP60u3D4c9w==", - "type": "package", - "path": "System.ComponentModel/4.0.1", - "files": [ - "System.ComponentModel.4.0.1.nupkg.sha512", - "System.ComponentModel.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.ComponentModel.dll", - "lib/netstandard1.3/System.ComponentModel.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.ComponentModel.dll", - "ref/netcore50/System.ComponentModel.xml", - "ref/netcore50/de/System.ComponentModel.xml", - "ref/netcore50/es/System.ComponentModel.xml", - "ref/netcore50/fr/System.ComponentModel.xml", - "ref/netcore50/it/System.ComponentModel.xml", - "ref/netcore50/ja/System.ComponentModel.xml", - "ref/netcore50/ko/System.ComponentModel.xml", - "ref/netcore50/ru/System.ComponentModel.xml", - "ref/netcore50/zh-hans/System.ComponentModel.xml", - "ref/netcore50/zh-hant/System.ComponentModel.xml", - "ref/netstandard1.0/System.ComponentModel.dll", - "ref/netstandard1.0/System.ComponentModel.xml", - "ref/netstandard1.0/de/System.ComponentModel.xml", - "ref/netstandard1.0/es/System.ComponentModel.xml", - "ref/netstandard1.0/fr/System.ComponentModel.xml", - "ref/netstandard1.0/it/System.ComponentModel.xml", - "ref/netstandard1.0/ja/System.ComponentModel.xml", - "ref/netstandard1.0/ko/System.ComponentModel.xml", - "ref/netstandard1.0/ru/System.ComponentModel.xml", - "ref/netstandard1.0/zh-hans/System.ComponentModel.xml", - "ref/netstandard1.0/zh-hant/System.ComponentModel.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.ComponentModel.Annotations/4.1.0": { - "sha512": "rhnz80h8NnHJzoi0nbQJLRR2cJznyqG168q1bgoSpe5qpaME2SguXzuEzpY68nFCi2kBgHpbU4bRN2cP3unYRA==", - "type": "package", - "path": "System.ComponentModel.Annotations/4.1.0", - "files": [ - "System.ComponentModel.Annotations.4.1.0.nupkg.sha512", - "System.ComponentModel.Annotations.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net461/System.ComponentModel.Annotations.dll", - "lib/netcore50/System.ComponentModel.Annotations.dll", - "lib/netstandard1.4/System.ComponentModel.Annotations.dll", - "lib/portable-net45+win8/_._", - "lib/win8/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net461/System.ComponentModel.Annotations.dll", - "ref/netcore50/System.ComponentModel.Annotations.dll", - "ref/netcore50/System.ComponentModel.Annotations.xml", - "ref/netcore50/de/System.ComponentModel.Annotations.xml", - "ref/netcore50/es/System.ComponentModel.Annotations.xml", - "ref/netcore50/fr/System.ComponentModel.Annotations.xml", - "ref/netcore50/it/System.ComponentModel.Annotations.xml", - "ref/netcore50/ja/System.ComponentModel.Annotations.xml", - "ref/netcore50/ko/System.ComponentModel.Annotations.xml", - "ref/netcore50/ru/System.ComponentModel.Annotations.xml", - "ref/netcore50/zh-hans/System.ComponentModel.Annotations.xml", - "ref/netcore50/zh-hant/System.ComponentModel.Annotations.xml", - "ref/netstandard1.1/System.ComponentModel.Annotations.dll", - "ref/netstandard1.1/System.ComponentModel.Annotations.xml", - "ref/netstandard1.1/de/System.ComponentModel.Annotations.xml", - "ref/netstandard1.1/es/System.ComponentModel.Annotations.xml", - "ref/netstandard1.1/fr/System.ComponentModel.Annotations.xml", - "ref/netstandard1.1/it/System.ComponentModel.Annotations.xml", - "ref/netstandard1.1/ja/System.ComponentModel.Annotations.xml", - "ref/netstandard1.1/ko/System.ComponentModel.Annotations.xml", - "ref/netstandard1.1/ru/System.ComponentModel.Annotations.xml", - "ref/netstandard1.1/zh-hans/System.ComponentModel.Annotations.xml", - "ref/netstandard1.1/zh-hant/System.ComponentModel.Annotations.xml", - "ref/netstandard1.3/System.ComponentModel.Annotations.dll", - "ref/netstandard1.3/System.ComponentModel.Annotations.xml", - "ref/netstandard1.3/de/System.ComponentModel.Annotations.xml", - "ref/netstandard1.3/es/System.ComponentModel.Annotations.xml", - "ref/netstandard1.3/fr/System.ComponentModel.Annotations.xml", - "ref/netstandard1.3/it/System.ComponentModel.Annotations.xml", - "ref/netstandard1.3/ja/System.ComponentModel.Annotations.xml", - "ref/netstandard1.3/ko/System.ComponentModel.Annotations.xml", - "ref/netstandard1.3/ru/System.ComponentModel.Annotations.xml", - "ref/netstandard1.3/zh-hans/System.ComponentModel.Annotations.xml", - "ref/netstandard1.3/zh-hant/System.ComponentModel.Annotations.xml", - "ref/netstandard1.4/System.ComponentModel.Annotations.dll", - "ref/netstandard1.4/System.ComponentModel.Annotations.xml", - "ref/netstandard1.4/de/System.ComponentModel.Annotations.xml", - "ref/netstandard1.4/es/System.ComponentModel.Annotations.xml", - "ref/netstandard1.4/fr/System.ComponentModel.Annotations.xml", - "ref/netstandard1.4/it/System.ComponentModel.Annotations.xml", - "ref/netstandard1.4/ja/System.ComponentModel.Annotations.xml", - "ref/netstandard1.4/ko/System.ComponentModel.Annotations.xml", - "ref/netstandard1.4/ru/System.ComponentModel.Annotations.xml", - "ref/netstandard1.4/zh-hans/System.ComponentModel.Annotations.xml", - "ref/netstandard1.4/zh-hant/System.ComponentModel.Annotations.xml", - "ref/portable-net45+win8/_._", - "ref/win8/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.ComponentModel.Primitives/4.1.0": { - "sha512": "sc/7eVCdxPrp3ljpgTKVaQGUXiW05phNWvtv/m2kocXqrUQvTVWKou1Edas2aDjTThLPZOxPYIGNb/HN0QjURg==", - "type": "package", - "path": "System.ComponentModel.Primitives/4.1.0", - "files": [ - "System.ComponentModel.Primitives.4.1.0.nupkg.sha512", - "System.ComponentModel.Primitives.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/System.ComponentModel.Primitives.dll", - "lib/netstandard1.0/System.ComponentModel.Primitives.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/System.ComponentModel.Primitives.dll", - "ref/netstandard1.0/System.ComponentModel.Primitives.dll", - "ref/netstandard1.0/System.ComponentModel.Primitives.xml", - "ref/netstandard1.0/de/System.ComponentModel.Primitives.xml", - "ref/netstandard1.0/es/System.ComponentModel.Primitives.xml", - "ref/netstandard1.0/fr/System.ComponentModel.Primitives.xml", - "ref/netstandard1.0/it/System.ComponentModel.Primitives.xml", - "ref/netstandard1.0/ja/System.ComponentModel.Primitives.xml", - "ref/netstandard1.0/ko/System.ComponentModel.Primitives.xml", - "ref/netstandard1.0/ru/System.ComponentModel.Primitives.xml", - "ref/netstandard1.0/zh-hans/System.ComponentModel.Primitives.xml", - "ref/netstandard1.0/zh-hant/System.ComponentModel.Primitives.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.ComponentModel.TypeConverter/4.1.0": { - "sha512": "MnDAlaeJZy9pdB5ZdOlwdxfpI+LJQ6e0hmH7d2+y2LkiD8DRJynyDYl4Xxf3fWFm7SbEwBZh4elcfzONQLOoQw==", - "type": "package", - "path": "System.ComponentModel.TypeConverter/4.1.0", - "files": [ - "System.ComponentModel.TypeConverter.4.1.0.nupkg.sha512", - "System.ComponentModel.TypeConverter.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/System.ComponentModel.TypeConverter.dll", - "lib/net462/System.ComponentModel.TypeConverter.dll", - "lib/netstandard1.0/System.ComponentModel.TypeConverter.dll", - "lib/netstandard1.5/System.ComponentModel.TypeConverter.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/System.ComponentModel.TypeConverter.dll", - "ref/net462/System.ComponentModel.TypeConverter.dll", - "ref/netstandard1.0/System.ComponentModel.TypeConverter.dll", - "ref/netstandard1.0/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.0/de/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.0/es/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.0/fr/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.0/it/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.0/ja/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.0/ko/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.0/ru/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.0/zh-hans/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.0/zh-hant/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.5/System.ComponentModel.TypeConverter.dll", - "ref/netstandard1.5/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.5/de/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.5/es/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.5/fr/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.5/it/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.5/ja/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.5/ko/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.5/ru/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.5/zh-hans/System.ComponentModel.TypeConverter.xml", - "ref/netstandard1.5/zh-hant/System.ComponentModel.TypeConverter.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Console/4.0.0": { - "sha512": "qSKUSOIiYA/a0g5XXdxFcUFmv1hNICBD7QZ0QhGYVipPIhvpiydY8VZqr1thmCXvmn8aipMg64zuanB4eotK9A==", - "type": "package", - "path": "System.Console/4.0.0", - "files": [ - "System.Console.4.0.0.nupkg.sha512", - "System.Console.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Console.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Console.dll", - "ref/netstandard1.3/System.Console.dll", - "ref/netstandard1.3/System.Console.xml", - "ref/netstandard1.3/de/System.Console.xml", - "ref/netstandard1.3/es/System.Console.xml", - "ref/netstandard1.3/fr/System.Console.xml", - "ref/netstandard1.3/it/System.Console.xml", - "ref/netstandard1.3/ja/System.Console.xml", - "ref/netstandard1.3/ko/System.Console.xml", - "ref/netstandard1.3/ru/System.Console.xml", - "ref/netstandard1.3/zh-hans/System.Console.xml", - "ref/netstandard1.3/zh-hant/System.Console.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Data.Common/4.1.0": { - "sha512": "epU8jeTe7aE7RqGHq9rZ8b0Q4Ah7DgubzHQblgZMSqgW1saW868WmooSyC5ywf8upLBkcVLDu93W9GPWUYsU2Q==", - "type": "package", - "path": "System.Data.Common/4.1.0", - "files": [ - "System.Data.Common.4.1.0.nupkg.sha512", - "System.Data.Common.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net451/System.Data.Common.dll", - "lib/netstandard1.2/System.Data.Common.dll", - "lib/portable-net451+win8+wp8+wpa81/System.Data.Common.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net451/System.Data.Common.dll", - "ref/netstandard1.2/System.Data.Common.dll", - "ref/netstandard1.2/System.Data.Common.xml", - "ref/netstandard1.2/de/System.Data.Common.xml", - "ref/netstandard1.2/es/System.Data.Common.xml", - "ref/netstandard1.2/fr/System.Data.Common.xml", - "ref/netstandard1.2/it/System.Data.Common.xml", - "ref/netstandard1.2/ja/System.Data.Common.xml", - "ref/netstandard1.2/ko/System.Data.Common.xml", - "ref/netstandard1.2/ru/System.Data.Common.xml", - "ref/netstandard1.2/zh-hans/System.Data.Common.xml", - "ref/netstandard1.2/zh-hant/System.Data.Common.xml", - "ref/portable-net451+win8+wp8+wpa81/System.Data.Common.dll", - "ref/portable-net451+win8+wp8+wpa81/System.Data.Common.xml", - "ref/portable-net451+win8+wp8+wpa81/de/System.Data.Common.xml", - "ref/portable-net451+win8+wp8+wpa81/es/System.Data.Common.xml", - "ref/portable-net451+win8+wp8+wpa81/fr/System.Data.Common.xml", - "ref/portable-net451+win8+wp8+wpa81/it/System.Data.Common.xml", - "ref/portable-net451+win8+wp8+wpa81/ja/System.Data.Common.xml", - "ref/portable-net451+win8+wp8+wpa81/ko/System.Data.Common.xml", - "ref/portable-net451+win8+wp8+wpa81/ru/System.Data.Common.xml", - "ref/portable-net451+win8+wp8+wpa81/zh-hans/System.Data.Common.xml", - "ref/portable-net451+win8+wp8+wpa81/zh-hant/System.Data.Common.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Diagnostics.Contracts/4.0.1": { - "sha512": "HvQQjy712vnlpPxaloZYkuE78Gn353L0SJLJVeLcNASeg9c4qla2a1Xq8I7B3jZoDzKPtHTkyVO7AZ5tpeQGuA==", - "type": "package", - "path": "System.Diagnostics.Contracts/4.0.1", - "files": [ - "System.Diagnostics.Contracts.4.0.1.nupkg.sha512", - "System.Diagnostics.Contracts.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Diagnostics.Contracts.dll", - "lib/netstandard1.0/System.Diagnostics.Contracts.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Diagnostics.Contracts.dll", - "ref/netcore50/System.Diagnostics.Contracts.xml", - "ref/netcore50/de/System.Diagnostics.Contracts.xml", - "ref/netcore50/es/System.Diagnostics.Contracts.xml", - "ref/netcore50/fr/System.Diagnostics.Contracts.xml", - "ref/netcore50/it/System.Diagnostics.Contracts.xml", - "ref/netcore50/ja/System.Diagnostics.Contracts.xml", - "ref/netcore50/ko/System.Diagnostics.Contracts.xml", - "ref/netcore50/ru/System.Diagnostics.Contracts.xml", - "ref/netcore50/zh-hans/System.Diagnostics.Contracts.xml", - "ref/netcore50/zh-hant/System.Diagnostics.Contracts.xml", - "ref/netstandard1.0/System.Diagnostics.Contracts.dll", - "ref/netstandard1.0/System.Diagnostics.Contracts.xml", - "ref/netstandard1.0/de/System.Diagnostics.Contracts.xml", - "ref/netstandard1.0/es/System.Diagnostics.Contracts.xml", - "ref/netstandard1.0/fr/System.Diagnostics.Contracts.xml", - "ref/netstandard1.0/it/System.Diagnostics.Contracts.xml", - "ref/netstandard1.0/ja/System.Diagnostics.Contracts.xml", - "ref/netstandard1.0/ko/System.Diagnostics.Contracts.xml", - "ref/netstandard1.0/ru/System.Diagnostics.Contracts.xml", - "ref/netstandard1.0/zh-hans/System.Diagnostics.Contracts.xml", - "ref/netstandard1.0/zh-hant/System.Diagnostics.Contracts.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Diagnostics.Contracts.dll" - ] - }, - "System.Diagnostics.Debug/4.0.11": { - "sha512": "w5U95fVKHY4G8ASs/K5iK3J5LY+/dLFd4vKejsnI/ZhBsWS9hQakfx3Zr7lRWKg4tAw9r4iktyvsTagWkqYCiw==", - "type": "package", - "path": "System.Diagnostics.Debug/4.0.11", - "files": [ - "System.Diagnostics.Debug.4.0.11.nupkg.sha512", - "System.Diagnostics.Debug.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Diagnostics.Debug.dll", - "ref/netcore50/System.Diagnostics.Debug.xml", - "ref/netcore50/de/System.Diagnostics.Debug.xml", - "ref/netcore50/es/System.Diagnostics.Debug.xml", - "ref/netcore50/fr/System.Diagnostics.Debug.xml", - "ref/netcore50/it/System.Diagnostics.Debug.xml", - "ref/netcore50/ja/System.Diagnostics.Debug.xml", - "ref/netcore50/ko/System.Diagnostics.Debug.xml", - "ref/netcore50/ru/System.Diagnostics.Debug.xml", - "ref/netcore50/zh-hans/System.Diagnostics.Debug.xml", - "ref/netcore50/zh-hant/System.Diagnostics.Debug.xml", - "ref/netstandard1.0/System.Diagnostics.Debug.dll", - "ref/netstandard1.0/System.Diagnostics.Debug.xml", - "ref/netstandard1.0/de/System.Diagnostics.Debug.xml", - "ref/netstandard1.0/es/System.Diagnostics.Debug.xml", - "ref/netstandard1.0/fr/System.Diagnostics.Debug.xml", - "ref/netstandard1.0/it/System.Diagnostics.Debug.xml", - "ref/netstandard1.0/ja/System.Diagnostics.Debug.xml", - "ref/netstandard1.0/ko/System.Diagnostics.Debug.xml", - "ref/netstandard1.0/ru/System.Diagnostics.Debug.xml", - "ref/netstandard1.0/zh-hans/System.Diagnostics.Debug.xml", - "ref/netstandard1.0/zh-hant/System.Diagnostics.Debug.xml", - "ref/netstandard1.3/System.Diagnostics.Debug.dll", - "ref/netstandard1.3/System.Diagnostics.Debug.xml", - "ref/netstandard1.3/de/System.Diagnostics.Debug.xml", - "ref/netstandard1.3/es/System.Diagnostics.Debug.xml", - "ref/netstandard1.3/fr/System.Diagnostics.Debug.xml", - "ref/netstandard1.3/it/System.Diagnostics.Debug.xml", - "ref/netstandard1.3/ja/System.Diagnostics.Debug.xml", - "ref/netstandard1.3/ko/System.Diagnostics.Debug.xml", - "ref/netstandard1.3/ru/System.Diagnostics.Debug.xml", - "ref/netstandard1.3/zh-hans/System.Diagnostics.Debug.xml", - "ref/netstandard1.3/zh-hant/System.Diagnostics.Debug.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Diagnostics.DiagnosticSource/4.0.0": { - "sha512": "YKglnq4BMTJxfcr6nuT08g+yJ0UxdePIHxosiLuljuHIUR6t4KhFsyaHOaOc1Ofqp0PUvJ0EmcgiEz6T7vEx3w==", - "type": "package", - "path": "System.Diagnostics.DiagnosticSource/4.0.0", - "files": [ - "System.Diagnostics.DiagnosticSource.4.0.0.nupkg.sha512", - "System.Diagnostics.DiagnosticSource.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/net46/System.Diagnostics.DiagnosticSource.dll", - "lib/net46/System.Diagnostics.DiagnosticSource.xml", - "lib/netstandard1.1/System.Diagnostics.DiagnosticSource.dll", - "lib/netstandard1.1/System.Diagnostics.DiagnosticSource.xml", - "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.dll", - "lib/netstandard1.3/System.Diagnostics.DiagnosticSource.xml", - "lib/portable-net45+win8+wpa81/System.Diagnostics.DiagnosticSource.dll", - "lib/portable-net45+win8+wpa81/System.Diagnostics.DiagnosticSource.xml" - ] - }, - "System.Diagnostics.FileVersionInfo/4.0.0": { - "sha512": "qjF74OTAU+mRhLaL4YSfiWy3vj6T3AOz8AW37l5zCwfbBfj0k7E94XnEsRaf2TnhE/7QaV6Hvqakoy2LoV8MVg==", - "type": "package", - "path": "System.Diagnostics.FileVersionInfo/4.0.0", - "files": [ - "System.Diagnostics.FileVersionInfo.4.0.0.nupkg.sha512", - "System.Diagnostics.FileVersionInfo.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Diagnostics.FileVersionInfo.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Diagnostics.FileVersionInfo.dll", - "ref/netstandard1.3/System.Diagnostics.FileVersionInfo.dll", - "ref/netstandard1.3/System.Diagnostics.FileVersionInfo.xml", - "ref/netstandard1.3/de/System.Diagnostics.FileVersionInfo.xml", - "ref/netstandard1.3/es/System.Diagnostics.FileVersionInfo.xml", - "ref/netstandard1.3/fr/System.Diagnostics.FileVersionInfo.xml", - "ref/netstandard1.3/it/System.Diagnostics.FileVersionInfo.xml", - "ref/netstandard1.3/ja/System.Diagnostics.FileVersionInfo.xml", - "ref/netstandard1.3/ko/System.Diagnostics.FileVersionInfo.xml", - "ref/netstandard1.3/ru/System.Diagnostics.FileVersionInfo.xml", - "ref/netstandard1.3/zh-hans/System.Diagnostics.FileVersionInfo.xml", - "ref/netstandard1.3/zh-hant/System.Diagnostics.FileVersionInfo.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.Diagnostics.FileVersionInfo.dll", - "runtimes/win/lib/net46/System.Diagnostics.FileVersionInfo.dll", - "runtimes/win/lib/netcore50/System.Diagnostics.FileVersionInfo.dll", - "runtimes/win/lib/netstandard1.3/System.Diagnostics.FileVersionInfo.dll" - ] - }, - "System.Diagnostics.Process/4.1.0": { - "sha512": "mpVZ5bnlSs3tTeJ6jYyDJEIa6tavhAd88lxq1zbYhkkCu0Pno2+gHXcvZcoygq2d8JxW3gojXqNJMTAshduqZA==", - "type": "package", - "path": "System.Diagnostics.Process/4.1.0", - "files": [ - "System.Diagnostics.Process.4.1.0.nupkg.sha512", - "System.Diagnostics.Process.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Diagnostics.Process.dll", - "lib/net461/System.Diagnostics.Process.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Diagnostics.Process.dll", - "ref/net461/System.Diagnostics.Process.dll", - "ref/netstandard1.3/System.Diagnostics.Process.dll", - "ref/netstandard1.3/System.Diagnostics.Process.xml", - "ref/netstandard1.3/de/System.Diagnostics.Process.xml", - "ref/netstandard1.3/es/System.Diagnostics.Process.xml", - "ref/netstandard1.3/fr/System.Diagnostics.Process.xml", - "ref/netstandard1.3/it/System.Diagnostics.Process.xml", - "ref/netstandard1.3/ja/System.Diagnostics.Process.xml", - "ref/netstandard1.3/ko/System.Diagnostics.Process.xml", - "ref/netstandard1.3/ru/System.Diagnostics.Process.xml", - "ref/netstandard1.3/zh-hans/System.Diagnostics.Process.xml", - "ref/netstandard1.3/zh-hant/System.Diagnostics.Process.xml", - "ref/netstandard1.4/System.Diagnostics.Process.dll", - "ref/netstandard1.4/System.Diagnostics.Process.xml", - "ref/netstandard1.4/de/System.Diagnostics.Process.xml", - "ref/netstandard1.4/es/System.Diagnostics.Process.xml", - "ref/netstandard1.4/fr/System.Diagnostics.Process.xml", - "ref/netstandard1.4/it/System.Diagnostics.Process.xml", - "ref/netstandard1.4/ja/System.Diagnostics.Process.xml", - "ref/netstandard1.4/ko/System.Diagnostics.Process.xml", - "ref/netstandard1.4/ru/System.Diagnostics.Process.xml", - "ref/netstandard1.4/zh-hans/System.Diagnostics.Process.xml", - "ref/netstandard1.4/zh-hant/System.Diagnostics.Process.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/linux/lib/netstandard1.4/System.Diagnostics.Process.dll", - "runtimes/osx/lib/netstandard1.4/System.Diagnostics.Process.dll", - "runtimes/win/lib/net46/System.Diagnostics.Process.dll", - "runtimes/win/lib/net461/System.Diagnostics.Process.dll", - "runtimes/win/lib/netstandard1.4/System.Diagnostics.Process.dll", - "runtimes/win7/lib/netcore50/_._" - ] - }, - "System.Diagnostics.StackTrace/4.0.1": { - "sha512": "6i2EbRq0lgGfiZ+FDf0gVaw9qeEU+7IS2+wbZJmFVpvVzVOgZEt0ScZtyenuBvs6iDYbGiF51bMAa0oDP/tujQ==", - "type": "package", - "path": "System.Diagnostics.StackTrace/4.0.1", - "files": [ - "System.Diagnostics.StackTrace.4.0.1.nupkg.sha512", - "System.Diagnostics.StackTrace.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Diagnostics.StackTrace.dll", - "lib/netstandard1.3/System.Diagnostics.StackTrace.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Diagnostics.StackTrace.dll", - "ref/netstandard1.3/System.Diagnostics.StackTrace.dll", - "ref/netstandard1.3/System.Diagnostics.StackTrace.xml", - "ref/netstandard1.3/de/System.Diagnostics.StackTrace.xml", - "ref/netstandard1.3/es/System.Diagnostics.StackTrace.xml", - "ref/netstandard1.3/fr/System.Diagnostics.StackTrace.xml", - "ref/netstandard1.3/it/System.Diagnostics.StackTrace.xml", - "ref/netstandard1.3/ja/System.Diagnostics.StackTrace.xml", - "ref/netstandard1.3/ko/System.Diagnostics.StackTrace.xml", - "ref/netstandard1.3/ru/System.Diagnostics.StackTrace.xml", - "ref/netstandard1.3/zh-hans/System.Diagnostics.StackTrace.xml", - "ref/netstandard1.3/zh-hant/System.Diagnostics.StackTrace.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Diagnostics.StackTrace.dll" - ] - }, - "System.Diagnostics.Tools/4.0.1": { - "sha512": "xBfJ8pnd4C17dWaC9FM6aShzbJcRNMChUMD42I6772KGGrqaFdumwhn9OdM68erj1ueNo3xdQ1EwiFjK5k8p0g==", - "type": "package", - "path": "System.Diagnostics.Tools/4.0.1", - "files": [ - "System.Diagnostics.Tools.4.0.1.nupkg.sha512", - "System.Diagnostics.Tools.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Diagnostics.Tools.dll", - "ref/netcore50/System.Diagnostics.Tools.xml", - "ref/netcore50/de/System.Diagnostics.Tools.xml", - "ref/netcore50/es/System.Diagnostics.Tools.xml", - "ref/netcore50/fr/System.Diagnostics.Tools.xml", - "ref/netcore50/it/System.Diagnostics.Tools.xml", - "ref/netcore50/ja/System.Diagnostics.Tools.xml", - "ref/netcore50/ko/System.Diagnostics.Tools.xml", - "ref/netcore50/ru/System.Diagnostics.Tools.xml", - "ref/netcore50/zh-hans/System.Diagnostics.Tools.xml", - "ref/netcore50/zh-hant/System.Diagnostics.Tools.xml", - "ref/netstandard1.0/System.Diagnostics.Tools.dll", - "ref/netstandard1.0/System.Diagnostics.Tools.xml", - "ref/netstandard1.0/de/System.Diagnostics.Tools.xml", - "ref/netstandard1.0/es/System.Diagnostics.Tools.xml", - "ref/netstandard1.0/fr/System.Diagnostics.Tools.xml", - "ref/netstandard1.0/it/System.Diagnostics.Tools.xml", - "ref/netstandard1.0/ja/System.Diagnostics.Tools.xml", - "ref/netstandard1.0/ko/System.Diagnostics.Tools.xml", - "ref/netstandard1.0/ru/System.Diagnostics.Tools.xml", - "ref/netstandard1.0/zh-hans/System.Diagnostics.Tools.xml", - "ref/netstandard1.0/zh-hant/System.Diagnostics.Tools.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Diagnostics.TraceSource/4.0.0": { - "sha512": "6WVCczFZKXwpWpzd/iJkYnsmWTSFFiU24Xx/YdHXBcu+nFI/ehTgeqdJQFbtRPzbrO3KtRNjvkhtj4t5/WwWsA==", - "type": "package", - "path": "System.Diagnostics.TraceSource/4.0.0", - "files": [ - "System.Diagnostics.TraceSource.4.0.0.nupkg.sha512", - "System.Diagnostics.TraceSource.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Diagnostics.TraceSource.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Diagnostics.TraceSource.dll", - "ref/netstandard1.3/System.Diagnostics.TraceSource.dll", - "ref/netstandard1.3/System.Diagnostics.TraceSource.xml", - "ref/netstandard1.3/de/System.Diagnostics.TraceSource.xml", - "ref/netstandard1.3/es/System.Diagnostics.TraceSource.xml", - "ref/netstandard1.3/fr/System.Diagnostics.TraceSource.xml", - "ref/netstandard1.3/it/System.Diagnostics.TraceSource.xml", - "ref/netstandard1.3/ja/System.Diagnostics.TraceSource.xml", - "ref/netstandard1.3/ko/System.Diagnostics.TraceSource.xml", - "ref/netstandard1.3/ru/System.Diagnostics.TraceSource.xml", - "ref/netstandard1.3/zh-hans/System.Diagnostics.TraceSource.xml", - "ref/netstandard1.3/zh-hant/System.Diagnostics.TraceSource.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.Diagnostics.TraceSource.dll", - "runtimes/win/lib/net46/System.Diagnostics.TraceSource.dll", - "runtimes/win/lib/netstandard1.3/System.Diagnostics.TraceSource.dll" - ] - }, - "System.Diagnostics.Tracing/4.1.0": { - "sha512": "vDN1PoMZCkkdNjvZLql592oYJZgS7URcJzJ7bxeBgGtx5UtR5leNm49VmfHGqIffX4FKacHbI3H6UyNSHQknBg==", - "type": "package", - "path": "System.Diagnostics.Tracing/4.1.0", - "files": [ - "System.Diagnostics.Tracing.4.1.0.nupkg.sha512", - "System.Diagnostics.Tracing.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net462/System.Diagnostics.Tracing.dll", - "lib/portable-net45+win8+wpa81/_._", - "lib/win8/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net462/System.Diagnostics.Tracing.dll", - "ref/netcore50/System.Diagnostics.Tracing.dll", - "ref/netcore50/System.Diagnostics.Tracing.xml", - "ref/netcore50/de/System.Diagnostics.Tracing.xml", - "ref/netcore50/es/System.Diagnostics.Tracing.xml", - "ref/netcore50/fr/System.Diagnostics.Tracing.xml", - "ref/netcore50/it/System.Diagnostics.Tracing.xml", - "ref/netcore50/ja/System.Diagnostics.Tracing.xml", - "ref/netcore50/ko/System.Diagnostics.Tracing.xml", - "ref/netcore50/ru/System.Diagnostics.Tracing.xml", - "ref/netcore50/zh-hans/System.Diagnostics.Tracing.xml", - "ref/netcore50/zh-hant/System.Diagnostics.Tracing.xml", - "ref/netstandard1.1/System.Diagnostics.Tracing.dll", - "ref/netstandard1.1/System.Diagnostics.Tracing.xml", - "ref/netstandard1.1/de/System.Diagnostics.Tracing.xml", - "ref/netstandard1.1/es/System.Diagnostics.Tracing.xml", - "ref/netstandard1.1/fr/System.Diagnostics.Tracing.xml", - "ref/netstandard1.1/it/System.Diagnostics.Tracing.xml", - "ref/netstandard1.1/ja/System.Diagnostics.Tracing.xml", - "ref/netstandard1.1/ko/System.Diagnostics.Tracing.xml", - "ref/netstandard1.1/ru/System.Diagnostics.Tracing.xml", - "ref/netstandard1.1/zh-hans/System.Diagnostics.Tracing.xml", - "ref/netstandard1.1/zh-hant/System.Diagnostics.Tracing.xml", - "ref/netstandard1.2/System.Diagnostics.Tracing.dll", - "ref/netstandard1.2/System.Diagnostics.Tracing.xml", - "ref/netstandard1.2/de/System.Diagnostics.Tracing.xml", - "ref/netstandard1.2/es/System.Diagnostics.Tracing.xml", - "ref/netstandard1.2/fr/System.Diagnostics.Tracing.xml", - "ref/netstandard1.2/it/System.Diagnostics.Tracing.xml", - "ref/netstandard1.2/ja/System.Diagnostics.Tracing.xml", - "ref/netstandard1.2/ko/System.Diagnostics.Tracing.xml", - "ref/netstandard1.2/ru/System.Diagnostics.Tracing.xml", - "ref/netstandard1.2/zh-hans/System.Diagnostics.Tracing.xml", - "ref/netstandard1.2/zh-hant/System.Diagnostics.Tracing.xml", - "ref/netstandard1.3/System.Diagnostics.Tracing.dll", - "ref/netstandard1.3/System.Diagnostics.Tracing.xml", - "ref/netstandard1.3/de/System.Diagnostics.Tracing.xml", - "ref/netstandard1.3/es/System.Diagnostics.Tracing.xml", - "ref/netstandard1.3/fr/System.Diagnostics.Tracing.xml", - "ref/netstandard1.3/it/System.Diagnostics.Tracing.xml", - "ref/netstandard1.3/ja/System.Diagnostics.Tracing.xml", - "ref/netstandard1.3/ko/System.Diagnostics.Tracing.xml", - "ref/netstandard1.3/ru/System.Diagnostics.Tracing.xml", - "ref/netstandard1.3/zh-hans/System.Diagnostics.Tracing.xml", - "ref/netstandard1.3/zh-hant/System.Diagnostics.Tracing.xml", - "ref/netstandard1.5/System.Diagnostics.Tracing.dll", - "ref/netstandard1.5/System.Diagnostics.Tracing.xml", - "ref/netstandard1.5/de/System.Diagnostics.Tracing.xml", - "ref/netstandard1.5/es/System.Diagnostics.Tracing.xml", - "ref/netstandard1.5/fr/System.Diagnostics.Tracing.xml", - "ref/netstandard1.5/it/System.Diagnostics.Tracing.xml", - "ref/netstandard1.5/ja/System.Diagnostics.Tracing.xml", - "ref/netstandard1.5/ko/System.Diagnostics.Tracing.xml", - "ref/netstandard1.5/ru/System.Diagnostics.Tracing.xml", - "ref/netstandard1.5/zh-hans/System.Diagnostics.Tracing.xml", - "ref/netstandard1.5/zh-hant/System.Diagnostics.Tracing.xml", - "ref/portable-net45+win8+wpa81/_._", - "ref/win8/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Dynamic.Runtime/4.0.11": { - "sha512": "db34f6LHYM0U0JpE+sOmjar27BnqTVkbLJhgfwMpTdgTigG/Hna3m2MYVwnFzGGKnEJk2UXFuoVTr8WUbU91/A==", - "type": "package", - "path": "System.Dynamic.Runtime/4.0.11", - "files": [ - "System.Dynamic.Runtime.4.0.11.nupkg.sha512", - "System.Dynamic.Runtime.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Dynamic.Runtime.dll", - "lib/netstandard1.3/System.Dynamic.Runtime.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Dynamic.Runtime.dll", - "ref/netcore50/System.Dynamic.Runtime.xml", - "ref/netcore50/de/System.Dynamic.Runtime.xml", - "ref/netcore50/es/System.Dynamic.Runtime.xml", - "ref/netcore50/fr/System.Dynamic.Runtime.xml", - "ref/netcore50/it/System.Dynamic.Runtime.xml", - "ref/netcore50/ja/System.Dynamic.Runtime.xml", - "ref/netcore50/ko/System.Dynamic.Runtime.xml", - "ref/netcore50/ru/System.Dynamic.Runtime.xml", - "ref/netcore50/zh-hans/System.Dynamic.Runtime.xml", - "ref/netcore50/zh-hant/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/System.Dynamic.Runtime.dll", - "ref/netstandard1.0/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/de/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/es/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/fr/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/it/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/ja/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/ko/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/ru/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/zh-hans/System.Dynamic.Runtime.xml", - "ref/netstandard1.0/zh-hant/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/System.Dynamic.Runtime.dll", - "ref/netstandard1.3/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/de/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/es/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/fr/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/it/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/ja/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/ko/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/ru/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/zh-hans/System.Dynamic.Runtime.xml", - "ref/netstandard1.3/zh-hant/System.Dynamic.Runtime.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Dynamic.Runtime.dll" - ] - }, - "System.Globalization/4.0.11": { - "sha512": "B95h0YLEL2oSnwF/XjqSWKnwKOy/01VWkNlsCeMTFJLLabflpGV26nK164eRs5GiaRSBGpOxQ3pKoSnnyZN5pg==", - "type": "package", - "path": "System.Globalization/4.0.11", - "files": [ - "System.Globalization.4.0.11.nupkg.sha512", - "System.Globalization.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Globalization.dll", - "ref/netcore50/System.Globalization.xml", - "ref/netcore50/de/System.Globalization.xml", - "ref/netcore50/es/System.Globalization.xml", - "ref/netcore50/fr/System.Globalization.xml", - "ref/netcore50/it/System.Globalization.xml", - "ref/netcore50/ja/System.Globalization.xml", - "ref/netcore50/ko/System.Globalization.xml", - "ref/netcore50/ru/System.Globalization.xml", - "ref/netcore50/zh-hans/System.Globalization.xml", - "ref/netcore50/zh-hant/System.Globalization.xml", - "ref/netstandard1.0/System.Globalization.dll", - "ref/netstandard1.0/System.Globalization.xml", - "ref/netstandard1.0/de/System.Globalization.xml", - "ref/netstandard1.0/es/System.Globalization.xml", - "ref/netstandard1.0/fr/System.Globalization.xml", - "ref/netstandard1.0/it/System.Globalization.xml", - "ref/netstandard1.0/ja/System.Globalization.xml", - "ref/netstandard1.0/ko/System.Globalization.xml", - "ref/netstandard1.0/ru/System.Globalization.xml", - "ref/netstandard1.0/zh-hans/System.Globalization.xml", - "ref/netstandard1.0/zh-hant/System.Globalization.xml", - "ref/netstandard1.3/System.Globalization.dll", - "ref/netstandard1.3/System.Globalization.xml", - "ref/netstandard1.3/de/System.Globalization.xml", - "ref/netstandard1.3/es/System.Globalization.xml", - "ref/netstandard1.3/fr/System.Globalization.xml", - "ref/netstandard1.3/it/System.Globalization.xml", - "ref/netstandard1.3/ja/System.Globalization.xml", - "ref/netstandard1.3/ko/System.Globalization.xml", - "ref/netstandard1.3/ru/System.Globalization.xml", - "ref/netstandard1.3/zh-hans/System.Globalization.xml", - "ref/netstandard1.3/zh-hant/System.Globalization.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Globalization.Calendars/4.0.1": { - "sha512": "L1c6IqeQ88vuzC1P81JeHmHA8mxq8a18NUBNXnIY/BVb+TCyAaGIFbhpZt60h9FJNmisymoQkHEFSE9Vslja1Q==", - "type": "package", - "path": "System.Globalization.Calendars/4.0.1", - "files": [ - "System.Globalization.Calendars.4.0.1.nupkg.sha512", - "System.Globalization.Calendars.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Globalization.Calendars.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Globalization.Calendars.dll", - "ref/netstandard1.3/System.Globalization.Calendars.dll", - "ref/netstandard1.3/System.Globalization.Calendars.xml", - "ref/netstandard1.3/de/System.Globalization.Calendars.xml", - "ref/netstandard1.3/es/System.Globalization.Calendars.xml", - "ref/netstandard1.3/fr/System.Globalization.Calendars.xml", - "ref/netstandard1.3/it/System.Globalization.Calendars.xml", - "ref/netstandard1.3/ja/System.Globalization.Calendars.xml", - "ref/netstandard1.3/ko/System.Globalization.Calendars.xml", - "ref/netstandard1.3/ru/System.Globalization.Calendars.xml", - "ref/netstandard1.3/zh-hans/System.Globalization.Calendars.xml", - "ref/netstandard1.3/zh-hant/System.Globalization.Calendars.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Globalization.Extensions/4.0.1": { - "sha512": "KKo23iKeOaIg61SSXwjANN7QYDr/3op3OWGGzDzz7mypx0Za0fZSeG0l6cco8Ntp8YMYkIQcAqlk8yhm5/Uhcg==", - "type": "package", - "path": "System.Globalization.Extensions/4.0.1", - "files": [ - "System.Globalization.Extensions.4.0.1.nupkg.sha512", - "System.Globalization.Extensions.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Globalization.Extensions.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Globalization.Extensions.dll", - "ref/netstandard1.3/System.Globalization.Extensions.dll", - "ref/netstandard1.3/System.Globalization.Extensions.xml", - "ref/netstandard1.3/de/System.Globalization.Extensions.xml", - "ref/netstandard1.3/es/System.Globalization.Extensions.xml", - "ref/netstandard1.3/fr/System.Globalization.Extensions.xml", - "ref/netstandard1.3/it/System.Globalization.Extensions.xml", - "ref/netstandard1.3/ja/System.Globalization.Extensions.xml", - "ref/netstandard1.3/ko/System.Globalization.Extensions.xml", - "ref/netstandard1.3/ru/System.Globalization.Extensions.xml", - "ref/netstandard1.3/zh-hans/System.Globalization.Extensions.xml", - "ref/netstandard1.3/zh-hant/System.Globalization.Extensions.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.Globalization.Extensions.dll", - "runtimes/win/lib/net46/System.Globalization.Extensions.dll", - "runtimes/win/lib/netstandard1.3/System.Globalization.Extensions.dll" - ] - }, - "System.Interactive.Async/3.0.0": { - "sha512": "UEM+WmG1Oq0bNbPx/E1jaIQ83QOrPfVDUyuYBtG6D6DpB77ytv9flPterMujumpHuoRjSc0ilSB8w41fQc05dw==", - "type": "package", - "path": "System.Interactive.Async/3.0.0", - "files": [ - "System.Interactive.Async.3.0.0.nupkg.sha512", - "System.Interactive.Async.nuspec", - "lib/net45/System.Interactive.Async.dll", - "lib/net45/System.Interactive.Async.xml", - "lib/netstandard1.0/System.Interactive.Async.dll", - "lib/netstandard1.0/System.Interactive.Async.xml" - ] - }, - "System.IO/4.1.0": { - "sha512": "3KlTJceQc3gnGIaHZ7UBZO26SHL1SHE4ddrmiwumFnId+CEHP+O8r386tZKaE6zlk5/mF8vifMBzHj9SaXN+mQ==", - "type": "package", - "path": "System.IO/4.1.0", - "files": [ - "System.IO.4.1.0.nupkg.sha512", - "System.IO.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net462/System.IO.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net462/System.IO.dll", - "ref/netcore50/System.IO.dll", - "ref/netcore50/System.IO.xml", - "ref/netcore50/de/System.IO.xml", - "ref/netcore50/es/System.IO.xml", - "ref/netcore50/fr/System.IO.xml", - "ref/netcore50/it/System.IO.xml", - "ref/netcore50/ja/System.IO.xml", - "ref/netcore50/ko/System.IO.xml", - "ref/netcore50/ru/System.IO.xml", - "ref/netcore50/zh-hans/System.IO.xml", - "ref/netcore50/zh-hant/System.IO.xml", - "ref/netstandard1.0/System.IO.dll", - "ref/netstandard1.0/System.IO.xml", - "ref/netstandard1.0/de/System.IO.xml", - "ref/netstandard1.0/es/System.IO.xml", - "ref/netstandard1.0/fr/System.IO.xml", - "ref/netstandard1.0/it/System.IO.xml", - "ref/netstandard1.0/ja/System.IO.xml", - "ref/netstandard1.0/ko/System.IO.xml", - "ref/netstandard1.0/ru/System.IO.xml", - "ref/netstandard1.0/zh-hans/System.IO.xml", - "ref/netstandard1.0/zh-hant/System.IO.xml", - "ref/netstandard1.3/System.IO.dll", - "ref/netstandard1.3/System.IO.xml", - "ref/netstandard1.3/de/System.IO.xml", - "ref/netstandard1.3/es/System.IO.xml", - "ref/netstandard1.3/fr/System.IO.xml", - "ref/netstandard1.3/it/System.IO.xml", - "ref/netstandard1.3/ja/System.IO.xml", - "ref/netstandard1.3/ko/System.IO.xml", - "ref/netstandard1.3/ru/System.IO.xml", - "ref/netstandard1.3/zh-hans/System.IO.xml", - "ref/netstandard1.3/zh-hant/System.IO.xml", - "ref/netstandard1.5/System.IO.dll", - "ref/netstandard1.5/System.IO.xml", - "ref/netstandard1.5/de/System.IO.xml", - "ref/netstandard1.5/es/System.IO.xml", - "ref/netstandard1.5/fr/System.IO.xml", - "ref/netstandard1.5/it/System.IO.xml", - "ref/netstandard1.5/ja/System.IO.xml", - "ref/netstandard1.5/ko/System.IO.xml", - "ref/netstandard1.5/ru/System.IO.xml", - "ref/netstandard1.5/zh-hans/System.IO.xml", - "ref/netstandard1.5/zh-hant/System.IO.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.IO.Compression/4.1.0": { - "sha512": "TjnBS6eztThSzeSib+WyVbLzEdLKUcEHN69VtS3u8aAsSc18FU6xCZlNWWsEd8SKcXAE+y1sOu7VbU8sUeM0sg==", - "type": "package", - "path": "System.IO.Compression/4.1.0", - "files": [ - "System.IO.Compression.4.1.0.nupkg.sha512", - "System.IO.Compression.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net46/System.IO.Compression.dll", - "lib/portable-net45+win8+wpa81/_._", - "lib/win8/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net46/System.IO.Compression.dll", - "ref/netcore50/System.IO.Compression.dll", - "ref/netcore50/System.IO.Compression.xml", - "ref/netcore50/de/System.IO.Compression.xml", - "ref/netcore50/es/System.IO.Compression.xml", - "ref/netcore50/fr/System.IO.Compression.xml", - "ref/netcore50/it/System.IO.Compression.xml", - "ref/netcore50/ja/System.IO.Compression.xml", - "ref/netcore50/ko/System.IO.Compression.xml", - "ref/netcore50/ru/System.IO.Compression.xml", - "ref/netcore50/zh-hans/System.IO.Compression.xml", - "ref/netcore50/zh-hant/System.IO.Compression.xml", - "ref/netstandard1.1/System.IO.Compression.dll", - "ref/netstandard1.1/System.IO.Compression.xml", - "ref/netstandard1.1/de/System.IO.Compression.xml", - "ref/netstandard1.1/es/System.IO.Compression.xml", - "ref/netstandard1.1/fr/System.IO.Compression.xml", - "ref/netstandard1.1/it/System.IO.Compression.xml", - "ref/netstandard1.1/ja/System.IO.Compression.xml", - "ref/netstandard1.1/ko/System.IO.Compression.xml", - "ref/netstandard1.1/ru/System.IO.Compression.xml", - "ref/netstandard1.1/zh-hans/System.IO.Compression.xml", - "ref/netstandard1.1/zh-hant/System.IO.Compression.xml", - "ref/netstandard1.3/System.IO.Compression.dll", - "ref/netstandard1.3/System.IO.Compression.xml", - "ref/netstandard1.3/de/System.IO.Compression.xml", - "ref/netstandard1.3/es/System.IO.Compression.xml", - "ref/netstandard1.3/fr/System.IO.Compression.xml", - "ref/netstandard1.3/it/System.IO.Compression.xml", - "ref/netstandard1.3/ja/System.IO.Compression.xml", - "ref/netstandard1.3/ko/System.IO.Compression.xml", - "ref/netstandard1.3/ru/System.IO.Compression.xml", - "ref/netstandard1.3/zh-hans/System.IO.Compression.xml", - "ref/netstandard1.3/zh-hant/System.IO.Compression.xml", - "ref/portable-net45+win8+wpa81/_._", - "ref/win8/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.IO.Compression.dll", - "runtimes/win/lib/net46/System.IO.Compression.dll", - "runtimes/win/lib/netstandard1.3/System.IO.Compression.dll" - ] - }, - "System.IO.Compression.ZipFile/4.0.1": { - "sha512": "hBQYJzfTbQURF10nLhd+az2NHxsU6MU7AB8RUf4IolBP5lOAm4Luho851xl+CqslmhI5ZH/el8BlngEk4lBkaQ==", - "type": "package", - "path": "System.IO.Compression.ZipFile/4.0.1", - "files": [ - "System.IO.Compression.ZipFile.4.0.1.nupkg.sha512", - "System.IO.Compression.ZipFile.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.IO.Compression.ZipFile.dll", - "lib/netstandard1.3/System.IO.Compression.ZipFile.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.IO.Compression.ZipFile.dll", - "ref/netstandard1.3/System.IO.Compression.ZipFile.dll", - "ref/netstandard1.3/System.IO.Compression.ZipFile.xml", - "ref/netstandard1.3/de/System.IO.Compression.ZipFile.xml", - "ref/netstandard1.3/es/System.IO.Compression.ZipFile.xml", - "ref/netstandard1.3/fr/System.IO.Compression.ZipFile.xml", - "ref/netstandard1.3/it/System.IO.Compression.ZipFile.xml", - "ref/netstandard1.3/ja/System.IO.Compression.ZipFile.xml", - "ref/netstandard1.3/ko/System.IO.Compression.ZipFile.xml", - "ref/netstandard1.3/ru/System.IO.Compression.ZipFile.xml", - "ref/netstandard1.3/zh-hans/System.IO.Compression.ZipFile.xml", - "ref/netstandard1.3/zh-hant/System.IO.Compression.ZipFile.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.IO.FileSystem/4.0.1": { - "sha512": "IBErlVq5jOggAD69bg1t0pJcHaDbJbWNUZTPI96fkYWzwYbN6D9wRHMULLDd9dHsl7C2YsxXL31LMfPI1SWt8w==", - "type": "package", - "path": "System.IO.FileSystem/4.0.1", - "files": [ - "System.IO.FileSystem.4.0.1.nupkg.sha512", - "System.IO.FileSystem.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.IO.FileSystem.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.IO.FileSystem.dll", - "ref/netstandard1.3/System.IO.FileSystem.dll", - "ref/netstandard1.3/System.IO.FileSystem.xml", - "ref/netstandard1.3/de/System.IO.FileSystem.xml", - "ref/netstandard1.3/es/System.IO.FileSystem.xml", - "ref/netstandard1.3/fr/System.IO.FileSystem.xml", - "ref/netstandard1.3/it/System.IO.FileSystem.xml", - "ref/netstandard1.3/ja/System.IO.FileSystem.xml", - "ref/netstandard1.3/ko/System.IO.FileSystem.xml", - "ref/netstandard1.3/ru/System.IO.FileSystem.xml", - "ref/netstandard1.3/zh-hans/System.IO.FileSystem.xml", - "ref/netstandard1.3/zh-hant/System.IO.FileSystem.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.IO.FileSystem.Primitives/4.0.1": { - "sha512": "kWkKD203JJKxJeE74p8aF8y4Qc9r9WQx4C0cHzHPrY3fv/L/IhWnyCHaFJ3H1QPOH6A93whlQ2vG5nHlBDvzWQ==", - "type": "package", - "path": "System.IO.FileSystem.Primitives/4.0.1", - "files": [ - "System.IO.FileSystem.Primitives.4.0.1.nupkg.sha512", - "System.IO.FileSystem.Primitives.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.IO.FileSystem.Primitives.dll", - "lib/netstandard1.3/System.IO.FileSystem.Primitives.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.IO.FileSystem.Primitives.dll", - "ref/netstandard1.3/System.IO.FileSystem.Primitives.dll", - "ref/netstandard1.3/System.IO.FileSystem.Primitives.xml", - "ref/netstandard1.3/de/System.IO.FileSystem.Primitives.xml", - "ref/netstandard1.3/es/System.IO.FileSystem.Primitives.xml", - "ref/netstandard1.3/fr/System.IO.FileSystem.Primitives.xml", - "ref/netstandard1.3/it/System.IO.FileSystem.Primitives.xml", - "ref/netstandard1.3/ja/System.IO.FileSystem.Primitives.xml", - "ref/netstandard1.3/ko/System.IO.FileSystem.Primitives.xml", - "ref/netstandard1.3/ru/System.IO.FileSystem.Primitives.xml", - "ref/netstandard1.3/zh-hans/System.IO.FileSystem.Primitives.xml", - "ref/netstandard1.3/zh-hant/System.IO.FileSystem.Primitives.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.IO.FileSystem.Watcher/4.0.0": { - "sha512": "qM4Wr3La+RYb/03B0mZZjbA7tHsGzDffnuXP8Sl48HW2JwCjn3kfD5qdw0sqyNNowUipcJMi9/q6sMUrOIJ6UQ==", - "type": "package", - "path": "System.IO.FileSystem.Watcher/4.0.0", - "files": [ - "System.IO.FileSystem.Watcher.4.0.0.nupkg.sha512", - "System.IO.FileSystem.Watcher.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.IO.FileSystem.Watcher.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.IO.FileSystem.Watcher.dll", - "ref/netstandard1.3/System.IO.FileSystem.Watcher.dll", - "ref/netstandard1.3/System.IO.FileSystem.Watcher.xml", - "ref/netstandard1.3/de/System.IO.FileSystem.Watcher.xml", - "ref/netstandard1.3/es/System.IO.FileSystem.Watcher.xml", - "ref/netstandard1.3/fr/System.IO.FileSystem.Watcher.xml", - "ref/netstandard1.3/it/System.IO.FileSystem.Watcher.xml", - "ref/netstandard1.3/ja/System.IO.FileSystem.Watcher.xml", - "ref/netstandard1.3/ko/System.IO.FileSystem.Watcher.xml", - "ref/netstandard1.3/ru/System.IO.FileSystem.Watcher.xml", - "ref/netstandard1.3/zh-hans/System.IO.FileSystem.Watcher.xml", - "ref/netstandard1.3/zh-hant/System.IO.FileSystem.Watcher.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/linux/lib/netstandard1.3/System.IO.FileSystem.Watcher.dll", - "runtimes/osx/lib/netstandard1.3/System.IO.FileSystem.Watcher.dll", - "runtimes/win/lib/net46/System.IO.FileSystem.Watcher.dll", - "runtimes/win/lib/netstandard1.3/System.IO.FileSystem.Watcher.dll", - "runtimes/win7/lib/netcore50/_._" - ] - }, - "System.IO.MemoryMappedFiles/4.0.0": { - "sha512": "Xqj4xaFAnLVpss9ZSUIvB/VdJAA7GxZDnFGDKJfiGAnZ5VnFROn6eOHWepFpujCYTsh6wlZ3B33bqYkF0QJ7Eg==", - "type": "package", - "path": "System.IO.MemoryMappedFiles/4.0.0", - "files": [ - "System.IO.MemoryMappedFiles.4.0.0.nupkg.sha512", - "System.IO.MemoryMappedFiles.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.IO.MemoryMappedFiles.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.IO.MemoryMappedFiles.dll", - "ref/netstandard1.3/System.IO.MemoryMappedFiles.dll", - "ref/netstandard1.3/System.IO.MemoryMappedFiles.xml", - "ref/netstandard1.3/de/System.IO.MemoryMappedFiles.xml", - "ref/netstandard1.3/es/System.IO.MemoryMappedFiles.xml", - "ref/netstandard1.3/fr/System.IO.MemoryMappedFiles.xml", - "ref/netstandard1.3/it/System.IO.MemoryMappedFiles.xml", - "ref/netstandard1.3/ja/System.IO.MemoryMappedFiles.xml", - "ref/netstandard1.3/ko/System.IO.MemoryMappedFiles.xml", - "ref/netstandard1.3/ru/System.IO.MemoryMappedFiles.xml", - "ref/netstandard1.3/zh-hans/System.IO.MemoryMappedFiles.xml", - "ref/netstandard1.3/zh-hant/System.IO.MemoryMappedFiles.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.IO.MemoryMappedFiles.dll", - "runtimes/win/lib/net46/System.IO.MemoryMappedFiles.dll", - "runtimes/win/lib/netcore50/System.IO.MemoryMappedFiles.dll", - "runtimes/win/lib/netstandard1.3/System.IO.MemoryMappedFiles.dll" - ] - }, - "System.IO.UnmanagedMemoryStream/4.0.1": { - "sha512": "wcq0kXcpfJwdl1Y4/ZjDk7Dhx5HdLyRYYWYmD8Nn8skoGYYQd2BQWbXwjWSczip8AL4Z57o2dWWXAl4aABAKiQ==", - "type": "package", - "path": "System.IO.UnmanagedMemoryStream/4.0.1", - "files": [ - "System.IO.UnmanagedMemoryStream.4.0.1.nupkg.sha512", - "System.IO.UnmanagedMemoryStream.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.IO.UnmanagedMemoryStream.dll", - "lib/netstandard1.3/System.IO.UnmanagedMemoryStream.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.IO.UnmanagedMemoryStream.dll", - "ref/netstandard1.3/System.IO.UnmanagedMemoryStream.dll", - "ref/netstandard1.3/System.IO.UnmanagedMemoryStream.xml", - "ref/netstandard1.3/de/System.IO.UnmanagedMemoryStream.xml", - "ref/netstandard1.3/es/System.IO.UnmanagedMemoryStream.xml", - "ref/netstandard1.3/fr/System.IO.UnmanagedMemoryStream.xml", - "ref/netstandard1.3/it/System.IO.UnmanagedMemoryStream.xml", - "ref/netstandard1.3/ja/System.IO.UnmanagedMemoryStream.xml", - "ref/netstandard1.3/ko/System.IO.UnmanagedMemoryStream.xml", - "ref/netstandard1.3/ru/System.IO.UnmanagedMemoryStream.xml", - "ref/netstandard1.3/zh-hans/System.IO.UnmanagedMemoryStream.xml", - "ref/netstandard1.3/zh-hant/System.IO.UnmanagedMemoryStream.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Linq/4.1.0": { - "sha512": "bQ0iYFOQI0nuTnt+NQADns6ucV4DUvMdwN6CbkB1yj8i7arTGiTN5eok1kQwdnnNWSDZfIUySQY+J3d5KjWn0g==", - "type": "package", - "path": "System.Linq/4.1.0", - "files": [ - "System.Linq.4.1.0.nupkg.sha512", - "System.Linq.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net463/System.Linq.dll", - "lib/netcore50/System.Linq.dll", - "lib/netstandard1.6/System.Linq.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net463/System.Linq.dll", - "ref/netcore50/System.Linq.dll", - "ref/netcore50/System.Linq.xml", - "ref/netcore50/de/System.Linq.xml", - "ref/netcore50/es/System.Linq.xml", - "ref/netcore50/fr/System.Linq.xml", - "ref/netcore50/it/System.Linq.xml", - "ref/netcore50/ja/System.Linq.xml", - "ref/netcore50/ko/System.Linq.xml", - "ref/netcore50/ru/System.Linq.xml", - "ref/netcore50/zh-hans/System.Linq.xml", - "ref/netcore50/zh-hant/System.Linq.xml", - "ref/netstandard1.0/System.Linq.dll", - "ref/netstandard1.0/System.Linq.xml", - "ref/netstandard1.0/de/System.Linq.xml", - "ref/netstandard1.0/es/System.Linq.xml", - "ref/netstandard1.0/fr/System.Linq.xml", - "ref/netstandard1.0/it/System.Linq.xml", - "ref/netstandard1.0/ja/System.Linq.xml", - "ref/netstandard1.0/ko/System.Linq.xml", - "ref/netstandard1.0/ru/System.Linq.xml", - "ref/netstandard1.0/zh-hans/System.Linq.xml", - "ref/netstandard1.0/zh-hant/System.Linq.xml", - "ref/netstandard1.6/System.Linq.dll", - "ref/netstandard1.6/System.Linq.xml", - "ref/netstandard1.6/de/System.Linq.xml", - "ref/netstandard1.6/es/System.Linq.xml", - "ref/netstandard1.6/fr/System.Linq.xml", - "ref/netstandard1.6/it/System.Linq.xml", - "ref/netstandard1.6/ja/System.Linq.xml", - "ref/netstandard1.6/ko/System.Linq.xml", - "ref/netstandard1.6/ru/System.Linq.xml", - "ref/netstandard1.6/zh-hans/System.Linq.xml", - "ref/netstandard1.6/zh-hant/System.Linq.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Linq.Expressions/4.1.0": { - "sha512": "I+y02iqkgmCAyfbqOmSDOgqdZQ5tTj80Akm5BPSS8EeB0VGWdy6X1KCoYe8Pk6pwDoAKZUOdLVxnTJcExiv5zw==", - "type": "package", - "path": "System.Linq.Expressions/4.1.0", - "files": [ - "System.Linq.Expressions.4.1.0.nupkg.sha512", - "System.Linq.Expressions.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net463/System.Linq.Expressions.dll", - "lib/netcore50/System.Linq.Expressions.dll", - "lib/netstandard1.6/System.Linq.Expressions.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net463/System.Linq.Expressions.dll", - "ref/netcore50/System.Linq.Expressions.dll", - "ref/netcore50/System.Linq.Expressions.xml", - "ref/netcore50/de/System.Linq.Expressions.xml", - "ref/netcore50/es/System.Linq.Expressions.xml", - "ref/netcore50/fr/System.Linq.Expressions.xml", - "ref/netcore50/it/System.Linq.Expressions.xml", - "ref/netcore50/ja/System.Linq.Expressions.xml", - "ref/netcore50/ko/System.Linq.Expressions.xml", - "ref/netcore50/ru/System.Linq.Expressions.xml", - "ref/netcore50/zh-hans/System.Linq.Expressions.xml", - "ref/netcore50/zh-hant/System.Linq.Expressions.xml", - "ref/netstandard1.0/System.Linq.Expressions.dll", - "ref/netstandard1.0/System.Linq.Expressions.xml", - "ref/netstandard1.0/de/System.Linq.Expressions.xml", - "ref/netstandard1.0/es/System.Linq.Expressions.xml", - "ref/netstandard1.0/fr/System.Linq.Expressions.xml", - "ref/netstandard1.0/it/System.Linq.Expressions.xml", - "ref/netstandard1.0/ja/System.Linq.Expressions.xml", - "ref/netstandard1.0/ko/System.Linq.Expressions.xml", - "ref/netstandard1.0/ru/System.Linq.Expressions.xml", - "ref/netstandard1.0/zh-hans/System.Linq.Expressions.xml", - "ref/netstandard1.0/zh-hant/System.Linq.Expressions.xml", - "ref/netstandard1.3/System.Linq.Expressions.dll", - "ref/netstandard1.3/System.Linq.Expressions.xml", - "ref/netstandard1.3/de/System.Linq.Expressions.xml", - "ref/netstandard1.3/es/System.Linq.Expressions.xml", - "ref/netstandard1.3/fr/System.Linq.Expressions.xml", - "ref/netstandard1.3/it/System.Linq.Expressions.xml", - "ref/netstandard1.3/ja/System.Linq.Expressions.xml", - "ref/netstandard1.3/ko/System.Linq.Expressions.xml", - "ref/netstandard1.3/ru/System.Linq.Expressions.xml", - "ref/netstandard1.3/zh-hans/System.Linq.Expressions.xml", - "ref/netstandard1.3/zh-hant/System.Linq.Expressions.xml", - "ref/netstandard1.6/System.Linq.Expressions.dll", - "ref/netstandard1.6/System.Linq.Expressions.xml", - "ref/netstandard1.6/de/System.Linq.Expressions.xml", - "ref/netstandard1.6/es/System.Linq.Expressions.xml", - "ref/netstandard1.6/fr/System.Linq.Expressions.xml", - "ref/netstandard1.6/it/System.Linq.Expressions.xml", - "ref/netstandard1.6/ja/System.Linq.Expressions.xml", - "ref/netstandard1.6/ko/System.Linq.Expressions.xml", - "ref/netstandard1.6/ru/System.Linq.Expressions.xml", - "ref/netstandard1.6/zh-hans/System.Linq.Expressions.xml", - "ref/netstandard1.6/zh-hant/System.Linq.Expressions.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Linq.Expressions.dll" - ] - }, - "System.Linq.Parallel/4.0.1": { - "sha512": "J7XCa7n2cFn32uLbtceXfBFhgCk5M++50lylHKNbqTiJkw5y4Tglpi6amuJNPCvj9bLzNSI7rs1fi4joLMNRgg==", - "type": "package", - "path": "System.Linq.Parallel/4.0.1", - "files": [ - "System.Linq.Parallel.4.0.1.nupkg.sha512", - "System.Linq.Parallel.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Linq.Parallel.dll", - "lib/netstandard1.3/System.Linq.Parallel.dll", - "lib/portable-net45+win8+wpa81/_._", - "lib/win8/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Linq.Parallel.dll", - "ref/netcore50/System.Linq.Parallel.xml", - "ref/netcore50/de/System.Linq.Parallel.xml", - "ref/netcore50/es/System.Linq.Parallel.xml", - "ref/netcore50/fr/System.Linq.Parallel.xml", - "ref/netcore50/it/System.Linq.Parallel.xml", - "ref/netcore50/ja/System.Linq.Parallel.xml", - "ref/netcore50/ko/System.Linq.Parallel.xml", - "ref/netcore50/ru/System.Linq.Parallel.xml", - "ref/netcore50/zh-hans/System.Linq.Parallel.xml", - "ref/netcore50/zh-hant/System.Linq.Parallel.xml", - "ref/netstandard1.1/System.Linq.Parallel.dll", - "ref/netstandard1.1/System.Linq.Parallel.xml", - "ref/netstandard1.1/de/System.Linq.Parallel.xml", - "ref/netstandard1.1/es/System.Linq.Parallel.xml", - "ref/netstandard1.1/fr/System.Linq.Parallel.xml", - "ref/netstandard1.1/it/System.Linq.Parallel.xml", - "ref/netstandard1.1/ja/System.Linq.Parallel.xml", - "ref/netstandard1.1/ko/System.Linq.Parallel.xml", - "ref/netstandard1.1/ru/System.Linq.Parallel.xml", - "ref/netstandard1.1/zh-hans/System.Linq.Parallel.xml", - "ref/netstandard1.1/zh-hant/System.Linq.Parallel.xml", - "ref/portable-net45+win8+wpa81/_._", - "ref/win8/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Linq.Queryable/4.0.1": { - "sha512": "Yn/WfYe9RoRfmSLvUt2JerP0BTGGykCZkQPgojaxgzF2N0oPo+/AhB8TXOpdCcNlrG3VRtsamtK2uzsp3cqRVw==", - "type": "package", - "path": "System.Linq.Queryable/4.0.1", - "files": [ - "System.Linq.Queryable.4.0.1.nupkg.sha512", - "System.Linq.Queryable.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/monoandroid10/_._", - "lib/monotouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Linq.Queryable.dll", - "lib/netstandard1.3/System.Linq.Queryable.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/monoandroid10/_._", - "ref/monotouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Linq.Queryable.dll", - "ref/netcore50/System.Linq.Queryable.xml", - "ref/netcore50/de/System.Linq.Queryable.xml", - "ref/netcore50/es/System.Linq.Queryable.xml", - "ref/netcore50/fr/System.Linq.Queryable.xml", - "ref/netcore50/it/System.Linq.Queryable.xml", - "ref/netcore50/ja/System.Linq.Queryable.xml", - "ref/netcore50/ko/System.Linq.Queryable.xml", - "ref/netcore50/ru/System.Linq.Queryable.xml", - "ref/netcore50/zh-hans/System.Linq.Queryable.xml", - "ref/netcore50/zh-hant/System.Linq.Queryable.xml", - "ref/netstandard1.0/System.Linq.Queryable.dll", - "ref/netstandard1.0/System.Linq.Queryable.xml", - "ref/netstandard1.0/de/System.Linq.Queryable.xml", - "ref/netstandard1.0/es/System.Linq.Queryable.xml", - "ref/netstandard1.0/fr/System.Linq.Queryable.xml", - "ref/netstandard1.0/it/System.Linq.Queryable.xml", - "ref/netstandard1.0/ja/System.Linq.Queryable.xml", - "ref/netstandard1.0/ko/System.Linq.Queryable.xml", - "ref/netstandard1.0/ru/System.Linq.Queryable.xml", - "ref/netstandard1.0/zh-hans/System.Linq.Queryable.xml", - "ref/netstandard1.0/zh-hant/System.Linq.Queryable.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Net.Http/4.1.0": { - "sha512": "ULq9g3SOPVuupt+Y3U+A37coXzdNisB1neFCSKzBwo182u0RDddKJF8I5+HfyXqK6OhJPgeoAwWXrbiUXuRDsg==", - "type": "package", - "path": "System.Net.Http/4.1.0", - "files": [ - "System.Net.Http.4.1.0.nupkg.sha512", - "System.Net.Http.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/Xamarinmac20/_._", - "lib/monoandroid10/_._", - "lib/monotouch10/_._", - "lib/net45/_._", - "lib/net46/System.Net.Http.dll", - "lib/portable-net45+win8+wpa81/_._", - "lib/win8/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/Xamarinmac20/_._", - "ref/monoandroid10/_._", - "ref/monotouch10/_._", - "ref/net45/_._", - "ref/net46/System.Net.Http.dll", - "ref/net46/System.Net.Http.xml", - "ref/net46/de/System.Net.Http.xml", - "ref/net46/es/System.Net.Http.xml", - "ref/net46/fr/System.Net.Http.xml", - "ref/net46/it/System.Net.Http.xml", - "ref/net46/ja/System.Net.Http.xml", - "ref/net46/ko/System.Net.Http.xml", - "ref/net46/ru/System.Net.Http.xml", - "ref/net46/zh-hans/System.Net.Http.xml", - "ref/net46/zh-hant/System.Net.Http.xml", - "ref/netcore50/System.Net.Http.dll", - "ref/netcore50/System.Net.Http.xml", - "ref/netcore50/de/System.Net.Http.xml", - "ref/netcore50/es/System.Net.Http.xml", - "ref/netcore50/fr/System.Net.Http.xml", - "ref/netcore50/it/System.Net.Http.xml", - "ref/netcore50/ja/System.Net.Http.xml", - "ref/netcore50/ko/System.Net.Http.xml", - "ref/netcore50/ru/System.Net.Http.xml", - "ref/netcore50/zh-hans/System.Net.Http.xml", - "ref/netcore50/zh-hant/System.Net.Http.xml", - "ref/netstandard1.1/System.Net.Http.dll", - "ref/netstandard1.1/System.Net.Http.xml", - "ref/netstandard1.1/de/System.Net.Http.xml", - "ref/netstandard1.1/es/System.Net.Http.xml", - "ref/netstandard1.1/fr/System.Net.Http.xml", - "ref/netstandard1.1/it/System.Net.Http.xml", - "ref/netstandard1.1/ja/System.Net.Http.xml", - "ref/netstandard1.1/ko/System.Net.Http.xml", - "ref/netstandard1.1/ru/System.Net.Http.xml", - "ref/netstandard1.1/zh-hans/System.Net.Http.xml", - "ref/netstandard1.1/zh-hant/System.Net.Http.xml", - "ref/netstandard1.3/System.Net.Http.dll", - "ref/netstandard1.3/System.Net.Http.xml", - "ref/netstandard1.3/de/System.Net.Http.xml", - "ref/netstandard1.3/es/System.Net.Http.xml", - "ref/netstandard1.3/fr/System.Net.Http.xml", - "ref/netstandard1.3/it/System.Net.Http.xml", - "ref/netstandard1.3/ja/System.Net.Http.xml", - "ref/netstandard1.3/ko/System.Net.Http.xml", - "ref/netstandard1.3/ru/System.Net.Http.xml", - "ref/netstandard1.3/zh-hans/System.Net.Http.xml", - "ref/netstandard1.3/zh-hant/System.Net.Http.xml", - "ref/portable-net45+win8+wpa81/_._", - "ref/win8/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.6/System.Net.Http.dll", - "runtimes/win/lib/net46/System.Net.Http.dll", - "runtimes/win/lib/netcore50/System.Net.Http.dll", - "runtimes/win/lib/netstandard1.3/System.Net.Http.dll" - ] - }, - "System.Net.NameResolution/4.0.0": { - "sha512": "JdqRdM1Qym3YehqdKIi5LHrpypP4JMfxKQSNCJ2z4WawkG0il+N3XfNeJOxll2XrTnG7WgYYPoeiu/KOwg0DQw==", - "type": "package", - "path": "System.Net.NameResolution/4.0.0", - "files": [ - "System.Net.NameResolution.4.0.0.nupkg.sha512", - "System.Net.NameResolution.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Net.NameResolution.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Net.NameResolution.dll", - "ref/netstandard1.3/System.Net.NameResolution.dll", - "ref/netstandard1.3/System.Net.NameResolution.xml", - "ref/netstandard1.3/de/System.Net.NameResolution.xml", - "ref/netstandard1.3/es/System.Net.NameResolution.xml", - "ref/netstandard1.3/fr/System.Net.NameResolution.xml", - "ref/netstandard1.3/it/System.Net.NameResolution.xml", - "ref/netstandard1.3/ja/System.Net.NameResolution.xml", - "ref/netstandard1.3/ko/System.Net.NameResolution.xml", - "ref/netstandard1.3/ru/System.Net.NameResolution.xml", - "ref/netstandard1.3/zh-hans/System.Net.NameResolution.xml", - "ref/netstandard1.3/zh-hant/System.Net.NameResolution.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.Net.NameResolution.dll", - "runtimes/win/lib/net46/System.Net.NameResolution.dll", - "runtimes/win/lib/netcore50/System.Net.NameResolution.dll", - "runtimes/win/lib/netstandard1.3/System.Net.NameResolution.dll" - ] - }, - "System.Net.Primitives/4.0.11": { - "sha512": "hVvfl4405DRjA2408luZekbPhplJK03j2Y2lSfMlny7GHXlkByw1iLnc9mgKW0GdQn73vvMcWrWewAhylXA4Nw==", - "type": "package", - "path": "System.Net.Primitives/4.0.11", - "files": [ - "System.Net.Primitives.4.0.11.nupkg.sha512", - "System.Net.Primitives.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Net.Primitives.dll", - "ref/netcore50/System.Net.Primitives.xml", - "ref/netcore50/de/System.Net.Primitives.xml", - "ref/netcore50/es/System.Net.Primitives.xml", - "ref/netcore50/fr/System.Net.Primitives.xml", - "ref/netcore50/it/System.Net.Primitives.xml", - "ref/netcore50/ja/System.Net.Primitives.xml", - "ref/netcore50/ko/System.Net.Primitives.xml", - "ref/netcore50/ru/System.Net.Primitives.xml", - "ref/netcore50/zh-hans/System.Net.Primitives.xml", - "ref/netcore50/zh-hant/System.Net.Primitives.xml", - "ref/netstandard1.0/System.Net.Primitives.dll", - "ref/netstandard1.0/System.Net.Primitives.xml", - "ref/netstandard1.0/de/System.Net.Primitives.xml", - "ref/netstandard1.0/es/System.Net.Primitives.xml", - "ref/netstandard1.0/fr/System.Net.Primitives.xml", - "ref/netstandard1.0/it/System.Net.Primitives.xml", - "ref/netstandard1.0/ja/System.Net.Primitives.xml", - "ref/netstandard1.0/ko/System.Net.Primitives.xml", - "ref/netstandard1.0/ru/System.Net.Primitives.xml", - "ref/netstandard1.0/zh-hans/System.Net.Primitives.xml", - "ref/netstandard1.0/zh-hant/System.Net.Primitives.xml", - "ref/netstandard1.1/System.Net.Primitives.dll", - "ref/netstandard1.1/System.Net.Primitives.xml", - "ref/netstandard1.1/de/System.Net.Primitives.xml", - "ref/netstandard1.1/es/System.Net.Primitives.xml", - "ref/netstandard1.1/fr/System.Net.Primitives.xml", - "ref/netstandard1.1/it/System.Net.Primitives.xml", - "ref/netstandard1.1/ja/System.Net.Primitives.xml", - "ref/netstandard1.1/ko/System.Net.Primitives.xml", - "ref/netstandard1.1/ru/System.Net.Primitives.xml", - "ref/netstandard1.1/zh-hans/System.Net.Primitives.xml", - "ref/netstandard1.1/zh-hant/System.Net.Primitives.xml", - "ref/netstandard1.3/System.Net.Primitives.dll", - "ref/netstandard1.3/System.Net.Primitives.xml", - "ref/netstandard1.3/de/System.Net.Primitives.xml", - "ref/netstandard1.3/es/System.Net.Primitives.xml", - "ref/netstandard1.3/fr/System.Net.Primitives.xml", - "ref/netstandard1.3/it/System.Net.Primitives.xml", - "ref/netstandard1.3/ja/System.Net.Primitives.xml", - "ref/netstandard1.3/ko/System.Net.Primitives.xml", - "ref/netstandard1.3/ru/System.Net.Primitives.xml", - "ref/netstandard1.3/zh-hans/System.Net.Primitives.xml", - "ref/netstandard1.3/zh-hant/System.Net.Primitives.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Net.Requests/4.0.11": { - "sha512": "vxGt7C0cZixN+VqoSW4Yakc1Y9WknmxauDqzxgpw/FnBdz4kQNN51l4wxdXX5VY1xjqy//+G+4CvJWp1+f+y6Q==", - "type": "package", - "path": "System.Net.Requests/4.0.11", - "files": [ - "System.Net.Requests.4.0.11.nupkg.sha512", - "System.Net.Requests.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net46/_._", - "ref/netcore50/System.Net.Requests.dll", - "ref/netcore50/System.Net.Requests.xml", - "ref/netcore50/de/System.Net.Requests.xml", - "ref/netcore50/es/System.Net.Requests.xml", - "ref/netcore50/fr/System.Net.Requests.xml", - "ref/netcore50/it/System.Net.Requests.xml", - "ref/netcore50/ja/System.Net.Requests.xml", - "ref/netcore50/ko/System.Net.Requests.xml", - "ref/netcore50/ru/System.Net.Requests.xml", - "ref/netcore50/zh-hans/System.Net.Requests.xml", - "ref/netcore50/zh-hant/System.Net.Requests.xml", - "ref/netstandard1.0/System.Net.Requests.dll", - "ref/netstandard1.0/System.Net.Requests.xml", - "ref/netstandard1.0/de/System.Net.Requests.xml", - "ref/netstandard1.0/es/System.Net.Requests.xml", - "ref/netstandard1.0/fr/System.Net.Requests.xml", - "ref/netstandard1.0/it/System.Net.Requests.xml", - "ref/netstandard1.0/ja/System.Net.Requests.xml", - "ref/netstandard1.0/ko/System.Net.Requests.xml", - "ref/netstandard1.0/ru/System.Net.Requests.xml", - "ref/netstandard1.0/zh-hans/System.Net.Requests.xml", - "ref/netstandard1.0/zh-hant/System.Net.Requests.xml", - "ref/netstandard1.1/System.Net.Requests.dll", - "ref/netstandard1.1/System.Net.Requests.xml", - "ref/netstandard1.1/de/System.Net.Requests.xml", - "ref/netstandard1.1/es/System.Net.Requests.xml", - "ref/netstandard1.1/fr/System.Net.Requests.xml", - "ref/netstandard1.1/it/System.Net.Requests.xml", - "ref/netstandard1.1/ja/System.Net.Requests.xml", - "ref/netstandard1.1/ko/System.Net.Requests.xml", - "ref/netstandard1.1/ru/System.Net.Requests.xml", - "ref/netstandard1.1/zh-hans/System.Net.Requests.xml", - "ref/netstandard1.1/zh-hant/System.Net.Requests.xml", - "ref/netstandard1.3/System.Net.Requests.dll", - "ref/netstandard1.3/System.Net.Requests.xml", - "ref/netstandard1.3/de/System.Net.Requests.xml", - "ref/netstandard1.3/es/System.Net.Requests.xml", - "ref/netstandard1.3/fr/System.Net.Requests.xml", - "ref/netstandard1.3/it/System.Net.Requests.xml", - "ref/netstandard1.3/ja/System.Net.Requests.xml", - "ref/netstandard1.3/ko/System.Net.Requests.xml", - "ref/netstandard1.3/ru/System.Net.Requests.xml", - "ref/netstandard1.3/zh-hans/System.Net.Requests.xml", - "ref/netstandard1.3/zh-hant/System.Net.Requests.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.Net.Requests.dll", - "runtimes/win/lib/net46/_._", - "runtimes/win/lib/netstandard1.3/System.Net.Requests.dll" - ] - }, - "System.Net.Security/4.0.0": { - "sha512": "uM1JaYJciCc2w7efD6du0EpQ1n5ZQqE6/P43/aI4H5E59qvP+wt3l70KIUF/Ha7NaeXGoGNFPVO0MB80pVHk2g==", - "type": "package", - "path": "System.Net.Security/4.0.0", - "files": [ - "System.Net.Security.4.0.0.nupkg.sha512", - "System.Net.Security.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Net.Security.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Net.Security.dll", - "ref/netstandard1.3/System.Net.Security.dll", - "ref/netstandard1.3/System.Net.Security.xml", - "ref/netstandard1.3/de/System.Net.Security.xml", - "ref/netstandard1.3/es/System.Net.Security.xml", - "ref/netstandard1.3/fr/System.Net.Security.xml", - "ref/netstandard1.3/it/System.Net.Security.xml", - "ref/netstandard1.3/ja/System.Net.Security.xml", - "ref/netstandard1.3/ko/System.Net.Security.xml", - "ref/netstandard1.3/ru/System.Net.Security.xml", - "ref/netstandard1.3/zh-hans/System.Net.Security.xml", - "ref/netstandard1.3/zh-hant/System.Net.Security.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.6/System.Net.Security.dll", - "runtimes/win/lib/net46/System.Net.Security.dll", - "runtimes/win/lib/netstandard1.3/System.Net.Security.dll", - "runtimes/win7/lib/netcore50/_._" - ] - }, - "System.Net.Sockets/4.1.0": { - "sha512": "xAz0N3dAV/aR/9g8r0Y5oEqU1JRsz29F5EGb/WVHmX3jVSLqi2/92M5hTad2aNWovruXrJpJtgZ9fccPMG9uSw==", - "type": "package", - "path": "System.Net.Sockets/4.1.0", - "files": [ - "System.Net.Sockets.4.1.0.nupkg.sha512", - "System.Net.Sockets.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Net.Sockets.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Net.Sockets.dll", - "ref/netstandard1.3/System.Net.Sockets.dll", - "ref/netstandard1.3/System.Net.Sockets.xml", - "ref/netstandard1.3/de/System.Net.Sockets.xml", - "ref/netstandard1.3/es/System.Net.Sockets.xml", - "ref/netstandard1.3/fr/System.Net.Sockets.xml", - "ref/netstandard1.3/it/System.Net.Sockets.xml", - "ref/netstandard1.3/ja/System.Net.Sockets.xml", - "ref/netstandard1.3/ko/System.Net.Sockets.xml", - "ref/netstandard1.3/ru/System.Net.Sockets.xml", - "ref/netstandard1.3/zh-hans/System.Net.Sockets.xml", - "ref/netstandard1.3/zh-hant/System.Net.Sockets.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Net.WebHeaderCollection/4.0.1": { - "sha512": "XX2TIAN+wBSAIV51BU2FvvXMdstUa8b0FBSZmDWjZdwUMmggQSifpTOZ5fNH20z9ZCg2fkV1L5SsZnpO2RQDRQ==", - "type": "package", - "path": "System.Net.WebHeaderCollection/4.0.1", - "files": [ - "System.Net.WebHeaderCollection.4.0.1.nupkg.sha512", - "System.Net.WebHeaderCollection.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/_._", - "lib/netstandard1.3/System.Net.WebHeaderCollection.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/_._", - "ref/netstandard1.3/System.Net.WebHeaderCollection.dll", - "ref/netstandard1.3/System.Net.WebHeaderCollection.xml", - "ref/netstandard1.3/de/System.Net.WebHeaderCollection.xml", - "ref/netstandard1.3/es/System.Net.WebHeaderCollection.xml", - "ref/netstandard1.3/fr/System.Net.WebHeaderCollection.xml", - "ref/netstandard1.3/it/System.Net.WebHeaderCollection.xml", - "ref/netstandard1.3/ja/System.Net.WebHeaderCollection.xml", - "ref/netstandard1.3/ko/System.Net.WebHeaderCollection.xml", - "ref/netstandard1.3/ru/System.Net.WebHeaderCollection.xml", - "ref/netstandard1.3/zh-hans/System.Net.WebHeaderCollection.xml", - "ref/netstandard1.3/zh-hant/System.Net.WebHeaderCollection.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Net.WebSockets/4.0.0": { - "sha512": "2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==", - "type": "package", - "path": "System.Net.WebSockets/4.0.0", - "files": [ - "System.Net.WebSockets.4.0.0.nupkg.sha512", - "System.Net.WebSockets.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Net.WebSockets.dll", - "lib/netstandard1.3/System.Net.WebSockets.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Net.WebSockets.dll", - "ref/netstandard1.3/System.Net.WebSockets.dll", - "ref/netstandard1.3/System.Net.WebSockets.xml", - "ref/netstandard1.3/de/System.Net.WebSockets.xml", - "ref/netstandard1.3/es/System.Net.WebSockets.xml", - "ref/netstandard1.3/fr/System.Net.WebSockets.xml", - "ref/netstandard1.3/it/System.Net.WebSockets.xml", - "ref/netstandard1.3/ja/System.Net.WebSockets.xml", - "ref/netstandard1.3/ko/System.Net.WebSockets.xml", - "ref/netstandard1.3/ru/System.Net.WebSockets.xml", - "ref/netstandard1.3/zh-hans/System.Net.WebSockets.xml", - "ref/netstandard1.3/zh-hant/System.Net.WebSockets.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Net.WebSockets.Client/4.0.0": { - "sha512": "GY5h9cn0ZVsG4ORQqMytTldrqxet2RC2CSEsgWGf4XNW5jhL5SxzcUZph03xbZsgn7K3qMr+Rq+gkbJNI+FEXg==", - "type": "package", - "path": "System.Net.WebSockets.Client/4.0.0", - "files": [ - "System.Net.WebSockets.Client.4.0.0.nupkg.sha512", - "System.Net.WebSockets.Client.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Net.WebSockets.Client.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Net.WebSockets.Client.dll", - "ref/netstandard1.3/System.Net.WebSockets.Client.dll", - "ref/netstandard1.3/System.Net.WebSockets.Client.xml", - "ref/netstandard1.3/de/System.Net.WebSockets.Client.xml", - "ref/netstandard1.3/es/System.Net.WebSockets.Client.xml", - "ref/netstandard1.3/fr/System.Net.WebSockets.Client.xml", - "ref/netstandard1.3/it/System.Net.WebSockets.Client.xml", - "ref/netstandard1.3/ja/System.Net.WebSockets.Client.xml", - "ref/netstandard1.3/ko/System.Net.WebSockets.Client.xml", - "ref/netstandard1.3/ru/System.Net.WebSockets.Client.xml", - "ref/netstandard1.3/zh-hans/System.Net.WebSockets.Client.xml", - "ref/netstandard1.3/zh-hant/System.Net.WebSockets.Client.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.Net.WebSockets.Client.dll", - "runtimes/win/lib/net46/System.Net.WebSockets.Client.dll", - "runtimes/win/lib/netcore50/System.Net.WebSockets.Client.dll", - "runtimes/win/lib/netstandard1.3/System.Net.WebSockets.Client.dll" - ] - }, - "System.Numerics.Vectors/4.1.1": { - "sha512": "Ex1NSKycC2wi5XBMWUGWPc3lumh6OQWFFmmpZFZz0oLht5lQ+wWPHVZumOrMJuckfUiVMd4p67BrkBos8lcF+Q==", - "type": "package", - "path": "System.Numerics.Vectors/4.1.1", - "files": [ - "System.Numerics.Vectors.4.1.1.nupkg.sha512", - "System.Numerics.Vectors.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Numerics.Vectors.dll", - "lib/net46/System.Numerics.Vectors.xml", - "lib/netstandard1.0/System.Numerics.Vectors.dll", - "lib/netstandard1.0/System.Numerics.Vectors.xml", - "lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.dll", - "lib/portable-net45+win8+wp8+wpa81/System.Numerics.Vectors.xml", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Numerics.Vectors.dll", - "ref/net46/System.Numerics.Vectors.xml", - "ref/netstandard1.0/System.Numerics.Vectors.dll", - "ref/netstandard1.0/System.Numerics.Vectors.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.ObjectModel/4.0.12": { - "sha512": "tAgJM1xt3ytyMoW4qn4wIqgJYm7L7TShRZG4+Q4Qsi2PCcj96pXN7nRywS9KkB3p/xDUjc2HSwP9SROyPYDYKQ==", - "type": "package", - "path": "System.ObjectModel/4.0.12", - "files": [ - "System.ObjectModel.4.0.12.nupkg.sha512", - "System.ObjectModel.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.ObjectModel.dll", - "lib/netstandard1.3/System.ObjectModel.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.ObjectModel.dll", - "ref/netcore50/System.ObjectModel.xml", - "ref/netcore50/de/System.ObjectModel.xml", - "ref/netcore50/es/System.ObjectModel.xml", - "ref/netcore50/fr/System.ObjectModel.xml", - "ref/netcore50/it/System.ObjectModel.xml", - "ref/netcore50/ja/System.ObjectModel.xml", - "ref/netcore50/ko/System.ObjectModel.xml", - "ref/netcore50/ru/System.ObjectModel.xml", - "ref/netcore50/zh-hans/System.ObjectModel.xml", - "ref/netcore50/zh-hant/System.ObjectModel.xml", - "ref/netstandard1.0/System.ObjectModel.dll", - "ref/netstandard1.0/System.ObjectModel.xml", - "ref/netstandard1.0/de/System.ObjectModel.xml", - "ref/netstandard1.0/es/System.ObjectModel.xml", - "ref/netstandard1.0/fr/System.ObjectModel.xml", - "ref/netstandard1.0/it/System.ObjectModel.xml", - "ref/netstandard1.0/ja/System.ObjectModel.xml", - "ref/netstandard1.0/ko/System.ObjectModel.xml", - "ref/netstandard1.0/ru/System.ObjectModel.xml", - "ref/netstandard1.0/zh-hans/System.ObjectModel.xml", - "ref/netstandard1.0/zh-hant/System.ObjectModel.xml", - "ref/netstandard1.3/System.ObjectModel.dll", - "ref/netstandard1.3/System.ObjectModel.xml", - "ref/netstandard1.3/de/System.ObjectModel.xml", - "ref/netstandard1.3/es/System.ObjectModel.xml", - "ref/netstandard1.3/fr/System.ObjectModel.xml", - "ref/netstandard1.3/it/System.ObjectModel.xml", - "ref/netstandard1.3/ja/System.ObjectModel.xml", - "ref/netstandard1.3/ko/System.ObjectModel.xml", - "ref/netstandard1.3/ru/System.ObjectModel.xml", - "ref/netstandard1.3/zh-hans/System.ObjectModel.xml", - "ref/netstandard1.3/zh-hant/System.ObjectModel.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Private.DataContractSerialization/4.1.1": { - "sha512": "lcqFBUaCZxPiUkA4dlSOoPZGtZsAuuElH2XHgLwGLxd7ZozWetV5yiz0qGAV2AUYOqw97MtZBjbLMN16Xz4vXA==", - "type": "package", - "path": "System.Private.DataContractSerialization/4.1.1", - "files": [ - "System.Private.DataContractSerialization.4.1.1.nupkg.sha512", - "System.Private.DataContractSerialization.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.3/System.Private.DataContractSerialization.dll", - "ref/netstandard/_._", - "runtimes/aot/lib/netcore50/System.Private.DataContractSerialization.dll" - ] - }, - "System.Reflection/4.1.0": { - "sha512": "JCKANJ0TI7kzoQzuwB/OoJANy1Lg338B6+JVacPl4TpUwi3cReg3nMLplMq2uqYfHFQpKIlHAUVAJlImZz/4ng==", - "type": "package", - "path": "System.Reflection/4.1.0", - "files": [ - "System.Reflection.4.1.0.nupkg.sha512", - "System.Reflection.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net462/System.Reflection.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net462/System.Reflection.dll", - "ref/netcore50/System.Reflection.dll", - "ref/netcore50/System.Reflection.xml", - "ref/netcore50/de/System.Reflection.xml", - "ref/netcore50/es/System.Reflection.xml", - "ref/netcore50/fr/System.Reflection.xml", - "ref/netcore50/it/System.Reflection.xml", - "ref/netcore50/ja/System.Reflection.xml", - "ref/netcore50/ko/System.Reflection.xml", - "ref/netcore50/ru/System.Reflection.xml", - "ref/netcore50/zh-hans/System.Reflection.xml", - "ref/netcore50/zh-hant/System.Reflection.xml", - "ref/netstandard1.0/System.Reflection.dll", - "ref/netstandard1.0/System.Reflection.xml", - "ref/netstandard1.0/de/System.Reflection.xml", - "ref/netstandard1.0/es/System.Reflection.xml", - "ref/netstandard1.0/fr/System.Reflection.xml", - "ref/netstandard1.0/it/System.Reflection.xml", - "ref/netstandard1.0/ja/System.Reflection.xml", - "ref/netstandard1.0/ko/System.Reflection.xml", - "ref/netstandard1.0/ru/System.Reflection.xml", - "ref/netstandard1.0/zh-hans/System.Reflection.xml", - "ref/netstandard1.0/zh-hant/System.Reflection.xml", - "ref/netstandard1.3/System.Reflection.dll", - "ref/netstandard1.3/System.Reflection.xml", - "ref/netstandard1.3/de/System.Reflection.xml", - "ref/netstandard1.3/es/System.Reflection.xml", - "ref/netstandard1.3/fr/System.Reflection.xml", - "ref/netstandard1.3/it/System.Reflection.xml", - "ref/netstandard1.3/ja/System.Reflection.xml", - "ref/netstandard1.3/ko/System.Reflection.xml", - "ref/netstandard1.3/ru/System.Reflection.xml", - "ref/netstandard1.3/zh-hans/System.Reflection.xml", - "ref/netstandard1.3/zh-hant/System.Reflection.xml", - "ref/netstandard1.5/System.Reflection.dll", - "ref/netstandard1.5/System.Reflection.xml", - "ref/netstandard1.5/de/System.Reflection.xml", - "ref/netstandard1.5/es/System.Reflection.xml", - "ref/netstandard1.5/fr/System.Reflection.xml", - "ref/netstandard1.5/it/System.Reflection.xml", - "ref/netstandard1.5/ja/System.Reflection.xml", - "ref/netstandard1.5/ko/System.Reflection.xml", - "ref/netstandard1.5/ru/System.Reflection.xml", - "ref/netstandard1.5/zh-hans/System.Reflection.xml", - "ref/netstandard1.5/zh-hant/System.Reflection.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Reflection.DispatchProxy/4.0.1": { - "sha512": "GPPgWoSxQEU3aCKSOvsAc1dhTTi4iq92PUVEVfnGPGwqCf6synaAJGYLKMs5E3CuRfel8ufACWUijXqDpOlGrA==", - "type": "package", - "path": "System.Reflection.DispatchProxy/4.0.1", - "files": [ - "System.Reflection.DispatchProxy.4.0.1.nupkg.sha512", - "System.Reflection.DispatchProxy.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/netstandard1.3/System.Reflection.DispatchProxy.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/netstandard1.3/System.Reflection.DispatchProxy.dll", - "ref/netstandard1.3/System.Reflection.DispatchProxy.xml", - "ref/netstandard1.3/de/System.Reflection.DispatchProxy.xml", - "ref/netstandard1.3/es/System.Reflection.DispatchProxy.xml", - "ref/netstandard1.3/fr/System.Reflection.DispatchProxy.xml", - "ref/netstandard1.3/it/System.Reflection.DispatchProxy.xml", - "ref/netstandard1.3/ja/System.Reflection.DispatchProxy.xml", - "ref/netstandard1.3/ko/System.Reflection.DispatchProxy.xml", - "ref/netstandard1.3/ru/System.Reflection.DispatchProxy.xml", - "ref/netstandard1.3/zh-hans/System.Reflection.DispatchProxy.xml", - "ref/netstandard1.3/zh-hant/System.Reflection.DispatchProxy.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Reflection.DispatchProxy.dll" - ] - }, - "System.Reflection.Emit/4.0.1": { - "sha512": "P2wqAj72fFjpP6wb9nSfDqNBMab+2ovzSDzUZK7MVIm54tBJEPr9jWfSjjoTpPwj1LeKcmX3vr0ttyjSSFM47g==", - "type": "package", - "path": "System.Reflection.Emit/4.0.1", - "files": [ - "System.Reflection.Emit.4.0.1.nupkg.sha512", - "System.Reflection.Emit.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/net45/_._", - "lib/netcore50/System.Reflection.Emit.dll", - "lib/netstandard1.3/System.Reflection.Emit.dll", - "lib/xamarinmac20/_._", - "ref/MonoAndroid10/_._", - "ref/net45/_._", - "ref/netstandard1.1/System.Reflection.Emit.dll", - "ref/netstandard1.1/System.Reflection.Emit.xml", - "ref/netstandard1.1/de/System.Reflection.Emit.xml", - "ref/netstandard1.1/es/System.Reflection.Emit.xml", - "ref/netstandard1.1/fr/System.Reflection.Emit.xml", - "ref/netstandard1.1/it/System.Reflection.Emit.xml", - "ref/netstandard1.1/ja/System.Reflection.Emit.xml", - "ref/netstandard1.1/ko/System.Reflection.Emit.xml", - "ref/netstandard1.1/ru/System.Reflection.Emit.xml", - "ref/netstandard1.1/zh-hans/System.Reflection.Emit.xml", - "ref/netstandard1.1/zh-hant/System.Reflection.Emit.xml", - "ref/xamarinmac20/_._" - ] - }, - "System.Reflection.Emit.ILGeneration/4.0.1": { - "sha512": "Ov6dU8Bu15Bc7zuqttgHF12J5lwSWyTf1S+FJouUXVMSqImLZzYaQ+vRr1rQ0OZ0HqsrwWl4dsKHELckQkVpgA==", - "type": "package", - "path": "System.Reflection.Emit.ILGeneration/4.0.1", - "files": [ - "System.Reflection.Emit.ILGeneration.4.0.1.nupkg.sha512", - "System.Reflection.Emit.ILGeneration.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/net45/_._", - "lib/netcore50/System.Reflection.Emit.ILGeneration.dll", - "lib/netstandard1.3/System.Reflection.Emit.ILGeneration.dll", - "lib/portable-net45+wp8/_._", - "lib/wp80/_._", - "ref/net45/_._", - "ref/netstandard1.0/System.Reflection.Emit.ILGeneration.dll", - "ref/netstandard1.0/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/de/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/es/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/fr/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/it/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/ja/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/ko/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/ru/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/zh-hans/System.Reflection.Emit.ILGeneration.xml", - "ref/netstandard1.0/zh-hant/System.Reflection.Emit.ILGeneration.xml", - "ref/portable-net45+wp8/_._", - "ref/wp80/_._", - "runtimes/aot/lib/netcore50/_._" - ] - }, - "System.Reflection.Emit.Lightweight/4.0.1": { - "sha512": "sSzHHXueZ5Uh0OLpUQprhr+ZYJrLPA2Cmr4gn0wj9+FftNKXx8RIMKvO9qnjk2ebPYUjZ+F2ulGdPOsvj+MEjA==", - "type": "package", - "path": "System.Reflection.Emit.Lightweight/4.0.1", - "files": [ - "System.Reflection.Emit.Lightweight.4.0.1.nupkg.sha512", - "System.Reflection.Emit.Lightweight.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/net45/_._", - "lib/netcore50/System.Reflection.Emit.Lightweight.dll", - "lib/netstandard1.3/System.Reflection.Emit.Lightweight.dll", - "lib/portable-net45+wp8/_._", - "lib/wp80/_._", - "ref/net45/_._", - "ref/netstandard1.0/System.Reflection.Emit.Lightweight.dll", - "ref/netstandard1.0/System.Reflection.Emit.Lightweight.xml", - "ref/netstandard1.0/de/System.Reflection.Emit.Lightweight.xml", - "ref/netstandard1.0/es/System.Reflection.Emit.Lightweight.xml", - "ref/netstandard1.0/fr/System.Reflection.Emit.Lightweight.xml", - "ref/netstandard1.0/it/System.Reflection.Emit.Lightweight.xml", - "ref/netstandard1.0/ja/System.Reflection.Emit.Lightweight.xml", - "ref/netstandard1.0/ko/System.Reflection.Emit.Lightweight.xml", - "ref/netstandard1.0/ru/System.Reflection.Emit.Lightweight.xml", - "ref/netstandard1.0/zh-hans/System.Reflection.Emit.Lightweight.xml", - "ref/netstandard1.0/zh-hant/System.Reflection.Emit.Lightweight.xml", - "ref/portable-net45+wp8/_._", - "ref/wp80/_._", - "runtimes/aot/lib/netcore50/_._" - ] - }, - "System.Reflection.Extensions/4.0.1": { - "sha512": "GYrtRsZcMuHF3sbmRHfMYpvxZoIN2bQGrYGerUiWLEkqdEUQZhH3TRSaC/oI4wO0II1RKBPlpIa1TOMxIcOOzQ==", - "type": "package", - "path": "System.Reflection.Extensions/4.0.1", - "files": [ - "System.Reflection.Extensions.4.0.1.nupkg.sha512", - "System.Reflection.Extensions.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Reflection.Extensions.dll", - "ref/netcore50/System.Reflection.Extensions.xml", - "ref/netcore50/de/System.Reflection.Extensions.xml", - "ref/netcore50/es/System.Reflection.Extensions.xml", - "ref/netcore50/fr/System.Reflection.Extensions.xml", - "ref/netcore50/it/System.Reflection.Extensions.xml", - "ref/netcore50/ja/System.Reflection.Extensions.xml", - "ref/netcore50/ko/System.Reflection.Extensions.xml", - "ref/netcore50/ru/System.Reflection.Extensions.xml", - "ref/netcore50/zh-hans/System.Reflection.Extensions.xml", - "ref/netcore50/zh-hant/System.Reflection.Extensions.xml", - "ref/netstandard1.0/System.Reflection.Extensions.dll", - "ref/netstandard1.0/System.Reflection.Extensions.xml", - "ref/netstandard1.0/de/System.Reflection.Extensions.xml", - "ref/netstandard1.0/es/System.Reflection.Extensions.xml", - "ref/netstandard1.0/fr/System.Reflection.Extensions.xml", - "ref/netstandard1.0/it/System.Reflection.Extensions.xml", - "ref/netstandard1.0/ja/System.Reflection.Extensions.xml", - "ref/netstandard1.0/ko/System.Reflection.Extensions.xml", - "ref/netstandard1.0/ru/System.Reflection.Extensions.xml", - "ref/netstandard1.0/zh-hans/System.Reflection.Extensions.xml", - "ref/netstandard1.0/zh-hant/System.Reflection.Extensions.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Reflection.Metadata/1.3.0": { - "sha512": "jMSCxA4LSyKBGRDm/WtfkO03FkcgRzHxwvQRib1bm2GZ8ifKM1MX1al6breGCEQK280mdl9uQS7JNPXRYk90jw==", - "type": "package", - "path": "System.Reflection.Metadata/1.3.0", - "files": [ - "System.Reflection.Metadata.1.3.0.nupkg.sha512", - "System.Reflection.Metadata.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.1/System.Reflection.Metadata.dll", - "lib/netstandard1.1/System.Reflection.Metadata.xml", - "lib/portable-net45+win8/System.Reflection.Metadata.dll", - "lib/portable-net45+win8/System.Reflection.Metadata.xml" - ] - }, - "System.Reflection.Primitives/4.0.1": { - "sha512": "4inTox4wTBaDhB7V3mPvp9XlCbeGYWVEM9/fXALd52vNEAVisc1BoVWQPuUuD0Ga//dNbA/WeMy9u9mzLxGTHQ==", - "type": "package", - "path": "System.Reflection.Primitives/4.0.1", - "files": [ - "System.Reflection.Primitives.4.0.1.nupkg.sha512", - "System.Reflection.Primitives.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Reflection.Primitives.dll", - "ref/netcore50/System.Reflection.Primitives.xml", - "ref/netcore50/de/System.Reflection.Primitives.xml", - "ref/netcore50/es/System.Reflection.Primitives.xml", - "ref/netcore50/fr/System.Reflection.Primitives.xml", - "ref/netcore50/it/System.Reflection.Primitives.xml", - "ref/netcore50/ja/System.Reflection.Primitives.xml", - "ref/netcore50/ko/System.Reflection.Primitives.xml", - "ref/netcore50/ru/System.Reflection.Primitives.xml", - "ref/netcore50/zh-hans/System.Reflection.Primitives.xml", - "ref/netcore50/zh-hant/System.Reflection.Primitives.xml", - "ref/netstandard1.0/System.Reflection.Primitives.dll", - "ref/netstandard1.0/System.Reflection.Primitives.xml", - "ref/netstandard1.0/de/System.Reflection.Primitives.xml", - "ref/netstandard1.0/es/System.Reflection.Primitives.xml", - "ref/netstandard1.0/fr/System.Reflection.Primitives.xml", - "ref/netstandard1.0/it/System.Reflection.Primitives.xml", - "ref/netstandard1.0/ja/System.Reflection.Primitives.xml", - "ref/netstandard1.0/ko/System.Reflection.Primitives.xml", - "ref/netstandard1.0/ru/System.Reflection.Primitives.xml", - "ref/netstandard1.0/zh-hans/System.Reflection.Primitives.xml", - "ref/netstandard1.0/zh-hant/System.Reflection.Primitives.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Reflection.TypeExtensions/4.1.0": { - "sha512": "tsQ/ptQ3H5FYfON8lL4MxRk/8kFyE0A+tGPXmVP967cT/gzLHYxIejIYSxp4JmIeFHVP78g/F2FE1mUUTbDtrg==", - "type": "package", - "path": "System.Reflection.TypeExtensions/4.1.0", - "files": [ - "System.Reflection.TypeExtensions.4.1.0.nupkg.sha512", - "System.Reflection.TypeExtensions.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Reflection.TypeExtensions.dll", - "lib/net462/System.Reflection.TypeExtensions.dll", - "lib/netcore50/System.Reflection.TypeExtensions.dll", - "lib/netstandard1.5/System.Reflection.TypeExtensions.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Reflection.TypeExtensions.dll", - "ref/net462/System.Reflection.TypeExtensions.dll", - "ref/netstandard1.3/System.Reflection.TypeExtensions.dll", - "ref/netstandard1.3/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.3/de/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.3/es/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.3/fr/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.3/it/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.3/ja/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.3/ko/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.3/ru/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.3/zh-hans/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.3/zh-hant/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.5/System.Reflection.TypeExtensions.dll", - "ref/netstandard1.5/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.5/de/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.5/es/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.5/fr/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.5/it/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.5/ja/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.5/ko/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.5/ru/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.5/zh-hans/System.Reflection.TypeExtensions.xml", - "ref/netstandard1.5/zh-hant/System.Reflection.TypeExtensions.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Reflection.TypeExtensions.dll" - ] - }, - "System.Resources.Reader/4.0.0": { - "sha512": "VX1iHAoHxgrLZv+nq/9drCZI6Q4SSCzSVyUm1e0U60sqWdj6XhY7wvKmy3RvsSal9h+/vqSWwxxJsm0J4vn/jA==", - "type": "package", - "path": "System.Resources.Reader/4.0.0", - "files": [ - "System.Resources.Reader.4.0.0.nupkg.sha512", - "System.Resources.Reader.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/System.Resources.Reader.dll" - ] - }, - "System.Resources.ResourceManager/4.0.1": { - "sha512": "TxwVeUNoTgUOdQ09gfTjvW411MF+w9MBYL7AtNVc+HtBCFlutPLhUCdZjNkjbhj3bNQWMdHboF0KIWEOjJssbA==", - "type": "package", - "path": "System.Resources.ResourceManager/4.0.1", - "files": [ - "System.Resources.ResourceManager.4.0.1.nupkg.sha512", - "System.Resources.ResourceManager.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Resources.ResourceManager.dll", - "ref/netcore50/System.Resources.ResourceManager.xml", - "ref/netcore50/de/System.Resources.ResourceManager.xml", - "ref/netcore50/es/System.Resources.ResourceManager.xml", - "ref/netcore50/fr/System.Resources.ResourceManager.xml", - "ref/netcore50/it/System.Resources.ResourceManager.xml", - "ref/netcore50/ja/System.Resources.ResourceManager.xml", - "ref/netcore50/ko/System.Resources.ResourceManager.xml", - "ref/netcore50/ru/System.Resources.ResourceManager.xml", - "ref/netcore50/zh-hans/System.Resources.ResourceManager.xml", - "ref/netcore50/zh-hant/System.Resources.ResourceManager.xml", - "ref/netstandard1.0/System.Resources.ResourceManager.dll", - "ref/netstandard1.0/System.Resources.ResourceManager.xml", - "ref/netstandard1.0/de/System.Resources.ResourceManager.xml", - "ref/netstandard1.0/es/System.Resources.ResourceManager.xml", - "ref/netstandard1.0/fr/System.Resources.ResourceManager.xml", - "ref/netstandard1.0/it/System.Resources.ResourceManager.xml", - "ref/netstandard1.0/ja/System.Resources.ResourceManager.xml", - "ref/netstandard1.0/ko/System.Resources.ResourceManager.xml", - "ref/netstandard1.0/ru/System.Resources.ResourceManager.xml", - "ref/netstandard1.0/zh-hans/System.Resources.ResourceManager.xml", - "ref/netstandard1.0/zh-hant/System.Resources.ResourceManager.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Resources.ResourceWriter/4.0.0-beta-22816": { - "sha512": "Q6wpzkZjop1J+WJXl9H0OgXQvxDQxMkqA43AVENNW4SlTzIT8rFW7tum54xYZy3QCMKK8gIfOnVqA6VbgXRq1Q==", - "type": "package", - "path": "System.Resources.ResourceWriter/4.0.0-beta-22816", - "files": [ - "License.rtf", - "System.Resources.ResourceWriter.4.0.0-beta-22816.nupkg.sha512", - "System.Resources.ResourceWriter.nuspec", - "lib/aspnetcore50/System.Resources.ResourceWriter.dll", - "lib/contract/System.Resources.ResourceWriter.dll", - "lib/net45/System.Resources.ResourceWriter.dll", - "lib/portable-wpa81+wp80+win80+net45+aspnetcore50/System.Resources.ResourceWriter.dll" - ] - }, - "System.Runtime/4.1.0": { - "sha512": "v6c/4Yaa9uWsq+JMhnOFewrYkgdNHNG2eMKuNqRn8P733rNXeRCGvV5FkkjBXn2dbVkPXOsO0xjsEeM1q2zC0g==", - "type": "package", - "path": "System.Runtime/4.1.0", - "files": [ - "System.Runtime.4.1.0.nupkg.sha512", - "System.Runtime.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net462/System.Runtime.dll", - "lib/portable-net45+win8+wp80+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net462/System.Runtime.dll", - "ref/netcore50/System.Runtime.dll", - "ref/netcore50/System.Runtime.xml", - "ref/netcore50/de/System.Runtime.xml", - "ref/netcore50/es/System.Runtime.xml", - "ref/netcore50/fr/System.Runtime.xml", - "ref/netcore50/it/System.Runtime.xml", - "ref/netcore50/ja/System.Runtime.xml", - "ref/netcore50/ko/System.Runtime.xml", - "ref/netcore50/ru/System.Runtime.xml", - "ref/netcore50/zh-hans/System.Runtime.xml", - "ref/netcore50/zh-hant/System.Runtime.xml", - "ref/netstandard1.0/System.Runtime.dll", - "ref/netstandard1.0/System.Runtime.xml", - "ref/netstandard1.0/de/System.Runtime.xml", - "ref/netstandard1.0/es/System.Runtime.xml", - "ref/netstandard1.0/fr/System.Runtime.xml", - "ref/netstandard1.0/it/System.Runtime.xml", - "ref/netstandard1.0/ja/System.Runtime.xml", - "ref/netstandard1.0/ko/System.Runtime.xml", - "ref/netstandard1.0/ru/System.Runtime.xml", - "ref/netstandard1.0/zh-hans/System.Runtime.xml", - "ref/netstandard1.0/zh-hant/System.Runtime.xml", - "ref/netstandard1.2/System.Runtime.dll", - "ref/netstandard1.2/System.Runtime.xml", - "ref/netstandard1.2/de/System.Runtime.xml", - "ref/netstandard1.2/es/System.Runtime.xml", - "ref/netstandard1.2/fr/System.Runtime.xml", - "ref/netstandard1.2/it/System.Runtime.xml", - "ref/netstandard1.2/ja/System.Runtime.xml", - "ref/netstandard1.2/ko/System.Runtime.xml", - "ref/netstandard1.2/ru/System.Runtime.xml", - "ref/netstandard1.2/zh-hans/System.Runtime.xml", - "ref/netstandard1.2/zh-hant/System.Runtime.xml", - "ref/netstandard1.3/System.Runtime.dll", - "ref/netstandard1.3/System.Runtime.xml", - "ref/netstandard1.3/de/System.Runtime.xml", - "ref/netstandard1.3/es/System.Runtime.xml", - "ref/netstandard1.3/fr/System.Runtime.xml", - "ref/netstandard1.3/it/System.Runtime.xml", - "ref/netstandard1.3/ja/System.Runtime.xml", - "ref/netstandard1.3/ko/System.Runtime.xml", - "ref/netstandard1.3/ru/System.Runtime.xml", - "ref/netstandard1.3/zh-hans/System.Runtime.xml", - "ref/netstandard1.3/zh-hant/System.Runtime.xml", - "ref/netstandard1.5/System.Runtime.dll", - "ref/netstandard1.5/System.Runtime.xml", - "ref/netstandard1.5/de/System.Runtime.xml", - "ref/netstandard1.5/es/System.Runtime.xml", - "ref/netstandard1.5/fr/System.Runtime.xml", - "ref/netstandard1.5/it/System.Runtime.xml", - "ref/netstandard1.5/ja/System.Runtime.xml", - "ref/netstandard1.5/ko/System.Runtime.xml", - "ref/netstandard1.5/ru/System.Runtime.xml", - "ref/netstandard1.5/zh-hans/System.Runtime.xml", - "ref/netstandard1.5/zh-hant/System.Runtime.xml", - "ref/portable-net45+win8+wp80+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Runtime.CompilerServices.Unsafe/4.0.0": { - "sha512": "LDvjxLx2fkThOFo/SC+901fJrh5artALmgzeSqnVxzvFp4q3HO8BkeLyshPdcbs5zpN7Xh9G23M6sDhgIPbG9A==", - "type": "package", - "path": "System.Runtime.CompilerServices.Unsafe/4.0.0", - "files": [ - "System.Runtime.CompilerServices.Unsafe.4.0.0.nupkg.sha512", - "System.Runtime.CompilerServices.Unsafe.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.dll", - "lib/netstandard1.0/System.Runtime.CompilerServices.Unsafe.xml" - ] - }, - "System.Runtime.Extensions/4.1.0": { - "sha512": "CUOHjTT/vgP0qGW22U4/hDlOqXmcPq5YicBaXdUR2UiUoLwBT+olO6we4DVbq57jeX5uXH2uerVZhf0qGj+sVQ==", - "type": "package", - "path": "System.Runtime.Extensions/4.1.0", - "files": [ - "System.Runtime.Extensions.4.1.0.nupkg.sha512", - "System.Runtime.Extensions.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net462/System.Runtime.Extensions.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net462/System.Runtime.Extensions.dll", - "ref/netcore50/System.Runtime.Extensions.dll", - "ref/netcore50/System.Runtime.Extensions.xml", - "ref/netcore50/de/System.Runtime.Extensions.xml", - "ref/netcore50/es/System.Runtime.Extensions.xml", - "ref/netcore50/fr/System.Runtime.Extensions.xml", - "ref/netcore50/it/System.Runtime.Extensions.xml", - "ref/netcore50/ja/System.Runtime.Extensions.xml", - "ref/netcore50/ko/System.Runtime.Extensions.xml", - "ref/netcore50/ru/System.Runtime.Extensions.xml", - "ref/netcore50/zh-hans/System.Runtime.Extensions.xml", - "ref/netcore50/zh-hant/System.Runtime.Extensions.xml", - "ref/netstandard1.0/System.Runtime.Extensions.dll", - "ref/netstandard1.0/System.Runtime.Extensions.xml", - "ref/netstandard1.0/de/System.Runtime.Extensions.xml", - "ref/netstandard1.0/es/System.Runtime.Extensions.xml", - "ref/netstandard1.0/fr/System.Runtime.Extensions.xml", - "ref/netstandard1.0/it/System.Runtime.Extensions.xml", - "ref/netstandard1.0/ja/System.Runtime.Extensions.xml", - "ref/netstandard1.0/ko/System.Runtime.Extensions.xml", - "ref/netstandard1.0/ru/System.Runtime.Extensions.xml", - "ref/netstandard1.0/zh-hans/System.Runtime.Extensions.xml", - "ref/netstandard1.0/zh-hant/System.Runtime.Extensions.xml", - "ref/netstandard1.3/System.Runtime.Extensions.dll", - "ref/netstandard1.3/System.Runtime.Extensions.xml", - "ref/netstandard1.3/de/System.Runtime.Extensions.xml", - "ref/netstandard1.3/es/System.Runtime.Extensions.xml", - "ref/netstandard1.3/fr/System.Runtime.Extensions.xml", - "ref/netstandard1.3/it/System.Runtime.Extensions.xml", - "ref/netstandard1.3/ja/System.Runtime.Extensions.xml", - "ref/netstandard1.3/ko/System.Runtime.Extensions.xml", - "ref/netstandard1.3/ru/System.Runtime.Extensions.xml", - "ref/netstandard1.3/zh-hans/System.Runtime.Extensions.xml", - "ref/netstandard1.3/zh-hant/System.Runtime.Extensions.xml", - "ref/netstandard1.5/System.Runtime.Extensions.dll", - "ref/netstandard1.5/System.Runtime.Extensions.xml", - "ref/netstandard1.5/de/System.Runtime.Extensions.xml", - "ref/netstandard1.5/es/System.Runtime.Extensions.xml", - "ref/netstandard1.5/fr/System.Runtime.Extensions.xml", - "ref/netstandard1.5/it/System.Runtime.Extensions.xml", - "ref/netstandard1.5/ja/System.Runtime.Extensions.xml", - "ref/netstandard1.5/ko/System.Runtime.Extensions.xml", - "ref/netstandard1.5/ru/System.Runtime.Extensions.xml", - "ref/netstandard1.5/zh-hans/System.Runtime.Extensions.xml", - "ref/netstandard1.5/zh-hant/System.Runtime.Extensions.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Runtime.Handles/4.0.1": { - "sha512": "nCJvEKguXEvk2ymk1gqj625vVnlK3/xdGzx0vOKicQkoquaTBJTP13AIYkocSUwHCLNBwUbXTqTWGDxBTWpt7g==", - "type": "package", - "path": "System.Runtime.Handles/4.0.1", - "files": [ - "System.Runtime.Handles.4.0.1.nupkg.sha512", - "System.Runtime.Handles.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/_._", - "ref/netstandard1.3/System.Runtime.Handles.dll", - "ref/netstandard1.3/System.Runtime.Handles.xml", - "ref/netstandard1.3/de/System.Runtime.Handles.xml", - "ref/netstandard1.3/es/System.Runtime.Handles.xml", - "ref/netstandard1.3/fr/System.Runtime.Handles.xml", - "ref/netstandard1.3/it/System.Runtime.Handles.xml", - "ref/netstandard1.3/ja/System.Runtime.Handles.xml", - "ref/netstandard1.3/ko/System.Runtime.Handles.xml", - "ref/netstandard1.3/ru/System.Runtime.Handles.xml", - "ref/netstandard1.3/zh-hans/System.Runtime.Handles.xml", - "ref/netstandard1.3/zh-hant/System.Runtime.Handles.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Runtime.InteropServices/4.1.0": { - "sha512": "16eu3kjHS633yYdkjwShDHZLRNMKVi/s0bY8ODiqJ2RfMhDMAwxZaUaWVnZ2P71kr/or+X9o/xFWtNqz8ivieQ==", - "type": "package", - "path": "System.Runtime.InteropServices/4.1.0", - "files": [ - "System.Runtime.InteropServices.4.1.0.nupkg.sha512", - "System.Runtime.InteropServices.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net462/System.Runtime.InteropServices.dll", - "lib/portable-net45+win8+wpa81/_._", - "lib/win8/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net462/System.Runtime.InteropServices.dll", - "ref/netcore50/System.Runtime.InteropServices.dll", - "ref/netcore50/System.Runtime.InteropServices.xml", - "ref/netcore50/de/System.Runtime.InteropServices.xml", - "ref/netcore50/es/System.Runtime.InteropServices.xml", - "ref/netcore50/fr/System.Runtime.InteropServices.xml", - "ref/netcore50/it/System.Runtime.InteropServices.xml", - "ref/netcore50/ja/System.Runtime.InteropServices.xml", - "ref/netcore50/ko/System.Runtime.InteropServices.xml", - "ref/netcore50/ru/System.Runtime.InteropServices.xml", - "ref/netcore50/zh-hans/System.Runtime.InteropServices.xml", - "ref/netcore50/zh-hant/System.Runtime.InteropServices.xml", - "ref/netstandard1.1/System.Runtime.InteropServices.dll", - "ref/netstandard1.1/System.Runtime.InteropServices.xml", - "ref/netstandard1.1/de/System.Runtime.InteropServices.xml", - "ref/netstandard1.1/es/System.Runtime.InteropServices.xml", - "ref/netstandard1.1/fr/System.Runtime.InteropServices.xml", - "ref/netstandard1.1/it/System.Runtime.InteropServices.xml", - "ref/netstandard1.1/ja/System.Runtime.InteropServices.xml", - "ref/netstandard1.1/ko/System.Runtime.InteropServices.xml", - "ref/netstandard1.1/ru/System.Runtime.InteropServices.xml", - "ref/netstandard1.1/zh-hans/System.Runtime.InteropServices.xml", - "ref/netstandard1.1/zh-hant/System.Runtime.InteropServices.xml", - "ref/netstandard1.2/System.Runtime.InteropServices.dll", - "ref/netstandard1.2/System.Runtime.InteropServices.xml", - "ref/netstandard1.2/de/System.Runtime.InteropServices.xml", - "ref/netstandard1.2/es/System.Runtime.InteropServices.xml", - "ref/netstandard1.2/fr/System.Runtime.InteropServices.xml", - "ref/netstandard1.2/it/System.Runtime.InteropServices.xml", - "ref/netstandard1.2/ja/System.Runtime.InteropServices.xml", - "ref/netstandard1.2/ko/System.Runtime.InteropServices.xml", - "ref/netstandard1.2/ru/System.Runtime.InteropServices.xml", - "ref/netstandard1.2/zh-hans/System.Runtime.InteropServices.xml", - "ref/netstandard1.2/zh-hant/System.Runtime.InteropServices.xml", - "ref/netstandard1.3/System.Runtime.InteropServices.dll", - "ref/netstandard1.3/System.Runtime.InteropServices.xml", - "ref/netstandard1.3/de/System.Runtime.InteropServices.xml", - "ref/netstandard1.3/es/System.Runtime.InteropServices.xml", - "ref/netstandard1.3/fr/System.Runtime.InteropServices.xml", - "ref/netstandard1.3/it/System.Runtime.InteropServices.xml", - "ref/netstandard1.3/ja/System.Runtime.InteropServices.xml", - "ref/netstandard1.3/ko/System.Runtime.InteropServices.xml", - "ref/netstandard1.3/ru/System.Runtime.InteropServices.xml", - "ref/netstandard1.3/zh-hans/System.Runtime.InteropServices.xml", - "ref/netstandard1.3/zh-hant/System.Runtime.InteropServices.xml", - "ref/netstandard1.5/System.Runtime.InteropServices.dll", - "ref/netstandard1.5/System.Runtime.InteropServices.xml", - "ref/netstandard1.5/de/System.Runtime.InteropServices.xml", - "ref/netstandard1.5/es/System.Runtime.InteropServices.xml", - "ref/netstandard1.5/fr/System.Runtime.InteropServices.xml", - "ref/netstandard1.5/it/System.Runtime.InteropServices.xml", - "ref/netstandard1.5/ja/System.Runtime.InteropServices.xml", - "ref/netstandard1.5/ko/System.Runtime.InteropServices.xml", - "ref/netstandard1.5/ru/System.Runtime.InteropServices.xml", - "ref/netstandard1.5/zh-hans/System.Runtime.InteropServices.xml", - "ref/netstandard1.5/zh-hant/System.Runtime.InteropServices.xml", - "ref/portable-net45+win8+wpa81/_._", - "ref/win8/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Runtime.InteropServices.RuntimeInformation/4.0.0": { - "sha512": "hWPhJxc453RCa8Z29O91EmfGeZIHX1ZH2A8L6lYQVSaKzku2DfArSfMEb1/MYYzPQRJZeu0c9dmYeJKxW5Fgng==", - "type": "package", - "path": "System.Runtime.InteropServices.RuntimeInformation/4.0.0", - "files": [ - "System.Runtime.InteropServices.RuntimeInformation.4.0.0.nupkg.sha512", - "System.Runtime.InteropServices.RuntimeInformation.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/System.Runtime.InteropServices.RuntimeInformation.dll", - "lib/win8/System.Runtime.InteropServices.RuntimeInformation.dll", - "lib/wpa81/System.Runtime.InteropServices.RuntimeInformation.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Runtime.InteropServices.RuntimeInformation.dll", - "runtimes/unix/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll", - "runtimes/win/lib/net45/System.Runtime.InteropServices.RuntimeInformation.dll", - "runtimes/win/lib/netcore50/System.Runtime.InteropServices.RuntimeInformation.dll", - "runtimes/win/lib/netstandard1.1/System.Runtime.InteropServices.RuntimeInformation.dll" - ] - }, - "System.Runtime.Loader/4.0.0": { - "sha512": "4UN78GOVU/mbDFcXkEWtetJT/sJ0yic2gGk1HSlSpWI0TDf421xnrZTDZnwNBapk1GQeYN7U1lTj/aQB1by6ow==", - "type": "package", - "path": "System.Runtime.Loader/4.0.0", - "files": [ - "System.Runtime.Loader.4.0.0.nupkg.sha512", - "System.Runtime.Loader.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/net462/_._", - "lib/netstandard1.5/System.Runtime.Loader.dll", - "ref/netstandard1.5/System.Runtime.Loader.dll", - "ref/netstandard1.5/System.Runtime.Loader.xml", - "ref/netstandard1.5/de/System.Runtime.Loader.xml", - "ref/netstandard1.5/es/System.Runtime.Loader.xml", - "ref/netstandard1.5/fr/System.Runtime.Loader.xml", - "ref/netstandard1.5/it/System.Runtime.Loader.xml", - "ref/netstandard1.5/ja/System.Runtime.Loader.xml", - "ref/netstandard1.5/ko/System.Runtime.Loader.xml", - "ref/netstandard1.5/ru/System.Runtime.Loader.xml", - "ref/netstandard1.5/zh-hans/System.Runtime.Loader.xml", - "ref/netstandard1.5/zh-hant/System.Runtime.Loader.xml" - ] - }, - "System.Runtime.Numerics/4.0.1": { - "sha512": "+XbKFuzdmLP3d1o9pdHu2nxjNr2OEPqGzKeegPLCUMM71a0t50A/rOcIRmGs9wR7a8KuHX6hYs/7/TymIGLNqg==", - "type": "package", - "path": "System.Runtime.Numerics/4.0.1", - "files": [ - "System.Runtime.Numerics.4.0.1.nupkg.sha512", - "System.Runtime.Numerics.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Runtime.Numerics.dll", - "lib/netstandard1.3/System.Runtime.Numerics.dll", - "lib/portable-net45+win8+wpa81/_._", - "lib/win8/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Runtime.Numerics.dll", - "ref/netcore50/System.Runtime.Numerics.xml", - "ref/netcore50/de/System.Runtime.Numerics.xml", - "ref/netcore50/es/System.Runtime.Numerics.xml", - "ref/netcore50/fr/System.Runtime.Numerics.xml", - "ref/netcore50/it/System.Runtime.Numerics.xml", - "ref/netcore50/ja/System.Runtime.Numerics.xml", - "ref/netcore50/ko/System.Runtime.Numerics.xml", - "ref/netcore50/ru/System.Runtime.Numerics.xml", - "ref/netcore50/zh-hans/System.Runtime.Numerics.xml", - "ref/netcore50/zh-hant/System.Runtime.Numerics.xml", - "ref/netstandard1.1/System.Runtime.Numerics.dll", - "ref/netstandard1.1/System.Runtime.Numerics.xml", - "ref/netstandard1.1/de/System.Runtime.Numerics.xml", - "ref/netstandard1.1/es/System.Runtime.Numerics.xml", - "ref/netstandard1.1/fr/System.Runtime.Numerics.xml", - "ref/netstandard1.1/it/System.Runtime.Numerics.xml", - "ref/netstandard1.1/ja/System.Runtime.Numerics.xml", - "ref/netstandard1.1/ko/System.Runtime.Numerics.xml", - "ref/netstandard1.1/ru/System.Runtime.Numerics.xml", - "ref/netstandard1.1/zh-hans/System.Runtime.Numerics.xml", - "ref/netstandard1.1/zh-hant/System.Runtime.Numerics.xml", - "ref/portable-net45+win8+wpa81/_._", - "ref/win8/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Runtime.Serialization.Primitives/4.1.1": { - "sha512": "HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==", - "type": "package", - "path": "System.Runtime.Serialization.Primitives/4.1.1", - "files": [ - "System.Runtime.Serialization.Primitives.4.1.1.nupkg.sha512", - "System.Runtime.Serialization.Primitives.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net46/System.Runtime.Serialization.Primitives.dll", - "lib/netcore50/System.Runtime.Serialization.Primitives.dll", - "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net46/System.Runtime.Serialization.Primitives.dll", - "ref/netcore50/System.Runtime.Serialization.Primitives.dll", - "ref/netcore50/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/de/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/es/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/fr/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/it/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/ja/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/ko/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/ru/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/zh-hans/System.Runtime.Serialization.Primitives.xml", - "ref/netcore50/zh-hant/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/System.Runtime.Serialization.Primitives.dll", - "ref/netstandard1.0/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/de/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/es/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/fr/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/it/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/ja/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/ko/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/ru/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/zh-hans/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.0/zh-hant/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/System.Runtime.Serialization.Primitives.dll", - "ref/netstandard1.3/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/de/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/es/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/fr/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/it/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/ja/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/ko/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/ru/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/zh-hans/System.Runtime.Serialization.Primitives.xml", - "ref/netstandard1.3/zh-hant/System.Runtime.Serialization.Primitives.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Runtime.Serialization.Primitives.dll" - ] - }, - "System.Runtime.Serialization.Xml/4.1.1": { - "sha512": "yqfKHkWUAdI0hdDIdD9KDzluKtZ8IIqLF3O7xIZlt6UTs1bOvFRpCvRTvGQva3Ak/ZM9/nq9IHBJ1tC4Ybcrjg==", - "type": "package", - "path": "System.Runtime.Serialization.Xml/4.1.1", - "files": [ - "System.Runtime.Serialization.Xml.4.1.1.nupkg.sha512", - "System.Runtime.Serialization.Xml.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net46/System.Runtime.Serialization.Xml.dll", - "lib/netcore50/System.Runtime.Serialization.Xml.dll", - "lib/netstandard1.3/System.Runtime.Serialization.Xml.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net46/System.Runtime.Serialization.Xml.dll", - "ref/netcore50/System.Runtime.Serialization.Xml.dll", - "ref/netcore50/System.Runtime.Serialization.Xml.xml", - "ref/netcore50/de/System.Runtime.Serialization.Xml.xml", - "ref/netcore50/es/System.Runtime.Serialization.Xml.xml", - "ref/netcore50/fr/System.Runtime.Serialization.Xml.xml", - "ref/netcore50/it/System.Runtime.Serialization.Xml.xml", - "ref/netcore50/ja/System.Runtime.Serialization.Xml.xml", - "ref/netcore50/ko/System.Runtime.Serialization.Xml.xml", - "ref/netcore50/ru/System.Runtime.Serialization.Xml.xml", - "ref/netcore50/zh-hans/System.Runtime.Serialization.Xml.xml", - "ref/netcore50/zh-hant/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.0/System.Runtime.Serialization.Xml.dll", - "ref/netstandard1.0/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.0/de/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.0/es/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.0/fr/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.0/it/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.0/ja/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.0/ko/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.0/ru/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.0/zh-hans/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.0/zh-hant/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.3/System.Runtime.Serialization.Xml.dll", - "ref/netstandard1.3/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.3/de/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.3/es/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.3/fr/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.3/it/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.3/ja/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.3/ko/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.3/ru/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.3/zh-hans/System.Runtime.Serialization.Xml.xml", - "ref/netstandard1.3/zh-hant/System.Runtime.Serialization.Xml.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Security.Claims/4.0.1": { - "sha512": "4Jlp0OgJLS/Voj1kyFP6MJlIYp3crgfH8kNQk2p7+4JYfc1aAmh9PZyAMMbDhuoolGNtux9HqSOazsioRiDvCw==", - "type": "package", - "path": "System.Security.Claims/4.0.1", - "files": [ - "System.Security.Claims.4.0.1.nupkg.sha512", - "System.Security.Claims.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Security.Claims.dll", - "lib/netstandard1.3/System.Security.Claims.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Security.Claims.dll", - "ref/netstandard1.3/System.Security.Claims.dll", - "ref/netstandard1.3/System.Security.Claims.xml", - "ref/netstandard1.3/de/System.Security.Claims.xml", - "ref/netstandard1.3/es/System.Security.Claims.xml", - "ref/netstandard1.3/fr/System.Security.Claims.xml", - "ref/netstandard1.3/it/System.Security.Claims.xml", - "ref/netstandard1.3/ja/System.Security.Claims.xml", - "ref/netstandard1.3/ko/System.Security.Claims.xml", - "ref/netstandard1.3/ru/System.Security.Claims.xml", - "ref/netstandard1.3/zh-hans/System.Security.Claims.xml", - "ref/netstandard1.3/zh-hant/System.Security.Claims.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Security.Cryptography.Algorithms/4.2.0": { - "sha512": "8JQFxbLVdrtIOKMDN38Fn0GWnqYZw/oMlwOUG/qz1jqChvyZlnUmu+0s7wLx7JYua/nAXoESpHA3iw11QFWhXg==", - "type": "package", - "path": "System.Security.Cryptography.Algorithms/4.2.0", - "files": [ - "System.Security.Cryptography.Algorithms.4.2.0.nupkg.sha512", - "System.Security.Cryptography.Algorithms.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Security.Cryptography.Algorithms.dll", - "lib/net461/System.Security.Cryptography.Algorithms.dll", - "lib/net463/System.Security.Cryptography.Algorithms.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Security.Cryptography.Algorithms.dll", - "ref/net461/System.Security.Cryptography.Algorithms.dll", - "ref/net463/System.Security.Cryptography.Algorithms.dll", - "ref/netstandard1.3/System.Security.Cryptography.Algorithms.dll", - "ref/netstandard1.4/System.Security.Cryptography.Algorithms.dll", - "ref/netstandard1.6/System.Security.Cryptography.Algorithms.dll", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.Algorithms.dll", - "runtimes/win/lib/net46/System.Security.Cryptography.Algorithms.dll", - "runtimes/win/lib/net461/System.Security.Cryptography.Algorithms.dll", - "runtimes/win/lib/net463/System.Security.Cryptography.Algorithms.dll", - "runtimes/win/lib/netcore50/System.Security.Cryptography.Algorithms.dll", - "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.Algorithms.dll" - ] - }, - "System.Security.Cryptography.Cng/4.2.0": { - "sha512": "cUJ2h+ZvONDe28Szw3st5dOHdjndhJzQ2WObDEXAWRPEQBtVItVoxbXM/OEsTthl3cNn2dk2k0I3y45igCQcLw==", - "type": "package", - "path": "System.Security.Cryptography.Cng/4.2.0", - "files": [ - "System.Security.Cryptography.Cng.4.2.0.nupkg.sha512", - "System.Security.Cryptography.Cng.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/net46/System.Security.Cryptography.Cng.dll", - "lib/net461/System.Security.Cryptography.Cng.dll", - "lib/net463/System.Security.Cryptography.Cng.dll", - "ref/net46/System.Security.Cryptography.Cng.dll", - "ref/net461/System.Security.Cryptography.Cng.dll", - "ref/net463/System.Security.Cryptography.Cng.dll", - "ref/netstandard1.3/System.Security.Cryptography.Cng.dll", - "ref/netstandard1.4/System.Security.Cryptography.Cng.dll", - "ref/netstandard1.6/System.Security.Cryptography.Cng.dll", - "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.Cng.dll", - "runtimes/win/lib/net46/System.Security.Cryptography.Cng.dll", - "runtimes/win/lib/net461/System.Security.Cryptography.Cng.dll", - "runtimes/win/lib/net463/System.Security.Cryptography.Cng.dll", - "runtimes/win/lib/netstandard1.4/System.Security.Cryptography.Cng.dll", - "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.Cng.dll" - ] - }, - "System.Security.Cryptography.Csp/4.0.0": { - "sha512": "/i1Usuo4PgAqgbPNC0NjbO3jPW//BoBlTpcWFD1EHVbidH21y4c1ap5bbEMSGAXjAShhMH4abi/K8fILrnu4BQ==", - "type": "package", - "path": "System.Security.Cryptography.Csp/4.0.0", - "files": [ - "System.Security.Cryptography.Csp.4.0.0.nupkg.sha512", - "System.Security.Cryptography.Csp.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Security.Cryptography.Csp.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Security.Cryptography.Csp.dll", - "ref/netstandard1.3/System.Security.Cryptography.Csp.dll", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.Csp.dll", - "runtimes/win/lib/net46/System.Security.Cryptography.Csp.dll", - "runtimes/win/lib/netcore50/_._", - "runtimes/win/lib/netstandard1.3/System.Security.Cryptography.Csp.dll" - ] - }, - "System.Security.Cryptography.Encoding/4.0.0": { - "sha512": "FbKgE5MbxSQMPcSVRgwM6bXN3GtyAh04NkV8E5zKCBE26X0vYW0UtTa2FIgkH33WVqBVxRgxljlVYumWtU+HcQ==", - "type": "package", - "path": "System.Security.Cryptography.Encoding/4.0.0", - "files": [ - "System.Security.Cryptography.Encoding.4.0.0.nupkg.sha512", - "System.Security.Cryptography.Encoding.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Security.Cryptography.Encoding.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Security.Cryptography.Encoding.dll", - "ref/netstandard1.3/System.Security.Cryptography.Encoding.dll", - "ref/netstandard1.3/System.Security.Cryptography.Encoding.xml", - "ref/netstandard1.3/de/System.Security.Cryptography.Encoding.xml", - "ref/netstandard1.3/es/System.Security.Cryptography.Encoding.xml", - "ref/netstandard1.3/fr/System.Security.Cryptography.Encoding.xml", - "ref/netstandard1.3/it/System.Security.Cryptography.Encoding.xml", - "ref/netstandard1.3/ja/System.Security.Cryptography.Encoding.xml", - "ref/netstandard1.3/ko/System.Security.Cryptography.Encoding.xml", - "ref/netstandard1.3/ru/System.Security.Cryptography.Encoding.xml", - "ref/netstandard1.3/zh-hans/System.Security.Cryptography.Encoding.xml", - "ref/netstandard1.3/zh-hant/System.Security.Cryptography.Encoding.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.Security.Cryptography.Encoding.dll", - "runtimes/win/lib/net46/System.Security.Cryptography.Encoding.dll", - "runtimes/win/lib/netstandard1.3/System.Security.Cryptography.Encoding.dll" - ] - }, - "System.Security.Cryptography.OpenSsl/4.0.0": { - "sha512": "HUG/zNUJwEiLkoURDixzkzZdB5yGA5pQhDP93ArOpDPQMteURIGERRNzzoJlmTreLBWr5lkFSjjMSk8ySEpQMw==", - "type": "package", - "path": "System.Security.Cryptography.OpenSsl/4.0.0", - "files": [ - "System.Security.Cryptography.OpenSsl.4.0.0.nupkg.sha512", - "System.Security.Cryptography.OpenSsl.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll", - "ref/netstandard1.6/System.Security.Cryptography.OpenSsl.dll", - "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.OpenSsl.dll" - ] - }, - "System.Security.Cryptography.Primitives/4.0.0": { - "sha512": "Wkd7QryWYjkQclX0bngpntW5HSlMzeJU24UaLJQ7YTfI8ydAVAaU2J+HXLLABOVJlKTVvAeL0Aj39VeTe7L+oA==", - "type": "package", - "path": "System.Security.Cryptography.Primitives/4.0.0", - "files": [ - "System.Security.Cryptography.Primitives.4.0.0.nupkg.sha512", - "System.Security.Cryptography.Primitives.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Security.Cryptography.Primitives.dll", - "lib/netstandard1.3/System.Security.Cryptography.Primitives.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Security.Cryptography.Primitives.dll", - "ref/netstandard1.3/System.Security.Cryptography.Primitives.dll", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Security.Cryptography.X509Certificates/4.1.0": { - "sha512": "4HEfsQIKAhA1+ApNn729Gi09zh+lYWwyIuViihoMDWp1vQnEkL2ct7mAbhBlLYm+x/L4Rr/pyGge1lIY635e0w==", - "type": "package", - "path": "System.Security.Cryptography.X509Certificates/4.1.0", - "files": [ - "System.Security.Cryptography.X509Certificates.4.1.0.nupkg.sha512", - "System.Security.Cryptography.X509Certificates.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Security.Cryptography.X509Certificates.dll", - "lib/net461/System.Security.Cryptography.X509Certificates.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Security.Cryptography.X509Certificates.dll", - "ref/net461/System.Security.Cryptography.X509Certificates.dll", - "ref/netstandard1.3/System.Security.Cryptography.X509Certificates.dll", - "ref/netstandard1.3/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.3/de/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.3/es/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.3/fr/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.3/it/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.3/ja/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.3/ko/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.3/ru/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.3/zh-hans/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.3/zh-hant/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.4/System.Security.Cryptography.X509Certificates.dll", - "ref/netstandard1.4/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.4/de/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.4/es/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.4/fr/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.4/it/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.4/ja/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.4/ko/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.4/ru/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.4/zh-hans/System.Security.Cryptography.X509Certificates.xml", - "ref/netstandard1.4/zh-hant/System.Security.Cryptography.X509Certificates.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.6/System.Security.Cryptography.X509Certificates.dll", - "runtimes/win/lib/net46/System.Security.Cryptography.X509Certificates.dll", - "runtimes/win/lib/net461/System.Security.Cryptography.X509Certificates.dll", - "runtimes/win/lib/netcore50/System.Security.Cryptography.X509Certificates.dll", - "runtimes/win/lib/netstandard1.6/System.Security.Cryptography.X509Certificates.dll" - ] - }, - "System.Security.Principal/4.0.1": { - "sha512": "On+SKhXY5rzxh/S8wlH1Rm0ogBlu7zyHNxeNBiXauNrhHRXAe9EuX8Yl5IOzLPGU5Z4kLWHMvORDOCG8iu9hww==", - "type": "package", - "path": "System.Security.Principal/4.0.1", - "files": [ - "System.Security.Principal.4.0.1.nupkg.sha512", - "System.Security.Principal.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Security.Principal.dll", - "lib/netstandard1.0/System.Security.Principal.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Security.Principal.dll", - "ref/netcore50/System.Security.Principal.xml", - "ref/netcore50/de/System.Security.Principal.xml", - "ref/netcore50/es/System.Security.Principal.xml", - "ref/netcore50/fr/System.Security.Principal.xml", - "ref/netcore50/it/System.Security.Principal.xml", - "ref/netcore50/ja/System.Security.Principal.xml", - "ref/netcore50/ko/System.Security.Principal.xml", - "ref/netcore50/ru/System.Security.Principal.xml", - "ref/netcore50/zh-hans/System.Security.Principal.xml", - "ref/netcore50/zh-hant/System.Security.Principal.xml", - "ref/netstandard1.0/System.Security.Principal.dll", - "ref/netstandard1.0/System.Security.Principal.xml", - "ref/netstandard1.0/de/System.Security.Principal.xml", - "ref/netstandard1.0/es/System.Security.Principal.xml", - "ref/netstandard1.0/fr/System.Security.Principal.xml", - "ref/netstandard1.0/it/System.Security.Principal.xml", - "ref/netstandard1.0/ja/System.Security.Principal.xml", - "ref/netstandard1.0/ko/System.Security.Principal.xml", - "ref/netstandard1.0/ru/System.Security.Principal.xml", - "ref/netstandard1.0/zh-hans/System.Security.Principal.xml", - "ref/netstandard1.0/zh-hant/System.Security.Principal.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Security.Principal.Windows/4.0.0": { - "sha512": "iFx15AF3RMEPZn3COh8+Bb2Thv2zsmLd93RchS1b8Mj5SNYeGqbYNCSn5AES1+gq56p4ujGZPrl0xN7ngkXOHg==", - "type": "package", - "path": "System.Security.Principal.Windows/4.0.0", - "files": [ - "System.Security.Principal.Windows.4.0.0.nupkg.sha512", - "System.Security.Principal.Windows.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/net46/System.Security.Principal.Windows.dll", - "ref/net46/System.Security.Principal.Windows.dll", - "ref/netstandard1.3/System.Security.Principal.Windows.dll", - "ref/netstandard1.3/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/de/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/es/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/fr/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/it/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/ja/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/ko/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/ru/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/zh-hans/System.Security.Principal.Windows.xml", - "ref/netstandard1.3/zh-hant/System.Security.Principal.Windows.xml", - "runtimes/unix/lib/netstandard1.3/System.Security.Principal.Windows.dll", - "runtimes/win/lib/net46/System.Security.Principal.Windows.dll", - "runtimes/win/lib/netstandard1.3/System.Security.Principal.Windows.dll" - ] - }, - "System.Text.Encoding/4.0.11": { - "sha512": "U3gGeMlDZXxCEiY4DwVLSacg+DFWCvoiX+JThA/rvw37Sqrku7sEFeVBBBMBnfB6FeZHsyDx85HlKL19x0HtZA==", - "type": "package", - "path": "System.Text.Encoding/4.0.11", - "files": [ - "System.Text.Encoding.4.0.11.nupkg.sha512", - "System.Text.Encoding.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Text.Encoding.dll", - "ref/netcore50/System.Text.Encoding.xml", - "ref/netcore50/de/System.Text.Encoding.xml", - "ref/netcore50/es/System.Text.Encoding.xml", - "ref/netcore50/fr/System.Text.Encoding.xml", - "ref/netcore50/it/System.Text.Encoding.xml", - "ref/netcore50/ja/System.Text.Encoding.xml", - "ref/netcore50/ko/System.Text.Encoding.xml", - "ref/netcore50/ru/System.Text.Encoding.xml", - "ref/netcore50/zh-hans/System.Text.Encoding.xml", - "ref/netcore50/zh-hant/System.Text.Encoding.xml", - "ref/netstandard1.0/System.Text.Encoding.dll", - "ref/netstandard1.0/System.Text.Encoding.xml", - "ref/netstandard1.0/de/System.Text.Encoding.xml", - "ref/netstandard1.0/es/System.Text.Encoding.xml", - "ref/netstandard1.0/fr/System.Text.Encoding.xml", - "ref/netstandard1.0/it/System.Text.Encoding.xml", - "ref/netstandard1.0/ja/System.Text.Encoding.xml", - "ref/netstandard1.0/ko/System.Text.Encoding.xml", - "ref/netstandard1.0/ru/System.Text.Encoding.xml", - "ref/netstandard1.0/zh-hans/System.Text.Encoding.xml", - "ref/netstandard1.0/zh-hant/System.Text.Encoding.xml", - "ref/netstandard1.3/System.Text.Encoding.dll", - "ref/netstandard1.3/System.Text.Encoding.xml", - "ref/netstandard1.3/de/System.Text.Encoding.xml", - "ref/netstandard1.3/es/System.Text.Encoding.xml", - "ref/netstandard1.3/fr/System.Text.Encoding.xml", - "ref/netstandard1.3/it/System.Text.Encoding.xml", - "ref/netstandard1.3/ja/System.Text.Encoding.xml", - "ref/netstandard1.3/ko/System.Text.Encoding.xml", - "ref/netstandard1.3/ru/System.Text.Encoding.xml", - "ref/netstandard1.3/zh-hans/System.Text.Encoding.xml", - "ref/netstandard1.3/zh-hant/System.Text.Encoding.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Text.Encoding.CodePages/4.0.1": { - "sha512": "h4z6rrA/hxWf4655D18IIZ0eaLRa3tQC/j+e26W+VinIHY0l07iEXaAvO0YSYq3MvCjMYy8Zs5AdC1sxNQOB7Q==", - "type": "package", - "path": "System.Text.Encoding.CodePages/4.0.1", - "files": [ - "System.Text.Encoding.CodePages.4.0.1.nupkg.sha512", - "System.Text.Encoding.CodePages.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Text.Encoding.CodePages.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/netstandard1.3/System.Text.Encoding.CodePages.dll", - "ref/netstandard1.3/System.Text.Encoding.CodePages.xml", - "ref/netstandard1.3/de/System.Text.Encoding.CodePages.xml", - "ref/netstandard1.3/es/System.Text.Encoding.CodePages.xml", - "ref/netstandard1.3/fr/System.Text.Encoding.CodePages.xml", - "ref/netstandard1.3/it/System.Text.Encoding.CodePages.xml", - "ref/netstandard1.3/ja/System.Text.Encoding.CodePages.xml", - "ref/netstandard1.3/ko/System.Text.Encoding.CodePages.xml", - "ref/netstandard1.3/ru/System.Text.Encoding.CodePages.xml", - "ref/netstandard1.3/zh-hans/System.Text.Encoding.CodePages.xml", - "ref/netstandard1.3/zh-hant/System.Text.Encoding.CodePages.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/unix/lib/netstandard1.3/System.Text.Encoding.CodePages.dll", - "runtimes/win/lib/netstandard1.3/System.Text.Encoding.CodePages.dll" - ] - }, - "System.Text.Encoding.Extensions/4.0.11": { - "sha512": "jtbiTDtvfLYgXn8PTfWI+SiBs51rrmO4AAckx4KR6vFK9Wzf6tI8kcRdsYQNwriUeQ1+CtQbM1W4cMbLXnj/OQ==", - "type": "package", - "path": "System.Text.Encoding.Extensions/4.0.11", - "files": [ - "System.Text.Encoding.Extensions.4.0.11.nupkg.sha512", - "System.Text.Encoding.Extensions.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Text.Encoding.Extensions.dll", - "ref/netcore50/System.Text.Encoding.Extensions.xml", - "ref/netcore50/de/System.Text.Encoding.Extensions.xml", - "ref/netcore50/es/System.Text.Encoding.Extensions.xml", - "ref/netcore50/fr/System.Text.Encoding.Extensions.xml", - "ref/netcore50/it/System.Text.Encoding.Extensions.xml", - "ref/netcore50/ja/System.Text.Encoding.Extensions.xml", - "ref/netcore50/ko/System.Text.Encoding.Extensions.xml", - "ref/netcore50/ru/System.Text.Encoding.Extensions.xml", - "ref/netcore50/zh-hans/System.Text.Encoding.Extensions.xml", - "ref/netcore50/zh-hant/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.0/System.Text.Encoding.Extensions.dll", - "ref/netstandard1.0/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.0/de/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.0/es/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.0/fr/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.0/it/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.0/ja/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.0/ko/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.0/ru/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.0/zh-hans/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.0/zh-hant/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.3/System.Text.Encoding.Extensions.dll", - "ref/netstandard1.3/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.3/de/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.3/es/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.3/fr/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.3/it/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.3/ja/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.3/ko/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.3/ru/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.3/zh-hans/System.Text.Encoding.Extensions.xml", - "ref/netstandard1.3/zh-hant/System.Text.Encoding.Extensions.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Text.Encodings.Web/4.0.0": { - "sha512": "TWZnuiJgPDAEEUfobD7njXvSVR2Toz+jvKWds6yL4oSztmKQfnWzucczjzA+6Dv1bktBdY71sZW1YN0X6m9chQ==", - "type": "package", - "path": "System.Text.Encodings.Web/4.0.0", - "files": [ - "System.Text.Encodings.Web.4.0.0.nupkg.sha512", - "System.Text.Encodings.Web.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/System.Text.Encodings.Web.dll", - "lib/netstandard1.0/System.Text.Encodings.Web.xml" - ] - }, - "System.Text.RegularExpressions/4.1.0": { - "sha512": "i88YCXpRTjCnoSQZtdlHkAOx4KNNik4hMy83n0+Ftlb7jvV6ZiZWMpnEZHhjBp6hQVh8gWd/iKNPzlPF7iyA2g==", - "type": "package", - "path": "System.Text.RegularExpressions/4.1.0", - "files": [ - "System.Text.RegularExpressions.4.1.0.nupkg.sha512", - "System.Text.RegularExpressions.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/net463/System.Text.RegularExpressions.dll", - "lib/netcore50/System.Text.RegularExpressions.dll", - "lib/netstandard1.6/System.Text.RegularExpressions.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/net463/System.Text.RegularExpressions.dll", - "ref/netcore50/System.Text.RegularExpressions.dll", - "ref/netcore50/System.Text.RegularExpressions.xml", - "ref/netcore50/de/System.Text.RegularExpressions.xml", - "ref/netcore50/es/System.Text.RegularExpressions.xml", - "ref/netcore50/fr/System.Text.RegularExpressions.xml", - "ref/netcore50/it/System.Text.RegularExpressions.xml", - "ref/netcore50/ja/System.Text.RegularExpressions.xml", - "ref/netcore50/ko/System.Text.RegularExpressions.xml", - "ref/netcore50/ru/System.Text.RegularExpressions.xml", - "ref/netcore50/zh-hans/System.Text.RegularExpressions.xml", - "ref/netcore50/zh-hant/System.Text.RegularExpressions.xml", - "ref/netstandard1.0/System.Text.RegularExpressions.dll", - "ref/netstandard1.0/System.Text.RegularExpressions.xml", - "ref/netstandard1.0/de/System.Text.RegularExpressions.xml", - "ref/netstandard1.0/es/System.Text.RegularExpressions.xml", - "ref/netstandard1.0/fr/System.Text.RegularExpressions.xml", - "ref/netstandard1.0/it/System.Text.RegularExpressions.xml", - "ref/netstandard1.0/ja/System.Text.RegularExpressions.xml", - "ref/netstandard1.0/ko/System.Text.RegularExpressions.xml", - "ref/netstandard1.0/ru/System.Text.RegularExpressions.xml", - "ref/netstandard1.0/zh-hans/System.Text.RegularExpressions.xml", - "ref/netstandard1.0/zh-hant/System.Text.RegularExpressions.xml", - "ref/netstandard1.3/System.Text.RegularExpressions.dll", - "ref/netstandard1.3/System.Text.RegularExpressions.xml", - "ref/netstandard1.3/de/System.Text.RegularExpressions.xml", - "ref/netstandard1.3/es/System.Text.RegularExpressions.xml", - "ref/netstandard1.3/fr/System.Text.RegularExpressions.xml", - "ref/netstandard1.3/it/System.Text.RegularExpressions.xml", - "ref/netstandard1.3/ja/System.Text.RegularExpressions.xml", - "ref/netstandard1.3/ko/System.Text.RegularExpressions.xml", - "ref/netstandard1.3/ru/System.Text.RegularExpressions.xml", - "ref/netstandard1.3/zh-hans/System.Text.RegularExpressions.xml", - "ref/netstandard1.3/zh-hant/System.Text.RegularExpressions.xml", - "ref/netstandard1.6/System.Text.RegularExpressions.dll", - "ref/netstandard1.6/System.Text.RegularExpressions.xml", - "ref/netstandard1.6/de/System.Text.RegularExpressions.xml", - "ref/netstandard1.6/es/System.Text.RegularExpressions.xml", - "ref/netstandard1.6/fr/System.Text.RegularExpressions.xml", - "ref/netstandard1.6/it/System.Text.RegularExpressions.xml", - "ref/netstandard1.6/ja/System.Text.RegularExpressions.xml", - "ref/netstandard1.6/ko/System.Text.RegularExpressions.xml", - "ref/netstandard1.6/ru/System.Text.RegularExpressions.xml", - "ref/netstandard1.6/zh-hans/System.Text.RegularExpressions.xml", - "ref/netstandard1.6/zh-hant/System.Text.RegularExpressions.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Threading/4.0.11": { - "sha512": "N+3xqIcg3VDKyjwwCGaZ9HawG9aC6cSDI+s7ROma310GQo8vilFZa86hqKppwTHleR/G0sfOzhvgnUxWCR/DrQ==", - "type": "package", - "path": "System.Threading/4.0.11", - "files": [ - "System.Threading.4.0.11.nupkg.sha512", - "System.Threading.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Threading.dll", - "lib/netstandard1.3/System.Threading.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Threading.dll", - "ref/netcore50/System.Threading.xml", - "ref/netcore50/de/System.Threading.xml", - "ref/netcore50/es/System.Threading.xml", - "ref/netcore50/fr/System.Threading.xml", - "ref/netcore50/it/System.Threading.xml", - "ref/netcore50/ja/System.Threading.xml", - "ref/netcore50/ko/System.Threading.xml", - "ref/netcore50/ru/System.Threading.xml", - "ref/netcore50/zh-hans/System.Threading.xml", - "ref/netcore50/zh-hant/System.Threading.xml", - "ref/netstandard1.0/System.Threading.dll", - "ref/netstandard1.0/System.Threading.xml", - "ref/netstandard1.0/de/System.Threading.xml", - "ref/netstandard1.0/es/System.Threading.xml", - "ref/netstandard1.0/fr/System.Threading.xml", - "ref/netstandard1.0/it/System.Threading.xml", - "ref/netstandard1.0/ja/System.Threading.xml", - "ref/netstandard1.0/ko/System.Threading.xml", - "ref/netstandard1.0/ru/System.Threading.xml", - "ref/netstandard1.0/zh-hans/System.Threading.xml", - "ref/netstandard1.0/zh-hant/System.Threading.xml", - "ref/netstandard1.3/System.Threading.dll", - "ref/netstandard1.3/System.Threading.xml", - "ref/netstandard1.3/de/System.Threading.xml", - "ref/netstandard1.3/es/System.Threading.xml", - "ref/netstandard1.3/fr/System.Threading.xml", - "ref/netstandard1.3/it/System.Threading.xml", - "ref/netstandard1.3/ja/System.Threading.xml", - "ref/netstandard1.3/ko/System.Threading.xml", - "ref/netstandard1.3/ru/System.Threading.xml", - "ref/netstandard1.3/zh-hans/System.Threading.xml", - "ref/netstandard1.3/zh-hant/System.Threading.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Threading.dll" - ] - }, - "System.Threading.Overlapped/4.0.1": { - "sha512": "f7aLuLkBoCQM2kng7zqLFBXz9Gk48gDK8lk1ih9rH/1arJJzZK9gJwNvPDhL6Ps/l6rwOr8jw+4FCHL0KKWiEg==", - "type": "package", - "path": "System.Threading.Overlapped/4.0.1", - "files": [ - "System.Threading.Overlapped.4.0.1.nupkg.sha512", - "System.Threading.Overlapped.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/net46/System.Threading.Overlapped.dll", - "ref/net46/System.Threading.Overlapped.dll", - "ref/netstandard1.3/System.Threading.Overlapped.dll", - "ref/netstandard1.3/System.Threading.Overlapped.xml", - "ref/netstandard1.3/de/System.Threading.Overlapped.xml", - "ref/netstandard1.3/es/System.Threading.Overlapped.xml", - "ref/netstandard1.3/fr/System.Threading.Overlapped.xml", - "ref/netstandard1.3/it/System.Threading.Overlapped.xml", - "ref/netstandard1.3/ja/System.Threading.Overlapped.xml", - "ref/netstandard1.3/ko/System.Threading.Overlapped.xml", - "ref/netstandard1.3/ru/System.Threading.Overlapped.xml", - "ref/netstandard1.3/zh-hans/System.Threading.Overlapped.xml", - "ref/netstandard1.3/zh-hant/System.Threading.Overlapped.xml", - "runtimes/unix/lib/netstandard1.3/System.Threading.Overlapped.dll", - "runtimes/win/lib/net46/System.Threading.Overlapped.dll", - "runtimes/win/lib/netcore50/System.Threading.Overlapped.dll", - "runtimes/win/lib/netstandard1.3/System.Threading.Overlapped.dll" - ] - }, - "System.Threading.Tasks/4.0.11": { - "sha512": "k1S4Gc6IGwtHGT8188RSeGaX86Qw/wnrgNLshJvsdNUOPP9etMmo8S07c+UlOAx4K/xLuN9ivA1bD0LVurtIxQ==", - "type": "package", - "path": "System.Threading.Tasks/4.0.11", - "files": [ - "System.Threading.Tasks.4.0.11.nupkg.sha512", - "System.Threading.Tasks.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Threading.Tasks.dll", - "ref/netcore50/System.Threading.Tasks.xml", - "ref/netcore50/de/System.Threading.Tasks.xml", - "ref/netcore50/es/System.Threading.Tasks.xml", - "ref/netcore50/fr/System.Threading.Tasks.xml", - "ref/netcore50/it/System.Threading.Tasks.xml", - "ref/netcore50/ja/System.Threading.Tasks.xml", - "ref/netcore50/ko/System.Threading.Tasks.xml", - "ref/netcore50/ru/System.Threading.Tasks.xml", - "ref/netcore50/zh-hans/System.Threading.Tasks.xml", - "ref/netcore50/zh-hant/System.Threading.Tasks.xml", - "ref/netstandard1.0/System.Threading.Tasks.dll", - "ref/netstandard1.0/System.Threading.Tasks.xml", - "ref/netstandard1.0/de/System.Threading.Tasks.xml", - "ref/netstandard1.0/es/System.Threading.Tasks.xml", - "ref/netstandard1.0/fr/System.Threading.Tasks.xml", - "ref/netstandard1.0/it/System.Threading.Tasks.xml", - "ref/netstandard1.0/ja/System.Threading.Tasks.xml", - "ref/netstandard1.0/ko/System.Threading.Tasks.xml", - "ref/netstandard1.0/ru/System.Threading.Tasks.xml", - "ref/netstandard1.0/zh-hans/System.Threading.Tasks.xml", - "ref/netstandard1.0/zh-hant/System.Threading.Tasks.xml", - "ref/netstandard1.3/System.Threading.Tasks.dll", - "ref/netstandard1.3/System.Threading.Tasks.xml", - "ref/netstandard1.3/de/System.Threading.Tasks.xml", - "ref/netstandard1.3/es/System.Threading.Tasks.xml", - "ref/netstandard1.3/fr/System.Threading.Tasks.xml", - "ref/netstandard1.3/it/System.Threading.Tasks.xml", - "ref/netstandard1.3/ja/System.Threading.Tasks.xml", - "ref/netstandard1.3/ko/System.Threading.Tasks.xml", - "ref/netstandard1.3/ru/System.Threading.Tasks.xml", - "ref/netstandard1.3/zh-hans/System.Threading.Tasks.xml", - "ref/netstandard1.3/zh-hant/System.Threading.Tasks.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Threading.Tasks.Dataflow/4.6.0": { - "sha512": "2hRjGu2r2jxRZ55wmcHO/WbdX+YAOz9x6FE8xqkHZgPaoFMKQZRe9dk8xTZIas8fRjxRmzawnTEWIrhlM+Un7w==", - "type": "package", - "path": "System.Threading.Tasks.Dataflow/4.6.0", - "files": [ - "System.Threading.Tasks.Dataflow.4.6.0.nupkg.sha512", - "System.Threading.Tasks.Dataflow.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/System.Threading.Tasks.Dataflow.XML", - "lib/netstandard1.0/System.Threading.Tasks.Dataflow.dll", - "lib/netstandard1.1/System.Threading.Tasks.Dataflow.XML", - "lib/netstandard1.1/System.Threading.Tasks.Dataflow.dll" - ] - }, - "System.Threading.Tasks.Extensions/4.0.0": { - "sha512": "pH4FZDsZQ/WmgJtN4LWYmRdJAEeVkyriSwrv2Teoe5FOU0Yxlb6II6GL8dBPOfRmutHGATduj3ooMt7dJ2+i+w==", - "type": "package", - "path": "System.Threading.Tasks.Extensions/4.0.0", - "files": [ - "System.Threading.Tasks.Extensions.4.0.0.nupkg.sha512", - "System.Threading.Tasks.Extensions.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/netstandard1.0/System.Threading.Tasks.Extensions.dll", - "lib/netstandard1.0/System.Threading.Tasks.Extensions.xml", - "lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.dll", - "lib/portable-net45+win8+wp8+wpa81/System.Threading.Tasks.Extensions.xml" - ] - }, - "System.Threading.Tasks.Parallel/4.0.1": { - "sha512": "7Pc9t25bcynT9FpMvkUw4ZjYwUiGup/5cJFW72/5MgCG+np2cfVUMdh29u8d7onxX7d8PS3J+wL73zQRqkdrSA==", - "type": "package", - "path": "System.Threading.Tasks.Parallel/4.0.1", - "files": [ - "System.Threading.Tasks.Parallel.4.0.1.nupkg.sha512", - "System.Threading.Tasks.Parallel.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Threading.Tasks.Parallel.dll", - "lib/netstandard1.3/System.Threading.Tasks.Parallel.dll", - "lib/portable-net45+win8+wpa81/_._", - "lib/win8/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Threading.Tasks.Parallel.dll", - "ref/netcore50/System.Threading.Tasks.Parallel.xml", - "ref/netcore50/de/System.Threading.Tasks.Parallel.xml", - "ref/netcore50/es/System.Threading.Tasks.Parallel.xml", - "ref/netcore50/fr/System.Threading.Tasks.Parallel.xml", - "ref/netcore50/it/System.Threading.Tasks.Parallel.xml", - "ref/netcore50/ja/System.Threading.Tasks.Parallel.xml", - "ref/netcore50/ko/System.Threading.Tasks.Parallel.xml", - "ref/netcore50/ru/System.Threading.Tasks.Parallel.xml", - "ref/netcore50/zh-hans/System.Threading.Tasks.Parallel.xml", - "ref/netcore50/zh-hant/System.Threading.Tasks.Parallel.xml", - "ref/netstandard1.1/System.Threading.Tasks.Parallel.dll", - "ref/netstandard1.1/System.Threading.Tasks.Parallel.xml", - "ref/netstandard1.1/de/System.Threading.Tasks.Parallel.xml", - "ref/netstandard1.1/es/System.Threading.Tasks.Parallel.xml", - "ref/netstandard1.1/fr/System.Threading.Tasks.Parallel.xml", - "ref/netstandard1.1/it/System.Threading.Tasks.Parallel.xml", - "ref/netstandard1.1/ja/System.Threading.Tasks.Parallel.xml", - "ref/netstandard1.1/ko/System.Threading.Tasks.Parallel.xml", - "ref/netstandard1.1/ru/System.Threading.Tasks.Parallel.xml", - "ref/netstandard1.1/zh-hans/System.Threading.Tasks.Parallel.xml", - "ref/netstandard1.1/zh-hant/System.Threading.Tasks.Parallel.xml", - "ref/portable-net45+win8+wpa81/_._", - "ref/win8/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Threading.Thread/4.0.0": { - "sha512": "gIdJqDXlOr5W9zeqFErLw3dsOsiShSCYtF9SEHitACycmvNvY8odf9kiKvp6V7aibc8C4HzzNBkWXjyfn7plbQ==", - "type": "package", - "path": "System.Threading.Thread/4.0.0", - "files": [ - "System.Threading.Thread.4.0.0.nupkg.sha512", - "System.Threading.Thread.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Threading.Thread.dll", - "lib/netcore50/_._", - "lib/netstandard1.3/System.Threading.Thread.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Threading.Thread.dll", - "ref/netstandard1.3/System.Threading.Thread.dll", - "ref/netstandard1.3/System.Threading.Thread.xml", - "ref/netstandard1.3/de/System.Threading.Thread.xml", - "ref/netstandard1.3/es/System.Threading.Thread.xml", - "ref/netstandard1.3/fr/System.Threading.Thread.xml", - "ref/netstandard1.3/it/System.Threading.Thread.xml", - "ref/netstandard1.3/ja/System.Threading.Thread.xml", - "ref/netstandard1.3/ko/System.Threading.Thread.xml", - "ref/netstandard1.3/ru/System.Threading.Thread.xml", - "ref/netstandard1.3/zh-hans/System.Threading.Thread.xml", - "ref/netstandard1.3/zh-hant/System.Threading.Thread.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Threading.ThreadPool/4.0.10": { - "sha512": "IMXgB5Vf/5Qw1kpoVgJMOvUO1l32aC+qC3OaIZjWJOjvcxuxNWOK2ZTWWYXfij22NHxT2j1yWX5vlAeQWld9vA==", - "type": "package", - "path": "System.Threading.ThreadPool/4.0.10", - "files": [ - "System.Threading.ThreadPool.4.0.10.nupkg.sha512", - "System.Threading.ThreadPool.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Threading.ThreadPool.dll", - "lib/netcore50/_._", - "lib/netstandard1.3/System.Threading.ThreadPool.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Threading.ThreadPool.dll", - "ref/netstandard1.3/System.Threading.ThreadPool.dll", - "ref/netstandard1.3/System.Threading.ThreadPool.xml", - "ref/netstandard1.3/de/System.Threading.ThreadPool.xml", - "ref/netstandard1.3/es/System.Threading.ThreadPool.xml", - "ref/netstandard1.3/fr/System.Threading.ThreadPool.xml", - "ref/netstandard1.3/it/System.Threading.ThreadPool.xml", - "ref/netstandard1.3/ja/System.Threading.ThreadPool.xml", - "ref/netstandard1.3/ko/System.Threading.ThreadPool.xml", - "ref/netstandard1.3/ru/System.Threading.ThreadPool.xml", - "ref/netstandard1.3/zh-hans/System.Threading.ThreadPool.xml", - "ref/netstandard1.3/zh-hant/System.Threading.ThreadPool.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Threading.Timer/4.0.1": { - "sha512": "saGfUV8uqVW6LeURiqxcGhZ24PzuRNaUBtbhVeuUAvky1naH395A/1nY0P2bWvrw/BreRtIB/EzTDkGBpqCwEw==", - "type": "package", - "path": "System.Threading.Timer/4.0.1", - "files": [ - "System.Threading.Timer.4.0.1.nupkg.sha512", - "System.Threading.Timer.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net451/_._", - "lib/portable-net451+win81+wpa81/_._", - "lib/win81/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net451/_._", - "ref/netcore50/System.Threading.Timer.dll", - "ref/netcore50/System.Threading.Timer.xml", - "ref/netcore50/de/System.Threading.Timer.xml", - "ref/netcore50/es/System.Threading.Timer.xml", - "ref/netcore50/fr/System.Threading.Timer.xml", - "ref/netcore50/it/System.Threading.Timer.xml", - "ref/netcore50/ja/System.Threading.Timer.xml", - "ref/netcore50/ko/System.Threading.Timer.xml", - "ref/netcore50/ru/System.Threading.Timer.xml", - "ref/netcore50/zh-hans/System.Threading.Timer.xml", - "ref/netcore50/zh-hant/System.Threading.Timer.xml", - "ref/netstandard1.2/System.Threading.Timer.dll", - "ref/netstandard1.2/System.Threading.Timer.xml", - "ref/netstandard1.2/de/System.Threading.Timer.xml", - "ref/netstandard1.2/es/System.Threading.Timer.xml", - "ref/netstandard1.2/fr/System.Threading.Timer.xml", - "ref/netstandard1.2/it/System.Threading.Timer.xml", - "ref/netstandard1.2/ja/System.Threading.Timer.xml", - "ref/netstandard1.2/ko/System.Threading.Timer.xml", - "ref/netstandard1.2/ru/System.Threading.Timer.xml", - "ref/netstandard1.2/zh-hans/System.Threading.Timer.xml", - "ref/netstandard1.2/zh-hant/System.Threading.Timer.xml", - "ref/portable-net451+win81+wpa81/_._", - "ref/win81/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Xml.ReaderWriter/4.0.11": { - "sha512": "ZIiLPsf67YZ9zgr31vzrFaYQqxRPX9cVHjtPSnmx4eN6lbS/yEyYNr2vs1doGDEscF0tjCZFsk9yUg1sC9e8tg==", - "type": "package", - "path": "System.Xml.ReaderWriter/4.0.11", - "files": [ - "System.Xml.ReaderWriter.4.0.11.nupkg.sha512", - "System.Xml.ReaderWriter.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Xml.ReaderWriter.dll", - "lib/netstandard1.3/System.Xml.ReaderWriter.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Xml.ReaderWriter.dll", - "ref/netcore50/System.Xml.ReaderWriter.xml", - "ref/netcore50/de/System.Xml.ReaderWriter.xml", - "ref/netcore50/es/System.Xml.ReaderWriter.xml", - "ref/netcore50/fr/System.Xml.ReaderWriter.xml", - "ref/netcore50/it/System.Xml.ReaderWriter.xml", - "ref/netcore50/ja/System.Xml.ReaderWriter.xml", - "ref/netcore50/ko/System.Xml.ReaderWriter.xml", - "ref/netcore50/ru/System.Xml.ReaderWriter.xml", - "ref/netcore50/zh-hans/System.Xml.ReaderWriter.xml", - "ref/netcore50/zh-hant/System.Xml.ReaderWriter.xml", - "ref/netstandard1.0/System.Xml.ReaderWriter.dll", - "ref/netstandard1.0/System.Xml.ReaderWriter.xml", - "ref/netstandard1.0/de/System.Xml.ReaderWriter.xml", - "ref/netstandard1.0/es/System.Xml.ReaderWriter.xml", - "ref/netstandard1.0/fr/System.Xml.ReaderWriter.xml", - "ref/netstandard1.0/it/System.Xml.ReaderWriter.xml", - "ref/netstandard1.0/ja/System.Xml.ReaderWriter.xml", - "ref/netstandard1.0/ko/System.Xml.ReaderWriter.xml", - "ref/netstandard1.0/ru/System.Xml.ReaderWriter.xml", - "ref/netstandard1.0/zh-hans/System.Xml.ReaderWriter.xml", - "ref/netstandard1.0/zh-hant/System.Xml.ReaderWriter.xml", - "ref/netstandard1.3/System.Xml.ReaderWriter.dll", - "ref/netstandard1.3/System.Xml.ReaderWriter.xml", - "ref/netstandard1.3/de/System.Xml.ReaderWriter.xml", - "ref/netstandard1.3/es/System.Xml.ReaderWriter.xml", - "ref/netstandard1.3/fr/System.Xml.ReaderWriter.xml", - "ref/netstandard1.3/it/System.Xml.ReaderWriter.xml", - "ref/netstandard1.3/ja/System.Xml.ReaderWriter.xml", - "ref/netstandard1.3/ko/System.Xml.ReaderWriter.xml", - "ref/netstandard1.3/ru/System.Xml.ReaderWriter.xml", - "ref/netstandard1.3/zh-hans/System.Xml.ReaderWriter.xml", - "ref/netstandard1.3/zh-hant/System.Xml.ReaderWriter.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Xml.XDocument/4.0.11": { - "sha512": "Mk2mKmPi0nWaoiYeotq1dgeNK1fqWh61+EK+w4Wu8SWuTYLzpUnschb59bJtGywaPq7SmTuPf44wrXRwbIrukg==", - "type": "package", - "path": "System.Xml.XDocument/4.0.11", - "files": [ - "System.Xml.XDocument.4.0.11.nupkg.sha512", - "System.Xml.XDocument.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Xml.XDocument.dll", - "lib/netstandard1.3/System.Xml.XDocument.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Xml.XDocument.dll", - "ref/netcore50/System.Xml.XDocument.xml", - "ref/netcore50/de/System.Xml.XDocument.xml", - "ref/netcore50/es/System.Xml.XDocument.xml", - "ref/netcore50/fr/System.Xml.XDocument.xml", - "ref/netcore50/it/System.Xml.XDocument.xml", - "ref/netcore50/ja/System.Xml.XDocument.xml", - "ref/netcore50/ko/System.Xml.XDocument.xml", - "ref/netcore50/ru/System.Xml.XDocument.xml", - "ref/netcore50/zh-hans/System.Xml.XDocument.xml", - "ref/netcore50/zh-hant/System.Xml.XDocument.xml", - "ref/netstandard1.0/System.Xml.XDocument.dll", - "ref/netstandard1.0/System.Xml.XDocument.xml", - "ref/netstandard1.0/de/System.Xml.XDocument.xml", - "ref/netstandard1.0/es/System.Xml.XDocument.xml", - "ref/netstandard1.0/fr/System.Xml.XDocument.xml", - "ref/netstandard1.0/it/System.Xml.XDocument.xml", - "ref/netstandard1.0/ja/System.Xml.XDocument.xml", - "ref/netstandard1.0/ko/System.Xml.XDocument.xml", - "ref/netstandard1.0/ru/System.Xml.XDocument.xml", - "ref/netstandard1.0/zh-hans/System.Xml.XDocument.xml", - "ref/netstandard1.0/zh-hant/System.Xml.XDocument.xml", - "ref/netstandard1.3/System.Xml.XDocument.dll", - "ref/netstandard1.3/System.Xml.XDocument.xml", - "ref/netstandard1.3/de/System.Xml.XDocument.xml", - "ref/netstandard1.3/es/System.Xml.XDocument.xml", - "ref/netstandard1.3/fr/System.Xml.XDocument.xml", - "ref/netstandard1.3/it/System.Xml.XDocument.xml", - "ref/netstandard1.3/ja/System.Xml.XDocument.xml", - "ref/netstandard1.3/ko/System.Xml.XDocument.xml", - "ref/netstandard1.3/ru/System.Xml.XDocument.xml", - "ref/netstandard1.3/zh-hans/System.Xml.XDocument.xml", - "ref/netstandard1.3/zh-hant/System.Xml.XDocument.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Xml.XmlDocument/4.0.1": { - "sha512": "2eZu6IP+etFVBBFUFzw2w6J21DqIN5eL9Y8r8JfJWUmV28Z5P0SNU01oCisVHQgHsDhHPnmq2s1hJrJCFZWloQ==", - "type": "package", - "path": "System.Xml.XmlDocument/4.0.1", - "files": [ - "System.Xml.XmlDocument.4.0.1.nupkg.sha512", - "System.Xml.XmlDocument.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Xml.XmlDocument.dll", - "lib/netstandard1.3/System.Xml.XmlDocument.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Xml.XmlDocument.dll", - "ref/netstandard1.3/System.Xml.XmlDocument.dll", - "ref/netstandard1.3/System.Xml.XmlDocument.xml", - "ref/netstandard1.3/de/System.Xml.XmlDocument.xml", - "ref/netstandard1.3/es/System.Xml.XmlDocument.xml", - "ref/netstandard1.3/fr/System.Xml.XmlDocument.xml", - "ref/netstandard1.3/it/System.Xml.XmlDocument.xml", - "ref/netstandard1.3/ja/System.Xml.XmlDocument.xml", - "ref/netstandard1.3/ko/System.Xml.XmlDocument.xml", - "ref/netstandard1.3/ru/System.Xml.XmlDocument.xml", - "ref/netstandard1.3/zh-hans/System.Xml.XmlDocument.xml", - "ref/netstandard1.3/zh-hant/System.Xml.XmlDocument.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Xml.XmlSerializer/4.0.11": { - "sha512": "FrazwwqfIXTfq23mfv4zH+BjqkSFNaNFBtjzu3I9NRmG8EELYyrv/fJnttCIwRMFRR/YKXF1hmsMmMEnl55HGw==", - "type": "package", - "path": "System.Xml.XmlSerializer/4.0.11", - "files": [ - "System.Xml.XmlSerializer.4.0.11.nupkg.sha512", - "System.Xml.XmlSerializer.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net45/_._", - "lib/netcore50/System.Xml.XmlSerializer.dll", - "lib/netstandard1.3/System.Xml.XmlSerializer.dll", - "lib/portable-net45+win8+wp8+wpa81/_._", - "lib/win8/_._", - "lib/wp80/_._", - "lib/wpa81/_._", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net45/_._", - "ref/netcore50/System.Xml.XmlSerializer.dll", - "ref/netcore50/System.Xml.XmlSerializer.xml", - "ref/netcore50/de/System.Xml.XmlSerializer.xml", - "ref/netcore50/es/System.Xml.XmlSerializer.xml", - "ref/netcore50/fr/System.Xml.XmlSerializer.xml", - "ref/netcore50/it/System.Xml.XmlSerializer.xml", - "ref/netcore50/ja/System.Xml.XmlSerializer.xml", - "ref/netcore50/ko/System.Xml.XmlSerializer.xml", - "ref/netcore50/ru/System.Xml.XmlSerializer.xml", - "ref/netcore50/zh-hans/System.Xml.XmlSerializer.xml", - "ref/netcore50/zh-hant/System.Xml.XmlSerializer.xml", - "ref/netstandard1.0/System.Xml.XmlSerializer.dll", - "ref/netstandard1.0/System.Xml.XmlSerializer.xml", - "ref/netstandard1.0/de/System.Xml.XmlSerializer.xml", - "ref/netstandard1.0/es/System.Xml.XmlSerializer.xml", - "ref/netstandard1.0/fr/System.Xml.XmlSerializer.xml", - "ref/netstandard1.0/it/System.Xml.XmlSerializer.xml", - "ref/netstandard1.0/ja/System.Xml.XmlSerializer.xml", - "ref/netstandard1.0/ko/System.Xml.XmlSerializer.xml", - "ref/netstandard1.0/ru/System.Xml.XmlSerializer.xml", - "ref/netstandard1.0/zh-hans/System.Xml.XmlSerializer.xml", - "ref/netstandard1.0/zh-hant/System.Xml.XmlSerializer.xml", - "ref/netstandard1.3/System.Xml.XmlSerializer.dll", - "ref/netstandard1.3/System.Xml.XmlSerializer.xml", - "ref/netstandard1.3/de/System.Xml.XmlSerializer.xml", - "ref/netstandard1.3/es/System.Xml.XmlSerializer.xml", - "ref/netstandard1.3/fr/System.Xml.XmlSerializer.xml", - "ref/netstandard1.3/it/System.Xml.XmlSerializer.xml", - "ref/netstandard1.3/ja/System.Xml.XmlSerializer.xml", - "ref/netstandard1.3/ko/System.Xml.XmlSerializer.xml", - "ref/netstandard1.3/ru/System.Xml.XmlSerializer.xml", - "ref/netstandard1.3/zh-hans/System.Xml.XmlSerializer.xml", - "ref/netstandard1.3/zh-hant/System.Xml.XmlSerializer.xml", - "ref/portable-net45+win8+wp8+wpa81/_._", - "ref/win8/_._", - "ref/wp80/_._", - "ref/wpa81/_._", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._", - "runtimes/aot/lib/netcore50/System.Xml.XmlSerializer.dll" - ] - }, - "System.Xml.XPath/4.0.1": { - "sha512": "UWd1H+1IJ9Wlq5nognZ/XJdyj8qPE4XufBUkAW59ijsCPjZkZe0MUzKKJFBr+ZWBe5Wq1u1d5f2CYgE93uH7DA==", - "type": "package", - "path": "System.Xml.XPath/4.0.1", - "files": [ - "System.Xml.XPath.4.0.1.nupkg.sha512", - "System.Xml.XPath.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Xml.XPath.dll", - "lib/netstandard1.3/System.Xml.XPath.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Xml.XPath.dll", - "ref/netstandard1.3/System.Xml.XPath.dll", - "ref/netstandard1.3/System.Xml.XPath.xml", - "ref/netstandard1.3/de/System.Xml.XPath.xml", - "ref/netstandard1.3/es/System.Xml.XPath.xml", - "ref/netstandard1.3/fr/System.Xml.XPath.xml", - "ref/netstandard1.3/it/System.Xml.XPath.xml", - "ref/netstandard1.3/ja/System.Xml.XPath.xml", - "ref/netstandard1.3/ko/System.Xml.XPath.xml", - "ref/netstandard1.3/ru/System.Xml.XPath.xml", - "ref/netstandard1.3/zh-hans/System.Xml.XPath.xml", - "ref/netstandard1.3/zh-hant/System.Xml.XPath.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "System.Xml.XPath.XDocument/4.0.1": { - "sha512": "FLhdYJx4331oGovQypQ8JIw2kEmNzCsjVOVYY/16kZTUoquZG85oVn7yUhBE2OZt1yGPSXAL0HTEfzjlbNpM7Q==", - "type": "package", - "path": "System.Xml.XPath.XDocument/4.0.1", - "files": [ - "System.Xml.XPath.XDocument.4.0.1.nupkg.sha512", - "System.Xml.XPath.XDocument.nuspec", - "ThirdPartyNotices.txt", - "dotnet_library_license.txt", - "lib/MonoAndroid10/_._", - "lib/MonoTouch10/_._", - "lib/net46/System.Xml.XPath.XDocument.dll", - "lib/netstandard1.3/System.Xml.XPath.XDocument.dll", - "lib/xamarinios10/_._", - "lib/xamarinmac20/_._", - "lib/xamarintvos10/_._", - "lib/xamarinwatchos10/_._", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", - "ref/net46/System.Xml.XPath.XDocument.dll", - "ref/netstandard1.3/System.Xml.XPath.XDocument.dll", - "ref/netstandard1.3/System.Xml.XPath.XDocument.xml", - "ref/netstandard1.3/de/System.Xml.XPath.XDocument.xml", - "ref/netstandard1.3/es/System.Xml.XPath.XDocument.xml", - "ref/netstandard1.3/fr/System.Xml.XPath.XDocument.xml", - "ref/netstandard1.3/it/System.Xml.XPath.XDocument.xml", - "ref/netstandard1.3/ja/System.Xml.XPath.XDocument.xml", - "ref/netstandard1.3/ko/System.Xml.XPath.XDocument.xml", - "ref/netstandard1.3/ru/System.Xml.XPath.XDocument.xml", - "ref/netstandard1.3/zh-hans/System.Xml.XPath.XDocument.xml", - "ref/netstandard1.3/zh-hant/System.Xml.XPath.XDocument.xml", - "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "ref/xamarintvos10/_._", - "ref/xamarinwatchos10/_._" - ] - }, - "VideoLibrary/1.3.4": { - "sha512": "HZ2RAE9xx/sjJGnwm8etawoJXYluaYGas4bAFpE14S62NFodNKzUf7Cm9TQ+JFJxAdY+1g1FEKk1b6FPSv9aMg==", - "type": "package", - "path": "VideoLibrary/1.3.4", - "files": [ - "VideoLibrary.1.3.4.nupkg.sha512", - "VideoLibrary.nuspec", - "lib/portable-net45+win+wpa81+MonoAndroid10+xamarinios10+MonoTouch10/libvideo.dll" - ] - }, - "xunit/2.1.0": { - "sha512": "u/7VQSOSXa7kSG4iK6Lcn7RqKZQ3hk7cnyMNVMpXHSP0RI5VQEtc44hvkG3LyWOVsx1dhUDD3rPAHAxyOUDQJw==", - "type": "package", - "path": "xunit/2.1.0", - "files": [ - "xunit.2.1.0.nupkg.sha512", - "xunit.nuspec" - ] - }, - "xunit.abstractions/2.0.0": { - "sha512": "NAdxKQRzuLnCZ0g++x6i87/8rMBpQoRiRlRNLAqfODm2zJPbteHRoSER3DXfxnqrHXyBJT8rFaZ8uveBeQyaMA==", - "type": "package", - "path": "xunit.abstractions/2.0.0", - "files": [ - "lib/net35/xunit.abstractions.dll", - "lib/net35/xunit.abstractions.xml", - "lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.dll", - "lib/portable-net45+win+wpa81+wp80+monotouch+monoandroid+Xamarin.iOS/xunit.abstractions.xml", - "xunit.abstractions.2.0.0.nupkg.sha512", - "xunit.abstractions.nuspec" - ] - }, - "xunit.assert/2.1.0": { - "sha512": "Hhhw+YaTe+BGhbr57dxVE+6VJk8BfThqFFii1XIsSZ4qx+SSCixprJC10JkiLRVSTfWyT8W/4nAf6NQgIrmBxA==", - "type": "package", - "path": "xunit.assert/2.1.0", - "files": [ - "lib/dotnet/xunit.assert.dll", - "lib/dotnet/xunit.assert.pdb", - "lib/dotnet/xunit.assert.xml", - "lib/portable-net45+win8+wp8+wpa81/xunit.assert.dll", - "lib/portable-net45+win8+wp8+wpa81/xunit.assert.pdb", - "lib/portable-net45+win8+wp8+wpa81/xunit.assert.xml", - "xunit.assert.2.1.0.nupkg.sha512", - "xunit.assert.nuspec" - ] - }, - "xunit.core/2.1.0": { - "sha512": "jlbYdPbnkPIRwJllcT/tQZCNsSElVDEymdpJfH79uTUrPARkELVYw9o/zhAjKZXmeikGqGK5C2Yny4gTNoEu0Q==", - "type": "package", - "path": "xunit.core/2.1.0", - "files": [ - "build/_desktop/xunit.execution.desktop.dll", - "build/dnx451/_._", - "build/monoandroid/_._", - "build/monotouch/_._", - "build/net45/_._", - "build/portable-net45+win8+wp8+wpa81/xunit.core.props", - "build/win8/_._", - "build/win81/xunit.core.props", - "build/wp8/_._", - "build/wpa81/xunit.core.props", - "build/xamarinios/_._", - "xunit.core.2.1.0.nupkg.sha512", - "xunit.core.nuspec" - ] - }, - "xunit.extensibility.core/2.1.0": { - "sha512": "ANWM3WxeaeHjACLRlmrv+xOc0WAcr3cvIiJE+gqbdzTv1NCH4p1VDyT+8WmmdCc9db0WFiJLaDy4YTYsL1wWXw==", - "type": "package", - "path": "xunit.extensibility.core/2.1.0", - "files": [ - "lib/dotnet/xunit.core.dll", - "lib/dotnet/xunit.core.dll.tdnet", - "lib/dotnet/xunit.core.pdb", - "lib/dotnet/xunit.core.xml", - "lib/dotnet/xunit.runner.tdnet.dll", - "lib/dotnet/xunit.runner.utility.desktop.dll", - "lib/portable-net45+win8+wp8+wpa81/xunit.core.dll", - "lib/portable-net45+win8+wp8+wpa81/xunit.core.dll.tdnet", - "lib/portable-net45+win8+wp8+wpa81/xunit.core.pdb", - "lib/portable-net45+win8+wp8+wpa81/xunit.core.xml", - "lib/portable-net45+win8+wp8+wpa81/xunit.runner.tdnet.dll", - "lib/portable-net45+win8+wp8+wpa81/xunit.runner.utility.desktop.dll", - "xunit.extensibility.core.2.1.0.nupkg.sha512", - "xunit.extensibility.core.nuspec" - ] - }, - "xunit.extensibility.execution/2.1.0": { - "sha512": "tAoNafoVknKa3sZJPMvtZRnhOSk3gasEGeceSm7w/gyGwsR/OXFxndWJB1xSHeoy33d3Z6jFqn4A3j+pWCF0Ew==", - "type": "package", - "path": "xunit.extensibility.execution/2.1.0", - "files": [ - "lib/dnx451/xunit.execution.dotnet.dll", - "lib/dnx451/xunit.execution.dotnet.pdb", - "lib/dnx451/xunit.execution.dotnet.xml", - "lib/dotnet/xunit.execution.dotnet.dll", - "lib/dotnet/xunit.execution.dotnet.pdb", - "lib/dotnet/xunit.execution.dotnet.xml", - "lib/monoandroid/xunit.execution.dotnet.dll", - "lib/monoandroid/xunit.execution.dotnet.pdb", - "lib/monoandroid/xunit.execution.dotnet.xml", - "lib/monotouch/xunit.execution.dotnet.dll", - "lib/monotouch/xunit.execution.dotnet.pdb", - "lib/monotouch/xunit.execution.dotnet.xml", - "lib/net45/xunit.execution.desktop.dll", - "lib/net45/xunit.execution.desktop.pdb", - "lib/net45/xunit.execution.desktop.xml", - "lib/portable-net45+win8+wp8+wpa81/xunit.execution.dotnet.dll", - "lib/portable-net45+win8+wp8+wpa81/xunit.execution.dotnet.pdb", - "lib/portable-net45+win8+wp8+wpa81/xunit.execution.dotnet.xml", - "lib/win8/xunit.execution.dotnet.dll", - "lib/win8/xunit.execution.dotnet.pdb", - "lib/win8/xunit.execution.dotnet.xml", - "lib/wp8/xunit.execution.dotnet.dll", - "lib/wp8/xunit.execution.dotnet.pdb", - "lib/wp8/xunit.execution.dotnet.xml", - "lib/wpa81/xunit.execution.dotnet.dll", - "lib/wpa81/xunit.execution.dotnet.pdb", - "lib/wpa81/xunit.execution.dotnet.xml", - "lib/xamarinios/xunit.execution.dotnet.dll", - "lib/xamarinios/xunit.execution.dotnet.pdb", - "lib/xamarinios/xunit.execution.dotnet.xml", - "xunit.extensibility.execution.2.1.0.nupkg.sha512", - "xunit.extensibility.execution.nuspec" - ] - }, - "xunit.runner.reporters/2.1.0": { - "sha512": "ja0kJrvwSiho2TRFpfHfa+6tGJI5edcyD8fdekTkjn7Us17PbGqglIihRe8sR9YFAmS4ipEC8+7CXOM/b69ENQ==", - "type": "package", - "path": "xunit.runner.reporters/2.1.0", - "files": [ - "lib/dnx451/xunit.runner.reporters.dotnet.dll", - "lib/dotnet/xunit.runner.reporters.dotnet.dll", - "lib/net45/xunit.runner.reporters.desktop.dll", - "xunit.runner.reporters.2.1.0.nupkg.sha512", - "xunit.runner.reporters.nuspec" - ] - }, - "xunit.runner.utility/2.1.0": { - "sha512": "jJJHROwskIhdQuYw7exe7KaW20dOCa+lzV/lY7Zdh1ZZzdUPpScMi9ReJIutqiyjhemGF8V/GaMIPrcjyZ4ioQ==", - "type": "package", - "path": "xunit.runner.utility/2.1.0", - "files": [ - "lib/dnx451/xunit.runner.utility.dotnet.dll", - "lib/dnx451/xunit.runner.utility.dotnet.pdb", - "lib/dnx451/xunit.runner.utility.dotnet.xml", - "lib/dotnet/xunit.runner.utility.dotnet.dll", - "lib/dotnet/xunit.runner.utility.dotnet.pdb", - "lib/dotnet/xunit.runner.utility.dotnet.xml", - "lib/net35/xunit.runner.utility.desktop.dll", - "lib/net35/xunit.runner.utility.desktop.pdb", - "lib/net35/xunit.runner.utility.desktop.xml", - "lib/portable-net45+win8+wp8+wpa81/xunit.runner.utility.dotnet.dll", - "lib/portable-net45+win8+wp8+wpa81/xunit.runner.utility.dotnet.pdb", - "lib/portable-net45+win8+wp8+wpa81/xunit.runner.utility.dotnet.xml", - "xunit.runner.utility.2.1.0.nupkg.sha512", - "xunit.runner.utility.nuspec" - ] - }, - "Discord.Net/1.0.0-beta": { - "type": "project", - "path": "../../discord.net/src/Discord.Net/project.json", - "msbuildProject": "../../discord.net/src/Discord.Net/Discord.Net.xproj" - }, - "Discord.Net.Commands/1.0.0-beta": { - "type": "project", - "path": "../../discord.net/src/Discord.Net.Commands/project.json", - "msbuildProject": "../../discord.net/src/Discord.Net.Commands/Discord.Net.Commands.xproj" - }, - "NadekoBot/1.0.0": { - "type": "project", - "path": "../NadekoBot/project.json", - "msbuildProject": "../NadekoBot/NadekoBot.xproj" - } - }, - "projectFileDependencyGroups": { - "": [ - "NadekoBot >= 1.0.0-*", - "System.Runtime.Serialization.Primitives >= 4.1.1", - "dotnet-test-xunit >= 1.0.0-rc2-192208-24", - "xunit >= 2.1.0" - ], - ".NETCoreApp,Version=v1.0": [ - "Microsoft.NETCore.App >= 1.0.0" - ] - }, - "tools": {}, - "projectFileToolGroups": {} -} \ No newline at end of file From 3136560f1500fbc82f96aa6bd506970d84567826 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Thu, 6 Oct 2016 19:19:42 +0200 Subject: [PATCH 044/135] Help command now in db, .showemojis added, permissions more optimal --- .../Commands/CrossServerTextChannel.cs | 3 + .../Games/Commands/PlantAndPickCommands.cs | 2 +- .../Modules/Games/Commands/PollCommands.cs | 2 +- .../Games/Commands/SpeedTypingCommands.cs | 2 + .../Games/Commands/Trivia/TriviaGame.cs | 2 + src/NadekoBot/Modules/Help/Help.cs | 59 +- .../Modules/Permissions/Permissions.cs | 100 +- src/NadekoBot/Modules/Utility/Utility.cs | 17 +- .../Resources/CommandStrings.Designer.cs | 3032 ++++++++--------- src/NadekoBot/Resources/CommandStrings.resx | 9 + .../Services/Database/Models/BotConfig.cs | 15 +- .../Repositories/IGuildConfigRepository.cs | 1 + .../Impl/GuildConfigRepository.cs | 11 + 13 files changed, 1605 insertions(+), 1650 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs b/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs index bc2821ed..c1a746d7 100644 --- a/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs +++ b/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs @@ -23,6 +23,9 @@ namespace NadekoBot.Modules.Administration _log = LogManager.GetCurrentClassLogger(); NadekoBot.Client.MessageReceived += (imsg) => { + if (imsg.Author.IsBot) + return Task.CompletedTask; + var msg = imsg as IUserMessage; if (msg == null) return Task.CompletedTask; diff --git a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs index 9bde265a..022e8f13 100644 --- a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs @@ -64,7 +64,7 @@ namespace NadekoBot.Modules.Games private Task PotentialFlowerGeneration(IMessage imsg) { var msg = imsg as IUserMessage; - if (msg == null || msg.IsAuthor()) + if (msg == null || msg.IsAuthor() || msg.Author.IsBot) return Task.CompletedTask; var channel = imsg.Channel as ITextChannel; diff --git a/src/NadekoBot/Modules/Games/Commands/PollCommands.cs b/src/NadekoBot/Modules/Games/Commands/PollCommands.cs index 7df37330..5daf7add 100644 --- a/src/NadekoBot/Modules/Games/Commands/PollCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/PollCommands.cs @@ -111,7 +111,7 @@ namespace NadekoBot.Modules.Games { // has to be a user message var msg = imsg as IUserMessage; - if (msg == null) + if (msg == null || msg.Author.IsBot) return Task.CompletedTask; // channel must be private IPrivateChannel ch; diff --git a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs index 7d33ae31..624bb9d8 100644 --- a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs @@ -101,6 +101,8 @@ namespace NadekoBot.Modules.Games private Task AnswerReceived(IMessage imsg) { + if (imsg.Author.IsBot) + return Task.CompletedTask; var msg = imsg as IUserMessage; if (msg == null) return Task.CompletedTask; diff --git a/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs b/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs index 9ca62599..2356a6a7 100644 --- a/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs +++ b/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs @@ -106,6 +106,8 @@ namespace NadekoBot.Modules.Games.Trivia private Task PotentialGuess(IMessage imsg) { + if (imsg.Author.IsBot) + return Task.CompletedTask; var umsg = imsg as IUserMessage; if (umsg == null) return Task.CompletedTask; diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index 5787d483..ae8c725e 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -11,31 +11,40 @@ using System.Text; using Discord.WebSocket; using System.Collections; using System.Collections.Generic; +using NadekoBot.Services.Database; +using System.Threading; namespace NadekoBot.Modules.Help { [NadekoModule("Help", "-")] public partial class Help : DiscordModule { - public string HelpString { - get { - var str = @"To add me to your server, use this link -> -You can use `{1}modules` command to see a list of all modules. -You can use `{1}commands ModuleName` -(for example `{1}commands Administration`) to see a list of all of the commands in that module. -For a specific command help, use `{1}h CommandName` (for example {1}h !!q) + private static string helpString { get; } + public static string HelpString => String.Format(helpString, NadekoBot.Credentials.ClientId, NadekoBot.ModulePrefixes[typeof(Help).Name]); + public static string DMHelpString { get; } -**LIST OF COMMANDS CAN BE FOUND ON THIS LINK** - - - -Nadeko Support Server: https://discord.gg/0ehQwTK2RBjAxzEY"; - return String.Format(str, NadekoBot.Credentials.ClientId, NadekoBot.ModulePrefixes[typeof(Help).Name]); + static Help() + { + using (var uow = DbHandler.UnitOfWork()) + { + var config = uow.BotConfig.GetOrCreate(); + helpString = config.HelpString; + DMHelpString = config.DMHelpString; } } + public Help(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) { + client.MessageReceived += async (msg) => + { + if (msg.Author.IsBot) + return; + if (msg.Channel is IPrivateChannel) + { + await msg.Channel.SendMessageAsync(DMHelpString).ConfigureAwait(false); + } + }; } [NadekoCommand, Usage, Description, Aliases] @@ -44,6 +53,30 @@ Nadeko Support Server: https://discord.gg/0ehQwTK2RBjAxzEY"; await umsg.Channel.SendMessageAsync("`List of modules:` ```xl\n• " + string.Join("\n• ", _commands.Modules.Select(m => m.Name)) + $"\n``` `Type \"-commands module_name\" to get a list of commands in that module.`") .ConfigureAwait(false); + + await RunWithTypingIntheBackgorund(async () => + { + await Task.Delay(100000); + }, umsg); + } + + private async Task RunWithTypingIntheBackgorund(Func someFUnc, IUserMessage ctx) + { + var cancelSource = new CancellationTokenSource(); + var cancelToken = cancelSource.Token; + var t = Task.Run(async () => + { + while (!cancelToken.IsCancellationRequested) + { + await Task.Delay(10000); + await ctx.Channel.TriggerTypingAsync(); + } + }, cancelToken); + try + { + await someFUnc(); + } + finally { cancelSource.Cancel(); } } [NadekoCommand, Usage, Description, Aliases] diff --git a/src/NadekoBot/Modules/Permissions/Permissions.cs b/src/NadekoBot/Modules/Permissions/Permissions.cs index 0dfdbd5d..53dcc145 100644 --- a/src/NadekoBot/Modules/Permissions/Permissions.cs +++ b/src/NadekoBot/Modules/Permissions/Permissions.cs @@ -176,8 +176,7 @@ namespace NadekoBot.Modules.Permissions SecondaryTargetName = command.Text.ToLowerInvariant(), State = action.Value, }; - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; + uow.GuildConfigs.SetNewRootPermission(channel.Guild.Id, newPerm); await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{command.Text}` command on this server.").ConfigureAwait(false); @@ -199,8 +198,7 @@ namespace NadekoBot.Modules.Permissions SecondaryTargetName = module.Name.ToLowerInvariant(), State = action.Value, }; - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; + uow.GuildConfigs.SetNewRootPermission(channel.Guild.Id, newPerm); await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{module.Name}` module on this server.").ConfigureAwait(false); @@ -222,8 +220,7 @@ namespace NadekoBot.Modules.Permissions SecondaryTargetName = command.Text.ToLowerInvariant(), State = action.Value, }; - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; + uow.GuildConfigs.SetNewRootPermission(channel.Guild.Id, newPerm); await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{command.Text}` command for `{user}` user.").ConfigureAwait(false); @@ -245,8 +242,7 @@ namespace NadekoBot.Modules.Permissions SecondaryTargetName = module.Name.ToLowerInvariant(), State = action.Value, }; - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; + uow.GuildConfigs.SetNewRootPermission(channel.Guild.Id, newPerm); await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{module.Name}` module for `{user}` user.").ConfigureAwait(false); @@ -268,8 +264,7 @@ namespace NadekoBot.Modules.Permissions SecondaryTargetName = command.Text.ToLowerInvariant(), State = action.Value, }; - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; + uow.GuildConfigs.SetNewRootPermission(channel.Guild.Id, newPerm); await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{command.Text}` command for `{role}` role.").ConfigureAwait(false); @@ -291,8 +286,7 @@ namespace NadekoBot.Modules.Permissions SecondaryTargetName = module.Name.ToLowerInvariant(), State = action.Value, }; - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; + uow.GuildConfigs.SetNewRootPermission(channel.Guild.Id, newPerm); await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{module.Name}` module for `{role}` role.").ConfigureAwait(false); @@ -315,8 +309,7 @@ namespace NadekoBot.Modules.Permissions SecondaryTargetName = command.Text.ToLowerInvariant(), State = action.Value, }; - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; + uow.GuildConfigs.SetNewRootPermission(channel.Guild.Id, newPerm); await uow.CompleteAsync().ConfigureAwait(false); } } @@ -342,8 +335,7 @@ namespace NadekoBot.Modules.Permissions SecondaryTargetName = module.Name.ToLowerInvariant(), State = action.Value, }; - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; + uow.GuildConfigs.SetNewRootPermission(channel.Guild.Id, newPerm); await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{module.Name}` module for `{chnl}` channel.").ConfigureAwait(false); @@ -365,8 +357,7 @@ namespace NadekoBot.Modules.Permissions SecondaryTargetName = "*", State = action.Value, }; - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; + uow.GuildConfigs.SetNewRootPermission(channel.Guild.Id, newPerm); await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL MODULES` for `{chnl}` channel.").ConfigureAwait(false); @@ -388,8 +379,7 @@ namespace NadekoBot.Modules.Permissions SecondaryTargetName = "*", State = action.Value, }; - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; + uow.GuildConfigs.SetNewRootPermission(channel.Guild.Id, newPerm); await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL MODULES` for `{role}` role.").ConfigureAwait(false); @@ -411,8 +401,7 @@ namespace NadekoBot.Modules.Permissions SecondaryTargetName = "*", State = action.Value, }; - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; + uow.GuildConfigs.SetNewRootPermission(channel.Guild.Id, newPerm); await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL MODULES` for `{user}` user.").ConfigureAwait(false); @@ -434,75 +423,10 @@ namespace NadekoBot.Modules.Permissions SecondaryTargetName = "*", State = action.Value, }; - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Prepend(newPerm); - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = newPerm; + uow.GuildConfigs.SetNewRootPermission(channel.Guild.Id, newPerm); await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL MODULES` on this server.").ConfigureAwait(false); } - - //[LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task AllChnlCmds(IUserMessage imsg, Module module, PermissionAction action, ITextChannel chnl) - //{ - // var channel = (ITextChannel)imsg.Channel; - - // using (var uow = DbHandler.UnitOfWork()) - // { - // uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Add(new Permission - // { - // PrimaryTarget = PrimaryPermissionType.Channel, - // PrimaryTargetId = chnl.Id, - // SecondaryTarget = SecondaryPermissionType.AllCommands, - // SecondaryTargetName = module.Name.ToLowerInvariant(), - // State = action.Value, - // }); - // await uow.CompleteAsync().ConfigureAwait(false); - // } - // await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL COMMANDS` from `{module.Name}` module for `{chnl}` channel.").ConfigureAwait(false); - //} - - //[LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task AllRoleCmds(IUserMessage imsg, Module module, PermissionAction action, IRole role) - //{ - // var channel = (ITextChannel)imsg.Channel; - - // using (var uow = DbHandler.UnitOfWork()) - // { - // uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Add(new Permission - // { - // PrimaryTarget = PrimaryPermissionType.Role, - // PrimaryTargetId = role.Id, - // SecondaryTarget = SecondaryPermissionType.AllCommands, - // SecondaryTargetName = module.Name.ToLowerInvariant(), - // State = action.Value, - // }); - // await uow.CompleteAsync().ConfigureAwait(false); - // } - // await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL COMMANDS` from `{module.Name}` module for `{role}` role.").ConfigureAwait(false); - //} - - //[LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task AllUsrCmds(IUserMessage imsg, Module module, PermissionAction action, IUser user) - //{ - // var channel = (ITextChannel)imsg.Channel; - - // using (var uow = DbHandler.UnitOfWork()) - // { - // uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission.Add(new Permission - // { - // PrimaryTarget = PrimaryPermissionType.User, - // PrimaryTargetId = user.Id, - // SecondaryTarget = SecondaryPermissionType.AllCommands, - // SecondaryTargetName = module.Name.ToLowerInvariant(), - // State = action.Value, - // }); - // await uow.CompleteAsync().ConfigureAwait(false); - // } - // await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL COMMANDS` from `{module.Name}` module for `{user}` user.").ConfigureAwait(false); - //} - } } diff --git a/src/NadekoBot/Modules/Utility/Utility.cs b/src/NadekoBot/Modules/Utility/Utility.cs index 1a009a2c..ced8457c 100644 --- a/src/NadekoBot/Modules/Utility/Utility.cs +++ b/src/NadekoBot/Modules/Utility/Utility.cs @@ -144,13 +144,26 @@ namespace NadekoBot.Modules.Utility } [NadekoCommand, Usage, Description, Aliases] - [RequireContext(ContextType.Guild)] public async Task Stats(IUserMessage umsg) { - var channel = (ITextChannel)umsg.Channel; + var channel = umsg.Channel; await channel.SendMessageAsync(await NadekoBot.Stats.Print()); } + + private Regex emojiFinder { get; } = new Regex(@"<:(?.+?):(?\d*)>", RegexOptions.Compiled); + [NadekoCommand, Usage, Description, Aliases] + public async Task Showemojis(IUserMessage msg, [Remainder] string emojis) + { + var matches = emojiFinder.Matches(emojis); + + + + var result = string.Join("\n", matches.Cast() + .Select(m => $"`Name:` {m.Groups["name"]} `Link:` http://discordapp.com/api/emojis/{m.Groups["id"]}.png")); + + await msg.Channel.SendMessageAsync(result).ConfigureAwait(false); + } } } diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index d08d5fa9..93a1032b 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -59,6 +59,15 @@ namespace NadekoBot.Resources { } } + /// + /// Looks up a localized string similar to 8ball. + /// + public static string _8ball_cmd { + get { + return ResourceManager.GetString("_8ball_cmd", resourceCulture); + } + } + /// /// Looks up a localized string similar to Ask the 8ball a yes/no question.. /// @@ -71,18 +80,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `>8ball should i do something`. /// - public static string _8ball_summary { + public static string _8ball_usage { get { - return ResourceManager.GetString("_8ball_summary", resourceCulture); + return ResourceManager.GetString("_8ball_usage", resourceCulture); } } /// - /// Looks up a localized string similar to 8ball. + /// Looks up a localized string similar to addcustreact acr. /// - public static string _8ball_text { + public static string addcustreact_cmd { get { - return ResourceManager.GetString("_8ball_text", resourceCulture); + return ResourceManager.GetString("addcustreact_cmd", resourceCulture); } } @@ -98,18 +107,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.acr "hello" Hi there %user%`. /// - public static string addcustreact_summary { + public static string addcustreact_usage { get { - return ResourceManager.GetString("addcustreact_summary", resourceCulture); + return ResourceManager.GetString("addcustreact_usage", resourceCulture); } } /// - /// Looks up a localized string similar to addcustreact acr. + /// Looks up a localized string similar to addplaying adpl. /// - public static string addcustreact_text { + public static string addplaying_cmd { get { - return ResourceManager.GetString("addcustreact_text", resourceCulture); + return ResourceManager.GetString("addplaying_cmd", resourceCulture); } } @@ -125,18 +134,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.adpl`. /// - public static string addplaying_summary { + public static string addplaying_usage { get { - return ResourceManager.GetString("addplaying_summary", resourceCulture); + return ResourceManager.GetString("addplaying_usage", resourceCulture); } } /// - /// Looks up a localized string similar to addplaying adpl. + /// Looks up a localized string similar to .. /// - public static string addplaying_text { + public static string addquote_cmd { get { - return ResourceManager.GetString("addplaying_text", resourceCulture); + return ResourceManager.GetString("addquote_cmd", resourceCulture); } } @@ -152,18 +161,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.. sayhi Hi`. /// - public static string addquote_summary { + public static string addquote_usage { get { - return ResourceManager.GetString("addquote_summary", resourceCulture); + return ResourceManager.GetString("addquote_usage", resourceCulture); } } /// - /// Looks up a localized string similar to .. + /// Looks up a localized string similar to allchnlmdls acm. /// - public static string addquote_text { + public static string allchnlmdls_cmd { get { - return ResourceManager.GetString("addquote_text", resourceCulture); + return ResourceManager.GetString("allchnlmdls_cmd", resourceCulture); } } @@ -179,18 +188,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;acm enable #SomeChannel`. /// - public static string allchnlmdls_summary { + public static string allchnlmdls_usage { get { - return ResourceManager.GetString("allchnlmdls_summary", resourceCulture); + return ResourceManager.GetString("allchnlmdls_usage", resourceCulture); } } /// - /// Looks up a localized string similar to allchnlmdls acm. + /// Looks up a localized string similar to allcmdcooldowns acmdcds. /// - public static string allchnlmdls_text { + public static string allcmdcooldowns_cmd { get { - return ResourceManager.GetString("allchnlmdls_text", resourceCulture); + return ResourceManager.GetString("allcmdcooldowns_cmd", resourceCulture); } } @@ -206,18 +215,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;acmdcds`. /// - public static string allcmdcooldowns_summary { + public static string allcmdcooldowns_usage { get { - return ResourceManager.GetString("allcmdcooldowns_summary", resourceCulture); + return ResourceManager.GetString("allcmdcooldowns_usage", resourceCulture); } } /// - /// Looks up a localized string similar to allcmdcooldowns acmdcds. + /// Looks up a localized string similar to allrolemdls arm. /// - public static string allcmdcooldowns_text { + public static string allrolemdls_cmd { get { - return ResourceManager.GetString("allcmdcooldowns_text", resourceCulture); + return ResourceManager.GetString("allrolemdls_cmd", resourceCulture); } } @@ -233,18 +242,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;arm [enable/disable] MyRole`. /// - public static string allrolemdls_summary { + public static string allrolemdls_usage { get { - return ResourceManager.GetString("allrolemdls_summary", resourceCulture); + return ResourceManager.GetString("allrolemdls_usage", resourceCulture); } } /// - /// Looks up a localized string similar to allrolemdls arm. + /// Looks up a localized string similar to allsrvrmdls asm. /// - public static string allrolemdls_text { + public static string allsrvrmdls_cmd { get { - return ResourceManager.GetString("allrolemdls_text", resourceCulture); + return ResourceManager.GetString("allsrvrmdls_cmd", resourceCulture); } } @@ -260,18 +269,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;asm [enable/disable]`. /// - public static string allsrvrmdls_summary { + public static string allsrvrmdls_usage { get { - return ResourceManager.GetString("allsrvrmdls_summary", resourceCulture); + return ResourceManager.GetString("allsrvrmdls_usage", resourceCulture); } } /// - /// Looks up a localized string similar to allsrvrmdls asm. + /// Looks up a localized string similar to allusrmdls aum. /// - public static string allsrvrmdls_text { + public static string allusrmdls_cmd { get { - return ResourceManager.GetString("allsrvrmdls_text", resourceCulture); + return ResourceManager.GetString("allusrmdls_cmd", resourceCulture); } } @@ -287,18 +296,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;aum enable @someone`. /// - public static string allusrmdls_summary { + public static string allusrmdls_usage { get { - return ResourceManager.GetString("allusrmdls_summary", resourceCulture); + return ResourceManager.GetString("allusrmdls_usage", resourceCulture); } } /// - /// Looks up a localized string similar to allusrmdls aum. + /// Looks up a localized string similar to ani anime aq. /// - public static string allusrmdls_text { + public static string ani_cmd { get { - return ResourceManager.GetString("allusrmdls_text", resourceCulture); + return ResourceManager.GetString("ani_cmd", resourceCulture); } } @@ -314,18 +323,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~ani aquarion evol`. /// - public static string ani_summary { + public static string ani_usage { get { - return ResourceManager.GetString("ani_summary", resourceCulture); + return ResourceManager.GetString("ani_usage", resourceCulture); } } /// - /// Looks up a localized string similar to ani anime aq. + /// Looks up a localized string similar to announce. /// - public static string ani_text { + public static string announce_cmd { get { - return ResourceManager.GetString("ani_text", resourceCulture); + return ResourceManager.GetString("announce_cmd", resourceCulture); } } @@ -341,18 +350,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.announce Useless spam`. /// - public static string announce_summary { + public static string announce_usage { get { - return ResourceManager.GetString("announce_summary", resourceCulture); + return ResourceManager.GetString("announce_usage", resourceCulture); } } /// - /// Looks up a localized string similar to announce. + /// Looks up a localized string similar to asar. /// - public static string announce_text { + public static string asar_cmd { get { - return ResourceManager.GetString("announce_text", resourceCulture); + return ResourceManager.GetString("asar_cmd", resourceCulture); } } @@ -368,18 +377,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.asar Gamer`. /// - public static string asar_summary { + public static string asar_usage { get { - return ResourceManager.GetString("asar_summary", resourceCulture); + return ResourceManager.GetString("asar_usage", resourceCulture); } } /// - /// Looks up a localized string similar to asar. + /// Looks up a localized string similar to attack. /// - public static string asar_text { + public static string attack_cmd { get { - return ResourceManager.GetString("asar_text", resourceCulture); + return ResourceManager.GetString("attack_cmd", resourceCulture); } } @@ -395,18 +404,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `>attack "vine whip" @someguy`. /// - public static string attack_summary { + public static string attack_usage { get { - return ResourceManager.GetString("attack_summary", resourceCulture); + return ResourceManager.GetString("attack_usage", resourceCulture); } } /// - /// Looks up a localized string similar to attack. + /// Looks up a localized string similar to autoassignrole aar. /// - public static string attack_text { + public static string autoassignrole_cmd { get { - return ResourceManager.GetString("attack_text", resourceCulture); + return ResourceManager.GetString("autoassignrole_cmd", resourceCulture); } } @@ -422,18 +431,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.aar` to disable, `.aar Role Name` to enable. /// - public static string autoassignrole_summary { + public static string autoassignrole_usage { get { - return ResourceManager.GetString("autoassignrole_summary", resourceCulture); + return ResourceManager.GetString("autoassignrole_usage", resourceCulture); } } /// - /// Looks up a localized string similar to autoassignrole aar. + /// Looks up a localized string similar to autoplay ap. /// - public static string autoassignrole_text { + public static string autoplay_cmd { get { - return ResourceManager.GetString("autoassignrole_text", resourceCulture); + return ResourceManager.GetString("autoplay_cmd", resourceCulture); } } @@ -449,18 +458,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!ap`. /// - public static string autoplay_summary { + public static string autoplay_usage { get { - return ResourceManager.GetString("autoplay_summary", resourceCulture); + return ResourceManager.GetString("autoplay_usage", resourceCulture); } } /// - /// Looks up a localized string similar to autoplay ap. + /// Looks up a localized string similar to av avatar. /// - public static string autoplay_text { + public static string avatar_cmd { get { - return ResourceManager.GetString("autoplay_text", resourceCulture); + return ResourceManager.GetString("avatar_cmd", resourceCulture); } } @@ -476,23 +485,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~av "@SomeGuy"`. /// - public static string avatar_summary { + public static string avatar_usage { get { - return ResourceManager.GetString("avatar_summary", resourceCulture); + return ResourceManager.GetString("avatar_usage", resourceCulture); } } /// - /// Looks up a localized string similar to av avatar. + /// Looks up a localized string similar to award. /// - public static string avatar_text { + public static string award_cmd { get { - return ResourceManager.GetString("avatar_text", resourceCulture); + return ResourceManager.GetString("award_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Gives someone a certain amount of flowers. **Bot Owner Only!**. + /// Looks up a localized string similar to Gives someone a certain amount of flowers. . /// public static string award_desc { get { @@ -503,18 +512,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `$award 100 @person`. /// - public static string award_summary { + public static string award_usage { get { - return ResourceManager.GetString("award_summary", resourceCulture); + return ResourceManager.GetString("award_usage", resourceCulture); } } /// - /// Looks up a localized string similar to award. + /// Looks up a localized string similar to ban b. /// - public static string award_text { + public static string ban_cmd { get { - return ResourceManager.GetString("award_text", resourceCulture); + return ResourceManager.GetString("ban_cmd", resourceCulture); } } @@ -530,18 +539,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.b "@some Guy" Your behaviour is toxic.`. /// - public static string ban_summary { + public static string ban_usage { get { - return ResourceManager.GetString("ban_summary", resourceCulture); + return ResourceManager.GetString("ban_usage", resourceCulture); } } /// - /// Looks up a localized string similar to ban b. + /// Looks up a localized string similar to beam bm. /// - public static string ban_text { + public static string beam_cmd { get { - return ResourceManager.GetString("ban_text", resourceCulture); + return ResourceManager.GetString("beam_cmd", resourceCulture); } } @@ -557,18 +566,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~beam SomeStreamer`. /// - public static string beam_summary { + public static string beam_usage { get { - return ResourceManager.GetString("beam_summary", resourceCulture); + return ResourceManager.GetString("beam_usage", resourceCulture); } } /// - /// Looks up a localized string similar to beam bm. + /// Looks up a localized string similar to betflip bf. /// - public static string beam_text { + public static string betflip_cmd { get { - return ResourceManager.GetString("beam_text", resourceCulture); + return ResourceManager.GetString("betflip_cmd", resourceCulture); } } @@ -584,18 +593,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `$bf 5 heads` or `$bf 3 t`. /// - public static string betflip_summary { + public static string betflip_usage { get { - return ResourceManager.GetString("betflip_summary", resourceCulture); + return ResourceManager.GetString("betflip_usage", resourceCulture); } } /// - /// Looks up a localized string similar to betflip bf. + /// Looks up a localized string similar to betroll br. /// - public static string betflip_text { + public static string betroll_cmd { get { - return ResourceManager.GetString("betflip_text", resourceCulture); + return ResourceManager.GetString("betroll_cmd", resourceCulture); } } @@ -611,23 +620,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `$br 5`. /// - public static string betroll_summary { + public static string betroll_usage { get { - return ResourceManager.GetString("betroll_summary", resourceCulture); + return ResourceManager.GetString("betroll_usage", resourceCulture); } } /// - /// Looks up a localized string similar to betroll br. + /// Looks up a localized string similar to bind. /// - public static string betroll_text { + public static string bind_cmd { get { - return ResourceManager.GetString("betroll_text", resourceCulture); + return ResourceManager.GetString("bind_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Bind a trello bot to a single channel. You will receive notifications from your board when something is added or edited. **Bot Owner Only!**. + /// Looks up a localized string similar to Bind a trello bot to a single channel. You will receive notifications from your board when something is added or edited.. /// public static string bind_desc { get { @@ -638,18 +647,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `trello bind [board_id]`. /// - public static string bind_summary { + public static string bind_usage { get { - return ResourceManager.GetString("bind_summary", resourceCulture); + return ResourceManager.GetString("bind_usage", resourceCulture); } } /// - /// Looks up a localized string similar to bind. + /// Looks up a localized string similar to boobs. /// - public static string bind_text { + public static string boobs_cmd { get { - return ResourceManager.GetString("bind_text", resourceCulture); + return ResourceManager.GetString("boobs_cmd", resourceCulture); } } @@ -665,18 +674,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~boobs`. /// - public static string boobs_summary { + public static string boobs_usage { get { - return ResourceManager.GetString("boobs_summary", resourceCulture); + return ResourceManager.GetString("boobs_usage", resourceCulture); } } /// - /// Looks up a localized string similar to boobs. + /// Looks up a localized string similar to butts ass butt. /// - public static string boobs_text { + public static string butts_cmd { get { - return ResourceManager.GetString("boobs_text", resourceCulture); + return ResourceManager.GetString("butts_cmd", resourceCulture); } } @@ -692,18 +701,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~butts` or `~ass`. /// - public static string butts_summary { + public static string butts_usage { get { - return ResourceManager.GetString("butts_summary", resourceCulture); + return ResourceManager.GetString("butts_usage", resourceCulture); } } /// - /// Looks up a localized string similar to butts ass butt. + /// Looks up a localized string similar to bye. /// - public static string butts_text { + public static string bye_cmd { get { - return ResourceManager.GetString("butts_text", resourceCulture); + return ResourceManager.GetString("bye_cmd", resourceCulture); } } @@ -719,23 +728,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.bye`. /// - public static string bye_summary { + public static string bye_usage { get { - return ResourceManager.GetString("bye_summary", resourceCulture); + return ResourceManager.GetString("bye_usage", resourceCulture); } } /// - /// Looks up a localized string similar to bye. + /// Looks up a localized string similar to byedel. /// - public static string bye_text { + public static string byedel_cmd { get { - return ResourceManager.GetString("bye_text", resourceCulture); + return ResourceManager.GetString("byedel_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Toggles automatic deletion of bye messages. **Needs Manage Server Permissions.**. + /// Looks up a localized string similar to Toggles automatic deletion of bye messages. . /// public static string byedel_desc { get { @@ -746,23 +755,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.byedel`. /// - public static string byedel_summary { + public static string byedel_usage { get { - return ResourceManager.GetString("byedel_summary", resourceCulture); + return ResourceManager.GetString("byedel_usage", resourceCulture); } } /// - /// Looks up a localized string similar to byedel. + /// Looks up a localized string similar to byemsg. /// - public static string byedel_text { + public static string byemsg_cmd { get { - return ResourceManager.GetString("byedel_text", resourceCulture); + return ResourceManager.GetString("byemsg_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Sets a new leave announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current bye message. **Needs Manage Server Permissions.**. + /// Looks up a localized string similar to Sets a new leave announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current bye message. . /// public static string byemsg_desc { get { @@ -773,18 +782,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.byemsg %user% has left.`. /// - public static string byemsg_summary { + public static string byemsg_usage { get { - return ResourceManager.GetString("byemsg_summary", resourceCulture); + return ResourceManager.GetString("byemsg_usage", resourceCulture); } } /// - /// Looks up a localized string similar to byemsg. + /// Looks up a localized string similar to calcops. /// - public static string byemsg_text { + public static string calcops_cmd { get { - return ResourceManager.GetString("byemsg_text", resourceCulture); + return ResourceManager.GetString("calcops_cmd", resourceCulture); } } @@ -800,18 +809,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.calcops`. /// - public static string calcops_summary { + public static string calcops_usage { get { - return ResourceManager.GetString("calcops_summary", resourceCulture); + return ResourceManager.GetString("calcops_usage", resourceCulture); } } /// - /// Looks up a localized string similar to calcops. + /// Looks up a localized string similar to calculate calc. /// - public static string calcops_text { + public static string calculate_cmd { get { - return ResourceManager.GetString("calcops_text", resourceCulture); + return ResourceManager.GetString("calculate_cmd", resourceCulture); } } @@ -827,23 +836,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~calc 1+1`. /// - public static string calculate_summary { + public static string calculate_usage { get { - return ResourceManager.GetString("calculate_summary", resourceCulture); + return ResourceManager.GetString("calculate_usage", resourceCulture); } } /// - /// Looks up a localized string similar to calculate calc. + /// Looks up a localized string similar to cards. /// - public static string calculate_text { + public static string cards_cmd { get { - return ResourceManager.GetString("calculate_text", resourceCulture); + return ResourceManager.GetString("cards_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Lists all cards from the supplied list. You can supply either a name or an index. **Bot Owner Only!**. + /// Looks up a localized string similar to Lists all cards from the supplied list. You can supply either a name or an index.. /// public static string cards_desc { get { @@ -854,18 +863,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `trello cards index`. /// - public static string cards_summary { + public static string cards_usage { get { - return ResourceManager.GetString("cards_summary", resourceCulture); + return ResourceManager.GetString("cards_usage", resourceCulture); } } /// - /// Looks up a localized string similar to cards. + /// Looks up a localized string similar to cash $$. /// - public static string cards_text { + public static string cash_cmd { get { - return ResourceManager.GetString("cards_text", resourceCulture); + return ResourceManager.GetString("cash_cmd", resourceCulture); } } @@ -881,18 +890,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `$$$` or `$$$ @SomeGuy`. /// - public static string cash_summary { + public static string cash_usage { get { - return ResourceManager.GetString("cash_summary", resourceCulture); + return ResourceManager.GetString("cash_usage", resourceCulture); } } /// - /// Looks up a localized string similar to cash $$. + /// Looks up a localized string similar to catfact. /// - public static string cash_text { + public static string catfact_cmd { get { - return ResourceManager.GetString("cash_text", resourceCulture); + return ResourceManager.GetString("catfact_cmd", resourceCulture); } } @@ -908,23 +917,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~catfact`. /// - public static string catfact_summary { + public static string catfact_usage { get { - return ResourceManager.GetString("catfact_summary", resourceCulture); + return ResourceManager.GetString("catfact_usage", resourceCulture); } } /// - /// Looks up a localized string similar to catfact. + /// Looks up a localized string similar to cbl. /// - public static string catfact_text { + public static string channelblacklist_cmd { get { - return ResourceManager.GetString("catfact_text", resourceCulture); + return ResourceManager.GetString("channelblacklist_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Blacklists a mentioned channel (#general for example).. + /// Looks up a localized string similar to Either [add]s or [rem]oves a channel specified by an ID from a blacklist.. /// public static string channelblacklist_desc { get { @@ -933,20 +942,20 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `;cbl #some_channel`. + /// Looks up a localized string similar to `;cbl rem 12312312312`. /// - public static string channelblacklist_summary { + public static string channelblacklist_usage { get { - return ResourceManager.GetString("channelblacklist_summary", resourceCulture); + return ResourceManager.GetString("channelblacklist_usage", resourceCulture); } } /// - /// Looks up a localized string similar to cbl. + /// Looks up a localized string similar to channelid cid. /// - public static string channelblacklist_text { + public static string channelid_cmd { get { - return ResourceManager.GetString("channelblacklist_text", resourceCulture); + return ResourceManager.GetString("channelid_cmd", resourceCulture); } } @@ -962,18 +971,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.cid`. /// - public static string channelid_summary { + public static string channelid_usage { get { - return ResourceManager.GetString("channelid_summary", resourceCulture); + return ResourceManager.GetString("channelid_usage", resourceCulture); } } /// - /// Looks up a localized string similar to channelid cid. + /// Looks up a localized string similar to channelinfo cinfo. /// - public static string channelid_text { + public static string channelinfo_cmd { get { - return ResourceManager.GetString("channelid_text", resourceCulture); + return ResourceManager.GetString("channelinfo_cmd", resourceCulture); } } @@ -989,18 +998,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.cinfo #some-channel`. /// - public static string channelinfo_summary { + public static string channelinfo_usage { get { - return ResourceManager.GetString("channelinfo_summary", resourceCulture); + return ResourceManager.GetString("channelinfo_usage", resourceCulture); } } /// - /// Looks up a localized string similar to channelinfo cinfo. + /// Looks up a localized string similar to channeltopic ct. /// - public static string channelinfo_text { + public static string channeltopic_cmd { get { - return ResourceManager.GetString("channelinfo_text", resourceCulture); + return ResourceManager.GetString("channeltopic_cmd", resourceCulture); } } @@ -1016,18 +1025,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.ct`. /// - public static string channeltopic_summary { + public static string channeltopic_usage { get { - return ResourceManager.GetString("channeltopic_summary", resourceCulture); + return ResourceManager.GetString("channeltopic_usage", resourceCulture); } } /// - /// Looks up a localized string similar to channeltopic ct. + /// Looks up a localized string similar to checkmyperms. /// - public static string channeltopic_text { + public static string checkmyperms_cmd { get { - return ResourceManager.GetString("channeltopic_text", resourceCulture); + return ResourceManager.GetString("checkmyperms_cmd", resourceCulture); } } @@ -1043,18 +1052,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.checkmyperms`. /// - public static string checkmyperms_summary { + public static string checkmyperms_usage { get { - return ResourceManager.GetString("checkmyperms_summary", resourceCulture); + return ResourceManager.GetString("checkmyperms_usage", resourceCulture); } } /// - /// Looks up a localized string similar to checkmyperms. + /// Looks up a localized string similar to checkstream cs. /// - public static string checkmyperms_text { + public static string checkstream_cmd { get { - return ResourceManager.GetString("checkmyperms_text", resourceCulture); + return ResourceManager.GetString("checkstream_cmd", resourceCulture); } } @@ -1070,18 +1079,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~cs twitch MyFavStreamer`. /// - public static string checkstream_summary { + public static string checkstream_usage { get { - return ResourceManager.GetString("checkstream_summary", resourceCulture); + return ResourceManager.GetString("checkstream_usage", resourceCulture); } } /// - /// Looks up a localized string similar to checkstream cs. + /// Looks up a localized string similar to chnlcmd cc. /// - public static string checkstream_text { + public static string chnlcmd_cmd { get { - return ResourceManager.GetString("checkstream_text", resourceCulture); + return ResourceManager.GetString("chnlcmd_cmd", resourceCulture); } } @@ -1097,18 +1106,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;cc "command name" enable SomeChannel`. /// - public static string chnlcmd_summary { + public static string chnlcmd_usage { get { - return ResourceManager.GetString("chnlcmd_summary", resourceCulture); + return ResourceManager.GetString("chnlcmd_usage", resourceCulture); } } /// - /// Looks up a localized string similar to chnlcmd cc. + /// Looks up a localized string similar to chnlfilterinv cfi. /// - public static string chnlcmd_text { + public static string chnlfilterinv_cmd { get { - return ResourceManager.GetString("chnlcmd_text", resourceCulture); + return ResourceManager.GetString("chnlfilterinv_cmd", resourceCulture); } } @@ -1124,18 +1133,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;cfi enable #general-chat`. /// - public static string chnlfilterinv_summary { + public static string chnlfilterinv_usage { get { - return ResourceManager.GetString("chnlfilterinv_summary", resourceCulture); + return ResourceManager.GetString("chnlfilterinv_usage", resourceCulture); } } /// - /// Looks up a localized string similar to chnlfilterinv cfi. + /// Looks up a localized string similar to chnlfilterwords cfw. /// - public static string chnlfilterinv_text { + public static string chnlfilterwords_cmd { get { - return ResourceManager.GetString("chnlfilterinv_text", resourceCulture); + return ResourceManager.GetString("chnlfilterwords_cmd", resourceCulture); } } @@ -1151,18 +1160,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;cfw enable #general-chat`. /// - public static string chnlfilterwords_summary { + public static string chnlfilterwords_usage { get { - return ResourceManager.GetString("chnlfilterwords_summary", resourceCulture); + return ResourceManager.GetString("chnlfilterwords_usage", resourceCulture); } } /// - /// Looks up a localized string similar to chnlfilterwords cfw. + /// Looks up a localized string similar to chnlmdl cm. /// - public static string chnlfilterwords_text { + public static string chnlmdl_cmd { get { - return ResourceManager.GetString("chnlfilterwords_text", resourceCulture); + return ResourceManager.GetString("chnlmdl_cmd", resourceCulture); } } @@ -1178,18 +1187,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;cm "module name" enable SomeChannel`. /// - public static string chnlmdl_summary { + public static string chnlmdl_usage { get { - return ResourceManager.GetString("chnlmdl_summary", resourceCulture); + return ResourceManager.GetString("chnlmdl_usage", resourceCulture); } } /// - /// Looks up a localized string similar to chnlmdl cm. + /// Looks up a localized string similar to chnlperms cp. /// - public static string chnlmdl_text { + public static string chnlperms_cmd { get { - return ResourceManager.GetString("chnlmdl_text", resourceCulture); + return ResourceManager.GetString("chnlperms_cmd", resourceCulture); } } @@ -1205,18 +1214,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;cp #dev`. /// - public static string chnlperms_summary { + public static string chnlperms_usage { get { - return ResourceManager.GetString("chnlperms_summary", resourceCulture); + return ResourceManager.GetString("chnlperms_usage", resourceCulture); } } /// - /// Looks up a localized string similar to chnlperms cp. + /// Looks up a localized string similar to chnlpermscopy cpc. /// - public static string chnlperms_text { + public static string chnlpermscopy_cmd { get { - return ResourceManager.GetString("chnlperms_text", resourceCulture); + return ResourceManager.GetString("chnlpermscopy_cmd", resourceCulture); } } @@ -1232,18 +1241,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;cpc Some Channel ~ Some other channel`. /// - public static string chnlpermscopy_summary { + public static string chnlpermscopy_usage { get { - return ResourceManager.GetString("chnlpermscopy_summary", resourceCulture); + return ResourceManager.GetString("chnlpermscopy_usage", resourceCulture); } } /// - /// Looks up a localized string similar to chnlpermscopy cpc. + /// Looks up a localized string similar to choose. /// - public static string chnlpermscopy_text { + public static string choose_cmd { get { - return ResourceManager.GetString("chnlpermscopy_text", resourceCulture); + return ResourceManager.GetString("choose_cmd", resourceCulture); } } @@ -1259,18 +1268,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `>choose Get up;Sleep;Sleep more`. /// - public static string choose_summary { + public static string choose_usage { get { - return ResourceManager.GetString("choose_summary", resourceCulture); + return ResourceManager.GetString("choose_usage", resourceCulture); } } /// - /// Looks up a localized string similar to choose. + /// Looks up a localized string similar to chucknorris cn. /// - public static string choose_text { + public static string chucknorris_cmd { get { - return ResourceManager.GetString("choose_text", resourceCulture); + return ResourceManager.GetString("chucknorris_cmd", resourceCulture); } } @@ -1286,18 +1295,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~cn`. /// - public static string chucknorris_summary { + public static string chucknorris_usage { get { - return ResourceManager.GetString("chucknorris_summary", resourceCulture); + return ResourceManager.GetString("chucknorris_usage", resourceCulture); } } /// - /// Looks up a localized string similar to chucknorris cn. + /// Looks up a localized string similar to claim call c. /// - public static string chucknorris_text { + public static string claim_cmd { get { - return ResourceManager.GetString("chucknorris_text", resourceCulture); + return ResourceManager.GetString("claim_cmd", resourceCulture); } } @@ -1313,18 +1322,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `,call [war_number] [base_number] [optional_other_name]`. /// - public static string claim_summary { + public static string claim_usage { get { - return ResourceManager.GetString("claim_summary", resourceCulture); + return ResourceManager.GetString("claim_usage", resourceCulture); } } /// - /// Looks up a localized string similar to claim call c. + /// Looks up a localized string similar to claimfinish cf cf3 claimfinish3. /// - public static string claim_text { + public static string claimfinish_cmd { get { - return ResourceManager.GetString("claim_text", resourceCulture); + return ResourceManager.GetString("claimfinish_cmd", resourceCulture); } } @@ -1340,18 +1349,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `,cf [war_number] [optional_other_name]`. /// - public static string claimfinish_summary { + public static string claimfinish_usage { get { - return ResourceManager.GetString("claimfinish_summary", resourceCulture); + return ResourceManager.GetString("claimfinish_usage", resourceCulture); } } /// - /// Looks up a localized string similar to claimfinish cf cf3 claimfinish3. + /// Looks up a localized string similar to claimfinish1 cf1. /// - public static string claimfinish_text { + public static string claimfinish1_cmd { get { - return ResourceManager.GetString("claimfinish_text", resourceCulture); + return ResourceManager.GetString("claimfinish1_cmd", resourceCulture); } } @@ -1367,18 +1376,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `,cf [war_number] [optional_other_name]`. /// - public static string claimfinish1_summary { + public static string claimfinish1_usage { get { - return ResourceManager.GetString("claimfinish1_summary", resourceCulture); + return ResourceManager.GetString("claimfinish1_usage", resourceCulture); } } /// - /// Looks up a localized string similar to claimfinish1 cf1. + /// Looks up a localized string similar to claimfinish2 cf2. /// - public static string claimfinish1_text { + public static string claimfinish2_cmd { get { - return ResourceManager.GetString("claimfinish1_text", resourceCulture); + return ResourceManager.GetString("claimfinish2_cmd", resourceCulture); } } @@ -1394,23 +1403,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `,cf [war_number] [optional_other_name]`. /// - public static string claimfinish2_summary { + public static string claimfinish2_usage { get { - return ResourceManager.GetString("claimfinish2_summary", resourceCulture); + return ResourceManager.GetString("claimfinish2_usage", resourceCulture); } } /// - /// Looks up a localized string similar to claimfinish2 cf2. + /// Looks up a localized string similar to cleanup. /// - public static string claimfinish2_text { + public static string cleanup_cmd { get { - return ResourceManager.GetString("claimfinish2_text", resourceCulture); + return ResourceManager.GetString("cleanup_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Cleans up hanging voice connections. **Bot Owner Only!**. + /// Looks up a localized string similar to Cleans up hanging voice connections. . /// public static string cleanup_desc { get { @@ -1421,18 +1430,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!cleanup`. /// - public static string cleanup_summary { + public static string cleanup_usage { get { - return ResourceManager.GetString("cleanup_summary", resourceCulture); + return ResourceManager.GetString("cleanup_usage", resourceCulture); } } /// - /// Looks up a localized string similar to cleanup. + /// Looks up a localized string similar to cleanvplust cv+t. /// - public static string cleanup_text { + public static string cleanvplust_cmd { get { - return ResourceManager.GetString("cleanup_text", resourceCulture); + return ResourceManager.GetString("cleanvplust_cmd", resourceCulture); } } @@ -1448,18 +1457,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.cleanv+t`. /// - public static string cleanvplust_summary { + public static string cleanvplust_usage { get { - return ResourceManager.GetString("cleanvplust_summary", resourceCulture); + return ResourceManager.GetString("cleanvplust_usage", resourceCulture); } } /// - /// Looks up a localized string similar to cleanvplust cv+t. + /// Looks up a localized string similar to clr prune. /// - public static string cleanvplust_text { + public static string clr_cmd { get { - return ResourceManager.GetString("cleanvplust_text", resourceCulture); + return ResourceManager.GetString("clr_cmd", resourceCulture); } } @@ -1475,23 +1484,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~clr 00ff00`. /// - public static string clr_summary { + public static string clr_usage { get { - return ResourceManager.GetString("clr_summary", resourceCulture); + return ResourceManager.GetString("clr_usage", resourceCulture); } } /// - /// Looks up a localized string similar to clr prune. + /// Looks up a localized string similar to cmdcooldown cmdcd. /// - public static string clr_text { + public static string cmdcooldown_cmd { get { - return ResourceManager.GetString("clr_text", resourceCulture); + return ResourceManager.GetString("cmdcooldown_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Sets a cooldown per user for a command. Set 0 to clear. **Needs Manager Messages Permissions**. + /// Looks up a localized string similar to Sets a cooldown per user for a command. Set 0 to clear.. /// public static string cmdcooldown_desc { get { @@ -1502,18 +1511,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;cmdcd "some cmd" 5`. /// - public static string cmdcooldown_summary { + public static string cmdcooldown_usage { get { - return ResourceManager.GetString("cmdcooldown_summary", resourceCulture); + return ResourceManager.GetString("cmdcooldown_usage", resourceCulture); } } /// - /// Looks up a localized string similar to cmdcooldown cmdcd. + /// Looks up a localized string similar to commands cmds. /// - public static string cmdcooldown_text { + public static string commands_cmd { get { - return ResourceManager.GetString("cmdcooldown_text", resourceCulture); + return ResourceManager.GetString("commands_cmd", resourceCulture); } } @@ -1529,18 +1538,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `-commands` or `.commands`. /// - public static string commands_summary { + public static string commands_usage { get { - return ResourceManager.GetString("commands_summary", resourceCulture); + return ResourceManager.GetString("commands_usage", resourceCulture); } } /// - /// Looks up a localized string similar to commands cmds. + /// Looks up a localized string similar to convert. /// - public static string commands_text { + public static string convert_cmd { get { - return ResourceManager.GetString("commands_text", resourceCulture); + return ResourceManager.GetString("convert_cmd", resourceCulture); } } @@ -1556,18 +1565,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~convert m>km 1000`. /// - public static string convert_summary { + public static string convert_usage { get { - return ResourceManager.GetString("convert_summary", resourceCulture); + return ResourceManager.GetString("convert_usage", resourceCulture); } } /// - /// Looks up a localized string similar to convert. + /// Looks up a localized string similar to convertlist. /// - public static string convert_text { + public static string convertlist_cmd { get { - return ResourceManager.GetString("convert_text", resourceCulture); + return ResourceManager.GetString("convertlist_cmd", resourceCulture); } } @@ -1583,18 +1592,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to . /// - public static string convertlist_summary { + public static string convertlist_usage { get { - return ResourceManager.GetString("convertlist_summary", resourceCulture); + return ResourceManager.GetString("convertlist_usage", resourceCulture); } } /// - /// Looks up a localized string similar to convertlist. + /// Looks up a localized string similar to cp. /// - public static string convertlist_text { + public static string cp_cmd { get { - return ResourceManager.GetString("convertlist_text", resourceCulture); + return ResourceManager.GetString("cp_cmd", resourceCulture); } } @@ -1610,23 +1619,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~cp`. /// - public static string cp_summary { + public static string cp_usage { get { - return ResourceManager.GetString("cp_summary", resourceCulture); + return ResourceManager.GetString("cp_usage", resourceCulture); } } /// - /// Looks up a localized string similar to cp. + /// Looks up a localized string similar to createrole cr. /// - public static string cp_text { + public static string createrole_cmd { get { - return ResourceManager.GetString("cp_text", resourceCulture); + return ResourceManager.GetString("createrole_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Creates a role with a given name. **Needs Manage Roles Permissions.**. + /// Looks up a localized string similar to Creates a role with a given name. . /// public static string createrole_desc { get { @@ -1637,18 +1646,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.cr Awesome Role`. /// - public static string createrole_summary { + public static string createrole_usage { get { - return ResourceManager.GetString("createrole_summary", resourceCulture); + return ResourceManager.GetString("createrole_usage", resourceCulture); } } /// - /// Looks up a localized string similar to createrole cr. + /// Looks up a localized string similar to createwar cw. /// - public static string createrole_text { + public static string createwar_cmd { get { - return ResourceManager.GetString("createrole_text", resourceCulture); + return ResourceManager.GetString("createwar_cmd", resourceCulture); } } @@ -1664,23 +1673,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `,cw 15 The Enemy Clan`. /// - public static string createwar_summary { + public static string createwar_usage { get { - return ResourceManager.GetString("createwar_summary", resourceCulture); + return ResourceManager.GetString("createwar_usage", resourceCulture); } } /// - /// Looks up a localized string similar to createwar cw. + /// Looks up a localized string similar to creatvoichanl cvch. /// - public static string createwar_text { + public static string creatvoichanl_cmd { get { - return ResourceManager.GetString("createwar_text", resourceCulture); + return ResourceManager.GetString("creatvoichanl_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Creates a new voice channel with a given name. **Needs Manage Channel Permissions.**. + /// Looks up a localized string similar to Creates a new voice channel with a given name. . /// public static string creatvoichanl_desc { get { @@ -1691,23 +1700,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.cvch VoiceChannelName`. /// - public static string creatvoichanl_summary { + public static string creatvoichanl_usage { get { - return ResourceManager.GetString("creatvoichanl_summary", resourceCulture); + return ResourceManager.GetString("creatvoichanl_usage", resourceCulture); } } /// - /// Looks up a localized string similar to creatvoichanl cvch. + /// Looks up a localized string similar to creatxtchanl ctch. /// - public static string creatvoichanl_text { + public static string creatxtchanl_cmd { get { - return ResourceManager.GetString("creatvoichanl_text", resourceCulture); + return ResourceManager.GetString("creatxtchanl_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Creates a new text channel with a given name. **Needs Manage Channel Permissions.**. + /// Looks up a localized string similar to Creates a new text channel with a given name. . /// public static string creatxtchanl_desc { get { @@ -1718,45 +1727,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.ctch TextChannelName`. /// - public static string creatxtchanl_summary { + public static string creatxtchanl_usage { get { - return ResourceManager.GetString("creatxtchanl_summary", resourceCulture); + return ResourceManager.GetString("creatxtchanl_usage", resourceCulture); } } /// - /// Looks up a localized string similar to creatxtchanl ctch. + /// Looks up a localized string similar to danbooru. /// - public static string creatxtchanl_text { + public static string danbooru_cmd { get { - return ResourceManager.GetString("creatxtchanl_text", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Unblacklists a mentioned channel (#general for example).. - /// - public static string cubl_desc { - get { - return ResourceManager.GetString("cubl_desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to `;cubl #some_channel`. - /// - public static string cubl_summary { - get { - return ResourceManager.GetString("cubl_summary", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to cubl. - /// - public static string cubl_text { - get { - return ResourceManager.GetString("cubl_text", resourceCulture); + return ResourceManager.GetString("danbooru_cmd", resourceCulture); } } @@ -1772,23 +1754,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~danbooru yuri+kissing`. /// - public static string danbooru_summary { + public static string danbooru_usage { get { - return ResourceManager.GetString("danbooru_summary", resourceCulture); + return ResourceManager.GetString("danbooru_usage", resourceCulture); } } /// - /// Looks up a localized string similar to danbooru. + /// Looks up a localized string similar to deafen deaf. /// - public static string danbooru_text { + public static string deafen_cmd { get { - return ResourceManager.GetString("danbooru_text", resourceCulture); + return ResourceManager.GetString("deafen_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Deafens mentioned user or users. **Needs Deafen Permissions.**. + /// Looks up a localized string similar to Deafens mentioned user or users. . /// public static string deafen_desc { get { @@ -1799,18 +1781,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.deaf "@Someguy"` or `.deaf "@Someguy" "@Someguy"`. /// - public static string deafen_summary { + public static string deafen_usage { get { - return ResourceManager.GetString("deafen_summary", resourceCulture); + return ResourceManager.GetString("deafen_usage", resourceCulture); } } /// - /// Looks up a localized string similar to deafen deaf. + /// Looks up a localized string similar to defvol dv. /// - public static string deafen_text { + public static string defvol_cmd { get { - return ResourceManager.GetString("deafen_text", resourceCulture); + return ResourceManager.GetString("defvol_cmd", resourceCulture); } } @@ -1826,18 +1808,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!dv 80`. /// - public static string defvol_summary { + public static string defvol_usage { get { - return ResourceManager.GetString("defvol_summary", resourceCulture); + return ResourceManager.GetString("defvol_usage", resourceCulture); } } /// - /// Looks up a localized string similar to defvol dv. + /// Looks up a localized string similar to delallq daq. /// - public static string defvol_text { + public static string delallquotes_cmd { get { - return ResourceManager.GetString("defvol_text", resourceCulture); + return ResourceManager.GetString("delallquotes_cmd", resourceCulture); } } @@ -1853,23 +1835,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.delallq`. /// - public static string delallquotes_summary { + public static string delallquotes_usage { get { - return ResourceManager.GetString("delallquotes_summary", resourceCulture); + return ResourceManager.GetString("delallquotes_usage", resourceCulture); } } /// - /// Looks up a localized string similar to delallq daq. + /// Looks up a localized string similar to delcustreact dcr. /// - public static string delallquotes_text { + public static string delcustreact_cmd { get { - return ResourceManager.GetString("delallquotes_text", resourceCulture); + return ResourceManager.GetString("delcustreact_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Deletes a custom reaction with given name (and index). **Bot Owner Only.**. + /// Looks up a localized string similar to Deletes a custom reaction with given name (and index).. /// public static string delcustreact_desc { get { @@ -1880,18 +1862,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.dcr index`. /// - public static string delcustreact_summary { + public static string delcustreact_usage { get { - return ResourceManager.GetString("delcustreact_summary", resourceCulture); + return ResourceManager.GetString("delcustreact_usage", resourceCulture); } } /// - /// Looks up a localized string similar to delcustreact dcr. + /// Looks up a localized string similar to deleteplaylist delpls. /// - public static string delcustreact_text { + public static string deleteplaylist_cmd { get { - return ResourceManager.GetString("delcustreact_text", resourceCulture); + return ResourceManager.GetString("deleteplaylist_cmd", resourceCulture); } } @@ -1907,18 +1889,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!delpls animu-5`. /// - public static string deleteplaylist_summary { + public static string deleteplaylist_usage { get { - return ResourceManager.GetString("deleteplaylist_summary", resourceCulture); + return ResourceManager.GetString("deleteplaylist_usage", resourceCulture); } } /// - /// Looks up a localized string similar to deleteplaylist delpls. + /// Looks up a localized string similar to deletequote delq. /// - public static string deleteplaylist_text { + public static string deletequote_cmd { get { - return ResourceManager.GetString("deleteplaylist_text", resourceCulture); + return ResourceManager.GetString("deletequote_cmd", resourceCulture); } } @@ -1934,18 +1916,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.delq abc`. /// - public static string deletequote_summary { + public static string deletequote_usage { get { - return ResourceManager.GetString("deletequote_summary", resourceCulture); + return ResourceManager.GetString("deletequote_usage", resourceCulture); } } /// - /// Looks up a localized string similar to deletequote delq. + /// Looks up a localized string similar to delmsgoncmd. /// - public static string deletequote_text { + public static string delmsgoncmd_cmd { get { - return ResourceManager.GetString("deletequote_text", resourceCulture); + return ResourceManager.GetString("delmsgoncmd_cmd", resourceCulture); } } @@ -1961,23 +1943,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.delmsgoncmd`. /// - public static string delmsgoncmd_summary { + public static string delmsgoncmd_usage { get { - return ResourceManager.GetString("delmsgoncmd_summary", resourceCulture); + return ResourceManager.GetString("delmsgoncmd_usage", resourceCulture); } } /// - /// Looks up a localized string similar to delmsgoncmd. + /// Looks up a localized string similar to deltxtchanl dtch. /// - public static string delmsgoncmd_text { + public static string deltxtchanl_cmd { get { - return ResourceManager.GetString("delmsgoncmd_text", resourceCulture); + return ResourceManager.GetString("deltxtchanl_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Deletes a text channel with a given name. **Needs Manage Channel Permissions.**. + /// Looks up a localized string similar to Deletes a text channel with a given name. . /// public static string deltxtchanl_desc { get { @@ -1988,23 +1970,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.dtch TextChannelName`. /// - public static string deltxtchanl_summary { + public static string deltxtchanl_usage { get { - return ResourceManager.GetString("deltxtchanl_summary", resourceCulture); + return ResourceManager.GetString("deltxtchanl_usage", resourceCulture); } } /// - /// Looks up a localized string similar to deltxtchanl dtch. + /// Looks up a localized string similar to delvoichanl dvch. /// - public static string deltxtchanl_text { + public static string delvoichanl_cmd { get { - return ResourceManager.GetString("deltxtchanl_text", resourceCulture); + return ResourceManager.GetString("delvoichanl_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Deletes a voice channel with a given name. **Needs Manage Channel Permissions.**. + /// Looks up a localized string similar to Deletes a voice channel with a given name. . /// public static string delvoichanl_desc { get { @@ -2015,18 +1997,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.dvch VoiceChannelName`. /// - public static string delvoichanl_summary { + public static string delvoichanl_usage { get { - return ResourceManager.GetString("delvoichanl_summary", resourceCulture); + return ResourceManager.GetString("delvoichanl_usage", resourceCulture); } } /// - /// Looks up a localized string similar to delvoichanl dvch. + /// Looks up a localized string similar to destroy d. /// - public static string delvoichanl_text { + public static string destroy_cmd { get { - return ResourceManager.GetString("delvoichanl_text", resourceCulture); + return ResourceManager.GetString("destroy_cmd", resourceCulture); } } @@ -2042,18 +2024,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!d`. /// - public static string destroy_summary { + public static string destroy_usage { get { - return ResourceManager.GetString("destroy_summary", resourceCulture); + return ResourceManager.GetString("destroy_usage", resourceCulture); } } /// - /// Looks up a localized string similar to destroy d. + /// Looks up a localized string similar to die. /// - public static string destroy_text { + public static string die_cmd { get { - return ResourceManager.GetString("destroy_text", resourceCulture); + return ResourceManager.GetString("die_cmd", resourceCulture); } } @@ -2069,18 +2051,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `@NadekoBot die`. /// - public static string die_summary { + public static string die_usage { get { - return ResourceManager.GetString("die_summary", resourceCulture); + return ResourceManager.GetString("die_usage", resourceCulture); } } /// - /// Looks up a localized string similar to die. + /// Looks up a localized string similar to donadd. /// - public static string die_text { + public static string donadd_cmd { get { - return ResourceManager.GetString("die_text", resourceCulture); + return ResourceManager.GetString("donadd_cmd", resourceCulture); } } @@ -2096,18 +2078,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.donadd Donate Amount`. /// - public static string donadd_summary { + public static string donadd_usage { get { - return ResourceManager.GetString("donadd_summary", resourceCulture); + return ResourceManager.GetString("donadd_usage", resourceCulture); } } /// - /// Looks up a localized string similar to donadd. + /// Looks up a localized string similar to donate. /// - public static string donadd_text { + public static string donate_cmd { get { - return ResourceManager.GetString("donadd_text", resourceCulture); + return ResourceManager.GetString("donate_cmd", resourceCulture); } } @@ -2123,18 +2105,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `-donate` or `~donate`. /// - public static string donate_summary { + public static string donate_usage { get { - return ResourceManager.GetString("donate_summary", resourceCulture); + return ResourceManager.GetString("donate_usage", resourceCulture); } } /// - /// Looks up a localized string similar to donate. + /// Looks up a localized string similar to donators. /// - public static string donate_text { + public static string donators_cmd { get { - return ResourceManager.GetString("donate_text", resourceCulture); + return ResourceManager.GetString("donators_cmd", resourceCulture); } } @@ -2150,18 +2132,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.donators`. /// - public static string donators_summary { + public static string donators_usage { get { - return ResourceManager.GetString("donators_summary", resourceCulture); + return ResourceManager.GetString("donators_usage", resourceCulture); } } /// - /// Looks up a localized string similar to donators. + /// Looks up a localized string similar to do you love me. /// - public static string donators_text { + public static string doyouloveme_cmd { get { - return ResourceManager.GetString("donators_text", resourceCulture); + return ResourceManager.GetString("doyouloveme_cmd", resourceCulture); } } @@ -2177,18 +2159,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `@NadekoBot do you love me`. /// - public static string doyouloveme_summary { + public static string doyouloveme_usage { get { - return ResourceManager.GetString("doyouloveme_summary", resourceCulture); + return ResourceManager.GetString("doyouloveme_usage", resourceCulture); } } /// - /// Looks up a localized string similar to do you love me. + /// Looks up a localized string similar to draw. /// - public static string doyouloveme_text { + public static string draw_cmd { get { - return ResourceManager.GetString("doyouloveme_text", resourceCulture); + return ResourceManager.GetString("draw_cmd", resourceCulture); } } @@ -2204,45 +2186,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `$draw [x]`. /// - public static string draw_summary { + public static string draw_usage { get { - return ResourceManager.GetString("draw_summary", resourceCulture); + return ResourceManager.GetString("draw_usage", resourceCulture); } } /// - /// Looks up a localized string similar to draw. + /// Looks up a localized string similar to dysyd. /// - public static string draw_text { + public static string dysyd_cmd { get { - return ResourceManager.GetString("draw_text", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Dumps all of the invites it can to dump.txt.** Owner Only.**. - /// - public static string dump_desc { - get { - return ResourceManager.GetString("dump_desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to `@NadekoBot dump`. - /// - public static string dump_summary { - get { - return ResourceManager.GetString("dump_summary", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to dump. - /// - public static string dump_text { - get { - return ResourceManager.GetString("dump_text", resourceCulture); + return ResourceManager.GetString("dysyd_cmd", resourceCulture); } } @@ -2258,18 +2213,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.dysyd`. /// - public static string dysyd_summary { + public static string dysyd_usage { get { - return ResourceManager.GetString("dysyd_summary", resourceCulture); + return ResourceManager.GetString("dysyd_usage", resourceCulture); } } /// - /// Looks up a localized string similar to dysyd. + /// Looks up a localized string similar to e621. /// - public static string dysyd_text { + public static string e621_cmd { get { - return ResourceManager.GetString("dysyd_text", resourceCulture); + return ResourceManager.GetString("e621_cmd", resourceCulture); } } @@ -2285,23 +2240,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~e621 yuri kissing`. /// - public static string e621_summary { + public static string e621_usage { get { - return ResourceManager.GetString("e621_summary", resourceCulture); + return ResourceManager.GetString("e621_usage", resourceCulture); } } /// - /// Looks up a localized string similar to e621. + /// Looks up a localized string similar to editcustreact ecr. /// - public static string e621_text { + public static string editcustreact_cmd { get { - return ResourceManager.GetString("e621_text", resourceCulture); + return ResourceManager.GetString("editcustreact_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Edits a custom reaction, arguments are custom reactions name, index to change, and a (multiword) message **Bot Owner Only**. + /// Looks up a localized string similar to Edits a custom reaction, arguments are custom reactions name, index to change, and a (multiword) message.. /// public static string editcustreact_desc { get { @@ -2312,18 +2267,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.ecr "%mention% disguise" 2 Test 123`. /// - public static string editcustreact_summary { + public static string editcustreact_usage { get { - return ResourceManager.GetString("editcustreact_summary", resourceCulture); + return ResourceManager.GetString("editcustreact_usage", resourceCulture); } } /// - /// Looks up a localized string similar to editcustreact ecr. + /// Looks up a localized string similar to endwar ew. /// - public static string editcustreact_text { + public static string endwar_cmd { get { - return ResourceManager.GetString("editcustreact_text", resourceCulture); + return ResourceManager.GetString("endwar_cmd", resourceCulture); } } @@ -2339,18 +2294,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `,ew [war_number]`. /// - public static string endwar_summary { + public static string endwar_usage { get { - return ResourceManager.GetString("endwar_summary", resourceCulture); + return ResourceManager.GetString("endwar_usage", resourceCulture); } } /// - /// Looks up a localized string similar to endwar ew. + /// Looks up a localized string similar to fw. /// - public static string endwar_text { + public static string filterword_cmd { get { - return ResourceManager.GetString("endwar_text", resourceCulture); + return ResourceManager.GetString("filterword_cmd", resourceCulture); } } @@ -2366,18 +2321,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;fw poop`. /// - public static string filterword_summary { + public static string filterword_usage { get { - return ResourceManager.GetString("filterword_summary", resourceCulture); + return ResourceManager.GetString("filterword_usage", resourceCulture); } } /// - /// Looks up a localized string similar to fw. + /// Looks up a localized string similar to fire. /// - public static string filterword_text { + public static string fire_cmd { get { - return ResourceManager.GetString("filterword_text", resourceCulture); + return ResourceManager.GetString("fire_cmd", resourceCulture); } } @@ -2393,18 +2348,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `@NadekoBot fire [x]`. /// - public static string fire_summary { + public static string fire_usage { get { - return ResourceManager.GetString("fire_summary", resourceCulture); + return ResourceManager.GetString("fire_usage", resourceCulture); } } /// - /// Looks up a localized string similar to fire. + /// Looks up a localized string similar to flip. /// - public static string fire_text { + public static string flip_cmd { get { - return ResourceManager.GetString("fire_text", resourceCulture); + return ResourceManager.GetString("flip_cmd", resourceCulture); } } @@ -2420,18 +2375,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `$flip` or `$flip 3`. /// - public static string flip_summary { + public static string flip_usage { get { - return ResourceManager.GetString("flip_summary", resourceCulture); + return ResourceManager.GetString("flip_usage", resourceCulture); } } /// - /// Looks up a localized string similar to flip. + /// Looks up a localized string similar to gelbooru. /// - public static string flip_text { + public static string gelbooru_cmd { get { - return ResourceManager.GetString("flip_text", resourceCulture); + return ResourceManager.GetString("gelbooru_cmd", resourceCulture); } } @@ -2447,18 +2402,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~gelbooru yuri+kissing`. /// - public static string gelbooru_summary { + public static string gelbooru_usage { get { - return ResourceManager.GetString("gelbooru_summary", resourceCulture); + return ResourceManager.GetString("gelbooru_usage", resourceCulture); } } /// - /// Looks up a localized string similar to gelbooru. + /// Looks up a localized string similar to gencurrency gc. /// - public static string gelbooru_text { + public static string gencurrency_cmd { get { - return ResourceManager.GetString("gelbooru_text", resourceCulture); + return ResourceManager.GetString("gencurrency_cmd", resourceCulture); } } @@ -2474,18 +2429,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `>gc`. /// - public static string gencurrency_summary { + public static string gencurrency_usage { get { - return ResourceManager.GetString("gencurrency_summary", resourceCulture); + return ResourceManager.GetString("gencurrency_usage", resourceCulture); } } /// - /// Looks up a localized string similar to gencurrency gc. + /// Looks up a localized string similar to getlink gl. /// - public static string gencurrency_text { + public static string getlink_cmd { get { - return ResourceManager.GetString("gencurrency_text", resourceCulture); + return ResourceManager.GetString("getlink_cmd", resourceCulture); } } @@ -2501,18 +2456,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!gl`. /// - public static string getlink_summary { + public static string getlink_usage { get { - return ResourceManager.GetString("getlink_summary", resourceCulture); + return ResourceManager.GetString("getlink_usage", resourceCulture); } } /// - /// Looks up a localized string similar to getlink gl. + /// Looks up a localized string similar to give. /// - public static string getlink_text { + public static string give_cmd { get { - return ResourceManager.GetString("getlink_text", resourceCulture); + return ResourceManager.GetString("give_cmd", resourceCulture); } } @@ -2528,18 +2483,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `$give 1 "@SomeGuy"`. /// - public static string give_summary { + public static string give_usage { get { - return ResourceManager.GetString("give_summary", resourceCulture); + return ResourceManager.GetString("give_usage", resourceCulture); } } /// - /// Looks up a localized string similar to give. + /// Looks up a localized string similar to google g. /// - public static string give_text { + public static string google_cmd { get { - return ResourceManager.GetString("give_text", resourceCulture); + return ResourceManager.GetString("google_cmd", resourceCulture); } } @@ -2555,18 +2510,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~google query`. /// - public static string google_summary { + public static string google_usage { get { - return ResourceManager.GetString("google_summary", resourceCulture); + return ResourceManager.GetString("google_usage", resourceCulture); } } /// - /// Looks up a localized string similar to google g. + /// Looks up a localized string similar to goto. /// - public static string google_text { + public static string goto_cmd { get { - return ResourceManager.GetString("google_text", resourceCulture); + return ResourceManager.GetString("goto_cmd", resourceCulture); } } @@ -2582,23 +2537,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!goto 30`. /// - public static string goto_summary { + public static string goto_usage { get { - return ResourceManager.GetString("goto_summary", resourceCulture); + return ResourceManager.GetString("goto_usage", resourceCulture); } } /// - /// Looks up a localized string similar to goto. + /// Looks up a localized string similar to greet. /// - public static string goto_text { + public static string greet_cmd { get { - return ResourceManager.GetString("goto_text", resourceCulture); + return ResourceManager.GetString("greet_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Toggles anouncements on the current channel when someone joins the server. **Needs Manage Server Permissions.**. + /// Looks up a localized string similar to Toggles anouncements on the current channel when someone joins the server. . /// public static string greet_desc { get { @@ -2609,23 +2564,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.greet`. /// - public static string greet_summary { + public static string greet_usage { get { - return ResourceManager.GetString("greet_summary", resourceCulture); + return ResourceManager.GetString("greet_usage", resourceCulture); } } /// - /// Looks up a localized string similar to greet. + /// Looks up a localized string similar to greetdel. /// - public static string greet_text { + public static string greetdel_cmd { get { - return ResourceManager.GetString("greet_text", resourceCulture); + return ResourceManager.GetString("greetdel_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Toggles automatic deletion of greet messages. **Needs Manage Server Permissions.**. + /// Looks up a localized string similar to Toggles automatic deletion of greet messages. . /// public static string greetdel_desc { get { @@ -2636,23 +2591,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.greetdel`. /// - public static string greetdel_summary { + public static string greetdel_usage { get { - return ResourceManager.GetString("greetdel_summary", resourceCulture); + return ResourceManager.GetString("greetdel_usage", resourceCulture); } } /// - /// Looks up a localized string similar to greetdel. + /// Looks up a localized string similar to greetdm. /// - public static string greetdel_text { + public static string greetdm_cmd { get { - return ResourceManager.GetString("greetdel_text", resourceCulture); + return ResourceManager.GetString("greetdm_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Toggles whether the greet messages will be sent in a DM (This is separate from greet - you can have both, any or neither enabled). **Needs Manage Server Permissions.**. + /// Looks up a localized string similar to Toggles whether the greet messages will be sent in a DM (This is separate from greet - you can have both, any or neither enabled). . /// public static string greetdm_desc { get { @@ -2663,23 +2618,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.greetdm`. /// - public static string greetdm_summary { + public static string greetdm_usage { get { - return ResourceManager.GetString("greetdm_summary", resourceCulture); + return ResourceManager.GetString("greetdm_usage", resourceCulture); } } /// - /// Looks up a localized string similar to greetdm. + /// Looks up a localized string similar to greetdmmsg. /// - public static string greetdm_text { + public static string greetdmmsg_cmd { get { - return ResourceManager.GetString("greetdm_text", resourceCulture); + return ResourceManager.GetString("greetdmmsg_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Sets a new join announcement message which will be sent to the user who joined. Type %user% if you want to mention the new member. Using it with no message will show the current DM greet message. **Needs Manage Server Permissions.**. + /// Looks up a localized string similar to Sets a new join announcement message which will be sent to the user who joined. Type %user% if you want to mention the new member. Using it with no message will show the current DM greet message. . /// public static string greetdmmsg_desc { get { @@ -2690,23 +2645,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.greetdmmsg Welcome to the server, %user%`.. /// - public static string greetdmmsg_summary { + public static string greetdmmsg_usage { get { - return ResourceManager.GetString("greetdmmsg_summary", resourceCulture); + return ResourceManager.GetString("greetdmmsg_usage", resourceCulture); } } /// - /// Looks up a localized string similar to greetdmmsg. + /// Looks up a localized string similar to greetmsg. /// - public static string greetdmmsg_text { + public static string greetmsg_cmd { get { - return ResourceManager.GetString("greetdmmsg_text", resourceCulture); + return ResourceManager.GetString("greetmsg_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Sets a new join announcement message which will be shown in the server's channel. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. **Needs Manage Server Permissions.**. + /// Looks up a localized string similar to Sets a new join announcement message which will be shown in the server's channel. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. . /// public static string greetmsg_desc { get { @@ -2717,18 +2672,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.greetmsg Welcome, %user%.`. /// - public static string greetmsg_summary { + public static string greetmsg_usage { get { - return ResourceManager.GetString("greetmsg_summary", resourceCulture); + return ResourceManager.GetString("greetmsg_usage", resourceCulture); } } /// - /// Looks up a localized string similar to greetmsg. + /// Looks up a localized string similar to readme guide. /// - public static string greetmsg_text { + public static string guide_cmd { get { - return ResourceManager.GetString("greetmsg_text", resourceCulture); + return ResourceManager.GetString("guide_cmd", resourceCulture); } } @@ -2744,18 +2699,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `-readme` or `-guide`. /// - public static string guide_summary { + public static string guide_usage { get { - return ResourceManager.GetString("guide_summary", resourceCulture); + return ResourceManager.GetString("guide_usage", resourceCulture); } } /// - /// Looks up a localized string similar to readme guide. + /// Looks up a localized string similar to h help. /// - public static string guide_text { + public static string h_cmd { get { - return ResourceManager.GetString("guide_text", resourceCulture); + return ResourceManager.GetString("h_cmd", resourceCulture); } } @@ -2771,18 +2726,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `-h !m q` or just `-h`. /// - public static string h_summary { + public static string h_usage { get { - return ResourceManager.GetString("h_summary", resourceCulture); + return ResourceManager.GetString("h_usage", resourceCulture); } } /// - /// Looks up a localized string similar to h help. + /// Looks up a localized string similar to half. /// - public static string h_text { + public static string half_cmd { get { - return ResourceManager.GetString("h_text", resourceCulture); + return ResourceManager.GetString("half_cmd", resourceCulture); } } @@ -2798,18 +2753,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!half`. /// - public static string half_summary { + public static string half_usage { get { - return ResourceManager.GetString("half_summary", resourceCulture); + return ResourceManager.GetString("half_usage", resourceCulture); } } /// - /// Looks up a localized string similar to half. + /// Looks up a localized string similar to #. /// - public static string half_text { + public static string hashtag_cmd { get { - return ResourceManager.GetString("half_text", resourceCulture); + return ResourceManager.GetString("hashtag_cmd", resourceCulture); } } @@ -2825,18 +2780,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~# ff`. /// - public static string hashtag_summary { + public static string hashtag_usage { get { - return ResourceManager.GetString("hashtag_summary", resourceCulture); + return ResourceManager.GetString("hashtag_usage", resourceCulture); } } /// - /// Looks up a localized string similar to #. + /// Looks up a localized string similar to heal. /// - public static string hashtag_text { + public static string heal_cmd { get { - return ResourceManager.GetString("hashtag_text", resourceCulture); + return ResourceManager.GetString("heal_cmd", resourceCulture); } } @@ -2852,23 +2807,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `>heal @someone`. /// - public static string heal_summary { + public static string heal_usage { get { - return ResourceManager.GetString("heal_summary", resourceCulture); + return ResourceManager.GetString("heal_usage", resourceCulture); } } /// - /// Looks up a localized string similar to heal. + /// Looks up a localized string similar to heap. /// - public static string heal_text { + public static string heap_cmd { get { - return ResourceManager.GetString("heal_text", resourceCulture); + return ResourceManager.GetString("heap_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Shows allocated memory - **Bot Owner Only!**. + /// Looks up a localized string similar to Shows allocated memory - . /// public static string heap_desc { get { @@ -2879,18 +2834,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.heap`. /// - public static string heap_summary { + public static string heap_usage { get { - return ResourceManager.GetString("heap_summary", resourceCulture); + return ResourceManager.GetString("heap_usage", resourceCulture); } } /// - /// Looks up a localized string similar to heap. + /// Looks up a localized string similar to hearthstone hs. /// - public static string heap_text { + public static string hearthstone_cmd { get { - return ResourceManager.GetString("heap_text", resourceCulture); + return ResourceManager.GetString("hearthstone_cmd", resourceCulture); } } @@ -2906,18 +2861,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~hs Ysera`. /// - public static string hearthstone_summary { + public static string hearthstone_usage { get { - return ResourceManager.GetString("hearthstone_summary", resourceCulture); + return ResourceManager.GetString("hearthstone_usage", resourceCulture); } } /// - /// Looks up a localized string similar to hearthstone hs. + /// Looks up a localized string similar to hentai. /// - public static string hearthstone_text { + public static string hentai_cmd { get { - return ResourceManager.GetString("hearthstone_text", resourceCulture); + return ResourceManager.GetString("hentai_cmd", resourceCulture); } } @@ -2933,23 +2888,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~hentai yuri+kissing`. /// - public static string hentai_summary { + public static string hentai_usage { get { - return ResourceManager.GetString("hentai_summary", resourceCulture); + return ResourceManager.GetString("hentai_usage", resourceCulture); } } /// - /// Looks up a localized string similar to hentai. + /// Looks up a localized string similar to hgit. /// - public static string hentai_text { + public static string hgit_cmd { get { - return ResourceManager.GetString("hentai_text", resourceCulture); + return ResourceManager.GetString("hgit_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Generates the commandlist.md file. **Bot Owner Only!**. + /// Looks up a localized string similar to Generates the commandlist.md file.. /// public static string hgit_desc { get { @@ -2960,18 +2915,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `-hgit`. /// - public static string hgit_summary { + public static string hgit_usage { get { - return ResourceManager.GetString("hgit_summary", resourceCulture); + return ResourceManager.GetString("hgit_usage", resourceCulture); } } /// - /// Looks up a localized string similar to hgit. + /// Looks up a localized string similar to hitbox hb. /// - public static string hgit_text { + public static string hitbox_cmd { get { - return ResourceManager.GetString("hgit_text", resourceCulture); + return ResourceManager.GetString("hitbox_cmd", resourceCulture); } } @@ -2987,18 +2942,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~hitbox SomeStreamer`. /// - public static string hitbox_summary { + public static string hitbox_usage { get { - return ResourceManager.GetString("hitbox_summary", resourceCulture); + return ResourceManager.GetString("hitbox_usage", resourceCulture); } } /// - /// Looks up a localized string similar to hitbox hb. + /// Looks up a localized string similar to how are you. /// - public static string hitbox_text { + public static string howareyou_cmd { get { - return ResourceManager.GetString("hitbox_text", resourceCulture); + return ResourceManager.GetString("howareyou_cmd", resourceCulture); } } @@ -3014,18 +2969,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `@NadekoBot how are you`. /// - public static string howareyou_summary { + public static string howareyou_usage { get { - return ResourceManager.GetString("howareyou_summary", resourceCulture); + return ResourceManager.GetString("howareyou_usage", resourceCulture); } } /// - /// Looks up a localized string similar to how are you. + /// Looks up a localized string similar to img i. /// - public static string howareyou_text { + public static string i_cmd { get { - return ResourceManager.GetString("howareyou_text", resourceCulture); + return ResourceManager.GetString("i_cmd", resourceCulture); } } @@ -3041,18 +2996,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~i cute kitten`. /// - public static string i_summary { + public static string i_usage { get { - return ResourceManager.GetString("i_summary", resourceCulture); + return ResourceManager.GetString("i_usage", resourceCulture); } } /// - /// Looks up a localized string similar to img i. + /// Looks up a localized string similar to iam. /// - public static string i_text { + public static string iam_cmd { get { - return ResourceManager.GetString("i_text", resourceCulture); + return ResourceManager.GetString("iam_cmd", resourceCulture); } } @@ -3068,18 +3023,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.iam Gamer`. /// - public static string iam_summary { + public static string iam_usage { get { - return ResourceManager.GetString("iam_summary", resourceCulture); + return ResourceManager.GetString("iam_usage", resourceCulture); } } /// - /// Looks up a localized string similar to iam. + /// Looks up a localized string similar to iamnot iamn. /// - public static string iam_text { + public static string iamnot_cmd { get { - return ResourceManager.GetString("iam_text", resourceCulture); + return ResourceManager.GetString("iamnot_cmd", resourceCulture); } } @@ -3095,18 +3050,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.iamn Gamer`. /// - public static string iamnot_summary { + public static string iamnot_usage { get { - return ResourceManager.GetString("iamnot_summary", resourceCulture); + return ResourceManager.GetString("iamnot_usage", resourceCulture); } } /// - /// Looks up a localized string similar to iamnot iamn. + /// Looks up a localized string similar to imdb. /// - public static string iamnot_text { + public static string imdb_cmd { get { - return ResourceManager.GetString("iamnot_text", resourceCulture); + return ResourceManager.GetString("imdb_cmd", resourceCulture); } } @@ -3122,18 +3077,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~imdb Batman vs Superman`. /// - public static string imdb_summary { + public static string imdb_usage { get { - return ResourceManager.GetString("imdb_summary", resourceCulture); + return ResourceManager.GetString("imdb_usage", resourceCulture); } } /// - /// Looks up a localized string similar to imdb. + /// Looks up a localized string similar to inrole. /// - public static string imdb_text { + public static string inrole_cmd { get { - return ResourceManager.GetString("imdb_text", resourceCulture); + return ResourceManager.GetString("inrole_cmd", resourceCulture); } } @@ -3149,18 +3104,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.inrole Role`. /// - public static string inrole_summary { + public static string inrole_usage { get { - return ResourceManager.GetString("inrole_summary", resourceCulture); + return ResourceManager.GetString("inrole_usage", resourceCulture); } } /// - /// Looks up a localized string similar to inrole. + /// Looks up a localized string similar to ir. /// - public static string inrole_text { + public static string ir_cmd { get { - return ResourceManager.GetString("inrole_text", resourceCulture); + return ResourceManager.GetString("ir_cmd", resourceCulture); } } @@ -3176,23 +3131,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~ir cute kitten`. /// - public static string ir_summary { + public static string ir_usage { get { - return ResourceManager.GetString("ir_summary", resourceCulture); + return ResourceManager.GetString("ir_usage", resourceCulture); } } /// - /// Looks up a localized string similar to ir. + /// Looks up a localized string similar to jcsc. /// - public static string ir_text { + public static string jcsc_cmd { get { - return ResourceManager.GetString("ir_text", resourceCulture); + return ResourceManager.GetString("jcsc_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Joins current channel to an instance of cross server channel using the token. **Needs Manage Server Permissions.**. + /// Looks up a localized string similar to Joins current channel to an instance of cross server channel using the token. . /// public static string jcsc_desc { get { @@ -3203,18 +3158,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.jcsc`. /// - public static string jcsc_summary { + public static string jcsc_usage { get { - return ResourceManager.GetString("jcsc_summary", resourceCulture); + return ResourceManager.GetString("jcsc_usage", resourceCulture); } } /// - /// Looks up a localized string similar to jcsc. + /// Looks up a localized string similar to joinrace jr. /// - public static string jcsc_text { + public static string joinrace_cmd { get { - return ResourceManager.GetString("jcsc_text", resourceCulture); + return ResourceManager.GetString("joinrace_cmd", resourceCulture); } } @@ -3230,23 +3185,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `$jr` or `$jr 5`. /// - public static string joinrace_summary { + public static string joinrace_usage { get { - return ResourceManager.GetString("joinrace_summary", resourceCulture); + return ResourceManager.GetString("joinrace_usage", resourceCulture); } } /// - /// Looks up a localized string similar to joinrace jr. + /// Looks up a localized string similar to kick k. /// - public static string joinrace_text { + public static string kick_cmd { get { - return ResourceManager.GetString("joinrace_text", resourceCulture); + return ResourceManager.GetString("kick_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Kicks a mentioned user. **Needs Kick Permissions.**. + /// Looks up a localized string similar to Kicks a mentioned user. . /// public static string kick_desc { get { @@ -3257,23 +3212,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.k "@some Guy" Your behaviour is toxic.`. /// - public static string kick_summary { + public static string kick_usage { get { - return ResourceManager.GetString("kick_summary", resourceCulture); + return ResourceManager.GetString("kick_usage", resourceCulture); } } /// - /// Looks up a localized string similar to kick k. + /// Looks up a localized string similar to lcsc. /// - public static string kick_text { + public static string lcsc_cmd { get { - return ResourceManager.GetString("kick_text", resourceCulture); + return ResourceManager.GetString("lcsc_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Leaves Cross server channel instance from this channel. **Needs Manage Server Permissions.**. + /// Looks up a localized string similar to Leaves Cross server channel instance from this channel. . /// public static string lcsc_desc { get { @@ -3284,18 +3239,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.lcsc`. /// - public static string lcsc_summary { + public static string lcsc_usage { get { - return ResourceManager.GetString("lcsc_summary", resourceCulture); + return ResourceManager.GetString("lcsc_usage", resourceCulture); } } /// - /// Looks up a localized string similar to lcsc. + /// Looks up a localized string similar to leaderboard lb. /// - public static string lcsc_text { + public static string leaderboard_cmd { get { - return ResourceManager.GetString("lcsc_text", resourceCulture); + return ResourceManager.GetString("leaderboard_cmd", resourceCulture); } } @@ -3311,23 +3266,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `$lb`. /// - public static string leaderboard_summary { + public static string leaderboard_usage { get { - return ResourceManager.GetString("leaderboard_summary", resourceCulture); + return ResourceManager.GetString("leaderboard_usage", resourceCulture); } } /// - /// Looks up a localized string similar to leaderboard lb. + /// Looks up a localized string similar to leave. /// - public static string leaderboard_text { + public static string leave_cmd { get { - return ResourceManager.GetString("leaderboard_text", resourceCulture); + return ResourceManager.GetString("leave_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Makes Nadeko leave the server. Either name or id required. **Bot Owner Only!**. + /// Looks up a localized string similar to Makes Nadeko leave the server. Either name or id required. . /// public static string leave_desc { get { @@ -3338,18 +3293,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.leave 123123123331`. /// - public static string leave_summary { + public static string leave_usage { get { - return ResourceManager.GetString("leave_summary", resourceCulture); + return ResourceManager.GetString("leave_usage", resourceCulture); } } /// - /// Looks up a localized string similar to leave. + /// Looks up a localized string similar to leet. /// - public static string leave_text { + public static string leet_cmd { get { - return ResourceManager.GetString("leave_text", resourceCulture); + return ResourceManager.GetString("leet_cmd", resourceCulture); } } @@ -3365,18 +3320,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `>leet 3 Hello`. /// - public static string leet_summary { + public static string leet_usage { get { - return ResourceManager.GetString("leet_summary", resourceCulture); + return ResourceManager.GetString("leet_usage", resourceCulture); } } /// - /// Looks up a localized string similar to leet. + /// Looks up a localized string similar to linux. /// - public static string leet_text { + public static string linux_cmd { get { - return ResourceManager.GetString("leet_text", resourceCulture); + return ResourceManager.GetString("linux_cmd", resourceCulture); } } @@ -3392,23 +3347,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `>linux Spyware Windows`. /// - public static string linux_summary { + public static string linux_usage { get { - return ResourceManager.GetString("linux_summary", resourceCulture); + return ResourceManager.GetString("linux_usage", resourceCulture); } } /// - /// Looks up a localized string similar to linux. + /// Looks up a localized string similar to listallincidents lain. /// - public static string linux_text { + public static string listallincidents_cmd { get { - return ResourceManager.GetString("linux_text", resourceCulture); + return ResourceManager.GetString("listallincidents_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Sends you a file containing all incidents and flags them as read. **Needs Manage Server Permissions.**. + /// Looks up a localized string similar to Sends you a file containing all incidents and flags them as read. . /// public static string listallincidents_desc { get { @@ -3419,18 +3374,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.lain`. /// - public static string listallincidents_summary { + public static string listallincidents_usage { get { - return ResourceManager.GetString("listallincidents_summary", resourceCulture); + return ResourceManager.GetString("listallincidents_usage", resourceCulture); } } /// - /// Looks up a localized string similar to listallincidents lain. + /// Looks up a localized string similar to listcustreact lcr. /// - public static string listallincidents_text { + public static string listcustreact_cmd { get { - return ResourceManager.GetString("listallincidents_text", resourceCulture); + return ResourceManager.GetString("listcustreact_cmd", resourceCulture); } } @@ -3446,23 +3401,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.lcr 1`. /// - public static string listcustreact_summary { + public static string listcustreact_usage { get { - return ResourceManager.GetString("listcustreact_summary", resourceCulture); + return ResourceManager.GetString("listcustreact_usage", resourceCulture); } } /// - /// Looks up a localized string similar to listcustreact lcr. + /// Looks up a localized string similar to listincidents lin. /// - public static string listcustreact_text { + public static string listincidents_cmd { get { - return ResourceManager.GetString("listcustreact_text", resourceCulture); + return ResourceManager.GetString("listincidents_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to List all UNREAD incidents and flags them as read. **Needs Manage Server Permissions.**. + /// Looks up a localized string similar to List all UNREAD incidents and flags them as read. . /// public static string listincidents_desc { get { @@ -3473,18 +3428,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.lin`. /// - public static string listincidents_summary { + public static string listincidents_usage { get { - return ResourceManager.GetString("listincidents_summary", resourceCulture); + return ResourceManager.GetString("listincidents_usage", resourceCulture); } } /// - /// Looks up a localized string similar to listincidents lin. + /// Looks up a localized string similar to listperms lp. /// - public static string listincidents_text { + public static string listperms_cmd { get { - return ResourceManager.GetString("listincidents_text", resourceCulture); + return ResourceManager.GetString("listperms_cmd", resourceCulture); } } @@ -3500,23 +3455,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;lp`. /// - public static string listperms_summary { + public static string listperms_usage { get { - return ResourceManager.GetString("listperms_summary", resourceCulture); + return ResourceManager.GetString("listperms_usage", resourceCulture); } } /// - /// Looks up a localized string similar to listperms lp. + /// Looks up a localized string similar to listplaying lipl. /// - public static string listperms_text { + public static string listplaying_cmd { get { - return ResourceManager.GetString("listperms_text", resourceCulture); + return ResourceManager.GetString("listplaying_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Lists all playing statuses with their corresponding number. **Bot Owner Only!**. + /// Looks up a localized string similar to Lists all playing statuses with their corresponding number.. /// public static string listplaying_desc { get { @@ -3527,18 +3482,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.lipl`. /// - public static string listplaying_summary { + public static string listplaying_usage { get { - return ResourceManager.GetString("listplaying_summary", resourceCulture); + return ResourceManager.GetString("listplaying_usage", resourceCulture); } } /// - /// Looks up a localized string similar to listplaying lipl. + /// Looks up a localized string similar to listqueue lq. /// - public static string listplaying_text { + public static string listqueue_cmd { get { - return ResourceManager.GetString("listplaying_text", resourceCulture); + return ResourceManager.GetString("listqueue_cmd", resourceCulture); } } @@ -3554,23 +3509,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!lq` or `!!lq 2`. /// - public static string listqueue_summary { + public static string listqueue_usage { get { - return ResourceManager.GetString("listqueue_summary", resourceCulture); + return ResourceManager.GetString("listqueue_usage", resourceCulture); } } /// - /// Looks up a localized string similar to listqueue lq. + /// Looks up a localized string similar to lists list. /// - public static string listqueue_text { + public static string lists_cmd { get { - return ResourceManager.GetString("listqueue_text", resourceCulture); + return ResourceManager.GetString("lists_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Lists all lists, yo ;) **Bot Owner Only!**. + /// Looks up a localized string similar to Lists all lists, yo ;). /// public static string lists_desc { get { @@ -3581,18 +3536,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `trello list`. /// - public static string lists_summary { + public static string lists_usage { get { - return ResourceManager.GetString("lists_summary", resourceCulture); + return ResourceManager.GetString("lists_usage", resourceCulture); } } /// - /// Looks up a localized string similar to lists list. + /// Looks up a localized string similar to liststreams ls. /// - public static string lists_text { + public static string liststreams_cmd { get { - return ResourceManager.GetString("lists_text", resourceCulture); + return ResourceManager.GetString("liststreams_cmd", resourceCulture); } } @@ -3608,18 +3563,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~ls`. /// - public static string liststreams_summary { + public static string liststreams_usage { get { - return ResourceManager.GetString("liststreams_summary", resourceCulture); + return ResourceManager.GetString("liststreams_usage", resourceCulture); } } /// - /// Looks up a localized string similar to liststreams ls. + /// Looks up a localized string similar to listwar lw. /// - public static string liststreams_text { + public static string listwar_cmd { get { - return ResourceManager.GetString("liststreams_text", resourceCulture); + return ResourceManager.GetString("listwar_cmd", resourceCulture); } } @@ -3635,18 +3590,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `,lw [war_number] or ,lw`. /// - public static string listwar_summary { + public static string listwar_usage { get { - return ResourceManager.GetString("listwar_summary", resourceCulture); + return ResourceManager.GetString("listwar_usage", resourceCulture); } } /// - /// Looks up a localized string similar to listwar lw. + /// Looks up a localized string similar to lmgtfy. /// - public static string listwar_text { + public static string lmgtfy_cmd { get { - return ResourceManager.GetString("listwar_text", resourceCulture); + return ResourceManager.GetString("lmgtfy_cmd", resourceCulture); } } @@ -3662,18 +3617,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~lmgtfy query`. /// - public static string lmgtfy_summary { + public static string lmgtfy_usage { get { - return ResourceManager.GetString("lmgtfy_summary", resourceCulture); + return ResourceManager.GetString("lmgtfy_usage", resourceCulture); } } /// - /// Looks up a localized string similar to lmgtfy. + /// Looks up a localized string similar to load. /// - public static string lmgtfy_text { + public static string load_cmd { get { - return ResourceManager.GetString("lmgtfy_text", resourceCulture); + return ResourceManager.GetString("load_cmd", resourceCulture); } } @@ -3689,23 +3644,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!load classical-1`. /// - public static string load_summary { + public static string load_usage { get { - return ResourceManager.GetString("load_summary", resourceCulture); + return ResourceManager.GetString("load_usage", resourceCulture); } } /// - /// Looks up a localized string similar to load. + /// Looks up a localized string similar to local lo. /// - public static string load_text { + public static string local_cmd { get { - return ResourceManager.GetString("load_text", resourceCulture); + return ResourceManager.GetString("local_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Queues a local file by specifying a full path. **Bot Owner Only!**. + /// Looks up a localized string similar to Queues a local file by specifying a full path.. /// public static string local_desc { get { @@ -3716,23 +3671,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!lo C:/music/mysong.mp3`. /// - public static string local_summary { + public static string local_usage { get { - return ResourceManager.GetString("local_summary", resourceCulture); + return ResourceManager.GetString("local_usage", resourceCulture); } } /// - /// Looks up a localized string similar to local lo. + /// Looks up a localized string similar to localplaylst lopl. /// - public static string local_text { + public static string localpl_cmd { get { - return ResourceManager.GetString("local_text", resourceCulture); + return ResourceManager.GetString("localpl_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Queues all songs from a directory. **Bot Owner Only!**. + /// Looks up a localized string similar to Queues all songs from a directory.. /// public static string localpl_desc { get { @@ -3743,23 +3698,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!lopl C:/music/classical`. /// - public static string localpl_summary { + public static string localpl_usage { get { - return ResourceManager.GetString("localpl_summary", resourceCulture); + return ResourceManager.GetString("localpl_usage", resourceCulture); } } /// - /// Looks up a localized string similar to localplaylst lopl. + /// Looks up a localized string similar to logignore. /// - public static string localpl_text { + public static string logignore_cmd { get { - return ResourceManager.GetString("localpl_text", resourceCulture); + return ResourceManager.GetString("logignore_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. **Bot Owner Only!**. + /// Looks up a localized string similar to Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel.. /// public static string logignore_desc { get { @@ -3770,18 +3725,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.logignore`. /// - public static string logignore_summary { + public static string logignore_usage { get { - return ResourceManager.GetString("logignore_summary", resourceCulture); + return ResourceManager.GetString("logignore_usage", resourceCulture); } } /// - /// Looks up a localized string similar to logignore. + /// Looks up a localized string similar to logserver. /// - public static string logignore_text { + public static string logserver_cmd { get { - return ResourceManager.GetString("logignore_text", resourceCulture); + return ResourceManager.GetString("logserver_cmd", resourceCulture); } } @@ -3797,18 +3752,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.logserver`. /// - public static string logserver_summary { + public static string logserver_usage { get { - return ResourceManager.GetString("logserver_summary", resourceCulture); + return ResourceManager.GetString("logserver_usage", resourceCulture); } } /// - /// Looks up a localized string similar to logserver. + /// Looks up a localized string similar to lolban. /// - public static string logserver_text { + public static string lolban_cmd { get { - return ResourceManager.GetString("logserver_text", resourceCulture); + return ResourceManager.GetString("lolban_cmd", resourceCulture); } } @@ -3824,18 +3779,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~lolban`. /// - public static string lolban_summary { + public static string lolban_usage { get { - return ResourceManager.GetString("lolban_summary", resourceCulture); + return ResourceManager.GetString("lolban_usage", resourceCulture); } } /// - /// Looks up a localized string similar to lolban. + /// Looks up a localized string similar to lolchamp. /// - public static string lolban_text { + public static string lolchamp_cmd { get { - return ResourceManager.GetString("lolban_text", resourceCulture); + return ResourceManager.GetString("lolchamp_cmd", resourceCulture); } } @@ -3851,18 +3806,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~lolchamp Riven` or `~lolchamp Annie sup`. /// - public static string lolchamp_summary { + public static string lolchamp_usage { get { - return ResourceManager.GetString("lolchamp_summary", resourceCulture); + return ResourceManager.GetString("lolchamp_usage", resourceCulture); } } /// - /// Looks up a localized string similar to lolchamp. + /// Looks up a localized string similar to lsar. /// - public static string lolchamp_text { + public static string lsar_cmd { get { - return ResourceManager.GetString("lolchamp_text", resourceCulture); + return ResourceManager.GetString("lsar_cmd", resourceCulture); } } @@ -3878,18 +3833,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.lsar`. /// - public static string lsar_summary { + public static string lsar_usage { get { - return ResourceManager.GetString("lsar_summary", resourceCulture); + return ResourceManager.GetString("lsar_usage", resourceCulture); } } /// - /// Looks up a localized string similar to lsar. + /// Looks up a localized string similar to lstfilterwords lfw. /// - public static string lsar_text { + public static string lstfilterwords_cmd { get { - return ResourceManager.GetString("lsar_text", resourceCulture); + return ResourceManager.GetString("lstfilterwords_cmd", resourceCulture); } } @@ -3905,18 +3860,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;lfw`. /// - public static string lstfilterwords_summary { + public static string lstfilterwords_usage { get { - return ResourceManager.GetString("lstfilterwords_summary", resourceCulture); + return ResourceManager.GetString("lstfilterwords_usage", resourceCulture); } } /// - /// Looks up a localized string similar to lstfilterwords lfw. + /// Looks up a localized string similar to magicitem mi. /// - public static string lstfilterwords_text { + public static string magicitem_cmd { get { - return ResourceManager.GetString("lstfilterwords_text", resourceCulture); + return ResourceManager.GetString("magicitem_cmd", resourceCulture); } } @@ -3932,18 +3887,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~mi`. /// - public static string magicitem_summary { + public static string magicitem_usage { get { - return ResourceManager.GetString("magicitem_summary", resourceCulture); + return ResourceManager.GetString("magicitem_usage", resourceCulture); } } /// - /// Looks up a localized string similar to magicitem mi. + /// Looks up a localized string similar to manga mang mq. /// - public static string magicitem_text { + public static string manga_cmd { get { - return ResourceManager.GetString("magicitem_text", resourceCulture); + return ResourceManager.GetString("manga_cmd", resourceCulture); } } @@ -3959,18 +3914,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~mq Shingeki no kyojin`. /// - public static string manga_summary { + public static string manga_usage { get { - return ResourceManager.GetString("manga_summary", resourceCulture); + return ResourceManager.GetString("manga_usage", resourceCulture); } } /// - /// Looks up a localized string similar to manga mang mq. + /// Looks up a localized string similar to max. /// - public static string manga_text { + public static string max_cmd { get { - return ResourceManager.GetString("manga_text", resourceCulture); + return ResourceManager.GetString("max_cmd", resourceCulture); } } @@ -3986,18 +3941,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!max`. /// - public static string max_summary { + public static string max_usage { get { - return ResourceManager.GetString("max_summary", resourceCulture); + return ResourceManager.GetString("max_usage", resourceCulture); } } /// - /// Looks up a localized string similar to max. + /// Looks up a localized string similar to memegen. /// - public static string max_text { + public static string memegen_cmd { get { - return ResourceManager.GetString("max_text", resourceCulture); + return ResourceManager.GetString("memegen_cmd", resourceCulture); } } @@ -4013,18 +3968,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~memegen biw "gets iced coffee" "in the winter"`. /// - public static string memegen_summary { + public static string memegen_usage { get { - return ResourceManager.GetString("memegen_summary", resourceCulture); + return ResourceManager.GetString("memegen_usage", resourceCulture); } } /// - /// Looks up a localized string similar to memegen. + /// Looks up a localized string similar to memelist. /// - public static string memegen_text { + public static string memelist_cmd { get { - return ResourceManager.GetString("memegen_text", resourceCulture); + return ResourceManager.GetString("memelist_cmd", resourceCulture); } } @@ -4040,18 +3995,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~memelist`. /// - public static string memelist_summary { + public static string memelist_usage { get { - return ResourceManager.GetString("memelist_summary", resourceCulture); + return ResourceManager.GetString("memelist_usage", resourceCulture); } } /// - /// Looks up a localized string similar to memelist. + /// Looks up a localized string similar to mentionrole menro. /// - public static string memelist_text { + public static string mentionrole_cmd { get { - return ResourceManager.GetString("memelist_text", resourceCulture); + return ResourceManager.GetString("mentionrole_cmd", resourceCulture); } } @@ -4067,18 +4022,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.menro RoleName`. /// - public static string mentionrole_summary { + public static string mentionrole_usage { get { - return ResourceManager.GetString("mentionrole_summary", resourceCulture); + return ResourceManager.GetString("mentionrole_usage", resourceCulture); } } /// - /// Looks up a localized string similar to mentionrole menro. + /// Looks up a localized string similar to migratedata. /// - public static string mentionrole_text { + public static string migratedata_cmd { get { - return ResourceManager.GetString("mentionrole_text", resourceCulture); + return ResourceManager.GetString("migratedata_cmd", resourceCulture); } } @@ -4094,18 +4049,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.migratedata`. /// - public static string migratedata_summary { + public static string migratedata_usage { get { - return ResourceManager.GetString("migratedata_summary", resourceCulture); + return ResourceManager.GetString("migratedata_usage", resourceCulture); } } /// - /// Looks up a localized string similar to migratedata. + /// Looks up a localized string similar to modules mdls. /// - public static string migratedata_text { + public static string modules_cmd { get { - return ResourceManager.GetString("migratedata_text", resourceCulture); + return ResourceManager.GetString("modules_cmd", resourceCulture); } } @@ -4121,18 +4076,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `-modules` or `.modules`. /// - public static string modules_summary { + public static string modules_usage { get { - return ResourceManager.GetString("modules_summary", resourceCulture); + return ResourceManager.GetString("modules_usage", resourceCulture); } } /// - /// Looks up a localized string similar to modules mdls. + /// Looks up a localized string similar to move mv. /// - public static string modules_text { + public static string move_cmd { get { - return ResourceManager.GetString("modules_text", resourceCulture); + return ResourceManager.GetString("move_cmd", resourceCulture); } } @@ -4148,18 +4103,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!mv`. /// - public static string move_summary { + public static string move_usage { get { - return ResourceManager.GetString("move_summary", resourceCulture); + return ResourceManager.GetString("move_usage", resourceCulture); } } /// - /// Looks up a localized string similar to move mv. + /// Looks up a localized string similar to movelist ml. /// - public static string move_text { + public static string movelist_cmd { get { - return ResourceManager.GetString("move_text", resourceCulture); + return ResourceManager.GetString("movelist_cmd", resourceCulture); } } @@ -4175,18 +4130,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `>ml`. /// - public static string movelist_summary { + public static string movelist_usage { get { - return ResourceManager.GetString("movelist_summary", resourceCulture); + return ResourceManager.GetString("movelist_usage", resourceCulture); } } /// - /// Looks up a localized string similar to movelist ml. + /// Looks up a localized string similar to moveperm mp. /// - public static string movelist_text { + public static string moveperm_cmd { get { - return ResourceManager.GetString("movelist_text", resourceCulture); + return ResourceManager.GetString("moveperm_cmd", resourceCulture); } } @@ -4202,18 +4157,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;mp 2 4`. /// - public static string moveperm_summary { + public static string moveperm_usage { get { - return ResourceManager.GetString("moveperm_summary", resourceCulture); + return ResourceManager.GetString("moveperm_usage", resourceCulture); } } /// - /// Looks up a localized string similar to moveperm mp. + /// Looks up a localized string similar to movesong ms. /// - public static string moveperm_text { + public static string movesong_cmd { get { - return ResourceManager.GetString("moveperm_text", resourceCulture); + return ResourceManager.GetString("movesong_cmd", resourceCulture); } } @@ -4229,18 +4184,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!! ms 5>3`. /// - public static string movesong_summary { + public static string movesong_usage { get { - return ResourceManager.GetString("movesong_summary", resourceCulture); + return ResourceManager.GetString("movesong_usage", resourceCulture); } } /// - /// Looks up a localized string similar to movesong ms. + /// Looks up a localized string similar to mute min. /// - public static string movesong_text { + public static string mute_cmd { get { - return ResourceManager.GetString("movesong_text", resourceCulture); + return ResourceManager.GetString("mute_cmd", resourceCulture); } } @@ -4256,23 +4211,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!min`. /// - public static string mute_summary { + public static string mute_usage { get { - return ResourceManager.GetString("mute_summary", resourceCulture); + return ResourceManager.GetString("mute_usage", resourceCulture); } } /// - /// Looks up a localized string similar to mute min. + /// Looks up a localized string similar to newavatar setavatar. /// - public static string mute_text { + public static string newavatar_cmd { get { - return ResourceManager.GetString("mute_text", resourceCulture); + return ResourceManager.GetString("newavatar_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. **Bot Owner Only!**. + /// Looks up a localized string similar to Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. . /// public static string newavatar_desc { get { @@ -4283,18 +4238,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.setavatar http://i.imgur.com/xTG3a1I.jpg`. /// - public static string newavatar_summary { + public static string newavatar_usage { get { - return ResourceManager.GetString("newavatar_summary", resourceCulture); + return ResourceManager.GetString("newavatar_usage", resourceCulture); } } /// - /// Looks up a localized string similar to newavatar setavatar. + /// Looks up a localized string similar to next n. /// - public static string newavatar_text { + public static string next_cmd { get { - return ResourceManager.GetString("newavatar_text", resourceCulture); + return ResourceManager.GetString("next_cmd", resourceCulture); } } @@ -4310,18 +4265,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!n`. /// - public static string next_summary { + public static string next_usage { get { - return ResourceManager.GetString("next_summary", resourceCulture); + return ResourceManager.GetString("next_usage", resourceCulture); } } /// - /// Looks up a localized string similar to next n. + /// Looks up a localized string similar to nowplaying np. /// - public static string next_text { + public static string nowplaying_cmd { get { - return ResourceManager.GetString("next_text", resourceCulture); + return ResourceManager.GetString("nowplaying_cmd", resourceCulture); } } @@ -4337,18 +4292,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!np`. /// - public static string nowplaying_summary { + public static string nowplaying_usage { get { - return ResourceManager.GetString("nowplaying_summary", resourceCulture); + return ResourceManager.GetString("nowplaying_usage", resourceCulture); } } /// - /// Looks up a localized string similar to nowplaying np. + /// Looks up a localized string similar to nroll. /// - public static string nowplaying_text { + public static string nroll_cmd { get { - return ResourceManager.GetString("nowplaying_text", resourceCulture); + return ResourceManager.GetString("nroll_cmd", resourceCulture); } } @@ -4364,18 +4319,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `$nroll 5` (rolls 0-5) or `$nroll 5-15`. /// - public static string nroll_summary { + public static string nroll_usage { get { - return ResourceManager.GetString("nroll_summary", resourceCulture); + return ResourceManager.GetString("nroll_usage", resourceCulture); } } /// - /// Looks up a localized string similar to nroll. + /// Looks up a localized string similar to osu. /// - public static string nroll_text { + public static string osu_cmd { get { - return ResourceManager.GetString("nroll_text", resourceCulture); + return ResourceManager.GetString("osu_cmd", resourceCulture); } } @@ -4391,18 +4346,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~osu Name` or `~osu Name taiko`. /// - public static string osu_summary { + public static string osu_usage { get { - return ResourceManager.GetString("osu_summary", resourceCulture); + return ResourceManager.GetString("osu_usage", resourceCulture); } } /// - /// Looks up a localized string similar to osu. + /// Looks up a localized string similar to osu5. /// - public static string osu_text { + public static string osu5_cmd { get { - return ResourceManager.GetString("osu_text", resourceCulture); + return ResourceManager.GetString("osu5_cmd", resourceCulture); } } @@ -4418,18 +4373,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~osu5 Name`. /// - public static string osu5_summary { + public static string osu5_usage { get { - return ResourceManager.GetString("osu5_summary", resourceCulture); + return ResourceManager.GetString("osu5_usage", resourceCulture); } } /// - /// Looks up a localized string similar to osu5. + /// Looks up a localized string similar to osub. /// - public static string osu5_text { + public static string osub_cmd { get { - return ResourceManager.GetString("osu5_text", resourceCulture); + return ResourceManager.GetString("osub_cmd", resourceCulture); } } @@ -4445,18 +4400,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~osub https://osu.ppy.sh/s/127712`. /// - public static string osub_summary { + public static string osub_usage { get { - return ResourceManager.GetString("osub_summary", resourceCulture); + return ResourceManager.GetString("osub_usage", resourceCulture); } } /// - /// Looks up a localized string similar to osub. + /// Looks up a localized string similar to pause p. /// - public static string osub_text { + public static string pause_cmd { get { - return ResourceManager.GetString("osub_text", resourceCulture); + return ResourceManager.GetString("pause_cmd", resourceCulture); } } @@ -4472,18 +4427,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!p`. /// - public static string pause_summary { + public static string pause_usage { get { - return ResourceManager.GetString("pause_summary", resourceCulture); + return ResourceManager.GetString("pause_usage", resourceCulture); } } /// - /// Looks up a localized string similar to pause p. + /// Looks up a localized string similar to permrole pr. /// - public static string pause_text { + public static string permrole_cmd { get { - return ResourceManager.GetString("pause_text", resourceCulture); + return ResourceManager.GetString("permrole_cmd", resourceCulture); } } @@ -4499,18 +4454,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;pr role`. /// - public static string permrole_summary { + public static string permrole_usage { get { - return ResourceManager.GetString("permrole_summary", resourceCulture); + return ResourceManager.GetString("permrole_usage", resourceCulture); } } /// - /// Looks up a localized string similar to permrole pr. + /// Looks up a localized string similar to pick. /// - public static string permrole_text { + public static string pick_cmd { get { - return ResourceManager.GetString("permrole_text", resourceCulture); + return ResourceManager.GetString("pick_cmd", resourceCulture); } } @@ -4526,18 +4481,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `>pick`. /// - public static string pick_summary { + public static string pick_usage { get { - return ResourceManager.GetString("pick_summary", resourceCulture); + return ResourceManager.GetString("pick_usage", resourceCulture); } } /// - /// Looks up a localized string similar to pick. + /// Looks up a localized string similar to plant. /// - public static string pick_text { + public static string plant_cmd { get { - return ResourceManager.GetString("pick_text", resourceCulture); + return ResourceManager.GetString("plant_cmd", resourceCulture); } } @@ -4553,18 +4508,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `>plant`. /// - public static string plant_summary { + public static string plant_usage { get { - return ResourceManager.GetString("plant_summary", resourceCulture); + return ResourceManager.GetString("plant_usage", resourceCulture); } } /// - /// Looks up a localized string similar to plant. + /// Looks up a localized string similar to playlist pl. /// - public static string plant_text { + public static string playlist_cmd { get { - return ResourceManager.GetString("plant_text", resourceCulture); + return ResourceManager.GetString("playlist_cmd", resourceCulture); } } @@ -4580,18 +4535,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!pl playlist link or name`. /// - public static string playlist_summary { + public static string playlist_usage { get { - return ResourceManager.GetString("playlist_summary", resourceCulture); + return ResourceManager.GetString("playlist_usage", resourceCulture); } } /// - /// Looks up a localized string similar to playlist pl. + /// Looks up a localized string similar to playlists pls. /// - public static string playlist_text { + public static string playlists_cmd { get { - return ResourceManager.GetString("playlist_text", resourceCulture); + return ResourceManager.GetString("playlists_cmd", resourceCulture); } } @@ -4607,18 +4562,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!pls 1`. /// - public static string playlists_summary { + public static string playlists_usage { get { - return ResourceManager.GetString("playlists_summary", resourceCulture); + return ResourceManager.GetString("playlists_usage", resourceCulture); } } /// - /// Looks up a localized string similar to playlists pls. + /// Looks up a localized string similar to pokemon poke. /// - public static string playlists_text { + public static string pokemon_cmd { get { - return ResourceManager.GetString("playlists_text", resourceCulture); + return ResourceManager.GetString("pokemon_cmd", resourceCulture); } } @@ -4634,18 +4589,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~poke Sylveon`. /// - public static string pokemon_summary { + public static string pokemon_usage { get { - return ResourceManager.GetString("pokemon_summary", resourceCulture); + return ResourceManager.GetString("pokemon_usage", resourceCulture); } } /// - /// Looks up a localized string similar to pokemon poke. + /// Looks up a localized string similar to pokemonability pokeab. /// - public static string pokemon_text { + public static string pokemonability_cmd { get { - return ResourceManager.GetString("pokemon_text", resourceCulture); + return ResourceManager.GetString("pokemonability_cmd", resourceCulture); } } @@ -4661,23 +4616,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~pokeab "water gun"`. /// - public static string pokemonability_summary { + public static string pokemonability_usage { get { - return ResourceManager.GetString("pokemonability_summary", resourceCulture); + return ResourceManager.GetString("pokemonability_usage", resourceCulture); } } /// - /// Looks up a localized string similar to pokemonability pokeab. + /// Looks up a localized string similar to poll. /// - public static string pokemonability_text { + public static string poll_cmd { get { - return ResourceManager.GetString("pokemonability_text", resourceCulture); + return ResourceManager.GetString("poll_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Creates a poll, only person who has manage server permission can do it. **Needs Manage Server Permissions**. + /// Looks up a localized string similar to Creates a poll, only person who has manage server permission can do it.. /// public static string poll_desc { get { @@ -4688,18 +4643,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `>poll Question?;Answer1;Answ 2;A_3`. /// - public static string poll_summary { + public static string poll_usage { get { - return ResourceManager.GetString("poll_summary", resourceCulture); + return ResourceManager.GetString("poll_usage", resourceCulture); } } /// - /// Looks up a localized string similar to poll. + /// Looks up a localized string similar to pollend. /// - public static string poll_text { + public static string pollend_cmd { get { - return ResourceManager.GetString("poll_text", resourceCulture); + return ResourceManager.GetString("pollend_cmd", resourceCulture); } } @@ -4715,23 +4670,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `>pollend`. /// - public static string pollend_summary { + public static string pollend_usage { get { - return ResourceManager.GetString("pollend_summary", resourceCulture); + return ResourceManager.GetString("pollend_usage", resourceCulture); } } /// - /// Looks up a localized string similar to pollend. + /// Looks up a localized string similar to prune clr. /// - public static string pollend_text { + public static string prune_cmd { get { - return ResourceManager.GetString("pollend_text", resourceCulture); + return ResourceManager.GetString("prune_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. **Needs Manage Messages Permissions**. + /// Looks up a localized string similar to `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. . /// public static string prune_desc { get { @@ -4742,18 +4697,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X`. /// - public static string prune_summary { + public static string prune_usage { get { - return ResourceManager.GetString("prune_summary", resourceCulture); + return ResourceManager.GetString("prune_usage", resourceCulture); } } /// - /// Looks up a localized string similar to prune clr. + /// Looks up a localized string similar to queue q yq. /// - public static string prune_text { + public static string queue_cmd { get { - return ResourceManager.GetString("prune_text", resourceCulture); + return ResourceManager.GetString("queue_cmd", resourceCulture); } } @@ -4769,18 +4724,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!q Dream Of Venice`. /// - public static string queue_summary { + public static string queue_usage { get { - return ResourceManager.GetString("queue_summary", resourceCulture); + return ResourceManager.GetString("queue_usage", resourceCulture); } } /// - /// Looks up a localized string similar to queue q yq. + /// Looks up a localized string similar to race. /// - public static string queue_text { + public static string race_cmd { get { - return ResourceManager.GetString("queue_text", resourceCulture); + return ResourceManager.GetString("race_cmd", resourceCulture); } } @@ -4796,18 +4751,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `$race`. /// - public static string race_summary { + public static string race_usage { get { - return ResourceManager.GetString("race_summary", resourceCulture); + return ResourceManager.GetString("race_usage", resourceCulture); } } /// - /// Looks up a localized string similar to race. + /// Looks up a localized string similar to radio ra. /// - public static string race_text { + public static string radio_cmd { get { - return ResourceManager.GetString("race_text", resourceCulture); + return ResourceManager.GetString("radio_cmd", resourceCulture); } } @@ -4823,18 +4778,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!ra radio link here`. /// - public static string radio_summary { + public static string radio_usage { get { - return ResourceManager.GetString("radio_summary", resourceCulture); + return ResourceManager.GetString("radio_usage", resourceCulture); } } /// - /// Looks up a localized string similar to radio ra. + /// Looks up a localized string similar to raffle. /// - public static string radio_text { + public static string raffle_cmd { get { - return ResourceManager.GetString("radio_text", resourceCulture); + return ResourceManager.GetString("raffle_cmd", resourceCulture); } } @@ -4850,18 +4805,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `$raffle` or `$raffle RoleName`. /// - public static string raffle_summary { + public static string raffle_usage { get { - return ResourceManager.GetString("raffle_summary", resourceCulture); + return ResourceManager.GetString("raffle_usage", resourceCulture); } } /// - /// Looks up a localized string similar to raffle. + /// Looks up a localized string similar to randjoke rj. /// - public static string raffle_text { + public static string randjoke_cmd { get { - return ResourceManager.GetString("raffle_text", resourceCulture); + return ResourceManager.GetString("randjoke_cmd", resourceCulture); } } @@ -4877,18 +4832,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~rj`. /// - public static string randjoke_summary { + public static string randjoke_usage { get { - return ResourceManager.GetString("randjoke_summary", resourceCulture); + return ResourceManager.GetString("randjoke_usage", resourceCulture); } } /// - /// Looks up a localized string similar to randjoke rj. + /// Looks up a localized string similar to randomcat meow. /// - public static string randjoke_text { + public static string randomcat_cmd { get { - return ResourceManager.GetString("randjoke_text", resourceCulture); + return ResourceManager.GetString("randomcat_cmd", resourceCulture); } } @@ -4904,18 +4859,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~meow`. /// - public static string randomcat_summary { + public static string randomcat_usage { get { - return ResourceManager.GetString("randomcat_summary", resourceCulture); + return ResourceManager.GetString("randomcat_usage", resourceCulture); } } /// - /// Looks up a localized string similar to randomcat meow. + /// Looks up a localized string similar to randomdog woof. /// - public static string randomcat_text { + public static string randomdog_cmd { get { - return ResourceManager.GetString("randomcat_text", resourceCulture); + return ResourceManager.GetString("randomdog_cmd", resourceCulture); } } @@ -4931,18 +4886,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~woof`. /// - public static string randomdog_summary { + public static string randomdog_usage { get { - return ResourceManager.GetString("randomdog_summary", resourceCulture); + return ResourceManager.GetString("randomdog_usage", resourceCulture); } } /// - /// Looks up a localized string similar to randomdog woof. + /// Looks up a localized string similar to remind. /// - public static string randomdog_text { + public static string remind_cmd { get { - return ResourceManager.GetString("randomdog_text", resourceCulture); + return ResourceManager.GetString("remind_cmd", resourceCulture); } } @@ -4958,23 +4913,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.remind me 1d5h Do something` or `.remind #general Start now!`. /// - public static string remind_summary { + public static string remind_usage { get { - return ResourceManager.GetString("remind_summary", resourceCulture); + return ResourceManager.GetString("remind_usage", resourceCulture); } } /// - /// Looks up a localized string similar to remind. + /// Looks up a localized string similar to remindmsg. /// - public static string remind_text { + public static string remindmsg_cmd { get { - return ResourceManager.GetString("remind_text", resourceCulture); + return ResourceManager.GetString("remindmsg_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Sets message for when the remind is triggered. Available placeholders are %user% - user who ran the command, %message% - Message specified in the remind, %target% - target channel of the remind. **Bot Owner Only!**. + /// Looks up a localized string similar to Sets message for when the remind is triggered. Available placeholders are %user% - user who ran the command, %message% - Message specified in the remind, %target% - target channel of the remind. . /// public static string remindmsg_desc { get { @@ -4985,18 +4940,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.remindmsg do something else`. /// - public static string remindmsg_summary { + public static string remindmsg_usage { get { - return ResourceManager.GetString("remindmsg_summary", resourceCulture); + return ResourceManager.GetString("remindmsg_usage", resourceCulture); } } /// - /// Looks up a localized string similar to remindmsg. + /// Looks up a localized string similar to remove rm. /// - public static string remindmsg_text { + public static string remove_cmd { get { - return ResourceManager.GetString("remindmsg_text", resourceCulture); + return ResourceManager.GetString("remove_cmd", resourceCulture); } } @@ -5012,23 +4967,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!rm 5`. /// - public static string remove_summary { + public static string remove_usage { get { - return ResourceManager.GetString("remove_summary", resourceCulture); + return ResourceManager.GetString("remove_usage", resourceCulture); } } /// - /// Looks up a localized string similar to remove rm. + /// Looks up a localized string similar to removeallroles rar. /// - public static string remove_text { + public static string removeallroles_cmd { get { - return ResourceManager.GetString("remove_text", resourceCulture); + return ResourceManager.GetString("removeallroles_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Removes all roles from a mentioned user. **Needs Manage Roles Permissions.**. + /// Looks up a localized string similar to Removes all roles from a mentioned user. . /// public static string removeallroles_desc { get { @@ -5039,18 +4994,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.rar @User`. /// - public static string removeallroles_summary { + public static string removeallroles_usage { get { - return ResourceManager.GetString("removeallroles_summary", resourceCulture); + return ResourceManager.GetString("removeallroles_usage", resourceCulture); } } /// - /// Looks up a localized string similar to removeallroles rar. + /// Looks up a localized string similar to removeperm rp. /// - public static string removeallroles_text { + public static string removeperm_cmd { get { - return ResourceManager.GetString("removeallroles_text", resourceCulture); + return ResourceManager.GetString("removeperm_cmd", resourceCulture); } } @@ -5066,23 +5021,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;rp 1`. /// - public static string removeperm_summary { + public static string removeperm_usage { get { - return ResourceManager.GetString("removeperm_summary", resourceCulture); + return ResourceManager.GetString("removeperm_usage", resourceCulture); } } /// - /// Looks up a localized string similar to removeperm rp. + /// Looks up a localized string similar to removeplaying rmlp repl. /// - public static string removeperm_text { + public static string removeplaying_cmd { get { - return ResourceManager.GetString("removeperm_text", resourceCulture); + return ResourceManager.GetString("removeplaying_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Removes a playing string on a given number. **Bot Owner Only!**. + /// Looks up a localized string similar to Removes a playing string on a given number. . /// public static string removeplaying_desc { get { @@ -5093,23 +5048,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.rmpl`. /// - public static string removeplaying_summary { + public static string removeplaying_usage { get { - return ResourceManager.GetString("removeplaying_summary", resourceCulture); + return ResourceManager.GetString("removeplaying_usage", resourceCulture); } } /// - /// Looks up a localized string similar to removeplaying rmlp repl. + /// Looks up a localized string similar to removerole rr. /// - public static string removeplaying_text { + public static string removerole_cmd { get { - return ResourceManager.GetString("removeplaying_text", resourceCulture); + return ResourceManager.GetString("removerole_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Removes a role from a given user. **Needs Manage Roles Permissions.**. + /// Looks up a localized string similar to Removes a role from a given user. . /// public static string removerole_desc { get { @@ -5120,18 +5075,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.rr @User Admin`. /// - public static string removerole_summary { + public static string removerole_usage { get { - return ResourceManager.GetString("removerole_summary", resourceCulture); + return ResourceManager.GetString("removerole_usage", resourceCulture); } } /// - /// Looks up a localized string similar to removerole rr. + /// Looks up a localized string similar to removestream rms. /// - public static string removerole_text { + public static string removestream_cmd { get { - return ResourceManager.GetString("removerole_text", resourceCulture); + return ResourceManager.GetString("removestream_cmd", resourceCulture); } } @@ -5147,18 +5102,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~rms SomeGuy`. /// - public static string removestream_summary { + public static string removestream_usage { get { - return ResourceManager.GetString("removestream_summary", resourceCulture); + return ResourceManager.GetString("removestream_usage", resourceCulture); } } /// - /// Looks up a localized string similar to removestream rms. + /// Looks up a localized string similar to renamerole renr. /// - public static string removestream_text { + public static string renamerole_cmd { get { - return ResourceManager.GetString("removestream_text", resourceCulture); + return ResourceManager.GetString("renamerole_cmd", resourceCulture); } } @@ -5174,23 +5129,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.renr "First role" SecondRole`. /// - public static string renamerole_summary { + public static string renamerole_usage { get { - return ResourceManager.GetString("renamerole_summary", resourceCulture); + return ResourceManager.GetString("renamerole_usage", resourceCulture); } } /// - /// Looks up a localized string similar to renamerole renr. + /// Looks up a localized string similar to repeat. /// - public static string renamerole_text { + public static string repeat_cmd { get { - return ResourceManager.GetString("renamerole_text", resourceCulture); + return ResourceManager.GetString("repeat_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Repeat a message every X minutes. If no parameters are specified, repeat is disabled. **Needs Manage Messages Permissions.**. + /// Looks up a localized string similar to Repeat a message every X minutes. If no parameters are specified, repeat is disabled.. /// public static string repeat_desc { get { @@ -5201,23 +5156,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.repeat 5 Hello there`. /// - public static string repeat_summary { + public static string repeat_usage { get { - return ResourceManager.GetString("repeat_summary", resourceCulture); + return ResourceManager.GetString("repeat_usage", resourceCulture); } } /// - /// Looks up a localized string similar to repeat. + /// Looks up a localized string similar to repeatinvoke repinv. /// - public static string repeat_text { + public static string repeatinvoke_cmd { get { - return ResourceManager.GetString("repeat_text", resourceCulture); + return ResourceManager.GetString("repeatinvoke_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Immediately shows the repeat message and restarts the timer. **Needs Manage Messages Permissions.**. + /// Looks up a localized string similar to Immediately shows the repeat message and restarts the timer. . /// public static string repeatinvoke_desc { get { @@ -5228,18 +5183,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.repinv`. /// - public static string repeatinvoke_summary { + public static string repeatinvoke_usage { get { - return ResourceManager.GetString("repeatinvoke_summary", resourceCulture); + return ResourceManager.GetString("repeatinvoke_usage", resourceCulture); } } /// - /// Looks up a localized string similar to repeatinvoke repinv. + /// Looks up a localized string similar to rpeatplaylst rpl. /// - public static string repeatinvoke_text { + public static string repeatpl_cmd { get { - return ResourceManager.GetString("repeatinvoke_text", resourceCulture); + return ResourceManager.GetString("repeatpl_cmd", resourceCulture); } } @@ -5255,18 +5210,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!rpl`. /// - public static string repeatpl_summary { + public static string repeatpl_usage { get { - return ResourceManager.GetString("repeatpl_summary", resourceCulture); + return ResourceManager.GetString("repeatpl_usage", resourceCulture); } } /// - /// Looks up a localized string similar to rpeatplaylst rpl. + /// Looks up a localized string similar to reptcursong rcs. /// - public static string repeatpl_text { + public static string reptcursong_cmd { get { - return ResourceManager.GetString("repeatpl_text", resourceCulture); + return ResourceManager.GetString("reptcursong_cmd", resourceCulture); } } @@ -5282,23 +5237,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!rcs`. /// - public static string reptcursong_summary { + public static string reptcursong_usage { get { - return ResourceManager.GetString("reptcursong_summary", resourceCulture); + return ResourceManager.GetString("reptcursong_usage", resourceCulture); } } /// - /// Looks up a localized string similar to reptcursong rcs. + /// Looks up a localized string similar to restart. /// - public static string reptcursong_text { + public static string restart_cmd { get { - return ResourceManager.GetString("reptcursong_text", resourceCulture); + return ResourceManager.GetString("restart_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Restarts the bot. Might not work. **Bot Owner Only**. + /// Looks up a localized string similar to Restarts the bot. Might not work.. /// public static string restart_desc { get { @@ -5309,18 +5264,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.restart`. /// - public static string restart_summary { + public static string restart_usage { get { - return ResourceManager.GetString("restart_summary", resourceCulture); + return ResourceManager.GetString("restart_usage", resourceCulture); } } /// - /// Looks up a localized string similar to restart. + /// Looks up a localized string similar to revav. /// - public static string restart_text { + public static string revav_cmd { get { - return ResourceManager.GetString("restart_text", resourceCulture); + return ResourceManager.GetString("revav_cmd", resourceCulture); } } @@ -5336,18 +5291,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~revav "@SomeGuy"`. /// - public static string revav_summary { + public static string revav_usage { get { - return ResourceManager.GetString("revav_summary", resourceCulture); + return ResourceManager.GetString("revav_usage", resourceCulture); } } /// - /// Looks up a localized string similar to revav. + /// Looks up a localized string similar to revimg. /// - public static string revav_text { + public static string revimg_cmd { get { - return ResourceManager.GetString("revav_text", resourceCulture); + return ResourceManager.GetString("revimg_cmd", resourceCulture); } } @@ -5363,18 +5318,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~revimg Image link`. /// - public static string revimg_summary { + public static string revimg_usage { get { - return ResourceManager.GetString("revimg_summary", resourceCulture); + return ResourceManager.GetString("revimg_usage", resourceCulture); } } /// - /// Looks up a localized string similar to revimg. + /// Looks up a localized string similar to rip. /// - public static string revimg_text { + public static string rip_cmd { get { - return ResourceManager.GetString("revimg_text", resourceCulture); + return ResourceManager.GetString("rip_cmd", resourceCulture); } } @@ -5390,18 +5345,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `@NadekoBot rip @Someone 2000`. /// - public static string rip_summary { + public static string rip_usage { get { - return ResourceManager.GetString("rip_summary", resourceCulture); + return ResourceManager.GetString("rip_usage", resourceCulture); } } /// - /// Looks up a localized string similar to rip. + /// Looks up a localized string similar to rmvfilterword rw. /// - public static string rip_text { + public static string rmvfilterword_cmd { get { - return ResourceManager.GetString("rip_text", resourceCulture); + return ResourceManager.GetString("rmvfilterword_cmd", resourceCulture); } } @@ -5417,18 +5372,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;rw poop`. /// - public static string rmvfilterword_summary { + public static string rmvfilterword_usage { get { - return ResourceManager.GetString("rmvfilterword_summary", resourceCulture); + return ResourceManager.GetString("rmvfilterword_usage", resourceCulture); } } /// - /// Looks up a localized string similar to rmvfilterword rw. + /// Looks up a localized string similar to rolecmd rc. /// - public static string rmvfilterword_text { + public static string rolecmd_cmd { get { - return ResourceManager.GetString("rmvfilterword_text", resourceCulture); + return ResourceManager.GetString("rolecmd_cmd", resourceCulture); } } @@ -5444,23 +5399,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;rc "command name" disable MyRole`. /// - public static string rolecmd_summary { + public static string rolecmd_usage { get { - return ResourceManager.GetString("rolecmd_summary", resourceCulture); + return ResourceManager.GetString("rolecmd_usage", resourceCulture); } } /// - /// Looks up a localized string similar to rolecmd rc. + /// Looks up a localized string similar to rolecolor rc. /// - public static string rolecmd_text { + public static string rolecolor_cmd { get { - return ResourceManager.GetString("rolecmd_text", resourceCulture); + return ResourceManager.GetString("rolecolor_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Set a role's color to the hex or 0-255 rgb color value provided. **Needs Manage Roles Permissions.**. + /// Looks up a localized string similar to Set a role's color to the hex or 0-255 rgb color value provided. . /// public static string rolecolor_desc { get { @@ -5471,18 +5426,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.rc Admin 255 200 100` or `.rc Admin ffba55`. /// - public static string rolecolor_summary { + public static string rolecolor_usage { get { - return ResourceManager.GetString("rolecolor_summary", resourceCulture); + return ResourceManager.GetString("rolecolor_usage", resourceCulture); } } /// - /// Looks up a localized string similar to rolecolor rc. + /// Looks up a localized string similar to rolemdl rm. /// - public static string rolecolor_text { + public static string rolemdl_cmd { get { - return ResourceManager.GetString("rolecolor_text", resourceCulture); + return ResourceManager.GetString("rolemdl_cmd", resourceCulture); } } @@ -5498,18 +5453,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;rm "module name" enable MyRole`. /// - public static string rolemdl_summary { + public static string rolemdl_usage { get { - return ResourceManager.GetString("rolemdl_summary", resourceCulture); + return ResourceManager.GetString("rolemdl_usage", resourceCulture); } } /// - /// Looks up a localized string similar to rolemdl rm. + /// Looks up a localized string similar to roleperms rp. /// - public static string rolemdl_text { + public static string roleperms_cmd { get { - return ResourceManager.GetString("rolemdl_text", resourceCulture); + return ResourceManager.GetString("roleperms_cmd", resourceCulture); } } @@ -5525,18 +5480,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;rp AwesomeRole`. /// - public static string roleperms_summary { + public static string roleperms_usage { get { - return ResourceManager.GetString("roleperms_summary", resourceCulture); + return ResourceManager.GetString("roleperms_usage", resourceCulture); } } /// - /// Looks up a localized string similar to roleperms rp. + /// Looks up a localized string similar to rolepermscopy rpc. /// - public static string roleperms_text { + public static string rolepermscopy_cmd { get { - return ResourceManager.GetString("roleperms_text", resourceCulture); + return ResourceManager.GetString("rolepermscopy_cmd", resourceCulture); } } @@ -5552,18 +5507,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;rpc Some Role ~ Some other role`. /// - public static string rolepermscopy_summary { + public static string rolepermscopy_usage { get { - return ResourceManager.GetString("rolepermscopy_summary", resourceCulture); + return ResourceManager.GetString("rolepermscopy_usage", resourceCulture); } } /// - /// Looks up a localized string similar to rolepermscopy rpc. + /// Looks up a localized string similar to roles. /// - public static string rolepermscopy_text { + public static string roles_cmd { get { - return ResourceManager.GetString("rolepermscopy_text", resourceCulture); + return ResourceManager.GetString("roles_cmd", resourceCulture); } } @@ -5579,18 +5534,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.roles`. /// - public static string roles_summary { + public static string roles_usage { get { - return ResourceManager.GetString("roles_summary", resourceCulture); + return ResourceManager.GetString("roles_usage", resourceCulture); } } /// - /// Looks up a localized string similar to roles. + /// Looks up a localized string similar to roll. /// - public static string roles_text { + public static string roll_cmd { get { - return ResourceManager.GetString("roles_text", resourceCulture); + return ResourceManager.GetString("roll_cmd", resourceCulture); } } @@ -5606,18 +5561,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `$roll` or `$roll 7` or `$roll 3d5`. /// - public static string roll_summary { + public static string roll_usage { get { - return ResourceManager.GetString("roll_summary", resourceCulture); + return ResourceManager.GetString("roll_usage", resourceCulture); } } /// - /// Looks up a localized string similar to roll. + /// Looks up a localized string similar to rolluo. /// - public static string roll_text { + public static string rolluo_cmd { get { - return ResourceManager.GetString("roll_text", resourceCulture); + return ResourceManager.GetString("rolluo_cmd", resourceCulture); } } @@ -5633,23 +5588,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `$rolluo` or `$rolluo 7` or `$rolluo 3d5`. /// - public static string rolluo_summary { + public static string rolluo_usage { get { - return ResourceManager.GetString("rolluo_summary", resourceCulture); + return ResourceManager.GetString("rolluo_usage", resourceCulture); } } /// - /// Looks up a localized string similar to rolluo. + /// Looks up a localized string similar to rotateplaying ropl. /// - public static string rolluo_text { + public static string rotateplaying_cmd { get { - return ResourceManager.GetString("rolluo_text", resourceCulture); + return ResourceManager.GetString("rotateplaying_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Toggles rotation of playing status of the dynamic strings you specified earlier. **Bot Owner Only!**. + /// Looks up a localized string similar to Toggles rotation of playing status of the dynamic strings you specified earlier.. /// public static string rotateplaying_desc { get { @@ -5660,18 +5615,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.ropl`. /// - public static string rotateplaying_summary { + public static string rotateplaying_usage { get { - return ResourceManager.GetString("rotateplaying_summary", resourceCulture); + return ResourceManager.GetString("rotateplaying_usage", resourceCulture); } } /// - /// Looks up a localized string similar to rotateplaying ropl. + /// Looks up a localized string similar to rps. /// - public static string rotateplaying_text { + public static string rps_cmd { get { - return ResourceManager.GetString("rotateplaying_text", resourceCulture); + return ResourceManager.GetString("rps_cmd", resourceCulture); } } @@ -5687,18 +5642,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `>rps scissors`. /// - public static string rps_summary { + public static string rps_usage { get { - return ResourceManager.GetString("rps_summary", resourceCulture); + return ResourceManager.GetString("rps_usage", resourceCulture); } } /// - /// Looks up a localized string similar to rps. + /// Looks up a localized string similar to rsar. /// - public static string rps_text { + public static string rsar_cmd { get { - return ResourceManager.GetString("rps_text", resourceCulture); + return ResourceManager.GetString("rsar_cmd", resourceCulture); } } @@ -5714,18 +5669,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.rsar`. /// - public static string rsar_summary { + public static string rsar_usage { get { - return ResourceManager.GetString("rsar_summary", resourceCulture); + return ResourceManager.GetString("rsar_usage", resourceCulture); } } /// - /// Looks up a localized string similar to rsar. + /// Looks up a localized string similar to rule34. /// - public static string rsar_text { + public static string rule34_cmd { get { - return ResourceManager.GetString("rsar_text", resourceCulture); + return ResourceManager.GetString("rule34_cmd", resourceCulture); } } @@ -5741,18 +5696,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~rule34 yuri+kissing`. /// - public static string rule34_summary { + public static string rule34_usage { get { - return ResourceManager.GetString("rule34_summary", resourceCulture); + return ResourceManager.GetString("rule34_usage", resourceCulture); } } /// - /// Looks up a localized string similar to rule34. + /// Looks up a localized string similar to safebooru. /// - public static string rule34_text { + public static string safebooru_cmd { get { - return ResourceManager.GetString("rule34_text", resourceCulture); + return ResourceManager.GetString("safebooru_cmd", resourceCulture); } } @@ -5768,18 +5723,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~safebooru yuri+kissing`. /// - public static string safebooru_summary { + public static string safebooru_usage { get { - return ResourceManager.GetString("safebooru_summary", resourceCulture); + return ResourceManager.GetString("safebooru_usage", resourceCulture); } } /// - /// Looks up a localized string similar to safebooru. + /// Looks up a localized string similar to save. /// - public static string safebooru_text { + public static string save_cmd { get { - return ResourceManager.GetString("safebooru_text", resourceCulture); + return ResourceManager.GetString("save_cmd", resourceCulture); } } @@ -5795,23 +5750,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!save classical1`. /// - public static string save_summary { + public static string save_usage { get { - return ResourceManager.GetString("save_summary", resourceCulture); + return ResourceManager.GetString("save_usage", resourceCulture); } } /// - /// Looks up a localized string similar to save. + /// Looks up a localized string similar to savechat. /// - public static string save_text { + public static string savechat_cmd { get { - return ResourceManager.GetString("save_text", resourceCulture); + return ResourceManager.GetString("savechat_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Saves a number of messages to a text file and sends it to you. **Bot Owner Only**. + /// Looks up a localized string similar to Saves a number of messages to a text file and sends it to you.. /// public static string savechat_desc { get { @@ -5822,23 +5777,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.savechat 150`. /// - public static string savechat_summary { + public static string savechat_usage { get { - return ResourceManager.GetString("savechat_summary", resourceCulture); + return ResourceManager.GetString("savechat_usage", resourceCulture); } } /// - /// Looks up a localized string similar to savechat. + /// Looks up a localized string similar to scsc. /// - public static string savechat_text { + public static string scsc_cmd { get { - return ResourceManager.GetString("savechat_text", resourceCulture); + return ResourceManager.GetString("scsc_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance. **Bot Owner Only.**. + /// Looks up a localized string similar to Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance.. /// public static string scsc_desc { get { @@ -5849,23 +5804,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.scsc`. /// - public static string scsc_summary { + public static string scsc_usage { get { - return ResourceManager.GetString("scsc_summary", resourceCulture); + return ResourceManager.GetString("scsc_usage", resourceCulture); } } /// - /// Looks up a localized string similar to scsc. + /// Looks up a localized string similar to send. /// - public static string scsc_text { + public static string send_cmd { get { - return ResourceManager.GetString("scsc_text", resourceCulture); + return ResourceManager.GetString("send_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Send a message to someone on a different server through the bot. **Bot Owner Only!**. + /// Looks up a localized string similar to Send a message to someone on a different server through the bot. . /// public static string send_desc { get { @@ -5876,23 +5831,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.send sid. /// - public static string send_summary { + public static string send_usage { get { - return ResourceManager.GetString("send_summary", resourceCulture); + return ResourceManager.GetString("send_usage", resourceCulture); } } /// - /// Looks up a localized string similar to send. + /// Looks up a localized string similar to sbl. /// - public static string send_text { + public static string serverblacklist_cmd { get { - return ResourceManager.GetString("send_text", resourceCulture); + return ResourceManager.GetString("serverblacklist_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Blacklists a server by a name or id (#general for example). **BOT OWNER ONLY**. + /// Looks up a localized string similar to Either [add]s or [rem]oves a server specified by a Name or ID from a blacklist.. /// public static string serverblacklist_desc { get { @@ -5901,20 +5856,20 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `;sbl [servername/serverid]`. + /// Looks up a localized string similar to `;sbl add 12312321312` or `;sbl rem SomeTrashServer`. /// - public static string serverblacklist_summary { + public static string serverblacklist_usage { get { - return ResourceManager.GetString("serverblacklist_summary", resourceCulture); + return ResourceManager.GetString("serverblacklist_usage", resourceCulture); } } /// - /// Looks up a localized string similar to sbl. + /// Looks up a localized string similar to serverid sid. /// - public static string serverblacklist_text { + public static string serverid_cmd { get { - return ResourceManager.GetString("serverblacklist_text", resourceCulture); + return ResourceManager.GetString("serverid_cmd", resourceCulture); } } @@ -5930,18 +5885,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.sid`. /// - public static string serverid_summary { + public static string serverid_usage { get { - return ResourceManager.GetString("serverid_summary", resourceCulture); + return ResourceManager.GetString("serverid_usage", resourceCulture); } } /// - /// Looks up a localized string similar to serverid sid. + /// Looks up a localized string similar to serverinfo sinfo. /// - public static string serverid_text { + public static string serverinfo_cmd { get { - return ResourceManager.GetString("serverid_text", resourceCulture); + return ResourceManager.GetString("serverinfo_cmd", resourceCulture); } } @@ -5957,23 +5912,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.sinfo Some Server`. /// - public static string serverinfo_summary { + public static string serverinfo_usage { get { - return ResourceManager.GetString("serverinfo_summary", resourceCulture); + return ResourceManager.GetString("serverinfo_usage", resourceCulture); } } /// - /// Looks up a localized string similar to serverinfo sinfo. + /// Looks up a localized string similar to setchanlname schn. /// - public static string serverinfo_text { + public static string setchanlname_cmd { get { - return ResourceManager.GetString("serverinfo_text", resourceCulture); + return ResourceManager.GetString("setchanlname_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Changed the name of the current channel. **Needs Manage Channel Permissions.**. + /// Looks up a localized string similar to Changed the name of the current channel. . /// public static string setchanlname_desc { get { @@ -5984,23 +5939,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.schn NewName`. /// - public static string setchanlname_summary { + public static string setchanlname_usage { get { - return ResourceManager.GetString("setchanlname_summary", resourceCulture); + return ResourceManager.GetString("setchanlname_usage", resourceCulture); } } /// - /// Looks up a localized string similar to setchanlname schn. + /// Looks up a localized string similar to setgame. /// - public static string setchanlname_text { + public static string setgame_cmd { get { - return ResourceManager.GetString("setchanlname_text", resourceCulture); + return ResourceManager.GetString("setgame_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Sets the bots game. **Bot Owner Only!**. + /// Looks up a localized string similar to Sets the bots game. . /// public static string setgame_desc { get { @@ -6011,18 +5966,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.setgame Playing with kwoth`. /// - public static string setgame_summary { + public static string setgame_usage { get { - return ResourceManager.GetString("setgame_summary", resourceCulture); + return ResourceManager.GetString("setgame_usage", resourceCulture); } } /// - /// Looks up a localized string similar to setgame. + /// Looks up a localized string similar to setmaxqueue smq. /// - public static string setgame_text { + public static string setmaxqueue_cmd { get { - return ResourceManager.GetString("setgame_text", resourceCulture); + return ResourceManager.GetString("setmaxqueue_cmd", resourceCulture); } } @@ -6038,23 +5993,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!smq 50` or `!!smq`. /// - public static string setmaxqueue_summary { + public static string setmaxqueue_usage { get { - return ResourceManager.GetString("setmaxqueue_summary", resourceCulture); + return ResourceManager.GetString("setmaxqueue_usage", resourceCulture); } } /// - /// Looks up a localized string similar to setmaxqueue smq. + /// Looks up a localized string similar to setname newnm. /// - public static string setmaxqueue_text { + public static string setname_cmd { get { - return ResourceManager.GetString("setmaxqueue_text", resourceCulture); + return ResourceManager.GetString("setname_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Give the bot a new name. **Bot Owner Only!**. + /// Looks up a localized string similar to Give the bot a new name. . /// public static string setname_desc { get { @@ -6065,23 +6020,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.newnm BotName`. /// - public static string setname_summary { + public static string setname_usage { get { - return ResourceManager.GetString("setname_summary", resourceCulture); + return ResourceManager.GetString("setname_usage", resourceCulture); } } /// - /// Looks up a localized string similar to setname newnm. + /// Looks up a localized string similar to setrole sr. /// - public static string setname_text { + public static string setrole_cmd { get { - return ResourceManager.GetString("setname_text", resourceCulture); + return ResourceManager.GetString("setrole_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Sets a role for a given user. **Needs Manage Roles Permissions.**. + /// Looks up a localized string similar to Sets a role for a given user. . /// public static string setrole_desc { get { @@ -6092,23 +6047,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.sr @User Guest`. /// - public static string setrole_summary { + public static string setrole_usage { get { - return ResourceManager.GetString("setrole_summary", resourceCulture); + return ResourceManager.GetString("setrole_usage", resourceCulture); } } /// - /// Looks up a localized string similar to setrole sr. + /// Looks up a localized string similar to settopic st. /// - public static string setrole_text { + public static string settopic_cmd { get { - return ResourceManager.GetString("setrole_text", resourceCulture); + return ResourceManager.GetString("settopic_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Sets a topic on the current channel. **Needs Manage Channel Permissions.**. + /// Looks up a localized string similar to Sets a topic on the current channel. . /// public static string settopic_desc { get { @@ -6119,18 +6074,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.st My new topic`. /// - public static string settopic_summary { + public static string settopic_usage { get { - return ResourceManager.GetString("settopic_summary", resourceCulture); + return ResourceManager.GetString("settopic_usage", resourceCulture); } } /// - /// Looks up a localized string similar to settopic st. + /// Looks up a localized string similar to settype. /// - public static string settopic_text { + public static string settype_cmd { get { - return ResourceManager.GetString("settopic_text", resourceCulture); + return ResourceManager.GetString("settype_cmd", resourceCulture); } } @@ -6146,18 +6101,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `>settype fire`. /// - public static string settype_summary { + public static string settype_usage { get { - return ResourceManager.GetString("settype_summary", resourceCulture); + return ResourceManager.GetString("settype_usage", resourceCulture); } } /// - /// Looks up a localized string similar to settype. + /// Looks up a localized string similar to showcustreact scr. /// - public static string settype_text { + public static string showcustreact_cmd { get { - return ResourceManager.GetString("settype_text", resourceCulture); + return ResourceManager.GetString("showcustreact_cmd", resourceCulture); } } @@ -6173,18 +6128,45 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.scr %mention% bb`. /// - public static string showcustreact_summary { + public static string showcustreact_usage { get { - return ResourceManager.GetString("showcustreact_summary", resourceCulture); + return ResourceManager.GetString("showcustreact_usage", resourceCulture); } } /// - /// Looks up a localized string similar to showcustreact scr. + /// Looks up a localized string similar to showemojis se. /// - public static string showcustreact_text { + public static string showemojis_cmd { get { - return ResourceManager.GetString("showcustreact_text", resourceCulture); + return ResourceManager.GetString("showemojis_cmd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Shows a name and a link to every special emoji in the message.. + /// + public static string showemojis_desc { + get { + return ResourceManager.GetString("showemojis_desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to `.se A message full of emojis`. + /// + public static string showemojis_usage { + get { + return ResourceManager.GetString("showemojis_usage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to ... + /// + public static string showquote_cmd { + get { + return ResourceManager.GetString("showquote_cmd", resourceCulture); } } @@ -6200,18 +6182,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `... abc`. /// - public static string showquote_summary { + public static string showquote_usage { get { - return ResourceManager.GetString("showquote_summary", resourceCulture); + return ResourceManager.GetString("showquote_usage", resourceCulture); } } /// - /// Looks up a localized string similar to ... + /// Looks up a localized string similar to shuffle sh. /// - public static string showquote_text { + public static string shuffle_cmd { get { - return ResourceManager.GetString("showquote_text", resourceCulture); + return ResourceManager.GetString("shuffle_cmd", resourceCulture); } } @@ -6227,23 +6209,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!sh`. /// - public static string shuffle_summary { + public static string shuffle_usage { get { - return ResourceManager.GetString("shuffle_summary", resourceCulture); + return ResourceManager.GetString("shuffle_usage", resourceCulture); } } /// - /// Looks up a localized string similar to shuffle sh. + /// Looks up a localized string similar to slowmode. /// - public static string shuffle_text { + public static string slowmode_cmd { get { - return ResourceManager.GetString("shuffle_text", resourceCulture); + return ResourceManager.GetString("slowmode_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Toggles slow mode. When ON, users will be able to send only 1 message every 5 seconds. **Needs Manage Messages Permissions.**. + /// Looks up a localized string similar to Toggles slow mode. When ON, users will be able to send only 1 message every 5 seconds. . /// public static string slowmode_desc { get { @@ -6254,23 +6236,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.slowmode`. /// - public static string slowmode_summary { + public static string slowmode_usage { get { - return ResourceManager.GetString("slowmode_summary", resourceCulture); + return ResourceManager.GetString("slowmode_usage", resourceCulture); } } /// - /// Looks up a localized string similar to slowmode. + /// Looks up a localized string similar to softban sb. /// - public static string slowmode_text { + public static string softban_cmd { get { - return ResourceManager.GetString("slowmode_text", resourceCulture); + return ResourceManager.GetString("softban_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Bans and then unbans a user by id or name with an optional message. **Needs Ban Permissions.**. + /// Looks up a localized string similar to Bans and then unbans a user by id or name with an optional message. . /// public static string softban_desc { get { @@ -6281,18 +6263,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.sb "@some Guy" Your behaviour is toxic.`. /// - public static string softban_summary { + public static string softban_usage { get { - return ResourceManager.GetString("softban_summary", resourceCulture); + return ResourceManager.GetString("softban_usage", resourceCulture); } } /// - /// Looks up a localized string similar to softban sb. + /// Looks up a localized string similar to soundcloudpl scpl. /// - public static string softban_text { + public static string soundcloudpl_cmd { get { - return ResourceManager.GetString("softban_text", resourceCulture); + return ResourceManager.GetString("soundcloudpl_cmd", resourceCulture); } } @@ -6308,18 +6290,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!scpl soundcloudseturl`. /// - public static string soundcloudpl_summary { + public static string soundcloudpl_usage { get { - return ResourceManager.GetString("soundcloudpl_summary", resourceCulture); + return ResourceManager.GetString("soundcloudpl_usage", resourceCulture); } } /// - /// Looks up a localized string similar to soundcloudpl scpl. + /// Looks up a localized string similar to soundcloudqueue sq. /// - public static string soundcloudpl_text { + public static string soundcloudqueue_cmd { get { - return ResourceManager.GetString("soundcloudpl_text", resourceCulture); + return ResourceManager.GetString("soundcloudqueue_cmd", resourceCulture); } } @@ -6335,23 +6317,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!sq Dream Of Venice`. /// - public static string soundcloudqueue_summary { + public static string soundcloudqueue_usage { get { - return ResourceManager.GetString("soundcloudqueue_summary", resourceCulture); + return ResourceManager.GetString("soundcloudqueue_usage", resourceCulture); } } /// - /// Looks up a localized string similar to soundcloudqueue sq. + /// Looks up a localized string similar to spmom. /// - public static string soundcloudqueue_text { + public static string spmom_cmd { get { - return ResourceManager.GetString("soundcloudqueue_text", resourceCulture); + return ResourceManager.GetString("spmom_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Toggles whether mentions of other offline users on your server will send a pm to them. **Needs Manage Server Permissions.**. + /// Looks up a localized string similar to Toggles whether mentions of other offline users on your server will send a pm to them. . /// public static string spmom_desc { get { @@ -6362,18 +6344,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.spmom`. /// - public static string spmom_summary { + public static string spmom_usage { get { - return ResourceManager.GetString("spmom_summary", resourceCulture); + return ResourceManager.GetString("spmom_usage", resourceCulture); } } /// - /// Looks up a localized string similar to spmom. + /// Looks up a localized string similar to srvrcmd sc. /// - public static string spmom_text { + public static string srvrcmd_cmd { get { - return ResourceManager.GetString("spmom_text", resourceCulture); + return ResourceManager.GetString("srvrcmd_cmd", resourceCulture); } } @@ -6389,18 +6371,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;sc "command name" disable`. /// - public static string srvrcmd_summary { + public static string srvrcmd_usage { get { - return ResourceManager.GetString("srvrcmd_summary", resourceCulture); + return ResourceManager.GetString("srvrcmd_usage", resourceCulture); } } /// - /// Looks up a localized string similar to srvrcmd sc. + /// Looks up a localized string similar to srvrfilterinv sfi. /// - public static string srvrcmd_text { + public static string srvrfilterinv_cmd { get { - return ResourceManager.GetString("srvrcmd_text", resourceCulture); + return ResourceManager.GetString("srvrfilterinv_cmd", resourceCulture); } } @@ -6416,18 +6398,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;sfi disable`. /// - public static string srvrfilterinv_summary { + public static string srvrfilterinv_usage { get { - return ResourceManager.GetString("srvrfilterinv_summary", resourceCulture); + return ResourceManager.GetString("srvrfilterinv_usage", resourceCulture); } } /// - /// Looks up a localized string similar to srvrfilterinv sfi. + /// Looks up a localized string similar to srvrfilterwords sfw. /// - public static string srvrfilterinv_text { + public static string srvrfilterwords_cmd { get { - return ResourceManager.GetString("srvrfilterinv_text", resourceCulture); + return ResourceManager.GetString("srvrfilterwords_cmd", resourceCulture); } } @@ -6443,18 +6425,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;sfw disable`. /// - public static string srvrfilterwords_summary { + public static string srvrfilterwords_usage { get { - return ResourceManager.GetString("srvrfilterwords_summary", resourceCulture); + return ResourceManager.GetString("srvrfilterwords_usage", resourceCulture); } } /// - /// Looks up a localized string similar to srvrfilterwords sfw. + /// Looks up a localized string similar to srvrmdl sm. /// - public static string srvrfilterwords_text { + public static string srvrmdl_cmd { get { - return ResourceManager.GetString("srvrfilterwords_text", resourceCulture); + return ResourceManager.GetString("srvrmdl_cmd", resourceCulture); } } @@ -6470,18 +6452,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;sm "module name" enable`. /// - public static string srvrmdl_summary { + public static string srvrmdl_usage { get { - return ResourceManager.GetString("srvrmdl_summary", resourceCulture); + return ResourceManager.GetString("srvrmdl_usage", resourceCulture); } } /// - /// Looks up a localized string similar to srvrmdl sm. + /// Looks up a localized string similar to srvrperms sp. /// - public static string srvrmdl_text { + public static string srvrperms_cmd { get { - return ResourceManager.GetString("srvrmdl_text", resourceCulture); + return ResourceManager.GetString("srvrperms_cmd", resourceCulture); } } @@ -6497,18 +6479,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;sp`. /// - public static string srvrperms_summary { + public static string srvrperms_usage { get { - return ResourceManager.GetString("srvrperms_summary", resourceCulture); + return ResourceManager.GetString("srvrperms_usage", resourceCulture); } } /// - /// Looks up a localized string similar to srvrperms sp. + /// Looks up a localized string similar to startwar sw. /// - public static string srvrperms_text { + public static string startwar_cmd { get { - return ResourceManager.GetString("srvrperms_text", resourceCulture); + return ResourceManager.GetString("startwar_cmd", resourceCulture); } } @@ -6524,18 +6506,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `,sw 15`. /// - public static string startwar_summary { + public static string startwar_usage { get { - return ResourceManager.GetString("startwar_summary", resourceCulture); + return ResourceManager.GetString("startwar_usage", resourceCulture); } } /// - /// Looks up a localized string similar to startwar sw. + /// Looks up a localized string similar to stats. /// - public static string startwar_text { + public static string stats_cmd { get { - return ResourceManager.GetString("startwar_text", resourceCulture); + return ResourceManager.GetString("stats_cmd", resourceCulture); } } @@ -6551,18 +6533,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.stats`. /// - public static string stats_summary { + public static string stats_usage { get { - return ResourceManager.GetString("stats_summary", resourceCulture); + return ResourceManager.GetString("stats_usage", resourceCulture); } } /// - /// Looks up a localized string similar to stats. + /// Looks up a localized string similar to stop s. /// - public static string stats_text { + public static string stop_cmd { get { - return ResourceManager.GetString("stats_text", resourceCulture); + return ResourceManager.GetString("stop_cmd", resourceCulture); } } @@ -6578,23 +6560,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!s`. /// - public static string stop_summary { + public static string stop_usage { get { - return ResourceManager.GetString("stop_summary", resourceCulture); + return ResourceManager.GetString("stop_usage", resourceCulture); } } /// - /// Looks up a localized string similar to stop s. + /// Looks up a localized string similar to take. /// - public static string stop_text { + public static string take_cmd { get { - return ResourceManager.GetString("stop_text", resourceCulture); + return ResourceManager.GetString("take_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Takes a certain amount of flowers from someone. **Bot Owner Only!**. + /// Looks up a localized string similar to Takes a certain amount of flowers from someone. . /// public static string take_desc { get { @@ -6605,18 +6587,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `$take 1 "@someguy"`. /// - public static string take_summary { + public static string take_usage { get { - return ResourceManager.GetString("take_summary", resourceCulture); + return ResourceManager.GetString("take_usage", resourceCulture); } } /// - /// Looks up a localized string similar to take. + /// Looks up a localized string similar to togglexclsar tesar. /// - public static string take_text { + public static string tesar_cmd { get { - return ResourceManager.GetString("take_text", resourceCulture); + return ResourceManager.GetString("tesar_cmd", resourceCulture); } } @@ -6632,18 +6614,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.tesar`. /// - public static string tesar_summary { + public static string tesar_usage { get { - return ResourceManager.GetString("tesar_summary", resourceCulture); + return ResourceManager.GetString("tesar_usage", resourceCulture); } } /// - /// Looks up a localized string similar to togglexclsar tesar. + /// Looks up a localized string similar to tl. /// - public static string tesar_text { + public static string tl_cmd { get { - return ResourceManager.GetString("tesar_text", resourceCulture); + return ResourceManager.GetString("tl_cmd", resourceCulture); } } @@ -6659,18 +6641,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `>tl`. /// - public static string tl_summary { + public static string tl_usage { get { - return ResourceManager.GetString("tl_summary", resourceCulture); + return ResourceManager.GetString("tl_usage", resourceCulture); } } /// - /// Looks up a localized string similar to tl. + /// Looks up a localized string similar to tq. /// - public static string tl_text { + public static string tq_cmd { get { - return ResourceManager.GetString("tl_text", resourceCulture); + return ResourceManager.GetString("tq_cmd", resourceCulture); } } @@ -6686,18 +6668,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `>tq`. /// - public static string tq_summary { + public static string tq_usage { get { - return ResourceManager.GetString("tq_summary", resourceCulture); + return ResourceManager.GetString("tq_usage", resourceCulture); } } /// - /// Looks up a localized string similar to tq. + /// Looks up a localized string similar to translangs. /// - public static string tq_text { + public static string translangs_cmd { get { - return ResourceManager.GetString("tq_text", resourceCulture); + return ResourceManager.GetString("translangs_cmd", resourceCulture); } } @@ -6713,18 +6695,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~translangs` or `~translangs language`. /// - public static string translangs_summary { + public static string translangs_usage { get { - return ResourceManager.GetString("translangs_summary", resourceCulture); + return ResourceManager.GetString("translangs_usage", resourceCulture); } } /// - /// Looks up a localized string similar to translangs. + /// Looks up a localized string similar to translate trans. /// - public static string translangs_text { + public static string translate_cmd { get { - return ResourceManager.GetString("translangs_text", resourceCulture); + return ResourceManager.GetString("translate_cmd", resourceCulture); } } @@ -6740,18 +6722,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~trans en>fr Hello`. /// - public static string translate_summary { + public static string translate_usage { get { - return ResourceManager.GetString("translate_summary", resourceCulture); + return ResourceManager.GetString("translate_usage", resourceCulture); } } /// - /// Looks up a localized string similar to translate trans. + /// Looks up a localized string similar to trivia t. /// - public static string translate_text { + public static string trivia_cmd { get { - return ResourceManager.GetString("translate_text", resourceCulture); + return ResourceManager.GetString("trivia_cmd", resourceCulture); } } @@ -6767,18 +6749,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `>t nohint` or `>t 5 nohint`. /// - public static string trivia_summary { + public static string trivia_usage { get { - return ResourceManager.GetString("trivia_summary", resourceCulture); + return ResourceManager.GetString("trivia_usage", resourceCulture); } } /// - /// Looks up a localized string similar to trivia t. + /// Looks up a localized string similar to twitch tw. /// - public static string trivia_text { + public static string twitch_cmd { get { - return ResourceManager.GetString("trivia_text", resourceCulture); + return ResourceManager.GetString("twitch_cmd", resourceCulture); } } @@ -6794,18 +6776,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~twitch SomeStreamer`. /// - public static string twitch_summary { + public static string twitch_usage { get { - return ResourceManager.GetString("twitch_summary", resourceCulture); + return ResourceManager.GetString("twitch_usage", resourceCulture); } } /// - /// Looks up a localized string similar to twitch tw. + /// Looks up a localized string similar to type. /// - public static string twitch_text { + public static string type_cmd { get { - return ResourceManager.GetString("twitch_text", resourceCulture); + return ResourceManager.GetString("type_cmd", resourceCulture); } } @@ -6821,23 +6803,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `>type @someone`. /// - public static string type_summary { + public static string type_usage { get { - return ResourceManager.GetString("type_summary", resourceCulture); + return ResourceManager.GetString("type_usage", resourceCulture); } } /// - /// Looks up a localized string similar to type. + /// Looks up a localized string similar to typeadd. /// - public static string type_text { + public static string typeadd_cmd { get { - return ResourceManager.GetString("type_text", resourceCulture); + return ResourceManager.GetString("typeadd_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Adds a new article to the typing contest. Owner only.. + /// Looks up a localized string similar to Adds a new article to the typing contest.. /// public static string typeadd_desc { get { @@ -6848,18 +6830,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `>typeadd wordswords`. /// - public static string typeadd_summary { + public static string typeadd_usage { get { - return ResourceManager.GetString("typeadd_summary", resourceCulture); + return ResourceManager.GetString("typeadd_usage", resourceCulture); } } /// - /// Looks up a localized string similar to typeadd. + /// Looks up a localized string similar to typestart. /// - public static string typeadd_text { + public static string typestart_cmd { get { - return ResourceManager.GetString("typeadd_text", resourceCulture); + return ResourceManager.GetString("typestart_cmd", resourceCulture); } } @@ -6875,18 +6857,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `>typestart`. /// - public static string typestart_summary { + public static string typestart_usage { get { - return ResourceManager.GetString("typestart_summary", resourceCulture); + return ResourceManager.GetString("typestart_usage", resourceCulture); } } /// - /// Looks up a localized string similar to typestart. + /// Looks up a localized string similar to typestop. /// - public static string typestart_text { + public static string typestop_cmd { get { - return ResourceManager.GetString("typestart_text", resourceCulture); + return ResourceManager.GetString("typestop_cmd", resourceCulture); } } @@ -6902,23 +6884,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `>typestop`. /// - public static string typestop_summary { + public static string typestop_usage { get { - return ResourceManager.GetString("typestop_summary", resourceCulture); + return ResourceManager.GetString("typestop_usage", resourceCulture); } } /// - /// Looks up a localized string similar to typestop. + /// Looks up a localized string similar to unbind. /// - public static string typestop_text { + public static string unbind_cmd { get { - return ResourceManager.GetString("typestop_text", resourceCulture); + return ResourceManager.GetString("unbind_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Unbinds a bot from the channel and board. **Bot Owner Only!**. + /// Looks up a localized string similar to Unbinds a bot from the channel and board.. /// public static string unbind_desc { get { @@ -6929,18 +6911,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `trello unbind`. /// - public static string unbind_summary { + public static string unbind_usage { get { - return ResourceManager.GetString("unbind_summary", resourceCulture); + return ResourceManager.GetString("unbind_usage", resourceCulture); } } /// - /// Looks up a localized string similar to unbind. + /// Looks up a localized string similar to unclaim ucall uc. /// - public static string unbind_text { + public static string unclaim_cmd { get { - return ResourceManager.GetString("unbind_text", resourceCulture); + return ResourceManager.GetString("unclaim_cmd", resourceCulture); } } @@ -6956,23 +6938,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `,uc [war_number] [optional_other_name]`. /// - public static string unclaim_summary { + public static string unclaim_usage { get { - return ResourceManager.GetString("unclaim_summary", resourceCulture); + return ResourceManager.GetString("unclaim_usage", resourceCulture); } } /// - /// Looks up a localized string similar to unclaim ucall uc. + /// Looks up a localized string similar to undeafen undef. /// - public static string unclaim_text { + public static string undeafen_cmd { get { - return ResourceManager.GetString("unclaim_text", resourceCulture); + return ResourceManager.GetString("undeafen_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Undeafens mentioned user or users. **Needs Deafen Permissions.**. + /// Looks up a localized string similar to Undeafens mentioned user or users. . /// public static string undeafen_desc { get { @@ -6983,23 +6965,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.undef "@Someguy"` or `.undef "@Someguy" "@Someguy"`. /// - public static string undeafen_summary { + public static string undeafen_usage { get { - return ResourceManager.GetString("undeafen_summary", resourceCulture); + return ResourceManager.GetString("undeafen_usage", resourceCulture); } } /// - /// Looks up a localized string similar to undeafen undef. + /// Looks up a localized string similar to unmute. /// - public static string undeafen_text { + public static string unmute_cmd { get { - return ResourceManager.GetString("undeafen_text", resourceCulture); + return ResourceManager.GetString("unmute_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Unmutes mentioned user or users. **Needs Mute Permissions.**. + /// Looks up a localized string similar to Unmutes mentioned user or users. . /// public static string unmute_desc { get { @@ -7010,23 +6992,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.unmute "@Someguy"` or `.unmute "@Someguy" "@Someguy"`. /// - public static string unmute_summary { + public static string unmute_usage { get { - return ResourceManager.GetString("unmute_summary", resourceCulture); + return ResourceManager.GetString("unmute_usage", resourceCulture); } } /// - /// Looks up a localized string similar to unmute. + /// Looks up a localized string similar to unstuck. /// - public static string unmute_text { + public static string unstuck_cmd { get { - return ResourceManager.GetString("unmute_text", resourceCulture); + return ResourceManager.GetString("unstuck_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Clears the message queue. **Bot Owner Only!**. + /// Looks up a localized string similar to Clears the message queue. . /// public static string unstuck_desc { get { @@ -7037,18 +7019,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.unstuck`. /// - public static string unstuck_summary { + public static string unstuck_usage { get { - return ResourceManager.GetString("unstuck_summary", resourceCulture); + return ResourceManager.GetString("unstuck_usage", resourceCulture); } } /// - /// Looks up a localized string similar to unstuck. + /// Looks up a localized string similar to urbandict ud. /// - public static string unstuck_text { + public static string urbandict_cmd { get { - return ResourceManager.GetString("unstuck_text", resourceCulture); + return ResourceManager.GetString("urbandict_cmd", resourceCulture); } } @@ -7064,23 +7046,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~ud Pineapple`. /// - public static string urbandict_summary { + public static string urbandict_usage { get { - return ResourceManager.GetString("urbandict_summary", resourceCulture); + return ResourceManager.GetString("urbandict_usage", resourceCulture); } } /// - /// Looks up a localized string similar to urbandict ud. + /// Looks up a localized string similar to ubl. /// - public static string urbandict_text { + public static string userblacklist_cmd { get { - return ResourceManager.GetString("urbandict_text", resourceCulture); + return ResourceManager.GetString("userblacklist_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Blacklists a mentioned user. **Bot Owner Only!**. + /// Looks up a localized string similar to Either [add]s or [rem]oves a user specified by a mention or ID from a blacklist.. /// public static string userblacklist_desc { get { @@ -7089,20 +7071,20 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `;ubl [user_mention]`. + /// Looks up a localized string similar to `;ubl add @SomeUser` or `;ubl rem 12312312313`. /// - public static string userblacklist_summary { + public static string userblacklist_usage { get { - return ResourceManager.GetString("userblacklist_summary", resourceCulture); + return ResourceManager.GetString("userblacklist_usage", resourceCulture); } } /// - /// Looks up a localized string similar to ubl. + /// Looks up a localized string similar to userid uid. /// - public static string userblacklist_text { + public static string userid_cmd { get { - return ResourceManager.GetString("userblacklist_text", resourceCulture); + return ResourceManager.GetString("userid_cmd", resourceCulture); } } @@ -7118,18 +7100,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.uid` or `.uid "@SomeGuy"`. /// - public static string userid_summary { + public static string userid_usage { get { - return ResourceManager.GetString("userid_summary", resourceCulture); + return ResourceManager.GetString("userid_usage", resourceCulture); } } /// - /// Looks up a localized string similar to userid uid. + /// Looks up a localized string similar to userinfo uinfo. /// - public static string userid_text { + public static string userinfo_cmd { get { - return ResourceManager.GetString("userid_text", resourceCulture); + return ResourceManager.GetString("userinfo_cmd", resourceCulture); } } @@ -7145,18 +7127,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.uinfo @SomeUser`. /// - public static string userinfo_summary { + public static string userinfo_usage { get { - return ResourceManager.GetString("userinfo_summary", resourceCulture); + return ResourceManager.GetString("userinfo_usage", resourceCulture); } } /// - /// Looks up a localized string similar to userinfo uinfo. + /// Looks up a localized string similar to userperms up. /// - public static string userinfo_text { + public static string userperms_cmd { get { - return ResourceManager.GetString("userinfo_text", resourceCulture); + return ResourceManager.GetString("userperms_cmd", resourceCulture); } } @@ -7172,23 +7154,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;up Kwoth`. /// - public static string userperms_summary { + public static string userperms_usage { get { - return ResourceManager.GetString("userperms_summary", resourceCulture); + return ResourceManager.GetString("userperms_usage", resourceCulture); } } /// - /// Looks up a localized string similar to userperms up. + /// Looks up a localized string similar to userpresence. /// - public static string userperms_text { + public static string userpresence_cmd { get { - return ResourceManager.GetString("userperms_text", resourceCulture); + return ResourceManager.GetString("userpresence_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Starts logging to this channel when someone from the server goes online/offline/idle. **Needs Manage Server Permissions.**. + /// Looks up a localized string similar to Starts logging to this channel when someone from the server goes online/offline/idle. . /// public static string userpresence_desc { get { @@ -7199,18 +7181,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.userpresence`. /// - public static string userpresence_summary { + public static string userpresence_usage { get { - return ResourceManager.GetString("userpresence_summary", resourceCulture); + return ResourceManager.GetString("userpresence_usage", resourceCulture); } } /// - /// Looks up a localized string similar to userpresence. + /// Looks up a localized string similar to usrcmd uc. /// - public static string userpresence_text { + public static string usrcmd_cmd { get { - return ResourceManager.GetString("userpresence_text", resourceCulture); + return ResourceManager.GetString("usrcmd_cmd", resourceCulture); } } @@ -7226,18 +7208,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;uc "command name" enable SomeUsername`. /// - public static string usrcmd_summary { + public static string usrcmd_usage { get { - return ResourceManager.GetString("usrcmd_summary", resourceCulture); + return ResourceManager.GetString("usrcmd_usage", resourceCulture); } } /// - /// Looks up a localized string similar to usrcmd uc. + /// Looks up a localized string similar to usrmdl um. /// - public static string usrcmd_text { + public static string usrmdl_cmd { get { - return ResourceManager.GetString("usrcmd_text", resourceCulture); + return ResourceManager.GetString("usrmdl_cmd", resourceCulture); } } @@ -7253,18 +7235,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;um "module name" enable SomeUsername`. /// - public static string usrmdl_summary { + public static string usrmdl_usage { get { - return ResourceManager.GetString("usrmdl_summary", resourceCulture); + return ResourceManager.GetString("usrmdl_usage", resourceCulture); } } /// - /// Looks up a localized string similar to usrmdl um. + /// Looks up a localized string similar to usrpermscopy upc. /// - public static string usrmdl_text { + public static string usrpermscopy_cmd { get { - return ResourceManager.GetString("usrmdl_text", resourceCulture); + return ResourceManager.GetString("usrpermscopy_cmd", resourceCulture); } } @@ -7280,45 +7262,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;upc @SomeUser ~ @SomeOtherUser`. /// - public static string usrpermscopy_summary { + public static string usrpermscopy_usage { get { - return ResourceManager.GetString("usrpermscopy_summary", resourceCulture); + return ResourceManager.GetString("usrpermscopy_usage", resourceCulture); } } /// - /// Looks up a localized string similar to usrpermscopy upc. + /// Looks up a localized string similar to verbose v. /// - public static string usrpermscopy_text { + public static string verbose_cmd { get { - return ResourceManager.GetString("usrpermscopy_text", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Unblacklists a mentioned user. **Bot Owner Only!**. - /// - public static string uubl_desc { - get { - return ResourceManager.GetString("uubl_desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to `;uubl [user_mention]`. - /// - public static string uubl_summary { - get { - return ResourceManager.GetString("uubl_summary", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to uubl. - /// - public static string uubl_text { - get { - return ResourceManager.GetString("uubl_text", resourceCulture); + return ResourceManager.GetString("verbose_cmd", resourceCulture); } } @@ -7334,18 +7289,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `;verbose true`. /// - public static string verbose_summary { + public static string verbose_usage { get { - return ResourceManager.GetString("verbose_summary", resourceCulture); + return ResourceManager.GetString("verbose_usage", resourceCulture); } } /// - /// Looks up a localized string similar to verbose v. + /// Looks up a localized string similar to videocall. /// - public static string verbose_text { + public static string videocall_cmd { get { - return ResourceManager.GetString("verbose_text", resourceCulture); + return ResourceManager.GetString("videocall_cmd", resourceCulture); } } @@ -7361,23 +7316,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~videocall "@SomeGuy"`. /// - public static string videocall_summary { + public static string videocall_usage { get { - return ResourceManager.GetString("videocall_summary", resourceCulture); + return ResourceManager.GetString("videocall_usage", resourceCulture); } } /// - /// Looks up a localized string similar to videocall. + /// Looks up a localized string similar to voice+text v+t. /// - public static string videocall_text { + public static string voiceplustext_cmd { get { - return ResourceManager.GetString("videocall_text", resourceCulture); + return ResourceManager.GetString("voiceplustext_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Creates a text channel for each voice channel only users in that voice channel can see.If you are server owner, keep in mind you will see them all the time regardless. **Needs Manage Roles and Manage Channels Permissions.**. + /// Looks up a localized string similar to Creates a text channel for each voice channel only users in that voice channel can see.If you are server owner, keep in mind you will see them all the time regardless. . /// public static string voiceplustext_desc { get { @@ -7388,23 +7343,23 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.voice+text`. /// - public static string voiceplustext_summary { + public static string voiceplustext_usage { get { - return ResourceManager.GetString("voiceplustext_summary", resourceCulture); + return ResourceManager.GetString("voiceplustext_usage", resourceCulture); } } /// - /// Looks up a localized string similar to voice+text v+t. + /// Looks up a localized string similar to voicepresence. /// - public static string voiceplustext_text { + public static string voicepresence_cmd { get { - return ResourceManager.GetString("voiceplustext_text", resourceCulture); + return ResourceManager.GetString("voicepresence_cmd", resourceCulture); } } /// - /// Looks up a localized string similar to Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. **Needs Manage Server Permissions.**. + /// Looks up a localized string similar to Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. . /// public static string voicepresence_desc { get { @@ -7415,18 +7370,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.voicerpresence`. /// - public static string voicepresence_summary { + public static string voicepresence_usage { get { - return ResourceManager.GetString("voicepresence_summary", resourceCulture); + return ResourceManager.GetString("voicepresence_usage", resourceCulture); } } /// - /// Looks up a localized string similar to voicepresence. + /// Looks up a localized string similar to volume vol. /// - public static string voicepresence_text { + public static string volume_cmd { get { - return ResourceManager.GetString("voicepresence_text", resourceCulture); + return ResourceManager.GetString("volume_cmd", resourceCulture); } } @@ -7442,18 +7397,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `!!vol 50`. /// - public static string volume_summary { + public static string volume_usage { get { - return ResourceManager.GetString("volume_summary", resourceCulture); + return ResourceManager.GetString("volume_usage", resourceCulture); } } /// - /// Looks up a localized string similar to volume vol. + /// Looks up a localized string similar to weather we. /// - public static string volume_text { + public static string weather_cmd { get { - return ResourceManager.GetString("volume_text", resourceCulture); + return ResourceManager.GetString("weather_cmd", resourceCulture); } } @@ -7469,18 +7424,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~we Moscow RF`. /// - public static string weather_summary { + public static string weather_usage { get { - return ResourceManager.GetString("weather_summary", resourceCulture); + return ResourceManager.GetString("weather_usage", resourceCulture); } } /// - /// Looks up a localized string similar to weather we. + /// Looks up a localized string similar to whosplaying. /// - public static string weather_text { + public static string whosplaying_cmd { get { - return ResourceManager.GetString("weather_text", resourceCulture); + return ResourceManager.GetString("whosplaying_cmd", resourceCulture); } } @@ -7496,18 +7451,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `.whoplays Overwatch`. /// - public static string whosplaying_summary { + public static string whosplaying_usage { get { - return ResourceManager.GetString("whosplaying_summary", resourceCulture); + return ResourceManager.GetString("whosplaying_usage", resourceCulture); } } /// - /// Looks up a localized string similar to whosplaying. + /// Looks up a localized string similar to wikipedia wiki. /// - public static string whosplaying_text { + public static string wiki_cmd { get { - return ResourceManager.GetString("whosplaying_text", resourceCulture); + return ResourceManager.GetString("wiki_cmd", resourceCulture); } } @@ -7523,18 +7478,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~wiki query`. /// - public static string wiki_summary { + public static string wiki_usage { get { - return ResourceManager.GetString("wiki_summary", resourceCulture); + return ResourceManager.GetString("wiki_usage", resourceCulture); } } /// - /// Looks up a localized string similar to wikipedia wiki. + /// Looks up a localized string similar to wowjoke. /// - public static string wiki_text { + public static string wowjoke_cmd { get { - return ResourceManager.GetString("wiki_text", resourceCulture); + return ResourceManager.GetString("wowjoke_cmd", resourceCulture); } } @@ -7550,18 +7505,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~wowjoke`. /// - public static string wowjoke_summary { + public static string wowjoke_usage { get { - return ResourceManager.GetString("wowjoke_summary", resourceCulture); + return ResourceManager.GetString("wowjoke_usage", resourceCulture); } } /// - /// Looks up a localized string similar to wowjoke. + /// Looks up a localized string similar to yomama ym. /// - public static string wowjoke_text { + public static string yomama_cmd { get { - return ResourceManager.GetString("wowjoke_text", resourceCulture); + return ResourceManager.GetString("yomama_cmd", resourceCulture); } } @@ -7577,18 +7532,18 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~ym`. /// - public static string yomama_summary { + public static string yomama_usage { get { - return ResourceManager.GetString("yomama_summary", resourceCulture); + return ResourceManager.GetString("yomama_usage", resourceCulture); } } /// - /// Looks up a localized string similar to yomama ym. + /// Looks up a localized string similar to youtube yt. /// - public static string yomama_text { + public static string youtube_cmd { get { - return ResourceManager.GetString("yomama_text", resourceCulture); + return ResourceManager.GetString("youtube_cmd", resourceCulture); } } @@ -7604,18 +7559,9 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to `~yt query`. /// - public static string youtube_summary { + public static string youtube_usage { get { - return ResourceManager.GetString("youtube_summary", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to youtube yt. - /// - public static string youtube_text { - get { - return ResourceManager.GetString("youtube_text", resourceCulture); + return ResourceManager.GetString("youtube_usage", resourceCulture); } } } diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index bb2e7c1d..5a923c34 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -2610,4 +2610,13 @@ checkstream cs + + showemojis se + + + Shows a name and a link to every special emoji in the message. + + + `.se A message full of emojis` + \ No newline at end of file diff --git a/src/NadekoBot/Services/Database/Models/BotConfig.cs b/src/NadekoBot/Services/Database/Models/BotConfig.cs index c66a98cb..2ff3ba52 100644 --- a/src/NadekoBot/Services/Database/Models/BotConfig.cs +++ b/src/NadekoBot/Services/Database/Models/BotConfig.cs @@ -34,8 +34,19 @@ namespace NadekoBot.Services.Database.Models public List EightBallResponses { get; set; } = new List(); public List RaceAnimals { get; set; } = new List(); - public string DMHelpString { get; set; } - public string HelpString { get; set; } + public string DMHelpString { get; set; } = "Type `-h` for help."; + public string HelpString { get; set; } = @"To add me to your server, use this link -> +You can use `{1}modules` command to see a list of all modules. +You can use `{1}commands ModuleName` +(for example `{1}commands Administration`) to see a list of all of the commands in that module. +For a specific command help, use `{1}h CommandName` (for example {1}h !!q) + + +**LIST OF COMMANDS CAN BE FOUND ON THIS LINK** + + + +Nadeko Support Server: https://discord.gg/0ehQwTK2RBjAxzEY"; public int MigrationVersion { get; set; } } diff --git a/src/NadekoBot/Services/Database/Repositories/IGuildConfigRepository.cs b/src/NadekoBot/Services/Database/Repositories/IGuildConfigRepository.cs index 7303eda2..e6797de1 100644 --- a/src/NadekoBot/Services/Database/Repositories/IGuildConfigRepository.cs +++ b/src/NadekoBot/Services/Database/Repositories/IGuildConfigRepository.cs @@ -12,6 +12,7 @@ namespace NadekoBot.Services.Database.Repositories { GuildConfig For(ulong guildId); GuildConfig PermissionsFor(ulong guildId); + void SetNewRootPermission(ulong guildId, Permission p); IEnumerable GetAllFollowedStreams(); } } diff --git a/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs b/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs index 9a82c191..fe336c0a 100644 --- a/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs +++ b/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs @@ -5,6 +5,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.EntityFrameworkCore; +using NadekoBot.Modules.Permissions; namespace NadekoBot.Services.Database.Repositories.Impl { @@ -88,5 +89,15 @@ namespace NadekoBot.Services.Database.Repositories.Impl _set.Include(gc => gc.FollowedStreams) .SelectMany(gc => gc.FollowedStreams) .ToList(); + + public void SetNewRootPermission(ulong guildId, Permission p) + { + var data = _set + .Include(gc => gc.RootPermission) + .FirstOrDefault(gc => gc.GuildId == guildId); + + data.RootPermission.Prepend(p); + data.RootPermission = p; + } } } From 8b6750c5ba098ed1e4b5e27467a875fee146d869 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Thu, 6 Oct 2016 20:47:13 +0200 Subject: [PATCH 045/135] Permission chain will no longer mention people --- src/NadekoBot/Modules/Permissions/PermissionExtensions.cs | 8 ++++++-- src/NadekoBot/Modules/Permissions/Permissions.cs | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs b/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs index 77f4201f..ad38511d 100644 --- a/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs +++ b/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs @@ -1,5 +1,6 @@ using Discord; using Discord.Commands; +using Discord.WebSocket; using NadekoBot.Services; using NadekoBot.Services.Database; using NadekoBot.Services.Database.Models; @@ -89,7 +90,7 @@ namespace NadekoBot.Modules.Permissions return null; } - public static string GetCommand(this Permission perm) + public static string GetCommand(this Permission perm, IGuild guild = null) { var com = ""; switch (perm.PrimaryTarget) @@ -125,7 +126,10 @@ namespace NadekoBot.Modules.Permissions switch (perm.PrimaryTarget) { case PrimaryPermissionType.User: - com += $"<@{perm.PrimaryTargetId}>"; + if (guild == null) + com += $"<@{perm.PrimaryTargetId}>"; + else + com += guild.GetUser(perm.PrimaryTargetId).ToString() ?? $"<@{perm.PrimaryTargetId}>"; break; case PrimaryPermissionType.Channel: com += $"<#{perm.PrimaryTargetId}>"; diff --git a/src/NadekoBot/Modules/Permissions/Permissions.cs b/src/NadekoBot/Modules/Permissions/Permissions.cs index 53dcc145..b19d8e41 100644 --- a/src/NadekoBot/Modules/Permissions/Permissions.cs +++ b/src/NadekoBot/Modules/Permissions/Permissions.cs @@ -71,7 +71,7 @@ namespace NadekoBot.Modules.Permissions var perms = uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission; var i = 1; - toSend = String.Join("\n", perms.AsEnumerable().Select(p => $"`{(i++)}.` {p.GetCommand()}")); + toSend = String.Join("\n", perms.AsEnumerable().Select(p => $"`{(i++)}.` {p.GetCommand(channel.Guild)}")); } if (string.IsNullOrWhiteSpace(toSend)) From 0eec287e7b2edd1338739d651f3f88e5220fda7d Mon Sep 17 00:00:00 2001 From: Kwoth Date: Fri, 7 Oct 2016 15:00:42 +0200 Subject: [PATCH 046/135] ;mp almost fixed. Might need a rework >.> --- ...er.cs => 20161007091612_first.Designer.cs} | 2 +- ...30440_first.cs => 20161007091612_first.cs} | 0 .../Permissions/PermissionExtensions.cs | 4 +-- .../Modules/Permissions/Permissions.cs | 29 ++++++++++++------- .../Services/Database/Models/Permission.cs | 11 +++++++ .../Services/Database/NadekoContext.cs | 4 +-- 6 files changed, 35 insertions(+), 15 deletions(-) rename src/NadekoBot/Migrations/{20161005030440_first.Designer.cs => 20161007091612_first.Designer.cs} (99%) rename src/NadekoBot/Migrations/{20161005030440_first.cs => 20161007091612_first.cs} (100%) diff --git a/src/NadekoBot/Migrations/20161005030440_first.Designer.cs b/src/NadekoBot/Migrations/20161007091612_first.Designer.cs similarity index 99% rename from src/NadekoBot/Migrations/20161005030440_first.Designer.cs rename to src/NadekoBot/Migrations/20161007091612_first.Designer.cs index 1f862568..8a0b6f16 100644 --- a/src/NadekoBot/Migrations/20161005030440_first.Designer.cs +++ b/src/NadekoBot/Migrations/20161007091612_first.Designer.cs @@ -8,7 +8,7 @@ using NadekoBot.Services.Database.Impl; namespace NadekoBot.Migrations { [DbContext(typeof(NadekoSqliteContext))] - [Migration("20161005030440_first")] + [Migration("20161007091612_first")] partial class first { protected override void BuildTargetModel(ModelBuilder modelBuilder) diff --git a/src/NadekoBot/Migrations/20161005030440_first.cs b/src/NadekoBot/Migrations/20161007091612_first.cs similarity index 100% rename from src/NadekoBot/Migrations/20161005030440_first.cs rename to src/NadekoBot/Migrations/20161007091612_first.cs diff --git a/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs b/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs index ad38511d..af8e53c1 100644 --- a/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs +++ b/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs @@ -6,6 +6,7 @@ using NadekoBot.Services.Database; using NadekoBot.Services.Database.Models; using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -159,8 +160,7 @@ namespace NadekoBot.Modules.Permissions if (index == 0) { - perm.Previous = toAdd; - toAdd.Next = perm; + perm.Prepend(toAdd); return; } diff --git a/src/NadekoBot/Modules/Permissions/Permissions.cs b/src/NadekoBot/Modules/Permissions/Permissions.cs index b19d8e41..b3a52765 100644 --- a/src/NadekoBot/Modules/Permissions/Permissions.cs +++ b/src/NadekoBot/Modules/Permissions/Permissions.cs @@ -91,7 +91,8 @@ namespace NadekoBot.Modules.Permissions Permission p; using (var uow = DbHandler.UnitOfWork()) { - var perms = uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission; + var config = uow.GuildConfigs.PermissionsFor(channel.Guild.Id); + var perms = config.RootPermission; if (index == perms.Count() - 1) { return; @@ -99,7 +100,7 @@ namespace NadekoBot.Modules.Permissions else if (index == 0) { p = perms; - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = perms.Next; + config.RootPermission = perms.Next; } else { @@ -114,7 +115,7 @@ namespace NadekoBot.Modules.Permissions uow2._context.SaveChanges(); } - await channel.SendMessageAsync($"{imsg.Author.Mention} removed permission **{p.GetCommand()}** from position #{index + 1}.").ConfigureAwait(false); + await channel.SendMessageAsync($"{imsg.Author.Mention} removed permission **{p.GetCommand(channel.Guild)}** from position #{index + 1}.").ConfigureAwait(false); } catch (ArgumentOutOfRangeException) { @@ -136,21 +137,29 @@ namespace NadekoBot.Modules.Permissions Permission toInsert; using (var uow = DbHandler.UnitOfWork()) { - var perms = uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission; + var config = uow.GuildConfigs.PermissionsFor(channel.Guild.Id); + var perms = config.RootPermission; if (from == 0) + { toInsert = perms; + perms = perms.Next; + toInsert.Previous = null; + toInsert.Next = null; + perms.Previous = null; + } else + { toInsert = perms.RemoveAt(from); - if (from < to) - to -= 1; - var last = perms.Count() - 1; - if (from == last || to == last) + toInsert.Previous = null; + } + var size = perms.Count(); + if (from == size || to == size) throw new IndexOutOfRangeException(); perms.Insert(to, toInsert); - uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission = perms.GetRoot(); + config.RootPermission = perms.GetRoot(); await uow.CompleteAsync().ConfigureAwait(false); } - await channel.SendMessageAsync($"`Moved permission:` \"{toInsert.GetCommand()}\" `from #{from} to #{to}.`").ConfigureAwait(false); + await channel.SendMessageAsync($"`Moved permission:` \"{toInsert.GetCommand(channel.Guild)}\" `from #{from} to #{to}.`").ConfigureAwait(false); return; } catch (Exception e) when (e is ArgumentOutOfRangeException || e is IndexOutOfRangeException) diff --git a/src/NadekoBot/Services/Database/Models/Permission.cs b/src/NadekoBot/Services/Database/Models/Permission.cs index aed70fa5..b88de0d3 100644 --- a/src/NadekoBot/Services/Database/Models/Permission.cs +++ b/src/NadekoBot/Services/Database/Models/Permission.cs @@ -1,12 +1,14 @@ using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; +using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; namespace NadekoBot.Services.Database.Models { + [DebuggerDisplay("{global::NadekoBot.Modules.Permissions.PermissionExtensions.GetCommand(this)}", Target = typeof(Permission))] public class Permission : DbEntity { public Permission Previous { get; set; } = null; @@ -49,6 +51,15 @@ namespace NadekoBot.Services.Database.Models return blockNsfw; } + + public Permission Clone() => new Permission() + { + PrimaryTarget = PrimaryTarget, + SecondaryTarget = SecondaryTarget, + PrimaryTargetId = PrimaryTargetId, + SecondaryTargetName = SecondaryTargetName, + State = State, + }; } public enum PrimaryPermissionType diff --git a/src/NadekoBot/Services/Database/NadekoContext.cs b/src/NadekoBot/Services/Database/NadekoContext.cs index 81940a91..2661bdf8 100644 --- a/src/NadekoBot/Services/Database/NadekoContext.cs +++ b/src/NadekoBot/Services/Database/NadekoContext.cs @@ -186,8 +186,8 @@ namespace NadekoBot.Services.Database var permissionEntity = modelBuilder.Entity(); permissionEntity .HasOne(p => p.Next) - .WithOne(p => p.Previous); - + .WithOne(p => p.Previous) + .IsRequired(false); #endregion #region LogSettings From f89937fd0a417a73b4e313cf12c67f7bbda2e028 Mon Sep 17 00:00:00 2001 From: Nitix Date: Fri, 7 Oct 2016 18:53:04 +0200 Subject: [PATCH 047/135] Fix ;mp command --- .../Permissions/PermissionExtensions.cs | 3 +- .../Modules/Permissions/Permissions.cs | 82 +++++++++++++++---- 2 files changed, 70 insertions(+), 15 deletions(-) diff --git a/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs b/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs index af8e53c1..783e2b90 100644 --- a/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs +++ b/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs @@ -153,6 +153,7 @@ namespace NadekoBot.Modules.Permissions toAdd.Next = perm; } + /* /this can't work if index < 0 and perm isn't roo public static void Insert(this Permission perm, int index, Permission toAdd) { if (index < 0) @@ -183,7 +184,7 @@ namespace NadekoBot.Modules.Permissions toAdd.Previous = previous; previous.Next = toAdd; } - + */ public static Permission RemoveAt(this Permission perm, int index) { if (index <= 0) //can't really remove at 0, that means deleting the element right now. Just use perm.Next if its 0 diff --git a/src/NadekoBot/Modules/Permissions/Permissions.cs b/src/NadekoBot/Modules/Permissions/Permissions.cs index b3a52765..ee4d84ea 100644 --- a/src/NadekoBot/Modules/Permissions/Permissions.cs +++ b/src/NadekoBot/Modules/Permissions/Permissions.cs @@ -134,32 +134,86 @@ namespace NadekoBot.Modules.Permissions { try { - Permission toInsert; + Permission fromPerm = null; + Permission toPerm = null; using (var uow = DbHandler.UnitOfWork()) { var config = uow.GuildConfigs.PermissionsFor(channel.Guild.Id); var perms = config.RootPermission; + var root = perms; + var index = 0; + var fromFound = false; + var toFound = false; + var isLast = true; + while ((!toFound || !fromFound) && perms != null) + { + if (index == from) + { + fromPerm = perms; + fromFound = true; + } + if (index == to) + { + toPerm = perms; + toFound = true; + isLast = false; + } + if (!toFound) + { + toPerm = perms; //In case of to > size + } + perms = perms.Next; + index++; + } + if (perms == null) + { + if (!fromFound) + { + await channel.SendMessageAsync($"`Can't find permission at index `#{++from}`").ConfigureAwait(false); + return; + } + } + + //Change chain for from indx + var next = fromPerm.Next; + var pre = fromPerm.Previous; + if (pre != null) + pre.Next = next; + if (next != null) + { + next.Previous = pre; + } if (from == 0) { - toInsert = perms; - perms = perms.Next; - toInsert.Previous = null; - toInsert.Next = null; - perms.Previous = null; + root = next; + } + await uow.CompleteAsync().ConfigureAwait(false); + //Inserting + pre = toPerm.Previous; + if (isLast) + { + toPerm.Next = fromPerm; + fromPerm.Previous = toPerm; + fromPerm.Next = null; } else { - toInsert = perms.RemoveAt(from); - toInsert.Previous = null; + fromPerm.Next = toPerm; + fromPerm.Previous = pre; + if (pre != null) + { + pre.Next = fromPerm; + } + else + { + root = fromPerm; + } + toPerm.Previous = fromPerm; } - var size = perms.Count(); - if (from == size || to == size) - throw new IndexOutOfRangeException(); - perms.Insert(to, toInsert); - config.RootPermission = perms.GetRoot(); + config.RootPermission = root; await uow.CompleteAsync().ConfigureAwait(false); } - await channel.SendMessageAsync($"`Moved permission:` \"{toInsert.GetCommand(channel.Guild)}\" `from #{from} to #{to}.`").ConfigureAwait(false); + await channel.SendMessageAsync($"`Moved permission:` \"{fromPerm.GetCommand(channel.Guild)}\" `from #{++from} to #{++to}.`").ConfigureAwait(false); return; } catch (Exception e) when (e is ArgumentOutOfRangeException || e is IndexOutOfRangeException) From 0a8f998b329d5d635a114d641640e2c930d64606 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Fri, 7 Oct 2016 20:13:03 +0200 Subject: [PATCH 048/135] Message when there is no toPerm too --- src/NadekoBot/Modules/Permissions/Permissions.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/NadekoBot/Modules/Permissions/Permissions.cs b/src/NadekoBot/Modules/Permissions/Permissions.cs index ee4d84ea..a3160f16 100644 --- a/src/NadekoBot/Modules/Permissions/Permissions.cs +++ b/src/NadekoBot/Modules/Permissions/Permissions.cs @@ -172,6 +172,12 @@ namespace NadekoBot.Modules.Permissions await channel.SendMessageAsync($"`Can't find permission at index `#{++from}`").ConfigureAwait(false); return; } + + if (!toFound) + { + await channel.SendMessageAsync($"`Can't find permission at index `#{++to}`").ConfigureAwait(false); + return; + } } //Change chain for from indx From ccb287c2380f6ec942e02501060c76970f366783 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Fri, 7 Oct 2016 21:52:56 +0200 Subject: [PATCH 049/135] Fixed ;mp --- .../Modules/Permissions/Permissions.cs | 37 +++++++++---------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/src/NadekoBot/Modules/Permissions/Permissions.cs b/src/NadekoBot/Modules/Permissions/Permissions.cs index a3160f16..aa0ab412 100644 --- a/src/NadekoBot/Modules/Permissions/Permissions.cs +++ b/src/NadekoBot/Modules/Permissions/Permissions.cs @@ -69,9 +69,8 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { var perms = uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission; - var i = 1; - toSend = String.Join("\n", perms.AsEnumerable().Select(p => $"`{(i++)}.` {p.GetCommand(channel.Guild)}")); + toSend = String.Join("\n", perms.AsEnumerable().Select(p => $"`{(i++)}.` {(p.Next == null ? Format.Bold(p.GetCommand(channel.Guild) + " [uneditable]") : (p.GetCommand(channel.Guild)))}")); } if (string.IsNullOrWhiteSpace(toSend)) @@ -144,7 +143,6 @@ namespace NadekoBot.Modules.Permissions var index = 0; var fromFound = false; var toFound = false; - var isLast = true; while ((!toFound || !fromFound) && perms != null) { if (index == from) @@ -156,7 +154,6 @@ namespace NadekoBot.Modules.Permissions { toPerm = perms; toFound = true; - isLast = false; } if (!toFound) { @@ -185,38 +182,38 @@ namespace NadekoBot.Modules.Permissions var pre = fromPerm.Previous; if (pre != null) pre.Next = next; - if (next != null) + if (fromPerm.Next == null || toPerm.Next == null) { - next.Previous = pre; + throw new IndexOutOfRangeException(); } + next.Previous = pre; if (from == 0) { root = next; } await uow.CompleteAsync().ConfigureAwait(false); //Inserting - pre = toPerm.Previous; - if (isLast) + if (to > from) { - toPerm.Next = fromPerm; fromPerm.Previous = toPerm; - fromPerm.Next = null; + fromPerm.Next = toPerm.Next; + + toPerm.Next.Previous = fromPerm; + toPerm.Next = fromPerm; } else { + pre = toPerm.Previous; + fromPerm.Next = toPerm; fromPerm.Previous = pre; - if (pre != null) - { - pre.Next = fromPerm; - } - else - { - root = fromPerm; - } + toPerm.Previous = fromPerm; + if (pre != null) + pre.Next = fromPerm; } - config.RootPermission = root; + + config.RootPermission = fromPerm.GetRoot(); await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"`Moved permission:` \"{fromPerm.GetCommand(channel.Guild)}\" `from #{++from} to #{++to}.`").ConfigureAwait(false); @@ -478,7 +475,7 @@ namespace NadekoBot.Modules.Permissions [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] - public async Task AllSrvrMdls(IUserMessage imsg, PermissionAction action, [Remainder] IUser user) + public async Task AllSrvrMdls(IUserMessage imsg, PermissionAction action) { var channel = (ITextChannel)imsg.Channel; From 8dbc7075da52c9d8c51f088737c7f218e8888f57 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sat, 8 Oct 2016 00:23:41 +0200 Subject: [PATCH 050/135] Added some json files back. Added command cooldowns. Fixed some stuff --- .../20161007210034_cmdcds.Designer.cs | 737 + .../Migrations/20161007210034_cmdcds.cs | 44 + .../NadekoSqliteContextModelSnapshot.cs | 25 + .../Commands/Trivia/TriviaQuestionPool.cs | 2 +- .../Permissions/Commands/CmdCdsCommands.cs | 122 + src/NadekoBot/Services/CommandHandler.cs | 8 + .../Database/Models/CommandCooldown.cs | 14 + .../Services/Database/Models/GuildConfig.cs | 2 + .../Impl/GuildConfigRepository.cs | 2 + src/NadekoBot/data/magicitems.json | 314 + src/NadekoBot/data/pokemon/LICENSE | 21 + .../data/pokemon/pokemon_abilities.json | 1596 + src/NadekoBot/data/pokemon/pokemon_list.json | 25607 ++++++++++++++++ .../{triviaquestions.json => questions.json} | 0 src/NadekoBot/data/wowjokes.json | 302 + 15 files changed, 28795 insertions(+), 1 deletion(-) create mode 100644 src/NadekoBot/Migrations/20161007210034_cmdcds.Designer.cs create mode 100644 src/NadekoBot/Migrations/20161007210034_cmdcds.cs create mode 100644 src/NadekoBot/Modules/Permissions/Commands/CmdCdsCommands.cs create mode 100644 src/NadekoBot/Services/Database/Models/CommandCooldown.cs create mode 100644 src/NadekoBot/data/magicitems.json create mode 100644 src/NadekoBot/data/pokemon/LICENSE create mode 100644 src/NadekoBot/data/pokemon/pokemon_abilities.json create mode 100644 src/NadekoBot/data/pokemon/pokemon_list.json rename src/NadekoBot/data/{triviaquestions.json => questions.json} (100%) create mode 100644 src/NadekoBot/data/wowjokes.json diff --git a/src/NadekoBot/Migrations/20161007210034_cmdcds.Designer.cs b/src/NadekoBot/Migrations/20161007210034_cmdcds.Designer.cs new file mode 100644 index 00000000..79c21557 --- /dev/null +++ b/src/NadekoBot/Migrations/20161007210034_cmdcds.Designer.cs @@ -0,0 +1,737 @@ +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using NadekoBot.Services.Database.Impl; + +namespace NadekoBot.Migrations +{ + [DbContext(typeof(NadekoSqliteContext))] + [Migration("20161007210034_cmdcds")] + partial class cmdcds + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { + modelBuilder + .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ItemId"); + + b.Property("Type"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("BlacklistItem"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BufferSize"); + + b.Property("CurrencyGenerationChance"); + + b.Property("CurrencyGenerationCooldown"); + + b.Property("CurrencyName"); + + b.Property("CurrencyPluralName"); + + b.Property("CurrencySign"); + + b.Property("DMHelpString"); + + b.Property("DontJoinServers"); + + b.Property("ForwardMessages"); + + b.Property("ForwardToAllOwners"); + + b.Property("HelpString"); + + b.Property("MigrationVersion"); + + b.Property("RemindMessageFormat"); + + b.Property("RotatingStatuses"); + + b.HasKey("Id"); + + b.ToTable("BotConfig"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BaseDestroyed"); + + b.Property("CallUser"); + + b.Property("ClashWarId"); + + b.Property("Stars"); + + b.Property("TimeAdded"); + + b.HasKey("Id"); + + b.HasIndex("ClashWarId"); + + b.ToTable("ClashCallers"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("EnemyClan"); + + b.Property("GuildId"); + + b.Property("Size"); + + b.Property("StartedAt"); + + b.Property("WarState"); + + b.HasKey("Id"); + + b.ToTable("ClashOfClans"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.CommandCooldown", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("CommandName"); + + b.Property("GuildConfigId"); + + b.Property("Seconds"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("CommandCooldown"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("InternalTrigger"); + + b.Property("Modifier"); + + b.Property("UnitType"); + + b.HasKey("Id"); + + b.ToTable("ConversionUnits"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Currency"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("Name"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Donators"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("EightBallResponses"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildConfigId"); + + b.Property("GuildConfigId1"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.HasIndex("GuildConfigId1"); + + b.ToTable("FilterChannelId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildConfigId"); + + b.Property("Word"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FilteredWord"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildConfigId"); + + b.Property("GuildId"); + + b.Property("LastStatus"); + + b.Property("Type"); + + b.Property("Username"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FollowedStream"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AutoAssignRoleId"); + + b.Property("AutoDeleteByeMessages"); + + b.Property("AutoDeleteGreetMessages"); + + b.Property("AutoDeleteGreetMessagesTimer"); + + b.Property("AutoDeleteSelfAssignedRoleMessages"); + + b.Property("ByeMessageChannelId"); + + b.Property("ChannelByeMessageText"); + + b.Property("ChannelGreetMessageText"); + + b.Property("DefaultMusicVolume"); + + b.Property("DeleteMessageOnCommand"); + + b.Property("DmGreetMessageText"); + + b.Property("ExclusiveSelfAssignedRoles"); + + b.Property("FilterInvites"); + + b.Property("FilterWords"); + + b.Property("GenerateCurrencyChannelId"); + + b.Property("GreetMessageChannelId"); + + b.Property("GuildId"); + + b.Property("LogSettingId"); + + b.Property("PermissionRole"); + + b.Property("RootPermissionId"); + + b.Property("SendChannelByeMessage"); + + b.Property("SendChannelGreetMessage"); + + b.Property("SendDmGreetMessage"); + + b.Property("VerbosePermissions"); + + b.Property("VoicePlusTextEnabled"); + + b.HasKey("Id"); + + b.HasIndex("GuildId") + .IsUnique(); + + b.HasIndex("LogSettingId"); + + b.HasIndex("RootPermissionId"); + + b.ToTable("GuildConfigs"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredLogChannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredVoicePresenceCHannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelCreated"); + + b.Property("ChannelDestroyed"); + + b.Property("ChannelId"); + + b.Property("ChannelUpdated"); + + b.Property("IsLogging"); + + b.Property("LogUserPresence"); + + b.Property("LogVoicePresence"); + + b.Property("MessageDeleted"); + + b.Property("MessageUpdated"); + + b.Property("UserBanned"); + + b.Property("UserJoined"); + + b.Property("UserLeft"); + + b.Property("UserPresenceChannelId"); + + b.Property("UserUnbanned"); + + b.Property("UserUpdated"); + + b.Property("VoicePresenceChannelId"); + + b.HasKey("Id"); + + b.ToTable("LogSettings"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ModuleName"); + + b.Property("Prefix"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("ModulePrefixes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.MusicPlaylist", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("AuthorId"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.ToTable("MusicPlaylists"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("NextId"); + + b.Property("PrimaryTarget"); + + b.Property("PrimaryTargetId"); + + b.Property("SecondaryTarget"); + + b.Property("SecondaryTargetName"); + + b.Property("State"); + + b.HasKey("Id"); + + b.HasIndex("NextId") + .IsUnique(); + + b.ToTable("Permission"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Status"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("PlayingStatus"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("MusicPlaylistId"); + + b.Property("Provider"); + + b.Property("ProviderType"); + + b.Property("Query"); + + b.Property("Title"); + + b.Property("Uri"); + + b.HasKey("Id"); + + b.HasIndex("MusicPlaylistId"); + + b.ToTable("PlaylistSong"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AuthorId"); + + b.Property("AuthorName") + .IsRequired(); + + b.Property("GuildId"); + + b.Property("Keyword") + .IsRequired(); + + b.Property("Text") + .IsRequired(); + + b.HasKey("Id"); + + b.ToTable("Quotes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Icon"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("RaceAnimals"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("IsPrivate"); + + b.Property("Message"); + + b.Property("ServerId"); + + b.Property("UserId"); + + b.Property("When"); + + b.HasKey("Id"); + + b.ToTable("Reminders"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildId"); + + b.Property("Interval"); + + b.Property("Message"); + + b.HasKey("Id"); + + b.HasIndex("ChannelId") + .IsUnique(); + + b.ToTable("Repeaters"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildId"); + + b.Property("RoleId"); + + b.HasKey("Id"); + + b.HasIndex("GuildId", "RoleId") + .IsUnique(); + + b.ToTable("SelfAssignableRoles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.ToTable("TypingArticles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("Blacklist") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") + .WithMany("Bases") + .HasForeignKey("ClashWarId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.CommandCooldown", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("CommandCooldowns") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("EightBallResponses") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilterInvitesChannelIds") + .HasForeignKey("GuildConfigId"); + + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilterWordsChannelIds") + .HasForeignKey("GuildConfigId1"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilteredWords") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FollowedStreams") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany() + .HasForeignKey("LogSettingId"); + + b.HasOne("NadekoBot.Services.Database.Models.Permission", "RootPermission") + .WithMany() + .HasForeignKey("RootPermissionId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredChannels") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredVoicePresenceChannelIds") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") + .WithMany("ModulePrefixes") + .HasForeignKey("BotConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.HasOne("NadekoBot.Services.Database.Models.Permission", "Next") + .WithOne("Previous") + .HasForeignKey("NadekoBot.Services.Database.Models.Permission", "NextId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RotatingStatusMessages") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.HasOne("NadekoBot.Services.Database.Models.MusicPlaylist") + .WithMany("Songs") + .HasForeignKey("MusicPlaylistId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RaceAnimals") + .HasForeignKey("BotConfigId"); + }); + } + } +} diff --git a/src/NadekoBot/Migrations/20161007210034_cmdcds.cs b/src/NadekoBot/Migrations/20161007210034_cmdcds.cs new file mode 100644 index 00000000..cbed2902 --- /dev/null +++ b/src/NadekoBot/Migrations/20161007210034_cmdcds.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using Microsoft.EntityFrameworkCore.Migrations; + +namespace NadekoBot.Migrations +{ + public partial class cmdcds : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "CommandCooldown", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + CommandName = table.Column(nullable: true), + GuildConfigId = table.Column(nullable: true), + Seconds = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_CommandCooldown", x => x.Id); + table.ForeignKey( + name: "FK_CommandCooldown_GuildConfigs_GuildConfigId", + column: x => x.GuildConfigId, + principalTable: "GuildConfigs", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateIndex( + name: "IX_CommandCooldown_GuildConfigId", + table: "CommandCooldown", + column: "GuildConfigId"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "CommandCooldown"); + } + } +} diff --git a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs index 050244e0..c74958b8 100644 --- a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs +++ b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs @@ -115,6 +115,24 @@ namespace NadekoBot.Migrations b.ToTable("ClashOfClans"); }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.CommandCooldown", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("CommandName"); + + b.Property("GuildConfigId"); + + b.Property("Seconds"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("CommandCooldown"); + }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => { b.Property("Id") @@ -613,6 +631,13 @@ namespace NadekoBot.Migrations .OnDelete(DeleteBehavior.Cascade); }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.CommandCooldown", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("CommandCooldowns") + .HasForeignKey("GuildConfigId"); + }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => { b.HasOne("NadekoBot.Services.Database.Models.BotConfig") diff --git a/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaQuestionPool.cs b/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaQuestionPool.cs index 9682bbef..cc9db53a 100644 --- a/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaQuestionPool.cs +++ b/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaQuestionPool.cs @@ -30,7 +30,7 @@ namespace NadekoBot.Modules.Games.Trivia public void Reload() { - var arr = JArray.Parse(File.ReadAllText("data/triviaquestions.json")); + var arr = JArray.Parse(File.ReadAllText("data/questions.json")); foreach (var item in arr) { diff --git a/src/NadekoBot/Modules/Permissions/Commands/CmdCdsCommands.cs b/src/NadekoBot/Modules/Permissions/Commands/CmdCdsCommands.cs new file mode 100644 index 00000000..b14fd452 --- /dev/null +++ b/src/NadekoBot/Modules/Permissions/Commands/CmdCdsCommands.cs @@ -0,0 +1,122 @@ +using Discord; +using Discord.Commands; +using NadekoBot.Attributes; +using NadekoBot.Extensions; +using NadekoBot.Services; +using NadekoBot.Services.Database; +using NadekoBot.Services.Database.Models; +using System; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace NadekoBot.Modules.Permissions +{ + public partial class Permissions + { + + public class ActiveCooldown + { + public string Command { get; set; } + public ulong UserId { get; set; } + } + + [Group] + public class CmdCdsCommands + { + public static ConcurrentDictionary> commandCooldowns { get; } + private static ConcurrentDictionary> activeCooldowns = new ConcurrentDictionary>(); + + static CmdCdsCommands() + { + using (var uow = DbHandler.UnitOfWork()) + { + var configs = uow.GuildConfigs.GetAll(); + commandCooldowns = new ConcurrentDictionary>(configs.ToDictionary(k => k.GuildId, v => v.CommandCooldowns)); + } + } + [NadekoCommand, Usage, Description, Aliases] + [RequireContext(ContextType.Guild)] + public async Task CmdCooldown(IUserMessage imsg, Command command, int secs) + { + var channel = (ITextChannel)imsg.Channel; + if (secs < 0 || secs > 3600) + { + await channel.SendMessageAsync("Invalid second parameter. (Must be a number between 0 and 3600)").ConfigureAwait(false); + return; + } + + using (var uow = DbHandler.UnitOfWork()) + { + var config = uow.GuildConfigs.For(channel.Guild.Id); + var localSet = commandCooldowns.GetOrAdd(channel.Guild.Id, new HashSet()); + + config.CommandCooldowns.RemoveWhere(cc => cc.CommandName == command.Text.ToLowerInvariant()); + localSet.RemoveWhere(cc => cc.CommandName == command.Text.ToLowerInvariant()); + if (secs != 0) + { + var cc = new CommandCooldown() + { + CommandName = command.Text.ToLowerInvariant(), + Seconds = secs, + }; + config.CommandCooldowns.Add(cc); + localSet.Add(cc); + } + await uow.CompleteAsync().ConfigureAwait(false); + } + if (secs == 0) + { + var activeCds = activeCooldowns.GetOrAdd(channel.Guild.Id, new HashSet()); + activeCds.RemoveWhere(ac => ac.Command == command.Text.ToLowerInvariant()); + await channel.SendMessageAsync($"Command **{command}** has no coooldown now and all existing cooldowns have been cleared.").ConfigureAwait(false); + } + else + await channel.SendMessageAsync($"Command **{command}** now has a **{secs} {(secs == 1 ? "second" : "seconds")}** cooldown.").ConfigureAwait(false); + } + + [NadekoCommand, Usage, Description, Aliases] + [RequireContext(ContextType.Guild)] + public async Task AllCmdCooldowns(IUserMessage imsg) + { + var channel = (ITextChannel)imsg.Channel; + var localSet = commandCooldowns.GetOrAdd(channel.Guild.Id, new HashSet()); + + if (!localSet.Any()) + await channel.SendMessageAsync("`No command cooldowns set.`").ConfigureAwait(false); + else + await channel.SendTableAsync("", localSet.Select(c => c.CommandName + ": " + c.Seconds + " secs"), s => $"{s,-30}", 2).ConfigureAwait(false); + } + + public static bool HasCooldown(Command cmd, IGuild guild, IUser user) + { + var cmdcds = CmdCdsCommands.commandCooldowns.GetOrAdd(guild.Id, new HashSet()); + CommandCooldown cdRule; + if ((cdRule = cmdcds.FirstOrDefault(cc => cc.CommandName == cmd.Text.ToLowerInvariant())) != null) + { + var activeCdsForGuild = activeCooldowns.GetOrAdd(guild.Id, new HashSet()); + if (activeCdsForGuild.FirstOrDefault(ac => ac.UserId == user.Id && ac.Command == cmd.Text.ToLowerInvariant()) != null) + { + return true; + } + else + { + activeCdsForGuild.Add(new ActiveCooldown() + { + UserId = user.Id, + Command = cmd.Text.ToLowerInvariant(), + }); + var t = Task.Run(async () => + { + await Task.Delay(cdRule.Seconds * 1000); + activeCdsForGuild.RemoveWhere(ac => ac.Command == cmd.Text.ToLowerInvariant() && ac.UserId == user.Id); + }); + } + } + return false; + } + } + } +} diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index 6a9ac026..15c7c752 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -14,6 +14,8 @@ using NadekoBot.Modules.Permissions; using Microsoft.Data.Sqlite; using Discord.Net; using NadekoBot.Extensions; +using static NadekoBot.Modules.Permissions.Permissions; +using System.Collections.Concurrent; namespace NadekoBot.Services { @@ -90,6 +92,8 @@ namespace NadekoBot.Services } } + + try { bool verbose = false; @@ -235,6 +239,10 @@ namespace NadekoBot.Services } } + + if (CmdCdsCommands.HasCooldown(cmd, guild, user)) + return new Tuple(cmd, SearchResult.FromError(CommandError.Exception, $"That command is on cooldown for you.")); + return new Tuple(commands[i], await commands[i].Execute(message, parseResult)); } diff --git a/src/NadekoBot/Services/Database/Models/CommandCooldown.cs b/src/NadekoBot/Services/Database/Models/CommandCooldown.cs new file mode 100644 index 00000000..e5048f70 --- /dev/null +++ b/src/NadekoBot/Services/Database/Models/CommandCooldown.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace NadekoBot.Services.Database.Models +{ + public class CommandCooldown : DbEntity + { + public int Seconds { get; set; } + public string CommandName { get; set; } + } +} diff --git a/src/NadekoBot/Services/Database/Models/GuildConfig.cs b/src/NadekoBot/Services/Database/Models/GuildConfig.cs index 3ef24e35..9dc7a57d 100644 --- a/src/NadekoBot/Services/Database/Models/GuildConfig.cs +++ b/src/NadekoBot/Services/Database/Models/GuildConfig.cs @@ -47,6 +47,8 @@ namespace NadekoBot.Services.Database.Models public bool VerbosePermissions { get; set; } public string PermissionRole { get; set; } = "Nadeko"; + public HashSet CommandCooldowns { get; set; } = new HashSet(); + //filtering public bool FilterInvites { get; set; } public HashSet FilterInvitesChannelIds { get; set; } diff --git a/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs b/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs index fe336c0a..b15d8ab8 100644 --- a/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs +++ b/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs @@ -27,6 +27,7 @@ namespace NadekoBot.Services.Database.Repositories.Impl .Include(gc => gc.FilterInvitesChannelIds) .Include(gc => gc.FilterWordsChannelIds) .Include(gc => gc.FilteredWords) + .Include(gc => gc.CommandCooldowns) .ToList(); /// @@ -44,6 +45,7 @@ namespace NadekoBot.Services.Database.Repositories.Impl .Include(gc => gc.FilterInvitesChannelIds) .Include(gc => gc.FilterWordsChannelIds) .Include(gc => gc.FilteredWords) + .Include(gc => gc.CommandCooldowns) .FirstOrDefault(c => c.GuildId == guildId); if (config == null) diff --git a/src/NadekoBot/data/magicitems.json b/src/NadekoBot/data/magicitems.json new file mode 100644 index 00000000..6cf69b83 --- /dev/null +++ b/src/NadekoBot/data/magicitems.json @@ -0,0 +1,314 @@ +[ + { + "Name": "Ace of Spades", + "Description": "An ace of spades from a standard card deck. No matter where you store it on your body, you will always be able to find it in your right sleeve afterwards." + }, + { + "Name": "Arrow of Euarere", + "Description": "A silver arrow, suspended on a string. It always points to the person holding the string." + }, + { + "Name": "Amulet of Extra Amulet Slot", + "Description": "This amulet allows you to gain the benefit from two magical amulets rather than one. It cannot be further enchanted." + }, + { + "Name": "Amulet of Feather Fall", + "Description": "When worn, this amulet turns into a feather and falls to the ground." + }, + { + "Name": "Anti-Matches", + "Description": "A box of matches. Striking one will make it begin to drip water from the tip while the match shrivels away. The amount of water a match releases is about enough to fill a tablespoon." + }, + { + "Name": "The Artist's Bludgeon", + "Description": "Inanimate objects hit with this bludgeon will receive no damage; they will however change color." + }, + { + "Name": "Attentive Guardsman's Pike", + "Description": "These ornate and deadly-looking ceremonial pikes are reach weapons and appear to weigh at least 20 lbs, not counting the weight of the fluttering banners that can be unfurled for parade use. Constructed of shadowstuff, they weigh one pound, and inflict only a single point of damage on an attack, being almost entirely for show, although they also have the unique property of remaining in place when set (although unable to support more than 20 lbs), allowing a 'resting his eyes' guardsman to prop it up and leave it standing under its own power, while his hand sags off of it." + }, + { + "Name": "Attentive Guardsman's Tabard", + "Description": "A dozen of these tabards were fashioned for palace guardsmen in the Empire of Sard, 250 miles from the nearest enemy. The bearer is placed under a glamour that causes him to appear alert and awake, even if his eyes are closed and he is snoring lightly." + }, + { + "Name": "Axe of Big Numbers", + "Description": "This axe shouts \"Big numbers baby, come on!\" whenever it is swung, but always deals 1 damage or less." + }, + { + "Name": "Axe of Empathy", + "Description": "Every time you hit something with this +5 greataxe, you get dealt an equal amount of damage. Both you and the thing you hit are then healed the amount of damage dealt by the axe, even if either are dead. The Axe hopes you have learned your lesson." + }, + { + "Name": "Axe of Pain", + "Description": "The axe is always moaning and groaning with pain." + }, + { + "Name": "Baby Oil", + "Description": "An aphrodisiac made from the finest mashed babies. Strangely unpopular in the upper planes, the judgmental prudes." + }, + { + "Name": "Bag of Faerie Gold", + "Description": "This sack appears to be full of gold coins and jewels. When one attempts to spend them, however, the glamour on them soon vanishes, revealing them to be nothing but leaves and pebbles. Obviously, most shopkeepers will not be happy about this, and no amount of 'we didn't know, I swear!' will change their mind." + }, + { + "Name": "Bag of Holding", + "Description": "This item functions as a normal backpack, however when attempting to retrieve an item, a calm female voice tells them there is a wait time of 4d10 minutes before they can retrieve their item (actual time is stated time plus 6d6 additional minutes). During this wait, the bag plays either annoying muzak or advertisements for the bag's creator's other products/services. Upon attempting to retrieve an item, there is a chance that the wrong item is retrieved, or that the intended item is simply missing. Obtaining the original item requires an additional 4d10+6d6 minutes and has only a 5% chance of success." + }, + { + "Name": "Bag of Holding (Alternate)", + "Description": "This sack needs a hug!" + }, + { + "Name": "Bag of Trading", + "Description": "You can take one thing out of the bag for each object you put in the bag. However, you have no control over what you get, and there are no trade-backs. Past research seems to imply there's some sort of correlation to what gets you what, but it's extremely convoluted and far from understood." + }, + { + "Name": "Bag of Trick", + "Description": "This bag operates like a Bag of Tricks, except it only works once a week and produces a rat each time itis used." + }, + { + "Name": "Bag of Unholding", + "Description": "Quite a large backpack but even the smallest item doesn't fit." + }, + { + "Name": "Bagpipe of Stealth", + "Description": "Grants the user invisibility as long as it is being played." + }, + { + "Name": "Ball of Eyes", + "Description": "A snow-globe filled with miniature eyeballs. When shaken, it grants the user a blurry, jittery vision of some future event." + }, + { + "Name": "Banana Walkie-Talkies", + "Description": "There exist two, and only two, of these items in the world. One of which is possessed by a cranky and lonely half-orc. It appears to be an innocuous wooden banana with a coat of faded yellow paint. When an end (doesn't matter which one) is placed against your ear, you can hear a ringing followed by a *click* and a half-orc yelling at you for waking him up at this ungodly hour. If you drop the banana or \"hang up,\" the call ends. If you stay and listen, the half-orc will yell at you, call out obscenities, and start going on about his daily problems and mishaps in his love life. Every so often (2% chance/day), the banana will ring while you are sleeping and the half-orc will want to talk to you about his problems." + }, + { + "Name": "Barrel of Holding", + "Description": "This large wooden barrel measuring √(12/π) feet in diameter and 5 feet in height can hold up to 15 cubic feet of matter." + }, + { + "Name": "Beam Sword of Severed Nerves", + "Description": "A beam sword. It cannot cut anything but nerve strings. Will pass through any other material leaving no harm." + }, + { + "Name": "Belt of Pants", + "Description": "This belt creates illusory pants on the wearer. The wearer can suppress the illusion at will" + }, + { + "Name": "Belt of Tightening", + "Description": "Every time you put this belt on, all of your clothes permanently shrink a fraction of a millimeter. The effect is compound." + }, + { + "Name": "Belt of Unbathed Breath", + "Description": "When worn around the waist, allows the user to breathe underwater. Does not function when wet." + }, + { + "Name": "Boogie Skeleton", + "Description": "This pile of bones is small, such as one that might be obtained from a bird or a toad, though it can look as though it came from any creature. When a song is sung or played in the vicinity of the skeleton, it begins to dance appropriately. As soon as the music stops, it collapses into the pile of bones again. The skeleton, when dancing, can be no larger than Diminutive." + }, + { + "Name": "Book of Canon", + "Description": "A book that automatically transforms into a copy of the sacred text of any religion, translated into the language the user is most familiar with." + }, + { + "Name": "Book of Confusion", + "Description": "The letters in this book always appear to be upside down, even if viewed from different directions at the same time. The book is a bad novel about zombies." + }, + { + "Name": "Book of Curses", + "Description": "When opened, the book verbally berates anyone in the immediate vicinity, calling into question their combat ability, intellect, personal hygiene, lineage and profession of their mothers, and other delightful insults. Once closed the book continues shouting (although it is muffled) until placed inside a bag or some other similar container for 1d4+1 minutes and ignored. Replying to the book in any other way causes the insults to get louder and more childish the more time you spend replying to it." + }, + { + "Name": "Book of Exalted Deeds", + "Description": "Contains a listing of some of the finest houses ever sold and the specifics of the titles to the properties." + }, + { + "Name": "Boots of Levitation", + "Description": "These boots levitate a few inches off the ground when not worn." + }, + { + "Name": "Boots of Stylishness", + "Description": "Knee high black boots that are always clean and shiny. They never take in water, thus feet are always dry." + }, + { + "Name": "Boots of Walking", + "Description": "The wearer of the boots cannot run, nor can he take a double move action, and takes a -5 to Tumble checks. These boots are made for walkin', and that's just what they'll do." + }, + { + "Name": "Bottle of Air", + "Description": "It's a bottle. Full of air. Congratulations." + }, + { + "Name": "Bottomless Beer Mug", + "Description": "Any liquid poured into this mug treats the bottom as incorporeal, but solid objects don't" + }, + { + "Name": "Bowl of Comfortable Warmth", + "Description": "Any liquid in the bowl will feel comfortably warm, so icy cold water will feel like it's a bit over room temperature. Do note, however, that it's still icy cold water, it just feels warmer." + }, + { + "Name": "Breastplate of Secret Detection", + "Description": "If the wearer of this breastplate gains a piece of information that is somehow connected to the concealment of a hidden conspiracy or plot, a live and still wet red herring forms on the inside of the armor." + }, + { + "Name": "Bullying Gloves", + "Description": "At random intervals, these gloves instil the wearer with a near-irresistible urge to hit themselves." + }, + { + "Name": "Bunyan’s Belt", + "Description": "When worn, causes an enormous, bushy black beard to appear on the wearer’s face." + }, + { + "Name": "Cape of Resistance", + "Description": "When this item is placed on any living thing it somehow manages to fall off, untie itself, slip past the owner’s neck entirely, or otherwise avoid being worn." + }, + { + "Name": "Case of the Litigator", + "Description": "Translates any document placed in the case into legal jargon; non-reversible. Does not confer the ability to understand legal jargon." + }, + { + "Name": "Cat of Schrodinger", + "Description": "When this cat is not being observed in any way it is both dead and alive. When something observes it, it suddenly becomes either dead or alive with a 50% chance of either." + }, + { + "Name": "Chair of Steadiness", + "Description": "This chair can be moved but cannot be tipped over by anything less than a DC 35 Strength check." + }, + { + "Name": "Charles", + "Description": "This small, unremarkable figurine of a gnome refuses to be called anything but Charles. No other name will leave the lips of the speaker. It has no other powers." + }, + { + "Name": "Chime of Interruption", + "Description": "This instrument can be struck once every round, which takes a standard action. On any round the chime is activated the user may ready one action without spending an action to do so." + }, + { + "Name": "Chime of Opening", + "Description": "Commonly affixed to or near doors, when pressed it emits a sound on the interior of the owner’s home to let them know guests have arrived." + }, + { + "Name": "Chime of Opening (Alternate)", + "Description": "When struck against a solid surface, this chime emits a loud click, and opens along its length, to reveal a tiny compartment adequate to conceal a single 'smoke' worth of pipeweed or a blowgun needle. When the compartment is closed, it is seamless and can be detected only with a DC 20 Search check. If hit with an instrument such as a small mallet, it chimes." + }, + { + "Name": "Cloak of Billowing", + "Description": "This black and silver cloak will always billow dramatically behind the wearer, it has no other effects." + }, + { + "Name": "Cloak of Displacement, Minor", + "Description": "This item appears to be a normal cloak, but when worn by a character its magical properties distort and warp reality. When any attack is made against the wearer the cloak has a 20% chance of falling off, no matter how it is secured." + }, + { + "Name": "Compacting hammer", + "Description": "The force imparted by it is multiplied, but is spread around the surface of a struck object facing inward." + }, + { + "Name": "Cymbal of Symbols", + "Description": "This musical instrument enables the user to comprehend dead languages, but only while they are deafened by noise." + }, + { + "Name": "Dagger of Told Secrets", + "Description": "A simple-looking dagger. If used to backstab someone to death, it will whisper your most embarrassing secret to that person." + }, + { + "Name": "Dagger of Untold Secrets", + "Description": "A simple looking dagger. If used to backstab someone to death, it will whisper the most embarrassing secret of that person to you." + }, + { + "Name": "Decanter of Endless Sorrow", + "Description": "A pewter flask that produces limitless alcohol when held to their lips by someone who is troubled. It gets them drunk but they never feel any better." + }, + { + "Name": "Diadem of Brothaurity", + "Description": "When wearing this headpiece, you are as elegant and well-spoken as a famous diplomat or regent, but you can't stop calling everyone bro." + }, + { + "Name": "Enchanted Book of Collected Stories", + "Description": "Opening this will cause miniature creatures/people to pour out and preform a chapter from the book much like a theater." + }, + { + "Name": "Fade to Black Belt", + "Description": "The wearer of this belt will be unable to remember any sexual encounter begun while they were wearing the belt." + }, + { + "Name": "Focusing Ring", + "Description": "The digit on which this ring is worn can be viewed in extremely high definition from a great distance." + }, + { + "Name": "Gloves of Tinkering", + "Description": "Wearing the gloves will make you able to almost repair any broken item. However, you will always end up with pieces from the item that don't seem to fit anywhere." + }, + { + "Name": "Greater Staff of Random Summoning", + "Description": "Summons a random creature at a random place. You could be summoning a giant Ogre on the other side of the globe for all you know." + }, + { + "Name": "Hoarder's Wand", + "Description": "Does nothing but for some reason you think it might be important later in your quest." + }, + { + "Name": "Hood of Offensive Facades", + "Description": "This hood will change your identity in the eyes of others to the appearance of the person they most personally dislike." + }, + { + "Name": "Hood Of Worrisome Facades", + "Description": "This hood will change your identity in the eyes of others, however the identity used will be random." + }, + { + "Name": "Indestructible Notebook of Memories", + "Description": "This otherwise normal notepad of normal notepad size cannot be damaged or destroyed, and anything written in it cannot be obscured or defaced. It also has unlimited pages despite its finite size. However, the data it holds only lasts as long as the writer independently remembers it, and decays in exact proportion to the relevant memories. Remember who and when, but not where? Then the words describing the location in that particular entry are the only ones gone." + }, + { + "Name": "Intransigent Rod", + "Description": "When the button on this artifact is pressed in, the holder's opinions solidify and they become impossible to convince." + }, + { + "Name": "Lunchbox of Delicious Unfulfillment", + "Description": "This lunchbox will hold whatever food you desire. However you will never get full and the food will deliver no nourishment." + }, + { + "Name": "The Mattress of Poverty", + "Description": "No matter how you fluff this gorgeous, thick, mattress, you will always sleep on the thin part of it." + }, + { + "Name": "Mug O' Dissatisfaction", + "Description": "A mug that always produces a steaming hot cup of coffee or tea when tapped on the bottom. It conjures the opposite of what the tapper prefers, so if you like tea you get coffee and vice versa. Handing the full mug to another person will make the drink in it transform to the opposite of that persons preferences." + }, + { + "Name": "Murder Dagger", + "Description": "All damage it would deal is instead replaced by the target being harassed by crows for that many hours." + }, + { + "Name": "Needle Of Learned Compromise", + "Description": "This needle will create beautiful tattoos of any design, however they hurt a tiny bit more. When used to sew it is entirely normal." + }, + { + "Name": "Portable Dark Tavern Corner", + "Description": "Consisting of two wooden boards connected by a hinge, this artifact draws those nearby into assuming it is a perfect spot to conduct seedy business." + }, + { + "Name": "Ring of First Impression", + "Description": "Wearing the ring will make you able to perform a perfect handshake with the hand wearing it." + }, + { + "Name": "Sack of Hive Eggs", + "Description": "Crushing one of the numerous tiny eggs will cause the thoughts of everybody in the proximity to merge. Everybody can hear what you think and you can hear everybody." + }, + { + "Name": "Shoes of the Restless Traveler", + "Description": "These shoes allow their user to run for miles without feeling fatigue, but if they try to do anything else with it (walk, sit down, jump), they will instantly trip" + }, + { + "Name": "Sword of Parrying", + "Description": "Parries every attack, swinging it yourself will force it to \"parry\" your opponents weapon/attack even though he/she/it is defenseless." + }, + { + "Name": "Vorpal Grindstone", + "Description": "It can \"sharpen\" any object to become vorpal. Any object." + }, + { + "Name": "The Water Hat", + "Description": "A small red hat, when worn, causes water to pour from the wearer's fingers at the speed " + } +] diff --git a/src/NadekoBot/data/pokemon/LICENSE b/src/NadekoBot/data/pokemon/LICENSE new file mode 100644 index 00000000..283bf7a1 --- /dev/null +++ b/src/NadekoBot/data/pokemon/LICENSE @@ -0,0 +1,21 @@ +Copyright (c) 2011-2016 Guangcong Luo and other contributors +http://pokemonshowdown.com/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/NadekoBot/data/pokemon/pokemon_abilities.json b/src/NadekoBot/data/pokemon/pokemon_abilities.json new file mode 100644 index 00000000..7cfde85f --- /dev/null +++ b/src/NadekoBot/data/pokemon/pokemon_abilities.json @@ -0,0 +1,1596 @@ +{ + "adaptability": { + "desc": "This Pokemon's moves that match one of its types have a same-type attack bonus (STAB) of 2 instead of 1.5.", + "shortDesc": "This Pokemon's same-type attack bonus (STAB) is 2 instead of 1.5.", + "id": "adaptability", + "name": "Adaptability", + "rating": 3.5, + "num": 91 + }, + "aftermath": { + "desc": "If this Pokemon is knocked out with a contact move, that move's user loses 1/4 of its maximum HP, rounded down. If any active Pokemon has the Ability Damp, this effect is prevented.", + "shortDesc": "If this Pokemon is KOed with a contact move, that move's user loses 1/4 its max HP.", + "id": "aftermath", + "name": "Aftermath", + "onAfterDamageOrder": 1, + "rating": 2.5, + "num": 106 + }, + "aerilate": { + "desc": "This Pokemon's Normal-type moves become Flying-type moves and have their power multiplied by 1.3. This effect comes after other effects that change a move's type, but before Ion Deluge and Electrify's effects.", + "shortDesc": "This Pokemon's Normal-type moves become Flying type and have 1.3x power.", + "onModifyMovePriority": -1, + "effect": { + "duration": 1, + "onBasePowerPriority": 8 + }, + "id": "aerilate", + "name": "Aerilate", + "rating": 4, + "num": 185 + }, + "airlock": { + "shortDesc": "While this Pokemon is active, the effects of weather conditions are disabled.", + "suppressWeather": true, + "id": "airlock", + "name": "Air Lock", + "rating": 3, + "num": 76 + }, + "analytic": { + "desc": "The power of this Pokemon's move is multiplied by 1.3 if it is the last to move in a turn. Does not affect Doom Desire and Future Sight.", + "shortDesc": "This Pokemon's attacks have 1.3x power if it is the last to move in a turn.", + "onBasePowerPriority": 8, + "id": "analytic", + "name": "Analytic", + "rating": 2, + "num": 148 + }, + "angerpoint": { + "desc": "If this Pokemon, but not its substitute, is struck by a critical hit, its Attack is raised by 12 stages.", + "shortDesc": "If this Pokemon (not its substitute) takes a critical hit, its Attack is raised 12 stages.", + "id": "angerpoint", + "name": "Anger Point", + "rating": 2, + "num": 83 + }, + "anticipation": { + "desc": "On switch-in, this Pokemon is alerted if any opposing Pokemon has an attack that is super effective on this Pokemon, or an OHKO move. Counter, Metal Burst, and Mirror Coat count as attacking moves of their respective types, while Hidden Power, Judgment, Natural Gift, Techno Blast, and Weather Ball are considered Normal-type moves.", + "shortDesc": "On switch-in, this Pokemon shudders if any foe has a supereffective or OHKO move.", + "id": "anticipation", + "name": "Anticipation", + "rating": 1, + "num": 107 + }, + "arenatrap": { + "desc": "Prevents adjacent opposing Pokemon from choosing to switch out unless they are immune to trapping or are airborne.", + "shortDesc": "Prevents adjacent foes from choosing to switch unless they are airborne.", + "id": "arenatrap", + "name": "Arena Trap", + "rating": 4.5, + "num": 71 + }, + "aromaveil": { + "desc": "This Pokemon and its allies cannot be affected by Attract, Disable, Encore, Heal Block, Taunt, or Torment.", + "shortDesc": "Protects user/allies from Attract, Disable, Encore, Heal Block, Taunt, and Torment.", + "id": "aromaveil", + "name": "Aroma Veil", + "rating": 1.5, + "num": 165 + }, + "aurabreak": { + "desc": "While this Pokemon is active, the effects of the Abilities Dark Aura and Fairy Aura are reversed, multiplying the power of Dark- and Fairy-type moves, respectively, by 3/4 instead of 1.33.", + "shortDesc": "While this Pokemon is active, the Dark Aura and Fairy Aura power modifier is 0.75x.", + "effect": { + "duration": 1 + }, + "id": "aurabreak", + "name": "Aura Break", + "rating": 2, + "num": 188 + }, + "baddreams": { + "desc": "Causes adjacent opposing Pokemon to lose 1/8 of their maximum HP, rounded down, at the end of each turn if they are asleep.", + "shortDesc": "Causes sleeping adjacent foes to lose 1/8 of their max HP at the end of each turn.", + "onResidualOrder": 26, + "onResidualSubOrder": 1, + "id": "baddreams", + "name": "Bad Dreams", + "rating": 2, + "num": 123 + }, + "battlearmor": { + "shortDesc": "This Pokemon cannot be struck by a critical hit.", + "onCriticalHit": false, + "id": "battlearmor", + "name": "Battle Armor", + "rating": 1, + "num": 4 + }, + "bigpecks": { + "shortDesc": "Prevents other Pokemon from lowering this Pokemon's Defense stat stage.", + "id": "bigpecks", + "name": "Big Pecks", + "rating": 0.5, + "num": 145 + }, + "blaze": { + "desc": "When this Pokemon has 1/3 or less of its maximum HP, rounded down, its attacking stat is multiplied by 1.5 while using a Fire-type attack.", + "shortDesc": "When this Pokemon has 1/3 or less of its max HP, its Fire attacks do 1.5x damage.", + "onModifyAtkPriority": 5, + "onModifySpAPriority": 5, + "id": "blaze", + "name": "Blaze", + "rating": 2, + "num": 66 + }, + "bulletproof": { + "desc": "This Pokemon is immune to ballistic moves. Ballistic moves include BulvarSeed, Octazooka, Barrage, Rock Wrecker, Zap Cannon, Acid Spray, Aura Sphere, Focus Blast, and all moves with Ball or Bomb in their name.", + "shortDesc": "Makes user immune to ballistic moves (Shadow Ball, Sludge Bomb, Focus Blast, etc).", + "id": "bulletproof", + "name": "Bulletproof", + "rating": 3, + "num": 171 + }, + "cheekpouch": { + "desc": "If this Pokemon eats a Berry, it restores 1/3 of its maximum HP, rounded down, in addition to the Berry's effect.", + "shortDesc": "If this Pokemon eats a Berry, it restores 1/3 of its max HP after the Berry's effect.", + "id": "cheekpouch", + "name": "Cheek Pouch", + "rating": 2, + "num": 167 + }, + "chlorophyll": { + "shortDesc": "If Sunny Day is active, this Pokemon's Speed is doubled.", + "id": "chlorophyll", + "name": "Chlorophyll", + "rating": 2.5, + "num": 34 + }, + "clearbody": { + "shortDesc": "Prevents other Pokemon from lowering this Pokemon's stat stages.", + "id": "clearbody", + "name": "Clear Body", + "rating": 2, + "num": 29 + }, + "cloudnine": { + "shortDesc": "While this Pokemon is active, the effects of weather conditions are disabled.", + "suppressWeather": true, + "id": "cloudnine", + "name": "Cloud Nine", + "rating": 3, + "num": 13 + }, + "colorchange": { + "desc": "This Pokemon's type changes to match the type of the last move that hit it, unless that type is already one of its types. This effect applies after all hits from a multi-hit move; Sheer Force prevents it from activating if the move has a secondary effect.", + "shortDesc": "This Pokemon's type changes to the type of a move it's hit by, unless it has the type.", + "id": "colorchange", + "name": "Color Change", + "rating": 1, + "num": 16 + }, + "competitive": { + "desc": "This Pokemon's Special Attack is raised by 2 stages for each of its stat stages that is lowered by an opposing Pokemon.", + "shortDesc": "This Pokemon's Sp. Atk is raised by 2 for each of its stats that is lowered by a foe.", + "id": "competitive", + "name": "Competitive", + "rating": 2.5, + "num": 172 + }, + "compoundeyes": { + "shortDesc": "This Pokemon's moves have their accuracy multiplied by 1.3.", + "id": "compoundeyes", + "name": "Compound Eyes", + "rating": 3.5, + "num": 14 + }, + "contrary": { + "shortDesc": "If this Pokemon has a stat stage raised it is lowered instead, and vice versa.", + "id": "contrary", + "name": "Contrary", + "rating": 4, + "num": 126 + }, + "cursedbody": { + "desc": "If this Pokemon is hit by an attack, there is a 30% chance that move gets disabled unless one of the attacker's moves is already disabled.", + "shortDesc": "If this Pokemon is hit by an attack, there is a 30% chance that move gets disabled.", + "id": "cursedbody", + "name": "Cursed Body", + "rating": 2, + "num": 130 + }, + "cutecharm": { + "desc": "There is a 30% chance a Pokemon making contact with this Pokemon will become infatuated if it is of the opposite gender.", + "shortDesc": "30% chance of infatuating Pokemon of the opposite gender if they make contact.", + "id": "cutecharm", + "name": "Cute Charm", + "rating": 1, + "num": 56 + }, + "damp": { + "desc": "While this Pokemon is active, Self-Destruct, Explosion, and the Ability Aftermath are prevented from having an effect.", + "shortDesc": "While this Pokemon is active, Self-Destruct, Explosion, and Aftermath have no effect.", + "id": "damp", + "name": "Damp", + "rating": 1, + "num": 6 + }, + "darkaura": { + "desc": "While this Pokemon is active, the power of Dark-type moves used by active Pokemon is multiplied by 1.33.", + "shortDesc": "While this Pokemon is active, a Dark move used by any Pokemon has 1.33x power.", + "id": "darkaura", + "name": "Dark Aura", + "rating": 3, + "num": 186 + }, + "defeatist": { + "desc": "While this Pokemon has 1/2 or less of its maximum HP, its Attack and Special Attack are halved.", + "shortDesc": "While this Pokemon has 1/2 or less of its max HP, its Attack and Sp. Atk are halved.", + "onModifyAtkPriority": 5, + "onModifySpAPriority": 5, + "id": "defeatist", + "name": "Defeatist", + "rating": -1, + "num": 129 + }, + "defiant": { + "desc": "This Pokemon's Attack is raised by 2 stages for each of its stat stages that is lowered by an opposing Pokemon.", + "shortDesc": "This Pokemon's Attack is raised by 2 for each of its stats that is lowered by a foe.", + "id": "defiant", + "name": "Defiant", + "rating": 2.5, + "num": 128 + }, + "deltastream": { + "desc": "On switch-in, the weather becomes strong winds that remove the weaknesses of the Flying type from Flying-type Pokemon. This weather remains in effect until this Ability is no longer active for any Pokemon, or the weather is changed by Desolate Land or Primordial Sea.", + "shortDesc": "On switch-in, strong winds begin until this Ability is not active in battle.", + "id": "deltastream", + "name": "Delta Stream", + "rating": 5, + "num": 191 + }, + "desolateland": { + "desc": "On switch-in, the weather becomes extremely harsh sunlight that prevents damaging Water-type moves from executing, in addition to all the effects of Sunny Day. This weather remains in effect until this Ability is no longer active for any Pokemon, or the weather is changed by Delta Stream or Primordial Sea.", + "shortDesc": "On switch-in, extremely harsh sunlight begins until this Ability is not active in battle.", + "id": "desolateland", + "name": "Desolate Land", + "rating": 5, + "num": 190 + }, + "download": { + "desc": "On switch-in, this Pokemon's Attack or Special Attack is raised by 1 stage based on the weaker combined defensive stat of all opposing Pokemon. Attack is raised if their Defense is lower, and Special Attack is raised if their Special Defense is the same or lower.", + "shortDesc": "On switch-in, Attack or Sp. Atk is raised 1 stage based on the foes' weaker Defense.", + "id": "download", + "name": "Download", + "rating": 4, + "num": 88 + }, + "drizzle": { + "shortDesc": "On switch-in, this Pokemon summons Rain Dance.", + "id": "drizzle", + "name": "Drizzle", + "rating": 4.5, + "num": 2 + }, + "drought": { + "shortDesc": "On switch-in, this Pokemon summons Sunny Day.", + "id": "drought", + "name": "Drought", + "rating": 4.5, + "num": 70 + }, + "dryskin": { + "desc": "This Pokemon is immune to Water-type moves and restores 1/4 of its maximum HP, rounded down, when hit by a Water-type move. The power of Fire-type moves is multiplied by 1.25 when used on this Pokemon. At the end of each turn, this Pokemon restores 1/8 of its maximum HP, rounded down, if the weather is Rain Dance, and loses 1/8 of its maximum HP, rounded down, if the weather is Sunny Day.", + "shortDesc": "This Pokemon is healed 1/4 by Water, 1/8 by Rain; is hurt 1.25x by Fire, 1/8 by Sun.", + "onBasePowerPriority": 7, + "id": "dryskin", + "name": "Dry Skin", + "rating": 3.5, + "num": 87 + }, + "earlybird": { + "shortDesc": "This Pokemon's sleep counter drops by 2 instead of 1.", + "id": "earlybird", + "name": "Early Bird", + "rating": 2.5, + "num": 48 + }, + "effectspore": { + "desc": "30% chance a Pokemon making contact with this Pokemon will be poisoned, paralyzed, or fall asleep.", + "shortDesc": "30% chance of poison/paralysis/sleep on others making contact with this Pokemon.", + "id": "effectspore", + "name": "Effect Spore", + "rating": 2, + "num": 27 + }, + "fairyaura": { + "desc": "While this Pokemon is active, the power of Fairy-type moves used by active Pokemon is multiplied by 1.33.", + "shortDesc": "While this Pokemon is active, a Fairy move used by any Pokemon has 1.33x power.", + "id": "fairyaura", + "name": "Fairy Aura", + "rating": 3, + "num": 187 + }, + "filter": { + "shortDesc": "This Pokemon receives 3/4 damage from supereffective attacks.", + "id": "filter", + "name": "Filter", + "rating": 3, + "num": 111 + }, + "flamebody": { + "shortDesc": "30% chance a Pokemon making contact with this Pokemon will be burned.", + "id": "flamebody", + "name": "Flame Body", + "rating": 2, + "num": 49 + }, + "flareboost": { + "desc": "While this Pokemon is burned, the power of its special attacks is multiplied by 1.5.", + "shortDesc": "While this Pokemon is burned, its special attacks have 1.5x power.", + "onBasePowerPriority": 8, + "id": "flareboost", + "name": "Flare Boost", + "rating": 2.5, + "num": 138 + }, + "flashfire": { + "desc": "This Pokemon is immune to Fire-type moves. The first time it is hit by a Fire-type move, its attacking stat is multiplied by 1.5 while using a Fire-type attack as long as it remains active and has this Ability. If this Pokemon is frozen, it cannot be defrosted by Fire-type attacks.", + "shortDesc": "This Pokemon's Fire attacks do 1.5x damage if hit by one Fire move; Fire immunity.", + "effect": { + "noCopy": true, + "onModifyAtkPriority": 5, + "onModifySpAPriority": 5 + }, + "id": "flashfire", + "name": "Flash Fire", + "rating": 3, + "num": 18 + }, + "flowergift": { + "desc": "If this Pokemon is a Cherrim and Sunny Day is active, it changes to Sunshine Form and the Attack and Special Defense of it and its allies are multiplied by 1.5.", + "shortDesc": "If user is Cherrim and Sunny Day is active, it and allies' Attack and Sp. Def are 1.5x.", + "onModifyAtkPriority": 3, + "onModifySpDPriority": 4, + "id": "flowergift", + "name": "Flower Gift", + "rating": 2.5, + "num": 122 + }, + "flowerveil": { + "desc": "Grass-type Pokemon on this Pokemon's side cannot have their stat stages lowered by other Pokemon or have a major status condition inflicted on them by other Pokemon.", + "shortDesc": "This side's Grass types can't have stats lowered or status inflicted by other Pokemon.", + "id": "flowerveil", + "name": "Flower Veil", + "rating": 0, + "num": 166 + }, + "forecast": { + "desc": "If this Pokemon is a Castform, its type changes to the current weather condition's type, except Sandstorm.", + "shortDesc": "Castform's type changes to the current weather condition's type, except Sandstorm.", + "id": "forecast", + "name": "Forecast", + "rating": 3, + "num": 59 + }, + "forewarn": { + "desc": "On switch-in, this Pokemon is alerted to the move with the highest power, at random, known by an opposing Pokemon.", + "shortDesc": "On switch-in, this Pokemon is alerted to the foes' move with the highest power.", + "id": "forewarn", + "name": "Forewarn", + "rating": 1, + "num": 108 + }, + "friendguard": { + "shortDesc": "This Pokemon's allies receive 3/4 damage from other Pokemon's attacks.", + "id": "friendguard", + "name": "Friend Guard", + "rating": 0, + "num": 132 + }, + "frisk": { + "shortDesc": "On switch-in, this Pokemon identifies the held items of all opposing Pokemon.", + "id": "frisk", + "name": "Frisk", + "rating": 1.5, + "num": 119 + }, + "furcoat": { + "shortDesc": "This Pokemon's Defense is doubled.", + "onModifyDefPriority": 6, + "id": "furcoat", + "name": "Fur Coat", + "rating": 3.5, + "num": 169 + }, + "galewings": { + "shortDesc": "This Pokemon's Flying-type moves have their priority increased by 1.", + "id": "galewings", + "name": "Gale Wings", + "rating": 4.5, + "num": 177 + }, + "gluttony": { + "shortDesc": "When this Pokemon has 1/2 or less of its maximum HP, it uses certain Berries early.", + "id": "gluttony", + "name": "Gluttony", + "rating": 1, + "num": 82 + }, + "gooey": { + "shortDesc": "Pokemon making contact with this Pokemon have their Speed lowered by 1 stage.", + "id": "gooey", + "name": "Gooey", + "rating": 2.5, + "num": 183 + }, + "grasspelt": { + "shortDesc": "If Grassy Terrain is active, this Pokemon's Defense is multiplied by 1.5.", + "onModifyDefPriority": 6, + "id": "grasspelt", + "name": "Grass Pelt", + "rating": 0.5, + "num": 179 + }, + "guts": { + "desc": "If this Pokemon has a major status condition, its Attack is multiplied by 1.5; burn's physical damage halving is ignored.", + "shortDesc": "If this Pokemon is statused, its Attack is 1.5x; ignores burn halving physical damage.", + "onModifyAtkPriority": 5, + "id": "guts", + "name": "Guts", + "rating": 3, + "num": 62 + }, + "harvest": { + "desc": "If the last item this Pokemon used is a Berry, there is a 50% chance it gets restored at the end of each turn. If Sunny Day is active, this chance is 100%.", + "shortDesc": "If last item used is a Berry, 50% chance to restore it each end of turn. 100% in Sun.", + "id": "harvest", + "name": "Harvest", + "onResidualOrder": 26, + "onResidualSubOrder": 1, + "rating": 2.5, + "num": 139 + }, + "healer": { + "desc": "There is a 30% chance of curing an adjacent ally's major status condition at the end of each turn.", + "shortDesc": "30% chance of curing an adjacent ally's status at the end of each turn.", + "id": "healer", + "name": "Healer", + "onResidualOrder": 5, + "onResidualSubOrder": 1, + "rating": 0, + "num": 131 + }, + "heatproof": { + "desc": "The power of Fire-type attacks against this Pokemon is halved, and any burn damage taken is 1/16 of its maximum HP, rounded down.", + "shortDesc": "The power of Fire-type attacks against this Pokemon is halved; burn damage halved.", + "onBasePowerPriority": 7, + "id": "heatproof", + "name": "Heatproof", + "rating": 2.5, + "num": 85 + }, + "heavymetal": { + "shortDesc": "This Pokemon's weight is doubled.", + "id": "heavymetal", + "name": "Heavy Metal", + "rating": -1, + "num": 134 + }, + "honeygather": { + "shortDesc": "No competitive use.", + "id": "honeygather", + "name": "Honey Gather", + "rating": 0, + "num": 118 + }, + "hugepower": { + "shortDesc": "This Pokemon's Attack is doubled.", + "onModifyAtkPriority": 5, + "id": "hugepower", + "name": "Huge Power", + "rating": 5, + "num": 37 + }, + "hustle": { + "desc": "This Pokemon's Attack is multiplied by 1.5 and the accuracy of its physical attacks is multiplied by 0.8.", + "shortDesc": "This Pokemon's Attack is 1.5x and accuracy of its physical attacks is 0.8x.", + "onModifyAtkPriority": 5, + "id": "hustle", + "name": "Hustle", + "rating": 3, + "num": 55 + }, + "hydration": { + "desc": "This Pokemon has its major status condition cured at the end of each turn if Rain Dance is active.", + "shortDesc": "This Pokemon has its status cured at the end of each turn if Rain Dance is active.", + "onResidualOrder": 5, + "onResidualSubOrder": 1, + "id": "hydration", + "name": "Hydration", + "rating": 2, + "num": 93 + }, + "hypercutter": { + "shortDesc": "Prevents other Pokemon from lowering this Pokemon's Attack stat stage.", + "id": "hypercutter", + "name": "Hyper Cutter", + "rating": 1.5, + "num": 52 + }, + "icebody": { + "desc": "If Hail is active, this Pokemon restores 1/16 of its maximum HP, rounded down, at the end of each turn. This Pokemon takes no damage from Hail.", + "shortDesc": "If Hail is active, this Pokemon heals 1/16 of its max HP each turn; immunity to Hail.", + "id": "icebody", + "name": "Ice Body", + "rating": 1.5, + "num": 115 + }, + "illuminate": { + "shortDesc": "No competitive use.", + "id": "illuminate", + "name": "Illuminate", + "rating": 0, + "num": 35 + }, + "illusion": { + "desc": "When this Pokemon switches in, it appears as the last unfainted Pokemon in its party until it takes direct damage from another Pokemon's attack. This Pokemon's actual level and HP are displayed instead of those of the mimicked Pokemon.", + "shortDesc": "This Pokemon appears as the last Pokemon in the party until it takes direct damage.", + "id": "illusion", + "name": "Illusion", + "rating": 4.5, + "num": 149 + }, + "immunity": { + "shortDesc": "This Pokemon cannot be poisoned. Gaining this Ability while poisoned cures it.", + "id": "immunity", + "name": "Immunity", + "rating": 2, + "num": 17 + }, + "imposter": { + "desc": "On switch-in, this Pokemon Transforms into the opposing Pokemon that is facing it. If there is no Pokemon at that position, this Pokemon does not Transform.", + "shortDesc": "On switch-in, this Pokemon Transforms into the opposing Pokemon that is facing it.", + "id": "imposter", + "name": "Imposter", + "rating": 4.5, + "num": 150 + }, + "infiltrator": { + "desc": "This Pokemon's moves ignore substitutes and the opposing side's Reflect, Light Screen, Safeguard, and Mist.", + "shortDesc": "Moves ignore substitutes and opposing Reflect, Light Screen, Safeguard, and Mist.", + "id": "infiltrator", + "name": "Infiltrator", + "rating": 3, + "num": 151 + }, + "innerfocus": { + "shortDesc": "This Pokemon cannot be made to flinch.", + "onFlinch": false, + "id": "innerfocus", + "name": "Inner Focus", + "rating": 1.5, + "num": 39 + }, + "insomnia": { + "shortDesc": "This Pokemon cannot fall asleep. Gaining this Ability while asleep cures it.", + "id": "insomnia", + "name": "Insomnia", + "rating": 2, + "num": 15 + }, + "intimidate": { + "desc": "On switch-in, this Pokemon lowers the Attack of adjacent opposing Pokemon by 1 stage. Pokemon behind a substitute are immune.", + "shortDesc": "On switch-in, this Pokemon lowers the Attack of adjacent opponents by 1 stage.", + "id": "intimidate", + "name": "Intimidate", + "rating": 3.5, + "num": 22 + }, + "ironbarbs": { + "desc": "Pokemon making contact with this Pokemon lose 1/8 of their maximum HP, rounded down.", + "shortDesc": "Pokemon making contact with this Pokemon lose 1/8 of their max HP.", + "onAfterDamageOrder": 1, + "id": "ironbarbs", + "name": "Iron Barbs", + "rating": 3, + "num": 160 + }, + "ironfist": { + "desc": "This Pokemon's punch-based attacks have their power multiplied by 1.2.", + "shortDesc": "This Pokemon's punch-based attacks have 1.2x power. Sucker Punch is not boosted.", + "onBasePowerPriority": 8, + "id": "ironfist", + "name": "Iron Fist", + "rating": 3, + "num": 89 + }, + "justified": { + "shortDesc": "This Pokemon's Attack is raised by 1 stage after it is damaged by a Dark-type move.", + "id": "justified", + "name": "Justified", + "rating": 2, + "num": 154 + }, + "keeneye": { + "desc": "Prevents other Pokemon from lowering this Pokemon's accuracy stat stage. This Pokemon ignores a target's evasiveness stat stage.", + "shortDesc": "This Pokemon's accuracy can't be lowered by others; ignores their evasiveness stat.", + "id": "keeneye", + "name": "Keen Eye", + "rating": 1, + "num": 51 + }, + "klutz": { + "desc": "This Pokemon's held item has no effect. This Pokemon cannot use Fling successfully. Macho Brace, Power Anklet, Power Band, Power Belt, Power Bracer, Power Lens, and Power Weight still have their effects.", + "shortDesc": "This Pokemon's held item has no effect, except Macho Brace. Fling cannot be used.", + "id": "klutz", + "name": "Klutz", + "rating": -1, + "num": 103 + }, + "leafguard": { + "desc": "If Sunny Day is active, this Pokemon cannot gain a major status condition and Rest will fail for it.", + "shortDesc": "If Sunny Day is active, this Pokemon cannot be statused and Rest will fail for it.", + "id": "leafguard", + "name": "Leaf Guard", + "rating": 1, + "num": 102 + }, + "levitate": { + "desc": "This Pokemon is immune to Ground. Gravity, Ingrain, Smack Down, Thousand Arrows, and Iron Ball nullify the immunity.", + "shortDesc": "This Pokemon is immune to Ground; Gravity/Ingrain/Smack Down/Iron Ball nullify it.", + "id": "levitate", + "name": "Levitate", + "rating": 3.5, + "num": 26 + }, + "lightmetal": { + "shortDesc": "This Pokemon's weight is halved.", + "id": "lightmetal", + "name": "Light Metal", + "rating": 1, + "num": 135 + }, + "lightningrod": { + "desc": "This Pokemon is immune to Electric-type moves and raises its Special Attack by 1 stage when hit by an Electric-type move. If this Pokemon is not the target of a single-target Electric-type move used by another Pokemon, this Pokemon redirects that move to itself if it is within the range of that move.", + "shortDesc": "This Pokemon draws Electric moves to itself to raise Sp. Atk by 1; Electric immunity.", + "id": "lightningrod", + "name": "Lightning Rod", + "rating": 3.5, + "num": 32 + }, + "limber": { + "shortDesc": "This Pokemon cannot be paralyzed. Gaining this Ability while paralyzed cures it.", + "id": "limber", + "name": "Limber", + "rating": 1.5, + "num": 7 + }, + "liquidooze": { + "shortDesc": "This Pokemon damages those draining HP from it for as much as they would heal.", + "id": "liquidooze", + "name": "Liquid Ooze", + "rating": 1.5, + "num": 64 + }, + "magicbounce": { + "desc": "This Pokemon blocks certain status moves and instead uses the move against the original user.", + "shortDesc": "This Pokemon blocks certain status moves and bounces them back to the user.", + "id": "magicbounce", + "name": "Magic Bounce", + "onTryHitPriority": 1, + "effect": { + "duration": 1 + }, + "rating": 4.5, + "num": 156 + }, + "magicguard": { + "desc": "This Pokemon can only be damaged by direct attacks. Curse and Substitute on use, Belly Drum, Pain Split, Struggle recoil, and confusion damage are considered direct damage.", + "shortDesc": "This Pokemon can only be damaged by direct attacks.", + "id": "magicguard", + "name": "Magic Guard", + "rating": 4.5, + "num": 98 + }, + "magician": { + "desc": "If this Pokemon has no item, it steals the item off a Pokemon it hits with an attack. Does not affect Doom Desire and Future Sight.", + "shortDesc": "If this Pokemon has no item, it steals the item off a Pokemon it hits with an attack.", + "id": "magician", + "name": "Magician", + "rating": 1.5, + "num": 170 + }, + "magmaarmor": { + "shortDesc": "This Pokemon cannot be frozen. Gaining this Ability while frozen cures it.", + "id": "magmaarmor", + "name": "Magma Armor", + "rating": 0.5, + "num": 40 + }, + "magnetpull": { + "desc": "Prevents adjacent opposing Steel-type Pokemon from choosing to switch out unless they are immune to trapping.", + "shortDesc": "Prevents adjacent Steel-type foes from choosing to switch.", + "id": "magnetpull", + "name": "Magnet Pull", + "rating": 4.5, + "num": 42 + }, + "marvelscale": { + "desc": "If this Pokemon has a major status condition, its Defense is multiplied by 1.5.", + "shortDesc": "If this Pokemon is statused, its Defense is 1.5x.", + "onModifyDefPriority": 6, + "id": "marvelscale", + "name": "Marvel Scale", + "rating": 2.5, + "num": 63 + }, + "megalauncher": { + "desc": "This Pokemon's pulse moves have their power multiplied by 1.5. Heal Pulse restores 3/4 of a target's maximum HP, rounded half down.", + "shortDesc": "This Pokemon's pulse moves have 1.5x power. Heal Pulse heals 3/4 target's max HP.", + "onBasePowerPriority": 8, + "id": "megalauncher", + "name": "Mega Launcher", + "rating": 3.5, + "num": 178 + }, + "minus": { + "desc": "If an active ally has this Ability or the Ability Plus, this Pokemon's Special Attack is multiplied by 1.5.", + "shortDesc": "If an active ally has this Ability or the Ability Plus, this Pokemon's Sp. Atk is 1.5x.", + "onModifySpAPriority": 5, + "id": "minus", + "name": "Minus", + "rating": 0, + "num": 58 + }, + "moldbreaker": { + "shortDesc": "This Pokemon's moves and their effects ignore the Abilities of other Pokemon.", + "stopAttackEvents": true, + "id": "moldbreaker", + "name": "Mold Breaker", + "rating": 3.5, + "num": 104 + }, + "moody": { + "desc": "This Pokemon has a random stat raised by 2 stages and another stat lowered by 1 stage at the end of each turn.", + "shortDesc": "Raises a random stat by 2 and lowers another stat by 1 at the end of each turn.", + "onResidualOrder": 26, + "onResidualSubOrder": 1, + "id": "moody", + "name": "Moody", + "rating": 5, + "num": 141 + }, + "motordrive": { + "desc": "This Pokemon is immune to Electric-type moves and raises its Speed by 1 stage when hit by an Electric-type move.", + "shortDesc": "This Pokemon's Speed is raised 1 stage if hit by an Electric move; Electric immunity.", + "id": "motordrive", + "name": "Motor Drive", + "rating": 3, + "num": 78 + }, + "moxie": { + "desc": "This Pokemon's Attack is raised by 1 stage if it attacks and knocks out another Pokemon.", + "shortDesc": "This Pokemon's Attack is raised by 1 stage if it attacks and KOes another Pokemon.", + "id": "moxie", + "name": "Moxie", + "rating": 3.5, + "num": 153 + }, + "multiscale": { + "shortDesc": "If this Pokemon is at full HP, damage taken from attacks is halved.", + "id": "multiscale", + "name": "Multiscale", + "rating": 4, + "num": 136 + }, + "multitype": { + "shortDesc": "If this Pokemon is an Arceus, its type changes to match its held Plate.", + "id": "multitype", + "name": "Multitype", + "rating": 4, + "num": 121 + }, + "mummy": { + "desc": "Pokemon making contact with this Pokemon have their Ability changed to Mummy. Does not affect the Abilities Multitype or Stance Change.", + "shortDesc": "Pokemon making contact with this Pokemon have their Ability changed to Mummy.", + "id": "mummy", + "name": "Mummy", + "rating": 2, + "num": 152 + }, + "naturalcure": { + "shortDesc": "This Pokemon has its major status condition cured when it switches out.", + "id": "naturalcure", + "name": "Natural Cure", + "rating": 3.5, + "num": 30 + }, + "noguard": { + "shortDesc": "Every move used by or against this Pokemon will always hit.", + "id": "noguard", + "name": "No Guard", + "rating": 4, + "num": 99 + }, + "normalize": { + "desc": "This Pokemon's moves are changed to be Normal type. This effect comes before other effects that change a move's type.", + "shortDesc": "This Pokemon's moves are changed to be Normal type.", + "onModifyMovePriority": 1, + "id": "normalize", + "name": "Normalize", + "rating": -1, + "num": 96 + }, + "oblivious": { + "desc": "This Pokemon cannot be infatuated or taunted. Gaining this Ability while affected cures it.", + "shortDesc": "This Pokemon cannot be infatuated or taunted. Gaining this Ability cures it.", + "id": "oblivious", + "name": "Oblivious", + "rating": 1, + "num": 12 + }, + "overcoat": { + "shortDesc": "This Pokemon is immune to powder moves and damage from Sandstorm or Hail.", + "id": "overcoat", + "name": "Overcoat", + "rating": 2.5, + "num": 142 + }, + "overgrow": { + "desc": "When this Pokemon has 1/3 or less of its maximum HP, its attacking stat is multiplied by 1.5 while using a Grass-type attack.", + "shortDesc": "When this Pokemon has 1/3 or less of its max HP, its Grass attacks do 1.5x damage.", + "onModifyAtkPriority": 5, + "onModifySpAPriority": 5, + "id": "overgrow", + "name": "Overgrow", + "rating": 2, + "num": 65 + }, + "owntempo": { + "shortDesc": "This Pokemon cannot be confused. Gaining this Ability while confused cures it.", + "id": "owntempo", + "name": "Own Tempo", + "rating": 1, + "num": 20 + }, + "parentalbond": { + "desc": "This Pokemon's damaging moves become multi-hit moves that hit twice. The second hit has its damage halved. Does not affect multi-hit moves or moves that have multiple targets.", + "shortDesc": "This Pokemon's damaging moves hit twice. The second hit has its damage halved.", + "effect": { + "duration": 1, + "onBasePowerPriority": 8 + }, + "id": "parentalbond", + "name": "Parental Bond", + "rating": 5, + "num": 184 + }, + "pickup": { + "shortDesc": "If this Pokemon has no item, it finds one used by an adjacent Pokemon this turn.", + "onResidualOrder": 26, + "onResidualSubOrder": 1, + "id": "pickup", + "name": "Pickup", + "rating": 0.5, + "num": 53 + }, + "pickpocket": { + "desc": "If this Pokemon has no item, it steals the item off a Pokemon that makes contact with it. This effect applies after all hits from a multi-hit move; Sheer Force prevents it from activating if the move has a secondary effect.", + "shortDesc": "If this Pokemon has no item, it steals the item off a Pokemon making contact with it.", + "id": "pickpocket", + "name": "Pickpocket", + "rating": 1, + "num": 124 + }, + "pixilate": { + "desc": "This Pokemon's Normal-type moves become Fairy-type moves and have their power multiplied by 1.3. This effect comes after other effects that change a move's type, but before Ion Deluge and Electrify's effects.", + "shortDesc": "This Pokemon's Normal-type moves become Fairy type and have 1.3x power.", + "onModifyMovePriority": -1, + "effect": { + "duration": 1, + "onBasePowerPriority": 8 + }, + "id": "pixilate", + "name": "Pixilate", + "rating": 4, + "num": 182 + }, + "plus": { + "desc": "If an active ally has this Ability or the Ability Minus, this Pokemon's Special Attack is multiplied by 1.5.", + "shortDesc": "If an active ally has this Ability or the Ability Minus, this Pokemon's Sp. Atk is 1.5x.", + "onModifySpAPriority": 5, + "id": "plus", + "name": "Plus", + "rating": 0, + "num": 57 + }, + "poisonheal": { + "desc": "If this Pokemon is poisoned, it restores 1/8 of its maximum HP, rounded down, at the end of each turn instead of losing HP.", + "shortDesc": "This Pokemon is healed by 1/8 of its max HP each turn when poisoned; no HP loss.", + "id": "poisonheal", + "name": "Poison Heal", + "rating": 4, + "num": 90 + }, + "poisonpoint": { + "shortDesc": "30% chance a Pokemon making contact with this Pokemon will be poisoned.", + "id": "poisonpoint", + "name": "Poison Point", + "rating": 2, + "num": 38 + }, + "poisontouch": { + "shortDesc": "This Pokemon's contact moves have a 30% chance of poisoning.", + "id": "poisontouch", + "name": "Poison Touch", + "rating": 2, + "num": 143 + }, + "prankster": { + "shortDesc": "This Pokemon's non-damaging moves have their priority increased by 1.", + "id": "prankster", + "name": "Prankster", + "rating": 4.5, + "num": 158 + }, + "pressure": { + "desc": "If this Pokemon is the target of an opposing Pokemon's move, that move loses one additional PP.", + "shortDesc": "If this Pokemon is the target of a foe's move, that move loses one additional PP.", + "id": "pressure", + "name": "Pressure", + "rating": 1.5, + "num": 46 + }, + "primordialsea": { + "desc": "On switch-in, the weather becomes heavy rain that prevents damaging Fire-type moves from executing, in addition to all the effects of Rain Dance. This weather remains in effect until this Ability is no longer active for any Pokemon, or the weather is changed by Delta Stream or Desolate Land.", + "shortDesc": "On switch-in, heavy rain begins until this Ability is not active in battle.", + "id": "primordialsea", + "name": "Primordial Sea", + "rating": 5, + "num": 189 + }, + "protean": { + "desc": "This Pokemon's type changes to match the type of the move it is about to use. This effect comes after all effects that change a move's type.", + "shortDesc": "This Pokemon's type changes to match the type of the move it is about to use.", + "id": "protean", + "name": "Protean", + "rating": 4, + "num": 168 + }, + "purepower": { + "shortDesc": "This Pokemon's Attack is doubled.", + "onModifyAtkPriority": 5, + "id": "purepower", + "name": "Pure Power", + "rating": 5, + "num": 74 + }, + "quickfeet": { + "desc": "If this Pokemon has a major status condition, its Speed is multiplied by 1.5; the Speed drop from paralysis is ignored.", + "shortDesc": "If this Pokemon is statused, its Speed is 1.5x; ignores Speed drop from paralysis.", + "id": "quickfeet", + "name": "Quick Feet", + "rating": 2.5, + "num": 95 + }, + "raindish": { + "desc": "If Rain Dance is active, this Pokemon restores 1/16 of its maximum HP, rounded down, at the end of each turn.", + "shortDesc": "If Rain Dance is active, this Pokemon heals 1/16 of its max HP each turn.", + "id": "raindish", + "name": "Rain Dish", + "rating": 1.5, + "num": 44 + }, + "rattled": { + "desc": "This Pokemon's Speed is raised by 1 stage if hit by a Bug-, Dark-, or Ghost-type attack.", + "shortDesc": "This Pokemon's Speed is raised 1 stage if hit by a Bug-, Dark-, or Ghost-type attack.", + "id": "rattled", + "name": "Rattled", + "rating": 1.5, + "num": 155 + }, + "reckless": { + "desc": "This Pokemon's attacks with recoil or crash damage have their power multiplied by 1.2. Does not affect Struggle.", + "shortDesc": "This Pokemon's attacks with recoil or crash damage have 1.2x power; not Struggle.", + "onBasePowerPriority": 8, + "id": "reckless", + "name": "Reckless", + "rating": 3, + "num": 120 + }, + "refrigerate": { + "desc": "This Pokemon's Normal-type moves become Ice-type moves and have their power multiplied by 1.3. This effect comes after other effects that change a move's type, but before Ion Deluge and Electrify's effects.", + "shortDesc": "This Pokemon's Normal-type moves become Ice type and have 1.3x power.", + "onModifyMovePriority": -1, + "effect": { + "duration": 1, + "onBasePowerPriority": 8 + }, + "id": "refrigerate", + "name": "Refrigerate", + "rating": 4, + "num": 174 + }, + "regenerator": { + "shortDesc": "This Pokemon restores 1/3 of its maximum HP, rounded down, when it switches out.", + "id": "regenerator", + "name": "Regenerator", + "rating": 4, + "num": 144 + }, + "rivalry": { + "desc": "This Pokemon's attacks have their power multiplied by 1.25 against targets of the same gender or multiplied by 0.75 against targets of the opposite gender. There is no modifier if either this Pokemon or the target is genderless.", + "shortDesc": "This Pokemon's attacks do 1.25x on same gender targets; 0.75x on opposite gender.", + "onBasePowerPriority": 8, + "id": "rivalry", + "name": "Rivalry", + "rating": 0.5, + "num": 79 + }, + "rockhead": { + "desc": "This Pokemon does not take recoil damage besides Struggle, Life Orb, and crash damage.", + "shortDesc": "This Pokemon does not take recoil damage besides Struggle/Life Orb/crash damage.", + "id": "rockhead", + "name": "Rock Head", + "rating": 3, + "num": 69 + }, + "roughskin": { + "desc": "Pokemon making contact with this Pokemon lose 1/8 of their maximum HP, rounded down.", + "shortDesc": "Pokemon making contact with this Pokemon lose 1/8 of their max HP.", + "onAfterDamageOrder": 1, + "id": "roughskin", + "name": "Rough Skin", + "rating": 3, + "num": 24 + }, + "runaway": { + "shortDesc": "No competitive use.", + "id": "runaway", + "name": "Run Away", + "rating": 0, + "num": 50 + }, + "sandforce": { + "desc": "If Sandstorm is active, this Pokemon's Ground-, Rock-, and Steel-type attacks have their power multiplied by 1.3. This Pokemon takes no damage from Sandstorm.", + "shortDesc": "This Pokemon's Ground/Rock/Steel attacks do 1.3x in Sandstorm; immunity to it.", + "onBasePowerPriority": 8, + "id": "sandforce", + "name": "Sand Force", + "rating": 2, + "num": 159 + }, + "sandrush": { + "desc": "If Sandstorm is active, this Pokemon's Speed is doubled. This Pokemon takes no damage from Sandstorm.", + "shortDesc": "If Sandstorm is active, this Pokemon's Speed is doubled; immunity to Sandstorm.", + "id": "sandrush", + "name": "Sand Rush", + "rating": 2.5, + "num": 146 + }, + "sandstream": { + "shortDesc": "On switch-in, this Pokemon summons Sandstorm.", + "id": "sandstream", + "name": "Sand Stream", + "rating": 4.5, + "num": 45 + }, + "sandveil": { + "desc": "If Sandstorm is active, this Pokemon's evasiveness is multiplied by 1.25. This Pokemon takes no damage from Sandstorm.", + "shortDesc": "If Sandstorm is active, this Pokemon's evasiveness is 1.25x; immunity to Sandstorm.", + "id": "sandveil", + "name": "Sand Veil", + "rating": 1.5, + "num": 8 + }, + "sapsipper": { + "desc": "This Pokemon is immune to Grass-type moves and raises its Attack by 1 stage when hit by a Grass-type move.", + "shortDesc": "This Pokemon's Attack is raised 1 stage if hit by a Grass move; Grass immunity.", + "id": "sapsipper", + "name": "Sap Sipper", + "rating": 3.5, + "num": 157 + }, + "scrappy": { + "shortDesc": "This Pokemon can hit Ghost types with Normal- and Fighting-type moves.", + "onModifyMovePriority": -5, + "id": "scrappy", + "name": "Scrappy", + "rating": 3, + "num": 113 + }, + "serenegrace": { + "shortDesc": "This Pokemon's moves have their secondary effect chance doubled.", + "onModifyMovePriority": -2, + "id": "serenegrace", + "name": "Serene Grace", + "rating": 4, + "num": 32 + }, + "shadowtag": { + "desc": "Prevents adjacent opposing Pokemon from choosing to switch out unless they are immune to trapping or also have this Ability.", + "shortDesc": "Prevents adjacent foes from choosing to switch unless they also have this Ability.", + "id": "shadowtag", + "name": "Shadow Tag", + "rating": 5, + "num": 23 + }, + "shedskin": { + "desc": "This Pokemon has a 33% chance to have its major status condition cured at the end of each turn.", + "shortDesc": "This Pokemon has a 33% chance to have its status cured at the end of each turn.", + "onResidualOrder": 5, + "onResidualSubOrder": 1, + "id": "shedskin", + "name": "Shed Skin", + "rating": 3.5, + "num": 61 + }, + "sheerforce": { + "desc": "This Pokemon's attacks with secondary effects have their power multiplied by 1.3, but the secondary effects are removed.", + "shortDesc": "This Pokemon's attacks with secondary effects have 1.3x power; nullifies the effects.", + "effect": { + "duration": 1, + "onBasePowerPriority": 8 + }, + "id": "sheerforce", + "name": "Sheer Force", + "rating": 4, + "num": 125 + }, + "shellarmor": { + "shortDesc": "This Pokemon cannot be struck by a critical hit.", + "onCriticalHit": false, + "id": "shellarmor", + "name": "Shell Armor", + "rating": 1, + "num": 75 + }, + "shielddust": { + "shortDesc": "This Pokemon is not affected by the secondary effect of another Pokemon's attack.", + "id": "shielddust", + "name": "Shield Dust", + "rating": 2.5, + "num": 19 + }, + "simple": { + "shortDesc": "If this Pokemon's stat stages are raised or lowered, the effect is doubled instead.", + "id": "simple", + "name": "Simple", + "rating": 4, + "num": 86 + }, + "skilllink": { + "shortDesc": "This Pokemon's multi-hit attacks always hit the maximum number of times.", + "id": "skilllink", + "name": "Skill Link", + "rating": 4, + "num": 92 + }, + "slowstart": { + "shortDesc": "On switch-in, this Pokemon's Attack and Speed are halved for 5 turns.", + "effect": { + "duration": 5, + "onModifyAtkPriority": 5 + }, + "id": "slowstart", + "name": "Slow Start", + "rating": -2, + "num": 112 + }, + "sniper": { + "shortDesc": "If this Pokemon strikes with a critical hit, the damage is multiplied by 1.5.", + "id": "sniper", + "name": "Sniper", + "rating": 1, + "num": 97 + }, + "snowcloak": { + "desc": "If Hail is active, this Pokemon's evasiveness is multiplied by 1.25. This Pokemon takes no damage from Hail.", + "shortDesc": "If Hail is active, this Pokemon's evasiveness is 1.25x; immunity to Hail.", + "id": "snowcloak", + "name": "Snow Cloak", + "rating": 1.5, + "num": 81 + }, + "snowwarning": { + "shortDesc": "On switch-in, this Pokemon summons Hail.", + "id": "snowwarning", + "name": "Snow Warning", + "rating": 4, + "num": 117 + }, + "solarpower": { + "desc": "If Sunny Day is active, this Pokemon's Special Attack is multiplied by 1.5 and it loses 1/8 of its maximum HP, rounded down, at the end of each turn.", + "shortDesc": "If Sunny Day is active, this Pokemon's Sp. Atk is 1.5x; loses 1/8 max HP per turn.", + "onModifySpAPriority": 5, + "id": "solarpower", + "name": "Solar Power", + "rating": 1.5, + "num": 94 + }, + "solidrock": { + "shortDesc": "This Pokemon receives 3/4 damage from supereffective attacks.", + "id": "solidrock", + "name": "Solid Rock", + "rating": 3, + "num": 116 + }, + "soundproof": { + "shortDesc": "This Pokemon is immune to sound-based moves, including Heal Bell.", + "id": "soundproof", + "name": "Soundproof", + "rating": 2, + "num": 43 + }, + "speedboost": { + "desc": "This Pokemon's Speed is raised by 1 stage at the end of each full turn it has been on the field.", + "shortDesc": "This Pokemon's Speed is raised 1 stage at the end of each full turn on the field.", + "onResidualOrder": 26, + "onResidualSubOrder": 1, + "id": "speedboost", + "name": "Speed Boost", + "rating": 4.5, + "num": 3 + }, + "stall": { + "shortDesc": "This Pokemon moves last among Pokemon using the same or greater priority moves.", + "id": "stall", + "name": "Stall", + "rating": -1, + "num": 100 + }, + "stancechange": { + "desc": "If this Pokemon is an Aegislash, it changes to Blade Forme before attempting to use an attacking move, and changes to Shield Forme before attempting to use King's Shield.", + "shortDesc": "If Aegislash, changes Forme to Blade before attacks and Shield before King's Shield.", + "onBeforeMovePriority": 11, + "id": "stancechange", + "name": "Stance Change", + "rating": 5, + "num": 176 + }, + "static": { + "shortDesc": "30% chance a Pokemon making contact with this Pokemon will be paralyzed.", + "id": "static", + "name": "Static", + "rating": 2, + "num": 9 + }, + "steadfast": { + "shortDesc": "If this Pokemon flinches, its Speed is raised by 1 stage.", + "id": "steadfast", + "name": "Steadfast", + "rating": 1, + "num": 80 + }, + "stench": { + "shortDesc": "This Pokemon's attacks without a chance to flinch have a 10% chance to flinch.", + "id": "stench", + "name": "Stench", + "rating": 0.5, + "num": 1 + }, + "stickyhold": { + "shortDesc": "This Pokemon cannot lose its held item due to another Pokemon's attack.", + "id": "stickyhold", + "name": "Sticky Hold", + "rating": 1.5, + "num": 60 + }, + "stormdrain": { + "desc": "This Pokemon is immune to Water-type moves and raises its Special Attack by 1 stage when hit by a Water-type move. If this Pokemon is not the target of a single-target Water-type move used by another Pokemon, this Pokemon redirects that move to itself if it is within the range of that move.", + "shortDesc": "This Pokemon draws Water moves to itself to raise Sp. Atk by 1; Water immunity.", + "id": "stormdrain", + "name": "Storm Drain", + "rating": 3.5, + "num": 114 + }, + "strongjaw": { + "desc": "This Pokemon's bite-based attacks have their power multiplied by 1.5.", + "shortDesc": "This Pokemon's bite-based attacks have 1.5x power. Bug Bite is not boosted.", + "onBasePowerPriority": 8, + "id": "strongjaw", + "name": "Strong Jaw", + "rating": 3, + "num": 173 + }, + "sturdy": { + "desc": "If this Pokemon is at full HP, it survives one hit with at least 1 HP. OHKO moves fail when used against this Pokemon.", + "shortDesc": "If this Pokemon is at full HP, it survives one hit with at least 1 HP. Immune to OHKO.", + "onDamagePriority": -100, + "id": "sturdy", + "name": "Sturdy", + "rating": 3, + "num": 5 + }, + "suctioncups": { + "shortDesc": "This Pokemon cannot be forced to switch out by another Pokemon's attack or item.", + "onDragOutPriority": 1, + "id": "suctioncups", + "name": "Suction Cups", + "rating": 2, + "num": 21 + }, + "superluck": { + "shortDesc": "This Pokemon's critical hit ratio is raised by 1 stage.", + "id": "superluck", + "name": "Super Luck", + "rating": 1.5, + "num": 105 + }, + "swarm": { + "desc": "When this Pokemon has 1/3 or less of its maximum HP, rounded down, its attacking stat is multiplied by 1.5 while using a Bug-type attack.", + "shortDesc": "When this Pokemon has 1/3 or less of its max HP, its Bug attacks do 1.5x damage.", + "onModifyAtkPriority": 5, + "onModifySpAPriority": 5, + "id": "swarm", + "name": "Swarm", + "rating": 2, + "num": 68 + }, + "sweetveil": { + "shortDesc": "This Pokemon and its allies cannot fall asleep.", + "id": "sweetveil", + "name": "Sweet Veil", + "rating": 2, + "num": 175 + }, + "swiftswim": { + "shortDesc": "If Rain Dance is active, this Pokemon's Speed is doubled.", + "id": "swiftswim", + "name": "Swift Swim", + "rating": 2.5, + "num": 33 + }, + "symbiosis": { + "desc": "If an ally uses its item, this Pokemon gives its item to that ally immediately. Does not activate if the ally's item was stolen or knocked off.", + "shortDesc": "If an ally uses its item, this Pokemon gives its item to that ally immediately.", + "id": "symbiosis", + "name": "Symbiosis", + "rating": 0, + "num": 180 + }, + "synchronize": { + "desc": "If another Pokemon burns, paralyzes, poisons, or badly poisons this Pokemon, that Pokemon receives the same major status condition.", + "shortDesc": "If another Pokemon burns/poisons/paralyzes this Pokemon, it also gets that status.", + "id": "synchronize", + "name": "Synchronize", + "rating": 2.5, + "num": 28 + }, + "tangledfeet": { + "shortDesc": "This Pokemon's evasiveness is doubled as long as it is confused.", + "id": "tangledfeet", + "name": "Tangled Feet", + "rating": 1, + "num": 77 + }, + "technician": { + "desc": "This Pokemon's moves of 60 power or less have their power multiplied by 1.5. Does affect Struggle.", + "shortDesc": "This Pokemon's moves of 60 power or less have 1.5x power. Includes Struggle.", + "onBasePowerPriority": 8, + "id": "technician", + "name": "Technician", + "rating": 4, + "num": 101 + }, + "telepathy": { + "shortDesc": "This Pokemon does not take damage from attacks made by its allies.", + "id": "telepathy", + "name": "Telepathy", + "rating": 0, + "num": 140 + }, + "teravolt": { + "shortDesc": "This Pokemon's moves and their effects ignore the Abilities of other Pokemon.", + "stopAttackEvents": true, + "id": "teravolt", + "name": "Teravolt", + "rating": 3.5, + "num": 164 + }, + "thickfat": { + "desc": "If a Pokemon uses a Fire- or Ice-type attack against this Pokemon, that Pokemon's attacking stat is halved when calculating the damage to this Pokemon.", + "shortDesc": "Fire/Ice-type moves against this Pokemon deal damage with a halved attacking stat.", + "onModifyAtkPriority": 6, + "onModifySpAPriority": 5, + "id": "thickfat", + "name": "Thick Fat", + "rating": 3.5, + "num": 47 + }, + "tintedlens": { + "shortDesc": "This Pokemon's attacks that are not very effective on a target deal double damage.", + "id": "tintedlens", + "name": "Tinted Lens", + "rating": 3.5, + "num": 110 + }, + "torrent": { + "desc": "When this Pokemon has 1/3 or less of its maximum HP, rounded down, its attacking stat is multiplied by 1.5 while using a Water-type attack.", + "shortDesc": "When this Pokemon has 1/3 or less of its max HP, its Water attacks do 1.5x damage.", + "onModifyAtkPriority": 5, + "onModifySpAPriority": 5, + "id": "torrent", + "name": "Torrent", + "rating": 2, + "num": 67 + }, + "toxicboost": { + "desc": "While this Pokemon is poisoned, the power of its physical attacks is multiplied by 1.5.", + "shortDesc": "While this Pokemon is poisoned, its physical attacks have 1.5x power.", + "onBasePowerPriority": 8, + "id": "toxicboost", + "name": "Toxic Boost", + "rating": 3, + "num": 137 + }, + "toughclaws": { + "shortDesc": "This Pokemon's contact moves have their power multiplied by 1.3.", + "onBasePowerPriority": 8, + "id": "toughclaws", + "name": "Tough Claws", + "rating": 3.5, + "num": 181 + }, + "trace": { + "desc": "On switch-in, this Pokemon copies a random adjacent opposing Pokemon's Ability. If there is no Ability that can be copied at that time, this Ability will activate as soon as an Ability can be copied. Abilities that cannot be copied are Flower Gift, Forecast, Illusion, Imposter, Multitype, Stance Change, Trace, and Zen Mode.", + "shortDesc": "On switch-in, or when it can, this Pokemon copies a random adjacent foe's Ability.", + "id": "trace", + "name": "Trace", + "rating": 3, + "num": 36 + }, + "truant": { + "shortDesc": "This Pokemon skips every other turn instead of using a move.", + "onBeforeMovePriority": 9, + "effect": { + "duration": 2 + }, + "id": "truant", + "name": "Truant", + "rating": -2, + "num": 54 + }, + "turboblaze": { + "shortDesc": "This Pokemon's moves and their effects ignore the Abilities of other Pokemon.", + "stopAttackEvents": true, + "id": "turboblaze", + "name": "Turboblaze", + "rating": 3.5, + "num": 163 + }, + "unaware": { + "desc": "This Pokemon ignores other Pokemon's Attack, Special Attack, and accuracy stat stages when taking damage, and ignores other Pokemon's Defense, Special Defense, and evasiveness stat stages when dealing damage.", + "shortDesc": "This Pokemon ignores other Pokemon's stat stages when taking or doing damage.", + "id": "unaware", + "name": "Unaware", + "rating": 3, + "num": 109 + }, + "unburden": { + "desc": "If this Pokemon loses its held item for any reason, its Speed is doubled. This boost is lost if it switches out or gains a new item or Ability.", + "shortDesc": "Speed is doubled on held item loss; boost is lost if it switches, gets new item/Ability.", + "effect": {}, + "id": "unburden", + "name": "Unburden", + "rating": 3.5, + "num": 84 + }, + "unnerve": { + "shortDesc": "While this Pokemon is active, it prevents opposing Pokemon from using their Berries.", + "onFoeTryEatItem": false, + "id": "unnerve", + "name": "Unnerve", + "rating": 1.5, + "num": 127 + }, + "victorystar": { + "shortDesc": "This Pokemon and its allies' moves have their accuracy multiplied by 1.1.", + "id": "victorystar", + "name": "Victory Star", + "rating": 2.5, + "num": 162 + }, + "vitalspirit": { + "shortDesc": "This Pokemon cannot fall asleep. Gaining this Ability while asleep cures it.", + "id": "vitalspirit", + "name": "Vital Spirit", + "rating": 2, + "num": 72 + }, + "voltabsorb": { + "desc": "This Pokemon is immune to Electric-type moves and restores 1/4 of its maximum HP, rounded down, when hit by an Electric-type move.", + "shortDesc": "This Pokemon heals 1/4 of its max HP when hit by Electric moves; Electric immunity.", + "id": "voltabsorb", + "name": "Volt Absorb", + "rating": 3.5, + "num": 10 + }, + "waterabsorb": { + "desc": "This Pokemon is immune to Water-type moves and restores 1/4 of its maximum HP, rounded down, when hit by a Water-type move.", + "shortDesc": "This Pokemon heals 1/4 of its max HP when hit by Water moves; Water immunity.", + "id": "waterabsorb", + "name": "Water Absorb", + "rating": 3.5, + "num": 11 + }, + "waterveil": { + "shortDesc": "This Pokemon cannot be burned. Gaining this Ability while burned cures it.", + "id": "waterveil", + "name": "Water Veil", + "rating": 2, + "num": 41 + }, + "weakarmor": { + "desc": "If a physical attack hits this Pokemon, its Defense is lowered by 1 stage and its Speed is raised by 1 stage.", + "shortDesc": "If a physical attack hits this Pokemon, Defense is lowered by 1, Speed is raised by 1.", + "id": "weakarmor", + "name": "Weak Armor", + "rating": 0.5, + "num": 133 + }, + "whitesmoke": { + "shortDesc": "Prevents other Pokemon from lowering this Pokemon's stat stages.", + "id": "whitesmoke", + "name": "White Smoke", + "rating": 2, + "num": 73 + }, + "wonderguard": { + "shortDesc": "This Pokemon can only be damaged by supereffective moves and indirect damage.", + "id": "wonderguard", + "name": "Wonder Guard", + "rating": 5, + "num": 25 + }, + "wonderskin": { + "desc": "All non-damaging moves that check accuracy have their accuracy changed to 50% when used on this Pokemon. This change is done before any other accuracy modifying effects.", + "shortDesc": "Status moves with accuracy checks are 50% accurate when used on this Pokemon.", + "onModifyAccuracyPriority": 10, + "id": "wonderskin", + "name": "Wonder Skin", + "rating": 2, + "num": 147 + }, + "zenmode": { + "desc": "If this Pokemon is a Darmanitan, it changes to Zen Mode if it has 1/2 or less of its maximum HP at the end of a turn. If Darmanitan's HP is above 1/2 of its maximum HP at the end of a turn, it changes back to Standard Mode. If Darmanitan loses this Ability while in Zen Mode it reverts to Standard Mode immediately.", + "shortDesc": "If Darmanitan, at end of turn changes Mode to Standard if > 1/2 max HP, else Zen.", + "onResidualOrder": 27, + "effect": {}, + "id": "zenmode", + "name": "Zen Mode", + "rating": -1, + "num": 161 + }, + "mountaineer": { + "shortDesc": "On switch-in, this Pokemon avoids all Rock-type attacks and Stealth Rock.", + "id": "mountaineer", + "isNonstandard": true, + "name": "Mountaineer", + "rating": 3.5, + "num": -2 + }, + "rebound": { + "desc": "On switch-in, this Pokemon blocks certain status moves and instead uses the move against the original user.", + "shortDesc": "On switch-in, blocks certain status moves and bounces them back to the user.", + "id": "rebound", + "isNonstandard": true, + "name": "Rebound", + "onTryHitPriority": 1, + "effect": { + "duration": 1 + }, + "rating": 3.5, + "num": -3 + }, + "persistent": { + "shortDesc": "The duration of certain field effects is increased by 2 turns if used by this Pokemon.", + "id": "persistent", + "isNonstandard": true, + "name": "Persistent", + "rating": 3.5, + "num": -4 + } +} \ No newline at end of file diff --git a/src/NadekoBot/data/pokemon/pokemon_list.json b/src/NadekoBot/data/pokemon/pokemon_list.json new file mode 100644 index 00000000..d93b3557 --- /dev/null +++ b/src/NadekoBot/data/pokemon/pokemon_list.json @@ -0,0 +1,25607 @@ +{ + "bulbasaur": { + "num": 1, + "species": "Bulbasaur", + "types": [ + "Grass", + "Poison" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 45, + "atk": 49, + "def": 49, + "spa": 65, + "spd": 65, + "spe": 45 + }, + "abilities": { + "0": "Overgrow", + "H": "Chlorophyll" + }, + "heightm": 0.7, + "weightkg": 6.9, + "color": "Green", + "evos": [ + "ivysaur" + ], + "eggGroups": [ + "Monster", + "Grass" + ] + }, + "ivysaur": { + "num": 2, + "species": "Ivysaur", + "types": [ + "Grass", + "Poison" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 60, + "atk": 62, + "def": 63, + "spa": 80, + "spd": 80, + "spe": 60 + }, + "abilities": { + "0": "Overgrow", + "H": "Chlorophyll" + }, + "heightm": 1, + "weightkg": 13, + "color": "Green", + "prevo": "bulbasaur", + "evos": [ + "venusaur" + ], + "evoLevel": 16, + "eggGroups": [ + "Monster", + "Grass" + ] + }, + "venusaur": { + "num": 3, + "species": "Venusaur", + "types": [ + "Grass", + "Poison" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 80, + "atk": 82, + "def": 83, + "spa": 100, + "spd": 100, + "spe": 80 + }, + "abilities": { + "0": "Overgrow", + "H": "Chlorophyll" + }, + "heightm": 2, + "weightkg": 100, + "color": "Green", + "prevo": "ivysaur", + "evoLevel": 32, + "eggGroups": [ + "Monster", + "Grass" + ], + "otherFormes": [ + "venusaurmega" + ] + }, + "venusaurmega": { + "num": 3, + "species": "Venusaur-Mega", + "baseSpecies": "Venusaur", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Grass", + "Poison" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 80, + "atk": 100, + "def": 123, + "spa": 122, + "spd": 120, + "spe": 80 + }, + "abilities": { + "0": "Thick Fat" + }, + "heightm": 2.4, + "weightkg": 155.5, + "color": "Green", + "eggGroups": [ + "Monster", + "Grass" + ] + }, + "charmander": { + "num": 4, + "species": "Charmander", + "types": [ + "Fire" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 39, + "atk": 52, + "def": 43, + "spa": 60, + "spd": 50, + "spe": 65 + }, + "abilities": { + "0": "Blaze", + "H": "Solar Power" + }, + "heightm": 0.6, + "weightkg": 8.5, + "color": "Red", + "evos": [ + "charmeleon" + ], + "eggGroups": [ + "Monster", + "Dragon" + ] + }, + "charmeleon": { + "num": 5, + "species": "Charmeleon", + "types": [ + "Fire" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 58, + "atk": 64, + "def": 58, + "spa": 80, + "spd": 65, + "spe": 80 + }, + "abilities": { + "0": "Blaze", + "H": "Solar Power" + }, + "heightm": 1.1, + "weightkg": 19, + "color": "Red", + "prevo": "charmander", + "evos": [ + "charizard" + ], + "evoLevel": 16, + "eggGroups": [ + "Monster", + "Dragon" + ] + }, + "charizard": { + "num": 6, + "species": "Charizard", + "types": [ + "Fire", + "Flying" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 78, + "atk": 84, + "def": 78, + "spa": 109, + "spd": 85, + "spe": 100 + }, + "abilities": { + "0": "Blaze", + "H": "Solar Power" + }, + "heightm": 1.7, + "weightkg": 90.5, + "color": "Red", + "prevo": "charmeleon", + "evoLevel": 36, + "eggGroups": [ + "Monster", + "Dragon" + ], + "otherFormes": [ + "charizardmegax", + "charizardmegay" + ] + }, + "charizardmegax": { + "num": 6, + "species": "Charizard-Mega-X", + "baseSpecies": "Charizard", + "forme": "Mega-X", + "formeLetter": "M", + "types": [ + "Fire", + "Dragon" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 78, + "atk": 130, + "def": 111, + "spa": 130, + "spd": 85, + "spe": 100 + }, + "abilities": { + "0": "Tough Claws" + }, + "heightm": 1.7, + "weightkg": 110.5, + "color": "Red", + "eggGroups": [ + "Monster", + "Dragon" + ] + }, + "charizardmegay": { + "num": 6, + "species": "Charizard-Mega-Y", + "baseSpecies": "Charizard", + "forme": "Mega-Y", + "formeLetter": "M", + "types": [ + "Fire", + "Flying" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 78, + "atk": 104, + "def": 78, + "spa": 159, + "spd": 115, + "spe": 100 + }, + "abilities": { + "0": "Drought" + }, + "heightm": 1.7, + "weightkg": 100.5, + "color": "Red", + "eggGroups": [ + "Monster", + "Dragon" + ] + }, + "squirtle": { + "num": 7, + "species": "Squirtle", + "types": [ + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 44, + "atk": 48, + "def": 65, + "spa": 50, + "spd": 64, + "spe": 43 + }, + "abilities": { + "0": "Torrent", + "H": "Rain Dish" + }, + "heightm": 0.5, + "weightkg": 9, + "color": "Blue", + "evos": [ + "wartortle" + ], + "eggGroups": [ + "Monster", + "Water 1" + ] + }, + "wartortle": { + "num": 8, + "species": "Wartortle", + "types": [ + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 59, + "atk": 63, + "def": 80, + "spa": 65, + "spd": 80, + "spe": 58 + }, + "abilities": { + "0": "Torrent", + "H": "Rain Dish" + }, + "heightm": 1, + "weightkg": 22.5, + "color": "Blue", + "prevo": "squirtle", + "evos": [ + "blastoise" + ], + "evoLevel": 16, + "eggGroups": [ + "Monster", + "Water 1" + ] + }, + "blastoise": { + "num": 9, + "species": "Blastoise", + "types": [ + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 79, + "atk": 83, + "def": 100, + "spa": 85, + "spd": 105, + "spe": 78 + }, + "abilities": { + "0": "Torrent", + "H": "Rain Dish" + }, + "heightm": 1.6, + "weightkg": 85.5, + "color": "Blue", + "prevo": "wartortle", + "evoLevel": 36, + "eggGroups": [ + "Monster", + "Water 1" + ], + "otherFormes": [ + "blastoisemega" + ] + }, + "blastoisemega": { + "num": 9, + "species": "Blastoise-Mega", + "baseSpecies": "Blastoise", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 79, + "atk": 103, + "def": 120, + "spa": 135, + "spd": 115, + "spe": 78 + }, + "abilities": { + "0": "Mega Launcher" + }, + "heightm": 1.6, + "weightkg": 101.1, + "color": "Blue", + "eggGroups": [ + "Monster", + "Water 1" + ] + }, + "caterpie": { + "num": 10, + "species": "Caterpie", + "types": [ + "Bug" + ], + "baseStats": { + "hp": 45, + "atk": 30, + "def": 35, + "spa": 20, + "spd": 20, + "spe": 45 + }, + "abilities": { + "0": "Shield Dust", + "H": "Run Away" + }, + "heightm": 0.3, + "weightkg": 2.9, + "color": "Green", + "evos": [ + "metapod" + ], + "eggGroups": [ + "Bug" + ] + }, + "metapod": { + "num": 11, + "species": "Metapod", + "types": [ + "Bug" + ], + "baseStats": { + "hp": 50, + "atk": 20, + "def": 55, + "spa": 25, + "spd": 25, + "spe": 30 + }, + "abilities": { + "0": "Shed Skin" + }, + "heightm": 0.7, + "weightkg": 9.9, + "color": "Green", + "prevo": "caterpie", + "evos": [ + "butterfree" + ], + "evoLevel": 7, + "eggGroups": [ + "Bug" + ] + }, + "butterfree": { + "num": 12, + "species": "Butterfree", + "types": [ + "Bug", + "Flying" + ], + "baseStats": { + "hp": 60, + "atk": 45, + "def": 50, + "spa": 90, + "spd": 80, + "spe": 70 + }, + "abilities": { + "0": "Compound Eyes", + "H": "Tinted Lens" + }, + "heightm": 1.1, + "weightkg": 32, + "color": "White", + "prevo": "metapod", + "evoLevel": 10, + "eggGroups": [ + "Bug" + ] + }, + "weedle": { + "num": 13, + "species": "Weedle", + "types": [ + "Bug", + "Poison" + ], + "baseStats": { + "hp": 40, + "atk": 35, + "def": 30, + "spa": 20, + "spd": 20, + "spe": 50 + }, + "abilities": { + "0": "Shield Dust", + "H": "Run Away" + }, + "heightm": 0.3, + "weightkg": 3.2, + "color": "Brown", + "evos": [ + "kakuna" + ], + "eggGroups": [ + "Bug" + ] + }, + "kakuna": { + "num": 14, + "species": "Kakuna", + "types": [ + "Bug", + "Poison" + ], + "baseStats": { + "hp": 45, + "atk": 25, + "def": 50, + "spa": 25, + "spd": 25, + "spe": 35 + }, + "abilities": { + "0": "Shed Skin" + }, + "heightm": 0.6, + "weightkg": 10, + "color": "Yellow", + "prevo": "weedle", + "evos": [ + "beedrill" + ], + "evoLevel": 7, + "eggGroups": [ + "Bug" + ] + }, + "beedrill": { + "num": 15, + "species": "Beedrill", + "types": [ + "Bug", + "Poison" + ], + "baseStats": { + "hp": 65, + "atk": 90, + "def": 40, + "spa": 45, + "spd": 80, + "spe": 75 + }, + "abilities": { + "0": "Swarm", + "H": "Sniper" + }, + "heightm": 1, + "weightkg": 29.5, + "color": "Yellow", + "prevo": "kakuna", + "evoLevel": 10, + "eggGroups": [ + "Bug" + ], + "otherFormes": [ + "beedrillmega" + ] + }, + "beedrillmega": { + "num": 15, + "species": "Beedrill-Mega", + "baseSpecies": "Beedrill", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Bug", + "Poison" + ], + "baseStats": { + "hp": 65, + "atk": 150, + "def": 40, + "spa": 15, + "spd": 80, + "spe": 145 + }, + "abilities": { + "0": "Adaptability" + }, + "heightm": 1.4, + "weightkg": 40.5, + "color": "Yellow", + "eggGroups": [ + "Bug" + ] + }, + "pidgey": { + "num": 16, + "species": "Pidgey", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 40, + "atk": 45, + "def": 40, + "spa": 35, + "spd": 35, + "spe": 56 + }, + "abilities": { + "0": "Keen Eye", + "1": "Tangled Feet", + "H": "Big Pecks" + }, + "heightm": 0.3, + "weightkg": 1.8, + "color": "Brown", + "evos": [ + "pidgeotto" + ], + "eggGroups": [ + "Flying" + ] + }, + "pidgeotto": { + "num": 17, + "species": "Pidgeotto", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 63, + "atk": 60, + "def": 55, + "spa": 50, + "spd": 50, + "spe": 71 + }, + "abilities": { + "0": "Keen Eye", + "1": "Tangled Feet", + "H": "Big Pecks" + }, + "heightm": 1.1, + "weightkg": 30, + "color": "Brown", + "prevo": "pidgey", + "evos": [ + "pidgeot" + ], + "evoLevel": 18, + "eggGroups": [ + "Flying" + ] + }, + "pidgeot": { + "num": 18, + "species": "Pidgeot", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 83, + "atk": 80, + "def": 75, + "spa": 70, + "spd": 70, + "spe": 101 + }, + "abilities": { + "0": "Keen Eye", + "1": "Tangled Feet", + "H": "Big Pecks" + }, + "heightm": 1.5, + "weightkg": 39.5, + "color": "Brown", + "prevo": "pidgeotto", + "evoLevel": 36, + "eggGroups": [ + "Flying" + ], + "otherFormes": [ + "pidgeotmega" + ] + }, + "pidgeotmega": { + "num": 18, + "species": "Pidgeot-Mega", + "baseSpecies": "Pidgeot", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 83, + "atk": 80, + "def": 80, + "spa": 135, + "spd": 80, + "spe": 121 + }, + "abilities": { + "0": "No Guard" + }, + "heightm": 2.2, + "weightkg": 50.5, + "color": "Brown", + "eggGroups": [ + "Flying" + ] + }, + "rattata": { + "num": 19, + "species": "Rattata", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 30, + "atk": 56, + "def": 35, + "spa": 25, + "spd": 35, + "spe": 72 + }, + "abilities": { + "0": "Run Away", + "1": "Guts", + "H": "Hustle" + }, + "heightm": 0.3, + "weightkg": 3.5, + "color": "Purple", + "evos": [ + "raticate" + ], + "eggGroups": [ + "Field" + ] + }, + "raticate": { + "num": 20, + "species": "Raticate", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 55, + "atk": 81, + "def": 60, + "spa": 50, + "spd": 70, + "spe": 97 + }, + "abilities": { + "0": "Run Away", + "1": "Guts", + "H": "Hustle" + }, + "heightm": 0.7, + "weightkg": 18.5, + "color": "Brown", + "prevo": "rattata", + "evoLevel": 20, + "eggGroups": [ + "Field" + ] + }, + "spearow": { + "num": 21, + "species": "Spearow", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 40, + "atk": 60, + "def": 30, + "spa": 31, + "spd": 31, + "spe": 70 + }, + "abilities": { + "0": "Keen Eye", + "H": "Sniper" + }, + "heightm": 0.3, + "weightkg": 2, + "color": "Brown", + "evos": [ + "fearow" + ], + "eggGroups": [ + "Flying" + ] + }, + "fearow": { + "num": 22, + "species": "Fearow", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 65, + "atk": 90, + "def": 65, + "spa": 61, + "spd": 61, + "spe": 100 + }, + "abilities": { + "0": "Keen Eye", + "H": "Sniper" + }, + "heightm": 1.2, + "weightkg": 38, + "color": "Brown", + "prevo": "spearow", + "evoLevel": 20, + "eggGroups": [ + "Flying" + ] + }, + "ekans": { + "num": 23, + "species": "Ekans", + "types": [ + "Poison" + ], + "baseStats": { + "hp": 35, + "atk": 60, + "def": 44, + "spa": 40, + "spd": 54, + "spe": 55 + }, + "abilities": { + "0": "Intimidate", + "1": "Shed Skin", + "H": "Unnerve" + }, + "heightm": 2, + "weightkg": 6.9, + "color": "Purple", + "evos": [ + "arbok" + ], + "eggGroups": [ + "Field", + "Dragon" + ] + }, + "arbok": { + "num": 24, + "species": "Arbok", + "types": [ + "Poison" + ], + "baseStats": { + "hp": 60, + "atk": 85, + "def": 69, + "spa": 65, + "spd": 79, + "spe": 80 + }, + "abilities": { + "0": "Intimidate", + "1": "Shed Skin", + "H": "Unnerve" + }, + "heightm": 3.5, + "weightkg": 65, + "color": "Purple", + "prevo": "ekans", + "evoLevel": 22, + "eggGroups": [ + "Field", + "Dragon" + ] + }, + "pikachu": { + "num": 25, + "species": "Pikachu", + "types": [ + "Electric" + ], + "baseStats": { + "hp": 35, + "atk": 55, + "def": 40, + "spa": 50, + "spd": 50, + "spe": 90 + }, + "abilities": { + "0": "Static", + "H": "Lightning Rod" + }, + "heightm": 0.4, + "weightkg": 6, + "color": "Yellow", + "prevo": "pichu", + "evos": [ + "raichu" + ], + "evoLevel": 1, + "eggGroups": [ + "Field", + "Fairy" + ], + "otherFormes": [ + "pikachucosplay", + "pikachurockstar", + "pikachubelle", + "pikachupopstar", + "pikachuphd", + "pikachulibre" + ] + }, + "pikachucosplay": { + "num": 25, + "species": "Pikachu-Cosplay", + "baseSpecies": "Pikachu", + "forme": "Cosplay", + "formeLetter": "C", + "types": [ + "Electric" + ], + "gender": "F", + "baseStats": { + "hp": 35, + "atk": 55, + "def": 40, + "spa": 50, + "spd": 50, + "spe": 90 + }, + "abilities": { + "0": "Lightning Rod" + }, + "heightm": 0.4, + "weightkg": 6, + "color": "Yellow", + "eggGroups": [ + "Undiscovered" + ] + }, + "pikachurockstar": { + "num": 25, + "species": "Pikachu-Rock-Star", + "baseSpecies": "Pikachu", + "forme": "Rock-Star", + "formeLetter": "R", + "types": [ + "Electric" + ], + "gender": "F", + "baseStats": { + "hp": 35, + "atk": 55, + "def": 40, + "spa": 50, + "spd": 50, + "spe": 90 + }, + "abilities": { + "0": "Lightning Rod" + }, + "heightm": 0.4, + "weightkg": 6, + "color": "Yellow", + "eggGroups": [ + "Undiscovered" + ] + }, + "pikachubelle": { + "num": 25, + "species": "Pikachu-Belle", + "baseSpecies": "Pikachu", + "forme": "Belle", + "formeLetter": "B", + "types": [ + "Electric" + ], + "gender": "F", + "baseStats": { + "hp": 35, + "atk": 55, + "def": 40, + "spa": 50, + "spd": 50, + "spe": 90 + }, + "abilities": { + "0": "Lightning Rod" + }, + "heightm": 0.4, + "weightkg": 6, + "color": "Yellow", + "eggGroups": [ + "Undiscovered" + ] + }, + "pikachupopstar": { + "num": 25, + "species": "Pikachu-Pop-Star", + "baseSpecies": "Pikachu", + "forme": "Pop-Star", + "formeLetter": "P", + "types": [ + "Electric" + ], + "gender": "F", + "baseStats": { + "hp": 35, + "atk": 55, + "def": 40, + "spa": 50, + "spd": 50, + "spe": 90 + }, + "abilities": { + "0": "Lightning Rod" + }, + "heightm": 0.4, + "weightkg": 6, + "color": "Yellow", + "eggGroups": [ + "Undiscovered" + ] + }, + "pikachuphd": { + "num": 25, + "species": "Pikachu-PhD", + "baseSpecies": "Pikachu", + "forme": "PhD", + "formeLetter": "D", + "types": [ + "Electric" + ], + "gender": "F", + "baseStats": { + "hp": 35, + "atk": 55, + "def": 40, + "spa": 50, + "spd": 50, + "spe": 90 + }, + "abilities": { + "0": "Lightning Rod" + }, + "heightm": 0.4, + "weightkg": 6, + "color": "Yellow", + "eggGroups": [ + "Undiscovered" + ] + }, + "pikachulibre": { + "num": 25, + "species": "Pikachu-Libre", + "baseSpecies": "Pikachu", + "forme": "Libre", + "formeLetter": "L", + "types": [ + "Electric" + ], + "gender": "F", + "baseStats": { + "hp": 35, + "atk": 55, + "def": 40, + "spa": 50, + "spd": 50, + "spe": 90 + }, + "abilities": { + "0": "Lightning Rod" + }, + "heightm": 0.4, + "weightkg": 6, + "color": "Yellow", + "eggGroups": [ + "Undiscovered" + ] + }, + "raichu": { + "num": 26, + "species": "Raichu", + "types": [ + "Electric" + ], + "baseStats": { + "hp": 60, + "atk": 90, + "def": 55, + "spa": 90, + "spd": 80, + "spe": 110 + }, + "abilities": { + "0": "Static", + "H": "Lightning Rod" + }, + "heightm": 0.8, + "weightkg": 30, + "color": "Yellow", + "prevo": "pikachu", + "evoLevel": 1, + "eggGroups": [ + "Field", + "Fairy" + ] + }, + "sandshrew": { + "num": 27, + "species": "Sandshrew", + "types": [ + "Ground" + ], + "baseStats": { + "hp": 50, + "atk": 75, + "def": 85, + "spa": 20, + "spd": 30, + "spe": 40 + }, + "abilities": { + "0": "Sand Veil", + "H": "Sand Rush" + }, + "heightm": 0.6, + "weightkg": 12, + "color": "Yellow", + "evos": [ + "sandslash" + ], + "eggGroups": [ + "Field" + ] + }, + "sandslash": { + "num": 28, + "species": "Sandslash", + "types": [ + "Ground" + ], + "baseStats": { + "hp": 75, + "atk": 100, + "def": 110, + "spa": 45, + "spd": 55, + "spe": 65 + }, + "abilities": { + "0": "Sand Veil", + "H": "Sand Rush" + }, + "heightm": 1, + "weightkg": 29.5, + "color": "Yellow", + "prevo": "sandshrew", + "evoLevel": 22, + "eggGroups": [ + "Field" + ] + }, + "nidoranf": { + "num": 29, + "species": "Nidoran-F", + "types": [ + "Poison" + ], + "gender": "F", + "baseStats": { + "hp": 55, + "atk": 47, + "def": 52, + "spa": 40, + "spd": 40, + "spe": 41 + }, + "abilities": { + "0": "Poison Point", + "1": "Rivalry", + "H": "Hustle" + }, + "heightm": 0.4, + "weightkg": 7, + "color": "Blue", + "evos": [ + "nidorina" + ], + "eggGroups": [ + "Monster", + "Field" + ] + }, + "nidorina": { + "num": 30, + "species": "Nidorina", + "types": [ + "Poison" + ], + "gender": "F", + "baseStats": { + "hp": 70, + "atk": 62, + "def": 67, + "spa": 55, + "spd": 55, + "spe": 56 + }, + "abilities": { + "0": "Poison Point", + "1": "Rivalry", + "H": "Hustle" + }, + "heightm": 0.8, + "weightkg": 20, + "color": "Blue", + "prevo": "nidoranf", + "evos": [ + "nidoqueen" + ], + "evoLevel": 16, + "eggGroups": [ + "Undiscovered" + ] + }, + "nidoqueen": { + "num": 31, + "species": "Nidoqueen", + "types": [ + "Poison", + "Ground" + ], + "gender": "F", + "baseStats": { + "hp": 90, + "atk": 92, + "def": 87, + "spa": 75, + "spd": 85, + "spe": 76 + }, + "abilities": { + "0": "Poison Point", + "1": "Rivalry", + "H": "Sheer Force" + }, + "heightm": 1.3, + "weightkg": 60, + "color": "Blue", + "prevo": "nidorina", + "evoLevel": 16, + "eggGroups": [ + "Undiscovered" + ] + }, + "nidoranm": { + "num": 32, + "species": "Nidoran-M", + "types": [ + "Poison" + ], + "gender": "M", + "baseStats": { + "hp": 46, + "atk": 57, + "def": 40, + "spa": 40, + "spd": 40, + "spe": 50 + }, + "abilities": { + "0": "Poison Point", + "1": "Rivalry", + "H": "Hustle" + }, + "heightm": 0.5, + "weightkg": 9, + "color": "Purple", + "evos": [ + "nidorino" + ], + "eggGroups": [ + "Monster", + "Field" + ] + }, + "nidorino": { + "num": 33, + "species": "Nidorino", + "types": [ + "Poison" + ], + "gender": "M", + "baseStats": { + "hp": 61, + "atk": 72, + "def": 57, + "spa": 55, + "spd": 55, + "spe": 65 + }, + "abilities": { + "0": "Poison Point", + "1": "Rivalry", + "H": "Hustle" + }, + "heightm": 0.9, + "weightkg": 19.5, + "color": "Purple", + "prevo": "nidoranm", + "evos": [ + "nidoking" + ], + "evoLevel": 16, + "eggGroups": [ + "Monster", + "Field" + ] + }, + "nidoking": { + "num": 34, + "species": "Nidoking", + "types": [ + "Poison", + "Ground" + ], + "gender": "M", + "baseStats": { + "hp": 81, + "atk": 102, + "def": 77, + "spa": 85, + "spd": 75, + "spe": 85 + }, + "abilities": { + "0": "Poison Point", + "1": "Rivalry", + "H": "Sheer Force" + }, + "heightm": 1.4, + "weightkg": 62, + "color": "Purple", + "prevo": "nidorino", + "evoLevel": 16, + "eggGroups": [ + "Monster", + "Field" + ] + }, + "clefairy": { + "num": 35, + "species": "Clefairy", + "types": [ + "Fairy" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 70, + "atk": 45, + "def": 48, + "spa": 60, + "spd": 65, + "spe": 35 + }, + "abilities": { + "0": "Cute Charm", + "1": "Magic Guard", + "H": "Friend Guard" + }, + "heightm": 0.6, + "weightkg": 7.5, + "color": "Pink", + "prevo": "cleffa", + "evos": [ + "clefable" + ], + "evoLevel": 1, + "eggGroups": [ + "Fairy" + ] + }, + "clefable": { + "num": 36, + "species": "Clefable", + "types": [ + "Fairy" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 95, + "atk": 70, + "def": 73, + "spa": 95, + "spd": 90, + "spe": 60 + }, + "abilities": { + "0": "Cute Charm", + "1": "Magic Guard", + "H": "Unaware" + }, + "heightm": 1.3, + "weightkg": 40, + "color": "Pink", + "prevo": "clefairy", + "evoLevel": 1, + "eggGroups": [ + "Fairy" + ] + }, + "vulpix": { + "num": 37, + "species": "Vulpix", + "types": [ + "Fire" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 38, + "atk": 41, + "def": 40, + "spa": 50, + "spd": 65, + "spe": 65 + }, + "abilities": { + "0": "Flash Fire", + "H": "Drought" + }, + "heightm": 0.6, + "weightkg": 9.9, + "color": "Brown", + "evos": [ + "ninetales" + ], + "eggGroups": [ + "Field" + ] + }, + "ninetales": { + "num": 38, + "species": "Ninetales", + "types": [ + "Fire" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 73, + "atk": 76, + "def": 75, + "spa": 81, + "spd": 100, + "spe": 100 + }, + "abilities": { + "0": "Flash Fire", + "H": "Drought" + }, + "heightm": 1.1, + "weightkg": 19.9, + "color": "Yellow", + "prevo": "vulpix", + "evoLevel": 1, + "eggGroups": [ + "Field" + ] + }, + "jigglypuff": { + "num": 39, + "species": "Jigglypuff", + "types": [ + "Normal", + "Fairy" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 115, + "atk": 45, + "def": 20, + "spa": 45, + "spd": 25, + "spe": 20 + }, + "abilities": { + "0": "Cute Charm", + "1": "Competitive", + "H": "Friend Guard" + }, + "heightm": 0.5, + "weightkg": 5.5, + "color": "Pink", + "prevo": "igglybuff", + "evos": [ + "wigglytuff" + ], + "evoLevel": 1, + "eggGroups": [ + "Fairy" + ] + }, + "wigglytuff": { + "num": 40, + "species": "Wigglytuff", + "types": [ + "Normal", + "Fairy" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 140, + "atk": 70, + "def": 45, + "spa": 85, + "spd": 50, + "spe": 45 + }, + "abilities": { + "0": "Cute Charm", + "1": "Competitive", + "H": "Frisk" + }, + "heightm": 1, + "weightkg": 12, + "color": "Pink", + "prevo": "jigglypuff", + "evoLevel": 1, + "eggGroups": [ + "Fairy" + ] + }, + "zubat": { + "num": 41, + "species": "Zubat", + "types": [ + "Poison", + "Flying" + ], + "baseStats": { + "hp": 40, + "atk": 45, + "def": 35, + "spa": 30, + "spd": 40, + "spe": 55 + }, + "abilities": { + "0": "Inner Focus", + "H": "Infiltrator" + }, + "heightm": 0.8, + "weightkg": 7.5, + "color": "Purple", + "evos": [ + "golbat" + ], + "eggGroups": [ + "Flying" + ] + }, + "golbat": { + "num": 42, + "species": "Golbat", + "types": [ + "Poison", + "Flying" + ], + "baseStats": { + "hp": 75, + "atk": 80, + "def": 70, + "spa": 65, + "spd": 75, + "spe": 90 + }, + "abilities": { + "0": "Inner Focus", + "H": "Infiltrator" + }, + "heightm": 1.6, + "weightkg": 55, + "color": "Purple", + "prevo": "zubat", + "evos": [ + "crobat" + ], + "evoLevel": 22, + "eggGroups": [ + "Flying" + ] + }, + "oddish": { + "num": 43, + "species": "Oddish", + "types": [ + "Grass", + "Poison" + ], + "baseStats": { + "hp": 45, + "atk": 50, + "def": 55, + "spa": 75, + "spd": 65, + "spe": 30 + }, + "abilities": { + "0": "Chlorophyll", + "H": "Run Away" + }, + "heightm": 0.5, + "weightkg": 5.4, + "color": "Blue", + "evos": [ + "gloom" + ], + "eggGroups": [ + "Grass" + ] + }, + "gloom": { + "num": 44, + "species": "Gloom", + "types": [ + "Grass", + "Poison" + ], + "baseStats": { + "hp": 60, + "atk": 65, + "def": 70, + "spa": 85, + "spd": 75, + "spe": 40 + }, + "abilities": { + "0": "Chlorophyll", + "H": "Stench" + }, + "heightm": 0.8, + "weightkg": 8.6, + "color": "Blue", + "prevo": "oddish", + "evos": [ + "vileplume", + "bellossom" + ], + "evoLevel": 21, + "eggGroups": [ + "Grass" + ] + }, + "vileplume": { + "num": 45, + "species": "Vileplume", + "types": [ + "Grass", + "Poison" + ], + "baseStats": { + "hp": 75, + "atk": 80, + "def": 85, + "spa": 110, + "spd": 90, + "spe": 50 + }, + "abilities": { + "0": "Chlorophyll", + "H": "Effect Spore" + }, + "heightm": 1.2, + "weightkg": 18.6, + "color": "Red", + "prevo": "gloom", + "evoLevel": 21, + "eggGroups": [ + "Grass" + ] + }, + "paras": { + "num": 46, + "species": "Paras", + "types": [ + "Bug", + "Grass" + ], + "baseStats": { + "hp": 35, + "atk": 70, + "def": 55, + "spa": 45, + "spd": 55, + "spe": 25 + }, + "abilities": { + "0": "Effect Spore", + "1": "Dry Skin", + "H": "Damp" + }, + "heightm": 0.3, + "weightkg": 5.4, + "color": "Red", + "evos": [ + "parasect" + ], + "eggGroups": [ + "Bug", + "Grass" + ] + }, + "parasect": { + "num": 47, + "species": "Parasect", + "types": [ + "Bug", + "Grass" + ], + "baseStats": { + "hp": 60, + "atk": 95, + "def": 80, + "spa": 60, + "spd": 80, + "spe": 30 + }, + "abilities": { + "0": "Effect Spore", + "1": "Dry Skin", + "H": "Damp" + }, + "heightm": 1, + "weightkg": 29.5, + "color": "Red", + "prevo": "paras", + "evoLevel": 24, + "eggGroups": [ + "Bug", + "Grass" + ] + }, + "venonat": { + "num": 48, + "species": "Venonat", + "types": [ + "Bug", + "Poison" + ], + "baseStats": { + "hp": 60, + "atk": 55, + "def": 50, + "spa": 40, + "spd": 55, + "spe": 45 + }, + "abilities": { + "0": "Compound Eyes", + "1": "Tinted Lens", + "H": "Run Away" + }, + "heightm": 1, + "weightkg": 30, + "color": "Purple", + "evos": [ + "venomoth" + ], + "eggGroups": [ + "Bug" + ] + }, + "venomoth": { + "num": 49, + "species": "Venomoth", + "types": [ + "Bug", + "Poison" + ], + "baseStats": { + "hp": 70, + "atk": 65, + "def": 60, + "spa": 90, + "spd": 75, + "spe": 90 + }, + "abilities": { + "0": "Shield Dust", + "1": "Tinted Lens", + "H": "Wonder Skin" + }, + "heightm": 1.5, + "weightkg": 12.5, + "color": "Purple", + "prevo": "venonat", + "evoLevel": 31, + "eggGroups": [ + "Bug" + ] + }, + "diglett": { + "num": 50, + "species": "Diglett", + "types": [ + "Ground" + ], + "baseStats": { + "hp": 10, + "atk": 55, + "def": 25, + "spa": 35, + "spd": 45, + "spe": 95 + }, + "abilities": { + "0": "Sand Veil", + "1": "Arena Trap", + "H": "Sand Force" + }, + "heightm": 0.2, + "weightkg": 0.8, + "color": "Brown", + "evos": [ + "dugtrio" + ], + "eggGroups": [ + "Field" + ] + }, + "dugtrio": { + "num": 51, + "species": "Dugtrio", + "types": [ + "Ground" + ], + "baseStats": { + "hp": 35, + "atk": 80, + "def": 50, + "spa": 50, + "spd": 70, + "spe": 120 + }, + "abilities": { + "0": "Sand Veil", + "1": "Arena Trap", + "H": "Sand Force" + }, + "heightm": 0.7, + "weightkg": 33.3, + "color": "Brown", + "prevo": "diglett", + "evoLevel": 26, + "eggGroups": [ + "Field" + ] + }, + "meowth": { + "num": 52, + "species": "Meowth", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 40, + "atk": 45, + "def": 35, + "spa": 40, + "spd": 40, + "spe": 90 + }, + "abilities": { + "0": "Pickup", + "1": "Technician", + "H": "Unnerve" + }, + "heightm": 0.4, + "weightkg": 4.2, + "color": "Yellow", + "evos": [ + "persian" + ], + "eggGroups": [ + "Field" + ] + }, + "persian": { + "num": 53, + "species": "Persian", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 65, + "atk": 70, + "def": 60, + "spa": 65, + "spd": 65, + "spe": 115 + }, + "abilities": { + "0": "Limber", + "1": "Technician", + "H": "Unnerve" + }, + "heightm": 1, + "weightkg": 32, + "color": "Yellow", + "prevo": "meowth", + "evoLevel": 28, + "eggGroups": [ + "Field" + ] + }, + "psyduck": { + "num": 54, + "species": "Psyduck", + "types": [ + "Water" + ], + "baseStats": { + "hp": 50, + "atk": 52, + "def": 48, + "spa": 65, + "spd": 50, + "spe": 55 + }, + "abilities": { + "0": "Damp", + "1": "Cloud Nine", + "H": "Swift Swim" + }, + "heightm": 0.8, + "weightkg": 19.6, + "color": "Yellow", + "evos": [ + "golduck" + ], + "eggGroups": [ + "Water 1", + "Field" + ] + }, + "golduck": { + "num": 55, + "species": "Golduck", + "types": [ + "Water" + ], + "baseStats": { + "hp": 80, + "atk": 82, + "def": 78, + "spa": 95, + "spd": 80, + "spe": 85 + }, + "abilities": { + "0": "Damp", + "1": "Cloud Nine", + "H": "Swift Swim" + }, + "heightm": 1.7, + "weightkg": 76.6, + "color": "Blue", + "prevo": "psyduck", + "evoLevel": 33, + "eggGroups": [ + "Water 1", + "Field" + ] + }, + "mankey": { + "num": 56, + "species": "Mankey", + "types": [ + "Fighting" + ], + "baseStats": { + "hp": 40, + "atk": 80, + "def": 35, + "spa": 35, + "spd": 45, + "spe": 70 + }, + "abilities": { + "0": "Vital Spirit", + "1": "Anger Point", + "H": "Defiant" + }, + "heightm": 0.5, + "weightkg": 28, + "color": "Brown", + "evos": [ + "primeape" + ], + "eggGroups": [ + "Field" + ] + }, + "primeape": { + "num": 57, + "species": "Primeape", + "types": [ + "Fighting" + ], + "baseStats": { + "hp": 65, + "atk": 105, + "def": 60, + "spa": 60, + "spd": 70, + "spe": 95 + }, + "abilities": { + "0": "Vital Spirit", + "1": "Anger Point", + "H": "Defiant" + }, + "heightm": 1, + "weightkg": 32, + "color": "Brown", + "prevo": "mankey", + "evoLevel": 28, + "eggGroups": [ + "Field" + ] + }, + "growlithe": { + "num": 58, + "species": "Growlithe", + "types": [ + "Fire" + ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, + "baseStats": { + "hp": 55, + "atk": 70, + "def": 45, + "spa": 70, + "spd": 50, + "spe": 60 + }, + "abilities": { + "0": "Intimidate", + "1": "Flash Fire", + "H": "Justified" + }, + "heightm": 0.7, + "weightkg": 19, + "color": "Brown", + "evos": [ + "arcanine" + ], + "eggGroups": [ + "Field" + ] + }, + "arcanine": { + "num": 59, + "species": "Arcanine", + "types": [ + "Fire" + ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, + "baseStats": { + "hp": 90, + "atk": 110, + "def": 80, + "spa": 100, + "spd": 80, + "spe": 95 + }, + "abilities": { + "0": "Intimidate", + "1": "Flash Fire", + "H": "Justified" + }, + "heightm": 1.9, + "weightkg": 155, + "color": "Brown", + "prevo": "growlithe", + "evoLevel": 1, + "eggGroups": [ + "Field" + ] + }, + "poliwag": { + "num": 60, + "species": "Poliwag", + "types": [ + "Water" + ], + "baseStats": { + "hp": 40, + "atk": 50, + "def": 40, + "spa": 40, + "spd": 40, + "spe": 90 + }, + "abilities": { + "0": "Water Absorb", + "1": "Damp", + "H": "Swift Swim" + }, + "heightm": 0.6, + "weightkg": 12.4, + "color": "Blue", + "evos": [ + "poliwhirl" + ], + "eggGroups": [ + "Water 1" + ] + }, + "poliwhirl": { + "num": 61, + "species": "Poliwhirl", + "types": [ + "Water" + ], + "baseStats": { + "hp": 65, + "atk": 65, + "def": 65, + "spa": 50, + "spd": 50, + "spe": 90 + }, + "abilities": { + "0": "Water Absorb", + "1": "Damp", + "H": "Swift Swim" + }, + "heightm": 1, + "weightkg": 20, + "color": "Blue", + "prevo": "poliwag", + "evos": [ + "poliwrath", + "politoed" + ], + "evoLevel": 25, + "eggGroups": [ + "Water 1" + ] + }, + "poliwrath": { + "num": 62, + "species": "Poliwrath", + "types": [ + "Water", + "Fighting" + ], + "baseStats": { + "hp": 90, + "atk": 95, + "def": 95, + "spa": 70, + "spd": 90, + "spe": 70 + }, + "abilities": { + "0": "Water Absorb", + "1": "Damp", + "H": "Swift Swim" + }, + "heightm": 1.3, + "weightkg": 54, + "color": "Blue", + "prevo": "poliwhirl", + "evoLevel": 25, + "eggGroups": [ + "Water 1" + ] + }, + "abra": { + "num": 63, + "species": "Abra", + "types": [ + "Psychic" + ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, + "baseStats": { + "hp": 25, + "atk": 20, + "def": 15, + "spa": 105, + "spd": 55, + "spe": 90 + }, + "abilities": { + "0": "Synchronize", + "1": "Inner Focus", + "H": "Magic Guard" + }, + "heightm": 0.9, + "weightkg": 19.5, + "color": "Brown", + "evos": [ + "kadabra" + ], + "eggGroups": [ + "Human-Like" + ] + }, + "kadabra": { + "num": 64, + "species": "Kadabra", + "types": [ + "Psychic" + ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, + "baseStats": { + "hp": 40, + "atk": 35, + "def": 30, + "spa": 120, + "spd": 70, + "spe": 105 + }, + "abilities": { + "0": "Synchronize", + "1": "Inner Focus", + "H": "Magic Guard" + }, + "heightm": 1.3, + "weightkg": 56.5, + "color": "Brown", + "prevo": "abra", + "evos": [ + "alakazam" + ], + "evoLevel": 16, + "eggGroups": [ + "Human-Like" + ] + }, + "alakazam": { + "num": 65, + "species": "Alakazam", + "types": [ + "Psychic" + ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, + "baseStats": { + "hp": 55, + "atk": 50, + "def": 45, + "spa": 135, + "spd": 95, + "spe": 120 + }, + "abilities": { + "0": "Synchronize", + "1": "Inner Focus", + "H": "Magic Guard" + }, + "heightm": 1.5, + "weightkg": 48, + "color": "Brown", + "prevo": "kadabra", + "evoLevel": 16, + "eggGroups": [ + "Human-Like" + ], + "otherFormes": [ + "alakazammega" + ] + }, + "alakazammega": { + "num": 65, + "species": "Alakazam-Mega", + "baseSpecies": "Alakazam", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Psychic" + ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, + "baseStats": { + "hp": 55, + "atk": 50, + "def": 65, + "spa": 175, + "spd": 95, + "spe": 150 + }, + "abilities": { + "0": "Trace" + }, + "heightm": 1.2, + "weightkg": 48, + "color": "Brown", + "eggGroups": [ + "Human-Like" + ] + }, + "machop": { + "num": 66, + "species": "Machop", + "types": [ + "Fighting" + ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, + "baseStats": { + "hp": 70, + "atk": 80, + "def": 50, + "spa": 35, + "spd": 35, + "spe": 35 + }, + "abilities": { + "0": "Guts", + "1": "No Guard", + "H": "Steadfast" + }, + "heightm": 0.8, + "weightkg": 19.5, + "color": "Gray", + "evos": [ + "machoke" + ], + "eggGroups": [ + "Human-Like" + ] + }, + "machoke": { + "num": 67, + "species": "Machoke", + "types": [ + "Fighting" + ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, + "baseStats": { + "hp": 80, + "atk": 100, + "def": 70, + "spa": 50, + "spd": 60, + "spe": 45 + }, + "abilities": { + "0": "Guts", + "1": "No Guard", + "H": "Steadfast" + }, + "heightm": 1.5, + "weightkg": 70.5, + "color": "Gray", + "prevo": "machop", + "evos": [ + "machamp" + ], + "evoLevel": 28, + "eggGroups": [ + "Human-Like" + ] + }, + "machamp": { + "num": 68, + "species": "Machamp", + "types": [ + "Fighting" + ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, + "baseStats": { + "hp": 90, + "atk": 130, + "def": 80, + "spa": 65, + "spd": 85, + "spe": 55 + }, + "abilities": { + "0": "Guts", + "1": "No Guard", + "H": "Steadfast" + }, + "heightm": 1.6, + "weightkg": 130, + "color": "Gray", + "prevo": "machoke", + "evoLevel": 28, + "eggGroups": [ + "Human-Like" + ] + }, + "bellsprout": { + "num": 69, + "species": "Bellsprout", + "types": [ + "Grass", + "Poison" + ], + "baseStats": { + "hp": 50, + "atk": 75, + "def": 35, + "spa": 70, + "spd": 30, + "spe": 40 + }, + "abilities": { + "0": "Chlorophyll", + "H": "Gluttony" + }, + "heightm": 0.7, + "weightkg": 4, + "color": "Green", + "evos": [ + "weepinbell" + ], + "eggGroups": [ + "Grass" + ] + }, + "weepinbell": { + "num": 70, + "species": "Weepinbell", + "types": [ + "Grass", + "Poison" + ], + "baseStats": { + "hp": 65, + "atk": 90, + "def": 50, + "spa": 85, + "spd": 45, + "spe": 55 + }, + "abilities": { + "0": "Chlorophyll", + "H": "Gluttony" + }, + "heightm": 1, + "weightkg": 6.4, + "color": "Green", + "prevo": "bellsprout", + "evos": [ + "victreebel" + ], + "evoLevel": 21, + "eggGroups": [ + "Grass" + ] + }, + "victreebel": { + "num": 71, + "species": "Victreebel", + "types": [ + "Grass", + "Poison" + ], + "baseStats": { + "hp": 80, + "atk": 105, + "def": 65, + "spa": 100, + "spd": 70, + "spe": 70 + }, + "abilities": { + "0": "Chlorophyll", + "H": "Gluttony" + }, + "heightm": 1.7, + "weightkg": 15.5, + "color": "Green", + "prevo": "weepinbell", + "evoLevel": 21, + "eggGroups": [ + "Grass" + ] + }, + "tentacool": { + "num": 72, + "species": "Tentacool", + "types": [ + "Water", + "Poison" + ], + "baseStats": { + "hp": 40, + "atk": 40, + "def": 35, + "spa": 50, + "spd": 100, + "spe": 70 + }, + "abilities": { + "0": "Clear Body", + "1": "Liquid Ooze", + "H": "Rain Dish" + }, + "heightm": 0.9, + "weightkg": 45.5, + "color": "Blue", + "evos": [ + "tentacruel" + ], + "eggGroups": [ + "Water 3" + ] + }, + "tentacruel": { + "num": 73, + "species": "Tentacruel", + "types": [ + "Water", + "Poison" + ], + "baseStats": { + "hp": 80, + "atk": 70, + "def": 65, + "spa": 80, + "spd": 120, + "spe": 100 + }, + "abilities": { + "0": "Clear Body", + "1": "Liquid Ooze", + "H": "Rain Dish" + }, + "heightm": 1.6, + "weightkg": 55, + "color": "Blue", + "prevo": "tentacool", + "evoLevel": 30, + "eggGroups": [ + "Water 3" + ] + }, + "geodude": { + "num": 74, + "species": "Geodude", + "types": [ + "Rock", + "Ground" + ], + "baseStats": { + "hp": 40, + "atk": 80, + "def": 100, + "spa": 30, + "spd": 30, + "spe": 20 + }, + "abilities": { + "0": "Rock Head", + "1": "Sturdy", + "H": "Sand Veil" + }, + "heightm": 0.4, + "weightkg": 20, + "color": "Brown", + "evos": [ + "graveler" + ], + "eggGroups": [ + "Mineral" + ] + }, + "graveler": { + "num": 75, + "species": "Graveler", + "types": [ + "Rock", + "Ground" + ], + "baseStats": { + "hp": 55, + "atk": 95, + "def": 115, + "spa": 45, + "spd": 45, + "spe": 35 + }, + "abilities": { + "0": "Rock Head", + "1": "Sturdy", + "H": "Sand Veil" + }, + "heightm": 1, + "weightkg": 105, + "color": "Brown", + "prevo": "geodude", + "evos": [ + "golem" + ], + "evoLevel": 25, + "eggGroups": [ + "Mineral" + ] + }, + "golem": { + "num": 76, + "species": "Golem", + "types": [ + "Rock", + "Ground" + ], + "baseStats": { + "hp": 80, + "atk": 120, + "def": 130, + "spa": 55, + "spd": 65, + "spe": 45 + }, + "abilities": { + "0": "Rock Head", + "1": "Sturdy", + "H": "Sand Veil" + }, + "heightm": 1.4, + "weightkg": 300, + "color": "Brown", + "prevo": "graveler", + "evoLevel": 25, + "eggGroups": [ + "Mineral" + ] + }, + "ponyta": { + "num": 77, + "species": "Ponyta", + "types": [ + "Fire" + ], + "baseStats": { + "hp": 50, + "atk": 85, + "def": 55, + "spa": 65, + "spd": 65, + "spe": 90 + }, + "abilities": { + "0": "Run Away", + "1": "Flash Fire", + "H": "Flame Body" + }, + "heightm": 1, + "weightkg": 30, + "color": "Yellow", + "evos": [ + "rapidash" + ], + "eggGroups": [ + "Field" + ] + }, + "rapidash": { + "num": 78, + "species": "Rapidash", + "types": [ + "Fire" + ], + "baseStats": { + "hp": 65, + "atk": 100, + "def": 70, + "spa": 80, + "spd": 80, + "spe": 105 + }, + "abilities": { + "0": "Run Away", + "1": "Flash Fire", + "H": "Flame Body" + }, + "heightm": 1.7, + "weightkg": 95, + "color": "Yellow", + "prevo": "ponyta", + "evoLevel": 40, + "eggGroups": [ + "Field" + ] + }, + "slowpoke": { + "num": 79, + "species": "Slowpoke", + "types": [ + "Water", + "Psychic" + ], + "baseStats": { + "hp": 90, + "atk": 65, + "def": 65, + "spa": 40, + "spd": 40, + "spe": 15 + }, + "abilities": { + "0": "Oblivious", + "1": "Own Tempo", + "H": "Regenerator" + }, + "heightm": 1.2, + "weightkg": 36, + "color": "Pink", + "evos": [ + "slowbro", + "slowking" + ], + "eggGroups": [ + "Monster", + "Water 1" + ] + }, + "slowbro": { + "num": 80, + "species": "Slowbro", + "types": [ + "Water", + "Psychic" + ], + "baseStats": { + "hp": 95, + "atk": 75, + "def": 110, + "spa": 100, + "spd": 80, + "spe": 30 + }, + "abilities": { + "0": "Oblivious", + "1": "Own Tempo", + "H": "Regenerator" + }, + "heightm": 1.6, + "weightkg": 78.5, + "color": "Pink", + "prevo": "slowpoke", + "evoLevel": 37, + "eggGroups": [ + "Monster", + "Water 1" + ], + "otherFormes": [ + "slowbromega" + ] + }, + "slowbromega": { + "num": 80, + "species": "Slowbro-Mega", + "baseSpecies": "Slowbro", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Water", + "Psychic" + ], + "baseStats": { + "hp": 95, + "atk": 75, + "def": 180, + "spa": 130, + "spd": 80, + "spe": 30 + }, + "abilities": { + "0": "Shell Armor" + }, + "heightm": 2, + "weightkg": 120, + "color": "Pink", + "eggGroups": [ + "Monster", + "Water 1" + ] + }, + "magnemite": { + "num": 81, + "species": "Magnemite", + "types": [ + "Electric", + "Steel" + ], + "gender": "N", + "baseStats": { + "hp": 25, + "atk": 35, + "def": 70, + "spa": 95, + "spd": 55, + "spe": 45 + }, + "abilities": { + "0": "Magnet Pull", + "1": "Sturdy", + "H": "Analytic" + }, + "heightm": 0.3, + "weightkg": 6, + "color": "Gray", + "evos": [ + "magneton" + ], + "eggGroups": [ + "Mineral" + ] + }, + "magneton": { + "num": 82, + "species": "Magneton", + "types": [ + "Electric", + "Steel" + ], + "gender": "N", + "baseStats": { + "hp": 50, + "atk": 60, + "def": 95, + "spa": 120, + "spd": 70, + "spe": 70 + }, + "abilities": { + "0": "Magnet Pull", + "1": "Sturdy", + "H": "Analytic" + }, + "heightm": 1, + "weightkg": 60, + "color": "Gray", + "prevo": "magnemite", + "evos": [ + "magnezone" + ], + "evoLevel": 30, + "eggGroups": [ + "Mineral" + ] + }, + "farfetchd": { + "num": 83, + "species": "Farfetch'd", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 52, + "atk": 65, + "def": 55, + "spa": 58, + "spd": 62, + "spe": 60 + }, + "abilities": { + "0": "Keen Eye", + "1": "Inner Focus", + "H": "Defiant" + }, + "heightm": 0.8, + "weightkg": 15, + "color": "Brown", + "eggGroups": [ + "Flying", + "Field" + ] + }, + "doduo": { + "num": 84, + "species": "Doduo", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 35, + "atk": 85, + "def": 45, + "spa": 35, + "spd": 35, + "spe": 75 + }, + "abilities": { + "0": "Run Away", + "1": "Early Bird", + "H": "Tangled Feet" + }, + "heightm": 1.4, + "weightkg": 39.2, + "color": "Brown", + "evos": [ + "dodrio" + ], + "eggGroups": [ + "Flying" + ] + }, + "dodrio": { + "num": 85, + "species": "Dodrio", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 60, + "atk": 110, + "def": 70, + "spa": 60, + "spd": 60, + "spe": 100 + }, + "abilities": { + "0": "Run Away", + "1": "Early Bird", + "H": "Tangled Feet" + }, + "heightm": 1.8, + "weightkg": 85.2, + "color": "Brown", + "prevo": "doduo", + "evoLevel": 31, + "eggGroups": [ + "Flying" + ] + }, + "seel": { + "num": 86, + "species": "Seel", + "types": [ + "Water" + ], + "baseStats": { + "hp": 65, + "atk": 45, + "def": 55, + "spa": 45, + "spd": 70, + "spe": 45 + }, + "abilities": { + "0": "Thick Fat", + "1": "Hydration", + "H": "Ice Body" + }, + "heightm": 1.1, + "weightkg": 90, + "color": "White", + "evos": [ + "dewgong" + ], + "eggGroups": [ + "Water 1", + "Field" + ] + }, + "dewgong": { + "num": 87, + "species": "Dewgong", + "types": [ + "Water", + "Ice" + ], + "baseStats": { + "hp": 90, + "atk": 70, + "def": 80, + "spa": 70, + "spd": 95, + "spe": 70 + }, + "abilities": { + "0": "Thick Fat", + "1": "Hydration", + "H": "Ice Body" + }, + "heightm": 1.7, + "weightkg": 120, + "color": "White", + "prevo": "seel", + "evoLevel": 34, + "eggGroups": [ + "Water 1", + "Field" + ] + }, + "grimer": { + "num": 88, + "species": "Grimer", + "types": [ + "Poison" + ], + "baseStats": { + "hp": 80, + "atk": 80, + "def": 50, + "spa": 40, + "spd": 50, + "spe": 25 + }, + "abilities": { + "0": "Stench", + "1": "Sticky Hold", + "H": "Poison Touch" + }, + "heightm": 0.9, + "weightkg": 30, + "color": "Purple", + "evos": [ + "muk" + ], + "eggGroups": [ + "Amorphous" + ] + }, + "muk": { + "num": 89, + "species": "Muk", + "types": [ + "Poison" + ], + "baseStats": { + "hp": 105, + "atk": 105, + "def": 75, + "spa": 65, + "spd": 100, + "spe": 50 + }, + "abilities": { + "0": "Stench", + "1": "Sticky Hold", + "H": "Poison Touch" + }, + "heightm": 1.2, + "weightkg": 30, + "color": "Purple", + "prevo": "grimer", + "evoLevel": 38, + "eggGroups": [ + "Amorphous" + ] + }, + "shellder": { + "num": 90, + "species": "Shellder", + "types": [ + "Water" + ], + "baseStats": { + "hp": 30, + "atk": 65, + "def": 100, + "spa": 45, + "spd": 25, + "spe": 40 + }, + "abilities": { + "0": "Shell Armor", + "1": "Skill Link", + "H": "Overcoat" + }, + "heightm": 0.3, + "weightkg": 4, + "color": "Purple", + "evos": [ + "cloyster" + ], + "eggGroups": [ + "Water 3" + ] + }, + "cloyster": { + "num": 91, + "species": "Cloyster", + "types": [ + "Water", + "Ice" + ], + "baseStats": { + "hp": 50, + "atk": 95, + "def": 180, + "spa": 85, + "spd": 45, + "spe": 70 + }, + "abilities": { + "0": "Shell Armor", + "1": "Skill Link", + "H": "Overcoat" + }, + "heightm": 1.5, + "weightkg": 132.5, + "color": "Purple", + "prevo": "shellder", + "evoLevel": 1, + "eggGroups": [ + "Water 3" + ] + }, + "gastly": { + "num": 92, + "species": "Gastly", + "types": [ + "Ghost", + "Poison" + ], + "baseStats": { + "hp": 30, + "atk": 35, + "def": 30, + "spa": 100, + "spd": 35, + "spe": 80 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 1.3, + "weightkg": 0.1, + "color": "Purple", + "evos": [ + "haunter" + ], + "eggGroups": [ + "Amorphous" + ] + }, + "haunter": { + "num": 93, + "species": "Haunter", + "types": [ + "Ghost", + "Poison" + ], + "baseStats": { + "hp": 45, + "atk": 50, + "def": 45, + "spa": 115, + "spd": 55, + "spe": 95 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 1.6, + "weightkg": 0.1, + "color": "Purple", + "prevo": "gastly", + "evos": [ + "gengar" + ], + "evoLevel": 25, + "eggGroups": [ + "Amorphous" + ] + }, + "gengar": { + "num": 94, + "species": "Gengar", + "types": [ + "Ghost", + "Poison" + ], + "baseStats": { + "hp": 60, + "atk": 65, + "def": 60, + "spa": 130, + "spd": 75, + "spe": 110 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 1.5, + "weightkg": 40.5, + "color": "Purple", + "prevo": "haunter", + "evoLevel": 25, + "eggGroups": [ + "Amorphous" + ], + "otherFormes": [ + "gengarmega" + ] + }, + "gengarmega": { + "num": 94, + "species": "Gengar-Mega", + "baseSpecies": "Gengar", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Ghost", + "Poison" + ], + "baseStats": { + "hp": 60, + "atk": 65, + "def": 80, + "spa": 170, + "spd": 95, + "spe": 130 + }, + "abilities": { + "0": "Shadow Tag" + }, + "heightm": 1.4, + "weightkg": 40.5, + "color": "Purple", + "eggGroups": [ + "Amorphous" + ] + }, + "onix": { + "num": 95, + "species": "Onix", + "types": [ + "Rock", + "Ground" + ], + "baseStats": { + "hp": 35, + "atk": 45, + "def": 160, + "spa": 30, + "spd": 45, + "spe": 70 + }, + "abilities": { + "0": "Rock Head", + "1": "Sturdy", + "H": "Weak Armor" + }, + "heightm": 8.8, + "weightkg": 210, + "color": "Gray", + "evos": [ + "steelix" + ], + "eggGroups": [ + "Mineral" + ] + }, + "drowzee": { + "num": 96, + "species": "Drowzee", + "types": [ + "Psychic" + ], + "baseStats": { + "hp": 60, + "atk": 48, + "def": 45, + "spa": 43, + "spd": 90, + "spe": 42 + }, + "abilities": { + "0": "Insomnia", + "1": "Forewarn", + "H": "Inner Focus" + }, + "heightm": 1, + "weightkg": 32.4, + "color": "Yellow", + "evos": [ + "hypno" + ], + "eggGroups": [ + "Human-Like" + ] + }, + "hypno": { + "num": 97, + "species": "Hypno", + "types": [ + "Psychic" + ], + "baseStats": { + "hp": 85, + "atk": 73, + "def": 70, + "spa": 73, + "spd": 115, + "spe": 67 + }, + "abilities": { + "0": "Insomnia", + "1": "Forewarn", + "H": "Inner Focus" + }, + "heightm": 1.6, + "weightkg": 75.6, + "color": "Yellow", + "prevo": "drowzee", + "evoLevel": 26, + "eggGroups": [ + "Human-Like" + ] + }, + "krabby": { + "num": 98, + "species": "Krabby", + "types": [ + "Water" + ], + "baseStats": { + "hp": 30, + "atk": 105, + "def": 90, + "spa": 25, + "spd": 25, + "spe": 50 + }, + "abilities": { + "0": "Hyper Cutter", + "1": "Shell Armor", + "H": "Sheer Force" + }, + "heightm": 0.4, + "weightkg": 6.5, + "color": "Red", + "evos": [ + "kingler" + ], + "eggGroups": [ + "Water 3" + ] + }, + "kingler": { + "num": 99, + "species": "Kingler", + "types": [ + "Water" + ], + "baseStats": { + "hp": 55, + "atk": 130, + "def": 115, + "spa": 50, + "spd": 50, + "spe": 75 + }, + "abilities": { + "0": "Hyper Cutter", + "1": "Shell Armor", + "H": "Sheer Force" + }, + "heightm": 1.3, + "weightkg": 60, + "color": "Red", + "prevo": "krabby", + "evoLevel": 28, + "eggGroups": [ + "Water 3" + ] + }, + "voltorb": { + "num": 100, + "species": "Voltorb", + "types": [ + "Electric" + ], + "gender": "N", + "baseStats": { + "hp": 40, + "atk": 30, + "def": 50, + "spa": 55, + "spd": 55, + "spe": 100 + }, + "abilities": { + "0": "Soundproof", + "1": "Static", + "H": "Aftermath" + }, + "heightm": 0.5, + "weightkg": 10.4, + "color": "Red", + "evos": [ + "electrode" + ], + "eggGroups": [ + "Mineral" + ] + }, + "electrode": { + "num": 101, + "species": "Electrode", + "types": [ + "Electric" + ], + "gender": "N", + "baseStats": { + "hp": 60, + "atk": 50, + "def": 70, + "spa": 80, + "spd": 80, + "spe": 140 + }, + "abilities": { + "0": "Soundproof", + "1": "Static", + "H": "Aftermath" + }, + "heightm": 1.2, + "weightkg": 66.6, + "color": "Red", + "prevo": "voltorb", + "evoLevel": 30, + "eggGroups": [ + "Mineral" + ] + }, + "exeggcute": { + "num": 102, + "species": "Exeggcute", + "types": [ + "Grass", + "Psychic" + ], + "baseStats": { + "hp": 60, + "atk": 40, + "def": 80, + "spa": 60, + "spd": 45, + "spe": 40 + }, + "abilities": { + "0": "Chlorophyll", + "H": "Harvest" + }, + "heightm": 0.4, + "weightkg": 2.5, + "color": "Pink", + "evos": [ + "exeggutor" + ], + "eggGroups": [ + "Grass" + ] + }, + "exeggutor": { + "num": 103, + "species": "Exeggutor", + "types": [ + "Grass", + "Psychic" + ], + "baseStats": { + "hp": 95, + "atk": 95, + "def": 85, + "spa": 125, + "spd": 65, + "spe": 55 + }, + "abilities": { + "0": "Chlorophyll", + "H": "Harvest" + }, + "heightm": 2, + "weightkg": 120, + "color": "Yellow", + "prevo": "exeggcute", + "evoLevel": 1, + "eggGroups": [ + "Grass" + ] + }, + "cubone": { + "num": 104, + "species": "Cubone", + "types": [ + "Ground" + ], + "baseStats": { + "hp": 50, + "atk": 50, + "def": 95, + "spa": 40, + "spd": 50, + "spe": 35 + }, + "abilities": { + "0": "Rock Head", + "1": "Lightning Rod", + "H": "Battle Armor" + }, + "heightm": 0.4, + "weightkg": 6.5, + "color": "Brown", + "evos": [ + "marowak" + ], + "eggGroups": [ + "Monster" + ] + }, + "marowak": { + "num": 105, + "species": "Marowak", + "types": [ + "Ground" + ], + "baseStats": { + "hp": 60, + "atk": 80, + "def": 110, + "spa": 50, + "spd": 80, + "spe": 45 + }, + "abilities": { + "0": "Rock Head", + "1": "Lightning Rod", + "H": "Battle Armor" + }, + "heightm": 1, + "weightkg": 45, + "color": "Brown", + "prevo": "cubone", + "evoLevel": 28, + "eggGroups": [ + "Monster" + ] + }, + "hitmonlee": { + "num": 106, + "species": "Hitmonlee", + "types": [ + "Fighting" + ], + "gender": "M", + "baseStats": { + "hp": 50, + "atk": 120, + "def": 53, + "spa": 35, + "spd": 110, + "spe": 87 + }, + "abilities": { + "0": "Limber", + "1": "Reckless", + "H": "Unburden" + }, + "heightm": 1.5, + "weightkg": 49.8, + "color": "Brown", + "prevo": "tyrogue", + "evoLevel": 20, + "eggGroups": [ + "Human-Like" + ] + }, + "hitmonchan": { + "num": 107, + "species": "Hitmonchan", + "types": [ + "Fighting" + ], + "gender": "M", + "baseStats": { + "hp": 50, + "atk": 105, + "def": 79, + "spa": 35, + "spd": 110, + "spe": 76 + }, + "abilities": { + "0": "Keen Eye", + "1": "Iron Fist", + "H": "Inner Focus" + }, + "heightm": 1.4, + "weightkg": 50.2, + "color": "Brown", + "prevo": "tyrogue", + "evoLevel": 20, + "eggGroups": [ + "Human-Like" + ] + }, + "lickitung": { + "num": 108, + "species": "Lickitung", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 90, + "atk": 55, + "def": 75, + "spa": 60, + "spd": 75, + "spe": 30 + }, + "abilities": { + "0": "Own Tempo", + "1": "Oblivious", + "H": "Cloud Nine" + }, + "heightm": 1.2, + "weightkg": 65.5, + "color": "Pink", + "evos": [ + "lickilicky" + ], + "eggGroups": [ + "Monster" + ] + }, + "koffing": { + "num": 109, + "species": "Koffing", + "types": [ + "Poison" + ], + "baseStats": { + "hp": 40, + "atk": 65, + "def": 95, + "spa": 60, + "spd": 45, + "spe": 35 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 0.6, + "weightkg": 1, + "color": "Purple", + "evos": [ + "weezing" + ], + "eggGroups": [ + "Amorphous" + ] + }, + "weezing": { + "num": 110, + "species": "Weezing", + "types": [ + "Poison" + ], + "baseStats": { + "hp": 65, + "atk": 90, + "def": 120, + "spa": 85, + "spd": 70, + "spe": 60 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 1.2, + "weightkg": 9.5, + "color": "Purple", + "prevo": "koffing", + "evoLevel": 35, + "eggGroups": [ + "Amorphous" + ] + }, + "rhyhorn": { + "num": 111, + "species": "Rhyhorn", + "types": [ + "Ground", + "Rock" + ], + "baseStats": { + "hp": 80, + "atk": 85, + "def": 95, + "spa": 30, + "spd": 30, + "spe": 25 + }, + "abilities": { + "0": "Lightning Rod", + "1": "Rock Head", + "H": "Reckless" + }, + "heightm": 1, + "weightkg": 115, + "color": "Gray", + "evos": [ + "rhydon" + ], + "eggGroups": [ + "Monster", + "Field" + ] + }, + "rhydon": { + "num": 112, + "species": "Rhydon", + "types": [ + "Ground", + "Rock" + ], + "baseStats": { + "hp": 105, + "atk": 130, + "def": 120, + "spa": 45, + "spd": 45, + "spe": 40 + }, + "abilities": { + "0": "Lightning Rod", + "1": "Rock Head", + "H": "Reckless" + }, + "heightm": 1.9, + "weightkg": 120, + "color": "Gray", + "prevo": "rhyhorn", + "evos": [ + "rhyperior" + ], + "evoLevel": 42, + "eggGroups": [ + "Monster", + "Field" + ] + }, + "chansey": { + "num": 113, + "species": "Chansey", + "types": [ + "Normal" + ], + "gender": "F", + "baseStats": { + "hp": 250, + "atk": 5, + "def": 5, + "spa": 35, + "spd": 105, + "spe": 50 + }, + "abilities": { + "0": "Natural Cure", + "1": "Serene Grace", + "H": "Healer" + }, + "heightm": 1.1, + "weightkg": 34.6, + "color": "Pink", + "prevo": "happiny", + "evos": [ + "blissey" + ], + "evoLevel": 1, + "eggGroups": [ + "Fairy" + ] + }, + "tangela": { + "num": 114, + "species": "Tangela", + "types": [ + "Grass" + ], + "baseStats": { + "hp": 65, + "atk": 55, + "def": 115, + "spa": 100, + "spd": 40, + "spe": 60 + }, + "abilities": { + "0": "Chlorophyll", + "1": "Leaf Guard", + "H": "Regenerator" + }, + "heightm": 1, + "weightkg": 35, + "color": "Blue", + "evos": [ + "tangrowth" + ], + "eggGroups": [ + "Grass" + ] + }, + "kangaskhan": { + "num": 115, + "species": "Kangaskhan", + "types": [ + "Normal" + ], + "gender": "F", + "baseStats": { + "hp": 105, + "atk": 95, + "def": 80, + "spa": 40, + "spd": 80, + "spe": 90 + }, + "abilities": { + "0": "Early Bird", + "1": "Scrappy", + "H": "Inner Focus" + }, + "heightm": 2.2, + "weightkg": 80, + "color": "Brown", + "eggGroups": [ + "Monster" + ], + "otherFormes": [ + "kangaskhanmega" + ] + }, + "kangaskhanmega": { + "num": 115, + "species": "Kangaskhan-Mega", + "baseSpecies": "Kangaskhan", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Normal" + ], + "gender": "F", + "baseStats": { + "hp": 105, + "atk": 125, + "def": 100, + "spa": 60, + "spd": 100, + "spe": 100 + }, + "abilities": { + "0": "Parental Bond" + }, + "heightm": 2.2, + "weightkg": 100, + "color": "Brown", + "eggGroups": [ + "Monster" + ] + }, + "horsea": { + "num": 116, + "species": "Horsea", + "types": [ + "Water" + ], + "baseStats": { + "hp": 30, + "atk": 40, + "def": 70, + "spa": 70, + "spd": 25, + "spe": 60 + }, + "abilities": { + "0": "Swift Swim", + "1": "Sniper", + "H": "Damp" + }, + "heightm": 0.4, + "weightkg": 8, + "color": "Blue", + "evos": [ + "seadra" + ], + "eggGroups": [ + "Water 1", + "Dragon" + ] + }, + "seadra": { + "num": 117, + "species": "Seadra", + "types": [ + "Water" + ], + "baseStats": { + "hp": 55, + "atk": 65, + "def": 95, + "spa": 95, + "spd": 45, + "spe": 85 + }, + "abilities": { + "0": "Poison Point", + "1": "Sniper", + "H": "Damp" + }, + "heightm": 1.2, + "weightkg": 25, + "color": "Blue", + "prevo": "horsea", + "evos": [ + "kingdra" + ], + "evoLevel": 32, + "eggGroups": [ + "Water 1", + "Dragon" + ] + }, + "goldeen": { + "num": 118, + "species": "Goldeen", + "types": [ + "Water" + ], + "baseStats": { + "hp": 45, + "atk": 67, + "def": 60, + "spa": 35, + "spd": 50, + "spe": 63 + }, + "abilities": { + "0": "Swift Swim", + "1": "Water Veil", + "H": "Lightning Rod" + }, + "heightm": 0.6, + "weightkg": 15, + "color": "Red", + "evos": [ + "seaking" + ], + "eggGroups": [ + "Water 2" + ] + }, + "seaking": { + "num": 119, + "species": "Seaking", + "types": [ + "Water" + ], + "baseStats": { + "hp": 80, + "atk": 92, + "def": 65, + "spa": 65, + "spd": 80, + "spe": 68 + }, + "abilities": { + "0": "Swift Swim", + "1": "Water Veil", + "H": "Lightning Rod" + }, + "heightm": 1.3, + "weightkg": 39, + "color": "Red", + "prevo": "goldeen", + "evoLevel": 33, + "eggGroups": [ + "Water 2" + ] + }, + "staryu": { + "num": 120, + "species": "Staryu", + "types": [ + "Water" + ], + "gender": "N", + "baseStats": { + "hp": 30, + "atk": 45, + "def": 55, + "spa": 70, + "spd": 55, + "spe": 85 + }, + "abilities": { + "0": "Illuminate", + "1": "Natural Cure", + "H": "Analytic" + }, + "heightm": 0.8, + "weightkg": 34.5, + "color": "Brown", + "evos": [ + "starmie" + ], + "eggGroups": [ + "Water 3" + ] + }, + "starmie": { + "num": 121, + "species": "Starmie", + "types": [ + "Water", + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 60, + "atk": 75, + "def": 85, + "spa": 100, + "spd": 85, + "spe": 115 + }, + "abilities": { + "0": "Illuminate", + "1": "Natural Cure", + "H": "Analytic" + }, + "heightm": 1.1, + "weightkg": 80, + "color": "Purple", + "prevo": "staryu", + "evoLevel": 1, + "eggGroups": [ + "Water 3" + ] + }, + "mrmime": { + "num": 122, + "species": "Mr. Mime", + "types": [ + "Psychic", + "Fairy" + ], + "baseStats": { + "hp": 40, + "atk": 45, + "def": 65, + "spa": 100, + "spd": 120, + "spe": 90 + }, + "abilities": { + "0": "Soundproof", + "1": "Filter", + "H": "Technician" + }, + "heightm": 1.3, + "weightkg": 54.5, + "color": "Pink", + "prevo": "mimejr", + "evoLevel": 1, + "evoMove": "Mimic", + "eggGroups": [ + "Human-Like" + ] + }, + "scyther": { + "num": 123, + "species": "Scyther", + "types": [ + "Bug", + "Flying" + ], + "baseStats": { + "hp": 70, + "atk": 110, + "def": 80, + "spa": 55, + "spd": 80, + "spe": 105 + }, + "abilities": { + "0": "Swarm", + "1": "Technician", + "H": "Steadfast" + }, + "heightm": 1.5, + "weightkg": 56, + "color": "Green", + "evos": [ + "scizor" + ], + "eggGroups": [ + "Bug" + ] + }, + "jynx": { + "num": 124, + "species": "Jynx", + "types": [ + "Ice", + "Psychic" + ], + "gender": "F", + "baseStats": { + "hp": 65, + "atk": 50, + "def": 35, + "spa": 115, + "spd": 95, + "spe": 95 + }, + "abilities": { + "0": "Oblivious", + "1": "Forewarn", + "H": "Dry Skin" + }, + "heightm": 1.4, + "weightkg": 40.6, + "color": "Red", + "prevo": "smoochum", + "evoLevel": 30, + "eggGroups": [ + "Human-Like" + ] + }, + "electabuzz": { + "num": 125, + "species": "Electabuzz", + "types": [ + "Electric" + ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, + "baseStats": { + "hp": 65, + "atk": 83, + "def": 57, + "spa": 95, + "spd": 85, + "spe": 105 + }, + "abilities": { + "0": "Static", + "H": "Vital Spirit" + }, + "heightm": 1.1, + "weightkg": 30, + "color": "Yellow", + "prevo": "elekid", + "evos": [ + "electivire" + ], + "evoLevel": 30, + "eggGroups": [ + "Human-Like" + ] + }, + "magmar": { + "num": 126, + "species": "Magmar", + "types": [ + "Fire" + ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, + "baseStats": { + "hp": 65, + "atk": 95, + "def": 57, + "spa": 100, + "spd": 85, + "spe": 93 + }, + "abilities": { + "0": "Flame Body", + "H": "Vital Spirit" + }, + "heightm": 1.3, + "weightkg": 44.5, + "color": "Red", + "prevo": "magby", + "evos": [ + "magmortar" + ], + "evoLevel": 30, + "eggGroups": [ + "Human-Like" + ] + }, + "pinsir": { + "num": 127, + "species": "Pinsir", + "types": [ + "Bug" + ], + "baseStats": { + "hp": 65, + "atk": 125, + "def": 100, + "spa": 55, + "spd": 70, + "spe": 85 + }, + "abilities": { + "0": "Hyper Cutter", + "1": "Mold Breaker", + "H": "Moxie" + }, + "heightm": 1.5, + "weightkg": 55, + "color": "Brown", + "eggGroups": [ + "Bug" + ], + "otherFormes": [ + "pinsirmega" + ] + }, + "pinsirmega": { + "num": 127, + "species": "Pinsir-Mega", + "baseSpecies": "Pinsir", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Bug", + "Flying" + ], + "baseStats": { + "hp": 65, + "atk": 155, + "def": 120, + "spa": 65, + "spd": 90, + "spe": 105 + }, + "abilities": { + "0": "Aerilate" + }, + "heightm": 1.7, + "weightkg": 59, + "color": "Brown", + "eggGroups": [ + "Bug" + ] + }, + "tauros": { + "num": 128, + "species": "Tauros", + "types": [ + "Normal" + ], + "gender": "M", + "baseStats": { + "hp": 75, + "atk": 100, + "def": 95, + "spa": 40, + "spd": 70, + "spe": 110 + }, + "abilities": { + "0": "Intimidate", + "1": "Anger Point", + "H": "Sheer Force" + }, + "heightm": 1.4, + "weightkg": 88.4, + "color": "Brown", + "eggGroups": [ + "Field" + ] + }, + "magikarp": { + "num": 129, + "species": "Magikarp", + "types": [ + "Water" + ], + "baseStats": { + "hp": 20, + "atk": 10, + "def": 55, + "spa": 15, + "spd": 20, + "spe": 80 + }, + "abilities": { + "0": "Swift Swim", + "H": "Rattled" + }, + "heightm": 0.9, + "weightkg": 10, + "color": "Red", + "evos": [ + "gyarados" + ], + "eggGroups": [ + "Water 2", + "Dragon" + ] + }, + "gyarados": { + "num": 130, + "species": "Gyarados", + "types": [ + "Water", + "Flying" + ], + "baseStats": { + "hp": 95, + "atk": 125, + "def": 79, + "spa": 60, + "spd": 100, + "spe": 81 + }, + "abilities": { + "0": "Intimidate", + "H": "Moxie" + }, + "heightm": 6.5, + "weightkg": 235, + "color": "Blue", + "prevo": "magikarp", + "evoLevel": 20, + "eggGroups": [ + "Water 2", + "Dragon" + ], + "otherFormes": [ + "gyaradosmega" + ] + }, + "gyaradosmega": { + "num": 130, + "species": "Gyarados-Mega", + "baseSpecies": "Gyarados", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Water", + "Dark" + ], + "baseStats": { + "hp": 95, + "atk": 155, + "def": 109, + "spa": 70, + "spd": 130, + "spe": 81 + }, + "abilities": { + "0": "Mold Breaker" + }, + "heightm": 6.5, + "weightkg": 305, + "color": "Blue", + "eggGroups": [ + "Water 2", + "Dragon" + ] + }, + "lapras": { + "num": 131, + "species": "Lapras", + "types": [ + "Water", + "Ice" + ], + "baseStats": { + "hp": 130, + "atk": 85, + "def": 80, + "spa": 85, + "spd": 95, + "spe": 60 + }, + "abilities": { + "0": "Water Absorb", + "1": "Shell Armor", + "H": "Hydration" + }, + "heightm": 2.5, + "weightkg": 220, + "color": "Blue", + "eggGroups": [ + "Monster", + "Water 1" + ] + }, + "ditto": { + "num": 132, + "species": "Ditto", + "types": [ + "Normal" + ], + "gender": "N", + "baseStats": { + "hp": 48, + "atk": 48, + "def": 48, + "spa": 48, + "spd": 48, + "spe": 48 + }, + "abilities": { + "0": "Limber", + "H": "Imposter" + }, + "heightm": 0.3, + "weightkg": 4, + "color": "Purple", + "eggGroups": [ + "Ditto" + ] + }, + "eevee": { + "num": 133, + "species": "Eevee", + "types": [ + "Normal" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 55, + "atk": 55, + "def": 50, + "spa": 45, + "spd": 65, + "spe": 55 + }, + "abilities": { + "0": "Run Away", + "1": "Adaptability", + "H": "Anticipation" + }, + "heightm": 0.3, + "weightkg": 6.5, + "color": "Brown", + "evos": [ + "vaporeon", + "jolteon", + "flareon", + "espeon", + "umbreon", + "leafeon", + "glaceon", + "sylveon" + ], + "eggGroups": [ + "Field" + ] + }, + "vaporeon": { + "num": 134, + "species": "Vaporeon", + "types": [ + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 130, + "atk": 65, + "def": 60, + "spa": 110, + "spd": 95, + "spe": 65 + }, + "abilities": { + "0": "Water Absorb", + "H": "Hydration" + }, + "heightm": 1, + "weightkg": 29, + "color": "Blue", + "prevo": "eevee", + "evoLevel": 1, + "eggGroups": [ + "Field" + ] + }, + "jolteon": { + "num": 135, + "species": "Jolteon", + "types": [ + "Electric" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 65, + "atk": 65, + "def": 60, + "spa": 110, + "spd": 95, + "spe": 130 + }, + "abilities": { + "0": "Volt Absorb", + "H": "Quick Feet" + }, + "heightm": 0.8, + "weightkg": 24.5, + "color": "Yellow", + "prevo": "eevee", + "evoLevel": 1, + "eggGroups": [ + "Field" + ] + }, + "flareon": { + "num": 136, + "species": "Flareon", + "types": [ + "Fire" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 65, + "atk": 130, + "def": 60, + "spa": 95, + "spd": 110, + "spe": 65 + }, + "abilities": { + "0": "Flash Fire", + "H": "Guts" + }, + "heightm": 0.9, + "weightkg": 25, + "color": "Red", + "prevo": "eevee", + "evoLevel": 1, + "eggGroups": [ + "Field" + ] + }, + "porygon": { + "num": 137, + "species": "Porygon", + "types": [ + "Normal" + ], + "gender": "N", + "baseStats": { + "hp": 65, + "atk": 60, + "def": 70, + "spa": 85, + "spd": 75, + "spe": 40 + }, + "abilities": { + "0": "Trace", + "1": "Download", + "H": "Analytic" + }, + "heightm": 0.8, + "weightkg": 36.5, + "color": "Pink", + "evos": [ + "porygon2" + ], + "eggGroups": [ + "Mineral" + ] + }, + "omanyte": { + "num": 138, + "species": "Omanyte", + "types": [ + "Rock", + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 35, + "atk": 40, + "def": 100, + "spa": 90, + "spd": 55, + "spe": 35 + }, + "abilities": { + "0": "Swift Swim", + "1": "Shell Armor", + "H": "Weak Armor" + }, + "heightm": 0.4, + "weightkg": 7.5, + "color": "Blue", + "evos": [ + "omastar" + ], + "eggGroups": [ + "Water 1", + "Water 3" + ] + }, + "omastar": { + "num": 139, + "species": "Omastar", + "types": [ + "Rock", + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 70, + "atk": 60, + "def": 125, + "spa": 115, + "spd": 70, + "spe": 55 + }, + "abilities": { + "0": "Swift Swim", + "1": "Shell Armor", + "H": "Weak Armor" + }, + "heightm": 1, + "weightkg": 35, + "color": "Blue", + "prevo": "omanyte", + "evoLevel": 40, + "eggGroups": [ + "Water 1", + "Water 3" + ] + }, + "kabuto": { + "num": 140, + "species": "Kabuto", + "types": [ + "Rock", + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 30, + "atk": 80, + "def": 90, + "spa": 55, + "spd": 45, + "spe": 55 + }, + "abilities": { + "0": "Swift Swim", + "1": "Battle Armor", + "H": "Weak Armor" + }, + "heightm": 0.5, + "weightkg": 11.5, + "color": "Brown", + "evos": [ + "kabutops" + ], + "eggGroups": [ + "Water 1", + "Water 3" + ] + }, + "kabutops": { + "num": 141, + "species": "Kabutops", + "types": [ + "Rock", + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 60, + "atk": 115, + "def": 105, + "spa": 65, + "spd": 70, + "spe": 80 + }, + "abilities": { + "0": "Swift Swim", + "1": "Battle Armor", + "H": "Weak Armor" + }, + "heightm": 1.3, + "weightkg": 40.5, + "color": "Brown", + "prevo": "kabuto", + "evoLevel": 40, + "eggGroups": [ + "Water 1", + "Water 3" + ] + }, + "aerodactyl": { + "num": 142, + "species": "Aerodactyl", + "types": [ + "Rock", + "Flying" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 80, + "atk": 105, + "def": 65, + "spa": 60, + "spd": 75, + "spe": 130 + }, + "abilities": { + "0": "Rock Head", + "1": "Pressure", + "H": "Unnerve" + }, + "heightm": 1.8, + "weightkg": 59, + "color": "Purple", + "eggGroups": [ + "Flying" + ], + "otherFormes": [ + "aerodactylmega" + ] + }, + "aerodactylmega": { + "num": 142, + "species": "Aerodactyl-Mega", + "baseSpecies": "Aerodactyl", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Rock", + "Flying" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 80, + "atk": 135, + "def": 85, + "spa": 70, + "spd": 95, + "spe": 150 + }, + "abilities": { + "0": "Tough Claws" + }, + "heightm": 2.1, + "weightkg": 79, + "color": "Purple", + "eggGroups": [ + "Flying" + ] + }, + "snorlax": { + "num": 143, + "species": "Snorlax", + "types": [ + "Normal" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 160, + "atk": 110, + "def": 65, + "spa": 65, + "spd": 110, + "spe": 30 + }, + "abilities": { + "0": "Immunity", + "1": "Thick Fat", + "H": "Gluttony" + }, + "heightm": 2.1, + "weightkg": 460, + "color": "Black", + "prevo": "munchlax", + "evoLevel": 1, + "eggGroups": [ + "Monster" + ] + }, + "articuno": { + "num": 144, + "species": "Articuno", + "types": [ + "Ice", + "Flying" + ], + "gender": "N", + "baseStats": { + "hp": 90, + "atk": 85, + "def": 100, + "spa": 95, + "spd": 125, + "spe": 85 + }, + "abilities": { + "0": "Pressure", + "H": "Snow Cloak" + }, + "heightm": 1.7, + "weightkg": 55.4, + "color": "Blue", + "eggGroups": [ + "Undiscovered" + ] + }, + "zapdos": { + "num": 145, + "species": "Zapdos", + "types": [ + "Electric", + "Flying" + ], + "gender": "N", + "baseStats": { + "hp": 90, + "atk": 90, + "def": 85, + "spa": 125, + "spd": 90, + "spe": 100 + }, + "abilities": { + "0": "Pressure", + "H": "Static" + }, + "heightm": 1.6, + "weightkg": 52.6, + "color": "Yellow", + "eggGroups": [ + "Undiscovered" + ] + }, + "moltres": { + "num": 146, + "species": "Moltres", + "types": [ + "Fire", + "Flying" + ], + "gender": "N", + "baseStats": { + "hp": 90, + "atk": 100, + "def": 90, + "spa": 125, + "spd": 85, + "spe": 90 + }, + "abilities": { + "0": "Pressure", + "H": "Flame Body" + }, + "heightm": 2, + "weightkg": 60, + "color": "Yellow", + "eggGroups": [ + "Undiscovered" + ] + }, + "dratini": { + "num": 147, + "species": "Dratini", + "types": [ + "Dragon" + ], + "baseStats": { + "hp": 41, + "atk": 64, + "def": 45, + "spa": 50, + "spd": 50, + "spe": 50 + }, + "abilities": { + "0": "Shed Skin", + "H": "Marvel Scale" + }, + "heightm": 1.8, + "weightkg": 3.3, + "color": "Blue", + "evos": [ + "dragonair" + ], + "eggGroups": [ + "Water 1", + "Dragon" + ] + }, + "dragonair": { + "num": 148, + "species": "Dragonair", + "types": [ + "Dragon" + ], + "baseStats": { + "hp": 61, + "atk": 84, + "def": 65, + "spa": 70, + "spd": 70, + "spe": 70 + }, + "abilities": { + "0": "Shed Skin", + "H": "Marvel Scale" + }, + "heightm": 4, + "weightkg": 16.5, + "color": "Blue", + "prevo": "dratini", + "evos": [ + "dragonite" + ], + "evoLevel": 30, + "eggGroups": [ + "Water 1", + "Dragon" + ] + }, + "dragonite": { + "num": 149, + "species": "Dragonite", + "types": [ + "Dragon", + "Flying" + ], + "baseStats": { + "hp": 91, + "atk": 134, + "def": 95, + "spa": 100, + "spd": 100, + "spe": 80 + }, + "abilities": { + "0": "Inner Focus", + "H": "Multiscale" + }, + "heightm": 2.2, + "weightkg": 210, + "color": "Brown", + "prevo": "dragonair", + "evoLevel": 55, + "eggGroups": [ + "Water 1", + "Dragon" + ] + }, + "mewtwo": { + "num": 150, + "species": "Mewtwo", + "types": [ + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 106, + "atk": 110, + "def": 90, + "spa": 154, + "spd": 90, + "spe": 130 + }, + "abilities": { + "0": "Pressure", + "H": "Unnerve" + }, + "heightm": 2, + "weightkg": 122, + "color": "Purple", + "eggGroups": [ + "Undiscovered" + ], + "otherFormes": [ + "mewtwomegax", + "mewtwomegay" + ] + }, + "mewtwomegax": { + "num": 150, + "species": "Mewtwo-Mega-X", + "baseSpecies": "Mewtwo", + "forme": "Mega-X", + "formeLetter": "M", + "types": [ + "Psychic", + "Fighting" + ], + "gender": "N", + "baseStats": { + "hp": 106, + "atk": 190, + "def": 100, + "spa": 154, + "spd": 100, + "spe": 130 + }, + "abilities": { + "0": "Steadfast" + }, + "heightm": 2.3, + "weightkg": 127, + "color": "Purple", + "eggGroups": [ + "Undiscovered" + ] + }, + "mewtwomegay": { + "num": 150, + "species": "Mewtwo-Mega-Y", + "baseSpecies": "Mewtwo", + "forme": "Mega-Y", + "formeLetter": "M", + "types": [ + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 106, + "atk": 150, + "def": 70, + "spa": 194, + "spd": 120, + "spe": 140 + }, + "abilities": { + "0": "Insomnia" + }, + "heightm": 1.5, + "weightkg": 33, + "color": "Purple", + "eggGroups": [ + "Undiscovered" + ] + }, + "mew": { + "num": 151, + "species": "Mew", + "types": [ + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 100, + "atk": 100, + "def": 100, + "spa": 100, + "spd": 100, + "spe": 100 + }, + "abilities": { + "0": "Synchronize" + }, + "heightm": 0.4, + "weightkg": 4, + "color": "Pink", + "eggGroups": [ + "Undiscovered" + ] + }, + "chikorita": { + "num": 152, + "species": "Chikorita", + "types": [ + "Grass" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 45, + "atk": 49, + "def": 65, + "spa": 49, + "spd": 65, + "spe": 45 + }, + "abilities": { + "0": "Overgrow", + "H": "Leaf Guard" + }, + "heightm": 0.9, + "weightkg": 6.4, + "color": "Green", + "evos": [ + "bayleef" + ], + "eggGroups": [ + "Monster", + "Grass" + ] + }, + "bayleef": { + "num": 153, + "species": "Bayleef", + "types": [ + "Grass" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 60, + "atk": 62, + "def": 80, + "spa": 63, + "spd": 80, + "spe": 60 + }, + "abilities": { + "0": "Overgrow", + "H": "Leaf Guard" + }, + "heightm": 1.2, + "weightkg": 15.8, + "color": "Green", + "prevo": "chikorita", + "evos": [ + "meganium" + ], + "evoLevel": 16, + "eggGroups": [ + "Monster", + "Grass" + ] + }, + "meganium": { + "num": 154, + "species": "Meganium", + "types": [ + "Grass" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 80, + "atk": 82, + "def": 100, + "spa": 83, + "spd": 100, + "spe": 80 + }, + "abilities": { + "0": "Overgrow", + "H": "Leaf Guard" + }, + "heightm": 1.8, + "weightkg": 100.5, + "color": "Green", + "prevo": "bayleef", + "evoLevel": 32, + "eggGroups": [ + "Monster", + "Grass" + ] + }, + "cyndaquil": { + "num": 155, + "species": "Cyndaquil", + "types": [ + "Fire" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 39, + "atk": 52, + "def": 43, + "spa": 60, + "spd": 50, + "spe": 65 + }, + "abilities": { + "0": "Blaze", + "H": "Flash Fire" + }, + "heightm": 0.5, + "weightkg": 7.9, + "color": "Yellow", + "evos": [ + "quilava" + ], + "eggGroups": [ + "Field" + ] + }, + "quilava": { + "num": 156, + "species": "Quilava", + "types": [ + "Fire" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 58, + "atk": 64, + "def": 58, + "spa": 80, + "spd": 65, + "spe": 80 + }, + "abilities": { + "0": "Blaze", + "H": "Flash Fire" + }, + "heightm": 0.9, + "weightkg": 19, + "color": "Yellow", + "prevo": "cyndaquil", + "evos": [ + "typhlosion" + ], + "evoLevel": 14, + "eggGroups": [ + "Field" + ] + }, + "typhlosion": { + "num": 157, + "species": "Typhlosion", + "types": [ + "Fire" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 78, + "atk": 84, + "def": 78, + "spa": 109, + "spd": 85, + "spe": 100 + }, + "abilities": { + "0": "Blaze", + "H": "Flash Fire" + }, + "heightm": 1.7, + "weightkg": 79.5, + "color": "Yellow", + "prevo": "quilava", + "evoLevel": 36, + "eggGroups": [ + "Field" + ] + }, + "totodile": { + "num": 158, + "species": "Totodile", + "types": [ + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 50, + "atk": 65, + "def": 64, + "spa": 44, + "spd": 48, + "spe": 43 + }, + "abilities": { + "0": "Torrent", + "H": "Sheer Force" + }, + "heightm": 0.6, + "weightkg": 9.5, + "color": "Blue", + "evos": [ + "croconaw" + ], + "eggGroups": [ + "Monster", + "Water 1" + ] + }, + "croconaw": { + "num": 159, + "species": "Croconaw", + "types": [ + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 65, + "atk": 80, + "def": 80, + "spa": 59, + "spd": 63, + "spe": 58 + }, + "abilities": { + "0": "Torrent", + "H": "Sheer Force" + }, + "heightm": 1.1, + "weightkg": 25, + "color": "Blue", + "prevo": "totodile", + "evos": [ + "feraligatr" + ], + "evoLevel": 18, + "eggGroups": [ + "Monster", + "Water 1" + ] + }, + "feraligatr": { + "num": 160, + "species": "Feraligatr", + "types": [ + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 85, + "atk": 105, + "def": 100, + "spa": 79, + "spd": 83, + "spe": 78 + }, + "abilities": { + "0": "Torrent", + "H": "Sheer Force" + }, + "heightm": 2.3, + "weightkg": 88.8, + "color": "Blue", + "prevo": "croconaw", + "evoLevel": 30, + "eggGroups": [ + "Monster", + "Water 1" + ] + }, + "sentret": { + "num": 161, + "species": "Sentret", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 35, + "atk": 46, + "def": 34, + "spa": 35, + "spd": 45, + "spe": 20 + }, + "abilities": { + "0": "Run Away", + "1": "Keen Eye", + "H": "Frisk" + }, + "heightm": 0.8, + "weightkg": 6, + "color": "Brown", + "evos": [ + "furret" + ], + "eggGroups": [ + "Field" + ] + }, + "furret": { + "num": 162, + "species": "Furret", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 85, + "atk": 76, + "def": 64, + "spa": 45, + "spd": 55, + "spe": 90 + }, + "abilities": { + "0": "Run Away", + "1": "Keen Eye", + "H": "Frisk" + }, + "heightm": 1.8, + "weightkg": 32.5, + "color": "Brown", + "prevo": "sentret", + "evoLevel": 15, + "eggGroups": [ + "Field" + ] + }, + "hoothoot": { + "num": 163, + "species": "Hoothoot", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 60, + "atk": 30, + "def": 30, + "spa": 36, + "spd": 56, + "spe": 50 + }, + "abilities": { + "0": "Insomnia", + "1": "Keen Eye", + "H": "Tinted Lens" + }, + "heightm": 0.7, + "weightkg": 21.2, + "color": "Brown", + "evos": [ + "noctowl" + ], + "eggGroups": [ + "Flying" + ] + }, + "noctowl": { + "num": 164, + "species": "Noctowl", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 100, + "atk": 50, + "def": 50, + "spa": 76, + "spd": 96, + "spe": 70 + }, + "abilities": { + "0": "Insomnia", + "1": "Keen Eye", + "H": "Tinted Lens" + }, + "heightm": 1.6, + "weightkg": 40.8, + "color": "Brown", + "prevo": "hoothoot", + "evoLevel": 20, + "eggGroups": [ + "Flying" + ] + }, + "ledyba": { + "num": 165, + "species": "Ledyba", + "types": [ + "Bug", + "Flying" + ], + "baseStats": { + "hp": 40, + "atk": 20, + "def": 30, + "spa": 40, + "spd": 80, + "spe": 55 + }, + "abilities": { + "0": "Swarm", + "1": "Early Bird", + "H": "Rattled" + }, + "heightm": 1, + "weightkg": 10.8, + "color": "Red", + "evos": [ + "ledian" + ], + "eggGroups": [ + "Bug" + ] + }, + "ledian": { + "num": 166, + "species": "Ledian", + "types": [ + "Bug", + "Flying" + ], + "baseStats": { + "hp": 55, + "atk": 35, + "def": 50, + "spa": 55, + "spd": 110, + "spe": 85 + }, + "abilities": { + "0": "Swarm", + "1": "Early Bird", + "H": "Iron Fist" + }, + "heightm": 1.4, + "weightkg": 35.6, + "color": "Red", + "prevo": "ledyba", + "evoLevel": 18, + "eggGroups": [ + "Bug" + ] + }, + "spinarak": { + "num": 167, + "species": "Spinarak", + "types": [ + "Bug", + "Poison" + ], + "baseStats": { + "hp": 40, + "atk": 60, + "def": 40, + "spa": 40, + "spd": 40, + "spe": 30 + }, + "abilities": { + "0": "Swarm", + "1": "Insomnia", + "H": "Sniper" + }, + "heightm": 0.5, + "weightkg": 8.5, + "color": "Green", + "evos": [ + "ariados" + ], + "eggGroups": [ + "Bug" + ] + }, + "ariados": { + "num": 168, + "species": "Ariados", + "types": [ + "Bug", + "Poison" + ], + "baseStats": { + "hp": 70, + "atk": 90, + "def": 70, + "spa": 60, + "spd": 60, + "spe": 40 + }, + "abilities": { + "0": "Swarm", + "1": "Insomnia", + "H": "Sniper" + }, + "heightm": 1.1, + "weightkg": 33.5, + "color": "Red", + "prevo": "spinarak", + "evoLevel": 22, + "eggGroups": [ + "Bug" + ] + }, + "crobat": { + "num": 169, + "species": "Crobat", + "types": [ + "Poison", + "Flying" + ], + "baseStats": { + "hp": 85, + "atk": 90, + "def": 80, + "spa": 70, + "spd": 80, + "spe": 130 + }, + "abilities": { + "0": "Inner Focus", + "H": "Infiltrator" + }, + "heightm": 1.8, + "weightkg": 75, + "color": "Purple", + "prevo": "golbat", + "evoLevel": 23, + "eggGroups": [ + "Flying" + ] + }, + "chinchou": { + "num": 170, + "species": "Chinchou", + "types": [ + "Water", + "Electric" + ], + "baseStats": { + "hp": 75, + "atk": 38, + "def": 38, + "spa": 56, + "spd": 56, + "spe": 67 + }, + "abilities": { + "0": "Volt Absorb", + "1": "Illuminate", + "H": "Water Absorb" + }, + "heightm": 0.5, + "weightkg": 12, + "color": "Blue", + "evos": [ + "lanturn" + ], + "eggGroups": [ + "Water 2" + ] + }, + "lanturn": { + "num": 171, + "species": "Lanturn", + "types": [ + "Water", + "Electric" + ], + "baseStats": { + "hp": 125, + "atk": 58, + "def": 58, + "spa": 76, + "spd": 76, + "spe": 67 + }, + "abilities": { + "0": "Volt Absorb", + "1": "Illuminate", + "H": "Water Absorb" + }, + "heightm": 1.2, + "weightkg": 22.5, + "color": "Blue", + "prevo": "chinchou", + "evoLevel": 27, + "eggGroups": [ + "Water 2" + ] + }, + "pichu": { + "num": 172, + "species": "Pichu", + "types": [ + "Electric" + ], + "baseStats": { + "hp": 20, + "atk": 40, + "def": 15, + "spa": 35, + "spd": 35, + "spe": 60 + }, + "abilities": { + "0": "Static", + "H": "Lightning Rod" + }, + "heightm": 0.3, + "weightkg": 2, + "color": "Yellow", + "evos": [ + "pikachu" + ], + "eggGroups": [ + "Undiscovered" + ], + "otherFormes": [ + "pichuspikyeared" + ] + }, + "pichuspikyeared": { + "num": 172, + "species": "Pichu-Spiky-eared", + "baseSpecies": "Pichu", + "forme": "Spiky-eared", + "formeLetter": "S", + "types": [ + "Electric" + ], + "gender": "F", + "baseStats": { + "hp": 20, + "atk": 40, + "def": 15, + "spa": 35, + "spd": 35, + "spe": 60 + }, + "abilities": { + "0": "Static" + }, + "heightm": 0.3, + "weightkg": 2, + "color": "Yellow", + "eggGroups": [ + "Undiscovered" + ] + }, + "cleffa": { + "num": 173, + "species": "Cleffa", + "types": [ + "Fairy" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 50, + "atk": 25, + "def": 28, + "spa": 45, + "spd": 55, + "spe": 15 + }, + "abilities": { + "0": "Cute Charm", + "1": "Magic Guard", + "H": "Friend Guard" + }, + "heightm": 0.3, + "weightkg": 3, + "color": "Pink", + "evos": [ + "clefairy" + ], + "eggGroups": [ + "Undiscovered" + ] + }, + "igglybuff": { + "num": 174, + "species": "Igglybuff", + "types": [ + "Normal", + "Fairy" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 90, + "atk": 30, + "def": 15, + "spa": 40, + "spd": 20, + "spe": 15 + }, + "abilities": { + "0": "Cute Charm", + "1": "Competitive", + "H": "Friend Guard" + }, + "heightm": 0.3, + "weightkg": 1, + "color": "Pink", + "evos": [ + "jigglypuff" + ], + "eggGroups": [ + "Undiscovered" + ] + }, + "togepi": { + "num": 175, + "species": "Togepi", + "types": [ + "Fairy" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 35, + "atk": 20, + "def": 65, + "spa": 40, + "spd": 65, + "spe": 20 + }, + "abilities": { + "0": "Hustle", + "1": "Serene Grace", + "H": "Super Luck" + }, + "heightm": 0.3, + "weightkg": 1.5, + "color": "White", + "evos": [ + "togetic" + ], + "eggGroups": [ + "Undiscovered" + ] + }, + "togetic": { + "num": 176, + "species": "Togetic", + "types": [ + "Fairy", + "Flying" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 55, + "atk": 40, + "def": 85, + "spa": 80, + "spd": 105, + "spe": 40 + }, + "abilities": { + "0": "Hustle", + "1": "Serene Grace", + "H": "Super Luck" + }, + "heightm": 0.6, + "weightkg": 3.2, + "color": "White", + "prevo": "togepi", + "evos": [ + "togekiss" + ], + "evoLevel": 2, + "eggGroups": [ + "Flying", + "Fairy" + ] + }, + "natu": { + "num": 177, + "species": "Natu", + "types": [ + "Psychic", + "Flying" + ], + "baseStats": { + "hp": 40, + "atk": 50, + "def": 45, + "spa": 70, + "spd": 45, + "spe": 70 + }, + "abilities": { + "0": "Synchronize", + "1": "Early Bird", + "H": "Magic Bounce" + }, + "heightm": 0.2, + "weightkg": 2, + "color": "Green", + "evos": [ + "xatu" + ], + "eggGroups": [ + "Flying" + ] + }, + "xatu": { + "num": 178, + "species": "Xatu", + "types": [ + "Psychic", + "Flying" + ], + "baseStats": { + "hp": 65, + "atk": 75, + "def": 70, + "spa": 95, + "spd": 70, + "spe": 95 + }, + "abilities": { + "0": "Synchronize", + "1": "Early Bird", + "H": "Magic Bounce" + }, + "heightm": 1.5, + "weightkg": 15, + "color": "Green", + "prevo": "natu", + "evoLevel": 25, + "eggGroups": [ + "Flying" + ] + }, + "mareep": { + "num": 179, + "species": "Mareep", + "types": [ + "Electric" + ], + "baseStats": { + "hp": 55, + "atk": 40, + "def": 40, + "spa": 65, + "spd": 45, + "spe": 35 + }, + "abilities": { + "0": "Static", + "H": "Plus" + }, + "heightm": 0.6, + "weightkg": 7.8, + "color": "White", + "evos": [ + "flaaffy" + ], + "eggGroups": [ + "Monster", + "Field" + ] + }, + "flaaffy": { + "num": 180, + "species": "Flaaffy", + "types": [ + "Electric" + ], + "baseStats": { + "hp": 70, + "atk": 55, + "def": 55, + "spa": 80, + "spd": 60, + "spe": 45 + }, + "abilities": { + "0": "Static", + "H": "Plus" + }, + "heightm": 0.8, + "weightkg": 13.3, + "color": "Pink", + "prevo": "mareep", + "evos": [ + "ampharos" + ], + "evoLevel": 15, + "eggGroups": [ + "Monster", + "Field" + ] + }, + "ampharos": { + "num": 181, + "species": "Ampharos", + "types": [ + "Electric" + ], + "baseStats": { + "hp": 90, + "atk": 75, + "def": 85, + "spa": 115, + "spd": 90, + "spe": 55 + }, + "abilities": { + "0": "Static", + "H": "Plus" + }, + "heightm": 1.4, + "weightkg": 61.5, + "color": "Yellow", + "prevo": "flaaffy", + "evoLevel": 30, + "eggGroups": [ + "Monster", + "Field" + ], + "otherFormes": [ + "ampharosmega" + ] + }, + "ampharosmega": { + "num": 181, + "species": "Ampharos-Mega", + "baseSpecies": "Ampharos", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Electric", + "Dragon" + ], + "baseStats": { + "hp": 90, + "atk": 95, + "def": 105, + "spa": 165, + "spd": 110, + "spe": 45 + }, + "abilities": { + "0": "Mold Breaker" + }, + "heightm": 1.4, + "weightkg": 61.5, + "color": "Yellow", + "eggGroups": [ + "Monster", + "Field" + ] + }, + "bellossom": { + "num": 182, + "species": "Bellossom", + "types": [ + "Grass" + ], + "baseStats": { + "hp": 75, + "atk": 80, + "def": 95, + "spa": 90, + "spd": 100, + "spe": 50 + }, + "abilities": { + "0": "Chlorophyll", + "H": "Healer" + }, + "heightm": 0.4, + "weightkg": 5.8, + "color": "Green", + "prevo": "gloom", + "evoLevel": 21, + "eggGroups": [ + "Grass" + ] + }, + "marill": { + "num": 183, + "species": "Marill", + "types": [ + "Water", + "Fairy" + ], + "baseStats": { + "hp": 70, + "atk": 20, + "def": 50, + "spa": 20, + "spd": 50, + "spe": 40 + }, + "abilities": { + "0": "Thick Fat", + "1": "Huge Power", + "H": "Sap Sipper" + }, + "heightm": 0.4, + "weightkg": 8.5, + "color": "Blue", + "prevo": "azurill", + "evos": [ + "azumarill" + ], + "evoLevel": 1, + "eggGroups": [ + "Water 1", + "Fairy" + ] + }, + "azumarill": { + "num": 184, + "species": "Azumarill", + "types": [ + "Water", + "Fairy" + ], + "baseStats": { + "hp": 100, + "atk": 50, + "def": 80, + "spa": 60, + "spd": 80, + "spe": 50 + }, + "abilities": { + "0": "Thick Fat", + "1": "Huge Power", + "H": "Sap Sipper" + }, + "heightm": 0.8, + "weightkg": 28.5, + "color": "Blue", + "prevo": "marill", + "evoLevel": 18, + "eggGroups": [ + "Water 1", + "Fairy" + ] + }, + "sudowoodo": { + "num": 185, + "species": "Sudowoodo", + "types": [ + "Rock" + ], + "baseStats": { + "hp": 70, + "atk": 100, + "def": 115, + "spa": 30, + "spd": 65, + "spe": 30 + }, + "abilities": { + "0": "Sturdy", + "1": "Rock Head", + "H": "Rattled" + }, + "heightm": 1.2, + "weightkg": 38, + "color": "Brown", + "prevo": "bonsly", + "evoLevel": 1, + "evoMove": "Mimic", + "eggGroups": [ + "Mineral" + ] + }, + "politoed": { + "num": 186, + "species": "Politoed", + "types": [ + "Water" + ], + "baseStats": { + "hp": 90, + "atk": 75, + "def": 75, + "spa": 90, + "spd": 100, + "spe": 70 + }, + "abilities": { + "0": "Water Absorb", + "1": "Damp", + "H": "Drizzle" + }, + "heightm": 1.1, + "weightkg": 33.9, + "color": "Green", + "prevo": "poliwhirl", + "evoLevel": 25, + "eggGroups": [ + "Water 1" + ] + }, + "hoppip": { + "num": 187, + "species": "Hoppip", + "types": [ + "Grass", + "Flying" + ], + "baseStats": { + "hp": 35, + "atk": 35, + "def": 40, + "spa": 35, + "spd": 55, + "spe": 50 + }, + "abilities": { + "0": "Chlorophyll", + "1": "Leaf Guard", + "H": "Infiltrator" + }, + "heightm": 0.4, + "weightkg": 0.5, + "color": "Pink", + "evos": [ + "skiploom" + ], + "eggGroups": [ + "Fairy", + "Grass" + ] + }, + "skiploom": { + "num": 188, + "species": "Skiploom", + "types": [ + "Grass", + "Flying" + ], + "baseStats": { + "hp": 55, + "atk": 45, + "def": 50, + "spa": 45, + "spd": 65, + "spe": 80 + }, + "abilities": { + "0": "Chlorophyll", + "1": "Leaf Guard", + "H": "Infiltrator" + }, + "heightm": 0.6, + "weightkg": 1, + "color": "Green", + "prevo": "hoppip", + "evos": [ + "jumpluff" + ], + "evoLevel": 18, + "eggGroups": [ + "Fairy", + "Grass" + ] + }, + "jumpluff": { + "num": 189, + "species": "Jumpluff", + "types": [ + "Grass", + "Flying" + ], + "baseStats": { + "hp": 75, + "atk": 55, + "def": 70, + "spa": 55, + "spd": 95, + "spe": 110 + }, + "abilities": { + "0": "Chlorophyll", + "1": "Leaf Guard", + "H": "Infiltrator" + }, + "heightm": 0.8, + "weightkg": 3, + "color": "Blue", + "prevo": "skiploom", + "evoLevel": 27, + "eggGroups": [ + "Fairy", + "Grass" + ] + }, + "aipom": { + "num": 190, + "species": "Aipom", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 55, + "atk": 70, + "def": 55, + "spa": 40, + "spd": 55, + "spe": 85 + }, + "abilities": { + "0": "Run Away", + "1": "Pickup", + "H": "Skill Link" + }, + "heightm": 0.8, + "weightkg": 11.5, + "color": "Purple", + "evos": [ + "ambipom" + ], + "eggGroups": [ + "Field" + ] + }, + "sunkern": { + "num": 191, + "species": "Sunkern", + "types": [ + "Grass" + ], + "baseStats": { + "hp": 30, + "atk": 30, + "def": 30, + "spa": 30, + "spd": 30, + "spe": 30 + }, + "abilities": { + "0": "Chlorophyll", + "1": "Solar Power", + "H": "Early Bird" + }, + "heightm": 0.3, + "weightkg": 1.8, + "color": "Yellow", + "evos": [ + "sunflora" + ], + "eggGroups": [ + "Grass" + ] + }, + "sunflora": { + "num": 192, + "species": "Sunflora", + "types": [ + "Grass" + ], + "baseStats": { + "hp": 75, + "atk": 75, + "def": 55, + "spa": 105, + "spd": 85, + "spe": 30 + }, + "abilities": { + "0": "Chlorophyll", + "1": "Solar Power", + "H": "Early Bird" + }, + "heightm": 0.8, + "weightkg": 8.5, + "color": "Yellow", + "prevo": "sunkern", + "evoLevel": 1, + "eggGroups": [ + "Grass" + ] + }, + "yanma": { + "num": 193, + "species": "Yanma", + "types": [ + "Bug", + "Flying" + ], + "baseStats": { + "hp": 65, + "atk": 65, + "def": 45, + "spa": 75, + "spd": 45, + "spe": 95 + }, + "abilities": { + "0": "Speed Boost", + "1": "Compound Eyes", + "H": "Frisk" + }, + "heightm": 1.2, + "weightkg": 38, + "color": "Red", + "evos": [ + "yanmega" + ], + "eggGroups": [ + "Bug" + ] + }, + "wooper": { + "num": 194, + "species": "Wooper", + "types": [ + "Water", + "Ground" + ], + "baseStats": { + "hp": 55, + "atk": 45, + "def": 45, + "spa": 25, + "spd": 25, + "spe": 15 + }, + "abilities": { + "0": "Damp", + "1": "Water Absorb", + "H": "Unaware" + }, + "heightm": 0.4, + "weightkg": 8.5, + "color": "Blue", + "evos": [ + "quagsire" + ], + "eggGroups": [ + "Water 1", + "Field" + ] + }, + "quagsire": { + "num": 195, + "species": "Quagsire", + "types": [ + "Water", + "Ground" + ], + "baseStats": { + "hp": 95, + "atk": 85, + "def": 85, + "spa": 65, + "spd": 65, + "spe": 35 + }, + "abilities": { + "0": "Damp", + "1": "Water Absorb", + "H": "Unaware" + }, + "heightm": 1.4, + "weightkg": 75, + "color": "Blue", + "prevo": "wooper", + "evoLevel": 20, + "eggGroups": [ + "Water 1", + "Field" + ] + }, + "espeon": { + "num": 196, + "species": "Espeon", + "types": [ + "Psychic" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 65, + "atk": 65, + "def": 60, + "spa": 130, + "spd": 95, + "spe": 110 + }, + "abilities": { + "0": "Synchronize", + "H": "Magic Bounce" + }, + "heightm": 0.9, + "weightkg": 26.5, + "color": "Purple", + "prevo": "eevee", + "evoLevel": 2, + "eggGroups": [ + "Field" + ] + }, + "umbreon": { + "num": 197, + "species": "Umbreon", + "types": [ + "Dark" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 95, + "atk": 65, + "def": 110, + "spa": 60, + "spd": 130, + "spe": 65 + }, + "abilities": { + "0": "Synchronize", + "H": "Inner Focus" + }, + "heightm": 1, + "weightkg": 27, + "color": "Black", + "prevo": "eevee", + "evoLevel": 2, + "eggGroups": [ + "Field" + ] + }, + "murkrow": { + "num": 198, + "species": "Murkrow", + "types": [ + "Dark", + "Flying" + ], + "baseStats": { + "hp": 60, + "atk": 85, + "def": 42, + "spa": 85, + "spd": 42, + "spe": 91 + }, + "abilities": { + "0": "Insomnia", + "1": "Super Luck", + "H": "Prankster" + }, + "heightm": 0.5, + "weightkg": 2.1, + "color": "Black", + "evos": [ + "honchkrow" + ], + "eggGroups": [ + "Flying" + ] + }, + "slowking": { + "num": 199, + "species": "Slowking", + "types": [ + "Water", + "Psychic" + ], + "baseStats": { + "hp": 95, + "atk": 75, + "def": 80, + "spa": 100, + "spd": 110, + "spe": 30 + }, + "abilities": { + "0": "Oblivious", + "1": "Own Tempo", + "H": "Regenerator" + }, + "heightm": 2, + "weightkg": 79.5, + "color": "Pink", + "prevo": "slowpoke", + "evoLevel": 1, + "eggGroups": [ + "Monster", + "Water 1" + ] + }, + "misdreavus": { + "num": 200, + "species": "Misdreavus", + "types": [ + "Ghost" + ], + "baseStats": { + "hp": 60, + "atk": 60, + "def": 60, + "spa": 85, + "spd": 85, + "spe": 85 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 0.7, + "weightkg": 1, + "color": "Gray", + "evos": [ + "mismagius" + ], + "eggGroups": [ + "Amorphous" + ] + }, + "unown": { + "num": 201, + "species": "Unown", + "baseForme": "A", + "types": [ + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 48, + "atk": 72, + "def": 48, + "spa": 72, + "spd": 48, + "spe": 48 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 0.5, + "weightkg": 5, + "color": "Black", + "eggGroups": [ + "Undiscovered" + ], + "otherForms": [ + "unownb", + "unownc", + "unownd", + "unowne", + "unownf", + "unowng", + "unownh", + "unowni", + "unownj", + "unownk", + "unownl", + "unownm", + "unownn", + "unowno", + "unownp", + "unownq", + "unownr", + "unowns", + "unownt", + "unownu", + "unownv", + "unownw", + "unownx", + "unowny", + "unownz", + "unownexclamation", + "unownquestion" + ] + }, + "wobbuffet": { + "num": 202, + "species": "Wobbuffet", + "types": [ + "Psychic" + ], + "baseStats": { + "hp": 190, + "atk": 33, + "def": 58, + "spa": 33, + "spd": 58, + "spe": 33 + }, + "abilities": { + "0": "Shadow Tag", + "H": "Telepathy" + }, + "heightm": 1.3, + "weightkg": 28.5, + "color": "Blue", + "prevo": "wynaut", + "evoLevel": 15, + "eggGroups": [ + "Amorphous" + ] + }, + "girafarig": { + "num": 203, + "species": "Girafarig", + "types": [ + "Normal", + "Psychic" + ], + "baseStats": { + "hp": 70, + "atk": 80, + "def": 65, + "spa": 90, + "spd": 65, + "spe": 85 + }, + "abilities": { + "0": "Inner Focus", + "1": "Early Bird", + "H": "Sap Sipper" + }, + "heightm": 1.5, + "weightkg": 41.5, + "color": "Yellow", + "eggGroups": [ + "Field" + ] + }, + "pineco": { + "num": 204, + "species": "Pineco", + "types": [ + "Bug" + ], + "baseStats": { + "hp": 50, + "atk": 65, + "def": 90, + "spa": 35, + "spd": 35, + "spe": 15 + }, + "abilities": { + "0": "Sturdy", + "H": "Overcoat" + }, + "heightm": 0.6, + "weightkg": 7.2, + "color": "Gray", + "evos": [ + "forretress" + ], + "eggGroups": [ + "Bug" + ] + }, + "forretress": { + "num": 205, + "species": "Forretress", + "types": [ + "Bug", + "Steel" + ], + "baseStats": { + "hp": 75, + "atk": 90, + "def": 140, + "spa": 60, + "spd": 60, + "spe": 40 + }, + "abilities": { + "0": "Sturdy", + "H": "Overcoat" + }, + "heightm": 1.2, + "weightkg": 125.8, + "color": "Purple", + "prevo": "pineco", + "evoLevel": 31, + "eggGroups": [ + "Bug" + ] + }, + "dunsparce": { + "num": 206, + "species": "Dunsparce", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 100, + "atk": 70, + "def": 70, + "spa": 65, + "spd": 65, + "spe": 45 + }, + "abilities": { + "0": "Serene Grace", + "1": "Run Away", + "H": "Rattled" + }, + "heightm": 1.5, + "weightkg": 14, + "color": "Yellow", + "eggGroups": [ + "Field" + ] + }, + "gligar": { + "num": 207, + "species": "Gligar", + "types": [ + "Ground", + "Flying" + ], + "baseStats": { + "hp": 65, + "atk": 75, + "def": 105, + "spa": 35, + "spd": 65, + "spe": 85 + }, + "abilities": { + "0": "Hyper Cutter", + "1": "Sand Veil", + "H": "Immunity" + }, + "heightm": 1.1, + "weightkg": 64.8, + "color": "Purple", + "evos": [ + "gliscor" + ], + "eggGroups": [ + "Bug" + ] + }, + "steelix": { + "num": 208, + "species": "Steelix", + "types": [ + "Steel", + "Ground" + ], + "baseStats": { + "hp": 75, + "atk": 85, + "def": 200, + "spa": 55, + "spd": 65, + "spe": 30 + }, + "abilities": { + "0": "Rock Head", + "1": "Sturdy", + "H": "Sheer Force" + }, + "heightm": 9.2, + "weightkg": 400, + "color": "Gray", + "prevo": "onix", + "evoLevel": 1, + "eggGroups": [ + "Mineral" + ], + "otherFormes": [ + "steelixmega" + ] + }, + "steelixmega": { + "num": 208, + "species": "Steelix-Mega", + "baseSpecies": "Steelix", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Steel", + "Ground" + ], + "baseStats": { + "hp": 75, + "atk": 125, + "def": 230, + "spa": 55, + "spd": 95, + "spe": 30 + }, + "abilities": { + "0": "Sand Force" + }, + "heightm": 10.5, + "weightkg": 740, + "color": "Gray", + "eggGroups": [ + "Mineral" + ] + }, + "snubbull": { + "num": 209, + "species": "Snubbull", + "types": [ + "Fairy" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 60, + "atk": 80, + "def": 50, + "spa": 40, + "spd": 40, + "spe": 30 + }, + "abilities": { + "0": "Intimidate", + "1": "Run Away", + "H": "Rattled" + }, + "heightm": 0.6, + "weightkg": 7.8, + "color": "Pink", + "evos": [ + "granbull" + ], + "eggGroups": [ + "Field", + "Fairy" + ] + }, + "granbull": { + "num": 210, + "species": "Granbull", + "types": [ + "Fairy" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 90, + "atk": 120, + "def": 75, + "spa": 60, + "spd": 60, + "spe": 45 + }, + "abilities": { + "0": "Intimidate", + "1": "Quick Feet", + "H": "Rattled" + }, + "heightm": 1.4, + "weightkg": 48.7, + "color": "Purple", + "prevo": "snubbull", + "evoLevel": 23, + "eggGroups": [ + "Field", + "Fairy" + ] + }, + "qwilfish": { + "num": 211, + "species": "Qwilfish", + "types": [ + "Water", + "Poison" + ], + "baseStats": { + "hp": 65, + "atk": 95, + "def": 75, + "spa": 55, + "spd": 55, + "spe": 85 + }, + "abilities": { + "0": "Poison Point", + "1": "Swift Swim", + "H": "Intimidate" + }, + "heightm": 0.5, + "weightkg": 3.9, + "color": "Gray", + "eggGroups": [ + "Water 2" + ] + }, + "scizor": { + "num": 212, + "species": "Scizor", + "types": [ + "Bug", + "Steel" + ], + "baseStats": { + "hp": 70, + "atk": 130, + "def": 100, + "spa": 55, + "spd": 80, + "spe": 65 + }, + "abilities": { + "0": "Swarm", + "1": "Technician", + "H": "Light Metal" + }, + "heightm": 1.8, + "weightkg": 118, + "color": "Red", + "prevo": "scyther", + "evoLevel": 1, + "eggGroups": [ + "Bug" + ], + "otherFormes": [ + "scizormega" + ] + }, + "scizormega": { + "num": 212, + "species": "Scizor-Mega", + "baseSpecies": "Scizor", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Bug", + "Steel" + ], + "baseStats": { + "hp": 70, + "atk": 150, + "def": 140, + "spa": 65, + "spd": 100, + "spe": 75 + }, + "abilities": { + "0": "Technician" + }, + "heightm": 2, + "weightkg": 125, + "color": "Red", + "eggGroups": [ + "Bug" + ] + }, + "shuckle": { + "num": 213, + "species": "Shuckle", + "types": [ + "Bug", + "Rock" + ], + "baseStats": { + "hp": 20, + "atk": 10, + "def": 230, + "spa": 10, + "spd": 230, + "spe": 5 + }, + "abilities": { + "0": "Sturdy", + "1": "Gluttony", + "H": "Contrary" + }, + "heightm": 0.6, + "weightkg": 20.5, + "color": "Yellow", + "eggGroups": [ + "Bug" + ] + }, + "heracross": { + "num": 214, + "species": "Heracross", + "types": [ + "Bug", + "Fighting" + ], + "baseStats": { + "hp": 80, + "atk": 125, + "def": 75, + "spa": 40, + "spd": 95, + "spe": 85 + }, + "abilities": { + "0": "Swarm", + "1": "Guts", + "H": "Moxie" + }, + "heightm": 1.5, + "weightkg": 54, + "color": "Blue", + "eggGroups": [ + "Bug" + ], + "otherFormes": [ + "heracrossmega" + ] + }, + "heracrossmega": { + "num": 214, + "species": "Heracross-Mega", + "baseSpecies": "Heracross", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Bug", + "Fighting" + ], + "baseStats": { + "hp": 80, + "atk": 185, + "def": 115, + "spa": 40, + "spd": 105, + "spe": 75 + }, + "abilities": { + "0": "Skill Link" + }, + "heightm": 1.7, + "weightkg": 62.5, + "color": "Blue", + "eggGroups": [ + "Bug" + ] + }, + "sneasel": { + "num": 215, + "species": "Sneasel", + "types": [ + "Dark", + "Ice" + ], + "baseStats": { + "hp": 55, + "atk": 95, + "def": 55, + "spa": 35, + "spd": 75, + "spe": 115 + }, + "abilities": { + "0": "Inner Focus", + "1": "Keen Eye", + "H": "Pickpocket" + }, + "heightm": 0.9, + "weightkg": 28, + "color": "Black", + "evos": [ + "weavile" + ], + "eggGroups": [ + "Field" + ] + }, + "teddiursa": { + "num": 216, + "species": "Teddiursa", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 60, + "atk": 80, + "def": 50, + "spa": 50, + "spd": 50, + "spe": 40 + }, + "abilities": { + "0": "Pickup", + "1": "Quick Feet", + "H": "Honey Gather" + }, + "heightm": 0.6, + "weightkg": 8.8, + "color": "Brown", + "evos": [ + "ursaring" + ], + "eggGroups": [ + "Field" + ] + }, + "ursaring": { + "num": 217, + "species": "Ursaring", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 90, + "atk": 130, + "def": 75, + "spa": 75, + "spd": 75, + "spe": 55 + }, + "abilities": { + "0": "Guts", + "1": "Quick Feet", + "H": "Unnerve" + }, + "heightm": 1.8, + "weightkg": 125.8, + "color": "Brown", + "prevo": "teddiursa", + "evoLevel": 30, + "eggGroups": [ + "Field" + ] + }, + "slugma": { + "num": 218, + "species": "Slugma", + "types": [ + "Fire" + ], + "baseStats": { + "hp": 40, + "atk": 40, + "def": 40, + "spa": 70, + "spd": 40, + "spe": 20 + }, + "abilities": { + "0": "Magma Armor", + "1": "Flame Body", + "H": "Weak Armor" + }, + "heightm": 0.7, + "weightkg": 35, + "color": "Red", + "evos": [ + "magcargo" + ], + "eggGroups": [ + "Amorphous" + ] + }, + "magcargo": { + "num": 219, + "species": "Magcargo", + "types": [ + "Fire", + "Rock" + ], + "baseStats": { + "hp": 50, + "atk": 50, + "def": 120, + "spa": 80, + "spd": 80, + "spe": 30 + }, + "abilities": { + "0": "Magma Armor", + "1": "Flame Body", + "H": "Weak Armor" + }, + "heightm": 0.8, + "weightkg": 55, + "color": "Red", + "prevo": "slugma", + "evoLevel": 38, + "eggGroups": [ + "Amorphous" + ] + }, + "swinub": { + "num": 220, + "species": "Swinub", + "types": [ + "Ice", + "Ground" + ], + "baseStats": { + "hp": 50, + "atk": 50, + "def": 40, + "spa": 30, + "spd": 30, + "spe": 50 + }, + "abilities": { + "0": "Oblivious", + "1": "Snow Cloak", + "H": "Thick Fat" + }, + "heightm": 0.4, + "weightkg": 6.5, + "color": "Brown", + "evos": [ + "piloswine" + ], + "eggGroups": [ + "Field" + ] + }, + "piloswine": { + "num": 221, + "species": "Piloswine", + "types": [ + "Ice", + "Ground" + ], + "baseStats": { + "hp": 100, + "atk": 100, + "def": 80, + "spa": 60, + "spd": 60, + "spe": 50 + }, + "abilities": { + "0": "Oblivious", + "1": "Snow Cloak", + "H": "Thick Fat" + }, + "heightm": 1.1, + "weightkg": 55.8, + "color": "Brown", + "prevo": "swinub", + "evos": [ + "mamoswine" + ], + "evoLevel": 33, + "eggGroups": [ + "Field" + ] + }, + "corsola": { + "num": 222, + "species": "Corsola", + "types": [ + "Water", + "Rock" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 55, + "atk": 55, + "def": 85, + "spa": 65, + "spd": 85, + "spe": 35 + }, + "abilities": { + "0": "Hustle", + "1": "Natural Cure", + "H": "Regenerator" + }, + "heightm": 0.6, + "weightkg": 5, + "color": "Pink", + "eggGroups": [ + "Water 1", + "Water 3" + ] + }, + "remoraid": { + "num": 223, + "species": "Remoraid", + "types": [ + "Water" + ], + "baseStats": { + "hp": 35, + "atk": 65, + "def": 35, + "spa": 65, + "spd": 35, + "spe": 65 + }, + "abilities": { + "0": "Hustle", + "1": "Sniper", + "H": "Moody" + }, + "heightm": 0.6, + "weightkg": 12, + "color": "Gray", + "evos": [ + "octillery" + ], + "eggGroups": [ + "Water 1", + "Water 2" + ] + }, + "octillery": { + "num": 224, + "species": "Octillery", + "types": [ + "Water" + ], + "baseStats": { + "hp": 75, + "atk": 105, + "def": 75, + "spa": 105, + "spd": 75, + "spe": 45 + }, + "abilities": { + "0": "Suction Cups", + "1": "Sniper", + "H": "Moody" + }, + "heightm": 0.9, + "weightkg": 28.5, + "color": "Red", + "prevo": "remoraid", + "evoLevel": 25, + "eggGroups": [ + "Water 1", + "Water 2" + ] + }, + "delibird": { + "num": 225, + "species": "Delibird", + "types": [ + "Ice", + "Flying" + ], + "baseStats": { + "hp": 45, + "atk": 55, + "def": 45, + "spa": 65, + "spd": 45, + "spe": 75 + }, + "abilities": { + "0": "Vital Spirit", + "1": "Hustle", + "H": "Insomnia" + }, + "heightm": 0.9, + "weightkg": 16, + "color": "Red", + "eggGroups": [ + "Water 1", + "Field" + ] + }, + "mantine": { + "num": 226, + "species": "Mantine", + "types": [ + "Water", + "Flying" + ], + "baseStats": { + "hp": 65, + "atk": 40, + "def": 70, + "spa": 80, + "spd": 140, + "spe": 70 + }, + "abilities": { + "0": "Swift Swim", + "1": "Water Absorb", + "H": "Water Veil" + }, + "heightm": 2.1, + "weightkg": 220, + "color": "Purple", + "prevo": "mantyke", + "evoLevel": 1, + "eggGroups": [ + "Water 1" + ] + }, + "skarmory": { + "num": 227, + "species": "Skarmory", + "types": [ + "Steel", + "Flying" + ], + "baseStats": { + "hp": 65, + "atk": 80, + "def": 140, + "spa": 40, + "spd": 70, + "spe": 70 + }, + "abilities": { + "0": "Keen Eye", + "1": "Sturdy", + "H": "Weak Armor" + }, + "heightm": 1.7, + "weightkg": 50.5, + "color": "Gray", + "eggGroups": [ + "Flying" + ] + }, + "houndour": { + "num": 228, + "species": "Houndour", + "types": [ + "Dark", + "Fire" + ], + "baseStats": { + "hp": 45, + "atk": 60, + "def": 30, + "spa": 80, + "spd": 50, + "spe": 65 + }, + "abilities": { + "0": "Early Bird", + "1": "Flash Fire", + "H": "Unnerve" + }, + "heightm": 0.6, + "weightkg": 10.8, + "color": "Black", + "evos": [ + "houndoom" + ], + "eggGroups": [ + "Field" + ] + }, + "houndoom": { + "num": 229, + "species": "Houndoom", + "types": [ + "Dark", + "Fire" + ], + "baseStats": { + "hp": 75, + "atk": 90, + "def": 50, + "spa": 110, + "spd": 80, + "spe": 95 + }, + "abilities": { + "0": "Early Bird", + "1": "Flash Fire", + "H": "Unnerve" + }, + "heightm": 1.4, + "weightkg": 35, + "color": "Black", + "prevo": "houndour", + "evoLevel": 24, + "eggGroups": [ + "Field" + ], + "otherFormes": [ + "houndoommega" + ] + }, + "houndoommega": { + "num": 229, + "species": "Houndoom-Mega", + "baseSpecies": "Houndoom", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Dark", + "Fire" + ], + "baseStats": { + "hp": 75, + "atk": 90, + "def": 90, + "spa": 140, + "spd": 90, + "spe": 115 + }, + "abilities": { + "0": "Solar Power" + }, + "heightm": 1.9, + "weightkg": 49.5, + "color": "Black", + "eggGroups": [ + "Field" + ] + }, + "kingdra": { + "num": 230, + "species": "Kingdra", + "types": [ + "Water", + "Dragon" + ], + "baseStats": { + "hp": 75, + "atk": 95, + "def": 95, + "spa": 95, + "spd": 95, + "spe": 85 + }, + "abilities": { + "0": "Swift Swim", + "1": "Sniper", + "H": "Damp" + }, + "heightm": 1.8, + "weightkg": 152, + "color": "Blue", + "prevo": "seadra", + "evoLevel": 32, + "eggGroups": [ + "Water 1", + "Dragon" + ] + }, + "phanpy": { + "num": 231, + "species": "Phanpy", + "types": [ + "Ground" + ], + "baseStats": { + "hp": 90, + "atk": 60, + "def": 60, + "spa": 40, + "spd": 40, + "spe": 40 + }, + "abilities": { + "0": "Pickup", + "H": "Sand Veil" + }, + "heightm": 0.5, + "weightkg": 33.5, + "color": "Blue", + "evos": [ + "donphan" + ], + "eggGroups": [ + "Field" + ] + }, + "donphan": { + "num": 232, + "species": "Donphan", + "types": [ + "Ground" + ], + "baseStats": { + "hp": 90, + "atk": 120, + "def": 120, + "spa": 60, + "spd": 60, + "spe": 50 + }, + "abilities": { + "0": "Sturdy", + "H": "Sand Veil" + }, + "heightm": 1.1, + "weightkg": 120, + "color": "Gray", + "prevo": "phanpy", + "evoLevel": 25, + "eggGroups": [ + "Field" + ] + }, + "porygon2": { + "num": 233, + "species": "Porygon2", + "types": [ + "Normal" + ], + "gender": "N", + "baseStats": { + "hp": 85, + "atk": 80, + "def": 90, + "spa": 105, + "spd": 95, + "spe": 60 + }, + "abilities": { + "0": "Trace", + "1": "Download", + "H": "Analytic" + }, + "heightm": 0.6, + "weightkg": 32.5, + "color": "Red", + "prevo": "porygon", + "evos": [ + "porygonz" + ], + "evoLevel": 1, + "eggGroups": [ + "Mineral" + ] + }, + "stantler": { + "num": 234, + "species": "Stantler", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 73, + "atk": 95, + "def": 62, + "spa": 85, + "spd": 65, + "spe": 85 + }, + "abilities": { + "0": "Intimidate", + "1": "Frisk", + "H": "Sap Sipper" + }, + "heightm": 1.4, + "weightkg": 71.2, + "color": "Brown", + "eggGroups": [ + "Field" + ] + }, + "smeargle": { + "num": 235, + "species": "Smeargle", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 55, + "atk": 20, + "def": 35, + "spa": 20, + "spd": 45, + "spe": 75 + }, + "abilities": { + "0": "Own Tempo", + "1": "Technician", + "H": "Moody" + }, + "heightm": 1.2, + "weightkg": 58, + "color": "White", + "eggGroups": [ + "Field" + ] + }, + "tyrogue": { + "num": 236, + "species": "Tyrogue", + "types": [ + "Fighting" + ], + "gender": "M", + "baseStats": { + "hp": 35, + "atk": 35, + "def": 35, + "spa": 35, + "spd": 35, + "spe": 35 + }, + "abilities": { + "0": "Guts", + "1": "Steadfast", + "H": "Vital Spirit" + }, + "heightm": 0.7, + "weightkg": 21, + "color": "Purple", + "evos": [ + "hitmonlee", + "hitmonchan", + "hitmontop" + ], + "eggGroups": [ + "Undiscovered" + ] + }, + "hitmontop": { + "num": 237, + "species": "Hitmontop", + "types": [ + "Fighting" + ], + "gender": "M", + "baseStats": { + "hp": 50, + "atk": 95, + "def": 95, + "spa": 35, + "spd": 110, + "spe": 70 + }, + "abilities": { + "0": "Intimidate", + "1": "Technician", + "H": "Steadfast" + }, + "heightm": 1.4, + "weightkg": 48, + "color": "Brown", + "prevo": "tyrogue", + "evoLevel": 20, + "eggGroups": [ + "Human-Like" + ] + }, + "smoochum": { + "num": 238, + "species": "Smoochum", + "types": [ + "Ice", + "Psychic" + ], + "gender": "F", + "baseStats": { + "hp": 45, + "atk": 30, + "def": 15, + "spa": 85, + "spd": 65, + "spe": 65 + }, + "abilities": { + "0": "Oblivious", + "1": "Forewarn", + "H": "Hydration" + }, + "heightm": 0.4, + "weightkg": 6, + "color": "Pink", + "evos": [ + "jynx" + ], + "eggGroups": [ + "Undiscovered" + ] + }, + "elekid": { + "num": 239, + "species": "Elekid", + "types": [ + "Electric" + ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, + "baseStats": { + "hp": 45, + "atk": 63, + "def": 37, + "spa": 65, + "spd": 55, + "spe": 95 + }, + "abilities": { + "0": "Static", + "H": "Vital Spirit" + }, + "heightm": 0.6, + "weightkg": 23.5, + "color": "Yellow", + "evos": [ + "electabuzz" + ], + "eggGroups": [ + "Undiscovered" + ] + }, + "magby": { + "num": 240, + "species": "Magby", + "types": [ + "Fire" + ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, + "baseStats": { + "hp": 45, + "atk": 75, + "def": 37, + "spa": 70, + "spd": 55, + "spe": 83 + }, + "abilities": { + "0": "Flame Body", + "H": "Vital Spirit" + }, + "heightm": 0.7, + "weightkg": 21.4, + "color": "Red", + "evos": [ + "magmar" + ], + "eggGroups": [ + "Undiscovered" + ] + }, + "miltank": { + "num": 241, + "species": "Miltank", + "types": [ + "Normal" + ], + "gender": "F", + "baseStats": { + "hp": 95, + "atk": 80, + "def": 105, + "spa": 40, + "spd": 70, + "spe": 100 + }, + "abilities": { + "0": "Thick Fat", + "1": "Scrappy", + "H": "Sap Sipper" + }, + "heightm": 1.2, + "weightkg": 75.5, + "color": "Pink", + "eggGroups": [ + "Field" + ] + }, + "blissey": { + "num": 242, + "species": "Blissey", + "types": [ + "Normal" + ], + "gender": "F", + "baseStats": { + "hp": 255, + "atk": 10, + "def": 10, + "spa": 75, + "spd": 135, + "spe": 55 + }, + "abilities": { + "0": "Natural Cure", + "1": "Serene Grace", + "H": "Healer" + }, + "heightm": 1.5, + "weightkg": 46.8, + "color": "Pink", + "prevo": "chansey", + "evoLevel": 2, + "eggGroups": [ + "Fairy" + ] + }, + "raikou": { + "num": 243, + "species": "Raikou", + "types": [ + "Electric" + ], + "gender": "N", + "baseStats": { + "hp": 90, + "atk": 85, + "def": 75, + "spa": 115, + "spd": 100, + "spe": 115 + }, + "abilities": { + "0": "Pressure", + "H": "Volt Absorb" + }, + "heightm": 1.9, + "weightkg": 178, + "color": "Yellow", + "eggGroups": [ + "Undiscovered" + ] + }, + "entei": { + "num": 244, + "species": "Entei", + "types": [ + "Fire" + ], + "gender": "N", + "baseStats": { + "hp": 115, + "atk": 115, + "def": 85, + "spa": 90, + "spd": 75, + "spe": 100 + }, + "abilities": { + "0": "Pressure", + "H": "Flash Fire" + }, + "heightm": 2.1, + "weightkg": 198, + "color": "Brown", + "eggGroups": [ + "Undiscovered" + ] + }, + "suicune": { + "num": 245, + "species": "Suicune", + "types": [ + "Water" + ], + "gender": "N", + "baseStats": { + "hp": 100, + "atk": 75, + "def": 115, + "spa": 90, + "spd": 115, + "spe": 85 + }, + "abilities": { + "0": "Pressure", + "H": "Water Absorb" + }, + "heightm": 2, + "weightkg": 187, + "color": "Blue", + "eggGroups": [ + "Undiscovered" + ] + }, + "larvitar": { + "num": 246, + "species": "Larvitar", + "types": [ + "Rock", + "Ground" + ], + "baseStats": { + "hp": 50, + "atk": 64, + "def": 50, + "spa": 45, + "spd": 50, + "spe": 41 + }, + "abilities": { + "0": "Guts", + "H": "Sand Veil" + }, + "heightm": 0.6, + "weightkg": 72, + "color": "Green", + "evos": [ + "pupitar" + ], + "eggGroups": [ + "Monster" + ] + }, + "pupitar": { + "num": 247, + "species": "Pupitar", + "types": [ + "Rock", + "Ground" + ], + "baseStats": { + "hp": 70, + "atk": 84, + "def": 70, + "spa": 65, + "spd": 70, + "spe": 51 + }, + "abilities": { + "0": "Shed Skin" + }, + "heightm": 1.2, + "weightkg": 152, + "color": "Gray", + "prevo": "larvitar", + "evos": [ + "tyranitar" + ], + "evoLevel": 30, + "eggGroups": [ + "Monster" + ] + }, + "tyranitar": { + "num": 248, + "species": "Tyranitar", + "types": [ + "Rock", + "Dark" + ], + "baseStats": { + "hp": 100, + "atk": 134, + "def": 110, + "spa": 95, + "spd": 100, + "spe": 61 + }, + "abilities": { + "0": "Sand Stream", + "H": "Unnerve" + }, + "heightm": 2, + "weightkg": 202, + "color": "Green", + "prevo": "pupitar", + "evoLevel": 55, + "eggGroups": [ + "Monster" + ], + "otherFormes": [ + "tyranitarmega" + ] + }, + "tyranitarmega": { + "num": 248, + "species": "Tyranitar-Mega", + "baseSpecies": "Tyranitar", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Rock", + "Dark" + ], + "baseStats": { + "hp": 100, + "atk": 164, + "def": 150, + "spa": 95, + "spd": 120, + "spe": 71 + }, + "abilities": { + "0": "Sand Stream" + }, + "heightm": 2.5, + "weightkg": 255, + "color": "Green", + "eggGroups": [ + "Monster" + ] + }, + "lugia": { + "num": 249, + "species": "Lugia", + "types": [ + "Psychic", + "Flying" + ], + "gender": "N", + "baseStats": { + "hp": 106, + "atk": 90, + "def": 130, + "spa": 90, + "spd": 154, + "spe": 110 + }, + "abilities": { + "0": "Pressure", + "H": "Multiscale" + }, + "heightm": 5.2, + "weightkg": 216, + "color": "White", + "eggGroups": [ + "Undiscovered" + ] + }, + "hooh": { + "num": 250, + "species": "Ho-Oh", + "types": [ + "Fire", + "Flying" + ], + "gender": "N", + "baseStats": { + "hp": 106, + "atk": 130, + "def": 90, + "spa": 110, + "spd": 154, + "spe": 90 + }, + "abilities": { + "0": "Pressure", + "H": "Regenerator" + }, + "heightm": 3.8, + "weightkg": 199, + "color": "Red", + "eggGroups": [ + "Undiscovered" + ] + }, + "celebi": { + "num": 251, + "species": "Celebi", + "types": [ + "Psychic", + "Grass" + ], + "gender": "N", + "baseStats": { + "hp": 100, + "atk": 100, + "def": 100, + "spa": 100, + "spd": 100, + "spe": 100 + }, + "abilities": { + "0": "Natural Cure" + }, + "heightm": 0.6, + "weightkg": 5, + "color": "Green", + "eggGroups": [ + "Undiscovered" + ] + }, + "treecko": { + "num": 252, + "species": "Treecko", + "types": [ + "Grass" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 40, + "atk": 45, + "def": 35, + "spa": 65, + "spd": 55, + "spe": 70 + }, + "abilities": { + "0": "Overgrow", + "H": "Unburden" + }, + "heightm": 0.5, + "weightkg": 5, + "color": "Green", + "evos": [ + "grovyle" + ], + "eggGroups": [ + "Monster", + "Dragon" + ] + }, + "grovyle": { + "num": 253, + "species": "Grovyle", + "types": [ + "Grass" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 50, + "atk": 65, + "def": 45, + "spa": 85, + "spd": 65, + "spe": 95 + }, + "abilities": { + "0": "Overgrow", + "H": "Unburden" + }, + "heightm": 0.9, + "weightkg": 21.6, + "color": "Green", + "prevo": "treecko", + "evos": [ + "sceptile" + ], + "evoLevel": 16, + "eggGroups": [ + "Monster", + "Dragon" + ] + }, + "sceptile": { + "num": 254, + "species": "Sceptile", + "types": [ + "Grass" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 70, + "atk": 85, + "def": 65, + "spa": 105, + "spd": 85, + "spe": 120 + }, + "abilities": { + "0": "Overgrow", + "H": "Unburden" + }, + "heightm": 1.7, + "weightkg": 52.2, + "color": "Green", + "prevo": "grovyle", + "evoLevel": 36, + "eggGroups": [ + "Monster", + "Dragon" + ], + "otherFormes": [ + "sceptilemega" + ] + }, + "sceptilemega": { + "num": 254, + "species": "Sceptile-Mega", + "baseSpecies": "Sceptile", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Grass", + "Dragon" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 70, + "atk": 110, + "def": 75, + "spa": 145, + "spd": 85, + "spe": 145 + }, + "abilities": { + "0": "Lightning Rod" + }, + "heightm": 1.9, + "weightkg": 55.2, + "color": "Green", + "eggGroups": [ + "Monster", + "Dragon" + ] + }, + "torchic": { + "num": 255, + "species": "Torchic", + "types": [ + "Fire" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 45, + "atk": 60, + "def": 40, + "spa": 70, + "spd": 50, + "spe": 45 + }, + "abilities": { + "0": "Blaze", + "H": "Speed Boost" + }, + "heightm": 0.4, + "weightkg": 2.5, + "color": "Red", + "evos": [ + "combusken" + ], + "eggGroups": [ + "Field" + ] + }, + "combusken": { + "num": 256, + "species": "Combusken", + "types": [ + "Fire", + "Fighting" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 60, + "atk": 85, + "def": 60, + "spa": 85, + "spd": 60, + "spe": 55 + }, + "abilities": { + "0": "Blaze", + "H": "Speed Boost" + }, + "heightm": 0.9, + "weightkg": 19.5, + "color": "Red", + "prevo": "torchic", + "evos": [ + "blaziken" + ], + "evoLevel": 16, + "eggGroups": [ + "Field" + ] + }, + "blaziken": { + "num": 257, + "species": "Blaziken", + "types": [ + "Fire", + "Fighting" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 80, + "atk": 120, + "def": 70, + "spa": 110, + "spd": 70, + "spe": 80 + }, + "abilities": { + "0": "Blaze", + "H": "Speed Boost" + }, + "heightm": 1.9, + "weightkg": 52, + "color": "Red", + "prevo": "combusken", + "evoLevel": 36, + "eggGroups": [ + "Field" + ], + "otherFormes": [ + "blazikenmega" + ] + }, + "blazikenmega": { + "num": 257, + "species": "Blaziken-Mega", + "baseSpecies": "Blaziken", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Fire", + "Fighting" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 80, + "atk": 160, + "def": 80, + "spa": 130, + "spd": 80, + "spe": 100 + }, + "abilities": { + "0": "Speed Boost" + }, + "heightm": 1.9, + "weightkg": 52, + "color": "Red", + "eggGroups": [ + "Field" + ] + }, + "mudkip": { + "num": 258, + "species": "Mudkip", + "types": [ + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 50, + "atk": 70, + "def": 50, + "spa": 50, + "spd": 50, + "spe": 40 + }, + "abilities": { + "0": "Torrent", + "H": "Damp" + }, + "heightm": 0.4, + "weightkg": 7.6, + "color": "Blue", + "evos": [ + "marshtomp" + ], + "eggGroups": [ + "Monster", + "Water 1" + ] + }, + "marshtomp": { + "num": 259, + "species": "Marshtomp", + "types": [ + "Water", + "Ground" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 70, + "atk": 85, + "def": 70, + "spa": 60, + "spd": 70, + "spe": 50 + }, + "abilities": { + "0": "Torrent", + "H": "Damp" + }, + "heightm": 0.7, + "weightkg": 28, + "color": "Blue", + "prevo": "mudkip", + "evos": [ + "swampert" + ], + "evoLevel": 16, + "eggGroups": [ + "Monster", + "Water 1" + ] + }, + "swampert": { + "num": 260, + "species": "Swampert", + "types": [ + "Water", + "Ground" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 100, + "atk": 110, + "def": 90, + "spa": 85, + "spd": 90, + "spe": 60 + }, + "abilities": { + "0": "Torrent", + "H": "Damp" + }, + "heightm": 1.5, + "weightkg": 81.9, + "color": "Blue", + "prevo": "marshtomp", + "evoLevel": 36, + "eggGroups": [ + "Monster", + "Water 1" + ], + "otherFormes": [ + "swampertmega" + ] + }, + "swampertmega": { + "num": 260, + "species": "Swampert-Mega", + "baseSpecies": "Swampert", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Water", + "Ground" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 100, + "atk": 150, + "def": 110, + "spa": 95, + "spd": 110, + "spe": 70 + }, + "abilities": { + "0": "Swift Swim" + }, + "heightm": 1.9, + "weightkg": 102, + "color": "Blue", + "eggGroups": [ + "Monster", + "Water 1" + ] + }, + "poochyena": { + "num": 261, + "species": "Poochyena", + "types": [ + "Dark" + ], + "baseStats": { + "hp": 35, + "atk": 55, + "def": 35, + "spa": 30, + "spd": 30, + "spe": 35 + }, + "abilities": { + "0": "Run Away", + "1": "Quick Feet", + "H": "Rattled" + }, + "heightm": 0.5, + "weightkg": 13.6, + "color": "Gray", + "evos": [ + "mightyena" + ], + "eggGroups": [ + "Field" + ] + }, + "mightyena": { + "num": 262, + "species": "Mightyena", + "types": [ + "Dark" + ], + "baseStats": { + "hp": 70, + "atk": 90, + "def": 70, + "spa": 60, + "spd": 60, + "spe": 70 + }, + "abilities": { + "0": "Intimidate", + "1": "Quick Feet", + "H": "Moxie" + }, + "heightm": 1, + "weightkg": 37, + "color": "Gray", + "prevo": "poochyena", + "evoLevel": 18, + "eggGroups": [ + "Field" + ] + }, + "zigzagoon": { + "num": 263, + "species": "Zigzagoon", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 38, + "atk": 30, + "def": 41, + "spa": 30, + "spd": 41, + "spe": 60 + }, + "abilities": { + "0": "Pickup", + "1": "Gluttony", + "H": "Quick Feet" + }, + "heightm": 0.4, + "weightkg": 17.5, + "color": "Brown", + "evos": [ + "linoone" + ], + "eggGroups": [ + "Field" + ] + }, + "linoone": { + "num": 264, + "species": "Linoone", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 78, + "atk": 70, + "def": 61, + "spa": 50, + "spd": 61, + "spe": 100 + }, + "abilities": { + "0": "Pickup", + "1": "Gluttony", + "H": "Quick Feet" + }, + "heightm": 0.5, + "weightkg": 32.5, + "color": "White", + "prevo": "zigzagoon", + "evoLevel": 20, + "eggGroups": [ + "Field" + ] + }, + "wurmple": { + "num": 265, + "species": "Wurmple", + "types": [ + "Bug" + ], + "baseStats": { + "hp": 45, + "atk": 45, + "def": 35, + "spa": 20, + "spd": 30, + "spe": 20 + }, + "abilities": { + "0": "Shield Dust", + "H": "Run Away" + }, + "heightm": 0.3, + "weightkg": 3.6, + "color": "Red", + "evos": [ + "silcoon", + "cascoon" + ], + "eggGroups": [ + "Bug" + ] + }, + "silcoon": { + "num": 266, + "species": "Silcoon", + "types": [ + "Bug" + ], + "baseStats": { + "hp": 50, + "atk": 35, + "def": 55, + "spa": 25, + "spd": 25, + "spe": 15 + }, + "abilities": { + "0": "Shed Skin" + }, + "heightm": 0.6, + "weightkg": 10, + "color": "White", + "prevo": "wurmple", + "evos": [ + "beautifly" + ], + "evoLevel": 7, + "eggGroups": [ + "Bug" + ] + }, + "beautifly": { + "num": 267, + "species": "Beautifly", + "types": [ + "Bug", + "Flying" + ], + "baseStats": { + "hp": 60, + "atk": 70, + "def": 50, + "spa": 100, + "spd": 50, + "spe": 65 + }, + "abilities": { + "0": "Swarm", + "H": "Rivalry" + }, + "heightm": 1, + "weightkg": 28.4, + "color": "Yellow", + "prevo": "silcoon", + "evoLevel": 10, + "eggGroups": [ + "Bug" + ] + }, + "cascoon": { + "num": 268, + "species": "Cascoon", + "types": [ + "Bug" + ], + "baseStats": { + "hp": 50, + "atk": 35, + "def": 55, + "spa": 25, + "spd": 25, + "spe": 15 + }, + "abilities": { + "0": "Shed Skin" + }, + "heightm": 0.7, + "weightkg": 11.5, + "color": "Purple", + "prevo": "wurmple", + "evos": [ + "dustox" + ], + "evoLevel": 7, + "eggGroups": [ + "Bug" + ] + }, + "dustox": { + "num": 269, + "species": "Dustox", + "types": [ + "Bug", + "Poison" + ], + "baseStats": { + "hp": 60, + "atk": 50, + "def": 70, + "spa": 50, + "spd": 90, + "spe": 65 + }, + "abilities": { + "0": "Shield Dust", + "H": "Compound Eyes" + }, + "heightm": 1.2, + "weightkg": 31.6, + "color": "Green", + "prevo": "cascoon", + "evoLevel": 10, + "eggGroups": [ + "Bug" + ] + }, + "lotad": { + "num": 270, + "species": "Lotad", + "types": [ + "Water", + "Grass" + ], + "baseStats": { + "hp": 40, + "atk": 30, + "def": 30, + "spa": 40, + "spd": 50, + "spe": 30 + }, + "abilities": { + "0": "Swift Swim", + "1": "Rain Dish", + "H": "Own Tempo" + }, + "heightm": 0.5, + "weightkg": 2.6, + "color": "Green", + "evos": [ + "lombre" + ], + "eggGroups": [ + "Water 1", + "Grass" + ] + }, + "lombre": { + "num": 271, + "species": "Lombre", + "types": [ + "Water", + "Grass" + ], + "baseStats": { + "hp": 60, + "atk": 50, + "def": 50, + "spa": 60, + "spd": 70, + "spe": 50 + }, + "abilities": { + "0": "Swift Swim", + "1": "Rain Dish", + "H": "Own Tempo" + }, + "heightm": 1.2, + "weightkg": 32.5, + "color": "Green", + "prevo": "lotad", + "evos": [ + "ludicolo" + ], + "evoLevel": 14, + "eggGroups": [ + "Water 1", + "Grass" + ] + }, + "ludicolo": { + "num": 272, + "species": "Ludicolo", + "types": [ + "Water", + "Grass" + ], + "baseStats": { + "hp": 80, + "atk": 70, + "def": 70, + "spa": 90, + "spd": 100, + "spe": 70 + }, + "abilities": { + "0": "Swift Swim", + "1": "Rain Dish", + "H": "Own Tempo" + }, + "heightm": 1.5, + "weightkg": 55, + "color": "Green", + "prevo": "lombre", + "evoLevel": 14, + "eggGroups": [ + "Water 1", + "Grass" + ] + }, + "seedot": { + "num": 273, + "species": "Seedot", + "types": [ + "Grass" + ], + "baseStats": { + "hp": 40, + "atk": 40, + "def": 50, + "spa": 30, + "spd": 30, + "spe": 30 + }, + "abilities": { + "0": "Chlorophyll", + "1": "Early Bird", + "H": "Pickpocket" + }, + "heightm": 0.5, + "weightkg": 4, + "color": "Brown", + "evos": [ + "nuzleaf" + ], + "eggGroups": [ + "Field", + "Grass" + ] + }, + "nuzleaf": { + "num": 274, + "species": "Nuzleaf", + "types": [ + "Grass", + "Dark" + ], + "baseStats": { + "hp": 70, + "atk": 70, + "def": 40, + "spa": 60, + "spd": 40, + "spe": 60 + }, + "abilities": { + "0": "Chlorophyll", + "1": "Early Bird", + "H": "Pickpocket" + }, + "heightm": 1, + "weightkg": 28, + "color": "Brown", + "prevo": "seedot", + "evos": [ + "shiftry" + ], + "evoLevel": 14, + "eggGroups": [ + "Field", + "Grass" + ] + }, + "shiftry": { + "num": 275, + "species": "Shiftry", + "types": [ + "Grass", + "Dark" + ], + "baseStats": { + "hp": 90, + "atk": 100, + "def": 60, + "spa": 90, + "spd": 60, + "spe": 80 + }, + "abilities": { + "0": "Chlorophyll", + "1": "Early Bird", + "H": "Pickpocket" + }, + "heightm": 1.3, + "weightkg": 59.6, + "color": "Brown", + "prevo": "nuzleaf", + "evoLevel": 14, + "eggGroups": [ + "Field", + "Grass" + ] + }, + "taillow": { + "num": 276, + "species": "Taillow", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 40, + "atk": 55, + "def": 30, + "spa": 30, + "spd": 30, + "spe": 85 + }, + "abilities": { + "0": "Guts", + "H": "Scrappy" + }, + "heightm": 0.3, + "weightkg": 2.3, + "color": "Blue", + "evos": [ + "swellow" + ], + "eggGroups": [ + "Flying" + ] + }, + "swellow": { + "num": 277, + "species": "Swellow", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 60, + "atk": 85, + "def": 60, + "spa": 50, + "spd": 50, + "spe": 125 + }, + "abilities": { + "0": "Guts", + "H": "Scrappy" + }, + "heightm": 0.7, + "weightkg": 19.8, + "color": "Blue", + "prevo": "taillow", + "evoLevel": 22, + "eggGroups": [ + "Flying" + ] + }, + "wingull": { + "num": 278, + "species": "Wingull", + "types": [ + "Water", + "Flying" + ], + "baseStats": { + "hp": 40, + "atk": 30, + "def": 30, + "spa": 55, + "spd": 30, + "spe": 85 + }, + "abilities": { + "0": "Keen Eye", + "H": "Rain Dish" + }, + "heightm": 0.6, + "weightkg": 9.5, + "color": "White", + "evos": [ + "pelipper" + ], + "eggGroups": [ + "Water 1", + "Flying" + ] + }, + "pelipper": { + "num": 279, + "species": "Pelipper", + "types": [ + "Water", + "Flying" + ], + "baseStats": { + "hp": 60, + "atk": 50, + "def": 100, + "spa": 85, + "spd": 70, + "spe": 65 + }, + "abilities": { + "0": "Keen Eye", + "H": "Rain Dish" + }, + "heightm": 1.2, + "weightkg": 28, + "color": "Yellow", + "prevo": "wingull", + "evoLevel": 25, + "eggGroups": [ + "Water 1", + "Flying" + ] + }, + "ralts": { + "num": 280, + "species": "Ralts", + "types": [ + "Psychic", + "Fairy" + ], + "baseStats": { + "hp": 28, + "atk": 25, + "def": 25, + "spa": 45, + "spd": 35, + "spe": 40 + }, + "abilities": { + "0": "Synchronize", + "1": "Trace", + "H": "Telepathy" + }, + "heightm": 0.4, + "weightkg": 6.6, + "color": "White", + "evos": [ + "kirlia" + ], + "eggGroups": [ + "Amorphous" + ] + }, + "kirlia": { + "num": 281, + "species": "Kirlia", + "types": [ + "Psychic", + "Fairy" + ], + "baseStats": { + "hp": 38, + "atk": 35, + "def": 35, + "spa": 65, + "spd": 55, + "spe": 50 + }, + "abilities": { + "0": "Synchronize", + "1": "Trace", + "H": "Telepathy" + }, + "heightm": 0.8, + "weightkg": 20.2, + "color": "White", + "prevo": "ralts", + "evos": [ + "gardevoir", + "gallade" + ], + "evoLevel": 20, + "eggGroups": [ + "Amorphous" + ] + }, + "gardevoir": { + "num": 282, + "species": "Gardevoir", + "types": [ + "Psychic", + "Fairy" + ], + "baseStats": { + "hp": 68, + "atk": 65, + "def": 65, + "spa": 125, + "spd": 115, + "spe": 80 + }, + "abilities": { + "0": "Synchronize", + "1": "Trace", + "H": "Telepathy" + }, + "heightm": 1.6, + "weightkg": 48.4, + "color": "White", + "prevo": "kirlia", + "evoLevel": 30, + "eggGroups": [ + "Amorphous" + ], + "otherFormes": [ + "gardevoirmega" + ] + }, + "gardevoirmega": { + "num": 282, + "species": "Gardevoir-Mega", + "baseSpecies": "Gardevoir", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Psychic", + "Fairy" + ], + "baseStats": { + "hp": 68, + "atk": 85, + "def": 65, + "spa": 165, + "spd": 135, + "spe": 100 + }, + "abilities": { + "0": "Pixilate" + }, + "heightm": 1.6, + "weightkg": 48.4, + "color": "White", + "eggGroups": [ + "Amorphous" + ] + }, + "surskit": { + "num": 283, + "species": "Surskit", + "types": [ + "Bug", + "Water" + ], + "baseStats": { + "hp": 40, + "atk": 30, + "def": 32, + "spa": 50, + "spd": 52, + "spe": 65 + }, + "abilities": { + "0": "Swift Swim", + "H": "Rain Dish" + }, + "heightm": 0.5, + "weightkg": 1.7, + "color": "Blue", + "evos": [ + "masquerain" + ], + "eggGroups": [ + "Water 1", + "Bug" + ] + }, + "masquerain": { + "num": 284, + "species": "Masquerain", + "types": [ + "Bug", + "Flying" + ], + "baseStats": { + "hp": 70, + "atk": 60, + "def": 62, + "spa": 80, + "spd": 82, + "spe": 60 + }, + "abilities": { + "0": "Intimidate", + "H": "Unnerve" + }, + "heightm": 0.8, + "weightkg": 3.6, + "color": "Blue", + "prevo": "surskit", + "evoLevel": 22, + "eggGroups": [ + "Water 1", + "Bug" + ] + }, + "shroomish": { + "num": 285, + "species": "Shroomish", + "types": [ + "Grass" + ], + "baseStats": { + "hp": 60, + "atk": 40, + "def": 60, + "spa": 40, + "spd": 60, + "spe": 35 + }, + "abilities": { + "0": "Effect Spore", + "1": "Poison Heal", + "H": "Quick Feet" + }, + "heightm": 0.4, + "weightkg": 4.5, + "color": "Brown", + "evos": [ + "breloom" + ], + "eggGroups": [ + "Fairy", + "Grass" + ] + }, + "breloom": { + "num": 286, + "species": "Breloom", + "types": [ + "Grass", + "Fighting" + ], + "baseStats": { + "hp": 60, + "atk": 130, + "def": 80, + "spa": 60, + "spd": 60, + "spe": 70 + }, + "abilities": { + "0": "Effect Spore", + "1": "Poison Heal", + "H": "Technician" + }, + "heightm": 1.2, + "weightkg": 39.2, + "color": "Green", + "prevo": "shroomish", + "evoLevel": 23, + "eggGroups": [ + "Fairy", + "Grass" + ] + }, + "slakoth": { + "num": 287, + "species": "Slakoth", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 60, + "atk": 60, + "def": 60, + "spa": 35, + "spd": 35, + "spe": 30 + }, + "abilities": { + "0": "Truant" + }, + "heightm": 0.8, + "weightkg": 24, + "color": "Brown", + "evos": [ + "vigoroth" + ], + "eggGroups": [ + "Field" + ] + }, + "vigoroth": { + "num": 288, + "species": "Vigoroth", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 80, + "atk": 80, + "def": 80, + "spa": 55, + "spd": 55, + "spe": 90 + }, + "abilities": { + "0": "Vital Spirit" + }, + "heightm": 1.4, + "weightkg": 46.5, + "color": "White", + "prevo": "slakoth", + "evos": [ + "slaking" + ], + "evoLevel": 18, + "eggGroups": [ + "Field" + ] + }, + "slaking": { + "num": 289, + "species": "Slaking", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 150, + "atk": 160, + "def": 100, + "spa": 95, + "spd": 65, + "spe": 100 + }, + "abilities": { + "0": "Truant" + }, + "heightm": 2, + "weightkg": 130.5, + "color": "Brown", + "prevo": "vigoroth", + "evoLevel": 36, + "eggGroups": [ + "Field" + ] + }, + "nincada": { + "num": 290, + "species": "Nincada", + "types": [ + "Bug", + "Ground" + ], + "baseStats": { + "hp": 31, + "atk": 45, + "def": 90, + "spa": 30, + "spd": 30, + "spe": 40 + }, + "abilities": { + "0": "Compound Eyes", + "H": "Run Away" + }, + "heightm": 0.5, + "weightkg": 5.5, + "color": "Gray", + "evos": [ + "ninjask", + "shedinja" + ], + "eggGroups": [ + "Bug" + ] + }, + "ninjask": { + "num": 291, + "species": "Ninjask", + "types": [ + "Bug", + "Flying" + ], + "baseStats": { + "hp": 61, + "atk": 90, + "def": 45, + "spa": 50, + "spd": 50, + "spe": 160 + }, + "abilities": { + "0": "Speed Boost", + "H": "Infiltrator" + }, + "heightm": 0.8, + "weightkg": 12, + "color": "Yellow", + "prevo": "nincada", + "evoLevel": 20, + "eggGroups": [ + "Bug" + ] + }, + "shedinja": { + "num": 292, + "species": "Shedinja", + "types": [ + "Bug", + "Ghost" + ], + "gender": "N", + "baseStats": { + "hp": 1, + "atk": 90, + "def": 45, + "spa": 30, + "spd": 30, + "spe": 40 + }, + "maxHP": 1, + "abilities": { + "0": "Wonder Guard" + }, + "heightm": 0.8, + "weightkg": 1.2, + "color": "Brown", + "prevo": "nincada", + "evoLevel": 20, + "eggGroups": [ + "Mineral" + ] + }, + "whismur": { + "num": 293, + "species": "Whismur", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 64, + "atk": 51, + "def": 23, + "spa": 51, + "spd": 23, + "spe": 28 + }, + "abilities": { + "0": "Soundproof", + "H": "Rattled" + }, + "heightm": 0.6, + "weightkg": 16.3, + "color": "Pink", + "evos": [ + "loudred" + ], + "eggGroups": [ + "Monster", + "Field" + ] + }, + "loudred": { + "num": 294, + "species": "Loudred", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 84, + "atk": 71, + "def": 43, + "spa": 71, + "spd": 43, + "spe": 48 + }, + "abilities": { + "0": "Soundproof", + "H": "Scrappy" + }, + "heightm": 1, + "weightkg": 40.5, + "color": "Blue", + "prevo": "whismur", + "evos": [ + "exploud" + ], + "evoLevel": 20, + "eggGroups": [ + "Monster", + "Field" + ] + }, + "exploud": { + "num": 295, + "species": "Exploud", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 104, + "atk": 91, + "def": 63, + "spa": 91, + "spd": 73, + "spe": 68 + }, + "abilities": { + "0": "Soundproof", + "H": "Scrappy" + }, + "heightm": 1.5, + "weightkg": 84, + "color": "Blue", + "prevo": "loudred", + "evoLevel": 40, + "eggGroups": [ + "Monster", + "Field" + ] + }, + "makuhita": { + "num": 296, + "species": "Makuhita", + "types": [ + "Fighting" + ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, + "baseStats": { + "hp": 72, + "atk": 60, + "def": 30, + "spa": 20, + "spd": 30, + "spe": 25 + }, + "abilities": { + "0": "Thick Fat", + "1": "Guts", + "H": "Sheer Force" + }, + "heightm": 1, + "weightkg": 86.4, + "color": "Yellow", + "evos": [ + "hariyama" + ], + "eggGroups": [ + "Human-Like" + ] + }, + "hariyama": { + "num": 297, + "species": "Hariyama", + "types": [ + "Fighting" + ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, + "baseStats": { + "hp": 144, + "atk": 120, + "def": 60, + "spa": 40, + "spd": 60, + "spe": 50 + }, + "abilities": { + "0": "Thick Fat", + "1": "Guts", + "H": "Sheer Force" + }, + "heightm": 2.3, + "weightkg": 253.8, + "color": "Brown", + "prevo": "makuhita", + "evoLevel": 24, + "eggGroups": [ + "Human-Like" + ] + }, + "azurill": { + "num": 298, + "species": "Azurill", + "types": [ + "Normal", + "Fairy" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 50, + "atk": 20, + "def": 40, + "spa": 20, + "spd": 40, + "spe": 20 + }, + "abilities": { + "0": "Thick Fat", + "1": "Huge Power", + "H": "Sap Sipper" + }, + "heightm": 0.2, + "weightkg": 2, + "color": "Blue", + "evos": [ + "marill" + ], + "eggGroups": [ + "Undiscovered" + ] + }, + "nosepass": { + "num": 299, + "species": "Nosepass", + "types": [ + "Rock" + ], + "baseStats": { + "hp": 30, + "atk": 45, + "def": 135, + "spa": 45, + "spd": 90, + "spe": 30 + }, + "abilities": { + "0": "Sturdy", + "1": "Magnet Pull", + "H": "Sand Force" + }, + "heightm": 1, + "weightkg": 97, + "color": "Gray", + "evos": [ + "probopass" + ], + "eggGroups": [ + "Mineral" + ] + }, + "skitty": { + "num": 300, + "species": "Skitty", + "types": [ + "Normal" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 50, + "atk": 45, + "def": 45, + "spa": 35, + "spd": 35, + "spe": 50 + }, + "abilities": { + "0": "Cute Charm", + "1": "Normalize", + "H": "Wonder Skin" + }, + "heightm": 0.6, + "weightkg": 11, + "color": "Pink", + "evos": [ + "delcatty" + ], + "eggGroups": [ + "Field", + "Fairy" + ] + }, + "delcatty": { + "num": 301, + "species": "Delcatty", + "types": [ + "Normal" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 70, + "atk": 65, + "def": 65, + "spa": 55, + "spd": 55, + "spe": 70 + }, + "abilities": { + "0": "Cute Charm", + "1": "Normalize", + "H": "Wonder Skin" + }, + "heightm": 1.1, + "weightkg": 32.6, + "color": "Purple", + "prevo": "skitty", + "evoLevel": 1, + "eggGroups": [ + "Field", + "Fairy" + ] + }, + "sableye": { + "num": 302, + "species": "Sableye", + "types": [ + "Dark", + "Ghost" + ], + "baseStats": { + "hp": 50, + "atk": 75, + "def": 75, + "spa": 65, + "spd": 65, + "spe": 50 + }, + "abilities": { + "0": "Keen Eye", + "1": "Stall", + "H": "Prankster" + }, + "heightm": 0.5, + "weightkg": 11, + "color": "Purple", + "eggGroups": [ + "Human-Like" + ], + "otherFormes": [ + "sableyemega" + ] + }, + "sableyemega": { + "num": 302, + "species": "Sableye-Mega", + "baseSpecies": "Sableye", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Dark", + "Ghost" + ], + "baseStats": { + "hp": 50, + "atk": 85, + "def": 125, + "spa": 85, + "spd": 115, + "spe": 20 + }, + "abilities": { + "0": "Magic Bounce" + }, + "heightm": 0.5, + "weightkg": 161, + "color": "Purple", + "eggGroups": [ + "Human-Like" + ] + }, + "mawile": { + "num": 303, + "species": "Mawile", + "types": [ + "Steel", + "Fairy" + ], + "baseStats": { + "hp": 50, + "atk": 85, + "def": 85, + "spa": 55, + "spd": 55, + "spe": 50 + }, + "abilities": { + "0": "Hyper Cutter", + "1": "Intimidate", + "H": "Sheer Force" + }, + "heightm": 0.6, + "weightkg": 11.5, + "color": "Black", + "eggGroups": [ + "Field", + "Fairy" + ], + "otherFormes": [ + "mawilemega" + ] + }, + "mawilemega": { + "num": 303, + "species": "Mawile-Mega", + "baseSpecies": "Mawile", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Steel", + "Fairy" + ], + "baseStats": { + "hp": 50, + "atk": 105, + "def": 125, + "spa": 55, + "spd": 95, + "spe": 50 + }, + "abilities": { + "0": "Huge Power" + }, + "heightm": 1, + "weightkg": 23.5, + "color": "Black", + "eggGroups": [ + "Field", + "Fairy" + ] + }, + "aron": { + "num": 304, + "species": "Aron", + "types": [ + "Steel", + "Rock" + ], + "baseStats": { + "hp": 50, + "atk": 70, + "def": 100, + "spa": 40, + "spd": 40, + "spe": 30 + }, + "abilities": { + "0": "Sturdy", + "1": "Rock Head", + "H": "Heavy Metal" + }, + "heightm": 0.4, + "weightkg": 60, + "color": "Gray", + "evos": [ + "lairon" + ], + "eggGroups": [ + "Monster" + ] + }, + "lairon": { + "num": 305, + "species": "Lairon", + "types": [ + "Steel", + "Rock" + ], + "baseStats": { + "hp": 60, + "atk": 90, + "def": 140, + "spa": 50, + "spd": 50, + "spe": 40 + }, + "abilities": { + "0": "Sturdy", + "1": "Rock Head", + "H": "Heavy Metal" + }, + "heightm": 0.9, + "weightkg": 120, + "color": "Gray", + "prevo": "aron", + "evos": [ + "aggron" + ], + "evoLevel": 32, + "eggGroups": [ + "Monster" + ] + }, + "aggron": { + "num": 306, + "species": "Aggron", + "types": [ + "Steel", + "Rock" + ], + "baseStats": { + "hp": 70, + "atk": 110, + "def": 180, + "spa": 60, + "spd": 60, + "spe": 50 + }, + "abilities": { + "0": "Sturdy", + "1": "Rock Head", + "H": "Heavy Metal" + }, + "heightm": 2.1, + "weightkg": 360, + "color": "Gray", + "prevo": "lairon", + "evoLevel": 42, + "eggGroups": [ + "Monster" + ], + "otherFormes": [ + "aggronmega" + ] + }, + "aggronmega": { + "num": 306, + "species": "Aggron-Mega", + "baseSpecies": "Aggron", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Steel" + ], + "baseStats": { + "hp": 70, + "atk": 140, + "def": 230, + "spa": 60, + "spd": 80, + "spe": 50 + }, + "abilities": { + "0": "Filter" + }, + "heightm": 2.2, + "weightkg": 395, + "color": "Gray", + "eggGroups": [ + "Monster" + ] + }, + "meditite": { + "num": 307, + "species": "Meditite", + "types": [ + "Fighting", + "Psychic" + ], + "baseStats": { + "hp": 30, + "atk": 40, + "def": 55, + "spa": 40, + "spd": 55, + "spe": 60 + }, + "abilities": { + "0": "Pure Power", + "H": "Telepathy" + }, + "heightm": 0.6, + "weightkg": 11.2, + "color": "Blue", + "evos": [ + "medicham" + ], + "eggGroups": [ + "Human-Like" + ] + }, + "medicham": { + "num": 308, + "species": "Medicham", + "types": [ + "Fighting", + "Psychic" + ], + "baseStats": { + "hp": 60, + "atk": 60, + "def": 75, + "spa": 60, + "spd": 75, + "spe": 80 + }, + "abilities": { + "0": "Pure Power", + "H": "Telepathy" + }, + "heightm": 1.3, + "weightkg": 31.5, + "color": "Red", + "prevo": "meditite", + "evoLevel": 37, + "eggGroups": [ + "Human-Like" + ], + "otherFormes": [ + "medichammega" + ] + }, + "medichammega": { + "num": 308, + "species": "Medicham-Mega", + "baseSpecies": "Medicham", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Fighting", + "Psychic" + ], + "baseStats": { + "hp": 60, + "atk": 100, + "def": 85, + "spa": 80, + "spd": 85, + "spe": 100 + }, + "abilities": { + "0": "Pure Power" + }, + "heightm": 1.3, + "weightkg": 31.5, + "color": "Red", + "eggGroups": [ + "Human-Like" + ] + }, + "electrike": { + "num": 309, + "species": "Electrike", + "types": [ + "Electric" + ], + "baseStats": { + "hp": 40, + "atk": 45, + "def": 40, + "spa": 65, + "spd": 40, + "spe": 65 + }, + "abilities": { + "0": "Static", + "1": "Lightning Rod", + "H": "Minus" + }, + "heightm": 0.6, + "weightkg": 15.2, + "color": "Green", + "evos": [ + "manectric" + ], + "eggGroups": [ + "Field" + ] + }, + "manectric": { + "num": 310, + "species": "Manectric", + "types": [ + "Electric" + ], + "baseStats": { + "hp": 70, + "atk": 75, + "def": 60, + "spa": 105, + "spd": 60, + "spe": 105 + }, + "abilities": { + "0": "Static", + "1": "Lightning Rod", + "H": "Minus" + }, + "heightm": 1.5, + "weightkg": 40.2, + "color": "Yellow", + "prevo": "electrike", + "evoLevel": 26, + "eggGroups": [ + "Field" + ], + "otherFormes": [ + "manectricmega" + ] + }, + "manectricmega": { + "num": 310, + "species": "Manectric-Mega", + "baseSpecies": "Manectric", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Electric" + ], + "baseStats": { + "hp": 70, + "atk": 75, + "def": 80, + "spa": 135, + "spd": 80, + "spe": 135 + }, + "abilities": { + "0": "Intimidate" + }, + "heightm": 1.8, + "weightkg": 44, + "color": "Yellow", + "eggGroups": [ + "Field" + ] + }, + "plusle": { + "num": 311, + "species": "Plusle", + "types": [ + "Electric" + ], + "baseStats": { + "hp": 60, + "atk": 50, + "def": 40, + "spa": 85, + "spd": 75, + "spe": 95 + }, + "abilities": { + "0": "Plus", + "H": "Lightning Rod" + }, + "heightm": 0.4, + "weightkg": 4.2, + "color": "Yellow", + "eggGroups": [ + "Fairy" + ] + }, + "minun": { + "num": 312, + "species": "Minun", + "types": [ + "Electric" + ], + "baseStats": { + "hp": 60, + "atk": 40, + "def": 50, + "spa": 75, + "spd": 85, + "spe": 95 + }, + "abilities": { + "0": "Minus", + "H": "Volt Absorb" + }, + "heightm": 0.4, + "weightkg": 4.2, + "color": "Yellow", + "eggGroups": [ + "Fairy" + ] + }, + "volbeat": { + "num": 313, + "species": "Volbeat", + "types": [ + "Bug" + ], + "gender": "M", + "baseStats": { + "hp": 65, + "atk": 73, + "def": 55, + "spa": 47, + "spd": 75, + "spe": 85 + }, + "abilities": { + "0": "Illuminate", + "1": "Swarm", + "H": "Prankster" + }, + "heightm": 0.7, + "weightkg": 17.7, + "color": "Gray", + "eggGroups": [ + "Bug", + "Human-Like" + ] + }, + "illumise": { + "num": 314, + "species": "Illumise", + "types": [ + "Bug" + ], + "gender": "F", + "baseStats": { + "hp": 65, + "atk": 47, + "def": 55, + "spa": 73, + "spd": 75, + "spe": 85 + }, + "abilities": { + "0": "Oblivious", + "1": "Tinted Lens", + "H": "Prankster" + }, + "heightm": 0.6, + "weightkg": 17.7, + "color": "Purple", + "eggGroups": [ + "Bug", + "Human-Like" + ] + }, + "roselia": { + "num": 315, + "species": "Roselia", + "types": [ + "Grass", + "Poison" + ], + "baseStats": { + "hp": 50, + "atk": 60, + "def": 45, + "spa": 100, + "spd": 80, + "spe": 65 + }, + "abilities": { + "0": "Natural Cure", + "1": "Poison Point", + "H": "Leaf Guard" + }, + "heightm": 0.3, + "weightkg": 2, + "color": "Green", + "prevo": "budew", + "evos": [ + "roserade" + ], + "evoLevel": 1, + "eggGroups": [ + "Fairy", + "Grass" + ] + }, + "gulpin": { + "num": 316, + "species": "Gulpin", + "types": [ + "Poison" + ], + "baseStats": { + "hp": 70, + "atk": 43, + "def": 53, + "spa": 43, + "spd": 53, + "spe": 40 + }, + "abilities": { + "0": "Liquid Ooze", + "1": "Sticky Hold", + "H": "Gluttony" + }, + "heightm": 0.4, + "weightkg": 10.3, + "color": "Green", + "evos": [ + "swalot" + ], + "eggGroups": [ + "Amorphous" + ] + }, + "swalot": { + "num": 317, + "species": "Swalot", + "types": [ + "Poison" + ], + "baseStats": { + "hp": 100, + "atk": 73, + "def": 83, + "spa": 73, + "spd": 83, + "spe": 55 + }, + "abilities": { + "0": "Liquid Ooze", + "1": "Sticky Hold", + "H": "Gluttony" + }, + "heightm": 1.7, + "weightkg": 80, + "color": "Purple", + "prevo": "gulpin", + "evoLevel": 26, + "eggGroups": [ + "Amorphous" + ] + }, + "carvanha": { + "num": 318, + "species": "Carvanha", + "types": [ + "Water", + "Dark" + ], + "baseStats": { + "hp": 45, + "atk": 90, + "def": 20, + "spa": 65, + "spd": 20, + "spe": 65 + }, + "abilities": { + "0": "Rough Skin", + "H": "Speed Boost" + }, + "heightm": 0.8, + "weightkg": 20.8, + "color": "Red", + "evos": [ + "sharpedo" + ], + "eggGroups": [ + "Water 2" + ] + }, + "sharpedo": { + "num": 319, + "species": "Sharpedo", + "types": [ + "Water", + "Dark" + ], + "baseStats": { + "hp": 70, + "atk": 120, + "def": 40, + "spa": 95, + "spd": 40, + "spe": 95 + }, + "abilities": { + "0": "Rough Skin", + "H": "Speed Boost" + }, + "heightm": 1.8, + "weightkg": 88.8, + "color": "Blue", + "prevo": "carvanha", + "evoLevel": 30, + "eggGroups": [ + "Water 2" + ], + "otherFormes": [ + "sharpedomega" + ] + }, + "sharpedomega": { + "num": 319, + "species": "Sharpedo-Mega", + "baseSpecies": "Sharpedo", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Water", + "Dark" + ], + "baseStats": { + "hp": 70, + "atk": 140, + "def": 70, + "spa": 110, + "spd": 65, + "spe": 105 + }, + "abilities": { + "0": "Strong Jaw" + }, + "heightm": 2.5, + "weightkg": 130.3, + "color": "Blue", + "eggGroups": [ + "Water 2" + ] + }, + "wailmer": { + "num": 320, + "species": "Wailmer", + "types": [ + "Water" + ], + "baseStats": { + "hp": 130, + "atk": 70, + "def": 35, + "spa": 70, + "spd": 35, + "spe": 60 + }, + "abilities": { + "0": "Water Veil", + "1": "Oblivious", + "H": "Pressure" + }, + "heightm": 2, + "weightkg": 130, + "color": "Blue", + "evos": [ + "wailord" + ], + "eggGroups": [ + "Field", + "Water 2" + ] + }, + "wailord": { + "num": 321, + "species": "Wailord", + "types": [ + "Water" + ], + "baseStats": { + "hp": 170, + "atk": 90, + "def": 45, + "spa": 90, + "spd": 45, + "spe": 60 + }, + "abilities": { + "0": "Water Veil", + "1": "Oblivious", + "H": "Pressure" + }, + "heightm": 14.5, + "weightkg": 398, + "color": "Blue", + "prevo": "wailmer", + "evoLevel": 40, + "eggGroups": [ + "Field", + "Water 2" + ] + }, + "numel": { + "num": 322, + "species": "Numel", + "types": [ + "Fire", + "Ground" + ], + "baseStats": { + "hp": 60, + "atk": 60, + "def": 40, + "spa": 65, + "spd": 45, + "spe": 35 + }, + "abilities": { + "0": "Oblivious", + "1": "Simple", + "H": "Own Tempo" + }, + "heightm": 0.7, + "weightkg": 24, + "color": "Yellow", + "evos": [ + "camerupt" + ], + "eggGroups": [ + "Field" + ] + }, + "camerupt": { + "num": 323, + "species": "Camerupt", + "types": [ + "Fire", + "Ground" + ], + "baseStats": { + "hp": 70, + "atk": 100, + "def": 70, + "spa": 105, + "spd": 75, + "spe": 40 + }, + "abilities": { + "0": "Magma Armor", + "1": "Solid Rock", + "H": "Anger Point" + }, + "heightm": 1.9, + "weightkg": 220, + "color": "Red", + "prevo": "numel", + "evoLevel": 33, + "eggGroups": [ + "Field" + ], + "otherFormes": [ + "cameruptmega" + ] + }, + "cameruptmega": { + "num": 323, + "species": "Camerupt-Mega", + "baseSpecies": "Camerupt", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Fire", + "Ground" + ], + "baseStats": { + "hp": 70, + "atk": 120, + "def": 100, + "spa": 145, + "spd": 105, + "spe": 20 + }, + "abilities": { + "0": "Sheer Force" + }, + "heightm": 2.5, + "weightkg": 320.5, + "color": "Red", + "eggGroups": [ + "Field" + ] + }, + "torkoal": { + "num": 324, + "species": "Torkoal", + "types": [ + "Fire" + ], + "baseStats": { + "hp": 70, + "atk": 85, + "def": 140, + "spa": 85, + "spd": 70, + "spe": 20 + }, + "abilities": { + "0": "White Smoke", + "H": "Shell Armor" + }, + "heightm": 0.5, + "weightkg": 80.4, + "color": "Brown", + "eggGroups": [ + "Field" + ] + }, + "spoink": { + "num": 325, + "species": "Spoink", + "types": [ + "Psychic" + ], + "baseStats": { + "hp": 60, + "atk": 25, + "def": 35, + "spa": 70, + "spd": 80, + "spe": 60 + }, + "abilities": { + "0": "Thick Fat", + "1": "Own Tempo", + "H": "Gluttony" + }, + "heightm": 0.7, + "weightkg": 30.6, + "color": "Black", + "evos": [ + "grumpig" + ], + "eggGroups": [ + "Field" + ] + }, + "grumpig": { + "num": 326, + "species": "Grumpig", + "types": [ + "Psychic" + ], + "baseStats": { + "hp": 80, + "atk": 45, + "def": 65, + "spa": 90, + "spd": 110, + "spe": 80 + }, + "abilities": { + "0": "Thick Fat", + "1": "Own Tempo", + "H": "Gluttony" + }, + "heightm": 0.9, + "weightkg": 71.5, + "color": "Purple", + "prevo": "spoink", + "evoLevel": 32, + "eggGroups": [ + "Field" + ] + }, + "spinda": { + "num": 327, + "species": "Spinda", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 60, + "atk": 60, + "def": 60, + "spa": 60, + "spd": 60, + "spe": 60 + }, + "abilities": { + "0": "Own Tempo", + "1": "Tangled Feet", + "H": "Contrary" + }, + "heightm": 1.1, + "weightkg": 5, + "color": "Brown", + "eggGroups": [ + "Field", + "Human-Like" + ] + }, + "trapinch": { + "num": 328, + "species": "Trapinch", + "types": [ + "Ground" + ], + "baseStats": { + "hp": 45, + "atk": 100, + "def": 45, + "spa": 45, + "spd": 45, + "spe": 10 + }, + "abilities": { + "0": "Hyper Cutter", + "1": "Arena Trap", + "H": "Sheer Force" + }, + "heightm": 0.7, + "weightkg": 15, + "color": "Brown", + "evos": [ + "vibrava" + ], + "eggGroups": [ + "Bug" + ] + }, + "vibrava": { + "num": 329, + "species": "Vibrava", + "types": [ + "Ground", + "Dragon" + ], + "baseStats": { + "hp": 50, + "atk": 70, + "def": 50, + "spa": 50, + "spd": 50, + "spe": 70 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 1.1, + "weightkg": 15.3, + "color": "Green", + "prevo": "trapinch", + "evos": [ + "flygon" + ], + "evoLevel": 35, + "eggGroups": [ + "Bug" + ] + }, + "flygon": { + "num": 330, + "species": "Flygon", + "types": [ + "Ground", + "Dragon" + ], + "baseStats": { + "hp": 80, + "atk": 100, + "def": 80, + "spa": 80, + "spd": 80, + "spe": 100 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 2, + "weightkg": 82, + "color": "Green", + "prevo": "vibrava", + "evoLevel": 45, + "eggGroups": [ + "Bug" + ] + }, + "cacnea": { + "num": 331, + "species": "Cacnea", + "types": [ + "Grass" + ], + "baseStats": { + "hp": 50, + "atk": 85, + "def": 40, + "spa": 85, + "spd": 40, + "spe": 35 + }, + "abilities": { + "0": "Sand Veil", + "H": "Water Absorb" + }, + "heightm": 0.4, + "weightkg": 51.3, + "color": "Green", + "evos": [ + "cacturne" + ], + "eggGroups": [ + "Grass", + "Human-Like" + ] + }, + "cacturne": { + "num": 332, + "species": "Cacturne", + "types": [ + "Grass", + "Dark" + ], + "baseStats": { + "hp": 70, + "atk": 115, + "def": 60, + "spa": 115, + "spd": 60, + "spe": 55 + }, + "abilities": { + "0": "Sand Veil", + "H": "Water Absorb" + }, + "heightm": 1.3, + "weightkg": 77.4, + "color": "Green", + "prevo": "cacnea", + "evoLevel": 32, + "eggGroups": [ + "Grass", + "Human-Like" + ] + }, + "swablu": { + "num": 333, + "species": "Swablu", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 45, + "atk": 40, + "def": 60, + "spa": 40, + "spd": 75, + "spe": 50 + }, + "abilities": { + "0": "Natural Cure", + "H": "Cloud Nine" + }, + "heightm": 0.4, + "weightkg": 1.2, + "color": "Blue", + "evos": [ + "altaria" + ], + "eggGroups": [ + "Flying", + "Dragon" + ] + }, + "altaria": { + "num": 334, + "species": "Altaria", + "types": [ + "Dragon", + "Flying" + ], + "baseStats": { + "hp": 75, + "atk": 70, + "def": 90, + "spa": 70, + "spd": 105, + "spe": 80 + }, + "abilities": { + "0": "Natural Cure", + "H": "Cloud Nine" + }, + "heightm": 1.1, + "weightkg": 20.6, + "color": "Blue", + "prevo": "swablu", + "evoLevel": 35, + "eggGroups": [ + "Flying", + "Dragon" + ], + "otherFormes": [ + "altariamega" + ] + }, + "altariamega": { + "num": 334, + "species": "Altaria-Mega", + "baseSpecies": "Altaria", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Dragon", + "Fairy" + ], + "baseStats": { + "hp": 75, + "atk": 110, + "def": 110, + "spa": 110, + "spd": 105, + "spe": 80 + }, + "abilities": { + "0": "Pixilate" + }, + "heightm": 1.5, + "weightkg": 20.6, + "color": "Blue", + "eggGroups": [ + "Flying", + "Dragon" + ] + }, + "zangoose": { + "num": 335, + "species": "Zangoose", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 73, + "atk": 115, + "def": 60, + "spa": 60, + "spd": 60, + "spe": 90 + }, + "abilities": { + "0": "Immunity", + "H": "Toxic Boost" + }, + "heightm": 1.3, + "weightkg": 40.3, + "color": "White", + "eggGroups": [ + "Field" + ] + }, + "seviper": { + "num": 336, + "species": "Seviper", + "types": [ + "Poison" + ], + "baseStats": { + "hp": 73, + "atk": 100, + "def": 60, + "spa": 100, + "spd": 60, + "spe": 65 + }, + "abilities": { + "0": "Shed Skin", + "H": "Infiltrator" + }, + "heightm": 2.7, + "weightkg": 52.5, + "color": "Black", + "eggGroups": [ + "Field", + "Dragon" + ] + }, + "lunatone": { + "num": 337, + "species": "Lunatone", + "types": [ + "Rock", + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 70, + "atk": 55, + "def": 65, + "spa": 95, + "spd": 85, + "spe": 70 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 1, + "weightkg": 168, + "color": "Yellow", + "eggGroups": [ + "Mineral" + ] + }, + "solrock": { + "num": 338, + "species": "Solrock", + "types": [ + "Rock", + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 70, + "atk": 95, + "def": 85, + "spa": 55, + "spd": 65, + "spe": 70 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 1.2, + "weightkg": 154, + "color": "Red", + "eggGroups": [ + "Mineral" + ] + }, + "barboach": { + "num": 339, + "species": "Barboach", + "types": [ + "Water", + "Ground" + ], + "baseStats": { + "hp": 50, + "atk": 48, + "def": 43, + "spa": 46, + "spd": 41, + "spe": 60 + }, + "abilities": { + "0": "Oblivious", + "1": "Anticipation", + "H": "Hydration" + }, + "heightm": 0.4, + "weightkg": 1.9, + "color": "Gray", + "evos": [ + "whiscash" + ], + "eggGroups": [ + "Water 2" + ] + }, + "whiscash": { + "num": 340, + "species": "Whiscash", + "types": [ + "Water", + "Ground" + ], + "baseStats": { + "hp": 110, + "atk": 78, + "def": 73, + "spa": 76, + "spd": 71, + "spe": 60 + }, + "abilities": { + "0": "Oblivious", + "1": "Anticipation", + "H": "Hydration" + }, + "heightm": 0.9, + "weightkg": 23.6, + "color": "Blue", + "prevo": "barboach", + "evoLevel": 30, + "eggGroups": [ + "Water 2" + ] + }, + "corphish": { + "num": 341, + "species": "Corphish", + "types": [ + "Water" + ], + "baseStats": { + "hp": 43, + "atk": 80, + "def": 65, + "spa": 50, + "spd": 35, + "spe": 35 + }, + "abilities": { + "0": "Hyper Cutter", + "1": "Shell Armor", + "H": "Adaptability" + }, + "heightm": 0.6, + "weightkg": 11.5, + "color": "Red", + "evos": [ + "crawdaunt" + ], + "eggGroups": [ + "Water 1", + "Water 3" + ] + }, + "crawdaunt": { + "num": 342, + "species": "Crawdaunt", + "types": [ + "Water", + "Dark" + ], + "baseStats": { + "hp": 63, + "atk": 120, + "def": 85, + "spa": 90, + "spd": 55, + "spe": 55 + }, + "abilities": { + "0": "Hyper Cutter", + "1": "Shell Armor", + "H": "Adaptability" + }, + "heightm": 1.1, + "weightkg": 32.8, + "color": "Red", + "prevo": "corphish", + "evoLevel": 30, + "eggGroups": [ + "Water 1", + "Water 3" + ] + }, + "baltoy": { + "num": 343, + "species": "Baltoy", + "types": [ + "Ground", + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 40, + "atk": 40, + "def": 55, + "spa": 40, + "spd": 70, + "spe": 55 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 0.5, + "weightkg": 21.5, + "color": "Brown", + "evos": [ + "claydol" + ], + "eggGroups": [ + "Mineral" + ] + }, + "claydol": { + "num": 344, + "species": "Claydol", + "types": [ + "Ground", + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 60, + "atk": 70, + "def": 105, + "spa": 70, + "spd": 120, + "spe": 75 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 1.5, + "weightkg": 108, + "color": "Black", + "prevo": "baltoy", + "evoLevel": 36, + "eggGroups": [ + "Mineral" + ] + }, + "lileep": { + "num": 345, + "species": "Lileep", + "types": [ + "Rock", + "Grass" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 66, + "atk": 41, + "def": 77, + "spa": 61, + "spd": 87, + "spe": 23 + }, + "abilities": { + "0": "Suction Cups", + "H": "Storm Drain" + }, + "heightm": 1, + "weightkg": 23.8, + "color": "Purple", + "evos": [ + "cradily" + ], + "eggGroups": [ + "Water 3" + ] + }, + "cradily": { + "num": 346, + "species": "Cradily", + "types": [ + "Rock", + "Grass" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 86, + "atk": 81, + "def": 97, + "spa": 81, + "spd": 107, + "spe": 43 + }, + "abilities": { + "0": "Suction Cups", + "H": "Storm Drain" + }, + "heightm": 1.5, + "weightkg": 60.4, + "color": "Green", + "prevo": "lileep", + "evoLevel": 40, + "eggGroups": [ + "Water 3" + ] + }, + "anorith": { + "num": 347, + "species": "Anorith", + "types": [ + "Rock", + "Bug" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 45, + "atk": 95, + "def": 50, + "spa": 40, + "spd": 50, + "spe": 75 + }, + "abilities": { + "0": "Battle Armor", + "H": "Swift Swim" + }, + "heightm": 0.7, + "weightkg": 12.5, + "color": "Gray", + "evos": [ + "armaldo" + ], + "eggGroups": [ + "Water 3" + ] + }, + "armaldo": { + "num": 348, + "species": "Armaldo", + "types": [ + "Rock", + "Bug" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 75, + "atk": 125, + "def": 100, + "spa": 70, + "spd": 80, + "spe": 45 + }, + "abilities": { + "0": "Battle Armor", + "H": "Swift Swim" + }, + "heightm": 1.5, + "weightkg": 68.2, + "color": "Gray", + "prevo": "anorith", + "evoLevel": 40, + "eggGroups": [ + "Water 3" + ] + }, + "feebas": { + "num": 349, + "species": "Feebas", + "types": [ + "Water" + ], + "baseStats": { + "hp": 20, + "atk": 15, + "def": 20, + "spa": 10, + "spd": 55, + "spe": 80 + }, + "abilities": { + "0": "Swift Swim", + "1": "Oblivious", + "H": "Adaptability" + }, + "heightm": 0.6, + "weightkg": 7.4, + "color": "Brown", + "evos": [ + "milotic" + ], + "eggGroups": [ + "Water 1", + "Dragon" + ] + }, + "milotic": { + "num": 350, + "species": "Milotic", + "types": [ + "Water" + ], + "baseStats": { + "hp": 95, + "atk": 60, + "def": 79, + "spa": 100, + "spd": 125, + "spe": 81 + }, + "abilities": { + "0": "Marvel Scale", + "1": "Competitive", + "H": "Cute Charm" + }, + "heightm": 6.2, + "weightkg": 162, + "color": "Pink", + "prevo": "feebas", + "evoLevel": 1, + "eggGroups": [ + "Water 1", + "Dragon" + ] + }, + "castform": { + "num": 351, + "species": "Castform", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 70, + "atk": 70, + "def": 70, + "spa": 70, + "spd": 70, + "spe": 70 + }, + "abilities": { + "0": "Forecast" + }, + "heightm": 0.3, + "weightkg": 0.8, + "color": "White", + "eggGroups": [ + "Fairy", + "Amorphous" + ], + "otherFormes": [ + "castformsunny", + "castformrainy", + "castformsnowy" + ] + }, + "castformsunny": { + "num": 351, + "species": "Castform-Sunny", + "baseSpecies": "Castform", + "forme": "Sunny", + "formeLetter": "S", + "types": [ + "Fire" + ], + "baseStats": { + "hp": 70, + "atk": 70, + "def": 70, + "spa": 70, + "spd": 70, + "spe": 70 + }, + "abilities": { + "0": "Forecast" + }, + "heightm": 0.3, + "weightkg": 0.8, + "color": "White", + "eggGroups": [ + "Fairy", + "Amorphous" + ] + }, + "castformrainy": { + "num": 351, + "species": "Castform-Rainy", + "baseSpecies": "Castform", + "forme": "Rainy", + "formeLetter": "R", + "types": [ + "Water" + ], + "baseStats": { + "hp": 70, + "atk": 70, + "def": 70, + "spa": 70, + "spd": 70, + "spe": 70 + }, + "abilities": { + "0": "Forecast" + }, + "heightm": 0.3, + "weightkg": 0.8, + "color": "White", + "eggGroups": [ + "Fairy", + "Amorphous" + ] + }, + "castformsnowy": { + "num": 351, + "species": "Castform-Snowy", + "baseSpecies": "Castform", + "forme": "Snowy", + "formeLetter": "S", + "types": [ + "Ice" + ], + "baseStats": { + "hp": 70, + "atk": 70, + "def": 70, + "spa": 70, + "spd": 70, + "spe": 70 + }, + "abilities": { + "0": "Forecast" + }, + "heightm": 0.3, + "weightkg": 0.8, + "color": "White", + "eggGroups": [ + "Fairy", + "Amorphous" + ] + }, + "kecleon": { + "num": 352, + "species": "Kecleon", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 60, + "atk": 90, + "def": 70, + "spa": 60, + "spd": 120, + "spe": 40 + }, + "abilities": { + "0": "Color Change", + "H": "Protean" + }, + "heightm": 1, + "weightkg": 22, + "color": "Green", + "eggGroups": [ + "Field" + ] + }, + "shuppet": { + "num": 353, + "species": "Shuppet", + "types": [ + "Ghost" + ], + "baseStats": { + "hp": 44, + "atk": 75, + "def": 35, + "spa": 63, + "spd": 33, + "spe": 45 + }, + "abilities": { + "0": "Insomnia", + "1": "Frisk", + "H": "Cursed Body" + }, + "heightm": 0.6, + "weightkg": 2.3, + "color": "Black", + "evos": [ + "banette" + ], + "eggGroups": [ + "Amorphous" + ] + }, + "banette": { + "num": 354, + "species": "Banette", + "types": [ + "Ghost" + ], + "baseStats": { + "hp": 64, + "atk": 115, + "def": 65, + "spa": 83, + "spd": 63, + "spe": 65 + }, + "abilities": { + "0": "Insomnia", + "1": "Frisk", + "H": "Cursed Body" + }, + "heightm": 1.1, + "weightkg": 12.5, + "color": "Black", + "prevo": "shuppet", + "evoLevel": 37, + "eggGroups": [ + "Amorphous" + ], + "otherFormes": [ + "banettemega" + ] + }, + "banettemega": { + "num": 354, + "species": "Banette-Mega", + "baseSpecies": "Banette", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Ghost" + ], + "baseStats": { + "hp": 64, + "atk": 165, + "def": 75, + "spa": 93, + "spd": 83, + "spe": 75 + }, + "abilities": { + "0": "Prankster" + }, + "heightm": 1.2, + "weightkg": 13, + "color": "Black", + "eggGroups": [ + "Amorphous" + ] + }, + "duskull": { + "num": 355, + "species": "Duskull", + "types": [ + "Ghost" + ], + "baseStats": { + "hp": 20, + "atk": 40, + "def": 90, + "spa": 30, + "spd": 90, + "spe": 25 + }, + "abilities": { + "0": "Levitate", + "H": "Frisk" + }, + "heightm": 0.8, + "weightkg": 15, + "color": "Black", + "evos": [ + "dusclops" + ], + "eggGroups": [ + "Amorphous" + ] + }, + "dusclops": { + "num": 356, + "species": "Dusclops", + "types": [ + "Ghost" + ], + "baseStats": { + "hp": 40, + "atk": 70, + "def": 130, + "spa": 60, + "spd": 130, + "spe": 25 + }, + "abilities": { + "0": "Pressure", + "H": "Frisk" + }, + "heightm": 1.6, + "weightkg": 30.6, + "color": "Black", + "prevo": "duskull", + "evos": [ + "dusknoir" + ], + "evoLevel": 37, + "eggGroups": [ + "Amorphous" + ] + }, + "tropius": { + "num": 357, + "species": "Tropius", + "types": [ + "Grass", + "Flying" + ], + "baseStats": { + "hp": 99, + "atk": 68, + "def": 83, + "spa": 72, + "spd": 87, + "spe": 51 + }, + "abilities": { + "0": "Chlorophyll", + "1": "Solar Power", + "H": "Harvest" + }, + "heightm": 2, + "weightkg": 100, + "color": "Green", + "eggGroups": [ + "Monster", + "Grass" + ] + }, + "chimecho": { + "num": 358, + "species": "Chimecho", + "types": [ + "Psychic" + ], + "baseStats": { + "hp": 65, + "atk": 50, + "def": 70, + "spa": 95, + "spd": 80, + "spe": 65 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 0.6, + "weightkg": 1, + "color": "Blue", + "prevo": "chingling", + "evoLevel": 1, + "eggGroups": [ + "Amorphous" + ] + }, + "absol": { + "num": 359, + "species": "Absol", + "types": [ + "Dark" + ], + "baseStats": { + "hp": 65, + "atk": 130, + "def": 60, + "spa": 75, + "spd": 60, + "spe": 75 + }, + "abilities": { + "0": "Pressure", + "1": "Super Luck", + "H": "Justified" + }, + "heightm": 1.2, + "weightkg": 47, + "color": "White", + "eggGroups": [ + "Field" + ], + "otherFormes": [ + "absolmega" + ] + }, + "absolmega": { + "num": 359, + "species": "Absol-Mega", + "baseSpecies": "Absol", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Dark" + ], + "baseStats": { + "hp": 65, + "atk": 150, + "def": 60, + "spa": 115, + "spd": 60, + "spe": 115 + }, + "abilities": { + "0": "Magic Bounce" + }, + "heightm": 1.2, + "weightkg": 49, + "color": "White", + "eggGroups": [ + "Field" + ] + }, + "wynaut": { + "num": 360, + "species": "Wynaut", + "types": [ + "Psychic" + ], + "baseStats": { + "hp": 95, + "atk": 23, + "def": 48, + "spa": 23, + "spd": 48, + "spe": 23 + }, + "abilities": { + "0": "Shadow Tag", + "H": "Telepathy" + }, + "heightm": 0.6, + "weightkg": 14, + "color": "Blue", + "evos": [ + "wobbuffet" + ], + "eggGroups": [ + "Undiscovered" + ] + }, + "snorunt": { + "num": 361, + "species": "Snorunt", + "types": [ + "Ice" + ], + "baseStats": { + "hp": 50, + "atk": 50, + "def": 50, + "spa": 50, + "spd": 50, + "spe": 50 + }, + "abilities": { + "0": "Inner Focus", + "1": "Ice Body", + "H": "Moody" + }, + "heightm": 0.7, + "weightkg": 16.8, + "color": "Gray", + "evos": [ + "glalie", + "froslass" + ], + "eggGroups": [ + "Fairy", + "Mineral" + ] + }, + "glalie": { + "num": 362, + "species": "Glalie", + "types": [ + "Ice" + ], + "baseStats": { + "hp": 80, + "atk": 80, + "def": 80, + "spa": 80, + "spd": 80, + "spe": 80 + }, + "abilities": { + "0": "Inner Focus", + "1": "Ice Body", + "H": "Moody" + }, + "heightm": 1.5, + "weightkg": 256.5, + "color": "Gray", + "prevo": "snorunt", + "evoLevel": 42, + "eggGroups": [ + "Fairy", + "Mineral" + ], + "otherFormes": [ + "glaliemega" + ] + }, + "glaliemega": { + "num": 362, + "species": "Glalie-Mega", + "baseSpecies": "Glalie", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Ice" + ], + "baseStats": { + "hp": 80, + "atk": 120, + "def": 80, + "spa": 120, + "spd": 80, + "spe": 100 + }, + "abilities": { + "0": "Refrigerate" + }, + "heightm": 2.1, + "weightkg": 350.2, + "color": "Gray", + "eggGroups": [ + "Fairy", + "Mineral" + ] + }, + "spheal": { + "num": 363, + "species": "Spheal", + "types": [ + "Ice", + "Water" + ], + "baseStats": { + "hp": 70, + "atk": 40, + "def": 50, + "spa": 55, + "spd": 50, + "spe": 25 + }, + "abilities": { + "0": "Thick Fat", + "1": "Ice Body", + "H": "Oblivious" + }, + "heightm": 0.8, + "weightkg": 39.5, + "color": "Blue", + "evos": [ + "sealeo" + ], + "eggGroups": [ + "Water 1", + "Field" + ] + }, + "sealeo": { + "num": 364, + "species": "Sealeo", + "types": [ + "Ice", + "Water" + ], + "baseStats": { + "hp": 90, + "atk": 60, + "def": 70, + "spa": 75, + "spd": 70, + "spe": 45 + }, + "abilities": { + "0": "Thick Fat", + "1": "Ice Body", + "H": "Oblivious" + }, + "heightm": 1.1, + "weightkg": 87.6, + "color": "Blue", + "prevo": "spheal", + "evos": [ + "walrein" + ], + "evoLevel": 32, + "eggGroups": [ + "Water 1", + "Field" + ] + }, + "walrein": { + "num": 365, + "species": "Walrein", + "types": [ + "Ice", + "Water" + ], + "baseStats": { + "hp": 110, + "atk": 80, + "def": 90, + "spa": 95, + "spd": 90, + "spe": 65 + }, + "abilities": { + "0": "Thick Fat", + "1": "Ice Body", + "H": "Oblivious" + }, + "heightm": 1.4, + "weightkg": 150.6, + "color": "Blue", + "prevo": "sealeo", + "evoLevel": 44, + "eggGroups": [ + "Water 1", + "Field" + ] + }, + "clamperl": { + "num": 366, + "species": "Clamperl", + "types": [ + "Water" + ], + "baseStats": { + "hp": 35, + "atk": 64, + "def": 85, + "spa": 74, + "spd": 55, + "spe": 32 + }, + "abilities": { + "0": "Shell Armor", + "H": "Rattled" + }, + "heightm": 0.4, + "weightkg": 52.5, + "color": "Blue", + "evos": [ + "huntail", + "gorebyss" + ], + "eggGroups": [ + "Water 1" + ] + }, + "huntail": { + "num": 367, + "species": "Huntail", + "types": [ + "Water" + ], + "baseStats": { + "hp": 55, + "atk": 104, + "def": 105, + "spa": 94, + "spd": 75, + "spe": 52 + }, + "abilities": { + "0": "Swift Swim", + "H": "Water Veil" + }, + "heightm": 1.7, + "weightkg": 27, + "color": "Blue", + "prevo": "clamperl", + "evoLevel": 1, + "eggGroups": [ + "Water 1" + ] + }, + "gorebyss": { + "num": 368, + "species": "Gorebyss", + "types": [ + "Water" + ], + "baseStats": { + "hp": 55, + "atk": 84, + "def": 105, + "spa": 114, + "spd": 75, + "spe": 52 + }, + "abilities": { + "0": "Swift Swim", + "H": "Hydration" + }, + "heightm": 1.8, + "weightkg": 22.6, + "color": "Pink", + "prevo": "clamperl", + "evoLevel": 1, + "eggGroups": [ + "Water 1" + ] + }, + "relicanth": { + "num": 369, + "species": "Relicanth", + "types": [ + "Water", + "Rock" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 100, + "atk": 90, + "def": 130, + "spa": 45, + "spd": 65, + "spe": 55 + }, + "abilities": { + "0": "Swift Swim", + "1": "Rock Head", + "H": "Sturdy" + }, + "heightm": 1, + "weightkg": 23.4, + "color": "Gray", + "eggGroups": [ + "Water 1", + "Water 2" + ] + }, + "luvdisc": { + "num": 370, + "species": "Luvdisc", + "types": [ + "Water" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 43, + "atk": 30, + "def": 55, + "spa": 40, + "spd": 65, + "spe": 97 + }, + "abilities": { + "0": "Swift Swim", + "H": "Hydration" + }, + "heightm": 0.6, + "weightkg": 8.7, + "color": "Pink", + "eggGroups": [ + "Water 2" + ] + }, + "bagon": { + "num": 371, + "species": "Bagon", + "types": [ + "Dragon" + ], + "baseStats": { + "hp": 45, + "atk": 75, + "def": 60, + "spa": 40, + "spd": 30, + "spe": 50 + }, + "abilities": { + "0": "Rock Head", + "H": "Sheer Force" + }, + "heightm": 0.6, + "weightkg": 42.1, + "color": "Blue", + "evos": [ + "shelgon" + ], + "eggGroups": [ + "Dragon" + ] + }, + "shelgon": { + "num": 372, + "species": "Shelgon", + "types": [ + "Dragon" + ], + "baseStats": { + "hp": 65, + "atk": 95, + "def": 100, + "spa": 60, + "spd": 50, + "spe": 50 + }, + "abilities": { + "0": "Rock Head", + "H": "Overcoat" + }, + "heightm": 1.1, + "weightkg": 110.5, + "color": "White", + "prevo": "bagon", + "evos": [ + "salamence" + ], + "evoLevel": 30, + "eggGroups": [ + "Dragon" + ] + }, + "salamence": { + "num": 373, + "species": "Salamence", + "types": [ + "Dragon", + "Flying" + ], + "baseStats": { + "hp": 95, + "atk": 135, + "def": 80, + "spa": 110, + "spd": 80, + "spe": 100 + }, + "abilities": { + "0": "Intimidate", + "H": "Moxie" + }, + "heightm": 1.5, + "weightkg": 102.6, + "color": "Blue", + "prevo": "shelgon", + "evoLevel": 50, + "eggGroups": [ + "Dragon" + ], + "otherFormes": [ + "salamencemega" + ] + }, + "salamencemega": { + "num": 373, + "species": "Salamence-Mega", + "baseSpecies": "Salamence", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Dragon", + "Flying" + ], + "baseStats": { + "hp": 95, + "atk": 145, + "def": 130, + "spa": 120, + "spd": 90, + "spe": 120 + }, + "abilities": { + "0": "Aerilate" + }, + "heightm": 1.8, + "weightkg": 112.6, + "color": "Blue", + "eggGroups": [ + "Dragon" + ] + }, + "beldum": { + "num": 374, + "species": "Beldum", + "types": [ + "Steel", + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 40, + "atk": 55, + "def": 80, + "spa": 35, + "spd": 60, + "spe": 30 + }, + "abilities": { + "0": "Clear Body", + "H": "Light Metal" + }, + "heightm": 0.6, + "weightkg": 95.2, + "color": "Blue", + "evos": [ + "metang" + ], + "eggGroups": [ + "Mineral" + ] + }, + "metang": { + "num": 375, + "species": "Metang", + "types": [ + "Steel", + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 60, + "atk": 75, + "def": 100, + "spa": 55, + "spd": 80, + "spe": 50 + }, + "abilities": { + "0": "Clear Body", + "H": "Light Metal" + }, + "heightm": 1.2, + "weightkg": 202.5, + "color": "Blue", + "prevo": "beldum", + "evos": [ + "metagross" + ], + "evoLevel": 20, + "eggGroups": [ + "Mineral" + ] + }, + "metagross": { + "num": 376, + "species": "Metagross", + "types": [ + "Steel", + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 80, + "atk": 135, + "def": 130, + "spa": 95, + "spd": 90, + "spe": 70 + }, + "abilities": { + "0": "Clear Body", + "H": "Light Metal" + }, + "heightm": 1.6, + "weightkg": 550, + "color": "Blue", + "prevo": "metang", + "evoLevel": 45, + "eggGroups": [ + "Mineral" + ], + "otherFormes": [ + "metagrossmega" + ] + }, + "metagrossmega": { + "num": 376, + "species": "Metagross-Mega", + "baseSpecies": "Metagross", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Steel", + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 80, + "atk": 145, + "def": 150, + "spa": 105, + "spd": 110, + "spe": 110 + }, + "abilities": { + "0": "Tough Claws" + }, + "heightm": 2.5, + "weightkg": 942.9, + "color": "Blue", + "eggGroups": [ + "Mineral" + ] + }, + "regirock": { + "num": 377, + "species": "Regirock", + "types": [ + "Rock" + ], + "gender": "N", + "baseStats": { + "hp": 80, + "atk": 100, + "def": 200, + "spa": 50, + "spd": 100, + "spe": 50 + }, + "abilities": { + "0": "Clear Body", + "H": "Sturdy" + }, + "heightm": 1.7, + "weightkg": 230, + "color": "Brown", + "eggGroups": [ + "Undiscovered" + ] + }, + "regice": { + "num": 378, + "species": "Regice", + "types": [ + "Ice" + ], + "gender": "N", + "baseStats": { + "hp": 80, + "atk": 50, + "def": 100, + "spa": 100, + "spd": 200, + "spe": 50 + }, + "abilities": { + "0": "Clear Body", + "H": "Ice Body" + }, + "heightm": 1.8, + "weightkg": 175, + "color": "Blue", + "eggGroups": [ + "Undiscovered" + ] + }, + "registeel": { + "num": 379, + "species": "Registeel", + "types": [ + "Steel" + ], + "gender": "N", + "baseStats": { + "hp": 80, + "atk": 75, + "def": 150, + "spa": 75, + "spd": 150, + "spe": 50 + }, + "abilities": { + "0": "Clear Body", + "H": "Light Metal" + }, + "heightm": 1.9, + "weightkg": 205, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "latias": { + "num": 380, + "species": "Latias", + "types": [ + "Dragon", + "Psychic" + ], + "gender": "F", + "baseStats": { + "hp": 80, + "atk": 80, + "def": 90, + "spa": 110, + "spd": 130, + "spe": 110 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 1.4, + "weightkg": 40, + "color": "Red", + "eggGroups": [ + "Undiscovered" + ], + "otherFormes": [ + "latiasmega" + ] + }, + "latiasmega": { + "num": 380, + "species": "Latias-Mega", + "baseSpecies": "Latias", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Dragon", + "Psychic" + ], + "gender": "F", + "baseStats": { + "hp": 80, + "atk": 100, + "def": 120, + "spa": 140, + "spd": 150, + "spe": 110 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 1.8, + "weightkg": 52, + "color": "Red", + "eggGroups": [ + "Undiscovered" + ] + }, + "latios": { + "num": 381, + "species": "Latios", + "types": [ + "Dragon", + "Psychic" + ], + "gender": "M", + "baseStats": { + "hp": 80, + "atk": 90, + "def": 80, + "spa": 130, + "spd": 110, + "spe": 110 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 2, + "weightkg": 60, + "color": "Blue", + "eggGroups": [ + "Undiscovered" + ], + "otherFormes": [ + "latiosmega" + ] + }, + "latiosmega": { + "num": 381, + "species": "Latios-Mega", + "baseSpecies": "Latios", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Dragon", + "Psychic" + ], + "gender": "M", + "baseStats": { + "hp": 80, + "atk": 130, + "def": 100, + "spa": 160, + "spd": 120, + "spe": 110 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 2.3, + "weightkg": 70, + "color": "Blue", + "eggGroups": [ + "Undiscovered" + ] + }, + "kyogre": { + "num": 382, + "species": "Kyogre", + "types": [ + "Water" + ], + "gender": "N", + "baseStats": { + "hp": 100, + "atk": 100, + "def": 90, + "spa": 150, + "spd": 140, + "spe": 90 + }, + "abilities": { + "0": "Drizzle" + }, + "heightm": 4.5, + "weightkg": 352, + "color": "Blue", + "eggGroups": [ + "Undiscovered" + ], + "otherFormes": [ + "kyogreprimal" + ] + }, + "kyogreprimal": { + "num": 382, + "species": "Kyogre-Primal", + "baseSpecies": "Kyogre", + "forme": "Primal", + "formeLetter": "P", + "types": [ + "Water" + ], + "gender": "N", + "baseStats": { + "hp": 100, + "atk": 150, + "def": 90, + "spa": 180, + "spd": 160, + "spe": 90 + }, + "abilities": { + "0": "Primordial Sea" + }, + "heightm": 9.8, + "weightkg": 430, + "color": "Blue", + "eggGroups": [ + "Undiscovered" + ] + }, + "groudon": { + "num": 383, + "species": "Groudon", + "types": [ + "Ground" + ], + "gender": "N", + "baseStats": { + "hp": 100, + "atk": 150, + "def": 140, + "spa": 100, + "spd": 90, + "spe": 90 + }, + "abilities": { + "0": "Drought" + }, + "heightm": 3.5, + "weightkg": 950, + "color": "Red", + "eggGroups": [ + "Undiscovered" + ], + "otherFormes": [ + "groudonprimal" + ] + }, + "groudonprimal": { + "num": 383, + "species": "Groudon-Primal", + "baseSpecies": "Groudon", + "forme": "Primal", + "formeLetter": "P", + "types": [ + "Ground", + "Fire" + ], + "gender": "N", + "baseStats": { + "hp": 100, + "atk": 180, + "def": 160, + "spa": 150, + "spd": 90, + "spe": 90 + }, + "abilities": { + "0": "Desolate Land" + }, + "heightm": 5, + "weightkg": 999.7, + "color": "Red", + "eggGroups": [ + "Undiscovered" + ] + }, + "rayquaza": { + "num": 384, + "species": "Rayquaza", + "types": [ + "Dragon", + "Flying" + ], + "gender": "N", + "baseStats": { + "hp": 105, + "atk": 150, + "def": 90, + "spa": 150, + "spd": 90, + "spe": 95 + }, + "abilities": { + "0": "Air Lock" + }, + "heightm": 7, + "weightkg": 206.5, + "color": "Green", + "eggGroups": [ + "Undiscovered" + ], + "otherFormes": [ + "rayquazamega" + ] + }, + "rayquazamega": { + "num": 384, + "species": "Rayquaza-Mega", + "baseSpecies": "Rayquaza", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Dragon", + "Flying" + ], + "gender": "N", + "baseStats": { + "hp": 105, + "atk": 180, + "def": 100, + "spa": 180, + "spd": 100, + "spe": 115 + }, + "abilities": { + "0": "Delta Stream" + }, + "heightm": 10.8, + "weightkg": 392, + "color": "Green", + "eggGroups": [ + "Undiscovered" + ] + }, + "jirachi": { + "num": 385, + "species": "Jirachi", + "types": [ + "Steel", + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 100, + "atk": 100, + "def": 100, + "spa": 100, + "spd": 100, + "spe": 100 + }, + "abilities": { + "0": "Serene Grace" + }, + "heightm": 0.3, + "weightkg": 1.1, + "color": "Yellow", + "eggGroups": [ + "Undiscovered" + ] + }, + "deoxys": { + "num": 386, + "species": "Deoxys", + "baseForme": "Normal", + "types": [ + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 50, + "atk": 150, + "def": 50, + "spa": 150, + "spd": 50, + "spe": 150 + }, + "abilities": { + "0": "Pressure" + }, + "heightm": 1.7, + "weightkg": 60.8, + "color": "Red", + "eggGroups": [ + "Undiscovered" + ], + "otherFormes": [ + "deoxysattack", + "deoxysdefense", + "deoxysspeed" + ] + }, + "deoxysattack": { + "num": 386, + "species": "Deoxys-Attack", + "baseSpecies": "Deoxys", + "forme": "Attack", + "formeLetter": "A", + "types": [ + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 50, + "atk": 180, + "def": 20, + "spa": 180, + "spd": 20, + "spe": 150 + }, + "abilities": { + "0": "Pressure" + }, + "heightm": 1.7, + "weightkg": 60.8, + "color": "Red", + "eggGroups": [ + "Undiscovered" + ] + }, + "deoxysdefense": { + "num": 386, + "species": "Deoxys-Defense", + "baseSpecies": "Deoxys", + "forme": "Defense", + "formeLetter": "D", + "types": [ + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 50, + "atk": 70, + "def": 160, + "spa": 70, + "spd": 160, + "spe": 90 + }, + "abilities": { + "0": "Pressure" + }, + "heightm": 1.7, + "weightkg": 60.8, + "color": "Red", + "eggGroups": [ + "Undiscovered" + ] + }, + "deoxysspeed": { + "num": 386, + "species": "Deoxys-Speed", + "baseSpecies": "Deoxys", + "forme": "Speed", + "formeLetter": "S", + "types": [ + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 50, + "atk": 95, + "def": 90, + "spa": 95, + "spd": 90, + "spe": 180 + }, + "abilities": { + "0": "Pressure" + }, + "heightm": 1.7, + "weightkg": 60.8, + "color": "Red", + "eggGroups": [ + "Undiscovered" + ] + }, + "turtwig": { + "num": 387, + "species": "Turtwig", + "types": [ + "Grass" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 55, + "atk": 68, + "def": 64, + "spa": 45, + "spd": 55, + "spe": 31 + }, + "abilities": { + "0": "Overgrow", + "H": "Shell Armor" + }, + "heightm": 0.4, + "weightkg": 10.2, + "color": "Green", + "evos": [ + "grotle" + ], + "eggGroups": [ + "Monster", + "Grass" + ] + }, + "grotle": { + "num": 388, + "species": "Grotle", + "types": [ + "Grass" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 75, + "atk": 89, + "def": 85, + "spa": 55, + "spd": 65, + "spe": 36 + }, + "abilities": { + "0": "Overgrow", + "H": "Shell Armor" + }, + "heightm": 1.1, + "weightkg": 97, + "color": "Green", + "prevo": "turtwig", + "evos": [ + "torterra" + ], + "evoLevel": 18, + "eggGroups": [ + "Monster", + "Grass" + ] + }, + "torterra": { + "num": 389, + "species": "Torterra", + "types": [ + "Grass", + "Ground" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 95, + "atk": 109, + "def": 105, + "spa": 75, + "spd": 85, + "spe": 56 + }, + "abilities": { + "0": "Overgrow", + "H": "Shell Armor" + }, + "heightm": 2.2, + "weightkg": 310, + "color": "Green", + "prevo": "grotle", + "evoLevel": 32, + "eggGroups": [ + "Monster", + "Grass" + ] + }, + "chimchar": { + "num": 390, + "species": "Chimchar", + "types": [ + "Fire" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 44, + "atk": 58, + "def": 44, + "spa": 58, + "spd": 44, + "spe": 61 + }, + "abilities": { + "0": "Blaze", + "H": "Iron Fist" + }, + "heightm": 0.5, + "weightkg": 6.2, + "color": "Brown", + "evos": [ + "monferno" + ], + "eggGroups": [ + "Field", + "Human-Like" + ] + }, + "monferno": { + "num": 391, + "species": "Monferno", + "types": [ + "Fire", + "Fighting" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 64, + "atk": 78, + "def": 52, + "spa": 78, + "spd": 52, + "spe": 81 + }, + "abilities": { + "0": "Blaze", + "H": "Iron Fist" + }, + "heightm": 0.9, + "weightkg": 22, + "color": "Brown", + "prevo": "chimchar", + "evos": [ + "infernape" + ], + "evoLevel": 14, + "eggGroups": [ + "Field", + "Human-Like" + ] + }, + "infernape": { + "num": 392, + "species": "Infernape", + "types": [ + "Fire", + "Fighting" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 76, + "atk": 104, + "def": 71, + "spa": 104, + "spd": 71, + "spe": 108 + }, + "abilities": { + "0": "Blaze", + "H": "Iron Fist" + }, + "heightm": 1.2, + "weightkg": 55, + "color": "Brown", + "prevo": "monferno", + "evoLevel": 36, + "eggGroups": [ + "Field", + "Human-Like" + ] + }, + "piplup": { + "num": 393, + "species": "Piplup", + "types": [ + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 53, + "atk": 51, + "def": 53, + "spa": 61, + "spd": 56, + "spe": 40 + }, + "abilities": { + "0": "Torrent", + "H": "Defiant" + }, + "heightm": 0.4, + "weightkg": 5.2, + "color": "Blue", + "evos": [ + "prinplup" + ], + "eggGroups": [ + "Water 1", + "Field" + ] + }, + "prinplup": { + "num": 394, + "species": "Prinplup", + "types": [ + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 64, + "atk": 66, + "def": 68, + "spa": 81, + "spd": 76, + "spe": 50 + }, + "abilities": { + "0": "Torrent", + "H": "Defiant" + }, + "heightm": 0.8, + "weightkg": 23, + "color": "Blue", + "prevo": "piplup", + "evos": [ + "empoleon" + ], + "evoLevel": 16, + "eggGroups": [ + "Water 1", + "Field" + ] + }, + "empoleon": { + "num": 395, + "species": "Empoleon", + "types": [ + "Water", + "Steel" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 84, + "atk": 86, + "def": 88, + "spa": 111, + "spd": 101, + "spe": 60 + }, + "abilities": { + "0": "Torrent", + "H": "Defiant" + }, + "heightm": 1.7, + "weightkg": 84.5, + "color": "Blue", + "prevo": "prinplup", + "evoLevel": 36, + "eggGroups": [ + "Water 1", + "Field" + ] + }, + "starly": { + "num": 396, + "species": "Starly", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 40, + "atk": 55, + "def": 30, + "spa": 30, + "spd": 30, + "spe": 60 + }, + "abilities": { + "0": "Keen Eye", + "H": "Reckless" + }, + "heightm": 0.3, + "weightkg": 2, + "color": "Brown", + "evos": [ + "staravia" + ], + "eggGroups": [ + "Flying" + ] + }, + "staravia": { + "num": 397, + "species": "Staravia", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 55, + "atk": 75, + "def": 50, + "spa": 40, + "spd": 40, + "spe": 80 + }, + "abilities": { + "0": "Intimidate", + "H": "Reckless" + }, + "heightm": 0.6, + "weightkg": 15.5, + "color": "Brown", + "prevo": "starly", + "evos": [ + "staraptor" + ], + "evoLevel": 14, + "eggGroups": [ + "Flying" + ] + }, + "staraptor": { + "num": 398, + "species": "Staraptor", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 85, + "atk": 120, + "def": 70, + "spa": 50, + "spd": 60, + "spe": 100 + }, + "abilities": { + "0": "Intimidate", + "H": "Reckless" + }, + "heightm": 1.2, + "weightkg": 24.9, + "color": "Brown", + "prevo": "staravia", + "evoLevel": 34, + "eggGroups": [ + "Flying" + ] + }, + "bidoof": { + "num": 399, + "species": "Bidoof", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 59, + "atk": 45, + "def": 40, + "spa": 35, + "spd": 40, + "spe": 31 + }, + "abilities": { + "0": "Simple", + "1": "Unaware", + "H": "Moody" + }, + "heightm": 0.5, + "weightkg": 20, + "color": "Brown", + "evos": [ + "bibarel" + ], + "eggGroups": [ + "Water 1", + "Field" + ] + }, + "bibarel": { + "num": 400, + "species": "Bibarel", + "types": [ + "Normal", + "Water" + ], + "baseStats": { + "hp": 79, + "atk": 85, + "def": 60, + "spa": 55, + "spd": 60, + "spe": 71 + }, + "abilities": { + "0": "Simple", + "1": "Unaware", + "H": "Moody" + }, + "heightm": 1, + "weightkg": 31.5, + "color": "Brown", + "prevo": "bidoof", + "evoLevel": 15, + "eggGroups": [ + "Water 1", + "Field" + ] + }, + "kricketot": { + "num": 401, + "species": "Kricketot", + "types": [ + "Bug" + ], + "baseStats": { + "hp": 37, + "atk": 25, + "def": 41, + "spa": 25, + "spd": 41, + "spe": 25 + }, + "abilities": { + "0": "Shed Skin", + "H": "Run Away" + }, + "heightm": 0.3, + "weightkg": 2.2, + "color": "Red", + "evos": [ + "kricketune" + ], + "eggGroups": [ + "Bug" + ] + }, + "kricketune": { + "num": 402, + "species": "Kricketune", + "types": [ + "Bug" + ], + "baseStats": { + "hp": 77, + "atk": 85, + "def": 51, + "spa": 55, + "spd": 51, + "spe": 65 + }, + "abilities": { + "0": "Swarm", + "H": "Technician" + }, + "heightm": 1, + "weightkg": 25.5, + "color": "Red", + "prevo": "kricketot", + "evoLevel": 10, + "eggGroups": [ + "Bug" + ] + }, + "shinx": { + "num": 403, + "species": "Shinx", + "types": [ + "Electric" + ], + "baseStats": { + "hp": 45, + "atk": 65, + "def": 34, + "spa": 40, + "spd": 34, + "spe": 45 + }, + "abilities": { + "0": "Rivalry", + "1": "Intimidate", + "H": "Guts" + }, + "heightm": 0.5, + "weightkg": 9.5, + "color": "Blue", + "evos": [ + "luxio" + ], + "eggGroups": [ + "Field" + ] + }, + "luxio": { + "num": 404, + "species": "Luxio", + "types": [ + "Electric" + ], + "baseStats": { + "hp": 60, + "atk": 85, + "def": 49, + "spa": 60, + "spd": 49, + "spe": 60 + }, + "abilities": { + "0": "Rivalry", + "1": "Intimidate", + "H": "Guts" + }, + "heightm": 0.9, + "weightkg": 30.5, + "color": "Blue", + "prevo": "shinx", + "evos": [ + "luxray" + ], + "evoLevel": 15, + "eggGroups": [ + "Field" + ] + }, + "luxray": { + "num": 405, + "species": "Luxray", + "types": [ + "Electric" + ], + "baseStats": { + "hp": 80, + "atk": 120, + "def": 79, + "spa": 95, + "spd": 79, + "spe": 70 + }, + "abilities": { + "0": "Rivalry", + "1": "Intimidate", + "H": "Guts" + }, + "heightm": 1.4, + "weightkg": 42, + "color": "Blue", + "prevo": "luxio", + "evoLevel": 30, + "eggGroups": [ + "Field" + ] + }, + "budew": { + "num": 406, + "species": "Budew", + "types": [ + "Grass", + "Poison" + ], + "baseStats": { + "hp": 40, + "atk": 30, + "def": 35, + "spa": 50, + "spd": 70, + "spe": 55 + }, + "abilities": { + "0": "Natural Cure", + "1": "Poison Point", + "H": "Leaf Guard" + }, + "heightm": 0.2, + "weightkg": 1.2, + "color": "Green", + "evos": [ + "roselia" + ], + "eggGroups": [ + "Undiscovered" + ] + }, + "roserade": { + "num": 407, + "species": "Roserade", + "types": [ + "Grass", + "Poison" + ], + "baseStats": { + "hp": 60, + "atk": 70, + "def": 65, + "spa": 125, + "spd": 105, + "spe": 90 + }, + "abilities": { + "0": "Natural Cure", + "1": "Poison Point", + "H": "Technician" + }, + "heightm": 0.9, + "weightkg": 14.5, + "color": "Green", + "prevo": "roselia", + "evoLevel": 1, + "eggGroups": [ + "Fairy", + "Grass" + ] + }, + "cranidos": { + "num": 408, + "species": "Cranidos", + "types": [ + "Rock" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 67, + "atk": 125, + "def": 40, + "spa": 30, + "spd": 30, + "spe": 58 + }, + "abilities": { + "0": "Mold Breaker", + "H": "Sheer Force" + }, + "heightm": 0.9, + "weightkg": 31.5, + "color": "Blue", + "evos": [ + "rampardos" + ], + "eggGroups": [ + "Monster" + ] + }, + "rampardos": { + "num": 409, + "species": "Rampardos", + "types": [ + "Rock" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 97, + "atk": 165, + "def": 60, + "spa": 65, + "spd": 50, + "spe": 58 + }, + "abilities": { + "0": "Mold Breaker", + "H": "Sheer Force" + }, + "heightm": 1.6, + "weightkg": 102.5, + "color": "Blue", + "prevo": "cranidos", + "evoLevel": 30, + "eggGroups": [ + "Monster" + ] + }, + "shieldon": { + "num": 410, + "species": "Shieldon", + "types": [ + "Rock", + "Steel" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 30, + "atk": 42, + "def": 118, + "spa": 42, + "spd": 88, + "spe": 30 + }, + "abilities": { + "0": "Sturdy", + "H": "Soundproof" + }, + "heightm": 0.5, + "weightkg": 57, + "color": "Gray", + "evos": [ + "bastiodon" + ], + "eggGroups": [ + "Monster" + ] + }, + "bastiodon": { + "num": 411, + "species": "Bastiodon", + "types": [ + "Rock", + "Steel" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 60, + "atk": 52, + "def": 168, + "spa": 47, + "spd": 138, + "spe": 30 + }, + "abilities": { + "0": "Sturdy", + "H": "Soundproof" + }, + "heightm": 1.3, + "weightkg": 149.5, + "color": "Gray", + "prevo": "shieldon", + "evoLevel": 30, + "eggGroups": [ + "Monster" + ] + }, + "burmy": { + "num": 412, + "species": "Burmy", + "baseForme": "Grass", + "types": [ + "Bug" + ], + "baseStats": { + "hp": 40, + "atk": 29, + "def": 45, + "spa": 29, + "spd": 45, + "spe": 36 + }, + "abilities": { + "0": "Shed Skin", + "H": "Overcoat" + }, + "heightm": 0.2, + "weightkg": 3.4, + "color": "Gray", + "evos": [ + "wormadam", + "wormadamsandy", + "wormadamtrash", + "mothim" + ], + "eggGroups": [ + "Bug" + ], + "otherForms": [ + "burmysandy", + "burmytrash" + ] + }, + "wormadam": { + "num": 413, + "species": "Wormadam", + "baseForme": "Grass", + "types": [ + "Bug", + "Grass" + ], + "gender": "F", + "baseStats": { + "hp": 60, + "atk": 59, + "def": 85, + "spa": 79, + "spd": 105, + "spe": 36 + }, + "abilities": { + "0": "Anticipation", + "H": "Overcoat" + }, + "heightm": 0.5, + "weightkg": 6.5, + "color": "Gray", + "prevo": "burmy", + "evoLevel": 20, + "eggGroups": [ + "Bug" + ], + "otherFormes": [ + "wormadamsandy", + "wormadamtrash" + ] + }, + "wormadamsandy": { + "num": 413, + "species": "Wormadam-Sandy", + "baseSpecies": "Wormadam", + "forme": "Sandy", + "formeLetter": "G", + "types": [ + "Bug", + "Ground" + ], + "gender": "F", + "baseStats": { + "hp": 60, + "atk": 79, + "def": 105, + "spa": 59, + "spd": 85, + "spe": 36 + }, + "abilities": { + "0": "Anticipation", + "H": "Overcoat" + }, + "heightm": 0.5, + "weightkg": 6.5, + "color": "Gray", + "prevo": "burmy", + "evoLevel": 20, + "eggGroups": [ + "Bug" + ] + }, + "wormadamtrash": { + "num": 413, + "species": "Wormadam-Trash", + "baseSpecies": "Wormadam", + "forme": "Trash", + "formeLetter": "S", + "types": [ + "Bug", + "Steel" + ], + "gender": "F", + "baseStats": { + "hp": 60, + "atk": 69, + "def": 95, + "spa": 69, + "spd": 95, + "spe": 36 + }, + "abilities": { + "0": "Anticipation", + "H": "Overcoat" + }, + "heightm": 0.5, + "weightkg": 6.5, + "color": "Gray", + "prevo": "burmy", + "evoLevel": 20, + "eggGroups": [ + "Bug" + ] + }, + "mothim": { + "num": 414, + "species": "Mothim", + "types": [ + "Bug", + "Flying" + ], + "gender": "M", + "baseStats": { + "hp": 70, + "atk": 94, + "def": 50, + "spa": 94, + "spd": 50, + "spe": 66 + }, + "abilities": { + "0": "Swarm", + "H": "Tinted Lens" + }, + "heightm": 0.9, + "weightkg": 23.3, + "color": "Yellow", + "prevo": "burmy", + "evoLevel": 20, + "eggGroups": [ + "Bug" + ] + }, + "combee": { + "num": 415, + "species": "Combee", + "types": [ + "Bug", + "Flying" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 30, + "atk": 30, + "def": 42, + "spa": 30, + "spd": 42, + "spe": 70 + }, + "abilities": { + "0": "Honey Gather", + "H": "Hustle" + }, + "heightm": 0.3, + "weightkg": 5.5, + "color": "Yellow", + "evos": [ + "vespiquen" + ], + "eggGroups": [ + "Bug" + ] + }, + "vespiquen": { + "num": 416, + "species": "Vespiquen", + "types": [ + "Bug", + "Flying" + ], + "gender": "F", + "baseStats": { + "hp": 70, + "atk": 80, + "def": 102, + "spa": 80, + "spd": 102, + "spe": 40 + }, + "abilities": { + "0": "Pressure", + "H": "Unnerve" + }, + "heightm": 1.2, + "weightkg": 38.5, + "color": "Yellow", + "prevo": "combee", + "evoLevel": 21, + "eggGroups": [ + "Bug" + ] + }, + "pachirisu": { + "num": 417, + "species": "Pachirisu", + "types": [ + "Electric" + ], + "baseStats": { + "hp": 60, + "atk": 45, + "def": 70, + "spa": 45, + "spd": 90, + "spe": 95 + }, + "abilities": { + "0": "Run Away", + "1": "Pickup", + "H": "Volt Absorb" + }, + "heightm": 0.4, + "weightkg": 3.9, + "color": "White", + "eggGroups": [ + "Field", + "Fairy" + ] + }, + "buizel": { + "num": 418, + "species": "Buizel", + "types": [ + "Water" + ], + "baseStats": { + "hp": 55, + "atk": 65, + "def": 35, + "spa": 60, + "spd": 30, + "spe": 85 + }, + "abilities": { + "0": "Swift Swim", + "H": "Water Veil" + }, + "heightm": 0.7, + "weightkg": 29.5, + "color": "Brown", + "evos": [ + "floatzel" + ], + "eggGroups": [ + "Water 1", + "Field" + ] + }, + "floatzel": { + "num": 419, + "species": "Floatzel", + "types": [ + "Water" + ], + "baseStats": { + "hp": 85, + "atk": 105, + "def": 55, + "spa": 85, + "spd": 50, + "spe": 115 + }, + "abilities": { + "0": "Swift Swim", + "H": "Water Veil" + }, + "heightm": 1.1, + "weightkg": 33.5, + "color": "Brown", + "prevo": "buizel", + "evoLevel": 26, + "eggGroups": [ + "Water 1", + "Field" + ] + }, + "cherubi": { + "num": 420, + "species": "Cherubi", + "types": [ + "Grass" + ], + "baseStats": { + "hp": 45, + "atk": 35, + "def": 45, + "spa": 62, + "spd": 53, + "spe": 35 + }, + "abilities": { + "0": "Chlorophyll" + }, + "heightm": 0.4, + "weightkg": 3.3, + "color": "Pink", + "evos": [ + "cherrim" + ], + "eggGroups": [ + "Fairy", + "Grass" + ] + }, + "cherrim": { + "num": 421, + "species": "Cherrim", + "baseForme": "Overcast", + "types": [ + "Grass" + ], + "baseStats": { + "hp": 70, + "atk": 60, + "def": 70, + "spa": 87, + "spd": 78, + "spe": 85 + }, + "abilities": { + "0": "Flower Gift" + }, + "heightm": 0.5, + "weightkg": 9.3, + "color": "Pink", + "prevo": "cherubi", + "evoLevel": 25, + "eggGroups": [ + "Fairy", + "Grass" + ], + "otherFormes": [ + "cherrimsunshine" + ] + }, + "cherrimsunshine": { + "num": 421, + "species": "Cherrim-Sunshine", + "baseSpecies": "Cherrim", + "forme": "Sunshine", + "formeLetter": "S", + "types": [ + "Grass" + ], + "baseStats": { + "hp": 70, + "atk": 60, + "def": 70, + "spa": 87, + "spd": 78, + "spe": 85 + }, + "abilities": { + "0": "Flower Gift" + }, + "heightm": 0.5, + "weightkg": 9.3, + "color": "Pink", + "prevo": "cherubi", + "evoLevel": 25, + "eggGroups": [ + "Fairy", + "Grass" + ] + }, + "shellos": { + "num": 422, + "species": "Shellos", + "baseForme": "West", + "types": [ + "Water" + ], + "baseStats": { + "hp": 76, + "atk": 48, + "def": 48, + "spa": 57, + "spd": 62, + "spe": 34 + }, + "abilities": { + "0": "Sticky Hold", + "1": "Storm Drain", + "H": "Sand Force" + }, + "heightm": 0.3, + "weightkg": 6.3, + "color": "Purple", + "evos": [ + "gastrodon" + ], + "eggGroups": [ + "Water 1", + "Amorphous" + ], + "otherForms": [ + "shelloseast" + ] + }, + "gastrodon": { + "num": 423, + "species": "Gastrodon", + "baseForme": "West", + "types": [ + "Water", + "Ground" + ], + "baseStats": { + "hp": 111, + "atk": 83, + "def": 68, + "spa": 92, + "spd": 82, + "spe": 39 + }, + "abilities": { + "0": "Sticky Hold", + "1": "Storm Drain", + "H": "Sand Force" + }, + "heightm": 0.9, + "weightkg": 29.9, + "color": "Purple", + "prevo": "shellos", + "evoLevel": 30, + "eggGroups": [ + "Water 1", + "Amorphous" + ], + "otherForms": [ + "gastrodoneast" + ] + }, + "ambipom": { + "num": 424, + "species": "Ambipom", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 75, + "atk": 100, + "def": 66, + "spa": 60, + "spd": 66, + "spe": 115 + }, + "abilities": { + "0": "Technician", + "1": "Pickup", + "H": "Skill Link" + }, + "heightm": 1.2, + "weightkg": 20.3, + "color": "Purple", + "prevo": "aipom", + "evoLevel": 2, + "evoMove": "Double Hit", + "eggGroups": [ + "Field" + ] + }, + "drifloon": { + "num": 425, + "species": "Drifloon", + "types": [ + "Ghost", + "Flying" + ], + "baseStats": { + "hp": 90, + "atk": 50, + "def": 34, + "spa": 60, + "spd": 44, + "spe": 70 + }, + "abilities": { + "0": "Aftermath", + "1": "Unburden", + "H": "Flare Boost" + }, + "heightm": 0.4, + "weightkg": 1.2, + "color": "Purple", + "evos": [ + "drifblim" + ], + "eggGroups": [ + "Amorphous" + ] + }, + "drifblim": { + "num": 426, + "species": "Drifblim", + "types": [ + "Ghost", + "Flying" + ], + "baseStats": { + "hp": 150, + "atk": 80, + "def": 44, + "spa": 90, + "spd": 54, + "spe": 80 + }, + "abilities": { + "0": "Aftermath", + "1": "Unburden", + "H": "Flare Boost" + }, + "heightm": 1.2, + "weightkg": 15, + "color": "Purple", + "prevo": "drifloon", + "evoLevel": 28, + "eggGroups": [ + "Amorphous" + ] + }, + "buneary": { + "num": 427, + "species": "Buneary", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 55, + "atk": 66, + "def": 44, + "spa": 44, + "spd": 56, + "spe": 85 + }, + "abilities": { + "0": "Run Away", + "1": "Klutz", + "H": "Limber" + }, + "heightm": 0.4, + "weightkg": 5.5, + "color": "Brown", + "evos": [ + "lopunny" + ], + "eggGroups": [ + "Field", + "Human-Like" + ] + }, + "lopunny": { + "num": 428, + "species": "Lopunny", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 65, + "atk": 76, + "def": 84, + "spa": 54, + "spd": 96, + "spe": 105 + }, + "abilities": { + "0": "Cute Charm", + "1": "Klutz", + "H": "Limber" + }, + "heightm": 1.2, + "weightkg": 33.3, + "color": "Brown", + "prevo": "buneary", + "evoLevel": 2, + "eggGroups": [ + "Field", + "Human-Like" + ], + "otherFormes": [ + "lopunnymega" + ] + }, + "lopunnymega": { + "num": 428, + "species": "Lopunny-Mega", + "baseSpecies": "Lopunny", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Normal", + "Fighting" + ], + "baseStats": { + "hp": 65, + "atk": 136, + "def": 94, + "spa": 54, + "spd": 96, + "spe": 135 + }, + "abilities": { + "0": "Scrappy" + }, + "heightm": 1.3, + "weightkg": 28.3, + "color": "Brown", + "eggGroups": [ + "Field", + "Human-Like" + ] + }, + "mismagius": { + "num": 429, + "species": "Mismagius", + "types": [ + "Ghost" + ], + "baseStats": { + "hp": 60, + "atk": 60, + "def": 60, + "spa": 105, + "spd": 105, + "spe": 105 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 0.9, + "weightkg": 4.4, + "color": "Purple", + "prevo": "misdreavus", + "evoLevel": 1, + "eggGroups": [ + "Amorphous" + ] + }, + "honchkrow": { + "num": 430, + "species": "Honchkrow", + "types": [ + "Dark", + "Flying" + ], + "baseStats": { + "hp": 100, + "atk": 125, + "def": 52, + "spa": 105, + "spd": 52, + "spe": 71 + }, + "abilities": { + "0": "Insomnia", + "1": "Super Luck", + "H": "Moxie" + }, + "heightm": 0.9, + "weightkg": 27.3, + "color": "Black", + "prevo": "murkrow", + "evoLevel": 1, + "eggGroups": [ + "Flying" + ] + }, + "glameow": { + "num": 431, + "species": "Glameow", + "types": [ + "Normal" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 49, + "atk": 55, + "def": 42, + "spa": 42, + "spd": 37, + "spe": 85 + }, + "abilities": { + "0": "Limber", + "1": "Own Tempo", + "H": "Keen Eye" + }, + "heightm": 0.5, + "weightkg": 3.9, + "color": "Gray", + "evos": [ + "purugly" + ], + "eggGroups": [ + "Field" + ] + }, + "purugly": { + "num": 432, + "species": "Purugly", + "types": [ + "Normal" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 71, + "atk": 82, + "def": 64, + "spa": 64, + "spd": 59, + "spe": 112 + }, + "abilities": { + "0": "Thick Fat", + "1": "Own Tempo", + "H": "Defiant" + }, + "heightm": 1, + "weightkg": 43.8, + "color": "Gray", + "prevo": "glameow", + "evoLevel": 38, + "eggGroups": [ + "Field" + ] + }, + "chingling": { + "num": 433, + "species": "Chingling", + "types": [ + "Psychic" + ], + "baseStats": { + "hp": 45, + "atk": 30, + "def": 50, + "spa": 65, + "spd": 50, + "spe": 45 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 0.2, + "weightkg": 0.6, + "color": "Yellow", + "evos": [ + "chimecho" + ], + "eggGroups": [ + "Undiscovered" + ] + }, + "stunky": { + "num": 434, + "species": "Stunky", + "types": [ + "Poison", + "Dark" + ], + "baseStats": { + "hp": 63, + "atk": 63, + "def": 47, + "spa": 41, + "spd": 41, + "spe": 74 + }, + "abilities": { + "0": "Stench", + "1": "Aftermath", + "H": "Keen Eye" + }, + "heightm": 0.4, + "weightkg": 19.2, + "color": "Purple", + "evos": [ + "skuntank" + ], + "eggGroups": [ + "Field" + ] + }, + "skuntank": { + "num": 435, + "species": "Skuntank", + "types": [ + "Poison", + "Dark" + ], + "baseStats": { + "hp": 103, + "atk": 93, + "def": 67, + "spa": 71, + "spd": 61, + "spe": 84 + }, + "abilities": { + "0": "Stench", + "1": "Aftermath", + "H": "Keen Eye" + }, + "heightm": 1, + "weightkg": 38, + "color": "Purple", + "prevo": "stunky", + "evoLevel": 34, + "eggGroups": [ + "Field" + ] + }, + "bronzor": { + "num": 436, + "species": "Bronzor", + "types": [ + "Steel", + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 57, + "atk": 24, + "def": 86, + "spa": 24, + "spd": 86, + "spe": 23 + }, + "abilities": { + "0": "Levitate", + "1": "Heatproof", + "H": "Heavy Metal" + }, + "heightm": 0.5, + "weightkg": 60.5, + "color": "Green", + "evos": [ + "bronzong" + ], + "eggGroups": [ + "Mineral" + ] + }, + "bronzong": { + "num": 437, + "species": "Bronzong", + "types": [ + "Steel", + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 67, + "atk": 89, + "def": 116, + "spa": 79, + "spd": 116, + "spe": 33 + }, + "abilities": { + "0": "Levitate", + "1": "Heatproof", + "H": "Heavy Metal" + }, + "heightm": 1.3, + "weightkg": 187, + "color": "Green", + "prevo": "bronzor", + "evoLevel": 33, + "eggGroups": [ + "Mineral" + ] + }, + "bonsly": { + "num": 438, + "species": "Bonsly", + "types": [ + "Rock" + ], + "baseStats": { + "hp": 50, + "atk": 80, + "def": 95, + "spa": 10, + "spd": 45, + "spe": 10 + }, + "abilities": { + "0": "Sturdy", + "1": "Rock Head", + "H": "Rattled" + }, + "heightm": 0.5, + "weightkg": 15, + "color": "Brown", + "evos": [ + "sudowoodo" + ], + "eggGroups": [ + "Undiscovered" + ] + }, + "mimejr": { + "num": 439, + "species": "Mime Jr.", + "types": [ + "Psychic", + "Fairy" + ], + "baseStats": { + "hp": 20, + "atk": 25, + "def": 45, + "spa": 70, + "spd": 90, + "spe": 60 + }, + "abilities": { + "0": "Soundproof", + "1": "Filter", + "H": "Technician" + }, + "heightm": 0.6, + "weightkg": 13, + "color": "Pink", + "evos": [ + "mrmime" + ], + "eggGroups": [ + "Undiscovered" + ] + }, + "happiny": { + "num": 440, + "species": "Happiny", + "types": [ + "Normal" + ], + "gender": "F", + "baseStats": { + "hp": 100, + "atk": 5, + "def": 5, + "spa": 15, + "spd": 65, + "spe": 30 + }, + "abilities": { + "0": "Natural Cure", + "1": "Serene Grace", + "H": "Friend Guard" + }, + "heightm": 0.6, + "weightkg": 24.4, + "color": "Pink", + "evos": [ + "chansey" + ], + "eggGroups": [ + "Undiscovered" + ] + }, + "chatot": { + "num": 441, + "species": "Chatot", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 76, + "atk": 65, + "def": 45, + "spa": 92, + "spd": 42, + "spe": 91 + }, + "abilities": { + "0": "Keen Eye", + "1": "Tangled Feet", + "H": "Big Pecks" + }, + "heightm": 0.5, + "weightkg": 1.9, + "color": "Black", + "eggGroups": [ + "Flying" + ] + }, + "spiritomb": { + "num": 442, + "species": "Spiritomb", + "types": [ + "Ghost", + "Dark" + ], + "baseStats": { + "hp": 50, + "atk": 92, + "def": 108, + "spa": 92, + "spd": 108, + "spe": 35 + }, + "abilities": { + "0": "Pressure", + "H": "Infiltrator" + }, + "heightm": 1, + "weightkg": 108, + "color": "Purple", + "eggGroups": [ + "Amorphous" + ] + }, + "gible": { + "num": 443, + "species": "Gible", + "types": [ + "Dragon", + "Ground" + ], + "baseStats": { + "hp": 58, + "atk": 70, + "def": 45, + "spa": 40, + "spd": 45, + "spe": 42 + }, + "abilities": { + "0": "Sand Veil", + "H": "Rough Skin" + }, + "heightm": 0.7, + "weightkg": 20.5, + "color": "Blue", + "evos": [ + "gabite" + ], + "eggGroups": [ + "Monster", + "Dragon" + ] + }, + "gabite": { + "num": 444, + "species": "Gabite", + "types": [ + "Dragon", + "Ground" + ], + "baseStats": { + "hp": 68, + "atk": 90, + "def": 65, + "spa": 50, + "spd": 55, + "spe": 82 + }, + "abilities": { + "0": "Sand Veil", + "H": "Rough Skin" + }, + "heightm": 1.4, + "weightkg": 56, + "color": "Blue", + "prevo": "gible", + "evos": [ + "garchomp" + ], + "evoLevel": 24, + "eggGroups": [ + "Monster", + "Dragon" + ] + }, + "garchomp": { + "num": 445, + "species": "Garchomp", + "types": [ + "Dragon", + "Ground" + ], + "baseStats": { + "hp": 108, + "atk": 130, + "def": 95, + "spa": 80, + "spd": 85, + "spe": 102 + }, + "abilities": { + "0": "Sand Veil", + "H": "Rough Skin" + }, + "heightm": 1.9, + "weightkg": 95, + "color": "Blue", + "prevo": "gabite", + "evoLevel": 48, + "eggGroups": [ + "Monster", + "Dragon" + ], + "otherFormes": [ + "garchompmega" + ] + }, + "garchompmega": { + "num": 445, + "species": "Garchomp-Mega", + "baseSpecies": "Garchomp", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Dragon", + "Ground" + ], + "baseStats": { + "hp": 108, + "atk": 170, + "def": 115, + "spa": 120, + "spd": 95, + "spe": 92 + }, + "abilities": { + "0": "Sand Force" + }, + "heightm": 1.9, + "weightkg": 95, + "color": "Blue", + "eggGroups": [ + "Monster", + "Dragon" + ] + }, + "munchlax": { + "num": 446, + "species": "Munchlax", + "types": [ + "Normal" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 135, + "atk": 85, + "def": 40, + "spa": 40, + "spd": 85, + "spe": 5 + }, + "abilities": { + "0": "Pickup", + "1": "Thick Fat", + "H": "Gluttony" + }, + "heightm": 0.6, + "weightkg": 105, + "color": "Black", + "evos": [ + "snorlax" + ], + "eggGroups": [ + "Undiscovered" + ] + }, + "riolu": { + "num": 447, + "species": "Riolu", + "types": [ + "Fighting" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 40, + "atk": 70, + "def": 40, + "spa": 35, + "spd": 40, + "spe": 60 + }, + "abilities": { + "0": "Steadfast", + "1": "Inner Focus", + "H": "Prankster" + }, + "heightm": 0.7, + "weightkg": 20.2, + "color": "Blue", + "evos": [ + "lucario" + ], + "eggGroups": [ + "Undiscovered" + ] + }, + "lucario": { + "num": 448, + "species": "Lucario", + "types": [ + "Fighting", + "Steel" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 70, + "atk": 110, + "def": 70, + "spa": 115, + "spd": 70, + "spe": 90 + }, + "abilities": { + "0": "Steadfast", + "1": "Inner Focus", + "H": "Justified" + }, + "heightm": 1.2, + "weightkg": 54, + "color": "Blue", + "prevo": "riolu", + "evoLevel": 2, + "eggGroups": [ + "Field", + "Human-Like" + ], + "otherFormes": [ + "lucariomega" + ] + }, + "lucariomega": { + "num": 448, + "species": "Lucario-Mega", + "baseSpecies": "Lucario", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Fighting", + "Steel" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 70, + "atk": 145, + "def": 88, + "spa": 140, + "spd": 70, + "spe": 112 + }, + "abilities": { + "0": "Adaptability" + }, + "heightm": 1.3, + "weightkg": 57.5, + "color": "Blue", + "eggGroups": [ + "Field", + "Human-Like" + ] + }, + "hippopotas": { + "num": 449, + "species": "Hippopotas", + "types": [ + "Ground" + ], + "baseStats": { + "hp": 68, + "atk": 72, + "def": 78, + "spa": 38, + "spd": 42, + "spe": 32 + }, + "abilities": { + "0": "Sand Stream", + "H": "Sand Force" + }, + "heightm": 0.8, + "weightkg": 49.5, + "color": "Brown", + "evos": [ + "hippowdon" + ], + "eggGroups": [ + "Field" + ] + }, + "hippowdon": { + "num": 450, + "species": "Hippowdon", + "types": [ + "Ground" + ], + "baseStats": { + "hp": 108, + "atk": 112, + "def": 118, + "spa": 68, + "spd": 72, + "spe": 47 + }, + "abilities": { + "0": "Sand Stream", + "H": "Sand Force" + }, + "heightm": 2, + "weightkg": 300, + "color": "Brown", + "prevo": "hippopotas", + "evoLevel": 34, + "eggGroups": [ + "Field" + ] + }, + "skorupi": { + "num": 451, + "species": "Skorupi", + "types": [ + "Poison", + "Bug" + ], + "baseStats": { + "hp": 40, + "atk": 50, + "def": 90, + "spa": 30, + "spd": 55, + "spe": 65 + }, + "abilities": { + "0": "Battle Armor", + "1": "Sniper", + "H": "Keen Eye" + }, + "heightm": 0.8, + "weightkg": 12, + "color": "Purple", + "evos": [ + "drapion" + ], + "eggGroups": [ + "Bug", + "Water 3" + ] + }, + "drapion": { + "num": 452, + "species": "Drapion", + "types": [ + "Poison", + "Dark" + ], + "baseStats": { + "hp": 70, + "atk": 90, + "def": 110, + "spa": 60, + "spd": 75, + "spe": 95 + }, + "abilities": { + "0": "Battle Armor", + "1": "Sniper", + "H": "Keen Eye" + }, + "heightm": 1.3, + "weightkg": 61.5, + "color": "Purple", + "prevo": "skorupi", + "evoLevel": 40, + "eggGroups": [ + "Bug", + "Water 3" + ] + }, + "croagunk": { + "num": 453, + "species": "Croagunk", + "types": [ + "Poison", + "Fighting" + ], + "baseStats": { + "hp": 48, + "atk": 61, + "def": 40, + "spa": 61, + "spd": 40, + "spe": 50 + }, + "abilities": { + "0": "Anticipation", + "1": "Dry Skin", + "H": "Poison Touch" + }, + "heightm": 0.7, + "weightkg": 23, + "color": "Blue", + "evos": [ + "toxicroak" + ], + "eggGroups": [ + "Human-Like" + ] + }, + "toxicroak": { + "num": 454, + "species": "Toxicroak", + "types": [ + "Poison", + "Fighting" + ], + "baseStats": { + "hp": 83, + "atk": 106, + "def": 65, + "spa": 86, + "spd": 65, + "spe": 85 + }, + "abilities": { + "0": "Anticipation", + "1": "Dry Skin", + "H": "Poison Touch" + }, + "heightm": 1.3, + "weightkg": 44.4, + "color": "Blue", + "prevo": "croagunk", + "evoLevel": 37, + "eggGroups": [ + "Human-Like" + ] + }, + "carnivine": { + "num": 455, + "species": "Carnivine", + "types": [ + "Grass" + ], + "baseStats": { + "hp": 74, + "atk": 100, + "def": 72, + "spa": 90, + "spd": 72, + "spe": 46 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 1.4, + "weightkg": 27, + "color": "Green", + "eggGroups": [ + "Grass" + ] + }, + "finneon": { + "num": 456, + "species": "Finneon", + "types": [ + "Water" + ], + "baseStats": { + "hp": 49, + "atk": 49, + "def": 56, + "spa": 49, + "spd": 61, + "spe": 66 + }, + "abilities": { + "0": "Swift Swim", + "1": "Storm Drain", + "H": "Water Veil" + }, + "heightm": 0.4, + "weightkg": 7, + "color": "Blue", + "evos": [ + "lumineon" + ], + "eggGroups": [ + "Water 2" + ] + }, + "lumineon": { + "num": 457, + "species": "Lumineon", + "types": [ + "Water" + ], + "baseStats": { + "hp": 69, + "atk": 69, + "def": 76, + "spa": 69, + "spd": 86, + "spe": 91 + }, + "abilities": { + "0": "Swift Swim", + "1": "Storm Drain", + "H": "Water Veil" + }, + "heightm": 1.2, + "weightkg": 24, + "color": "Blue", + "prevo": "finneon", + "evoLevel": 31, + "eggGroups": [ + "Water 2" + ] + }, + "mantyke": { + "num": 458, + "species": "Mantyke", + "types": [ + "Water", + "Flying" + ], + "baseStats": { + "hp": 45, + "atk": 20, + "def": 50, + "spa": 60, + "spd": 120, + "spe": 50 + }, + "abilities": { + "0": "Swift Swim", + "1": "Water Absorb", + "H": "Water Veil" + }, + "heightm": 1, + "weightkg": 65, + "color": "Blue", + "evos": [ + "mantine" + ], + "eggGroups": [ + "Undiscovered" + ] + }, + "snover": { + "num": 459, + "species": "Snover", + "types": [ + "Grass", + "Ice" + ], + "baseStats": { + "hp": 60, + "atk": 62, + "def": 50, + "spa": 62, + "spd": 60, + "spe": 40 + }, + "abilities": { + "0": "Snow Warning", + "H": "Soundproof" + }, + "heightm": 1, + "weightkg": 50.5, + "color": "White", + "evos": [ + "abomasnow" + ], + "eggGroups": [ + "Monster", + "Grass" + ] + }, + "abomasnow": { + "num": 460, + "species": "Abomasnow", + "types": [ + "Grass", + "Ice" + ], + "baseStats": { + "hp": 90, + "atk": 92, + "def": 75, + "spa": 92, + "spd": 85, + "spe": 60 + }, + "abilities": { + "0": "Snow Warning", + "H": "Soundproof" + }, + "heightm": 2.2, + "weightkg": 135.5, + "color": "White", + "prevo": "snover", + "evoLevel": 40, + "eggGroups": [ + "Monster", + "Grass" + ], + "otherFormes": [ + "abomasnowmega" + ] + }, + "abomasnowmega": { + "num": 460, + "species": "Abomasnow-Mega", + "baseSpecies": "Abomasnow", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Grass", + "Ice" + ], + "baseStats": { + "hp": 90, + "atk": 132, + "def": 105, + "spa": 132, + "spd": 105, + "spe": 30 + }, + "abilities": { + "0": "Snow Warning" + }, + "heightm": 2.7, + "weightkg": 185, + "color": "White", + "eggGroups": [ + "Monster", + "Grass" + ] + }, + "weavile": { + "num": 461, + "species": "Weavile", + "types": [ + "Dark", + "Ice" + ], + "baseStats": { + "hp": 70, + "atk": 120, + "def": 65, + "spa": 45, + "spd": 85, + "spe": 125 + }, + "abilities": { + "0": "Pressure", + "H": "Pickpocket" + }, + "heightm": 1.1, + "weightkg": 34, + "color": "Black", + "prevo": "sneasel", + "evoLevel": 2, + "eggGroups": [ + "Field" + ] + }, + "magnezone": { + "num": 462, + "species": "Magnezone", + "types": [ + "Electric", + "Steel" + ], + "gender": "N", + "baseStats": { + "hp": 70, + "atk": 70, + "def": 115, + "spa": 130, + "spd": 90, + "spe": 60 + }, + "abilities": { + "0": "Magnet Pull", + "1": "Sturdy", + "H": "Analytic" + }, + "heightm": 1.2, + "weightkg": 180, + "color": "Gray", + "prevo": "magneton", + "evoLevel": 31, + "eggGroups": [ + "Mineral" + ] + }, + "lickilicky": { + "num": 463, + "species": "Lickilicky", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 110, + "atk": 85, + "def": 95, + "spa": 80, + "spd": 95, + "spe": 50 + }, + "abilities": { + "0": "Own Tempo", + "1": "Oblivious", + "H": "Cloud Nine" + }, + "heightm": 1.7, + "weightkg": 140, + "color": "Pink", + "prevo": "lickitung", + "evoLevel": 2, + "evoMove": "Rollout", + "eggGroups": [ + "Monster" + ] + }, + "rhyperior": { + "num": 464, + "species": "Rhyperior", + "types": [ + "Ground", + "Rock" + ], + "baseStats": { + "hp": 115, + "atk": 140, + "def": 130, + "spa": 55, + "spd": 55, + "spe": 40 + }, + "abilities": { + "0": "Lightning Rod", + "1": "Solid Rock", + "H": "Reckless" + }, + "heightm": 2.4, + "weightkg": 282.8, + "color": "Gray", + "prevo": "rhydon", + "evoLevel": 42, + "eggGroups": [ + "Monster", + "Field" + ] + }, + "tangrowth": { + "num": 465, + "species": "Tangrowth", + "types": [ + "Grass" + ], + "baseStats": { + "hp": 100, + "atk": 100, + "def": 125, + "spa": 110, + "spd": 50, + "spe": 50 + }, + "abilities": { + "0": "Chlorophyll", + "1": "Leaf Guard", + "H": "Regenerator" + }, + "heightm": 2, + "weightkg": 128.6, + "color": "Blue", + "prevo": "tangela", + "evoLevel": 2, + "evoMove": "AncientPower", + "eggGroups": [ + "Grass" + ] + }, + "electivire": { + "num": 466, + "species": "Electivire", + "types": [ + "Electric" + ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, + "baseStats": { + "hp": 75, + "atk": 123, + "def": 67, + "spa": 95, + "spd": 85, + "spe": 95 + }, + "abilities": { + "0": "Motor Drive", + "H": "Vital Spirit" + }, + "heightm": 1.8, + "weightkg": 138.6, + "color": "Yellow", + "prevo": "electabuzz", + "evoLevel": 30, + "eggGroups": [ + "Human-Like" + ] + }, + "magmortar": { + "num": 467, + "species": "Magmortar", + "types": [ + "Fire" + ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, + "baseStats": { + "hp": 75, + "atk": 95, + "def": 67, + "spa": 125, + "spd": 95, + "spe": 83 + }, + "abilities": { + "0": "Flame Body", + "H": "Vital Spirit" + }, + "heightm": 1.6, + "weightkg": 68, + "color": "Red", + "prevo": "magmar", + "evoLevel": 30, + "eggGroups": [ + "Human-Like" + ] + }, + "togekiss": { + "num": 468, + "species": "Togekiss", + "types": [ + "Fairy", + "Flying" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 85, + "atk": 50, + "def": 95, + "spa": 120, + "spd": 115, + "spe": 80 + }, + "abilities": { + "0": "Hustle", + "1": "Serene Grace", + "H": "Super Luck" + }, + "heightm": 1.5, + "weightkg": 38, + "color": "White", + "prevo": "togetic", + "evoLevel": 2, + "eggGroups": [ + "Flying", + "Fairy" + ] + }, + "yanmega": { + "num": 469, + "species": "Yanmega", + "types": [ + "Bug", + "Flying" + ], + "baseStats": { + "hp": 86, + "atk": 76, + "def": 86, + "spa": 116, + "spd": 56, + "spe": 95 + }, + "abilities": { + "0": "Speed Boost", + "1": "Tinted Lens", + "H": "Frisk" + }, + "heightm": 1.9, + "weightkg": 51.5, + "color": "Green", + "prevo": "yanma", + "evoLevel": 2, + "evoMove": "AncientPower", + "eggGroups": [ + "Bug" + ] + }, + "leafeon": { + "num": 470, + "species": "Leafeon", + "types": [ + "Grass" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 65, + "atk": 110, + "def": 130, + "spa": 60, + "spd": 65, + "spe": 95 + }, + "abilities": { + "0": "Leaf Guard", + "H": "Chlorophyll" + }, + "heightm": 1, + "weightkg": 25.5, + "color": "Green", + "prevo": "eevee", + "evoLevel": 2, + "eggGroups": [ + "Field" + ] + }, + "glaceon": { + "num": 471, + "species": "Glaceon", + "types": [ + "Ice" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 65, + "atk": 60, + "def": 110, + "spa": 130, + "spd": 95, + "spe": 65 + }, + "abilities": { + "0": "Snow Cloak", + "H": "Ice Body" + }, + "heightm": 0.8, + "weightkg": 25.9, + "color": "Blue", + "prevo": "eevee", + "evoLevel": 2, + "eggGroups": [ + "Field" + ] + }, + "gliscor": { + "num": 472, + "species": "Gliscor", + "types": [ + "Ground", + "Flying" + ], + "baseStats": { + "hp": 75, + "atk": 95, + "def": 125, + "spa": 45, + "spd": 75, + "spe": 95 + }, + "abilities": { + "0": "Hyper Cutter", + "1": "Sand Veil", + "H": "Poison Heal" + }, + "heightm": 2, + "weightkg": 42.5, + "color": "Purple", + "prevo": "gligar", + "evoLevel": 2, + "eggGroups": [ + "Bug" + ] + }, + "mamoswine": { + "num": 473, + "species": "Mamoswine", + "types": [ + "Ice", + "Ground" + ], + "baseStats": { + "hp": 110, + "atk": 130, + "def": 80, + "spa": 70, + "spd": 60, + "spe": 80 + }, + "abilities": { + "0": "Oblivious", + "1": "Snow Cloak", + "H": "Thick Fat" + }, + "heightm": 2.5, + "weightkg": 291, + "color": "Brown", + "prevo": "piloswine", + "evoLevel": 34, + "evoMove": "AncientPower", + "eggGroups": [ + "Field" + ] + }, + "porygonz": { + "num": 474, + "species": "Porygon-Z", + "types": [ + "Normal" + ], + "gender": "N", + "baseStats": { + "hp": 85, + "atk": 80, + "def": 70, + "spa": 135, + "spd": 75, + "spe": 90 + }, + "abilities": { + "0": "Adaptability", + "1": "Download", + "H": "Analytic" + }, + "heightm": 0.9, + "weightkg": 34, + "color": "Red", + "prevo": "porygon2", + "evoLevel": 1, + "eggGroups": [ + "Mineral" + ] + }, + "gallade": { + "num": 475, + "species": "Gallade", + "types": [ + "Psychic", + "Fighting" + ], + "gender": "M", + "baseStats": { + "hp": 68, + "atk": 125, + "def": 65, + "spa": 65, + "spd": 115, + "spe": 80 + }, + "abilities": { + "0": "Steadfast", + "H": "Justified" + }, + "heightm": 1.6, + "weightkg": 52, + "color": "White", + "prevo": "kirlia", + "evoLevel": 20, + "eggGroups": [ + "Amorphous" + ], + "otherFormes": [ + "gallademega" + ] + }, + "gallademega": { + "num": 475, + "species": "Gallade-Mega", + "baseSpecies": "Gallade", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Psychic", + "Fighting" + ], + "gender": "M", + "baseStats": { + "hp": 68, + "atk": 165, + "def": 95, + "spa": 65, + "spd": 115, + "spe": 110 + }, + "abilities": { + "0": "Inner Focus" + }, + "heightm": 1.6, + "weightkg": 56.4, + "color": "White", + "eggGroups": [ + "Amorphous" + ] + }, + "probopass": { + "num": 476, + "species": "Probopass", + "types": [ + "Rock", + "Steel" + ], + "baseStats": { + "hp": 60, + "atk": 55, + "def": 145, + "spa": 75, + "spd": 150, + "spe": 40 + }, + "abilities": { + "0": "Sturdy", + "1": "Magnet Pull", + "H": "Sand Force" + }, + "heightm": 1.4, + "weightkg": 340, + "color": "Gray", + "prevo": "nosepass", + "evoLevel": 2, + "eggGroups": [ + "Mineral" + ] + }, + "dusknoir": { + "num": 477, + "species": "Dusknoir", + "types": [ + "Ghost" + ], + "baseStats": { + "hp": 45, + "atk": 100, + "def": 135, + "spa": 65, + "spd": 135, + "spe": 45 + }, + "abilities": { + "0": "Pressure", + "H": "Frisk" + }, + "heightm": 2.2, + "weightkg": 106.6, + "color": "Black", + "prevo": "dusclops", + "evoLevel": 37, + "eggGroups": [ + "Amorphous" + ] + }, + "froslass": { + "num": 478, + "species": "Froslass", + "types": [ + "Ice", + "Ghost" + ], + "gender": "F", + "baseStats": { + "hp": 70, + "atk": 80, + "def": 70, + "spa": 80, + "spd": 70, + "spe": 110 + }, + "abilities": { + "0": "Snow Cloak", + "H": "Cursed Body" + }, + "heightm": 1.3, + "weightkg": 26.6, + "color": "White", + "prevo": "snorunt", + "evoLevel": 1, + "eggGroups": [ + "Fairy", + "Mineral" + ] + }, + "rotom": { + "num": 479, + "species": "Rotom", + "types": [ + "Electric", + "Ghost" + ], + "gender": "N", + "baseStats": { + "hp": 50, + "atk": 50, + "def": 77, + "spa": 95, + "spd": 77, + "spe": 91 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 0.3, + "weightkg": 0.3, + "color": "Red", + "eggGroups": [ + "Amorphous" + ], + "otherFormes": [ + "rotomheat", + "rotomwash", + "rotomfrost", + "rotomfan", + "rotommow" + ] + }, + "rotomheat": { + "num": 479, + "species": "Rotom-Heat", + "baseSpecies": "Rotom", + "forme": "Heat", + "formeLetter": "H", + "types": [ + "Electric", + "Fire" + ], + "gender": "N", + "baseStats": { + "hp": 50, + "atk": 65, + "def": 107, + "spa": 105, + "spd": 107, + "spe": 86 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 0.3, + "weightkg": 0.3, + "color": "Red", + "eggGroups": [ + "Amorphous" + ] + }, + "rotomwash": { + "num": 479, + "species": "Rotom-Wash", + "baseSpecies": "Rotom", + "forme": "Wash", + "formeLetter": "W", + "types": [ + "Electric", + "Water" + ], + "gender": "N", + "baseStats": { + "hp": 50, + "atk": 65, + "def": 107, + "spa": 105, + "spd": 107, + "spe": 86 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 0.3, + "weightkg": 0.3, + "color": "Red", + "eggGroups": [ + "Amorphous" + ] + }, + "rotomfrost": { + "num": 479, + "species": "Rotom-Frost", + "baseSpecies": "Rotom", + "forme": "Frost", + "formeLetter": "F", + "types": [ + "Electric", + "Ice" + ], + "gender": "N", + "baseStats": { + "hp": 50, + "atk": 65, + "def": 107, + "spa": 105, + "spd": 107, + "spe": 86 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 0.3, + "weightkg": 0.3, + "color": "Red", + "eggGroups": [ + "Amorphous" + ] + }, + "rotomfan": { + "num": 479, + "species": "Rotom-Fan", + "baseSpecies": "Rotom", + "forme": "Fan", + "formeLetter": "S", + "types": [ + "Electric", + "Flying" + ], + "gender": "N", + "baseStats": { + "hp": 50, + "atk": 65, + "def": 107, + "spa": 105, + "spd": 107, + "spe": 86 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 0.3, + "weightkg": 0.3, + "color": "Red", + "eggGroups": [ + "Amorphous" + ] + }, + "rotommow": { + "num": 479, + "species": "Rotom-Mow", + "baseSpecies": "Rotom", + "forme": "Mow", + "formeLetter": "C", + "types": [ + "Electric", + "Grass" + ], + "gender": "N", + "baseStats": { + "hp": 50, + "atk": 65, + "def": 107, + "spa": 105, + "spd": 107, + "spe": 86 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 0.3, + "weightkg": 0.3, + "color": "Red", + "eggGroups": [ + "Amorphous" + ] + }, + "uxie": { + "num": 480, + "species": "Uxie", + "types": [ + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 75, + "atk": 75, + "def": 130, + "spa": 75, + "spd": 130, + "spe": 95 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 0.3, + "weightkg": 0.3, + "color": "Yellow", + "eggGroups": [ + "Undiscovered" + ] + }, + "mesprit": { + "num": 481, + "species": "Mesprit", + "types": [ + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 80, + "atk": 105, + "def": 105, + "spa": 105, + "spd": 105, + "spe": 80 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 0.3, + "weightkg": 0.3, + "color": "Pink", + "eggGroups": [ + "Undiscovered" + ] + }, + "azelf": { + "num": 482, + "species": "Azelf", + "types": [ + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 75, + "atk": 125, + "def": 70, + "spa": 125, + "spd": 70, + "spe": 115 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 0.3, + "weightkg": 0.3, + "color": "Blue", + "eggGroups": [ + "Undiscovered" + ] + }, + "dialga": { + "num": 483, + "species": "Dialga", + "types": [ + "Steel", + "Dragon" + ], + "gender": "N", + "baseStats": { + "hp": 100, + "atk": 120, + "def": 120, + "spa": 150, + "spd": 100, + "spe": 90 + }, + "abilities": { + "0": "Pressure", + "H": "Telepathy" + }, + "heightm": 5.4, + "weightkg": 683, + "color": "White", + "eggGroups": [ + "Undiscovered" + ] + }, + "palkia": { + "num": 484, + "species": "Palkia", + "types": [ + "Water", + "Dragon" + ], + "gender": "N", + "baseStats": { + "hp": 90, + "atk": 120, + "def": 100, + "spa": 150, + "spd": 120, + "spe": 100 + }, + "abilities": { + "0": "Pressure", + "H": "Telepathy" + }, + "heightm": 4.2, + "weightkg": 336, + "color": "Purple", + "eggGroups": [ + "Undiscovered" + ] + }, + "heatran": { + "num": 485, + "species": "Heatran", + "types": [ + "Fire", + "Steel" + ], + "baseStats": { + "hp": 91, + "atk": 90, + "def": 106, + "spa": 130, + "spd": 106, + "spe": 77 + }, + "abilities": { + "0": "Flash Fire", + "H": "Flame Body" + }, + "heightm": 1.7, + "weightkg": 430, + "color": "Brown", + "eggGroups": [ + "Undiscovered" + ] + }, + "regigigas": { + "num": 486, + "species": "Regigigas", + "types": [ + "Normal" + ], + "gender": "N", + "baseStats": { + "hp": 110, + "atk": 160, + "def": 110, + "spa": 80, + "spd": 110, + "spe": 100 + }, + "abilities": { + "0": "Slow Start" + }, + "heightm": 3.7, + "weightkg": 420, + "color": "White", + "eggGroups": [ + "Undiscovered" + ] + }, + "giratina": { + "num": 487, + "species": "Giratina", + "baseForme": "Altered", + "types": [ + "Ghost", + "Dragon" + ], + "gender": "N", + "baseStats": { + "hp": 150, + "atk": 100, + "def": 120, + "spa": 100, + "spd": 120, + "spe": 90 + }, + "abilities": { + "0": "Pressure", + "H": "Telepathy" + }, + "heightm": 4.5, + "weightkg": 750, + "color": "Black", + "eggGroups": [ + "Undiscovered" + ], + "otherFormes": [ + "giratinaorigin" + ] + }, + "giratinaorigin": { + "num": 487, + "species": "Giratina-Origin", + "baseSpecies": "Giratina", + "forme": "Origin", + "formeLetter": "O", + "types": [ + "Ghost", + "Dragon" + ], + "gender": "N", + "baseStats": { + "hp": 150, + "atk": 120, + "def": 100, + "spa": 120, + "spd": 100, + "spe": 90 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 6.9, + "weightkg": 650, + "color": "Black", + "eggGroups": [ + "Undiscovered" + ] + }, + "cresselia": { + "num": 488, + "species": "Cresselia", + "types": [ + "Psychic" + ], + "gender": "F", + "baseStats": { + "hp": 120, + "atk": 70, + "def": 120, + "spa": 75, + "spd": 130, + "spe": 85 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 1.5, + "weightkg": 85.6, + "color": "Yellow", + "eggGroups": [ + "Undiscovered" + ] + }, + "phione": { + "num": 489, + "species": "Phione", + "types": [ + "Water" + ], + "gender": "N", + "baseStats": { + "hp": 80, + "atk": 80, + "def": 80, + "spa": 80, + "spd": 80, + "spe": 80 + }, + "abilities": { + "0": "Hydration" + }, + "heightm": 0.4, + "weightkg": 3.1, + "color": "Blue", + "eggGroups": [ + "Water 1", + "Fairy" + ] + }, + "manaphy": { + "num": 490, + "species": "Manaphy", + "types": [ + "Water" + ], + "gender": "N", + "baseStats": { + "hp": 100, + "atk": 100, + "def": 100, + "spa": 100, + "spd": 100, + "spe": 100 + }, + "abilities": { + "0": "Hydration" + }, + "heightm": 0.3, + "weightkg": 1.4, + "color": "Blue", + "eggGroups": [ + "Water 1", + "Fairy" + ] + }, + "darkrai": { + "num": 491, + "species": "Darkrai", + "types": [ + "Dark" + ], + "gender": "N", + "baseStats": { + "hp": 70, + "atk": 90, + "def": 90, + "spa": 135, + "spd": 90, + "spe": 125 + }, + "abilities": { + "0": "Bad Dreams" + }, + "heightm": 1.5, + "weightkg": 50.5, + "color": "Black", + "eggGroups": [ + "Undiscovered" + ] + }, + "shaymin": { + "num": 492, + "species": "Shaymin", + "baseForme": "Land", + "types": [ + "Grass" + ], + "gender": "N", + "baseStats": { + "hp": 100, + "atk": 100, + "def": 100, + "spa": 100, + "spd": 100, + "spe": 100 + }, + "abilities": { + "0": "Natural Cure" + }, + "heightm": 0.2, + "weightkg": 2.1, + "color": "Green", + "eggGroups": [ + "Undiscovered" + ], + "otherFormes": [ + "shayminsky" + ] + }, + "shayminsky": { + "num": 492, + "species": "Shaymin-Sky", + "baseSpecies": "Shaymin", + "forme": "Sky", + "formeLetter": "S", + "types": [ + "Grass", + "Flying" + ], + "gender": "N", + "baseStats": { + "hp": 100, + "atk": 103, + "def": 75, + "spa": 120, + "spd": 75, + "spe": 127 + }, + "abilities": { + "0": "Serene Grace" + }, + "heightm": 0.4, + "weightkg": 5.2, + "color": "Green", + "eggGroups": [ + "Undiscovered" + ] + }, + "arceus": { + "num": 493, + "species": "Arceus", + "baseForme": "Normal", + "types": [ + "Normal" + ], + "gender": "N", + "baseStats": { + "hp": 120, + "atk": 120, + "def": 120, + "spa": 120, + "spd": 120, + "spe": 120 + }, + "abilities": { + "0": "Multitype" + }, + "heightm": 3.2, + "weightkg": 320, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ], + "otherFormes": [ + "arceusbug", + "arceusdark", + "arceusdragon", + "arceuselectric", + "arceusfairy", + "arceusfighting", + "arceusfire", + "arceusflying", + "arceusghost", + "arceusgrass", + "arceusground", + "arceusice", + "arceuspoison", + "arceuspsychic", + "arceusrock", + "arceussteel", + "arceuswater" + ] + }, + "arceusbug": { + "num": 493, + "species": "Arceus-Bug", + "baseSpecies": "Arceus", + "forme": "Bug", + "formeLetter": "B", + "types": [ + "Bug" + ], + "gender": "N", + "baseStats": { + "hp": 120, + "atk": 120, + "def": 120, + "spa": 120, + "spd": 120, + "spe": 120 + }, + "abilities": { + "0": "Multitype" + }, + "heightm": 3.2, + "weightkg": 320, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "arceusdark": { + "num": 493, + "species": "Arceus-Dark", + "baseSpecies": "Arceus", + "forme": "Dark", + "formeLetter": "D", + "types": [ + "Dark" + ], + "gender": "N", + "baseStats": { + "hp": 120, + "atk": 120, + "def": 120, + "spa": 120, + "spd": 120, + "spe": 120 + }, + "abilities": { + "0": "Multitype" + }, + "heightm": 3.2, + "weightkg": 320, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "arceusdragon": { + "num": 493, + "species": "Arceus-Dragon", + "baseSpecies": "Arceus", + "forme": "Dragon", + "formeLetter": "D", + "types": [ + "Dragon" + ], + "gender": "N", + "baseStats": { + "hp": 120, + "atk": 120, + "def": 120, + "spa": 120, + "spd": 120, + "spe": 120 + }, + "abilities": { + "0": "Multitype" + }, + "heightm": 3.2, + "weightkg": 320, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "arceuselectric": { + "num": 493, + "species": "Arceus-Electric", + "baseSpecies": "Arceus", + "forme": "Electric", + "formeLetter": "E", + "types": [ + "Electric" + ], + "gender": "N", + "baseStats": { + "hp": 120, + "atk": 120, + "def": 120, + "spa": 120, + "spd": 120, + "spe": 120 + }, + "abilities": { + "0": "Multitype" + }, + "heightm": 3.2, + "weightkg": 320, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "arceusfairy": { + "num": 493, + "species": "Arceus-Fairy", + "baseSpecies": "Arceus", + "forme": "Fairy", + "formeLetter": "F", + "types": [ + "Fairy" + ], + "gender": "N", + "baseStats": { + "hp": 120, + "atk": 120, + "def": 120, + "spa": 120, + "spd": 120, + "spe": 120 + }, + "abilities": { + "0": "Multitype" + }, + "heightm": 3.2, + "weightkg": 320, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "arceusfighting": { + "num": 493, + "species": "Arceus-Fighting", + "baseSpecies": "Arceus", + "forme": "Fighting", + "formeLetter": "F", + "types": [ + "Fighting" + ], + "gender": "N", + "baseStats": { + "hp": 120, + "atk": 120, + "def": 120, + "spa": 120, + "spd": 120, + "spe": 120 + }, + "abilities": { + "0": "Multitype" + }, + "heightm": 3.2, + "weightkg": 320, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "arceusfire": { + "num": 493, + "species": "Arceus-Fire", + "baseSpecies": "Arceus", + "forme": "Fire", + "formeLetter": "F", + "types": [ + "Fire" + ], + "gender": "N", + "baseStats": { + "hp": 120, + "atk": 120, + "def": 120, + "spa": 120, + "spd": 120, + "spe": 120 + }, + "abilities": { + "0": "Multitype" + }, + "heightm": 3.2, + "weightkg": 320, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "arceusflying": { + "num": 493, + "species": "Arceus-Flying", + "baseSpecies": "Arceus", + "forme": "Flying", + "formeLetter": "F", + "types": [ + "Flying" + ], + "gender": "N", + "baseStats": { + "hp": 120, + "atk": 120, + "def": 120, + "spa": 120, + "spd": 120, + "spe": 120 + }, + "abilities": { + "0": "Multitype" + }, + "heightm": 3.2, + "weightkg": 320, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "arceusghost": { + "num": 493, + "species": "Arceus-Ghost", + "baseSpecies": "Arceus", + "forme": "Ghost", + "formeLetter": "G", + "types": [ + "Ghost" + ], + "gender": "N", + "baseStats": { + "hp": 120, + "atk": 120, + "def": 120, + "spa": 120, + "spd": 120, + "spe": 120 + }, + "abilities": { + "0": "Multitype" + }, + "heightm": 3.2, + "weightkg": 320, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "arceusgrass": { + "num": 493, + "species": "Arceus-Grass", + "baseSpecies": "Arceus", + "forme": "Grass", + "formeLetter": "G", + "types": [ + "Grass" + ], + "gender": "N", + "baseStats": { + "hp": 120, + "atk": 120, + "def": 120, + "spa": 120, + "spd": 120, + "spe": 120 + }, + "abilities": { + "0": "Multitype" + }, + "heightm": 3.2, + "weightkg": 320, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "arceusground": { + "num": 493, + "species": "Arceus-Ground", + "baseSpecies": "Arceus", + "forme": "Ground", + "formeLetter": "G", + "types": [ + "Ground" + ], + "gender": "N", + "baseStats": { + "hp": 120, + "atk": 120, + "def": 120, + "spa": 120, + "spd": 120, + "spe": 120 + }, + "abilities": { + "0": "Multitype" + }, + "heightm": 3.2, + "weightkg": 320, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "arceusice": { + "num": 493, + "species": "Arceus-Ice", + "baseSpecies": "Arceus", + "forme": "Ice", + "formeLetter": "I", + "types": [ + "Ice" + ], + "gender": "N", + "baseStats": { + "hp": 120, + "atk": 120, + "def": 120, + "spa": 120, + "spd": 120, + "spe": 120 + }, + "abilities": { + "0": "Multitype" + }, + "heightm": 3.2, + "weightkg": 320, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "arceuspoison": { + "num": 493, + "species": "Arceus-Poison", + "baseSpecies": "Arceus", + "forme": "Poison", + "formeLetter": "P", + "types": [ + "Poison" + ], + "gender": "N", + "baseStats": { + "hp": 120, + "atk": 120, + "def": 120, + "spa": 120, + "spd": 120, + "spe": 120 + }, + "abilities": { + "0": "Multitype" + }, + "heightm": 3.2, + "weightkg": 320, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "arceuspsychic": { + "num": 493, + "species": "Arceus-Psychic", + "baseSpecies": "Arceus", + "forme": "Psychic", + "formeLetter": "P", + "types": [ + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 120, + "atk": 120, + "def": 120, + "spa": 120, + "spd": 120, + "spe": 120 + }, + "abilities": { + "0": "Multitype" + }, + "heightm": 3.2, + "weightkg": 320, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "arceusrock": { + "num": 493, + "species": "Arceus-Rock", + "baseSpecies": "Arceus", + "forme": "Rock", + "formeLetter": "R", + "types": [ + "Rock" + ], + "gender": "N", + "baseStats": { + "hp": 120, + "atk": 120, + "def": 120, + "spa": 120, + "spd": 120, + "spe": 120 + }, + "abilities": { + "0": "Multitype" + }, + "heightm": 3.2, + "weightkg": 320, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "arceussteel": { + "num": 493, + "species": "Arceus-Steel", + "baseSpecies": "Arceus", + "forme": "Steel", + "formeLetter": "S", + "types": [ + "Steel" + ], + "gender": "N", + "baseStats": { + "hp": 120, + "atk": 120, + "def": 120, + "spa": 120, + "spd": 120, + "spe": 120 + }, + "abilities": { + "0": "Multitype" + }, + "heightm": 3.2, + "weightkg": 320, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "arceuswater": { + "num": 493, + "species": "Arceus-Water", + "baseSpecies": "Arceus", + "forme": "Water", + "formeLetter": "W", + "types": [ + "Water" + ], + "gender": "N", + "baseStats": { + "hp": 120, + "atk": 120, + "def": 120, + "spa": 120, + "spd": 120, + "spe": 120 + }, + "abilities": { + "0": "Multitype" + }, + "heightm": 3.2, + "weightkg": 320, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "victini": { + "num": 494, + "species": "Victini", + "types": [ + "Psychic", + "Fire" + ], + "gender": "N", + "baseStats": { + "hp": 100, + "atk": 100, + "def": 100, + "spa": 100, + "spd": 100, + "spe": 100 + }, + "abilities": { + "0": "Victory Star" + }, + "heightm": 0.4, + "weightkg": 4, + "color": "Yellow", + "eggGroups": [ + "Undiscovered" + ] + }, + "snivy": { + "num": 495, + "species": "Snivy", + "types": [ + "Grass" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 45, + "atk": 45, + "def": 55, + "spa": 45, + "spd": 55, + "spe": 63 + }, + "abilities": { + "0": "Overgrow", + "H": "Contrary" + }, + "heightm": 0.6, + "weightkg": 8.1, + "color": "Green", + "evos": [ + "servine" + ], + "eggGroups": [ + "Field", + "Grass" + ] + }, + "servine": { + "num": 496, + "species": "Servine", + "types": [ + "Grass" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 60, + "atk": 60, + "def": 75, + "spa": 60, + "spd": 75, + "spe": 83 + }, + "abilities": { + "0": "Overgrow", + "H": "Contrary" + }, + "heightm": 0.8, + "weightkg": 16, + "color": "Green", + "prevo": "snivy", + "evos": [ + "serperior" + ], + "evoLevel": 17, + "eggGroups": [ + "Field", + "Grass" + ] + }, + "serperior": { + "num": 497, + "species": "Serperior", + "types": [ + "Grass" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 75, + "atk": 75, + "def": 95, + "spa": 75, + "spd": 95, + "spe": 113 + }, + "abilities": { + "0": "Overgrow", + "H": "Contrary" + }, + "heightm": 3.3, + "weightkg": 63, + "color": "Green", + "prevo": "servine", + "evoLevel": 36, + "eggGroups": [ + "Field", + "Grass" + ] + }, + "tepig": { + "num": 498, + "species": "Tepig", + "types": [ + "Fire" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 65, + "atk": 63, + "def": 45, + "spa": 45, + "spd": 45, + "spe": 45 + }, + "abilities": { + "0": "Blaze", + "H": "Thick Fat" + }, + "heightm": 0.5, + "weightkg": 9.9, + "color": "Red", + "evos": [ + "pignite" + ], + "eggGroups": [ + "Field" + ] + }, + "pignite": { + "num": 499, + "species": "Pignite", + "types": [ + "Fire", + "Fighting" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 90, + "atk": 93, + "def": 55, + "spa": 70, + "spd": 55, + "spe": 55 + }, + "abilities": { + "0": "Blaze", + "H": "Thick Fat" + }, + "heightm": 1, + "weightkg": 55.5, + "color": "Red", + "prevo": "tepig", + "evos": [ + "emboar" + ], + "evoLevel": 17, + "eggGroups": [ + "Field" + ] + }, + "emboar": { + "num": 500, + "species": "Emboar", + "types": [ + "Fire", + "Fighting" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 110, + "atk": 123, + "def": 65, + "spa": 100, + "spd": 65, + "spe": 65 + }, + "abilities": { + "0": "Blaze", + "H": "Reckless" + }, + "heightm": 1.6, + "weightkg": 150, + "color": "Red", + "prevo": "pignite", + "evoLevel": 36, + "eggGroups": [ + "Field" + ] + }, + "oshawott": { + "num": 501, + "species": "Oshawott", + "types": [ + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 55, + "atk": 55, + "def": 45, + "spa": 63, + "spd": 45, + "spe": 45 + }, + "abilities": { + "0": "Torrent", + "H": "Shell Armor" + }, + "heightm": 0.5, + "weightkg": 5.9, + "color": "Blue", + "evos": [ + "dewott" + ], + "eggGroups": [ + "Field" + ] + }, + "dewott": { + "num": 502, + "species": "Dewott", + "types": [ + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 75, + "atk": 75, + "def": 60, + "spa": 83, + "spd": 60, + "spe": 60 + }, + "abilities": { + "0": "Torrent", + "H": "Shell Armor" + }, + "heightm": 0.8, + "weightkg": 24.5, + "color": "Blue", + "prevo": "oshawott", + "evos": [ + "samurott" + ], + "evoLevel": 17, + "eggGroups": [ + "Field" + ] + }, + "samurott": { + "num": 503, + "species": "Samurott", + "types": [ + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 95, + "atk": 100, + "def": 85, + "spa": 108, + "spd": 70, + "spe": 70 + }, + "abilities": { + "0": "Torrent", + "H": "Shell Armor" + }, + "heightm": 1.5, + "weightkg": 94.6, + "color": "Blue", + "prevo": "dewott", + "evoLevel": 36, + "eggGroups": [ + "Field" + ] + }, + "patrat": { + "num": 504, + "species": "Patrat", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 45, + "atk": 55, + "def": 39, + "spa": 35, + "spd": 39, + "spe": 42 + }, + "abilities": { + "0": "Run Away", + "1": "Keen Eye", + "H": "Analytic" + }, + "heightm": 0.5, + "weightkg": 11.6, + "color": "Brown", + "evos": [ + "watchog" + ], + "eggGroups": [ + "Field" + ] + }, + "watchog": { + "num": 505, + "species": "Watchog", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 60, + "atk": 85, + "def": 69, + "spa": 60, + "spd": 69, + "spe": 77 + }, + "abilities": { + "0": "Illuminate", + "1": "Keen Eye", + "H": "Analytic" + }, + "heightm": 1.1, + "weightkg": 27, + "color": "Brown", + "prevo": "patrat", + "evoLevel": 20, + "eggGroups": [ + "Field" + ] + }, + "lillipup": { + "num": 506, + "species": "Lillipup", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 45, + "atk": 60, + "def": 45, + "spa": 25, + "spd": 45, + "spe": 55 + }, + "abilities": { + "0": "Vital Spirit", + "1": "Pickup", + "H": "Run Away" + }, + "heightm": 0.4, + "weightkg": 4.1, + "color": "Brown", + "evos": [ + "herdier" + ], + "eggGroups": [ + "Field" + ] + }, + "herdier": { + "num": 507, + "species": "Herdier", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 65, + "atk": 80, + "def": 65, + "spa": 35, + "spd": 65, + "spe": 60 + }, + "abilities": { + "0": "Intimidate", + "1": "Sand Rush", + "H": "Scrappy" + }, + "heightm": 0.9, + "weightkg": 14.7, + "color": "Gray", + "prevo": "lillipup", + "evos": [ + "stoutland" + ], + "evoLevel": 16, + "eggGroups": [ + "Field" + ] + }, + "stoutland": { + "num": 508, + "species": "Stoutland", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 85, + "atk": 110, + "def": 90, + "spa": 45, + "spd": 90, + "spe": 80 + }, + "abilities": { + "0": "Intimidate", + "1": "Sand Rush", + "H": "Scrappy" + }, + "heightm": 1.2, + "weightkg": 61, + "color": "Gray", + "prevo": "herdier", + "evoLevel": 32, + "eggGroups": [ + "Field" + ] + }, + "purrloin": { + "num": 509, + "species": "Purrloin", + "types": [ + "Dark" + ], + "baseStats": { + "hp": 41, + "atk": 50, + "def": 37, + "spa": 50, + "spd": 37, + "spe": 66 + }, + "abilities": { + "0": "Limber", + "1": "Unburden", + "H": "Prankster" + }, + "heightm": 0.4, + "weightkg": 10.1, + "color": "Purple", + "evos": [ + "liepard" + ], + "eggGroups": [ + "Field" + ] + }, + "liepard": { + "num": 510, + "species": "Liepard", + "types": [ + "Dark" + ], + "baseStats": { + "hp": 64, + "atk": 88, + "def": 50, + "spa": 88, + "spd": 50, + "spe": 106 + }, + "abilities": { + "0": "Limber", + "1": "Unburden", + "H": "Prankster" + }, + "heightm": 1.1, + "weightkg": 37.5, + "color": "Purple", + "prevo": "purrloin", + "evoLevel": 20, + "eggGroups": [ + "Field" + ] + }, + "pansage": { + "num": 511, + "species": "Pansage", + "types": [ + "Grass" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 50, + "atk": 53, + "def": 48, + "spa": 53, + "spd": 48, + "spe": 64 + }, + "abilities": { + "0": "Gluttony", + "H": "Overgrow" + }, + "heightm": 0.6, + "weightkg": 10.5, + "color": "Green", + "evos": [ + "simisage" + ], + "eggGroups": [ + "Field" + ] + }, + "simisage": { + "num": 512, + "species": "Simisage", + "types": [ + "Grass" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 75, + "atk": 98, + "def": 63, + "spa": 98, + "spd": 63, + "spe": 101 + }, + "abilities": { + "0": "Gluttony", + "H": "Overgrow" + }, + "heightm": 1.1, + "weightkg": 30.5, + "color": "Green", + "prevo": "pansage", + "evoLevel": 1, + "eggGroups": [ + "Field" + ] + }, + "pansear": { + "num": 513, + "species": "Pansear", + "types": [ + "Fire" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 50, + "atk": 53, + "def": 48, + "spa": 53, + "spd": 48, + "spe": 64 + }, + "abilities": { + "0": "Gluttony", + "H": "Blaze" + }, + "heightm": 0.6, + "weightkg": 11, + "color": "Red", + "evos": [ + "simisear" + ], + "eggGroups": [ + "Field" + ] + }, + "simisear": { + "num": 514, + "species": "Simisear", + "types": [ + "Fire" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 75, + "atk": 98, + "def": 63, + "spa": 98, + "spd": 63, + "spe": 101 + }, + "abilities": { + "0": "Gluttony", + "H": "Blaze" + }, + "heightm": 1, + "weightkg": 28, + "color": "Red", + "prevo": "pansear", + "evoLevel": 1, + "eggGroups": [ + "Field" + ] + }, + "panpour": { + "num": 515, + "species": "Panpour", + "types": [ + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 50, + "atk": 53, + "def": 48, + "spa": 53, + "spd": 48, + "spe": 64 + }, + "abilities": { + "0": "Gluttony", + "H": "Torrent" + }, + "heightm": 0.6, + "weightkg": 13.5, + "color": "Blue", + "evos": [ + "simipour" + ], + "eggGroups": [ + "Field" + ] + }, + "simipour": { + "num": 516, + "species": "Simipour", + "types": [ + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 75, + "atk": 98, + "def": 63, + "spa": 98, + "spd": 63, + "spe": 101 + }, + "abilities": { + "0": "Gluttony", + "H": "Torrent" + }, + "heightm": 1, + "weightkg": 29, + "color": "Blue", + "prevo": "panpour", + "evoLevel": 1, + "eggGroups": [ + "Field" + ] + }, + "munna": { + "num": 517, + "species": "Munna", + "types": [ + "Psychic" + ], + "baseStats": { + "hp": 76, + "atk": 25, + "def": 45, + "spa": 67, + "spd": 55, + "spe": 24 + }, + "abilities": { + "0": "Forewarn", + "1": "Synchronize", + "H": "Telepathy" + }, + "heightm": 0.6, + "weightkg": 23.3, + "color": "Pink", + "evos": [ + "musharna" + ], + "eggGroups": [ + "Field" + ] + }, + "musharna": { + "num": 518, + "species": "Musharna", + "types": [ + "Psychic" + ], + "baseStats": { + "hp": 116, + "atk": 55, + "def": 85, + "spa": 107, + "spd": 95, + "spe": 29 + }, + "abilities": { + "0": "Forewarn", + "1": "Synchronize", + "H": "Telepathy" + }, + "heightm": 1.1, + "weightkg": 60.5, + "color": "Pink", + "prevo": "munna", + "evoLevel": 1, + "eggGroups": [ + "Field" + ] + }, + "pidove": { + "num": 519, + "species": "Pidove", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 50, + "atk": 55, + "def": 50, + "spa": 36, + "spd": 30, + "spe": 43 + }, + "abilities": { + "0": "Big Pecks", + "1": "Super Luck", + "H": "Rivalry" + }, + "heightm": 0.3, + "weightkg": 2.1, + "color": "Gray", + "evos": [ + "tranquill" + ], + "eggGroups": [ + "Flying" + ] + }, + "tranquill": { + "num": 520, + "species": "Tranquill", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 62, + "atk": 77, + "def": 62, + "spa": 50, + "spd": 42, + "spe": 65 + }, + "abilities": { + "0": "Big Pecks", + "1": "Super Luck", + "H": "Rivalry" + }, + "heightm": 0.6, + "weightkg": 15, + "color": "Gray", + "prevo": "pidove", + "evos": [ + "unfezant" + ], + "evoLevel": 21, + "eggGroups": [ + "Flying" + ] + }, + "unfezant": { + "num": 521, + "species": "Unfezant", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 80, + "atk": 115, + "def": 80, + "spa": 65, + "spd": 55, + "spe": 93 + }, + "abilities": { + "0": "Big Pecks", + "1": "Super Luck", + "H": "Rivalry" + }, + "heightm": 1.2, + "weightkg": 29, + "color": "Gray", + "prevo": "tranquill", + "evoLevel": 32, + "eggGroups": [ + "Flying" + ] + }, + "blitzle": { + "num": 522, + "species": "Blitzle", + "types": [ + "Electric" + ], + "baseStats": { + "hp": 45, + "atk": 60, + "def": 32, + "spa": 50, + "spd": 32, + "spe": 76 + }, + "abilities": { + "0": "Lightning Rod", + "1": "Motor Drive", + "H": "Sap Sipper" + }, + "heightm": 0.8, + "weightkg": 29.8, + "color": "Black", + "evos": [ + "zebstrika" + ], + "eggGroups": [ + "Field" + ] + }, + "zebstrika": { + "num": 523, + "species": "Zebstrika", + "types": [ + "Electric" + ], + "baseStats": { + "hp": 75, + "atk": 100, + "def": 63, + "spa": 80, + "spd": 63, + "spe": 116 + }, + "abilities": { + "0": "Lightning Rod", + "1": "Motor Drive", + "H": "Sap Sipper" + }, + "heightm": 1.6, + "weightkg": 79.5, + "color": "Black", + "prevo": "blitzle", + "evoLevel": 27, + "eggGroups": [ + "Field" + ] + }, + "roggenrola": { + "num": 524, + "species": "Roggenrola", + "types": [ + "Rock" + ], + "baseStats": { + "hp": 55, + "atk": 75, + "def": 85, + "spa": 25, + "spd": 25, + "spe": 15 + }, + "abilities": { + "0": "Sturdy", + "H": "Sand Force" + }, + "heightm": 0.4, + "weightkg": 18, + "color": "Blue", + "evos": [ + "boldore" + ], + "eggGroups": [ + "Mineral" + ] + }, + "boldore": { + "num": 525, + "species": "Boldore", + "types": [ + "Rock" + ], + "baseStats": { + "hp": 70, + "atk": 105, + "def": 105, + "spa": 50, + "spd": 40, + "spe": 20 + }, + "abilities": { + "0": "Sturdy", + "H": "Sand Force" + }, + "heightm": 0.9, + "weightkg": 102, + "color": "Blue", + "prevo": "roggenrola", + "evos": [ + "gigalith" + ], + "evoLevel": 25, + "eggGroups": [ + "Mineral" + ] + }, + "gigalith": { + "num": 526, + "species": "Gigalith", + "types": [ + "Rock" + ], + "baseStats": { + "hp": 85, + "atk": 135, + "def": 130, + "spa": 60, + "spd": 80, + "spe": 25 + }, + "abilities": { + "0": "Sturdy", + "H": "Sand Force" + }, + "heightm": 1.7, + "weightkg": 260, + "color": "Blue", + "prevo": "boldore", + "evoLevel": 25, + "eggGroups": [ + "Mineral" + ] + }, + "woobat": { + "num": 527, + "species": "Woobat", + "types": [ + "Psychic", + "Flying" + ], + "baseStats": { + "hp": 55, + "atk": 45, + "def": 43, + "spa": 55, + "spd": 43, + "spe": 72 + }, + "abilities": { + "0": "Unaware", + "1": "Klutz", + "H": "Simple" + }, + "heightm": 0.4, + "weightkg": 2.1, + "color": "Blue", + "evos": [ + "swoobat" + ], + "eggGroups": [ + "Flying", + "Field" + ] + }, + "swoobat": { + "num": 528, + "species": "Swoobat", + "types": [ + "Psychic", + "Flying" + ], + "baseStats": { + "hp": 67, + "atk": 57, + "def": 55, + "spa": 77, + "spd": 55, + "spe": 114 + }, + "abilities": { + "0": "Unaware", + "1": "Klutz", + "H": "Simple" + }, + "heightm": 0.9, + "weightkg": 10.5, + "color": "Blue", + "prevo": "woobat", + "evoLevel": 2, + "eggGroups": [ + "Flying", + "Field" + ] + }, + "drilbur": { + "num": 529, + "species": "Drilbur", + "types": [ + "Ground" + ], + "baseStats": { + "hp": 60, + "atk": 85, + "def": 40, + "spa": 30, + "spd": 45, + "spe": 68 + }, + "abilities": { + "0": "Sand Rush", + "1": "Sand Force", + "H": "Mold Breaker" + }, + "heightm": 0.3, + "weightkg": 8.5, + "color": "Gray", + "evos": [ + "excadrill" + ], + "eggGroups": [ + "Field" + ] + }, + "excadrill": { + "num": 530, + "species": "Excadrill", + "types": [ + "Ground", + "Steel" + ], + "baseStats": { + "hp": 110, + "atk": 135, + "def": 60, + "spa": 50, + "spd": 65, + "spe": 88 + }, + "abilities": { + "0": "Sand Rush", + "1": "Sand Force", + "H": "Mold Breaker" + }, + "heightm": 0.7, + "weightkg": 40.4, + "color": "Gray", + "prevo": "drilbur", + "evoLevel": 31, + "eggGroups": [ + "Field" + ] + }, + "audino": { + "num": 531, + "species": "Audino", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 103, + "atk": 60, + "def": 86, + "spa": 60, + "spd": 86, + "spe": 50 + }, + "abilities": { + "0": "Healer", + "1": "Regenerator", + "H": "Klutz" + }, + "heightm": 1.1, + "weightkg": 31, + "color": "Pink", + "eggGroups": [ + "Fairy" + ], + "otherFormes": [ + "audinomega" + ] + }, + "audinomega": { + "num": 531, + "species": "Audino-Mega", + "baseSpecies": "Audino", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Normal", + "Fairy" + ], + "baseStats": { + "hp": 103, + "atk": 60, + "def": 126, + "spa": 80, + "spd": 126, + "spe": 50 + }, + "abilities": { + "0": "Healer" + }, + "heightm": 1.5, + "weightkg": 32, + "color": "Pink", + "eggGroups": [ + "Fairy" + ] + }, + "timburr": { + "num": 532, + "species": "Timburr", + "types": [ + "Fighting" + ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, + "baseStats": { + "hp": 75, + "atk": 80, + "def": 55, + "spa": 25, + "spd": 35, + "spe": 35 + }, + "abilities": { + "0": "Guts", + "1": "Sheer Force", + "H": "Iron Fist" + }, + "heightm": 0.6, + "weightkg": 12.5, + "color": "Gray", + "evos": [ + "gurdurr" + ], + "eggGroups": [ + "Human-Like" + ] + }, + "gurdurr": { + "num": 533, + "species": "Gurdurr", + "types": [ + "Fighting" + ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, + "baseStats": { + "hp": 85, + "atk": 105, + "def": 85, + "spa": 40, + "spd": 50, + "spe": 40 + }, + "abilities": { + "0": "Guts", + "1": "Sheer Force", + "H": "Iron Fist" + }, + "heightm": 1.2, + "weightkg": 40, + "color": "Gray", + "prevo": "timburr", + "evos": [ + "conkeldurr" + ], + "evoLevel": 25, + "eggGroups": [ + "Human-Like" + ] + }, + "conkeldurr": { + "num": 534, + "species": "Conkeldurr", + "types": [ + "Fighting" + ], + "genderRatio": { + "M": 0.75, + "F": 0.25 + }, + "baseStats": { + "hp": 105, + "atk": 140, + "def": 95, + "spa": 55, + "spd": 65, + "spe": 45 + }, + "abilities": { + "0": "Guts", + "1": "Sheer Force", + "H": "Iron Fist" + }, + "heightm": 1.4, + "weightkg": 87, + "color": "Brown", + "prevo": "gurdurr", + "evoLevel": 25, + "eggGroups": [ + "Human-Like" + ] + }, + "tympole": { + "num": 535, + "species": "Tympole", + "types": [ + "Water" + ], + "baseStats": { + "hp": 50, + "atk": 50, + "def": 40, + "spa": 50, + "spd": 40, + "spe": 64 + }, + "abilities": { + "0": "Swift Swim", + "1": "Hydration", + "H": "Water Absorb" + }, + "heightm": 0.5, + "weightkg": 4.5, + "color": "Blue", + "evos": [ + "palpitoad" + ], + "eggGroups": [ + "Water 1" + ] + }, + "palpitoad": { + "num": 536, + "species": "Palpitoad", + "types": [ + "Water", + "Ground" + ], + "baseStats": { + "hp": 75, + "atk": 65, + "def": 55, + "spa": 65, + "spd": 55, + "spe": 69 + }, + "abilities": { + "0": "Swift Swim", + "1": "Hydration", + "H": "Water Absorb" + }, + "heightm": 0.8, + "weightkg": 17, + "color": "Blue", + "prevo": "tympole", + "evos": [ + "seismitoad" + ], + "evoLevel": 25, + "eggGroups": [ + "Water 1" + ] + }, + "seismitoad": { + "num": 537, + "species": "Seismitoad", + "types": [ + "Water", + "Ground" + ], + "baseStats": { + "hp": 105, + "atk": 95, + "def": 75, + "spa": 85, + "spd": 75, + "spe": 74 + }, + "abilities": { + "0": "Swift Swim", + "1": "Poison Touch", + "H": "Water Absorb" + }, + "heightm": 1.5, + "weightkg": 62, + "color": "Blue", + "prevo": "palpitoad", + "evoLevel": 36, + "eggGroups": [ + "Water 1" + ] + }, + "throh": { + "num": 538, + "species": "Throh", + "types": [ + "Fighting" + ], + "gender": "M", + "baseStats": { + "hp": 120, + "atk": 100, + "def": 85, + "spa": 30, + "spd": 85, + "spe": 45 + }, + "abilities": { + "0": "Guts", + "1": "Inner Focus", + "H": "Mold Breaker" + }, + "heightm": 1.3, + "weightkg": 55.5, + "color": "Red", + "eggGroups": [ + "Human-Like" + ] + }, + "sawk": { + "num": 539, + "species": "Sawk", + "types": [ + "Fighting" + ], + "gender": "M", + "baseStats": { + "hp": 75, + "atk": 125, + "def": 75, + "spa": 30, + "spd": 75, + "spe": 85 + }, + "abilities": { + "0": "Sturdy", + "1": "Inner Focus", + "H": "Mold Breaker" + }, + "heightm": 1.4, + "weightkg": 51, + "color": "Blue", + "eggGroups": [ + "Human-Like" + ] + }, + "sewaddle": { + "num": 540, + "species": "Sewaddle", + "types": [ + "Bug", + "Grass" + ], + "baseStats": { + "hp": 45, + "atk": 53, + "def": 70, + "spa": 40, + "spd": 60, + "spe": 42 + }, + "abilities": { + "0": "Swarm", + "1": "Chlorophyll", + "H": "Overcoat" + }, + "heightm": 0.3, + "weightkg": 2.5, + "color": "Yellow", + "evos": [ + "swadloon" + ], + "eggGroups": [ + "Bug" + ] + }, + "swadloon": { + "num": 541, + "species": "Swadloon", + "types": [ + "Bug", + "Grass" + ], + "baseStats": { + "hp": 55, + "atk": 63, + "def": 90, + "spa": 50, + "spd": 80, + "spe": 42 + }, + "abilities": { + "0": "Leaf Guard", + "1": "Chlorophyll", + "H": "Overcoat" + }, + "heightm": 0.5, + "weightkg": 7.3, + "color": "Green", + "prevo": "sewaddle", + "evos": [ + "leavanny" + ], + "evoLevel": 20, + "eggGroups": [ + "Bug" + ] + }, + "leavanny": { + "num": 542, + "species": "Leavanny", + "types": [ + "Bug", + "Grass" + ], + "baseStats": { + "hp": 75, + "atk": 103, + "def": 80, + "spa": 70, + "spd": 80, + "spe": 92 + }, + "abilities": { + "0": "Swarm", + "1": "Chlorophyll", + "H": "Overcoat" + }, + "heightm": 1.2, + "weightkg": 20.5, + "color": "Yellow", + "prevo": "swadloon", + "evoLevel": 21, + "eggGroups": [ + "Bug" + ] + }, + "venipede": { + "num": 543, + "species": "Venipede", + "types": [ + "Bug", + "Poison" + ], + "baseStats": { + "hp": 30, + "atk": 45, + "def": 59, + "spa": 30, + "spd": 39, + "spe": 57 + }, + "abilities": { + "0": "Poison Point", + "1": "Swarm", + "H": "Speed Boost" + }, + "heightm": 0.4, + "weightkg": 5.3, + "color": "Red", + "evos": [ + "whirlipede" + ], + "eggGroups": [ + "Bug" + ] + }, + "whirlipede": { + "num": 544, + "species": "Whirlipede", + "types": [ + "Bug", + "Poison" + ], + "baseStats": { + "hp": 40, + "atk": 55, + "def": 99, + "spa": 40, + "spd": 79, + "spe": 47 + }, + "abilities": { + "0": "Poison Point", + "1": "Swarm", + "H": "Speed Boost" + }, + "heightm": 1.2, + "weightkg": 58.5, + "color": "Gray", + "prevo": "venipede", + "evos": [ + "scolipede" + ], + "evoLevel": 22, + "eggGroups": [ + "Bug" + ] + }, + "scolipede": { + "num": 545, + "species": "Scolipede", + "types": [ + "Bug", + "Poison" + ], + "baseStats": { + "hp": 60, + "atk": 100, + "def": 89, + "spa": 55, + "spd": 69, + "spe": 112 + }, + "abilities": { + "0": "Poison Point", + "1": "Swarm", + "H": "Speed Boost" + }, + "heightm": 2.5, + "weightkg": 200.5, + "color": "Red", + "prevo": "whirlipede", + "evoLevel": 30, + "eggGroups": [ + "Bug" + ] + }, + "cottonee": { + "num": 546, + "species": "Cottonee", + "types": [ + "Grass", + "Fairy" + ], + "baseStats": { + "hp": 40, + "atk": 27, + "def": 60, + "spa": 37, + "spd": 50, + "spe": 66 + }, + "abilities": { + "0": "Prankster", + "1": "Infiltrator", + "H": "Chlorophyll" + }, + "heightm": 0.3, + "weightkg": 0.6, + "color": "Green", + "evos": [ + "whimsicott" + ], + "eggGroups": [ + "Fairy", + "Grass" + ] + }, + "whimsicott": { + "num": 547, + "species": "Whimsicott", + "types": [ + "Grass", + "Fairy" + ], + "baseStats": { + "hp": 60, + "atk": 67, + "def": 85, + "spa": 77, + "spd": 75, + "spe": 116 + }, + "abilities": { + "0": "Prankster", + "1": "Infiltrator", + "H": "Chlorophyll" + }, + "heightm": 0.7, + "weightkg": 6.6, + "color": "Green", + "prevo": "cottonee", + "evoLevel": 1, + "eggGroups": [ + "Fairy", + "Grass" + ] + }, + "petilil": { + "num": 548, + "species": "Petilil", + "types": [ + "Grass" + ], + "gender": "F", + "baseStats": { + "hp": 45, + "atk": 35, + "def": 50, + "spa": 70, + "spd": 50, + "spe": 30 + }, + "abilities": { + "0": "Chlorophyll", + "1": "Own Tempo", + "H": "Leaf Guard" + }, + "heightm": 0.5, + "weightkg": 6.6, + "color": "Green", + "evos": [ + "lilligant" + ], + "eggGroups": [ + "Grass" + ] + }, + "lilligant": { + "num": 549, + "species": "Lilligant", + "types": [ + "Grass" + ], + "gender": "F", + "baseStats": { + "hp": 70, + "atk": 60, + "def": 75, + "spa": 110, + "spd": 75, + "spe": 90 + }, + "abilities": { + "0": "Chlorophyll", + "1": "Own Tempo", + "H": "Leaf Guard" + }, + "heightm": 1.1, + "weightkg": 16.3, + "color": "Green", + "prevo": "petilil", + "evoLevel": 1, + "eggGroups": [ + "Grass" + ] + }, + "basculin": { + "num": 550, + "species": "Basculin", + "baseForme": "Red-Striped", + "types": [ + "Water" + ], + "baseStats": { + "hp": 70, + "atk": 92, + "def": 65, + "spa": 80, + "spd": 55, + "spe": 98 + }, + "abilities": { + "0": "Reckless", + "1": "Adaptability", + "H": "Mold Breaker" + }, + "heightm": 1, + "weightkg": 18, + "color": "Green", + "eggGroups": [ + "Water 2" + ], + "otherFormes": [ + "basculinbluestriped" + ] + }, + "basculinbluestriped": { + "num": 550, + "species": "Basculin-Blue-Striped", + "baseSpecies": "Basculin", + "forme": "Blue-Striped", + "formeLetter": "B", + "types": [ + "Water" + ], + "baseStats": { + "hp": 70, + "atk": 92, + "def": 65, + "spa": 80, + "spd": 55, + "spe": 98 + }, + "abilities": { + "0": "Rock Head", + "1": "Adaptability", + "H": "Mold Breaker" + }, + "heightm": 1, + "weightkg": 18, + "color": "Green", + "eggGroups": [ + "Water 2" + ] + }, + "sandile": { + "num": 551, + "species": "Sandile", + "types": [ + "Ground", + "Dark" + ], + "baseStats": { + "hp": 50, + "atk": 72, + "def": 35, + "spa": 35, + "spd": 35, + "spe": 65 + }, + "abilities": { + "0": "Intimidate", + "1": "Moxie", + "H": "Anger Point" + }, + "heightm": 0.7, + "weightkg": 15.2, + "color": "Brown", + "evos": [ + "krokorok" + ], + "eggGroups": [ + "Field" + ] + }, + "krokorok": { + "num": 552, + "species": "Krokorok", + "types": [ + "Ground", + "Dark" + ], + "baseStats": { + "hp": 60, + "atk": 82, + "def": 45, + "spa": 45, + "spd": 45, + "spe": 74 + }, + "abilities": { + "0": "Intimidate", + "1": "Moxie", + "H": "Anger Point" + }, + "heightm": 1, + "weightkg": 33.4, + "color": "Brown", + "prevo": "sandile", + "evos": [ + "krookodile" + ], + "evoLevel": 29, + "eggGroups": [ + "Field" + ] + }, + "krookodile": { + "num": 553, + "species": "Krookodile", + "types": [ + "Ground", + "Dark" + ], + "baseStats": { + "hp": 95, + "atk": 117, + "def": 80, + "spa": 65, + "spd": 70, + "spe": 92 + }, + "abilities": { + "0": "Intimidate", + "1": "Moxie", + "H": "Anger Point" + }, + "heightm": 1.5, + "weightkg": 96.3, + "color": "Red", + "prevo": "krokorok", + "evoLevel": 40, + "eggGroups": [ + "Field" + ] + }, + "darumaka": { + "num": 554, + "species": "Darumaka", + "types": [ + "Fire" + ], + "baseStats": { + "hp": 70, + "atk": 90, + "def": 45, + "spa": 15, + "spd": 45, + "spe": 50 + }, + "abilities": { + "0": "Hustle", + "H": "Inner Focus" + }, + "heightm": 0.6, + "weightkg": 37.5, + "color": "Red", + "evos": [ + "darmanitan" + ], + "eggGroups": [ + "Field" + ] + }, + "darmanitan": { + "num": 555, + "species": "Darmanitan", + "baseForme": "Standard", + "types": [ + "Fire" + ], + "baseStats": { + "hp": 105, + "atk": 140, + "def": 55, + "spa": 30, + "spd": 55, + "spe": 95 + }, + "abilities": { + "0": "Sheer Force", + "H": "Zen Mode" + }, + "heightm": 1.3, + "weightkg": 92.9, + "color": "Red", + "prevo": "darumaka", + "evoLevel": 35, + "eggGroups": [ + "Field" + ], + "otherFormes": [ + "darmanitanzen" + ] + }, + "darmanitanzen": { + "num": 555, + "species": "Darmanitan-Zen", + "baseSpecies": "Darmanitan", + "forme": "Zen", + "formeLetter": "Z", + "types": [ + "Fire", + "Psychic" + ], + "baseStats": { + "hp": 105, + "atk": 30, + "def": 105, + "spa": 140, + "spd": 105, + "spe": 55 + }, + "abilities": { + "0": "Zen Mode" + }, + "heightm": 1.3, + "weightkg": 92.9, + "color": "Red", + "prevo": "darumaka", + "evoLevel": 35, + "eggGroups": [ + "Field" + ] + }, + "maractus": { + "num": 556, + "species": "Maractus", + "types": [ + "Grass" + ], + "baseStats": { + "hp": 75, + "atk": 86, + "def": 67, + "spa": 106, + "spd": 67, + "spe": 60 + }, + "abilities": { + "0": "Water Absorb", + "1": "Chlorophyll", + "H": "Storm Drain" + }, + "heightm": 1, + "weightkg": 28, + "color": "Green", + "eggGroups": [ + "Grass" + ] + }, + "dwebble": { + "num": 557, + "species": "Dwebble", + "types": [ + "Bug", + "Rock" + ], + "baseStats": { + "hp": 50, + "atk": 65, + "def": 85, + "spa": 35, + "spd": 35, + "spe": 55 + }, + "abilities": { + "0": "Sturdy", + "1": "Shell Armor", + "H": "Weak Armor" + }, + "heightm": 0.3, + "weightkg": 14.5, + "color": "Red", + "evos": [ + "crustle" + ], + "eggGroups": [ + "Bug", + "Mineral" + ] + }, + "crustle": { + "num": 558, + "species": "Crustle", + "types": [ + "Bug", + "Rock" + ], + "baseStats": { + "hp": 70, + "atk": 95, + "def": 125, + "spa": 65, + "spd": 75, + "spe": 45 + }, + "abilities": { + "0": "Sturdy", + "1": "Shell Armor", + "H": "Weak Armor" + }, + "heightm": 1.4, + "weightkg": 200, + "color": "Red", + "prevo": "dwebble", + "evoLevel": 34, + "eggGroups": [ + "Bug", + "Mineral" + ] + }, + "scraggy": { + "num": 559, + "species": "Scraggy", + "types": [ + "Dark", + "Fighting" + ], + "baseStats": { + "hp": 50, + "atk": 75, + "def": 70, + "spa": 35, + "spd": 70, + "spe": 48 + }, + "abilities": { + "0": "Shed Skin", + "1": "Moxie", + "H": "Intimidate" + }, + "heightm": 0.6, + "weightkg": 11.8, + "color": "Yellow", + "evos": [ + "scrafty" + ], + "eggGroups": [ + "Field", + "Dragon" + ] + }, + "scrafty": { + "num": 560, + "species": "Scrafty", + "types": [ + "Dark", + "Fighting" + ], + "baseStats": { + "hp": 65, + "atk": 90, + "def": 115, + "spa": 45, + "spd": 115, + "spe": 58 + }, + "abilities": { + "0": "Shed Skin", + "1": "Moxie", + "H": "Intimidate" + }, + "heightm": 1.1, + "weightkg": 30, + "color": "Red", + "prevo": "scraggy", + "evoLevel": 39, + "eggGroups": [ + "Field", + "Dragon" + ] + }, + "sigilyph": { + "num": 561, + "species": "Sigilyph", + "types": [ + "Psychic", + "Flying" + ], + "baseStats": { + "hp": 72, + "atk": 58, + "def": 80, + "spa": 103, + "spd": 80, + "spe": 97 + }, + "abilities": { + "0": "Wonder Skin", + "1": "Magic Guard", + "H": "Tinted Lens" + }, + "heightm": 1.4, + "weightkg": 14, + "color": "Black", + "eggGroups": [ + "Flying" + ] + }, + "yamask": { + "num": 562, + "species": "Yamask", + "types": [ + "Ghost" + ], + "baseStats": { + "hp": 38, + "atk": 30, + "def": 85, + "spa": 55, + "spd": 65, + "spe": 30 + }, + "abilities": { + "0": "Mummy" + }, + "heightm": 0.5, + "weightkg": 1.5, + "color": "Black", + "evos": [ + "cofagrigus" + ], + "eggGroups": [ + "Mineral", + "Amorphous" + ] + }, + "cofagrigus": { + "num": 563, + "species": "Cofagrigus", + "types": [ + "Ghost" + ], + "baseStats": { + "hp": 58, + "atk": 50, + "def": 145, + "spa": 95, + "spd": 105, + "spe": 30 + }, + "abilities": { + "0": "Mummy" + }, + "heightm": 1.7, + "weightkg": 76.5, + "color": "Yellow", + "prevo": "yamask", + "evoLevel": 34, + "eggGroups": [ + "Mineral", + "Amorphous" + ] + }, + "tirtouga": { + "num": 564, + "species": "Tirtouga", + "types": [ + "Water", + "Rock" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 54, + "atk": 78, + "def": 103, + "spa": 53, + "spd": 45, + "spe": 22 + }, + "abilities": { + "0": "Solid Rock", + "1": "Sturdy", + "H": "Swift Swim" + }, + "heightm": 0.7, + "weightkg": 16.5, + "color": "Blue", + "evos": [ + "carracosta" + ], + "eggGroups": [ + "Water 1", + "Water 3" + ] + }, + "carracosta": { + "num": 565, + "species": "Carracosta", + "types": [ + "Water", + "Rock" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 74, + "atk": 108, + "def": 133, + "spa": 83, + "spd": 65, + "spe": 32 + }, + "abilities": { + "0": "Solid Rock", + "1": "Sturdy", + "H": "Swift Swim" + }, + "heightm": 1.2, + "weightkg": 81, + "color": "Blue", + "prevo": "tirtouga", + "evoLevel": 37, + "eggGroups": [ + "Water 1", + "Water 3" + ] + }, + "archen": { + "num": 566, + "species": "Archen", + "types": [ + "Rock", + "Flying" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 55, + "atk": 112, + "def": 45, + "spa": 74, + "spd": 45, + "spe": 70 + }, + "abilities": { + "0": "Defeatist" + }, + "heightm": 0.5, + "weightkg": 9.5, + "color": "Yellow", + "evos": [ + "archeops" + ], + "eggGroups": [ + "Flying", + "Water 3" + ] + }, + "archeops": { + "num": 567, + "species": "Archeops", + "types": [ + "Rock", + "Flying" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 75, + "atk": 140, + "def": 65, + "spa": 112, + "spd": 65, + "spe": 110 + }, + "abilities": { + "0": "Defeatist" + }, + "heightm": 1.4, + "weightkg": 32, + "color": "Yellow", + "prevo": "archen", + "evoLevel": 37, + "eggGroups": [ + "Flying", + "Water 3" + ] + }, + "trubbish": { + "num": 568, + "species": "Trubbish", + "types": [ + "Poison" + ], + "baseStats": { + "hp": 50, + "atk": 50, + "def": 62, + "spa": 40, + "spd": 62, + "spe": 65 + }, + "abilities": { + "0": "Stench", + "1": "Sticky Hold", + "H": "Aftermath" + }, + "heightm": 0.6, + "weightkg": 31, + "color": "Green", + "evos": [ + "garbodor" + ], + "eggGroups": [ + "Mineral" + ] + }, + "garbodor": { + "num": 569, + "species": "Garbodor", + "types": [ + "Poison" + ], + "baseStats": { + "hp": 80, + "atk": 95, + "def": 82, + "spa": 60, + "spd": 82, + "spe": 75 + }, + "abilities": { + "0": "Stench", + "1": "Weak Armor", + "H": "Aftermath" + }, + "heightm": 1.9, + "weightkg": 107.3, + "color": "Green", + "prevo": "trubbish", + "evoLevel": 36, + "eggGroups": [ + "Mineral" + ] + }, + "zorua": { + "num": 570, + "species": "Zorua", + "types": [ + "Dark" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 40, + "atk": 65, + "def": 40, + "spa": 80, + "spd": 40, + "spe": 65 + }, + "abilities": { + "0": "Illusion" + }, + "heightm": 0.7, + "weightkg": 12.5, + "color": "Gray", + "evos": [ + "zoroark" + ], + "eggGroups": [ + "Field" + ] + }, + "zoroark": { + "num": 571, + "species": "Zoroark", + "types": [ + "Dark" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 60, + "atk": 105, + "def": 60, + "spa": 120, + "spd": 60, + "spe": 105 + }, + "abilities": { + "0": "Illusion" + }, + "heightm": 1.6, + "weightkg": 81.1, + "color": "Gray", + "prevo": "zorua", + "evoLevel": 30, + "eggGroups": [ + "Field" + ] + }, + "minccino": { + "num": 572, + "species": "Minccino", + "types": [ + "Normal" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 55, + "atk": 50, + "def": 40, + "spa": 40, + "spd": 40, + "spe": 75 + }, + "abilities": { + "0": "Cute Charm", + "1": "Technician", + "H": "Skill Link" + }, + "heightm": 0.4, + "weightkg": 5.8, + "color": "Gray", + "evos": [ + "cinccino" + ], + "eggGroups": [ + "Field" + ] + }, + "cinccino": { + "num": 573, + "species": "Cinccino", + "types": [ + "Normal" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 75, + "atk": 95, + "def": 60, + "spa": 65, + "spd": 60, + "spe": 115 + }, + "abilities": { + "0": "Cute Charm", + "1": "Technician", + "H": "Skill Link" + }, + "heightm": 0.5, + "weightkg": 7.5, + "color": "Gray", + "prevo": "minccino", + "evoLevel": 1, + "eggGroups": [ + "Field" + ] + }, + "gothita": { + "num": 574, + "species": "Gothita", + "types": [ + "Psychic" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 45, + "atk": 30, + "def": 50, + "spa": 55, + "spd": 65, + "spe": 45 + }, + "abilities": { + "0": "Frisk", + "1": "Competitive", + "H": "Shadow Tag" + }, + "heightm": 0.4, + "weightkg": 5.8, + "color": "Purple", + "evos": [ + "gothorita" + ], + "eggGroups": [ + "Human-Like" + ] + }, + "gothorita": { + "num": 575, + "species": "Gothorita", + "types": [ + "Psychic" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 60, + "atk": 45, + "def": 70, + "spa": 75, + "spd": 85, + "spe": 55 + }, + "abilities": { + "0": "Frisk", + "1": "Competitive", + "H": "Shadow Tag" + }, + "heightm": 0.7, + "weightkg": 18, + "color": "Purple", + "prevo": "gothita", + "evos": [ + "gothitelle" + ], + "evoLevel": 32, + "eggGroups": [ + "Human-Like" + ] + }, + "gothitelle": { + "num": 576, + "species": "Gothitelle", + "types": [ + "Psychic" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 70, + "atk": 55, + "def": 95, + "spa": 95, + "spd": 110, + "spe": 65 + }, + "abilities": { + "0": "Frisk", + "1": "Competitive", + "H": "Shadow Tag" + }, + "heightm": 1.5, + "weightkg": 44, + "color": "Purple", + "prevo": "gothorita", + "evoLevel": 41, + "eggGroups": [ + "Human-Like" + ] + }, + "solosis": { + "num": 577, + "species": "Solosis", + "types": [ + "Psychic" + ], + "baseStats": { + "hp": 45, + "atk": 30, + "def": 40, + "spa": 105, + "spd": 50, + "spe": 20 + }, + "abilities": { + "0": "Overcoat", + "1": "Magic Guard", + "H": "Regenerator" + }, + "heightm": 0.3, + "weightkg": 1, + "color": "Green", + "evos": [ + "duosion" + ], + "eggGroups": [ + "Amorphous" + ] + }, + "duosion": { + "num": 578, + "species": "Duosion", + "types": [ + "Psychic" + ], + "baseStats": { + "hp": 65, + "atk": 40, + "def": 50, + "spa": 125, + "spd": 60, + "spe": 30 + }, + "abilities": { + "0": "Overcoat", + "1": "Magic Guard", + "H": "Regenerator" + }, + "heightm": 0.6, + "weightkg": 8, + "color": "Green", + "prevo": "solosis", + "evos": [ + "reuniclus" + ], + "evoLevel": 32, + "eggGroups": [ + "Amorphous" + ] + }, + "reuniclus": { + "num": 579, + "species": "Reuniclus", + "types": [ + "Psychic" + ], + "baseStats": { + "hp": 110, + "atk": 65, + "def": 75, + "spa": 125, + "spd": 85, + "spe": 30 + }, + "abilities": { + "0": "Overcoat", + "1": "Magic Guard", + "H": "Regenerator" + }, + "heightm": 1, + "weightkg": 20.1, + "color": "Green", + "prevo": "duosion", + "evoLevel": 41, + "eggGroups": [ + "Amorphous" + ] + }, + "ducklett": { + "num": 580, + "species": "Ducklett", + "types": [ + "Water", + "Flying" + ], + "baseStats": { + "hp": 62, + "atk": 44, + "def": 50, + "spa": 44, + "spd": 50, + "spe": 55 + }, + "abilities": { + "0": "Keen Eye", + "1": "Big Pecks", + "H": "Hydration" + }, + "heightm": 0.5, + "weightkg": 5.5, + "color": "Blue", + "evos": [ + "swanna" + ], + "eggGroups": [ + "Water 1", + "Flying" + ] + }, + "swanna": { + "num": 581, + "species": "Swanna", + "types": [ + "Water", + "Flying" + ], + "baseStats": { + "hp": 75, + "atk": 87, + "def": 63, + "spa": 87, + "spd": 63, + "spe": 98 + }, + "abilities": { + "0": "Keen Eye", + "1": "Big Pecks", + "H": "Hydration" + }, + "heightm": 1.3, + "weightkg": 24.2, + "color": "White", + "prevo": "ducklett", + "evoLevel": 35, + "eggGroups": [ + "Water 1", + "Flying" + ] + }, + "vanillite": { + "num": 582, + "species": "Vanillite", + "types": [ + "Ice" + ], + "baseStats": { + "hp": 36, + "atk": 50, + "def": 50, + "spa": 65, + "spd": 60, + "spe": 44 + }, + "abilities": { + "0": "Ice Body", + "H": "Weak Armor" + }, + "heightm": 0.4, + "weightkg": 5.7, + "color": "White", + "evos": [ + "vanillish" + ], + "eggGroups": [ + "Mineral" + ] + }, + "vanillish": { + "num": 583, + "species": "Vanillish", + "types": [ + "Ice" + ], + "baseStats": { + "hp": 51, + "atk": 65, + "def": 65, + "spa": 80, + "spd": 75, + "spe": 59 + }, + "abilities": { + "0": "Ice Body", + "H": "Weak Armor" + }, + "heightm": 1.1, + "weightkg": 41, + "color": "White", + "prevo": "vanillite", + "evos": [ + "vanilluxe" + ], + "evoLevel": 35, + "eggGroups": [ + "Mineral" + ] + }, + "vanilluxe": { + "num": 584, + "species": "Vanilluxe", + "types": [ + "Ice" + ], + "baseStats": { + "hp": 71, + "atk": 95, + "def": 85, + "spa": 110, + "spd": 95, + "spe": 79 + }, + "abilities": { + "0": "Ice Body", + "H": "Weak Armor" + }, + "heightm": 1.3, + "weightkg": 57.5, + "color": "White", + "prevo": "vanillish", + "evoLevel": 47, + "eggGroups": [ + "Mineral" + ] + }, + "deerling": { + "num": 585, + "species": "Deerling", + "baseForme": "Spring", + "types": [ + "Normal", + "Grass" + ], + "baseStats": { + "hp": 60, + "atk": 60, + "def": 50, + "spa": 40, + "spd": 50, + "spe": 75 + }, + "abilities": { + "0": "Chlorophyll", + "1": "Sap Sipper", + "H": "Serene Grace" + }, + "heightm": 0.6, + "weightkg": 19.5, + "color": "Yellow", + "evos": [ + "sawsbuck" + ], + "eggGroups": [ + "Field" + ], + "otherForms": [ + "deerlingsummer", + "deerlingautumn", + "deerlingwinter" + ] + }, + "sawsbuck": { + "num": 586, + "species": "Sawsbuck", + "baseForme": "Spring", + "types": [ + "Normal", + "Grass" + ], + "baseStats": { + "hp": 80, + "atk": 100, + "def": 70, + "spa": 60, + "spd": 70, + "spe": 95 + }, + "abilities": { + "0": "Chlorophyll", + "1": "Sap Sipper", + "H": "Serene Grace" + }, + "heightm": 1.9, + "weightkg": 92.5, + "color": "Brown", + "prevo": "deerling", + "evoLevel": 34, + "eggGroups": [ + "Field" + ], + "otherForms": [ + "sawsbucksummer", + "sawsbuckautumn", + "sawsbuckwinter" + ] + }, + "emolga": { + "num": 587, + "species": "Emolga", + "types": [ + "Electric", + "Flying" + ], + "baseStats": { + "hp": 55, + "atk": 75, + "def": 60, + "spa": 75, + "spd": 60, + "spe": 103 + }, + "abilities": { + "0": "Static", + "H": "Motor Drive" + }, + "heightm": 0.4, + "weightkg": 5, + "color": "White", + "eggGroups": [ + "Field" + ] + }, + "karrablast": { + "num": 588, + "species": "Karrablast", + "types": [ + "Bug" + ], + "baseStats": { + "hp": 50, + "atk": 75, + "def": 45, + "spa": 40, + "spd": 45, + "spe": 60 + }, + "abilities": { + "0": "Swarm", + "1": "Shed Skin", + "H": "No Guard" + }, + "heightm": 0.5, + "weightkg": 5.9, + "color": "Blue", + "evos": [ + "escavalier" + ], + "eggGroups": [ + "Bug" + ] + }, + "escavalier": { + "num": 589, + "species": "Escavalier", + "types": [ + "Bug", + "Steel" + ], + "baseStats": { + "hp": 70, + "atk": 135, + "def": 105, + "spa": 60, + "spd": 105, + "spe": 20 + }, + "abilities": { + "0": "Swarm", + "1": "Shell Armor", + "H": "Overcoat" + }, + "heightm": 1, + "weightkg": 33, + "color": "Gray", + "prevo": "karrablast", + "evoLevel": 1, + "eggGroups": [ + "Bug" + ] + }, + "foongus": { + "num": 590, + "species": "Foongus", + "types": [ + "Grass", + "Poison" + ], + "baseStats": { + "hp": 69, + "atk": 55, + "def": 45, + "spa": 55, + "spd": 55, + "spe": 15 + }, + "abilities": { + "0": "Effect Spore", + "H": "Regenerator" + }, + "heightm": 0.2, + "weightkg": 1, + "color": "White", + "evos": [ + "amoonguss" + ], + "eggGroups": [ + "Grass" + ] + }, + "amoonguss": { + "num": 591, + "species": "Amoonguss", + "types": [ + "Grass", + "Poison" + ], + "baseStats": { + "hp": 114, + "atk": 85, + "def": 70, + "spa": 85, + "spd": 80, + "spe": 30 + }, + "abilities": { + "0": "Effect Spore", + "H": "Regenerator" + }, + "heightm": 0.6, + "weightkg": 10.5, + "color": "White", + "prevo": "foongus", + "evoLevel": 39, + "eggGroups": [ + "Grass" + ] + }, + "frillish": { + "num": 592, + "species": "Frillish", + "types": [ + "Water", + "Ghost" + ], + "baseStats": { + "hp": 55, + "atk": 40, + "def": 50, + "spa": 65, + "spd": 85, + "spe": 40 + }, + "abilities": { + "0": "Water Absorb", + "1": "Cursed Body", + "H": "Damp" + }, + "heightm": 1.2, + "weightkg": 33, + "color": "White", + "evos": [ + "jellicent" + ], + "eggGroups": [ + "Amorphous" + ] + }, + "jellicent": { + "num": 593, + "species": "Jellicent", + "types": [ + "Water", + "Ghost" + ], + "baseStats": { + "hp": 100, + "atk": 60, + "def": 70, + "spa": 85, + "spd": 105, + "spe": 60 + }, + "abilities": { + "0": "Water Absorb", + "1": "Cursed Body", + "H": "Damp" + }, + "heightm": 2.2, + "weightkg": 135, + "color": "White", + "prevo": "frillish", + "evoLevel": 40, + "eggGroups": [ + "Amorphous" + ] + }, + "alomomola": { + "num": 594, + "species": "Alomomola", + "types": [ + "Water" + ], + "baseStats": { + "hp": 165, + "atk": 75, + "def": 80, + "spa": 40, + "spd": 45, + "spe": 65 + }, + "abilities": { + "0": "Healer", + "1": "Hydration", + "H": "Regenerator" + }, + "heightm": 1.2, + "weightkg": 31.6, + "color": "Pink", + "eggGroups": [ + "Water 1", + "Water 2" + ] + }, + "joltik": { + "num": 595, + "species": "Joltik", + "types": [ + "Bug", + "Electric" + ], + "baseStats": { + "hp": 50, + "atk": 47, + "def": 50, + "spa": 57, + "spd": 50, + "spe": 65 + }, + "abilities": { + "0": "Compound Eyes", + "1": "Unnerve", + "H": "Swarm" + }, + "heightm": 0.1, + "weightkg": 0.6, + "color": "Yellow", + "evos": [ + "galvantula" + ], + "eggGroups": [ + "Bug" + ] + }, + "galvantula": { + "num": 596, + "species": "Galvantula", + "types": [ + "Bug", + "Electric" + ], + "baseStats": { + "hp": 70, + "atk": 77, + "def": 60, + "spa": 97, + "spd": 60, + "spe": 108 + }, + "abilities": { + "0": "Compound Eyes", + "1": "Unnerve", + "H": "Swarm" + }, + "heightm": 0.8, + "weightkg": 14.3, + "color": "Yellow", + "prevo": "joltik", + "evoLevel": 36, + "eggGroups": [ + "Bug" + ] + }, + "ferroseed": { + "num": 597, + "species": "Ferroseed", + "types": [ + "Grass", + "Steel" + ], + "baseStats": { + "hp": 44, + "atk": 50, + "def": 91, + "spa": 24, + "spd": 86, + "spe": 10 + }, + "abilities": { + "0": "Iron Barbs" + }, + "heightm": 0.6, + "weightkg": 18.8, + "color": "Gray", + "evos": [ + "ferrothorn" + ], + "eggGroups": [ + "Grass", + "Mineral" + ] + }, + "ferrothorn": { + "num": 598, + "species": "Ferrothorn", + "types": [ + "Grass", + "Steel" + ], + "baseStats": { + "hp": 74, + "atk": 94, + "def": 131, + "spa": 54, + "spd": 116, + "spe": 20 + }, + "abilities": { + "0": "Iron Barbs", + "H": "Anticipation" + }, + "heightm": 1, + "weightkg": 110, + "color": "Gray", + "prevo": "ferroseed", + "evoLevel": 40, + "eggGroups": [ + "Grass", + "Mineral" + ] + }, + "klink": { + "num": 599, + "species": "Klink", + "types": [ + "Steel" + ], + "gender": "N", + "baseStats": { + "hp": 40, + "atk": 55, + "def": 70, + "spa": 45, + "spd": 60, + "spe": 30 + }, + "abilities": { + "0": "Plus", + "1": "Minus", + "H": "Clear Body" + }, + "heightm": 0.3, + "weightkg": 21, + "color": "Gray", + "evos": [ + "klang" + ], + "eggGroups": [ + "Mineral" + ] + }, + "klang": { + "num": 600, + "species": "Klang", + "types": [ + "Steel" + ], + "gender": "N", + "baseStats": { + "hp": 60, + "atk": 80, + "def": 95, + "spa": 70, + "spd": 85, + "spe": 50 + }, + "abilities": { + "0": "Plus", + "1": "Minus", + "H": "Clear Body" + }, + "heightm": 0.6, + "weightkg": 51, + "color": "Gray", + "prevo": "klink", + "evos": [ + "klinklang" + ], + "evoLevel": 38, + "eggGroups": [ + "Mineral" + ] + }, + "klinklang": { + "num": 601, + "species": "Klinklang", + "types": [ + "Steel" + ], + "gender": "N", + "baseStats": { + "hp": 60, + "atk": 100, + "def": 115, + "spa": 70, + "spd": 85, + "spe": 90 + }, + "abilities": { + "0": "Plus", + "1": "Minus", + "H": "Clear Body" + }, + "heightm": 0.6, + "weightkg": 81, + "color": "Gray", + "prevo": "klang", + "evoLevel": 49, + "eggGroups": [ + "Mineral" + ] + }, + "tynamo": { + "num": 602, + "species": "Tynamo", + "types": [ + "Electric" + ], + "baseStats": { + "hp": 35, + "atk": 55, + "def": 40, + "spa": 45, + "spd": 40, + "spe": 60 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 0.2, + "weightkg": 0.3, + "color": "White", + "evos": [ + "eelektrik" + ], + "eggGroups": [ + "Amorphous" + ] + }, + "eelektrik": { + "num": 603, + "species": "Eelektrik", + "types": [ + "Electric" + ], + "baseStats": { + "hp": 65, + "atk": 85, + "def": 70, + "spa": 75, + "spd": 70, + "spe": 40 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 1.2, + "weightkg": 22, + "color": "Blue", + "prevo": "tynamo", + "evos": [ + "eelektross" + ], + "evoLevel": 39, + "eggGroups": [ + "Amorphous" + ] + }, + "eelektross": { + "num": 604, + "species": "Eelektross", + "types": [ + "Electric" + ], + "baseStats": { + "hp": 85, + "atk": 115, + "def": 80, + "spa": 105, + "spd": 80, + "spe": 50 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 2.1, + "weightkg": 80.5, + "color": "Blue", + "prevo": "eelektrik", + "evoLevel": 39, + "eggGroups": [ + "Amorphous" + ] + }, + "elgyem": { + "num": 605, + "species": "Elgyem", + "types": [ + "Psychic" + ], + "baseStats": { + "hp": 55, + "atk": 55, + "def": 55, + "spa": 85, + "spd": 55, + "spe": 30 + }, + "abilities": { + "0": "Telepathy", + "1": "Synchronize", + "H": "Analytic" + }, + "heightm": 0.5, + "weightkg": 9, + "color": "Blue", + "evos": [ + "beheeyem" + ], + "eggGroups": [ + "Human-Like" + ] + }, + "beheeyem": { + "num": 606, + "species": "Beheeyem", + "types": [ + "Psychic" + ], + "baseStats": { + "hp": 75, + "atk": 75, + "def": 75, + "spa": 125, + "spd": 95, + "spe": 40 + }, + "abilities": { + "0": "Telepathy", + "1": "Synchronize", + "H": "Analytic" + }, + "heightm": 1, + "weightkg": 34.5, + "color": "Brown", + "prevo": "elgyem", + "evoLevel": 42, + "eggGroups": [ + "Human-Like" + ] + }, + "litwick": { + "num": 607, + "species": "Litwick", + "types": [ + "Ghost", + "Fire" + ], + "baseStats": { + "hp": 50, + "atk": 30, + "def": 55, + "spa": 65, + "spd": 55, + "spe": 20 + }, + "abilities": { + "0": "Flash Fire", + "1": "Flame Body", + "H": "Infiltrator" + }, + "heightm": 0.3, + "weightkg": 3.1, + "color": "White", + "evos": [ + "lampent" + ], + "eggGroups": [ + "Amorphous" + ] + }, + "lampent": { + "num": 608, + "species": "Lampent", + "types": [ + "Ghost", + "Fire" + ], + "baseStats": { + "hp": 60, + "atk": 40, + "def": 60, + "spa": 95, + "spd": 60, + "spe": 55 + }, + "abilities": { + "0": "Flash Fire", + "1": "Flame Body", + "H": "Infiltrator" + }, + "heightm": 0.6, + "weightkg": 13, + "color": "Black", + "prevo": "litwick", + "evos": [ + "chandelure" + ], + "evoLevel": 41, + "eggGroups": [ + "Amorphous" + ] + }, + "chandelure": { + "num": 609, + "species": "Chandelure", + "types": [ + "Ghost", + "Fire" + ], + "baseStats": { + "hp": 60, + "atk": 55, + "def": 90, + "spa": 145, + "spd": 90, + "spe": 80 + }, + "abilities": { + "0": "Flash Fire", + "1": "Flame Body", + "H": "Infiltrator" + }, + "heightm": 1, + "weightkg": 34.3, + "color": "Black", + "prevo": "lampent", + "evoLevel": 41, + "eggGroups": [ + "Amorphous" + ] + }, + "axew": { + "num": 610, + "species": "Axew", + "types": [ + "Dragon" + ], + "baseStats": { + "hp": 46, + "atk": 87, + "def": 60, + "spa": 30, + "spd": 40, + "spe": 57 + }, + "abilities": { + "0": "Rivalry", + "1": "Mold Breaker", + "H": "Unnerve" + }, + "heightm": 0.6, + "weightkg": 18, + "color": "Green", + "evos": [ + "fraxure" + ], + "eggGroups": [ + "Monster", + "Dragon" + ] + }, + "fraxure": { + "num": 611, + "species": "Fraxure", + "types": [ + "Dragon" + ], + "baseStats": { + "hp": 66, + "atk": 117, + "def": 70, + "spa": 40, + "spd": 50, + "spe": 67 + }, + "abilities": { + "0": "Rivalry", + "1": "Mold Breaker", + "H": "Unnerve" + }, + "heightm": 1, + "weightkg": 36, + "color": "Green", + "prevo": "axew", + "evos": [ + "haxorus" + ], + "evoLevel": 38, + "eggGroups": [ + "Monster", + "Dragon" + ] + }, + "haxorus": { + "num": 612, + "species": "Haxorus", + "types": [ + "Dragon" + ], + "baseStats": { + "hp": 76, + "atk": 147, + "def": 90, + "spa": 60, + "spd": 70, + "spe": 97 + }, + "abilities": { + "0": "Rivalry", + "1": "Mold Breaker", + "H": "Unnerve" + }, + "heightm": 1.8, + "weightkg": 105.5, + "color": "Yellow", + "prevo": "fraxure", + "evoLevel": 48, + "eggGroups": [ + "Monster", + "Dragon" + ] + }, + "cubchoo": { + "num": 613, + "species": "Cubchoo", + "types": [ + "Ice" + ], + "baseStats": { + "hp": 55, + "atk": 70, + "def": 40, + "spa": 60, + "spd": 40, + "spe": 40 + }, + "abilities": { + "0": "Snow Cloak", + "H": "Rattled" + }, + "heightm": 0.5, + "weightkg": 8.5, + "color": "White", + "evos": [ + "beartic" + ], + "eggGroups": [ + "Field" + ] + }, + "beartic": { + "num": 614, + "species": "Beartic", + "types": [ + "Ice" + ], + "baseStats": { + "hp": 95, + "atk": 110, + "def": 80, + "spa": 70, + "spd": 80, + "spe": 50 + }, + "abilities": { + "0": "Snow Cloak", + "H": "Swift Swim" + }, + "heightm": 2.6, + "weightkg": 260, + "color": "White", + "prevo": "cubchoo", + "evoLevel": 37, + "eggGroups": [ + "Field" + ] + }, + "cryogonal": { + "num": 615, + "species": "Cryogonal", + "types": [ + "Ice" + ], + "gender": "N", + "baseStats": { + "hp": 70, + "atk": 50, + "def": 30, + "spa": 95, + "spd": 135, + "spe": 105 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 1.1, + "weightkg": 148, + "color": "Blue", + "eggGroups": [ + "Mineral" + ] + }, + "shelmet": { + "num": 616, + "species": "Shelmet", + "types": [ + "Bug" + ], + "baseStats": { + "hp": 50, + "atk": 40, + "def": 85, + "spa": 40, + "spd": 65, + "spe": 25 + }, + "abilities": { + "0": "Hydration", + "1": "Shell Armor", + "H": "Overcoat" + }, + "heightm": 0.4, + "weightkg": 7.7, + "color": "Red", + "evos": [ + "accelgor" + ], + "eggGroups": [ + "Bug" + ] + }, + "accelgor": { + "num": 617, + "species": "Accelgor", + "types": [ + "Bug" + ], + "baseStats": { + "hp": 80, + "atk": 70, + "def": 40, + "spa": 100, + "spd": 60, + "spe": 145 + }, + "abilities": { + "0": "Hydration", + "1": "Sticky Hold", + "H": "Unburden" + }, + "heightm": 0.8, + "weightkg": 25.3, + "color": "Red", + "prevo": "shelmet", + "evoLevel": 1, + "eggGroups": [ + "Bug" + ] + }, + "stunfisk": { + "num": 618, + "species": "Stunfisk", + "types": [ + "Ground", + "Electric" + ], + "baseStats": { + "hp": 109, + "atk": 66, + "def": 84, + "spa": 81, + "spd": 99, + "spe": 32 + }, + "abilities": { + "0": "Static", + "1": "Limber", + "H": "Sand Veil" + }, + "heightm": 0.7, + "weightkg": 11, + "color": "Brown", + "eggGroups": [ + "Water 1", + "Amorphous" + ] + }, + "mienfoo": { + "num": 619, + "species": "Mienfoo", + "types": [ + "Fighting" + ], + "baseStats": { + "hp": 45, + "atk": 85, + "def": 50, + "spa": 55, + "spd": 50, + "spe": 65 + }, + "abilities": { + "0": "Inner Focus", + "1": "Regenerator", + "H": "Reckless" + }, + "heightm": 0.9, + "weightkg": 20, + "color": "Yellow", + "evos": [ + "mienshao" + ], + "eggGroups": [ + "Field", + "Human-Like" + ] + }, + "mienshao": { + "num": 620, + "species": "Mienshao", + "types": [ + "Fighting" + ], + "baseStats": { + "hp": 65, + "atk": 125, + "def": 60, + "spa": 95, + "spd": 60, + "spe": 105 + }, + "abilities": { + "0": "Inner Focus", + "1": "Regenerator", + "H": "Reckless" + }, + "heightm": 1.4, + "weightkg": 35.5, + "color": "Purple", + "prevo": "mienfoo", + "evoLevel": 50, + "eggGroups": [ + "Field", + "Human-Like" + ] + }, + "druddigon": { + "num": 621, + "species": "Druddigon", + "types": [ + "Dragon" + ], + "baseStats": { + "hp": 77, + "atk": 120, + "def": 90, + "spa": 60, + "spd": 90, + "spe": 48 + }, + "abilities": { + "0": "Rough Skin", + "1": "Sheer Force", + "H": "Mold Breaker" + }, + "heightm": 1.6, + "weightkg": 139, + "color": "Red", + "eggGroups": [ + "Monster", + "Dragon" + ] + }, + "golett": { + "num": 622, + "species": "Golett", + "types": [ + "Ground", + "Ghost" + ], + "gender": "N", + "baseStats": { + "hp": 59, + "atk": 74, + "def": 50, + "spa": 35, + "spd": 50, + "spe": 35 + }, + "abilities": { + "0": "Iron Fist", + "1": "Klutz", + "H": "No Guard" + }, + "heightm": 1, + "weightkg": 92, + "color": "Green", + "evos": [ + "golurk" + ], + "eggGroups": [ + "Mineral" + ] + }, + "golurk": { + "num": 623, + "species": "Golurk", + "types": [ + "Ground", + "Ghost" + ], + "gender": "N", + "baseStats": { + "hp": 89, + "atk": 124, + "def": 80, + "spa": 55, + "spd": 80, + "spe": 55 + }, + "abilities": { + "0": "Iron Fist", + "1": "Klutz", + "H": "No Guard" + }, + "heightm": 2.8, + "weightkg": 330, + "color": "Green", + "prevo": "golett", + "evoLevel": 43, + "eggGroups": [ + "Mineral" + ] + }, + "pawniard": { + "num": 624, + "species": "Pawniard", + "types": [ + "Dark", + "Steel" + ], + "baseStats": { + "hp": 45, + "atk": 85, + "def": 70, + "spa": 40, + "spd": 40, + "spe": 60 + }, + "abilities": { + "0": "Defiant", + "1": "Inner Focus", + "H": "Pressure" + }, + "heightm": 0.5, + "weightkg": 10.2, + "color": "Red", + "evos": [ + "bisharp" + ], + "eggGroups": [ + "Human-Like" + ] + }, + "bisharp": { + "num": 625, + "species": "Bisharp", + "types": [ + "Dark", + "Steel" + ], + "baseStats": { + "hp": 65, + "atk": 125, + "def": 100, + "spa": 60, + "spd": 70, + "spe": 70 + }, + "abilities": { + "0": "Defiant", + "1": "Inner Focus", + "H": "Pressure" + }, + "heightm": 1.6, + "weightkg": 70, + "color": "Red", + "prevo": "pawniard", + "evoLevel": 52, + "eggGroups": [ + "Human-Like" + ] + }, + "bouffalant": { + "num": 626, + "species": "Bouffalant", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 95, + "atk": 110, + "def": 95, + "spa": 40, + "spd": 95, + "spe": 55 + }, + "abilities": { + "0": "Reckless", + "1": "Sap Sipper", + "H": "Soundproof" + }, + "heightm": 1.6, + "weightkg": 94.6, + "color": "Brown", + "eggGroups": [ + "Field" + ] + }, + "rufflet": { + "num": 627, + "species": "Rufflet", + "types": [ + "Normal", + "Flying" + ], + "gender": "M", + "baseStats": { + "hp": 70, + "atk": 83, + "def": 50, + "spa": 37, + "spd": 50, + "spe": 60 + }, + "abilities": { + "0": "Keen Eye", + "1": "Sheer Force", + "H": "Hustle" + }, + "heightm": 0.5, + "weightkg": 10.5, + "color": "White", + "evos": [ + "braviary" + ], + "eggGroups": [ + "Flying" + ] + }, + "braviary": { + "num": 628, + "species": "Braviary", + "types": [ + "Normal", + "Flying" + ], + "gender": "M", + "baseStats": { + "hp": 100, + "atk": 123, + "def": 75, + "spa": 57, + "spd": 75, + "spe": 80 + }, + "abilities": { + "0": "Keen Eye", + "1": "Sheer Force", + "H": "Defiant" + }, + "heightm": 1.5, + "weightkg": 41, + "color": "Red", + "prevo": "rufflet", + "evoLevel": 54, + "eggGroups": [ + "Flying" + ] + }, + "vullaby": { + "num": 629, + "species": "Vullaby", + "types": [ + "Dark", + "Flying" + ], + "gender": "F", + "baseStats": { + "hp": 70, + "atk": 55, + "def": 75, + "spa": 45, + "spd": 65, + "spe": 60 + }, + "abilities": { + "0": "Big Pecks", + "1": "Overcoat", + "H": "Weak Armor" + }, + "heightm": 0.5, + "weightkg": 9, + "color": "Brown", + "evos": [ + "mandibuzz" + ], + "eggGroups": [ + "Flying" + ] + }, + "mandibuzz": { + "num": 630, + "species": "Mandibuzz", + "types": [ + "Dark", + "Flying" + ], + "gender": "F", + "baseStats": { + "hp": 110, + "atk": 65, + "def": 105, + "spa": 55, + "spd": 95, + "spe": 80 + }, + "abilities": { + "0": "Big Pecks", + "1": "Overcoat", + "H": "Weak Armor" + }, + "heightm": 1.2, + "weightkg": 39.5, + "color": "Brown", + "prevo": "vullaby", + "evoLevel": 54, + "eggGroups": [ + "Flying" + ] + }, + "heatmor": { + "num": 631, + "species": "Heatmor", + "types": [ + "Fire" + ], + "baseStats": { + "hp": 85, + "atk": 97, + "def": 66, + "spa": 105, + "spd": 66, + "spe": 65 + }, + "abilities": { + "0": "Gluttony", + "1": "Flash Fire", + "H": "White Smoke" + }, + "heightm": 1.4, + "weightkg": 58, + "color": "Red", + "eggGroups": [ + "Field" + ] + }, + "durant": { + "num": 632, + "species": "Durant", + "types": [ + "Bug", + "Steel" + ], + "baseStats": { + "hp": 58, + "atk": 109, + "def": 112, + "spa": 48, + "spd": 48, + "spe": 109 + }, + "abilities": { + "0": "Swarm", + "1": "Hustle", + "H": "Truant" + }, + "heightm": 0.3, + "weightkg": 33, + "color": "Gray", + "eggGroups": [ + "Bug" + ] + }, + "deino": { + "num": 633, + "species": "Deino", + "types": [ + "Dark", + "Dragon" + ], + "baseStats": { + "hp": 52, + "atk": 65, + "def": 50, + "spa": 45, + "spd": 50, + "spe": 38 + }, + "abilities": { + "0": "Hustle" + }, + "heightm": 0.8, + "weightkg": 17.3, + "color": "Blue", + "evos": [ + "zweilous" + ], + "eggGroups": [ + "Dragon" + ] + }, + "zweilous": { + "num": 634, + "species": "Zweilous", + "types": [ + "Dark", + "Dragon" + ], + "baseStats": { + "hp": 72, + "atk": 85, + "def": 70, + "spa": 65, + "spd": 70, + "spe": 58 + }, + "abilities": { + "0": "Hustle" + }, + "heightm": 1.4, + "weightkg": 50, + "color": "Blue", + "prevo": "deino", + "evos": [ + "hydreigon" + ], + "evoLevel": 50, + "eggGroups": [ + "Dragon" + ] + }, + "hydreigon": { + "num": 635, + "species": "Hydreigon", + "types": [ + "Dark", + "Dragon" + ], + "baseStats": { + "hp": 92, + "atk": 105, + "def": 90, + "spa": 125, + "spd": 90, + "spe": 98 + }, + "abilities": { + "0": "Levitate" + }, + "heightm": 1.8, + "weightkg": 160, + "color": "Blue", + "prevo": "zweilous", + "evoLevel": 64, + "eggGroups": [ + "Dragon" + ] + }, + "larvesta": { + "num": 636, + "species": "Larvesta", + "types": [ + "Bug", + "Fire" + ], + "baseStats": { + "hp": 55, + "atk": 85, + "def": 55, + "spa": 50, + "spd": 55, + "spe": 60 + }, + "abilities": { + "0": "Flame Body", + "H": "Swarm" + }, + "heightm": 1.1, + "weightkg": 28.8, + "color": "White", + "evos": [ + "volcarona" + ], + "eggGroups": [ + "Bug" + ] + }, + "volcarona": { + "num": 637, + "species": "Volcarona", + "types": [ + "Bug", + "Fire" + ], + "baseStats": { + "hp": 85, + "atk": 60, + "def": 65, + "spa": 135, + "spd": 105, + "spe": 100 + }, + "abilities": { + "0": "Flame Body", + "H": "Swarm" + }, + "heightm": 1.6, + "weightkg": 46, + "color": "White", + "prevo": "larvesta", + "evoLevel": 59, + "eggGroups": [ + "Bug" + ] + }, + "cobalion": { + "num": 638, + "species": "Cobalion", + "types": [ + "Steel", + "Fighting" + ], + "gender": "N", + "baseStats": { + "hp": 91, + "atk": 90, + "def": 129, + "spa": 90, + "spd": 72, + "spe": 108 + }, + "abilities": { + "0": "Justified" + }, + "heightm": 2.1, + "weightkg": 250, + "color": "Blue", + "eggGroups": [ + "Undiscovered" + ] + }, + "terrakion": { + "num": 639, + "species": "Terrakion", + "types": [ + "Rock", + "Fighting" + ], + "gender": "N", + "baseStats": { + "hp": 91, + "atk": 129, + "def": 90, + "spa": 72, + "spd": 90, + "spe": 108 + }, + "abilities": { + "0": "Justified" + }, + "heightm": 1.9, + "weightkg": 260, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "virizion": { + "num": 640, + "species": "Virizion", + "types": [ + "Grass", + "Fighting" + ], + "gender": "N", + "baseStats": { + "hp": 91, + "atk": 90, + "def": 72, + "spa": 90, + "spd": 129, + "spe": 108 + }, + "abilities": { + "0": "Justified" + }, + "heightm": 2, + "weightkg": 200, + "color": "Green", + "eggGroups": [ + "Undiscovered" + ] + }, + "tornadus": { + "num": 641, + "species": "Tornadus", + "baseForme": "Incarnate", + "types": [ + "Flying" + ], + "gender": "M", + "baseStats": { + "hp": 79, + "atk": 115, + "def": 70, + "spa": 125, + "spd": 80, + "spe": 111 + }, + "abilities": { + "0": "Prankster", + "H": "Defiant" + }, + "heightm": 1.5, + "weightkg": 63, + "color": "Green", + "eggGroups": [ + "Undiscovered" + ], + "otherFormes": [ + "tornadustherian" + ] + }, + "tornadustherian": { + "num": 641, + "species": "Tornadus-Therian", + "baseSpecies": "Tornadus", + "forme": "Therian", + "formeLetter": "T", + "types": [ + "Flying" + ], + "gender": "M", + "baseStats": { + "hp": 79, + "atk": 100, + "def": 80, + "spa": 110, + "spd": 90, + "spe": 121 + }, + "abilities": { + "0": "Regenerator" + }, + "heightm": 1.4, + "weightkg": 63, + "color": "Green", + "eggGroups": [ + "Undiscovered" + ] + }, + "thundurus": { + "num": 642, + "species": "Thundurus", + "baseForme": "Incarnate", + "types": [ + "Electric", + "Flying" + ], + "gender": "M", + "baseStats": { + "hp": 79, + "atk": 115, + "def": 70, + "spa": 125, + "spd": 80, + "spe": 111 + }, + "abilities": { + "0": "Prankster", + "H": "Defiant" + }, + "heightm": 1.5, + "weightkg": 61, + "color": "Blue", + "eggGroups": [ + "Undiscovered" + ], + "otherFormes": [ + "thundurustherian" + ] + }, + "thundurustherian": { + "num": 642, + "species": "Thundurus-Therian", + "baseSpecies": "Thundurus", + "forme": "Therian", + "formeLetter": "T", + "types": [ + "Electric", + "Flying" + ], + "gender": "M", + "baseStats": { + "hp": 79, + "atk": 105, + "def": 70, + "spa": 145, + "spd": 80, + "spe": 101 + }, + "abilities": { + "0": "Volt Absorb" + }, + "heightm": 3, + "weightkg": 61, + "color": "Blue", + "eggGroups": [ + "Undiscovered" + ] + }, + "reshiram": { + "num": 643, + "species": "Reshiram", + "types": [ + "Dragon", + "Fire" + ], + "gender": "N", + "baseStats": { + "hp": 100, + "atk": 120, + "def": 100, + "spa": 150, + "spd": 120, + "spe": 90 + }, + "abilities": { + "0": "Turboblaze" + }, + "heightm": 3.2, + "weightkg": 330, + "color": "White", + "eggGroups": [ + "Undiscovered" + ] + }, + "zekrom": { + "num": 644, + "species": "Zekrom", + "types": [ + "Dragon", + "Electric" + ], + "gender": "N", + "baseStats": { + "hp": 100, + "atk": 150, + "def": 120, + "spa": 120, + "spd": 100, + "spe": 90 + }, + "abilities": { + "0": "Teravolt" + }, + "heightm": 2.9, + "weightkg": 345, + "color": "Black", + "eggGroups": [ + "Undiscovered" + ] + }, + "landorus": { + "num": 645, + "species": "Landorus", + "baseForme": "Incarnate", + "types": [ + "Ground", + "Flying" + ], + "gender": "M", + "baseStats": { + "hp": 89, + "atk": 125, + "def": 90, + "spa": 115, + "spd": 80, + "spe": 101 + }, + "abilities": { + "0": "Sand Force", + "H": "Sheer Force" + }, + "heightm": 1.5, + "weightkg": 68, + "color": "Brown", + "eggGroups": [ + "Undiscovered" + ], + "otherFormes": [ + "landorustherian" + ] + }, + "landorustherian": { + "num": 645, + "species": "Landorus-Therian", + "baseSpecies": "Landorus", + "forme": "Therian", + "formeLetter": "T", + "types": [ + "Ground", + "Flying" + ], + "gender": "M", + "baseStats": { + "hp": 89, + "atk": 145, + "def": 90, + "spa": 105, + "spd": 80, + "spe": 91 + }, + "abilities": { + "0": "Intimidate" + }, + "heightm": 1.3, + "weightkg": 68, + "color": "Brown", + "eggGroups": [ + "Undiscovered" + ] + }, + "kyurem": { + "num": 646, + "species": "Kyurem", + "types": [ + "Dragon", + "Ice" + ], + "gender": "N", + "baseStats": { + "hp": 125, + "atk": 130, + "def": 90, + "spa": 130, + "spd": 90, + "spe": 95 + }, + "abilities": { + "0": "Pressure" + }, + "heightm": 3, + "weightkg": 325, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ], + "otherFormes": [ + "kyuremblack", + "kyuremwhite" + ] + }, + "kyuremblack": { + "num": 646, + "species": "Kyurem-Black", + "baseSpecies": "Kyurem", + "forme": "Black", + "formeLetter": "B", + "types": [ + "Dragon", + "Ice" + ], + "gender": "N", + "baseStats": { + "hp": 125, + "atk": 170, + "def": 100, + "spa": 120, + "spd": 90, + "spe": 95 + }, + "abilities": { + "0": "Teravolt" + }, + "heightm": 3.3, + "weightkg": 325, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "kyuremwhite": { + "num": 646, + "species": "Kyurem-White", + "baseSpecies": "Kyurem", + "forme": "White", + "formeLetter": "W", + "types": [ + "Dragon", + "Ice" + ], + "gender": "N", + "baseStats": { + "hp": 125, + "atk": 120, + "def": 90, + "spa": 170, + "spd": 100, + "spe": 95 + }, + "abilities": { + "0": "Turboblaze" + }, + "heightm": 3.6, + "weightkg": 325, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "keldeo": { + "num": 647, + "species": "Keldeo", + "baseForme": "Ordinary", + "types": [ + "Water", + "Fighting" + ], + "gender": "N", + "baseStats": { + "hp": 91, + "atk": 72, + "def": 90, + "spa": 129, + "spd": 90, + "spe": 108 + }, + "abilities": { + "0": "Justified" + }, + "heightm": 1.4, + "weightkg": 48.5, + "color": "Yellow", + "eggGroups": [ + "Undiscovered" + ], + "otherFormes": [ + "keldeoresolute" + ] + }, + "keldeoresolute": { + "num": 647, + "species": "Keldeo-Resolute", + "baseSpecies": "Keldeo", + "forme": "Resolute", + "formeLetter": "R", + "types": [ + "Water", + "Fighting" + ], + "gender": "N", + "baseStats": { + "hp": 91, + "atk": 72, + "def": 90, + "spa": 129, + "spd": 90, + "spe": 108 + }, + "abilities": { + "0": "Justified" + }, + "heightm": 1.4, + "weightkg": 48.5, + "color": "Yellow", + "eggGroups": [ + "Undiscovered" + ] + }, + "meloetta": { + "num": 648, + "species": "Meloetta", + "baseForme": "Aria", + "types": [ + "Normal", + "Psychic" + ], + "gender": "N", + "baseStats": { + "hp": 100, + "atk": 77, + "def": 77, + "spa": 128, + "spd": 128, + "spe": 90 + }, + "abilities": { + "0": "Serene Grace" + }, + "heightm": 0.6, + "weightkg": 6.5, + "color": "White", + "eggGroups": [ + "Undiscovered" + ], + "otherFormes": [ + "meloettapirouette" + ] + }, + "meloettapirouette": { + "num": 648, + "species": "Meloetta-Pirouette", + "baseSpecies": "Meloetta", + "forme": "Pirouette", + "formeLetter": "P", + "types": [ + "Normal", + "Fighting" + ], + "gender": "N", + "baseStats": { + "hp": 100, + "atk": 128, + "def": 90, + "spa": 77, + "spd": 77, + "spe": 128 + }, + "abilities": { + "0": "Serene Grace" + }, + "heightm": 0.6, + "weightkg": 6.5, + "color": "White", + "eggGroups": [ + "Undiscovered" + ] + }, + "genesect": { + "num": 649, + "species": "Genesect", + "types": [ + "Bug", + "Steel" + ], + "gender": "N", + "baseStats": { + "hp": 71, + "atk": 120, + "def": 95, + "spa": 120, + "spd": 95, + "spe": 99 + }, + "abilities": { + "0": "Download" + }, + "heightm": 1.5, + "weightkg": 82.5, + "color": "Purple", + "eggGroups": [ + "Undiscovered" + ], + "otherFormes": [ + "genesectdouse", + "genesectshock", + "genesectburn", + "genesectchill" + ] + }, + "genesectdouse": { + "num": 649, + "species": "Genesect-Douse", + "baseSpecies": "Genesect", + "forme": "Douse", + "formeLetter": "D", + "types": [ + "Bug", + "Steel" + ], + "gender": "N", + "baseStats": { + "hp": 71, + "atk": 120, + "def": 95, + "spa": 120, + "spd": 95, + "spe": 99 + }, + "abilities": { + "0": "Download" + }, + "heightm": 1.5, + "weightkg": 82.5, + "color": "Purple", + "eggGroups": [ + "Undiscovered" + ] + }, + "genesectshock": { + "num": 649, + "species": "Genesect-Shock", + "baseSpecies": "Genesect", + "forme": "Shock", + "formeLetter": "S", + "types": [ + "Bug", + "Steel" + ], + "gender": "N", + "baseStats": { + "hp": 71, + "atk": 120, + "def": 95, + "spa": 120, + "spd": 95, + "spe": 99 + }, + "abilities": { + "0": "Download" + }, + "heightm": 1.5, + "weightkg": 82.5, + "color": "Purple", + "eggGroups": [ + "Undiscovered" + ] + }, + "genesectburn": { + "num": 649, + "species": "Genesect-Burn", + "baseSpecies": "Genesect", + "forme": "Burn", + "formeLetter": "B", + "types": [ + "Bug", + "Steel" + ], + "gender": "N", + "baseStats": { + "hp": 71, + "atk": 120, + "def": 95, + "spa": 120, + "spd": 95, + "spe": 99 + }, + "abilities": { + "0": "Download" + }, + "heightm": 1.5, + "weightkg": 82.5, + "color": "Purple", + "eggGroups": [ + "Undiscovered" + ] + }, + "genesectchill": { + "num": 649, + "species": "Genesect-Chill", + "baseSpecies": "Genesect", + "forme": "Chill", + "formeLetter": "C", + "types": [ + "Bug", + "Steel" + ], + "gender": "N", + "baseStats": { + "hp": 71, + "atk": 120, + "def": 95, + "spa": 120, + "spd": 95, + "spe": 99 + }, + "abilities": { + "0": "Download" + }, + "heightm": 1.5, + "weightkg": 82.5, + "color": "Purple", + "eggGroups": [ + "Undiscovered" + ] + }, + "chespin": { + "num": 650, + "species": "Chespin", + "types": [ + "Grass" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 56, + "atk": 61, + "def": 65, + "spa": 48, + "spd": 45, + "spe": 38 + }, + "abilities": { + "0": "Overgrow", + "H": "Bulletproof" + }, + "heightm": 0.4, + "weightkg": 9, + "color": "Green", + "evos": [ + "quilladin" + ], + "eggGroups": [ + "Field" + ] + }, + "quilladin": { + "num": 651, + "species": "Quilladin", + "types": [ + "Grass" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 61, + "atk": 78, + "def": 95, + "spa": 56, + "spd": 58, + "spe": 57 + }, + "abilities": { + "0": "Overgrow", + "H": "Bulletproof" + }, + "heightm": 0.7, + "weightkg": 29, + "color": "Green", + "prevo": "chespin", + "evos": [ + "chesnaught" + ], + "evoLevel": 16, + "eggGroups": [ + "Field" + ] + }, + "chesnaught": { + "num": 652, + "species": "Chesnaught", + "types": [ + "Grass", + "Fighting" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 88, + "atk": 107, + "def": 122, + "spa": 74, + "spd": 75, + "spe": 64 + }, + "abilities": { + "0": "Overgrow", + "H": "Bulletproof" + }, + "heightm": 1.6, + "weightkg": 90, + "color": "Green", + "prevo": "quilladin", + "evoLevel": 36, + "eggGroups": [ + "Field" + ] + }, + "fennekin": { + "num": 653, + "species": "Fennekin", + "types": [ + "Fire" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 40, + "atk": 45, + "def": 40, + "spa": 62, + "spd": 60, + "spe": 60 + }, + "abilities": { + "0": "Blaze", + "H": "Magician" + }, + "heightm": 0.4, + "weightkg": 9.4, + "color": "Red", + "evos": [ + "braixen" + ], + "eggGroups": [ + "Field" + ] + }, + "braixen": { + "num": 654, + "species": "Braixen", + "types": [ + "Fire" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 59, + "atk": 59, + "def": 58, + "spa": 90, + "spd": 70, + "spe": 73 + }, + "abilities": { + "0": "Blaze", + "H": "Magician" + }, + "heightm": 1, + "weightkg": 14.5, + "color": "Red", + "prevo": "fennekin", + "evos": [ + "delphox" + ], + "evoLevel": 16, + "eggGroups": [ + "Field" + ] + }, + "delphox": { + "num": 655, + "species": "Delphox", + "types": [ + "Fire", + "Psychic" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 75, + "atk": 69, + "def": 72, + "spa": 114, + "spd": 100, + "spe": 104 + }, + "abilities": { + "0": "Blaze", + "H": "Magician" + }, + "heightm": 1.5, + "weightkg": 39, + "color": "Red", + "prevo": "braixen", + "evoLevel": 36, + "eggGroups": [ + "Field" + ] + }, + "froakie": { + "num": 656, + "species": "Froakie", + "types": [ + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 41, + "atk": 56, + "def": 40, + "spa": 62, + "spd": 44, + "spe": 71 + }, + "abilities": { + "0": "Torrent", + "H": "Protean" + }, + "heightm": 0.3, + "weightkg": 7, + "color": "Blue", + "evos": [ + "frogadier" + ], + "eggGroups": [ + "Water 1" + ] + }, + "frogadier": { + "num": 657, + "species": "Frogadier", + "types": [ + "Water" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 54, + "atk": 63, + "def": 52, + "spa": 83, + "spd": 56, + "spe": 97 + }, + "abilities": { + "0": "Torrent", + "H": "Protean" + }, + "heightm": 0.6, + "weightkg": 10.9, + "color": "Blue", + "prevo": "froakie", + "evos": [ + "greninja" + ], + "evoLevel": 16, + "eggGroups": [ + "Water 1" + ] + }, + "greninja": { + "num": 658, + "species": "Greninja", + "types": [ + "Water", + "Dark" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 72, + "atk": 95, + "def": 67, + "spa": 103, + "spd": 71, + "spe": 122 + }, + "abilities": { + "0": "Torrent", + "H": "Protean" + }, + "heightm": 1.5, + "weightkg": 40, + "color": "Blue", + "prevo": "frogadier", + "evoLevel": 36, + "eggGroups": [ + "Water 1" + ] + }, + "bunnelby": { + "num": 659, + "species": "Bunnelby", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 38, + "atk": 36, + "def": 38, + "spa": 32, + "spd": 36, + "spe": 57 + }, + "abilities": { + "0": "Pickup", + "1": "Cheek Pouch", + "H": "Huge Power" + }, + "heightm": 0.4, + "weightkg": 5, + "color": "Brown", + "evos": [ + "diggersby" + ], + "eggGroups": [ + "Field" + ] + }, + "diggersby": { + "num": 660, + "species": "Diggersby", + "types": [ + "Normal", + "Ground" + ], + "baseStats": { + "hp": 85, + "atk": 56, + "def": 77, + "spa": 50, + "spd": 77, + "spe": 78 + }, + "abilities": { + "0": "Pickup", + "1": "Cheek Pouch", + "H": "Huge Power" + }, + "heightm": 1, + "weightkg": 42.4, + "color": "Brown", + "prevo": "bunnelby", + "evoLevel": 20, + "eggGroups": [ + "Field" + ] + }, + "fletchling": { + "num": 661, + "species": "Fletchling", + "types": [ + "Normal", + "Flying" + ], + "baseStats": { + "hp": 45, + "atk": 50, + "def": 43, + "spa": 40, + "spd": 38, + "spe": 62 + }, + "abilities": { + "0": "Big Pecks", + "H": "Gale Wings" + }, + "heightm": 0.3, + "weightkg": 1.7, + "color": "Red", + "evos": [ + "fletchinder" + ], + "eggGroups": [ + "Flying" + ] + }, + "fletchinder": { + "num": 662, + "species": "Fletchinder", + "types": [ + "Fire", + "Flying" + ], + "baseStats": { + "hp": 62, + "atk": 73, + "def": 55, + "spa": 56, + "spd": 52, + "spe": 84 + }, + "abilities": { + "0": "Flame Body", + "H": "Gale Wings" + }, + "heightm": 0.7, + "weightkg": 16, + "color": "Red", + "prevo": "fletchling", + "evos": [ + "talonflame" + ], + "evoLevel": 17, + "eggGroups": [ + "Flying" + ] + }, + "talonflame": { + "num": 663, + "species": "Talonflame", + "types": [ + "Fire", + "Flying" + ], + "baseStats": { + "hp": 78, + "atk": 81, + "def": 71, + "spa": 74, + "spd": 69, + "spe": 126 + }, + "abilities": { + "0": "Flame Body", + "H": "Gale Wings" + }, + "heightm": 1.2, + "weightkg": 24.5, + "color": "Red", + "prevo": "fletchinder", + "evoLevel": 35, + "eggGroups": [ + "Flying" + ] + }, + "scatterbug": { + "num": 664, + "species": "Scatterbug", + "types": [ + "Bug" + ], + "baseStats": { + "hp": 38, + "atk": 35, + "def": 40, + "spa": 27, + "spd": 25, + "spe": 35 + }, + "abilities": { + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" + }, + "heightm": 0.3, + "weightkg": 2.5, + "color": "Black", + "evos": [ + "spewpa" + ], + "eggGroups": [ + "Bug" + ] + }, + "spewpa": { + "num": 665, + "species": "Spewpa", + "types": [ + "Bug" + ], + "baseStats": { + "hp": 45, + "atk": 22, + "def": 60, + "spa": 27, + "spd": 30, + "spe": 29 + }, + "abilities": { + "0": "Shed Skin", + "H": "Friend Guard" + }, + "heightm": 0.3, + "weightkg": 8.4, + "color": "Black", + "prevo": "scatterbug", + "evos": [ + "vivillon" + ], + "evoLevel": 9, + "eggGroups": [ + "Bug" + ] + }, + "vivillon": { + "num": 666, + "species": "Vivillon", + "types": [ + "Bug", + "Flying" + ], + "baseStats": { + "hp": 80, + "atk": 52, + "def": 50, + "spa": 90, + "spd": 50, + "spe": 89 + }, + "abilities": { + "0": "Shield Dust", + "1": "Compound Eyes", + "H": "Friend Guard" + }, + "heightm": 1.2, + "weightkg": 17, + "color": "Black", + "prevo": "spewpa", + "evoLevel": 12, + "eggGroups": [ + "Bug" + ], + "otherForms": [ + "vivillonarchipelago", + "vivilloncontinental", + "vivillonelegant", + "vivillongarden", + "vivillonhighplains", + "vivillonicysnow", + "vivillonjungle", + "vivillonmarine", + "vivillonmodern", + "vivillonmonsoon", + "vivillonocean", + "vivillonpolar", + "vivillonriver", + "vivillonsandstorm", + "vivillonsavanna", + "vivillonsun", + "vivillontundra" + ] + }, + "litleo": { + "num": 667, + "species": "Litleo", + "types": [ + "Fire", + "Normal" + ], + "baseStats": { + "hp": 62, + "atk": 50, + "def": 58, + "spa": 73, + "spd": 54, + "spe": 72 + }, + "abilities": { + "0": "Rivalry", + "1": "Unnerve", + "H": "Moxie" + }, + "heightm": 0.6, + "weightkg": 13.5, + "color": "Brown", + "evos": [ + "pyroar" + ], + "eggGroups": [ + "Field" + ] + }, + "pyroar": { + "num": 668, + "species": "Pyroar", + "types": [ + "Fire", + "Normal" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 86, + "atk": 68, + "def": 72, + "spa": 109, + "spd": 66, + "spe": 106 + }, + "abilities": { + "0": "Rivalry", + "1": "Unnerve", + "H": "Moxie" + }, + "heightm": 1.5, + "weightkg": 81.5, + "color": "Brown", + "prevo": "litleo", + "evoLevel": 35, + "eggGroups": [ + "Field" + ] + }, + "flabebe": { + "num": 669, + "species": "Flabebe", + "types": [ + "Fairy" + ], + "gender": "F", + "baseStats": { + "hp": 44, + "atk": 38, + "def": 39, + "spa": 61, + "spd": 79, + "spe": 42 + }, + "abilities": { + "0": "Flower Veil", + "H": "Symbiosis" + }, + "heightm": 0.1, + "weightkg": 0.1, + "color": "White", + "evos": [ + "floette" + ], + "eggGroups": [ + "Fairy" + ], + "otherForms": [ + "flabebeblue", + "flabebeorange", + "flabebewhite", + "flabebeyellow" + ] + }, + "floette": { + "num": 670, + "species": "Floette", + "baseForme": "Red-Flower", + "types": [ + "Fairy" + ], + "gender": "F", + "baseStats": { + "hp": 54, + "atk": 45, + "def": 47, + "spa": 75, + "spd": 98, + "spe": 52 + }, + "abilities": { + "0": "Flower Veil", + "H": "Symbiosis" + }, + "heightm": 0.2, + "weightkg": 0.9, + "color": "White", + "prevo": "flabebe", + "evos": [ + "florges" + ], + "evoLevel": 19, + "eggGroups": [ + "Fairy" + ], + "otherForms": [ + "floetteblue", + "floetteorange", + "floettewhite", + "floetteyellow" + ], + "otherFormes": [ + "floetteeternal" + ] + }, + "floetteeternal": { + "num": 670, + "species": "Floette-Eternal", + "baseSpecies": "Floette", + "forme": "Eternal", + "formeLetter": "E", + "types": [ + "Fairy" + ], + "gender": "F", + "baseStats": { + "hp": 74, + "atk": 65, + "def": 67, + "spa": 125, + "spd": 128, + "spe": 92 + }, + "abilities": { + "0": "Flower Veil" + }, + "heightm": 0.2, + "weightkg": 0.9, + "color": "White", + "eggGroups": [ + "Undiscovered" + ] + }, + "florges": { + "num": 671, + "species": "Florges", + "types": [ + "Fairy" + ], + "gender": "F", + "baseStats": { + "hp": 78, + "atk": 65, + "def": 68, + "spa": 112, + "spd": 154, + "spe": 75 + }, + "abilities": { + "0": "Flower Veil", + "H": "Symbiosis" + }, + "heightm": 1.1, + "weightkg": 10, + "color": "White", + "prevo": "floette", + "evoLevel": 19, + "eggGroups": [ + "Fairy" + ], + "otherForms": [ + "florgesblue", + "florgesorange", + "florgeswhite", + "florgesyellow" + ] + }, + "skiddo": { + "num": 672, + "species": "Skiddo", + "types": [ + "Grass" + ], + "baseStats": { + "hp": 66, + "atk": 65, + "def": 48, + "spa": 62, + "spd": 57, + "spe": 52 + }, + "abilities": { + "0": "Sap Sipper", + "H": "Grass Pelt" + }, + "heightm": 0.9, + "weightkg": 31, + "color": "Brown", + "evos": [ + "gogoat" + ], + "eggGroups": [ + "Field" + ] + }, + "gogoat": { + "num": 673, + "species": "Gogoat", + "types": [ + "Grass" + ], + "baseStats": { + "hp": 123, + "atk": 100, + "def": 62, + "spa": 97, + "spd": 81, + "spe": 68 + }, + "abilities": { + "0": "Sap Sipper", + "H": "Grass Pelt" + }, + "heightm": 1.7, + "weightkg": 91, + "color": "Brown", + "prevo": "skiddo", + "evoLevel": 32, + "eggGroups": [ + "Field" + ] + }, + "pancham": { + "num": 674, + "species": "Pancham", + "types": [ + "Fighting" + ], + "baseStats": { + "hp": 67, + "atk": 82, + "def": 62, + "spa": 46, + "spd": 48, + "spe": 43 + }, + "abilities": { + "0": "Iron Fist", + "1": "Mold Breaker", + "H": "Scrappy" + }, + "heightm": 0.6, + "weightkg": 8, + "color": "White", + "evos": [ + "pangoro" + ], + "eggGroups": [ + "Field", + "Human-Like" + ] + }, + "pangoro": { + "num": 675, + "species": "Pangoro", + "types": [ + "Fighting", + "Dark" + ], + "baseStats": { + "hp": 95, + "atk": 124, + "def": 78, + "spa": 69, + "spd": 71, + "spe": 58 + }, + "abilities": { + "0": "Iron Fist", + "1": "Mold Breaker", + "H": "Scrappy" + }, + "heightm": 2.1, + "weightkg": 136, + "color": "White", + "prevo": "pancham", + "evoLevel": 32, + "eggGroups": [ + "Field", + "Human-Like" + ] + }, + "furfrou": { + "num": 676, + "species": "Furfrou", + "types": [ + "Normal" + ], + "baseStats": { + "hp": 75, + "atk": 80, + "def": 60, + "spa": 65, + "spd": 90, + "spe": 102 + }, + "abilities": { + "0": "Fur Coat" + }, + "heightm": 1.2, + "weightkg": 28, + "color": "White", + "eggGroups": [ + "Field" + ] + }, + "espurr": { + "num": 677, + "species": "Espurr", + "types": [ + "Psychic" + ], + "baseStats": { + "hp": 62, + "atk": 48, + "def": 54, + "spa": 63, + "spd": 60, + "spe": 68 + }, + "abilities": { + "0": "Keen Eye", + "1": "Infiltrator", + "H": "Own Tempo" + }, + "heightm": 0.3, + "weightkg": 3.5, + "color": "Gray", + "evos": [ + "meowstic" + ], + "eggGroups": [ + "Field" + ] + }, + "meowstic": { + "num": 678, + "species": "Meowstic", + "baseForme": "M", + "types": [ + "Psychic" + ], + "gender": "M", + "baseStats": { + "hp": 74, + "atk": 48, + "def": 76, + "spa": 83, + "spd": 81, + "spe": 104 + }, + "abilities": { + "0": "Keen Eye", + "1": "Infiltrator", + "H": "Prankster" + }, + "heightm": 0.6, + "weightkg": 8.5, + "color": "White", + "prevo": "espurr", + "evoLevel": 25, + "eggGroups": [ + "Field" + ], + "otherFormes": [ + "meowsticf" + ] + }, + "meowsticf": { + "num": 678, + "species": "Meowstic-F", + "baseSpecies": "Meowstic", + "forme": "F", + "formeLetter": "F", + "types": [ + "Psychic" + ], + "gender": "F", + "baseStats": { + "hp": 74, + "atk": 48, + "def": 76, + "spa": 83, + "spd": 81, + "spe": 104 + }, + "abilities": { + "0": "Keen Eye", + "1": "Infiltrator", + "H": "Competitive" + }, + "heightm": 0.6, + "weightkg": 8.5, + "color": "White", + "prevo": "espurr", + "evoLevel": 25, + "eggGroups": [ + "Field" + ] + }, + "honedge": { + "num": 679, + "species": "Honedge", + "types": [ + "Steel", + "Ghost" + ], + "baseStats": { + "hp": 45, + "atk": 80, + "def": 100, + "spa": 35, + "spd": 37, + "spe": 28 + }, + "abilities": { + "0": "No Guard" + }, + "heightm": 0.8, + "weightkg": 2, + "color": "Brown", + "evos": [ + "doublade" + ], + "eggGroups": [ + "Mineral" + ] + }, + "doublade": { + "num": 680, + "species": "Doublade", + "types": [ + "Steel", + "Ghost" + ], + "baseStats": { + "hp": 59, + "atk": 110, + "def": 150, + "spa": 45, + "spd": 49, + "spe": 35 + }, + "abilities": { + "0": "No Guard" + }, + "heightm": 0.8, + "weightkg": 4.5, + "color": "Brown", + "prevo": "honedge", + "evos": [ + "aegislash" + ], + "evoLevel": 35, + "eggGroups": [ + "Mineral" + ] + }, + "aegislash": { + "num": 681, + "species": "Aegislash", + "baseForme": "Shield", + "types": [ + "Steel", + "Ghost" + ], + "baseStats": { + "hp": 60, + "atk": 50, + "def": 150, + "spa": 50, + "spd": 150, + "spe": 60 + }, + "abilities": { + "0": "Stance Change" + }, + "heightm": 1.7, + "weightkg": 53, + "color": "Brown", + "prevo": "doublade", + "evoLevel": 35, + "eggGroups": [ + "Mineral" + ], + "otherFormes": [ + "aegislashblade" + ] + }, + "aegislashblade": { + "num": 681, + "species": "Aegislash-Blade", + "baseSpecies": "Aegislash", + "forme": "Blade", + "formeLetter": "B", + "types": [ + "Steel", + "Ghost" + ], + "baseStats": { + "hp": 60, + "atk": 150, + "def": 50, + "spa": 150, + "spd": 50, + "spe": 60 + }, + "abilities": { + "0": "Stance Change" + }, + "heightm": 1.7, + "weightkg": 53, + "color": "Brown", + "prevo": "doublade", + "evoLevel": 35, + "eggGroups": [ + "Mineral" + ] + }, + "spritzee": { + "num": 682, + "species": "Spritzee", + "types": [ + "Fairy" + ], + "baseStats": { + "hp": 78, + "atk": 52, + "def": 60, + "spa": 63, + "spd": 65, + "spe": 23 + }, + "abilities": { + "0": "Healer", + "H": "Aroma Veil" + }, + "heightm": 0.2, + "weightkg": 0.5, + "color": "Pink", + "evos": [ + "aromatisse" + ], + "eggGroups": [ + "Fairy" + ] + }, + "aromatisse": { + "num": 683, + "species": "Aromatisse", + "types": [ + "Fairy" + ], + "baseStats": { + "hp": 101, + "atk": 72, + "def": 72, + "spa": 99, + "spd": 89, + "spe": 29 + }, + "abilities": { + "0": "Healer", + "H": "Aroma Veil" + }, + "heightm": 0.8, + "weightkg": 15.5, + "color": "Pink", + "prevo": "spritzee", + "evoLevel": 1, + "eggGroups": [ + "Fairy" + ] + }, + "swirlix": { + "num": 684, + "species": "Swirlix", + "types": [ + "Fairy" + ], + "baseStats": { + "hp": 62, + "atk": 48, + "def": 66, + "spa": 59, + "spd": 57, + "spe": 49 + }, + "abilities": { + "0": "Sweet Veil", + "H": "Unburden" + }, + "heightm": 0.4, + "weightkg": 3.5, + "color": "White", + "evos": [ + "slurpuff" + ], + "eggGroups": [ + "Fairy" + ] + }, + "slurpuff": { + "num": 685, + "species": "Slurpuff", + "types": [ + "Fairy" + ], + "baseStats": { + "hp": 82, + "atk": 80, + "def": 86, + "spa": 85, + "spd": 75, + "spe": 72 + }, + "abilities": { + "0": "Sweet Veil", + "H": "Unburden" + }, + "heightm": 0.8, + "weightkg": 5, + "color": "White", + "prevo": "swirlix", + "evoLevel": 1, + "eggGroups": [ + "Fairy" + ] + }, + "inkay": { + "num": 686, + "species": "Inkay", + "types": [ + "Dark", + "Psychic" + ], + "baseStats": { + "hp": 53, + "atk": 54, + "def": 53, + "spa": 37, + "spd": 46, + "spe": 45 + }, + "abilities": { + "0": "Contrary", + "1": "Suction Cups", + "H": "Infiltrator" + }, + "heightm": 0.4, + "weightkg": 3.5, + "color": "Blue", + "evos": [ + "malamar" + ], + "eggGroups": [ + "Water 1", + "Water 2" + ] + }, + "malamar": { + "num": 687, + "species": "Malamar", + "types": [ + "Dark", + "Psychic" + ], + "baseStats": { + "hp": 86, + "atk": 92, + "def": 88, + "spa": 68, + "spd": 75, + "spe": 73 + }, + "abilities": { + "0": "Contrary", + "1": "Suction Cups", + "H": "Infiltrator" + }, + "heightm": 1.5, + "weightkg": 47, + "color": "Blue", + "prevo": "inkay", + "evoLevel": 30, + "eggGroups": [ + "Water 1", + "Water 2" + ] + }, + "binacle": { + "num": 688, + "species": "Binacle", + "types": [ + "Rock", + "Water" + ], + "baseStats": { + "hp": 42, + "atk": 52, + "def": 67, + "spa": 39, + "spd": 56, + "spe": 50 + }, + "abilities": { + "0": "Tough Claws", + "1": "Sniper", + "H": "Pickpocket" + }, + "heightm": 0.5, + "weightkg": 31, + "color": "Brown", + "evos": [ + "barbaracle" + ], + "eggGroups": [ + "Water 3" + ] + }, + "barbaracle": { + "num": 689, + "species": "Barbaracle", + "types": [ + "Rock", + "Water" + ], + "baseStats": { + "hp": 72, + "atk": 105, + "def": 115, + "spa": 54, + "spd": 86, + "spe": 68 + }, + "abilities": { + "0": "Tough Claws", + "1": "Sniper", + "H": "Pickpocket" + }, + "heightm": 1.3, + "weightkg": 96, + "color": "Brown", + "prevo": "binacle", + "evoLevel": 39, + "eggGroups": [ + "Water 3" + ] + }, + "skrelp": { + "num": 690, + "species": "Skrelp", + "types": [ + "Poison", + "Water" + ], + "baseStats": { + "hp": 50, + "atk": 60, + "def": 60, + "spa": 60, + "spd": 60, + "spe": 30 + }, + "abilities": { + "0": "Poison Point", + "1": "Poison Touch", + "H": "Adaptability" + }, + "heightm": 0.5, + "weightkg": 7.3, + "color": "Brown", + "evos": [ + "dragalge" + ], + "eggGroups": [ + "Water 1", + "Dragon" + ] + }, + "dragalge": { + "num": 691, + "species": "Dragalge", + "types": [ + "Poison", + "Dragon" + ], + "baseStats": { + "hp": 65, + "atk": 75, + "def": 90, + "spa": 97, + "spd": 123, + "spe": 44 + }, + "abilities": { + "0": "Poison Point", + "1": "Poison Touch", + "H": "Adaptability" + }, + "heightm": 1.8, + "weightkg": 81.5, + "color": "Brown", + "prevo": "skrelp", + "evoLevel": 48, + "eggGroups": [ + "Water 1", + "Dragon" + ] + }, + "clauncher": { + "num": 692, + "species": "Clauncher", + "types": [ + "Water" + ], + "baseStats": { + "hp": 50, + "atk": 53, + "def": 62, + "spa": 58, + "spd": 63, + "spe": 44 + }, + "abilities": { + "0": "Mega Launcher" + }, + "heightm": 0.5, + "weightkg": 8.3, + "color": "Blue", + "evos": [ + "clawitzer" + ], + "eggGroups": [ + "Water 1", + "Water 3" + ] + }, + "clawitzer": { + "num": 693, + "species": "Clawitzer", + "types": [ + "Water" + ], + "baseStats": { + "hp": 71, + "atk": 73, + "def": 88, + "spa": 120, + "spd": 89, + "spe": 59 + }, + "abilities": { + "0": "Mega Launcher" + }, + "heightm": 1.3, + "weightkg": 35.3, + "color": "Blue", + "prevo": "clauncher", + "evoLevel": 37, + "eggGroups": [ + "Water 1", + "Water 3" + ] + }, + "helioptile": { + "num": 694, + "species": "Helioptile", + "types": [ + "Electric", + "Normal" + ], + "baseStats": { + "hp": 44, + "atk": 38, + "def": 33, + "spa": 61, + "spd": 43, + "spe": 70 + }, + "abilities": { + "0": "Dry Skin", + "1": "Sand Veil", + "H": "Solar Power" + }, + "heightm": 0.5, + "weightkg": 6, + "color": "Yellow", + "evos": [ + "heliolisk" + ], + "eggGroups": [ + "Monster", + "Dragon" + ] + }, + "heliolisk": { + "num": 695, + "species": "Heliolisk", + "types": [ + "Electric", + "Normal" + ], + "baseStats": { + "hp": 62, + "atk": 55, + "def": 52, + "spa": 109, + "spd": 94, + "spe": 109 + }, + "abilities": { + "0": "Dry Skin", + "1": "Sand Veil", + "H": "Solar Power" + }, + "heightm": 1, + "weightkg": 21, + "color": "Yellow", + "prevo": "helioptile", + "evoLevel": 1, + "eggGroups": [ + "Monster", + "Dragon" + ] + }, + "tyrunt": { + "num": 696, + "species": "Tyrunt", + "types": [ + "Rock", + "Dragon" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 58, + "atk": 89, + "def": 77, + "spa": 45, + "spd": 45, + "spe": 48 + }, + "abilities": { + "0": "Strong Jaw", + "H": "Sturdy" + }, + "heightm": 0.8, + "weightkg": 26, + "color": "Brown", + "evos": [ + "tyrantrum" + ], + "eggGroups": [ + "Monster", + "Dragon" + ] + }, + "tyrantrum": { + "num": 697, + "species": "Tyrantrum", + "types": [ + "Rock", + "Dragon" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 82, + "atk": 121, + "def": 119, + "spa": 69, + "spd": 59, + "spe": 71 + }, + "abilities": { + "0": "Strong Jaw", + "H": "Rock Head" + }, + "heightm": 2.5, + "weightkg": 270, + "color": "Red", + "prevo": "tyrunt", + "evoLevel": 39, + "eggGroups": [ + "Monster", + "Dragon" + ] + }, + "amaura": { + "num": 698, + "species": "Amaura", + "types": [ + "Rock", + "Ice" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 77, + "atk": 59, + "def": 50, + "spa": 67, + "spd": 63, + "spe": 46 + }, + "abilities": { + "0": "Refrigerate", + "H": "Snow Warning" + }, + "heightm": 1.3, + "weightkg": 25.2, + "color": "Blue", + "evos": [ + "aurorus" + ], + "eggGroups": [ + "Monster" + ] + }, + "aurorus": { + "num": 699, + "species": "Aurorus", + "types": [ + "Rock", + "Ice" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 123, + "atk": 77, + "def": 72, + "spa": 99, + "spd": 92, + "spe": 58 + }, + "abilities": { + "0": "Refrigerate", + "H": "Snow Warning" + }, + "heightm": 2.7, + "weightkg": 225, + "color": "Blue", + "prevo": "amaura", + "evoLevel": 39, + "eggGroups": [ + "Monster" + ] + }, + "sylveon": { + "num": 700, + "species": "Sylveon", + "types": [ + "Fairy" + ], + "genderRatio": { + "M": 0.875, + "F": 0.125 + }, + "baseStats": { + "hp": 95, + "atk": 65, + "def": 65, + "spa": 110, + "spd": 130, + "spe": 60 + }, + "abilities": { + "0": "Cute Charm", + "H": "Pixilate" + }, + "heightm": 1, + "weightkg": 23.5, + "color": "Pink", + "prevo": "eevee", + "evoLevel": 2, + "eggGroups": [ + "Field" + ] + }, + "hawlucha": { + "num": 701, + "species": "Hawlucha", + "types": [ + "Fighting", + "Flying" + ], + "baseStats": { + "hp": 78, + "atk": 92, + "def": 75, + "spa": 74, + "spd": 63, + "spe": 118 + }, + "abilities": { + "0": "Limber", + "1": "Unburden", + "H": "Mold Breaker" + }, + "heightm": 0.8, + "weightkg": 21.5, + "color": "Green", + "eggGroups": [ + "Human-Like" + ] + }, + "dedenne": { + "num": 702, + "species": "Dedenne", + "types": [ + "Electric", + "Fairy" + ], + "baseStats": { + "hp": 67, + "atk": 58, + "def": 57, + "spa": 81, + "spd": 67, + "spe": 101 + }, + "abilities": { + "0": "Cheek Pouch", + "1": "Pickup", + "H": "Plus" + }, + "heightm": 0.2, + "weightkg": 2.2, + "color": "Yellow", + "eggGroups": [ + "Field", + "Fairy" + ] + }, + "carbink": { + "num": 703, + "species": "Carbink", + "types": [ + "Rock", + "Fairy" + ], + "gender": "N", + "baseStats": { + "hp": 50, + "atk": 50, + "def": 150, + "spa": 50, + "spd": 150, + "spe": 50 + }, + "abilities": { + "0": "Clear Body", + "H": "Sturdy" + }, + "heightm": 0.3, + "weightkg": 5.7, + "color": "Gray", + "eggGroups": [ + "Fairy", + "Mineral" + ] + }, + "goomy": { + "num": 704, + "species": "Goomy", + "types": [ + "Dragon" + ], + "baseStats": { + "hp": 45, + "atk": 50, + "def": 35, + "spa": 55, + "spd": 75, + "spe": 40 + }, + "abilities": { + "0": "Sap Sipper", + "1": "Hydration", + "H": "Gooey" + }, + "heightm": 0.3, + "weightkg": 2.8, + "color": "Purple", + "evos": [ + "sliggoo" + ], + "eggGroups": [ + "Dragon" + ] + }, + "sliggoo": { + "num": 705, + "species": "Sliggoo", + "types": [ + "Dragon" + ], + "baseStats": { + "hp": 68, + "atk": 75, + "def": 53, + "spa": 83, + "spd": 113, + "spe": 60 + }, + "abilities": { + "0": "Sap Sipper", + "1": "Hydration", + "H": "Gooey" + }, + "heightm": 0.8, + "weightkg": 17.5, + "color": "Purple", + "prevo": "goomy", + "evos": [ + "goodra" + ], + "evoLevel": 40, + "eggGroups": [ + "Dragon" + ] + }, + "goodra": { + "num": 706, + "species": "Goodra", + "types": [ + "Dragon" + ], + "baseStats": { + "hp": 90, + "atk": 100, + "def": 70, + "spa": 110, + "spd": 150, + "spe": 80 + }, + "abilities": { + "0": "Sap Sipper", + "1": "Hydration", + "H": "Gooey" + }, + "heightm": 2, + "weightkg": 150.5, + "color": "Purple", + "prevo": "sliggoo", + "evoLevel": 50, + "eggGroups": [ + "Dragon" + ] + }, + "klefki": { + "num": 707, + "species": "Klefki", + "types": [ + "Steel", + "Fairy" + ], + "baseStats": { + "hp": 57, + "atk": 80, + "def": 91, + "spa": 80, + "spd": 87, + "spe": 75 + }, + "abilities": { + "0": "Prankster", + "H": "Magician" + }, + "heightm": 0.2, + "weightkg": 3, + "color": "Gray", + "eggGroups": [ + "Mineral" + ] + }, + "phantump": { + "num": 708, + "species": "Phantump", + "types": [ + "Ghost", + "Grass" + ], + "baseStats": { + "hp": 43, + "atk": 70, + "def": 48, + "spa": 50, + "spd": 60, + "spe": 38 + }, + "abilities": { + "0": "Natural Cure", + "1": "Frisk", + "H": "Harvest" + }, + "heightm": 0.4, + "weightkg": 7, + "color": "Brown", + "evos": [ + "trevenant" + ], + "eggGroups": [ + "Grass", + "Amorphous" + ] + }, + "trevenant": { + "num": 709, + "species": "Trevenant", + "types": [ + "Ghost", + "Grass" + ], + "baseStats": { + "hp": 85, + "atk": 110, + "def": 76, + "spa": 65, + "spd": 82, + "spe": 56 + }, + "abilities": { + "0": "Natural Cure", + "1": "Frisk", + "H": "Harvest" + }, + "heightm": 1.5, + "weightkg": 71, + "color": "Brown", + "prevo": "phantump", + "evoLevel": 1, + "eggGroups": [ + "Grass", + "Amorphous" + ] + }, + "pumpkaboo": { + "num": 710, + "species": "Pumpkaboo", + "baseForme": "Average", + "types": [ + "Ghost", + "Grass" + ], + "baseStats": { + "hp": 49, + "atk": 66, + "def": 70, + "spa": 44, + "spd": 55, + "spe": 51 + }, + "abilities": { + "0": "Pickup", + "1": "Frisk", + "H": "Insomnia" + }, + "heightm": 0.4, + "weightkg": 5, + "color": "Brown", + "evos": [ + "gourgeist" + ], + "eggGroups": [ + "Amorphous" + ], + "otherFormes": [ + "pumpkaboosmall", + "pumpkaboolarge", + "pumpkaboosuper" + ] + }, + "pumpkaboosmall": { + "num": 710, + "species": "Pumpkaboo-Small", + "baseSpecies": "Pumpkaboo", + "forme": "Small", + "formeLetter": "S", + "types": [ + "Ghost", + "Grass" + ], + "baseStats": { + "hp": 44, + "atk": 66, + "def": 70, + "spa": 44, + "spd": 55, + "spe": 56 + }, + "abilities": { + "0": "Pickup", + "1": "Frisk", + "H": "Insomnia" + }, + "heightm": 0.3, + "weightkg": 3.5, + "color": "Brown", + "evos": [ + "gourgeistsmall" + ], + "eggGroups": [ + "Amorphous" + ] + }, + "pumpkaboolarge": { + "num": 710, + "species": "Pumpkaboo-Large", + "baseSpecies": "Pumpkaboo", + "forme": "Large", + "formeLetter": "L", + "types": [ + "Ghost", + "Grass" + ], + "baseStats": { + "hp": 54, + "atk": 66, + "def": 70, + "spa": 44, + "spd": 55, + "spe": 46 + }, + "abilities": { + "0": "Pickup", + "1": "Frisk", + "H": "Insomnia" + }, + "heightm": 0.5, + "weightkg": 7.5, + "color": "Brown", + "evos": [ + "gourgeistlarge" + ], + "eggGroups": [ + "Amorphous" + ] + }, + "pumpkaboosuper": { + "num": 710, + "species": "Pumpkaboo-Super", + "baseSpecies": "Pumpkaboo", + "forme": "Super", + "formeLetter": "S", + "types": [ + "Ghost", + "Grass" + ], + "baseStats": { + "hp": 59, + "atk": 66, + "def": 70, + "spa": 44, + "spd": 55, + "spe": 41 + }, + "abilities": { + "0": "Pickup", + "1": "Frisk", + "H": "Insomnia" + }, + "heightm": 0.8, + "weightkg": 15, + "color": "Brown", + "evos": [ + "gourgeistsuper" + ], + "eggGroups": [ + "Amorphous" + ] + }, + "gourgeist": { + "num": 711, + "species": "Gourgeist", + "baseForme": "Average", + "types": [ + "Ghost", + "Grass" + ], + "baseStats": { + "hp": 65, + "atk": 90, + "def": 122, + "spa": 58, + "spd": 75, + "spe": 84 + }, + "abilities": { + "0": "Pickup", + "1": "Frisk", + "H": "Insomnia" + }, + "heightm": 0.9, + "weightkg": 12.5, + "color": "Brown", + "prevo": "pumpkaboo", + "evoLevel": 1, + "eggGroups": [ + "Amorphous" + ], + "otherFormes": [ + "gourgeistsmall", + "gourgeistlarge", + "gourgeistsuper" + ] + }, + "gourgeistsmall": { + "num": 711, + "species": "Gourgeist-Small", + "baseSpecies": "Gourgeist", + "forme": "Small", + "formeLetter": "S", + "types": [ + "Ghost", + "Grass" + ], + "baseStats": { + "hp": 55, + "atk": 85, + "def": 122, + "spa": 58, + "spd": 75, + "spe": 99 + }, + "abilities": { + "0": "Pickup", + "1": "Frisk", + "H": "Insomnia" + }, + "heightm": 0.7, + "weightkg": 9.5, + "color": "Brown", + "prevo": "pumpkaboosmall", + "evoLevel": 1, + "eggGroups": [ + "Amorphous" + ] + }, + "gourgeistlarge": { + "num": 711, + "species": "Gourgeist-Large", + "baseSpecies": "Gourgeist", + "forme": "Large", + "formeLetter": "L", + "types": [ + "Ghost", + "Grass" + ], + "baseStats": { + "hp": 75, + "atk": 95, + "def": 122, + "spa": 58, + "spd": 75, + "spe": 69 + }, + "abilities": { + "0": "Pickup", + "1": "Frisk", + "H": "Insomnia" + }, + "heightm": 1.1, + "weightkg": 14, + "color": "Brown", + "prevo": "pumpkaboolarge", + "evoLevel": 1, + "eggGroups": [ + "Amorphous" + ] + }, + "gourgeistsuper": { + "num": 711, + "species": "Gourgeist-Super", + "baseSpecies": "Gourgeist", + "forme": "Super", + "formeLetter": "S", + "types": [ + "Ghost", + "Grass" + ], + "baseStats": { + "hp": 85, + "atk": 100, + "def": 122, + "spa": 58, + "spd": 75, + "spe": 54 + }, + "abilities": { + "0": "Pickup", + "1": "Frisk", + "H": "Insomnia" + }, + "heightm": 1.7, + "weightkg": 39, + "color": "Brown", + "prevo": "pumpkaboosuper", + "evoLevel": 1, + "eggGroups": [ + "Amorphous" + ] + }, + "bergmite": { + "num": 712, + "species": "Bergmite", + "types": [ + "Ice" + ], + "baseStats": { + "hp": 55, + "atk": 69, + "def": 85, + "spa": 32, + "spd": 35, + "spe": 28 + }, + "abilities": { + "0": "Own Tempo", + "1": "Ice Body", + "H": "Sturdy" + }, + "heightm": 1, + "weightkg": 99.5, + "color": "Blue", + "evos": [ + "avalugg" + ], + "eggGroups": [ + "Monster" + ] + }, + "avalugg": { + "num": 713, + "species": "Avalugg", + "types": [ + "Ice" + ], + "baseStats": { + "hp": 95, + "atk": 117, + "def": 184, + "spa": 44, + "spd": 46, + "spe": 28 + }, + "abilities": { + "0": "Own Tempo", + "1": "Ice Body", + "H": "Sturdy" + }, + "heightm": 2, + "weightkg": 505, + "color": "Blue", + "prevo": "bergmite", + "evoLevel": 37, + "eggGroups": [ + "Monster" + ] + }, + "noibat": { + "num": 714, + "species": "Noibat", + "types": [ + "Flying", + "Dragon" + ], + "baseStats": { + "hp": 40, + "atk": 30, + "def": 35, + "spa": 45, + "spd": 40, + "spe": 55 + }, + "abilities": { + "0": "Frisk", + "1": "Infiltrator", + "H": "Telepathy" + }, + "heightm": 0.5, + "weightkg": 8, + "color": "Purple", + "evos": [ + "noivern" + ], + "eggGroups": [ + "Flying" + ] + }, + "noivern": { + "num": 715, + "species": "Noivern", + "types": [ + "Flying", + "Dragon" + ], + "baseStats": { + "hp": 85, + "atk": 70, + "def": 80, + "spa": 97, + "spd": 80, + "spe": 123 + }, + "abilities": { + "0": "Frisk", + "1": "Infiltrator", + "H": "Telepathy" + }, + "heightm": 1.5, + "weightkg": 85, + "color": "Purple", + "prevo": "noibat", + "evoLevel": 48, + "eggGroups": [ + "Flying" + ] + }, + "xerneas": { + "num": 716, + "species": "Xerneas", + "types": [ + "Fairy" + ], + "gender": "N", + "baseStats": { + "hp": 126, + "atk": 131, + "def": 95, + "spa": 131, + "spd": 98, + "spe": 99 + }, + "abilities": { + "0": "Fairy Aura" + }, + "heightm": 3, + "weightkg": 215, + "color": "Blue", + "eggGroups": [ + "Undiscovered" + ] + }, + "yveltal": { + "num": 717, + "species": "Yveltal", + "types": [ + "Dark", + "Flying" + ], + "gender": "N", + "baseStats": { + "hp": 126, + "atk": 131, + "def": 95, + "spa": 131, + "spd": 98, + "spe": 99 + }, + "abilities": { + "0": "Dark Aura" + }, + "heightm": 5.8, + "weightkg": 203, + "color": "Red", + "eggGroups": [ + "Undiscovered" + ] + }, + "zygarde": { + "num": 718, + "species": "Zygarde", + "types": [ + "Dragon", + "Ground" + ], + "gender": "N", + "baseStats": { + "hp": 108, + "atk": 100, + "def": 121, + "spa": 81, + "spd": 95, + "spe": 95 + }, + "abilities": { + "0": "Aura Break" + }, + "heightm": 5, + "weightkg": 305, + "color": "Green", + "eggGroups": [ + "Undiscovered" + ] + }, + "diancie": { + "num": 719, + "species": "Diancie", + "types": [ + "Rock", + "Fairy" + ], + "gender": "N", + "baseStats": { + "hp": 50, + "atk": 100, + "def": 150, + "spa": 100, + "spd": 150, + "spe": 50 + }, + "abilities": { + "0": "Clear Body" + }, + "heightm": 0.7, + "weightkg": 8.8, + "color": "Pink", + "eggGroups": [ + "Undiscovered" + ], + "otherFormes": [ + "dianciemega" + ] + }, + "dianciemega": { + "num": 719, + "species": "Diancie-Mega", + "baseSpecies": "Diancie", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Rock", + "Fairy" + ], + "gender": "N", + "baseStats": { + "hp": 50, + "atk": 160, + "def": 110, + "spa": 160, + "spd": 110, + "spe": 110 + }, + "abilities": { + "0": "Magic Bounce" + }, + "heightm": 1.1, + "weightkg": 27.8, + "color": "Pink", + "eggGroups": [ + "Undiscovered" + ] + }, + "hoopa": { + "num": 720, + "species": "Hoopa", + "baseForme": "Confined", + "types": [ + "Psychic", + "Ghost" + ], + "gender": "N", + "baseStats": { + "hp": 80, + "atk": 110, + "def": 60, + "spa": 150, + "spd": 130, + "spe": 70 + }, + "abilities": { + "0": "Magician" + }, + "heightm": 0.5, + "weightkg": 9, + "color": "Purple", + "eggGroups": [ + "Undiscovered" + ], + "otherFormes": [ + "hoopaunbound" + ] + }, + "hoopaunbound": { + "num": 720, + "species": "Hoopa-Unbound", + "baseSpecies": "Hoopa", + "forme": "Unbound", + "formeLetter": "U", + "types": [ + "Psychic", + "Dark" + ], + "gender": "N", + "baseStats": { + "hp": 80, + "atk": 160, + "def": 60, + "spa": 170, + "spd": 130, + "spe": 80 + }, + "abilities": { + "0": "Magician" + }, + "heightm": 6.5, + "weightkg": 490, + "color": "Purple", + "eggGroups": [ + "Undiscovered" + ] + }, + "volcanion": { + "num": 721, + "species": "Volcanion", + "types": [ + "Fire", + "Water" + ], + "gender": "N", + "baseStats": { + "hp": 80, + "atk": 110, + "def": 120, + "spa": 130, + "spd": 90, + "spe": 70 + }, + "abilities": { + "0": "Water Absorb" + }, + "heightm": 1.7, + "weightkg": 195, + "color": "Brown", + "eggGroups": [ + "Undiscovered" + ] + }, + "missingno": { + "num": 0, + "species": "Missingno.", + "types": [ + "Bird", + "Normal" + ], + "baseStats": { + "hp": 33, + "atk": 136, + "def": 0, + "spa": 6, + "spd": 6, + "spe": 29 + }, + "abilities": { + "0": "", + "H": "" + }, + "heightm": 3, + "weightkg": 1590.8, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "tomohawk": { + "num": -1, + "species": "Tomohawk", + "types": [ + "Flying", + "Fighting" + ], + "baseStats": { + "hp": 105, + "atk": 60, + "def": 90, + "spa": 115, + "spd": 80, + "spe": 85 + }, + "abilities": { + "0": "Intimidate", + "1": "Prankster", + "H": "Justified" + }, + "heightm": 1.27, + "weightkg": 37.2, + "color": "Red", + "eggGroups": [ + "Field", + "Flying" + ] + }, + "necturna": { + "num": -2, + "species": "Necturna", + "types": [ + "Grass", + "Ghost" + ], + "gender": "F", + "baseStats": { + "hp": 64, + "atk": 120, + "def": 100, + "spa": 85, + "spd": 120, + "spe": 81 + }, + "abilities": { + "0": "Forewarn", + "H": "Telepathy" + }, + "heightm": 1.65, + "weightkg": 49.6, + "color": "Black", + "eggGroups": [ + "Grass", + "Field" + ] + }, + "mollux": { + "num": -3, + "species": "Mollux", + "types": [ + "Fire", + "Poison" + ], + "baseStats": { + "hp": 95, + "atk": 45, + "def": 83, + "spa": 131, + "spd": 105, + "spe": 76 + }, + "abilities": { + "0": "Dry Skin", + "H": "Illuminate" + }, + "heightm": 1.2, + "weightkg": 41, + "color": "Pink", + "eggGroups": [ + "Fairy", + "Field" + ] + }, + "aurumoth": { + "num": -4, + "species": "Aurumoth", + "types": [ + "Bug", + "Psychic" + ], + "baseStats": { + "hp": 110, + "atk": 120, + "def": 99, + "spa": 117, + "spd": 60, + "spe": 94 + }, + "abilities": { + "0": "Weak Armor", + "1": "No Guard", + "H": "Illusion" + }, + "heightm": 2.1, + "weightkg": 193, + "color": "Purple", + "eggGroups": [ + "Bug" + ] + }, + "malaconda": { + "num": -5, + "species": "Malaconda", + "types": [ + "Dark", + "Grass" + ], + "baseStats": { + "hp": 115, + "atk": 100, + "def": 60, + "spa": 40, + "spd": 130, + "spe": 55 + }, + "abilities": { + "0": "Harvest", + "1": "Infiltrator" + }, + "heightm": 5.5, + "weightkg": 108.8, + "color": "Brown", + "eggGroups": [ + "Grass", + "Dragon" + ] + }, + "cawmodore": { + "num": -6, + "species": "Cawmodore", + "types": [ + "Steel", + "Flying" + ], + "baseStats": { + "hp": 50, + "atk": 92, + "def": 130, + "spa": 65, + "spd": 75, + "spe": 118 + }, + "abilities": { + "0": "Intimidate", + "1": "Volt Absorb", + "H": "Big Pecks" + }, + "heightm": 1.7, + "weightkg": 37, + "color": "Black", + "eggGroups": [ + "Flying" + ] + }, + "volkraken": { + "num": -7, + "species": "Volkraken", + "types": [ + "Water", + "Fire" + ], + "baseStats": { + "hp": 100, + "atk": 45, + "def": 80, + "spa": 135, + "spd": 100, + "spe": 95 + }, + "abilities": { + "0": "Analytic", + "1": "Infiltrator", + "H": "Pressure" + }, + "heightm": 1.3, + "weightkg": 44.5, + "color": "Red", + "eggGroups": [ + "Water 1", + "Water 2" + ] + }, + "plasmanta": { + "num": -8, + "species": "Plasmanta", + "types": [ + "Electric", + "Poison" + ], + "baseStats": { + "hp": 60, + "atk": 57, + "def": 119, + "spa": 131, + "spd": 98, + "spe": 100 + }, + "abilities": { + "0": "Storm Drain", + "1": "Vital Spirit", + "H": "Telepathy" + }, + "heightm": 7, + "weightkg": 460, + "color": "Purple", + "eggGroups": [ + "Water 1", + "Water 2" + ] + }, + "naviathan": { + "num": -9, + "species": "Naviathan", + "types": [ + "Water", + "Steel" + ], + "baseStats": { + "hp": 103, + "atk": 110, + "def": 90, + "spa": 95, + "spd": 65, + "spe": 97 + }, + "abilities": { + "0": "Water Veil", + "1": "Heatproof", + "H": "Light Metal" + }, + "heightm": 3, + "weightkg": 510, + "color": "Gray", + "eggGroups": [ + "Water 1", + "Field" + ] + }, + "crucibelle": { + "num": -10, + "species": "Crucibelle", + "types": [ + "Rock", + "Poison" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 106, + "atk": 105, + "def": 65, + "spa": 75, + "spd": 85, + "spe": 104 + }, + "abilities": { + "0": "Regenerator", + "1": "Mold Breaker", + "H": "Liquid Ooze" + }, + "heightm": 1.3, + "weightkg": 23.6, + "color": "Purple", + "eggGroups": [ + "Amorphous", + "Mineral" + ], + "otherFormes": [ + "crucibellemega" + ] + }, + "crucibellemega": { + "num": -10, + "species": "Crucibelle-Mega", + "baseSpecies": "Crucibelle", + "forme": "Mega", + "formeLetter": "M", + "types": [ + "Rock", + "Poison" + ], + "genderRatio": { + "M": 0.25, + "F": 0.75 + }, + "baseStats": { + "hp": 106, + "atk": 135, + "def": 75, + "spa": 85, + "spd": 125, + "spe": 114 + }, + "abilities": { + "0": "Magic Guard" + }, + "heightm": 1.4, + "weightkg": 22.5, + "color": "Purple", + "eggGroups": [ + "Amorphous", + "Mineral" + ] + }, + "syclant": { + "num": -51, + "species": "Syclant", + "types": [ + "Ice", + "Bug" + ], + "baseStats": { + "hp": 70, + "atk": 116, + "def": 70, + "spa": 114, + "spd": 64, + "spe": 121 + }, + "abilities": { + "0": "Compound Eyes", + "1": "Mountaineer" + }, + "heightm": 1.7, + "weightkg": 52, + "color": "Blue", + "eggGroups": [ + "Bug" + ] + }, + "revenankh": { + "num": -52, + "species": "Revenankh", + "types": [ + "Ghost", + "Fighting" + ], + "baseStats": { + "hp": 90, + "atk": 105, + "def": 90, + "spa": 65, + "spd": 110, + "spe": 65 + }, + "abilities": { + "0": "Shed Skin", + "1": "Air Lock" + }, + "heightm": 1.8, + "weightkg": 44, + "color": "White", + "eggGroups": [ + "Amorphous", + "Human-Like" + ] + }, + "pyroak": { + "num": -53, + "species": "Pyroak", + "types": [ + "Fire", + "Grass" + ], + "baseStats": { + "hp": 120, + "atk": 70, + "def": 105, + "spa": 95, + "spd": 90, + "spe": 60 + }, + "abilities": { + "0": "Rock Head", + "1": "Battle Armor" + }, + "heightm": 2.1, + "weightkg": 168, + "color": "Brown", + "eggGroups": [ + "Monster", + "Dragon" + ] + }, + "fidgit": { + "num": -54, + "species": "Fidgit", + "types": [ + "Poison", + "Ground" + ], + "baseStats": { + "hp": 95, + "atk": 76, + "def": 109, + "spa": 90, + "spd": 80, + "spe": 105 + }, + "abilities": { + "0": "Persistent", + "1": "Vital Spirit" + }, + "heightm": 0.9, + "weightkg": 53, + "color": "Purple", + "eggGroups": [ + "Field" + ] + }, + "stratagem": { + "num": -55, + "species": "Stratagem", + "types": [ + "Rock" + ], + "gender": "N", + "baseStats": { + "hp": 90, + "atk": 60, + "def": 65, + "spa": 120, + "spd": 70, + "spe": 130 + }, + "abilities": { + "0": "Levitate", + "1": "Technician" + }, + "heightm": 0.9, + "weightkg": 45, + "color": "Gray", + "eggGroups": [ + "Undiscovered" + ] + }, + "arghonaut": { + "num": -56, + "species": "Arghonaut", + "types": [ + "Water", + "Fighting" + ], + "baseStats": { + "hp": 105, + "atk": 110, + "def": 95, + "spa": 70, + "spd": 100, + "spe": 75 + }, + "abilities": { + "0": "Unaware" + }, + "heightm": 1.7, + "weightkg": 151, + "color": "Green", + "eggGroups": [ + "Water 1", + "Water 3" + ] + }, + "kitsunoh": { + "num": -57, + "species": "Kitsunoh", + "types": [ + "Steel", + "Ghost" + ], + "baseStats": { + "hp": 80, + "atk": 103, + "def": 85, + "spa": 55, + "spd": 80, + "spe": 110 + }, + "abilities": { + "0": "Frisk", + "1": "Limber" + }, + "heightm": 1.1, + "weightkg": 51, + "color": "Gray", + "eggGroups": [ + "Field" + ] + }, + "cyclohm": { + "num": -58, + "species": "Cyclohm", + "types": [ + "Electric", + "Dragon" + ], + "baseStats": { + "hp": 108, + "atk": 60, + "def": 118, + "spa": 112, + "spd": 70, + "spe": 80 + }, + "abilities": { + "0": "Shield Dust", + "1": "Static" + }, + "heightm": 1.6, + "weightkg": 59, + "color": "Yellow", + "eggGroups": [ + "Dragon", + "Monster" + ] + }, + "colossoil": { + "num": -59, + "species": "Colossoil", + "types": [ + "Dark", + "Ground" + ], + "baseStats": { + "hp": 133, + "atk": 122, + "def": 72, + "spa": 71, + "spd": 72, + "spe": 95 + }, + "abilities": { + "0": "Rebound", + "1": "Guts" + }, + "heightm": 2.6, + "weightkg": 683.6, + "color": "Brown", + "eggGroups": [ + "Water 2", + "Field" + ] + }, + "krilowatt": { + "num": -60, + "species": "Krilowatt", + "types": [ + "Electric", + "Water" + ], + "baseStats": { + "hp": 151, + "atk": 84, + "def": 73, + "spa": 83, + "spd": 74, + "spe": 105 + }, + "abilities": { + "0": "Trace", + "1": "Magic Guard" + }, + "heightm": 0.7, + "weightkg": 10.6, + "color": "Red", + "eggGroups": [ + "Water 1", + "Fairy" + ] + }, + "voodoom": { + "num": -61, + "species": "Voodoom", + "types": [ + "Fighting", + "Dark" + ], + "baseStats": { + "hp": 90, + "atk": 85, + "def": 80, + "spa": 105, + "spd": 80, + "spe": 110 + }, + "abilities": { + "0": "Volt Absorb", + "1": "Lightning Rod" + }, + "heightm": 2, + "weightkg": 75.5, + "color": "Brown", + "eggGroups": [ + "Human-Like", + "Ground" + ] + } +} \ No newline at end of file diff --git a/src/NadekoBot/data/triviaquestions.json b/src/NadekoBot/data/questions.json similarity index 100% rename from src/NadekoBot/data/triviaquestions.json rename to src/NadekoBot/data/questions.json diff --git a/src/NadekoBot/data/wowjokes.json b/src/NadekoBot/data/wowjokes.json new file mode 100644 index 00000000..464b56d6 --- /dev/null +++ b/src/NadekoBot/data/wowjokes.json @@ -0,0 +1,302 @@ +[ + { + "Question": "What do you call a gnome priest", + "Answer": "A compact disc" + }, + { + "Question": "Why does the best raiding guild smell so bad?", + "Answer": "because they never wipe" + }, + { + "Question": "Why are boomkins neither overpowered or underpowered?", + "Answer": "Because they're Balanced" + }, + { + "Question": "Who is George of the Jungle's other brother?", + "Answer": "Mark of the Wild." + }, + { + "Question": "What do you call a masturbating Tauren?", + "Answer": "Beef Stroganoff." + }, + { + "Question": "What's a rogue's favourite drink?", + "Answer": "Subtle Tea" + }, + { + "Question": "Classic: What to noobs and Rogues have in common?", + "Answer": "They both pick locks!" + }, + { + "Question": "What did Gul'dan do when he tripped?", + "Answer": "He fel" + }, + { + "Question": "Why didn't the warrior cross the road?", + "Answer": "No Path Available." + }, + { + "Question": "What are the chances we have gotten the last content patch before a new expansion?", + "Answer": "Slim Tanaan" + }, + { + "Question": "A trolls greeting is usually \"Eyy mon\" but what is a goblins?", + "Answer": "\"\"Mon-eyy\"\n\n^^^^^I'm ^^^^^so ^^^^^sorry..." + }, + { + "Question": "What musician is from ICC?", + "Answer": "What musician is from ICC?\n\nAn Arthas formally known as Prince." + }, + { + "Question": "How do you know if someone's been playing since Vanilla?", + "Answer": "Don't worry, they'll tell you" + }, + { + "Question": "What happens when a demon forgets his sunscreen?", + "Answer": "He ends up with a Burning Region" + }, + { + "Question": "Why are raid guilds recruiting rogues for the illidan fight?", + "Answer": "Because they are the only ones that have the required [preparation](http://www.wowhead.com/spell=14185/preparation) " + }, + { + "Question": "How does Naxxramas fly?", + "Answer": "with it's four wings" + }, + { + "Question": "Why is the Cenarion Circle neutral?", + "Answer": "Circles have no sides." + }, + { + "Question": "Why are rogues the best bar tenders?", + "Answer": "Because they always have cheap shots " + }, + { + "Question": "What does Gul'dan like on his hotdogs?", + "Answer": "EVERYTHIIING" + }, + { + "Question": "Why did a Felhunter win the spelling competition?", + "Answer": "Nobody else could Spell Lock." + }, + { + "Question": "What do you call it when Illidan teaches demon hunters in Legion?", + "Answer": "a 'demon-stration\"" + }, + { + "Question": "Why can't Paladins work out at Planet Fitness?", + "Answer": "Because it's a Judgement-free zone. " + }, + { + "Question": "Why didn't the rogue like his dagger upgrade?", + "Answer": "He wasn't a fan of knives." + }, + { + "Question": "What do you call a Gilnean church?", + "Answer": "Worgenized religion" + }, + { + "Question": "Why were night elves chosen to be Azeroth's first astronauts?", + "Answer": "Because they know the moon well." + }, + { + "Question": "Why are gnomes unable to be paladins?", + "Answer": "Because they cannot reach the Light." + }, + { + "Question": "Did you hear about the resto druid who never plays guardian?", + "Answer": "You could say he's all bark, no bite." + }, + { + "Question": "What's a dwarf rogue's favorite car?", + "Answer": "Dodge Ram" + }, + { + "Question": "Why can you only wear 1 shoe in the Emerald nightmare?", + "Answer": "Because they'll steal Ursoc." + }, + { + "Question": "Why is it impossible for a paladin and a rogue to make a baby?", + "Answer": "Because paladins use protection and rogues do it from behind.\n\n\nTaken from Sodapoppin's stream on December 1st. " + }, + { + "Question": "Do you know how Illidan hurt his knee?", + "Answer": "(this one came through in a GM ticket response today)\n\nDo you know how Illidan hurt his knee?\nIt's simple really...\nHe fel." + }, + { + "Question": "Icecrown Citadel was a pretty cool raid.", + "Answer": "Even thinking about it gives me the chills." + }, + { + "Question": "Why do Blood Elves tan so quickly?", + "Answer": "They use the Sun Well." + }, + { + "Question": "What is Bolvar doing lately?", + "Answer": "Just chillin." + }, + { + "Question": "What do you call 4 Mogu rolling down a hill?", + "Answer": "The Rolling Stones." + }, + { + "Question": "What is Taran Zhu's favorite cooking utensil?", + "Answer": "The Shado-Pan" + }, + { + "Question": "What do you call a vapid celebrity female night elf?", + "Answer": "Kim Darnassian" + }, + { + "Question": "Warlords of Draenor was an emotional expansion.", + "Answer": "Even the raids were in tiers." + }, + { + "Question": "Why do hunters never get married?", + "Answer": "Because they're always dis-engaging." + }, + { + "Question": "What do you call a kind warlock", + "Answer": "Affection lock" + }, + { + "Question": "Which dragon has the dream job?", + "Answer": "Ysera" + }, + { + "Question": "Healers are like artists", + "Answer": "No one appreciates them until they are dead" + }, + { + "Question": "What did Illidan say when one of his group mates' gear was broken?", + "Answer": "\"YOU ARE NOT REPAIRED!\"" + }, + { + "Question": "Why do bars hate rogues?", + "Answer": "Because they only want cheap shots." + }, + { + "Question": "What did the game tell the hunter when he dinged 40?", + "Answer": "You've got mail." + }, + { + "Question": "What do you call a Blood Elf who eats his vegetables?", + "Answer": "Kale'Thas" + }, + { + "Question": "Where do murlocs store their gold and treasure?", + "Answer": "At the River Bank!" + }, + { + "Question": "Why did the undead smell bad?", + "Answer": "He had no nose." + }, + { + "Question": "How did the Rogue one-shot Illidan?", + "Answer": "By using Preparation." + }, + { + "Question": "What's the first thing Illidan sees when he wakes up?", + "Answer": "NOTHING" + }, + { + "Question": "Why are all paladins so clean?", + "Answer": "...Because they are always taking Bubble baths!" + }, + { + "Question": "did you hear about the monk serial killer", + "Answer": "the murders were pre-meditated" + }, + { + "Question": "How much does a serving of Pandaren Cuisine weigh?", + "Answer": "About wonton." + }, + { + "Question": "What injury did Gul'Dan get from playing Tennis.", + "Answer": "Twisted Nethers." + }, + { + "Question": "A patch day joke...", + "Answer": "" + }, + { + "Question": "Yo mamma so fat....", + "Answer": "I tried to shadowstep her and I got a loading screen!" + }, + { + "Question": "What do you call it when the Argent Tournament catches on fire?", + "Answer": "Burning Crusade." + }, + { + "Question": "Why can you never take a good photo of a hunter?", + "Answer": "They are always out of focus" + }, + { + "Question": "How do impoverished Warriors get their weapons?", + "Answer": "They Rend-to-own." + }, + { + "Question": "What is Arthas' favorite camping snack?", + "Answer": "Frostsmores" + }, + { + "Question": "Why are warlocks faster after drinking vodka?", + "Answer": "Because it gives them a Burning Rush!" + }, + { + "Question": "How did the druid catch a fish?", + "Answer": "With his bear hands" + }, + { + "Question": "I really want the new Grove Warden moose mount...", + "Answer": "...you could say, I consider it a moost-have." + }, + { + "Question": "Heard about the time Millhouse Manastorm went to Blackrock Foundry to visit Oregorger?", + "Answer": "Me neither, but I've been assured there will be gnome ore puns." + }, + { + "Question": "So my new maid is a rogue...", + "Answer": "... And she keeps on using [Vanish](http://www.brockaghltd.com/wp/wp-content/uploads/2014/11/31900_4.1405683094.jpg) even when I told her I prefer [Resolve](http://ecx.images-amazon.com/images/I/81a1jTSQzbL._SY355_.jpg). I'm so fed up with her!" + }, + { + "Question": "What do fire elementals eat for breakfast?", + "Answer": "Ragnar-Os" + }, + { + "Question": "Why do mages share cane's?", + "Answer": "Because it's not his cane, it's R Cane!" + }, + { + "Question": "Why do sneaky rogues prefer leather armor?", + "Answer": "because it's made of hide" + }, + { + "Question": "What's it called when an animal spirit crashes your UI?", + "Answer": "A LOA error." + }, + { + "Question": "Man the 90s take so long", + "Answer": "" + }, + { + "Question": "What is Shadow-Lord Iskar's problem?", + "Answer": "Every time we get to him in Hellfire Citadel, he always seems to be in a Fowl mood." + }, + { + "Question": "Why are hunters bad at photography?", + "Answer": "They have no focus." + }, + { + "Question": "Why are paladins good at photography?", + "Answer": "They use the Light" + }, + { + "Question": "How did the paladins get clean?", + "Answer": "They had a bubble bath!" + }, + { + "Question": "You need to be careful of the trees in this game.", + "Answer": "Some of them are shady." + } +] \ No newline at end of file From 895727d0529e2d85a1f25f27a89682accd1d8d47 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sat, 8 Oct 2016 04:25:12 +0200 Subject: [PATCH 051/135] Work on custom reactions, fixed -modules --- .../CustomReactions/CustomReactions.cs | 136 ++++++++++++++++++ src/NadekoBot/Modules/Help/Help.cs | 24 ---- .../Services/Database/IUnitOfWork.cs | 6 + .../Database/Models/CustomReaction.cs | 26 ++++ .../Services/Database/NadekoContext.cs | 4 +- .../Repositories/ICustomReactionRepository.cs | 14 ++ .../Impl/CustomReactionRepository.cs | 22 +++ src/NadekoBot/Services/Database/UnitOfWork.cs | 5 +- src/NadekoBot/Services/DbHandler.cs | 4 +- src/NadekoBot/Services/Impl/BotCredentials.cs | 6 +- 10 files changed, 218 insertions(+), 29 deletions(-) create mode 100644 src/NadekoBot/Modules/CustomReactions/CustomReactions.cs create mode 100644 src/NadekoBot/Services/Database/Models/CustomReaction.cs create mode 100644 src/NadekoBot/Services/Database/Repositories/ICustomReactionRepository.cs create mode 100644 src/NadekoBot/Services/Database/Repositories/Impl/CustomReactionRepository.cs diff --git a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs new file mode 100644 index 00000000..b50c9908 --- /dev/null +++ b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs @@ -0,0 +1,136 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Discord.Commands; +using NadekoBot.Services; +using NadekoBot.Attributes; +using NadekoBot.Services.Database; +using System.Collections.Concurrent; +using NadekoBot.Services.Database.Models; +using Discord; +using NadekoBot.Extensions; + +namespace NadekoBot.Modules.CustomReactions +{ + [NadekoModule("CustomReactions",".")] + public class CustomReactions : DiscordModule + { + public static HashSet GlobalReactions { get; } = new HashSet(); + public static ConcurrentDictionary> AllReactions { get; } = new ConcurrentDictionary>(); + static CustomReactions() + { + using (var uow = DbHandler.UnitOfWork()) + { + var list = uow.CustomReactions.GetList(); + AllReactions = new ConcurrentDictionary>(list.Where(g => g.GuildId != null).GroupBy(k => k.GuildId.Value).ToDictionary(g => g.Key, g => new HashSet(g))); + GlobalReactions = new HashSet(list.Where(g => g.GuildId == null)); + } + } + public CustomReactions(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) + { + } + + [NadekoCommand, Usage, Description, Aliases] + [RequirePermission(GuildPermission.Administrator)] + public async Task AddCustReact(IUserMessage imsg, string key, [Remainder] string message) + { + var channel = imsg.Channel as ITextChannel; + if (string.IsNullOrWhiteSpace(message) || string.IsNullOrWhiteSpace(key)) + return; + + if ((channel == null && NadekoBot.Credentials.IsOwner(imsg.Author)) || (channel != null && ((IGuildUser)imsg.Author).GuildPermissions.Administrator)) + { + try { await channel.SendMessageAsync("Insufficient permissions. Requires Bot ownership for global custom reactions, and Administrator for guild custom reactions."); } catch { } + return; + } + + var cr = new CustomReaction() + { + GuildId = channel?.Guild.Id, + IsRegex = false, + Trigger = key.ToLowerInvariant(), + Response = message, + }; + + using (var uow = DbHandler.UnitOfWork()) + { + uow.CustomReactions.Add(cr); + + await uow.CompleteAsync().ConfigureAwait(false); + } + + if (channel == null) + { + GlobalReactions.Add(cr); + } + else + { + var reactions = AllReactions.GetOrAdd(channel.Guild.Id, new HashSet()); + reactions.Add(cr); + } + + await channel.SendMessageAsync($"`Added new custom reaction:`\n\t`Trigger:` {key}\n\t`Response:` {message}").ConfigureAwait(false); + } + + [NadekoCommand, Usage, Description, Aliases] + public async Task ListCustReact(IUserMessage imsg,int page = 1) + { + var channel = imsg.Channel as ITextChannel; + + if (page < 1 || page > 1000) + return; + HashSet customReactions; + if (channel == null) + customReactions = GlobalReactions; + else + customReactions = AllReactions.GetOrAdd(channel.Guild.Id, new HashSet()); + + if (customReactions == null || !customReactions.Any()) + await channel.SendMessageAsync("`No custom reactions found`").ConfigureAwait(false); + else + await channel.SendTableAsync(customReactions.OrderBy(cr => cr.Trigger).Skip((page - 1) * 10).Take(10), c => c.ToString()) + .ConfigureAwait(false); + } + + [NadekoCommand, Usage, Description, Aliases] + public async Task DelCustReact(IUserMessage imsg, int id) + { + var channel = imsg.Channel as ITextChannel; + + if ((channel == null && NadekoBot.Credentials.IsOwner(imsg.Author)) || (channel != null && ((IGuildUser)imsg.Author).GuildPermissions.Administrator)) + { + try { await channel.SendMessageAsync("Insufficient permissions. Requires Bot ownership for global custom reactions, and Administrator for guild custom reactions."); } catch { } + return; + } + + var success = false; + CustomReaction toDelete; + using (var uow = DbHandler.UnitOfWork()) + { + toDelete = uow.CustomReactions.Get(id); + if (toDelete == null) //not found + return; + + if (toDelete.GuildId == null && channel == null) + { + uow.CustomReactions.Remove(toDelete); + success = true; + } + else if (toDelete.GuildId != null && channel.Guild.Id == toDelete.GuildId) + { + uow.CustomReactions.Remove(toDelete); + success = true; + } + if(success) + await uow.CompleteAsync().ConfigureAwait(false); + } + + if (success) + await channel.SendMessageAsync("**Successfully deleted custom reaction** " + toDelete.ToString()).ConfigureAwait(false); + else + await channel.SendMessageAsync("Failed to find that custom reaction.").ConfigureAwait(false); + } + } +} diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index ae8c725e..164a0b79 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -53,30 +53,6 @@ namespace NadekoBot.Modules.Help await umsg.Channel.SendMessageAsync("`List of modules:` ```xl\n• " + string.Join("\n• ", _commands.Modules.Select(m => m.Name)) + $"\n``` `Type \"-commands module_name\" to get a list of commands in that module.`") .ConfigureAwait(false); - - await RunWithTypingIntheBackgorund(async () => - { - await Task.Delay(100000); - }, umsg); - } - - private async Task RunWithTypingIntheBackgorund(Func someFUnc, IUserMessage ctx) - { - var cancelSource = new CancellationTokenSource(); - var cancelToken = cancelSource.Token; - var t = Task.Run(async () => - { - while (!cancelToken.IsCancellationRequested) - { - await Task.Delay(10000); - await ctx.Channel.TriggerTypingAsync(); - } - }, cancelToken); - try - { - await someFUnc(); - } - finally { cancelSource.Cancel(); } } [NadekoCommand, Usage, Description, Aliases] diff --git a/src/NadekoBot/Services/Database/IUnitOfWork.cs b/src/NadekoBot/Services/Database/IUnitOfWork.cs index 14719461..68d99b0e 100644 --- a/src/NadekoBot/Services/Database/IUnitOfWork.cs +++ b/src/NadekoBot/Services/Database/IUnitOfWork.cs @@ -9,6 +9,8 @@ namespace NadekoBot.Services.Database { public interface IUnitOfWork : IDisposable { + NadekoContext _context { get; } + IQuoteRepository Quotes { get; } IGuildConfigRepository GuildConfigs { get; } IDonatorsRepository Donators { get; } @@ -18,6 +20,10 @@ namespace NadekoBot.Services.Database IBotConfigRepository BotConfig { get; } IRepeaterRepository Repeaters { get; } IUnitConverterRepository ConverterUnits { get; } + ICustomReactionRepository CustomReactions { get; } + ICurrencyRepository Currency { get; } + ITypingArticlesRepository TypingArticles { get; } + IMusicPlaylistRepository MusicPlaylists { get; } int Complete(); Task CompleteAsync(); diff --git a/src/NadekoBot/Services/Database/Models/CustomReaction.cs b/src/NadekoBot/Services/Database/Models/CustomReaction.cs new file mode 100644 index 00000000..180b85b9 --- /dev/null +++ b/src/NadekoBot/Services/Database/Models/CustomReaction.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Linq; +using System.Text.RegularExpressions; +using System.Threading.Tasks; + +namespace NadekoBot.Services.Database.Models +{ + public class CustomReaction : DbEntity + { + public ulong? GuildId { get; set; } + [NotMapped] + public Regex Regex { get; set; } + public string Response { get; set; } + public string Trigger { get; set; } + public bool IsRegex { get; set; } + public override string ToString() => $"Id: {Id}\nTrigger: {Trigger}\n Regex: {IsRegex}"; + } + + public class ReactionResponse : DbEntity + { + public bool OwnerOnly { get; set; } + public string Text { get; set; } + } +} \ No newline at end of file diff --git a/src/NadekoBot/Services/Database/NadekoContext.cs b/src/NadekoBot/Services/Database/NadekoContext.cs index 2661bdf8..5df5512a 100644 --- a/src/NadekoBot/Services/Database/NadekoContext.cs +++ b/src/NadekoBot/Services/Database/NadekoContext.cs @@ -23,6 +23,7 @@ namespace NadekoBot.Services.Database public DbSet ConversionUnits { get; set; } public DbSet TypingArticles { get; set; } public DbSet MusicPlaylists { get; set; } + public DbSet CustomReactions { get; set; } //logging public DbSet LogSettings { get; set; } @@ -60,7 +61,8 @@ namespace NadekoBot.Services.Database new ModulePrefix() { ModuleName = "Gambling", Prefix = "$" }, new ModulePrefix() { ModuleName = "Permissions", Prefix = ";" }, new ModulePrefix() { ModuleName = "Pokemon", Prefix = ">" }, - new ModulePrefix() { ModuleName = "Utility", Prefix = "." } + new ModulePrefix() { ModuleName = "Utility", Prefix = "." }, + new ModulePrefix() { ModuleName = "CustomReactions", Prefix = "." } }); bc.RaceAnimals.AddRange(new HashSet { diff --git a/src/NadekoBot/Services/Database/Repositories/ICustomReactionRepository.cs b/src/NadekoBot/Services/Database/Repositories/ICustomReactionRepository.cs new file mode 100644 index 00000000..200a1a7c --- /dev/null +++ b/src/NadekoBot/Services/Database/Repositories/ICustomReactionRepository.cs @@ -0,0 +1,14 @@ +using NadekoBot.Services.Database.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace NadekoBot.Services.Database.Repositories +{ + public interface ICustomReactionRepository : IRepository + { + List GetList(); + } +} diff --git a/src/NadekoBot/Services/Database/Repositories/Impl/CustomReactionRepository.cs b/src/NadekoBot/Services/Database/Repositories/Impl/CustomReactionRepository.cs new file mode 100644 index 00000000..d0cb46a7 --- /dev/null +++ b/src/NadekoBot/Services/Database/Repositories/Impl/CustomReactionRepository.cs @@ -0,0 +1,22 @@ +using NadekoBot.Services.Database.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Microsoft.EntityFrameworkCore; + +namespace NadekoBot.Services.Database.Repositories.Impl +{ + public class CustomReactionsRepository : Repository, ICustomReactionRepository + { + public CustomReactionsRepository(DbContext context) : base(context) + { + } + + public List GetList() + { + return _set.Include(x => x.Responses).ToList(); + } + } +} diff --git a/src/NadekoBot/Services/Database/UnitOfWork.cs b/src/NadekoBot/Services/Database/UnitOfWork.cs index 33f5d1c1..7079b9ee 100644 --- a/src/NadekoBot/Services/Database/UnitOfWork.cs +++ b/src/NadekoBot/Services/Database/UnitOfWork.cs @@ -10,7 +10,7 @@ namespace NadekoBot.Services.Database { public class UnitOfWork : IUnitOfWork { - public NadekoContext _context; + public NadekoContext _context { get; } private IQuoteRepository _quotes; public IQuoteRepository Quotes => _quotes ?? (_quotes = new QuoteRepository(_context)); @@ -48,6 +48,9 @@ namespace NadekoBot.Services.Database private IMusicPlaylistRepository _musicPlaylists; public IMusicPlaylistRepository MusicPlaylists => _musicPlaylists ?? (_musicPlaylists = new MusicPlaylistRepository(_context)); + private ICustomReactionRepository _customReactions; + public ICustomReactionRepository CustomReactions => _customReactions ?? (_customReactions = new CustomReactionsRepository(_context)); + public UnitOfWork(NadekoContext context) { _context = context; diff --git a/src/NadekoBot/Services/DbHandler.cs b/src/NadekoBot/Services/DbHandler.cs index 76437166..ee1833dd 100644 --- a/src/NadekoBot/Services/DbHandler.cs +++ b/src/NadekoBot/Services/DbHandler.cs @@ -36,10 +36,10 @@ namespace NadekoBot.Services public NadekoContext GetDbContext() => Activator.CreateInstance(dbType) as NadekoContext; - public UnitOfWork GetUnitOfWork() => + public IUnitOfWork GetUnitOfWork() => new UnitOfWork(GetDbContext()); - public static UnitOfWork UnitOfWork() => + public static IUnitOfWork UnitOfWork() => DbHandler.Instance.GetUnitOfWork(); } } diff --git a/src/NadekoBot/Services/Impl/BotCredentials.cs b/src/NadekoBot/Services/Impl/BotCredentials.cs index 0d420528..5a540c5b 100644 --- a/src/NadekoBot/Services/Impl/BotCredentials.cs +++ b/src/NadekoBot/Services/Impl/BotCredentials.cs @@ -49,7 +49,11 @@ namespace NadekoBot.Services.Impl Db = new DB(cm.Db.Type, cm.Db.ConnectionString); } else - _log.Fatal("credentials.json is missing. Failed to start."); + { + File.WriteAllText("./credentials_example.json", JsonConvert.SerializeObject(new CredentialsModel(), Formatting.Indented)); + _log.Fatal($"credentials.json is missing. Failed to start. Example written to {Path.GetFullPath("./credentials_example.json")}"); + throw new FileNotFoundException(); + } } private class CredentialsModel From 2c3e97530154cd1518f02af4262c3195410ff541 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sat, 8 Oct 2016 04:35:39 +0200 Subject: [PATCH 052/135] Migrations --- ...20161008022813_customreactions.Designer.cs | 755 ++++++++++++++++++ .../20161008022813_customreactions.cs | 34 + .../NadekoSqliteContextModelSnapshot.cs | 18 + .../CustomReactions/CustomReactions.cs | 6 +- .../Services/Database/NadekoContext.cs | 4 +- .../Repositories/ICustomReactionRepository.cs | 2 +- .../Impl/CustomReactionRepository.cs | 5 - 7 files changed, 813 insertions(+), 11 deletions(-) create mode 100644 src/NadekoBot/Migrations/20161008022813_customreactions.Designer.cs create mode 100644 src/NadekoBot/Migrations/20161008022813_customreactions.cs diff --git a/src/NadekoBot/Migrations/20161008022813_customreactions.Designer.cs b/src/NadekoBot/Migrations/20161008022813_customreactions.Designer.cs new file mode 100644 index 00000000..ca6a19c5 --- /dev/null +++ b/src/NadekoBot/Migrations/20161008022813_customreactions.Designer.cs @@ -0,0 +1,755 @@ +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using NadekoBot.Services.Database.Impl; + +namespace NadekoBot.Migrations +{ + [DbContext(typeof(NadekoSqliteContext))] + [Migration("20161008022813_customreactions")] + partial class customreactions + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { + modelBuilder + .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ItemId"); + + b.Property("Type"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("BlacklistItem"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BufferSize"); + + b.Property("CurrencyGenerationChance"); + + b.Property("CurrencyGenerationCooldown"); + + b.Property("CurrencyName"); + + b.Property("CurrencyPluralName"); + + b.Property("CurrencySign"); + + b.Property("DMHelpString"); + + b.Property("DontJoinServers"); + + b.Property("ForwardMessages"); + + b.Property("ForwardToAllOwners"); + + b.Property("HelpString"); + + b.Property("MigrationVersion"); + + b.Property("RemindMessageFormat"); + + b.Property("RotatingStatuses"); + + b.HasKey("Id"); + + b.ToTable("BotConfig"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BaseDestroyed"); + + b.Property("CallUser"); + + b.Property("ClashWarId"); + + b.Property("Stars"); + + b.Property("TimeAdded"); + + b.HasKey("Id"); + + b.HasIndex("ClashWarId"); + + b.ToTable("ClashCallers"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("EnemyClan"); + + b.Property("GuildId"); + + b.Property("Size"); + + b.Property("StartedAt"); + + b.Property("WarState"); + + b.HasKey("Id"); + + b.ToTable("ClashOfClans"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.CommandCooldown", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("CommandName"); + + b.Property("GuildConfigId"); + + b.Property("Seconds"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("CommandCooldown"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("InternalTrigger"); + + b.Property("Modifier"); + + b.Property("UnitType"); + + b.HasKey("Id"); + + b.ToTable("ConversionUnits"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Currency"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.CustomReaction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildId"); + + b.Property("IsRegex"); + + b.Property("Response"); + + b.Property("Trigger"); + + b.HasKey("Id"); + + b.ToTable("CustomReactions"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("Name"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Donators"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("EightBallResponses"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildConfigId"); + + b.Property("GuildConfigId1"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.HasIndex("GuildConfigId1"); + + b.ToTable("FilterChannelId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildConfigId"); + + b.Property("Word"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FilteredWord"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildConfigId"); + + b.Property("GuildId"); + + b.Property("LastStatus"); + + b.Property("Type"); + + b.Property("Username"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FollowedStream"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AutoAssignRoleId"); + + b.Property("AutoDeleteByeMessages"); + + b.Property("AutoDeleteGreetMessages"); + + b.Property("AutoDeleteGreetMessagesTimer"); + + b.Property("AutoDeleteSelfAssignedRoleMessages"); + + b.Property("ByeMessageChannelId"); + + b.Property("ChannelByeMessageText"); + + b.Property("ChannelGreetMessageText"); + + b.Property("DefaultMusicVolume"); + + b.Property("DeleteMessageOnCommand"); + + b.Property("DmGreetMessageText"); + + b.Property("ExclusiveSelfAssignedRoles"); + + b.Property("FilterInvites"); + + b.Property("FilterWords"); + + b.Property("GenerateCurrencyChannelId"); + + b.Property("GreetMessageChannelId"); + + b.Property("GuildId"); + + b.Property("LogSettingId"); + + b.Property("PermissionRole"); + + b.Property("RootPermissionId"); + + b.Property("SendChannelByeMessage"); + + b.Property("SendChannelGreetMessage"); + + b.Property("SendDmGreetMessage"); + + b.Property("VerbosePermissions"); + + b.Property("VoicePlusTextEnabled"); + + b.HasKey("Id"); + + b.HasIndex("GuildId") + .IsUnique(); + + b.HasIndex("LogSettingId"); + + b.HasIndex("RootPermissionId"); + + b.ToTable("GuildConfigs"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredLogChannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredVoicePresenceCHannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelCreated"); + + b.Property("ChannelDestroyed"); + + b.Property("ChannelId"); + + b.Property("ChannelUpdated"); + + b.Property("IsLogging"); + + b.Property("LogUserPresence"); + + b.Property("LogVoicePresence"); + + b.Property("MessageDeleted"); + + b.Property("MessageUpdated"); + + b.Property("UserBanned"); + + b.Property("UserJoined"); + + b.Property("UserLeft"); + + b.Property("UserPresenceChannelId"); + + b.Property("UserUnbanned"); + + b.Property("UserUpdated"); + + b.Property("VoicePresenceChannelId"); + + b.HasKey("Id"); + + b.ToTable("LogSettings"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ModuleName"); + + b.Property("Prefix"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("ModulePrefixes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.MusicPlaylist", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("AuthorId"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.ToTable("MusicPlaylists"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("NextId"); + + b.Property("PrimaryTarget"); + + b.Property("PrimaryTargetId"); + + b.Property("SecondaryTarget"); + + b.Property("SecondaryTargetName"); + + b.Property("State"); + + b.HasKey("Id"); + + b.HasIndex("NextId") + .IsUnique(); + + b.ToTable("Permission"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Status"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("PlayingStatus"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("MusicPlaylistId"); + + b.Property("Provider"); + + b.Property("ProviderType"); + + b.Property("Query"); + + b.Property("Title"); + + b.Property("Uri"); + + b.HasKey("Id"); + + b.HasIndex("MusicPlaylistId"); + + b.ToTable("PlaylistSong"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AuthorId"); + + b.Property("AuthorName") + .IsRequired(); + + b.Property("GuildId"); + + b.Property("Keyword") + .IsRequired(); + + b.Property("Text") + .IsRequired(); + + b.HasKey("Id"); + + b.ToTable("Quotes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Icon"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("RaceAnimals"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("IsPrivate"); + + b.Property("Message"); + + b.Property("ServerId"); + + b.Property("UserId"); + + b.Property("When"); + + b.HasKey("Id"); + + b.ToTable("Reminders"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildId"); + + b.Property("Interval"); + + b.Property("Message"); + + b.HasKey("Id"); + + b.HasIndex("ChannelId") + .IsUnique(); + + b.ToTable("Repeaters"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildId"); + + b.Property("RoleId"); + + b.HasKey("Id"); + + b.HasIndex("GuildId", "RoleId") + .IsUnique(); + + b.ToTable("SelfAssignableRoles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.ToTable("TypingArticles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("Blacklist") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") + .WithMany("Bases") + .HasForeignKey("ClashWarId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.CommandCooldown", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("CommandCooldowns") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("EightBallResponses") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilterInvitesChannelIds") + .HasForeignKey("GuildConfigId"); + + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilterWordsChannelIds") + .HasForeignKey("GuildConfigId1"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilteredWords") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FollowedStreams") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany() + .HasForeignKey("LogSettingId"); + + b.HasOne("NadekoBot.Services.Database.Models.Permission", "RootPermission") + .WithMany() + .HasForeignKey("RootPermissionId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredChannels") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredVoicePresenceChannelIds") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") + .WithMany("ModulePrefixes") + .HasForeignKey("BotConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.HasOne("NadekoBot.Services.Database.Models.Permission", "Next") + .WithOne("Previous") + .HasForeignKey("NadekoBot.Services.Database.Models.Permission", "NextId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RotatingStatusMessages") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.HasOne("NadekoBot.Services.Database.Models.MusicPlaylist") + .WithMany("Songs") + .HasForeignKey("MusicPlaylistId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RaceAnimals") + .HasForeignKey("BotConfigId"); + }); + } + } +} diff --git a/src/NadekoBot/Migrations/20161008022813_customreactions.cs b/src/NadekoBot/Migrations/20161008022813_customreactions.cs new file mode 100644 index 00000000..7531b628 --- /dev/null +++ b/src/NadekoBot/Migrations/20161008022813_customreactions.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using Microsoft.EntityFrameworkCore.Migrations; + +namespace NadekoBot.Migrations +{ + public partial class customreactions : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "CustomReactions", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + GuildId = table.Column(nullable: true), + IsRegex = table.Column(nullable: false), + Response = table.Column(nullable: true), + Trigger = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_CustomReactions", x => x.Id); + }); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "CustomReactions"); + } + } +} diff --git a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs index c74958b8..4dac2599 100644 --- a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs +++ b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs @@ -166,6 +166,24 @@ namespace NadekoBot.Migrations b.ToTable("Currency"); }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.CustomReaction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildId"); + + b.Property("IsRegex"); + + b.Property("Response"); + + b.Property("Trigger"); + + b.HasKey("Id"); + + b.ToTable("CustomReactions"); + }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => { b.Property("Id") diff --git a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs index b50c9908..0ecccb16 100644 --- a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs +++ b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs @@ -23,9 +23,9 @@ namespace NadekoBot.Modules.CustomReactions { using (var uow = DbHandler.UnitOfWork()) { - var list = uow.CustomReactions.GetList(); - AllReactions = new ConcurrentDictionary>(list.Where(g => g.GuildId != null).GroupBy(k => k.GuildId.Value).ToDictionary(g => g.Key, g => new HashSet(g))); - GlobalReactions = new HashSet(list.Where(g => g.GuildId == null)); + var items = uow.CustomReactions.GetAll(); + AllReactions = new ConcurrentDictionary>(items.Where(g => g.GuildId != null).GroupBy(k => k.GuildId.Value).ToDictionary(g => g.Key, g => new HashSet(g))); + GlobalReactions = new HashSet(items.Where(g => g.GuildId == null)); } } public CustomReactions(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) diff --git a/src/NadekoBot/Services/Database/NadekoContext.cs b/src/NadekoBot/Services/Database/NadekoContext.cs index 5df5512a..8a229565 100644 --- a/src/NadekoBot/Services/Database/NadekoContext.cs +++ b/src/NadekoBot/Services/Database/NadekoContext.cs @@ -37,8 +37,8 @@ namespace NadekoBot.Services.Database public NadekoContext() { - this.Database.Migrate(); - EnsureSeedData(); + // this.Database.Migrate(); + // EnsureSeedData(); } public void EnsureSeedData() diff --git a/src/NadekoBot/Services/Database/Repositories/ICustomReactionRepository.cs b/src/NadekoBot/Services/Database/Repositories/ICustomReactionRepository.cs index 200a1a7c..a5daccfc 100644 --- a/src/NadekoBot/Services/Database/Repositories/ICustomReactionRepository.cs +++ b/src/NadekoBot/Services/Database/Repositories/ICustomReactionRepository.cs @@ -9,6 +9,6 @@ namespace NadekoBot.Services.Database.Repositories { public interface ICustomReactionRepository : IRepository { - List GetList(); + } } diff --git a/src/NadekoBot/Services/Database/Repositories/Impl/CustomReactionRepository.cs b/src/NadekoBot/Services/Database/Repositories/Impl/CustomReactionRepository.cs index d0cb46a7..f4c1b5d2 100644 --- a/src/NadekoBot/Services/Database/Repositories/Impl/CustomReactionRepository.cs +++ b/src/NadekoBot/Services/Database/Repositories/Impl/CustomReactionRepository.cs @@ -13,10 +13,5 @@ namespace NadekoBot.Services.Database.Repositories.Impl public CustomReactionsRepository(DbContext context) : base(context) { } - - public List GetList() - { - return _set.Include(x => x.Responses).ToList(); - } } } From 81a3a33fff50da5960d379f76b48b094b159a464 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sat, 8 Oct 2016 11:07:58 +0200 Subject: [PATCH 053/135] Woopsie, fixed auto migration and seeding --- src/NadekoBot/Services/Database/NadekoContext.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/NadekoBot/Services/Database/NadekoContext.cs b/src/NadekoBot/Services/Database/NadekoContext.cs index 8a229565..243582d7 100644 --- a/src/NadekoBot/Services/Database/NadekoContext.cs +++ b/src/NadekoBot/Services/Database/NadekoContext.cs @@ -37,8 +37,8 @@ namespace NadekoBot.Services.Database public NadekoContext() { - // this.Database.Migrate(); - // EnsureSeedData(); + this.Database.Migrate(); + EnsureSeedData(); } public void EnsureSeedData() From 24978b7cb522391ffca9ac746be3f5a1f3415b3c Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sat, 8 Oct 2016 11:55:56 +0200 Subject: [PATCH 054/135] Fixed bugs Fearnlj01 found --- .../Modules/Administration/Administration.cs | 12 +- .../Modules/Gambling/Commands/DrawCommand.cs | 2 +- src/NadekoBot/Modules/Music/Music.cs | 30 +--- src/NadekoBot/Modules/Searches/Searches.cs | 4 +- .../Modules/Utility/Commands/QuoteCommands.cs | 2 +- .../Modules/Utility/Commands/Remind.cs | 2 +- .../Resources/CommandStrings.Designer.cs | 139 +++++++++++------- src/NadekoBot/Resources/CommandStrings.resx | 57 ++++--- 8 files changed, 125 insertions(+), 123 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index 5f5a7d5d..ee120b2f 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -475,15 +475,9 @@ namespace NadekoBot.Modules.Administration { var channel = (ITextChannel)msg.Channel; await (msg as IUserMessage).DeleteAsync(); - while (count > 0) - { - int limit = (count < 100) ? count : 100; - var enumerable = (await msg.Channel.GetMessagesAsync(limit: limit)); - await msg.Channel.DeleteMessagesAsync(enumerable); - await Task.Delay(1000); // there is a 1 per second per guild ratelimit for deletemessages - if (enumerable.Count < limit) break; - count -= limit; - } + int limit = (count < 100) ? count : 100; + var enumerable = (await msg.Channel.GetMessagesAsync(limit: limit)); + await msg.Channel.DeleteMessagesAsync(enumerable); } //prune @user [x] diff --git a/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs index 410d0cd1..1de5650a 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs @@ -63,7 +63,7 @@ namespace NadekoBot.Modules.Gambling [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] - public async Task Shuffle(IUserMessage imsg) + public async Task ShuffleDeck(IUserMessage imsg) { var channel = (ITextChannel)imsg.Channel; diff --git a/src/NadekoBot/Modules/Music/Music.cs b/src/NadekoBot/Modules/Music/Music.cs index 5cc2eb80..aabe19cf 100644 --- a/src/NadekoBot/Modules/Music/Music.cs +++ b/src/NadekoBot/Modules/Music/Music.cs @@ -208,35 +208,7 @@ namespace NadekoBot.Modules.Music [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] - public Task Mute(IUserMessage umsg) - { - var channel = (ITextChannel)umsg.Channel; - MusicPlayer musicPlayer; - if (!MusicPlayers.TryGetValue(channel.Guild.Id, out musicPlayer)) - return Task.CompletedTask; - if (((IGuildUser)umsg.Author).VoiceChannel != musicPlayer.PlaybackVoiceChannel) - return Task.CompletedTask; - musicPlayer.SetVolume(0); - return Task.CompletedTask; - } - - [NadekoCommand, Usage, Description, Aliases] - [RequireContext(ContextType.Guild)] - public Task Max(IUserMessage umsg) - { - var channel = (ITextChannel)umsg.Channel; - MusicPlayer musicPlayer; - if (!MusicPlayers.TryGetValue(channel.Guild.Id, out musicPlayer)) - return Task.CompletedTask; - if (((IGuildUser)umsg.Author).VoiceChannel != musicPlayer.PlaybackVoiceChannel) - return Task.CompletedTask; - musicPlayer.SetVolume(100); - return Task.CompletedTask; - } - - [NadekoCommand, Usage, Description, Aliases] - [RequireContext(ContextType.Guild)] - public async Task Shuffle(IUserMessage umsg) + public async Task ShufflePlaylist(IUserMessage umsg) { var channel = (ITextChannel)umsg.Channel; MusicPlayer musicPlayer; diff --git a/src/NadekoBot/Modules/Searches/Searches.cs b/src/NadekoBot/Modules/Searches/Searches.cs index 47aeb05c..541d0f0d 100644 --- a/src/NadekoBot/Modules/Searches/Searches.cs +++ b/src/NadekoBot/Modules/Searches/Searches.cs @@ -258,7 +258,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] - public async Task Ud(IUserMessage umsg, [Remainder] string query = null) + public async Task UrbanDict(IUserMessage umsg, [Remainder] string query = null) { var channel = (ITextChannel)umsg.Channel; @@ -404,7 +404,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] - public async Task Clr(IUserMessage umsg, [Remainder] string color = null) + public async Task Color(IUserMessage umsg, [Remainder] string color = null) { var channel = (ITextChannel)umsg.Channel; diff --git a/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs b/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs index f9c3ef7b..c69f030b 100644 --- a/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs +++ b/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs @@ -93,7 +93,7 @@ namespace NadekoBot.Modules.Utility [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] - public async Task DelAllQuotes(IUserMessage umsg, string keyword) + public async Task DelAllQuotes(IUserMessage umsg, [Remainder] string keyword) { var channel = (ITextChannel)umsg.Channel; diff --git a/src/NadekoBot/Modules/Utility/Commands/Remind.cs b/src/NadekoBot/Modules/Utility/Commands/Remind.cs index 67e297b2..c9268ea8 100644 --- a/src/NadekoBot/Modules/Utility/Commands/Remind.cs +++ b/src/NadekoBot/Modules/Utility/Commands/Remind.cs @@ -198,7 +198,7 @@ namespace NadekoBot.Modules.Utility uow.BotConfig.GetOrCreate().RemindMessageFormat = arg.Trim(); await uow.CompleteAsync().ConfigureAwait(false); } - await channel.SendMessageAsync("`New remind message set.`"); + await channel.SendMessageAsync("`New remind template set.`"); } } } diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index 93a1032b..e99a1739 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -305,27 +305,27 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to ani anime aq. /// - public static string ani_cmd { + public static string anime_cmd { get { - return ResourceManager.GetString("ani_cmd", resourceCulture); + return ResourceManager.GetString("anime_cmd", resourceCulture); } } /// /// Looks up a localized string similar to Queries anilist for an anime and shows the first result.. /// - public static string ani_desc { + public static string anime_desc { get { - return ResourceManager.GetString("ani_desc", resourceCulture); + return ResourceManager.GetString("anime_desc", resourceCulture); } } /// /// Looks up a localized string similar to `~ani aquarion evol`. /// - public static string ani_usage { + public static string anime_usage { get { - return ResourceManager.GetString("ani_usage", resourceCulture); + return ResourceManager.GetString("anime_usage", resourceCulture); } } @@ -807,7 +807,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `.calcops`. + /// Looks up a localized string similar to `~calcops`. /// public static string calcops_usage { get { @@ -1463,33 +1463,6 @@ namespace NadekoBot.Resources { } } - /// - /// Looks up a localized string similar to clr prune. - /// - public static string clr_cmd { - get { - return ResourceManager.GetString("clr_cmd", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Shows you what color corresponds to that hex.. - /// - public static string clr_desc { - get { - return ResourceManager.GetString("clr_desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to `~clr 00ff00`. - /// - public static string clr_usage { - get { - return ResourceManager.GetString("clr_usage", resourceCulture); - } - } - /// /// Looks up a localized string similar to cmdcooldown cmdcd. /// @@ -1517,6 +1490,33 @@ namespace NadekoBot.Resources { } } + /// + /// Looks up a localized string similar to color clr. + /// + public static string color_cmd { + get { + return ResourceManager.GetString("color_cmd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Shows you what color corresponds to that hex.. + /// + public static string color_desc { + get { + return ResourceManager.GetString("color_desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to `~clr 00ff00`. + /// + public static string color_usage { + get { + return ResourceManager.GetString("color_usage", resourceCulture); + } + } + /// /// Looks up a localized string similar to commands cmds. /// @@ -1590,7 +1590,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to . + /// Looks up a localized string similar to `~convertlist`. /// public static string convertlist_usage { get { @@ -1833,7 +1833,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `.delallq`. + /// Looks up a localized string similar to `.delallq kek`. /// public static string delallquotes_usage { get { @@ -4191,7 +4191,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to mute min. + /// Looks up a localized string similar to mute. /// public static string mute_cmd { get { @@ -4200,7 +4200,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Sets the music volume to 0%. + /// Looks up a localized string similar to Mutes a mentioned user in a voice channel.. /// public static string mute_desc { get { @@ -4209,7 +4209,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `!!min`. + /// Looks up a localized string similar to `.mute @Someone`. /// public static string mute_usage { get { @@ -4920,29 +4920,29 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to remindmsg. + /// Looks up a localized string similar to remindtemplate. /// - public static string remindmsg_cmd { + public static string remindtemplate_cmd { get { - return ResourceManager.GetString("remindmsg_cmd", resourceCulture); + return ResourceManager.GetString("remindtemplate_cmd", resourceCulture); } } /// /// Looks up a localized string similar to Sets message for when the remind is triggered. Available placeholders are %user% - user who ran the command, %message% - Message specified in the remind, %target% - target channel of the remind. . /// - public static string remindmsg_desc { + public static string remindtemplate_desc { get { - return ResourceManager.GetString("remindmsg_desc", resourceCulture); + return ResourceManager.GetString("remindtemplate_desc", resourceCulture); } } /// - /// Looks up a localized string similar to `.remindmsg do something else`. + /// Looks up a localized string similar to `.remindtemplate %user%, you gotta do %message%!`. /// - public static string remindmsg_usage { + public static string remindtemplate_usage { get { - return ResourceManager.GetString("remindmsg_usage", resourceCulture); + return ResourceManager.GetString("remindtemplate_usage", resourceCulture); } } @@ -6144,7 +6144,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Shows a name and a link to every special emoji in the message.. + /// Looks up a localized string similar to Shows a name and a link to every SPECIAL emoji in the message.. /// public static string showemojis_desc { get { @@ -6153,7 +6153,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `.se A message full of emojis`. + /// Looks up a localized string similar to `.se A message full of SPECIALemojis`. /// public static string showemojis_usage { get { @@ -6191,27 +6191,54 @@ namespace NadekoBot.Resources { /// /// Looks up a localized string similar to shuffle sh. /// - public static string shuffle_cmd { + public static string shuffledeck_cmd { get { - return ResourceManager.GetString("shuffle_cmd", resourceCulture); + return ResourceManager.GetString("shuffledeck_cmd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Reshuffles all cards back into the deck.. + /// + public static string shuffledeck_desc { + get { + return ResourceManager.GetString("shuffledeck_desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to `$sh`. + /// + public static string shuffledeck_usage { + get { + return ResourceManager.GetString("shuffledeck_usage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to shuffle sh. + /// + public static string shuffleplaylist_cmd { + get { + return ResourceManager.GetString("shuffleplaylist_cmd", resourceCulture); } } /// /// Looks up a localized string similar to Shuffles the current playlist.. /// - public static string shuffle_desc { + public static string shuffleplaylist_desc { get { - return ResourceManager.GetString("shuffle_desc", resourceCulture); + return ResourceManager.GetString("shuffleplaylist_desc", resourceCulture); } } /// /// Looks up a localized string similar to `!!sh`. /// - public static string shuffle_usage { + public static string shuffleplaylist_usage { get { - return ResourceManager.GetString("shuffle_usage", resourceCulture); + return ResourceManager.GetString("shuffleplaylist_usage", resourceCulture); } } @@ -6693,7 +6720,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `~translangs` or `~translangs language`. + /// Looks up a localized string similar to `~translangs`. /// public static string translangs_usage { get { diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index 5a923c34..34b069bd 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -613,13 +613,13 @@ `.k "@some Guy" Your behaviour is toxic.` - mute min + mute - Sets the music volume to 0% + Mutes a mentioned user in a voice channel. - `!!min` + `.mute @Someone` unmute @@ -828,14 +828,14 @@ `.remind me 1d5h Do something` or `.remind #general Start now!` - - remindmsg + + remindtemplate - + Sets message for when the remind is triggered. Available placeholders are %user% - user who ran the command, %message% - Message specified in the remind, %target% - target channel of the remind. - - `.remindmsg do something else` + + `.remindtemplate %user%, you gotta do %message%!` serverinfo sinfo @@ -1314,13 +1314,13 @@ `$draw [x]` - + shuffle sh - + Shuffles the current playlist. - + `!!sh` @@ -1942,7 +1942,7 @@ List of the convertable dimensions and currencies. - + `~convertlist` wowjoke @@ -2043,13 +2043,13 @@ `~yt query` - + ani anime aq - + Queries anilist for an anime and shows the first result. - + `~ani aquarion evol` @@ -2232,13 +2232,13 @@ `~wiki query` - - clr prune + + color clr - + Shows you what color corresponds to that hex. - + `~clr 00ff00` @@ -2473,7 +2473,7 @@ List the valid languages for translation. - `~translangs` or `~translangs language` + `~translangs` bind @@ -2524,7 +2524,7 @@ Shows all available operations in .calc command - `.calcops` + `~calcops` calcops @@ -2533,7 +2533,7 @@ Deletes all quotes on a specified keyword. - `.delallq` + `.delallq kek` delallq daq @@ -2614,9 +2614,18 @@ showemojis se - Shows a name and a link to every special emoji in the message. + Shows a name and a link to every SPECIAL emoji in the message. - `.se A message full of emojis` + `.se A message full of SPECIALemojis` + + + shuffle sh + + + Reshuffles all cards back into the deck. + + + `$sh` \ No newline at end of file From f97550ee3e1b299c0a9b692b78a12f1485ef9b11 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sat, 8 Oct 2016 12:04:46 +0200 Subject: [PATCH 055/135] Minor fix --- .../Modules/Administration/Administration.cs | 2 +- .../Resources/CommandStrings.Designer.cs | 56 +++++++++---------- src/NadekoBot/Resources/CommandStrings.resx | 12 ++-- 3 files changed, 35 insertions(+), 35 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index ee120b2f..5c3489ec 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -521,7 +521,7 @@ namespace NadekoBot.Modules.Administration [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] - public async Task NewAvatar(IUserMessage umsg, [Remainder] string img = null) + public async Task SetAvatar(IUserMessage umsg, [Remainder] string img = null) { var channel = (ITextChannel)umsg.Channel; diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index e99a1739..eeffeacd 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -303,7 +303,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to ani anime aq. + /// Looks up a localized string similar to anime ani aq. /// public static string anime_cmd { get { @@ -4217,33 +4217,6 @@ namespace NadekoBot.Resources { } } - /// - /// Looks up a localized string similar to newavatar setavatar. - /// - public static string newavatar_cmd { - get { - return ResourceManager.GetString("newavatar_cmd", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. . - /// - public static string newavatar_desc { - get { - return ResourceManager.GetString("newavatar_desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to `.setavatar http://i.imgur.com/xTG3a1I.jpg`. - /// - public static string newavatar_usage { - get { - return ResourceManager.GetString("newavatar_usage", resourceCulture); - } - } - /// /// Looks up a localized string similar to next n. /// @@ -5918,6 +5891,33 @@ namespace NadekoBot.Resources { } } + /// + /// Looks up a localized string similar to setavatar setav. + /// + public static string setavatar_cmd { + get { + return ResourceManager.GetString("setavatar_cmd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. . + /// + public static string setavatar_desc { + get { + return ResourceManager.GetString("setavatar_desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to `.setav http://i.imgur.com/xTG3a1I.jpg`. + /// + public static string setavatar_usage { + get { + return ResourceManager.GetString("setavatar_usage", resourceCulture); + } + } + /// /// Looks up a localized string similar to setchanlname schn. /// diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index 34b069bd..c3f0ce99 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -738,14 +738,14 @@ `.newnm BotName` - - newavatar setavatar + + setavatar setav - + Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. - - `.setavatar http://i.imgur.com/xTG3a1I.jpg` + + `.setav http://i.imgur.com/xTG3a1I.jpg` setgame @@ -2044,7 +2044,7 @@ `~yt query` - ani anime aq + anime ani aq Queries anilist for an anime and shows the first result. From c0562026bcbbd7642e3f30d18f76a9253af6a4e2 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sat, 8 Oct 2016 20:24:34 +0200 Subject: [PATCH 056/135] Fixed some stuff --- .../CustomReactions/CustomReactions.cs | 37 ++++++++++++++++--- src/NadekoBot/Modules/Gambling/Gambling.cs | 36 ++++++++++++++---- .../Modules/Permissions/Permissions.cs | 11 ++++++ .../Services/Database/Models/GuildConfig.cs | 2 +- 4 files changed, 71 insertions(+), 15 deletions(-) diff --git a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs index 0ecccb16..42199af1 100644 --- a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs +++ b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs @@ -18,18 +18,43 @@ namespace NadekoBot.Modules.CustomReactions public class CustomReactions : DiscordModule { public static HashSet GlobalReactions { get; } = new HashSet(); - public static ConcurrentDictionary> AllReactions { get; } = new ConcurrentDictionary>(); + public static ConcurrentDictionary> GuildReactions { get; } = new ConcurrentDictionary>(); static CustomReactions() { using (var uow = DbHandler.UnitOfWork()) { var items = uow.CustomReactions.GetAll(); - AllReactions = new ConcurrentDictionary>(items.Where(g => g.GuildId != null).GroupBy(k => k.GuildId.Value).ToDictionary(g => g.Key, g => new HashSet(g))); + GuildReactions = new ConcurrentDictionary>(items.Where(g => g.GuildId != null).GroupBy(k => k.GuildId.Value).ToDictionary(g => g.Key, g => new HashSet(g))); GlobalReactions = new HashSet(items.Where(g => g.GuildId == null)); } } public CustomReactions(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) { + client.MessageReceived += (imsg) => + { + var umsg = imsg as IUserMessage; + if (umsg == null) + return Task.CompletedTask; + + var channel = umsg.Channel as ITextChannel; + if (channel == null) + return Task.CompletedTask; + + var t = Task.Run(async () => + { + HashSet reactions; + GuildReactions.TryGetValue(channel.Guild.Id, out reactions); + if (reactions != null && reactions.Any()) + { + var reaction = reactions.Where(cr => cr.Trigger == umsg.Content).Shuffle().FirstOrDefault(); + if (reaction != null) + { + await channel.SendMessageAsync(reaction.Response).ConfigureAwait(false); + } + } + }); + return Task.CompletedTask; + }; } [NadekoCommand, Usage, Description, Aliases] @@ -40,7 +65,7 @@ namespace NadekoBot.Modules.CustomReactions if (string.IsNullOrWhiteSpace(message) || string.IsNullOrWhiteSpace(key)) return; - if ((channel == null && NadekoBot.Credentials.IsOwner(imsg.Author)) || (channel != null && ((IGuildUser)imsg.Author).GuildPermissions.Administrator)) + if ((channel == null && !NadekoBot.Credentials.IsOwner(imsg.Author)) || (channel != null && !((IGuildUser)imsg.Author).GuildPermissions.Administrator)) { try { await channel.SendMessageAsync("Insufficient permissions. Requires Bot ownership for global custom reactions, and Administrator for guild custom reactions."); } catch { } return; @@ -67,7 +92,7 @@ namespace NadekoBot.Modules.CustomReactions } else { - var reactions = AllReactions.GetOrAdd(channel.Guild.Id, new HashSet()); + var reactions = GuildReactions.GetOrAdd(channel.Guild.Id, new HashSet()); reactions.Add(cr); } @@ -85,7 +110,7 @@ namespace NadekoBot.Modules.CustomReactions if (channel == null) customReactions = GlobalReactions; else - customReactions = AllReactions.GetOrAdd(channel.Guild.Id, new HashSet()); + customReactions = GuildReactions.GetOrAdd(channel.Guild.Id, new HashSet()); if (customReactions == null || !customReactions.Any()) await channel.SendMessageAsync("`No custom reactions found`").ConfigureAwait(false); @@ -99,7 +124,7 @@ namespace NadekoBot.Modules.CustomReactions { var channel = imsg.Channel as ITextChannel; - if ((channel == null && NadekoBot.Credentials.IsOwner(imsg.Author)) || (channel != null && ((IGuildUser)imsg.Author).GuildPermissions.Administrator)) + if ((channel == null && !NadekoBot.Credentials.IsOwner(imsg.Author)) || (channel != null && !((IGuildUser)imsg.Author).GuildPermissions.Administrator)) { try { await channel.SendMessageAsync("Insufficient permissions. Requires Bot ownership for global custom reactions, and Administrator for guild custom reactions."); } catch { } return; diff --git a/src/NadekoBot/Modules/Gambling/Gambling.cs b/src/NadekoBot/Modules/Gambling/Gambling.cs index b47c45ce..6335295f 100644 --- a/src/NadekoBot/Modules/Gambling/Gambling.cs +++ b/src/NadekoBot/Modules/Gambling/Gambling.cs @@ -46,8 +46,9 @@ namespace NadekoBot.Modules.Gambling var usr = membersArray[new NadekoRandom().Next(0, membersArray.Length)]; await channel.SendMessageAsync($"**Raffled user:** {usr.Username} (id: {usr.Id})").ConfigureAwait(false); } - + [NadekoCommand, Usage, Description, Aliases] + [Priority(1)] public async Task Cash(IUserMessage umsg, [Remainder] IUser user = null) { var channel = umsg.Channel; @@ -63,7 +64,24 @@ namespace NadekoBot.Modules.Gambling await channel.SendMessageAsync($"{user.Username} has {amount} {config.CurrencySign}").ConfigureAwait(false); } - + + [NadekoCommand, Usage, Description, Aliases] + [Priority(0)] + public async Task Cash(IUserMessage umsg, ulong userId) + { + var channel = umsg.Channel; + + long amount; + BotConfig config; + using (var uow = DbHandler.UnitOfWork()) + { + amount = uow.Currency.GetUserCurrency(userId); + config = uow.BotConfig.GetOrCreate(); + } + + await channel.SendMessageAsync($"`{userId}` has {amount} {config.CurrencySign}").ConfigureAwait(false); + } + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Give(IUserMessage umsg, long amount, [Remainder] IGuildUser receiver) @@ -111,9 +129,10 @@ namespace NadekoBot.Modules.Gambling if (amount <= 0) return; - await CurrencyHandler.RemoveCurrencyAsync(user, $"Taken by bot owner.({umsg.Author.Username}/{umsg.Author.Id})", amount, true).ConfigureAwait(false); - - await channel.SendMessageAsync($"{umsg.Author.Mention} successfully took {amount} {Gambling.CurrencyName}s from {user}!").ConfigureAwait(false); + if(await CurrencyHandler.RemoveCurrencyAsync(user, $"Taken by bot owner.({umsg.Author.Username}/{umsg.Author.Id})", amount, true).ConfigureAwait(false)) + await channel.SendMessageAsync($"{umsg.Author.Mention} successfully took {amount} {Gambling.CurrencyPluralName} from {user}!").ConfigureAwait(false); + else + await channel.SendMessageAsync($"{umsg.Author.Mention} was unable to take {amount} {Gambling.CurrencyPluralName} from {user} because the user doesn't have that much {Gambling.CurrencyPluralName}!").ConfigureAwait(false); } @@ -126,9 +145,10 @@ namespace NadekoBot.Modules.Gambling if (amount <= 0) return; - await CurrencyHandler.RemoveCurrencyAsync(usrId, $"Taken by bot owner.({umsg.Author.Username}/{umsg.Author.Id})", amount).ConfigureAwait(false); - - await channel.SendMessageAsync($"{umsg.Author.Mention} successfully took {amount} {Gambling.CurrencyName}s from <@{usrId}>!").ConfigureAwait(false); + if(await CurrencyHandler.RemoveCurrencyAsync(usrId, $"Taken by bot owner.({umsg.Author.Username}/{umsg.Author.Id})", amount).ConfigureAwait(false)) + await channel.SendMessageAsync($"{umsg.Author.Mention} successfully took {amount} {Gambling.CurrencyName}s from <@{usrId}>!").ConfigureAwait(false); + else + await channel.SendMessageAsync($"{umsg.Author.Mention} was unable to take {amount} {Gambling.CurrencyPluralName} from `{usrId}` because the user doesn't have that much {Gambling.CurrencyPluralName}!").ConfigureAwait(false); } [NadekoCommand, Usage, Description, Aliases] diff --git a/src/NadekoBot/Modules/Permissions/Permissions.cs b/src/NadekoBot/Modules/Permissions/Permissions.cs index aa0ab412..94ba7ebb 100644 --- a/src/NadekoBot/Modules/Permissions/Permissions.cs +++ b/src/NadekoBot/Modules/Permissions/Permissions.cs @@ -490,6 +490,17 @@ namespace NadekoBot.Modules.Permissions State = action.Value, }; uow.GuildConfigs.SetNewRootPermission(channel.Guild.Id, newPerm); + + var allowUser = new Permission + { + PrimaryTarget = PrimaryPermissionType.User, + PrimaryTargetId = imsg.Author.Id, + SecondaryTarget = SecondaryPermissionType.AllModules, + SecondaryTargetName = "*", + State = true, + }; + + uow.GuildConfigs.SetNewRootPermission(channel.Guild.Id, allowUser); await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL MODULES` on this server.").ConfigureAwait(false); diff --git a/src/NadekoBot/Services/Database/Models/GuildConfig.cs b/src/NadekoBot/Services/Database/Models/GuildConfig.cs index 9dc7a57d..7084671d 100644 --- a/src/NadekoBot/Services/Database/Models/GuildConfig.cs +++ b/src/NadekoBot/Services/Database/Models/GuildConfig.cs @@ -44,7 +44,7 @@ namespace NadekoBot.Services.Database.Models //permissions public Permission RootPermission { get; set; } - public bool VerbosePermissions { get; set; } + public bool VerbosePermissions { get; set; } = true; public string PermissionRole { get; set; } = "Nadeko"; public HashSet CommandCooldowns { get; set; } = new HashSet(); From cca96a93a10a886dfe22eb3c973b8d78048e3ea7 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sat, 8 Oct 2016 21:01:40 +0200 Subject: [PATCH 057/135] draw usage fix --- src/NadekoBot/Resources/CommandStrings.Designer.cs | 4 ++-- src/NadekoBot/Resources/CommandStrings.resx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index eeffeacd..2aff97ab 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -2175,7 +2175,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Draws a card from the deck.If you supply number [x], she draws up to 5 cards from the deck.. + /// Looks up a localized string similar to Draws a card from the deck.If you supply number X, she draws up to 5 cards from the deck.. /// public static string draw_desc { get { @@ -2184,7 +2184,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `$draw [x]`. + /// Looks up a localized string similar to `$draw` or `$draw 5`. /// public static string draw_usage { get { diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index c3f0ce99..47bae782 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -1309,10 +1309,10 @@ draw - Draws a card from the deck.If you supply number [x], she draws up to 5 cards from the deck. + Draws a card from the deck.If you supply number X, she draws up to 5 cards from the deck. - `$draw [x]` + `$draw` or `$draw 5` shuffle sh From f41a8a16823ce150b4b67dc769398740617c9d2e Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sun, 9 Oct 2016 00:21:29 +0200 Subject: [PATCH 058/135] Fixed kick permission requirement --- src/NadekoBot/Modules/Administration/Administration.cs | 2 ++ src/NadekoBot/Modules/CustomReactions/CustomReactions.cs | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index 5c3489ec..0231f8d4 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -275,6 +275,7 @@ namespace NadekoBot.Modules.Administration [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] + [RequirePermission(GuildPermission.KickMembers)] public async Task Kick(IUserMessage umsg, IGuildUser user, [Remainder] string msg = null) { var channel = (ITextChannel)umsg.Channel; @@ -695,6 +696,7 @@ namespace NadekoBot.Modules.Administration [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] + [OwnerOnly] public async Task Donadd(IUserMessage umsg, IUser donator, int amount) { var channel = (ITextChannel)umsg.Channel; diff --git a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs index 42199af1..e634921f 100644 --- a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs +++ b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs @@ -49,9 +49,16 @@ namespace NadekoBot.Modules.CustomReactions var reaction = reactions.Where(cr => cr.Trigger == umsg.Content).Shuffle().FirstOrDefault(); if (reaction != null) { - await channel.SendMessageAsync(reaction.Response).ConfigureAwait(false); + try { await channel.SendMessageAsync(reaction.Response).ConfigureAwait(false); } catch { } + return; } } + var greaction = GlobalReactions.Where(cr => cr.Trigger == umsg.Content).Shuffle().FirstOrDefault(); + if (greaction != null) + { + try { await channel.SendMessageAsync(greaction.Response).ConfigureAwait(false); } catch { } + return; + } }); return Task.CompletedTask; }; From c426a1709b36b6dee7f7e5b45ba1a05ad5de8653 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sun, 9 Oct 2016 03:22:54 +0200 Subject: [PATCH 059/135] Permission pages --- src/NadekoBot/Modules/CustomReactions/CustomReactions.cs | 5 ++--- .../Modules/Permissions/Commands/CmdCdsCommands.cs | 2 ++ src/NadekoBot/Modules/Permissions/Permissions.cs | 6 ++++-- src/NadekoBot/Resources/CommandStrings.Designer.cs | 4 ++-- src/NadekoBot/Resources/CommandStrings.resx | 4 ++-- src/NadekoBot/Services/Database/Models/CustomReaction.cs | 2 +- 6 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs index e634921f..7e84b2e3 100644 --- a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs +++ b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs @@ -65,7 +65,6 @@ namespace NadekoBot.Modules.CustomReactions } [NadekoCommand, Usage, Description, Aliases] - [RequirePermission(GuildPermission.Administrator)] public async Task AddCustReact(IUserMessage imsg, string key, [Remainder] string message) { var channel = imsg.Channel as ITextChannel; @@ -120,9 +119,9 @@ namespace NadekoBot.Modules.CustomReactions customReactions = GuildReactions.GetOrAdd(channel.Guild.Id, new HashSet()); if (customReactions == null || !customReactions.Any()) - await channel.SendMessageAsync("`No custom reactions found`").ConfigureAwait(false); + await imsg.Channel.SendMessageAsync("`No custom reactions found`").ConfigureAwait(false); else - await channel.SendTableAsync(customReactions.OrderBy(cr => cr.Trigger).Skip((page - 1) * 10).Take(10), c => c.ToString()) + await imsg.Channel.SendMessageAsync(string.Join("\n", customReactions.OrderBy(cr => cr.Trigger).Skip((page - 1) * 10).Take(10))) .ConfigureAwait(false); } diff --git a/src/NadekoBot/Modules/Permissions/Commands/CmdCdsCommands.cs b/src/NadekoBot/Modules/Permissions/Commands/CmdCdsCommands.cs index b14fd452..d1f8ea51 100644 --- a/src/NadekoBot/Modules/Permissions/Commands/CmdCdsCommands.cs +++ b/src/NadekoBot/Modules/Permissions/Commands/CmdCdsCommands.cs @@ -92,6 +92,8 @@ namespace NadekoBot.Modules.Permissions public static bool HasCooldown(Command cmd, IGuild guild, IUser user) { + if (guild == null) + return false; var cmdcds = CmdCdsCommands.commandCooldowns.GetOrAdd(guild.Id, new HashSet()); CommandCooldown cdRule; if ((cdRule = cmdcds.FirstOrDefault(cc => cc.CommandName == cmd.Text.ToLowerInvariant())) != null) diff --git a/src/NadekoBot/Modules/Permissions/Permissions.cs b/src/NadekoBot/Modules/Permissions/Permissions.cs index 94ba7ebb..d8e2d167 100644 --- a/src/NadekoBot/Modules/Permissions/Permissions.cs +++ b/src/NadekoBot/Modules/Permissions/Permissions.cs @@ -61,16 +61,18 @@ namespace NadekoBot.Modules.Permissions [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] - public async Task ListPerms(IUserMessage msg) + public async Task ListPerms(IUserMessage msg, int page = 1) { var channel = (ITextChannel)msg.Channel; + if (page < 1 || page > 4) + return; string toSend = ""; using (var uow = DbHandler.UnitOfWork()) { var perms = uow.GuildConfigs.PermissionsFor(channel.Guild.Id).RootPermission; var i = 1; - toSend = String.Join("\n", perms.AsEnumerable().Select(p => $"`{(i++)}.` {(p.Next == null ? Format.Bold(p.GetCommand(channel.Guild) + " [uneditable]") : (p.GetCommand(channel.Guild)))}")); + toSend = Format.Code($"Permissions page {page}") + "\n\n" + String.Join("\n", perms.AsEnumerable().Skip((page - 1) * 20).Take(20).Select(p => $"`{(i++)}.` {(p.Next == null ? Format.Bold(p.GetCommand(channel.Guild) + " [uneditable]") : (p.GetCommand(channel.Guild)))}")); } if (string.IsNullOrWhiteSpace(toSend)) diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index 2aff97ab..074519bc 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -3444,7 +3444,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Lists whole permission chain with their indexes.. + /// Looks up a localized string similar to Lists whole permission chain with their indexes. You can specify optional page number if there are a lot of permissions. /// public static string listperms_desc { get { @@ -3453,7 +3453,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `;lp`. + /// Looks up a localized string similar to `;lp` or `;lp 3`. /// public static string listperms_usage { get { diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index 47bae782..8b5ee7e4 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -2557,10 +2557,10 @@ cash $$ - Lists whole permission chain with their indexes. + Lists whole permission chain with their indexes. You can specify optional page number if there are a lot of permissions - `;lp` + `;lp` or `;lp 3` listperms lp diff --git a/src/NadekoBot/Services/Database/Models/CustomReaction.cs b/src/NadekoBot/Services/Database/Models/CustomReaction.cs index 180b85b9..d6f061c1 100644 --- a/src/NadekoBot/Services/Database/Models/CustomReaction.cs +++ b/src/NadekoBot/Services/Database/Models/CustomReaction.cs @@ -15,7 +15,7 @@ namespace NadekoBot.Services.Database.Models public string Response { get; set; } public string Trigger { get; set; } public bool IsRegex { get; set; } - public override string ToString() => $"Id: {Id}\nTrigger: {Trigger}\n Regex: {IsRegex}"; + public override string ToString() => $"`#{Id}` `Trigger:` {Trigger}\n `Response:` {Response}"; } public class ReactionResponse : DbEntity From b69f416295781831e3b7c845e0a8d86e0a3a1051 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sun, 9 Oct 2016 04:26:14 +0200 Subject: [PATCH 060/135] Fixes to custom reactions, invite link in help now works --- .../Modules/CustomReactions/CustomReactions.cs | 14 ++++++++------ src/NadekoBot/Services/IBotCredentials.cs | 4 +++- src/NadekoBot/Services/Impl/BotCredentials.cs | 8 ++++++-- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs index 7e84b2e3..56892853 100644 --- a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs +++ b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs @@ -73,7 +73,7 @@ namespace NadekoBot.Modules.CustomReactions if ((channel == null && !NadekoBot.Credentials.IsOwner(imsg.Author)) || (channel != null && !((IGuildUser)imsg.Author).GuildPermissions.Administrator)) { - try { await channel.SendMessageAsync("Insufficient permissions. Requires Bot ownership for global custom reactions, and Administrator for guild custom reactions."); } catch { } + try { await imsg.Channel.SendMessageAsync("Insufficient permissions. Requires Bot ownership for global custom reactions, and Administrator for guild custom reactions."); } catch { } return; } @@ -102,7 +102,7 @@ namespace NadekoBot.Modules.CustomReactions reactions.Add(cr); } - await channel.SendMessageAsync($"`Added new custom reaction:`\n\t`Trigger:` {key}\n\t`Response:` {message}").ConfigureAwait(false); + await imsg.Channel.SendMessageAsync($"`Added new custom reaction:`\n\t`Trigger:` {key}\n\t`Response:` {message}").ConfigureAwait(false); } [NadekoCommand, Usage, Description, Aliases] @@ -132,7 +132,7 @@ namespace NadekoBot.Modules.CustomReactions if ((channel == null && !NadekoBot.Credentials.IsOwner(imsg.Author)) || (channel != null && !((IGuildUser)imsg.Author).GuildPermissions.Administrator)) { - try { await channel.SendMessageAsync("Insufficient permissions. Requires Bot ownership for global custom reactions, and Administrator for guild custom reactions."); } catch { } + try { await imsg.Channel.SendMessageAsync("Insufficient permissions. Requires Bot ownership for global custom reactions, and Administrator for guild custom reactions."); } catch { } return; } @@ -147,11 +147,13 @@ namespace NadekoBot.Modules.CustomReactions if (toDelete.GuildId == null && channel == null) { uow.CustomReactions.Remove(toDelete); + success = true; } - else if (toDelete.GuildId != null && channel.Guild.Id == toDelete.GuildId) + else if (toDelete.GuildId != null && channel?.Guild.Id == toDelete.GuildId) { uow.CustomReactions.Remove(toDelete); + GuildReactions.GetOrAdd(channel.Guild.Id, new HashSet()).RemoveWhere(cr => cr.Id == toDelete.Id); success = true; } if(success) @@ -159,9 +161,9 @@ namespace NadekoBot.Modules.CustomReactions } if (success) - await channel.SendMessageAsync("**Successfully deleted custom reaction** " + toDelete.ToString()).ConfigureAwait(false); + await imsg.Channel.SendMessageAsync("**Successfully deleted custom reaction** " + toDelete.ToString()).ConfigureAwait(false); else - await channel.SendMessageAsync("Failed to find that custom reaction.").ConfigureAwait(false); + await imsg.Channel.SendMessageAsync("`Failed to find that custom reaction.`").ConfigureAwait(false); } } } diff --git a/src/NadekoBot/Services/IBotCredentials.cs b/src/NadekoBot/Services/IBotCredentials.cs index 385b0e27..64b5f7d7 100644 --- a/src/NadekoBot/Services/IBotCredentials.cs +++ b/src/NadekoBot/Services/IBotCredentials.cs @@ -6,7 +6,9 @@ namespace NadekoBot.Services { public interface IBotCredentials { - string ClientId { get; } + ulong ClientId { get; } + ulong BotId { get; } + string Token { get; } string GoogleApiKey { get; } ulong[] OwnerIds { get; } diff --git a/src/NadekoBot/Services/Impl/BotCredentials.cs b/src/NadekoBot/Services/Impl/BotCredentials.cs index 5a540c5b..9343efd9 100644 --- a/src/NadekoBot/Services/Impl/BotCredentials.cs +++ b/src/NadekoBot/Services/Impl/BotCredentials.cs @@ -12,7 +12,8 @@ namespace NadekoBot.Services.Impl { private Logger _log; - public string ClientId { get; } + public ulong ClientId { get; } + public ulong BotId { get; } public string GoogleApiKey { get; } @@ -42,7 +43,8 @@ namespace NadekoBot.Services.Impl MashapeKey = cm.MashapeKey; OsuApiKey = cm.OsuApiKey; TotalShards = cm.TotalShards < 1 ? 1 : cm.TotalShards; - SoundCloudClientId = cm.SoundCloudClientId; + BotId = cm.BotId ?? cm.ClientId; + ClientId = cm.ClientId; if (cm.Db == null) Db = new DB("sqlite", ""); else @@ -58,6 +60,8 @@ namespace NadekoBot.Services.Impl private class CredentialsModel { + public ulong ClientId { get; set; } + public ulong? BotId { get; set; } public string Token { get; set; } public ulong[] OwnerIds { get; set; } public string LoLApiKey { get; set; } From 19d67e3c2f73329c516f860f5148dadb951c23a8 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sun, 9 Oct 2016 05:01:56 +0200 Subject: [PATCH 061/135] Auto adding requirements to help description --- .../Administration/Commands/LogCommand.cs | 4 ++++ src/NadekoBot/Modules/Help/Help.cs | 17 ++++++++++++++++- .../Resources/CommandStrings.Designer.cs | 2 +- src/NadekoBot/Resources/CommandStrings.resx | 2 +- 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs b/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs index 05de36b0..890a6302 100644 --- a/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs +++ b/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs @@ -484,6 +484,7 @@ namespace NadekoBot.Modules.Administration [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] + [RequirePermission(GuildPermission.Administrator)] [OwnerOnly] public async Task LogServer(IUserMessage msg) { @@ -507,6 +508,7 @@ namespace NadekoBot.Modules.Administration [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] + [RequirePermission(GuildPermission.Administrator)] [OwnerOnly] public async Task LogIgnore(IUserMessage imsg) { @@ -602,6 +604,7 @@ namespace NadekoBot.Modules.Administration [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] + [RequirePermission(GuildPermission.Administrator)] public async Task UserPresence(IUserMessage imsg) { var channel = (ITextChannel)imsg.Channel; @@ -624,6 +627,7 @@ namespace NadekoBot.Modules.Administration [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] + [RequirePermission(GuildPermission.Administrator)] public async Task VoicePresence(IUserMessage imsg) { var channel = (ITextChannel)imsg.Channel; diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index 164a0b79..91a507aa 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -109,10 +109,25 @@ namespace NadekoBot.Modules.Help if (alias != null) str += $" / `{ alias }`"; if (com != null) - await channel.SendMessageAsync(str + $@"{Environment.NewLine}**Desc:** {com.Summary} + await channel.SendMessageAsync(str + $@"{Environment.NewLine}**Desc:** {com.Summary} {GetCommandRequirements(com)} **Usage:** {com.Remarks}").ConfigureAwait(false); } + private string GetCommandRequirements(Command cmd) + { + return String.Join(" ", cmd.Source.CustomAttributes + .Where(ca => ca.AttributeType == typeof(OwnerOnlyAttribute) || ca.AttributeType == typeof(RequirePermissionAttribute)) + .Select(ca => + { + if (ca.AttributeType == typeof(OwnerOnlyAttribute)) + return "**Bot owner only.**"; + else if (ca.AttributeType == typeof(RequirePermissionAttribute)) + return $"**Requires {(GuildPermission)ca.ConstructorArguments.FirstOrDefault().Value} server permission.**".Replace("Guild", "Server"); + else + return $"**Requires {(GuildPermission)ca.ConstructorArguments.FirstOrDefault().Value} channel permission.**".Replace("Guild", "Server"); + })); + } + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index 074519bc..76619e58 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -5802,7 +5802,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `.send sid. + /// Looks up a localized string similar to `.send sid`. /// public static string send_usage { get { diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index 8b5ee7e4..df318b2b 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -763,7 +763,7 @@ Send a message to someone on a different server through the bot. - `.send sid + `.send sid` mentionrole menro From 96289a18443b893a568e18878f2ea6d4af178e84 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sun, 9 Oct 2016 05:12:46 +0200 Subject: [PATCH 062/135] Updated lcr and .dcr descriptions --- src/NadekoBot/Resources/CommandStrings.Designer.cs | 6 +++--- src/NadekoBot/Resources/CommandStrings.resx | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index 76619e58..055cceaf 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -1851,7 +1851,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Deletes a custom reaction with given name (and index).. + /// Looks up a localized string similar to Deletes a custom reaction on a specific index. If ran in DM, it is bot owner only and deletes a global custom reaction. If ran in a server, it requires Administration priviledges and removes server custom reaction.. /// public static string delcustreact_desc { get { @@ -1860,7 +1860,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `.dcr index`. + /// Looks up a localized string similar to `.dcr 5`. /// public static string delcustreact_usage { get { @@ -3390,7 +3390,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Lists custom reactions (paginated with 30 commands per page). Use 'all' instead of page number to get all custom reactions DM-ed to you.. + /// Looks up a localized string similar to Lists global or server custom reactions (15 commands per page). Running the command in DM will list global custom reactions, while running it in server will list that server's custom reactions.. /// public static string listcustreact_desc { get { diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index df318b2b..7d3b896c 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -445,7 +445,7 @@ listcustreact lcr - Lists custom reactions (paginated with 30 commands per page). Use 'all' instead of page number to get all custom reactions DM-ed to you. + Lists global or server custom reactions (15 commands per page). Running the command in DM will list global custom reactions, while running it in server will list that server's custom reactions. `.lcr 1` @@ -472,10 +472,10 @@ delcustreact dcr - Deletes a custom reaction with given name (and index). + Deletes a custom reaction on a specific index. If ran in DM, it is bot owner only and deletes a global custom reaction. If ran in a server, it requires Administration priviledges and removes server custom reaction. - `.dcr index` + `.dcr 5` autoassignrole aar From 0bc377b0c25300da399de512bea2898d919daa65 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sun, 9 Oct 2016 05:14:58 +0200 Subject: [PATCH 063/135] Updated .acr description --- src/NadekoBot/Resources/CommandStrings.Designer.cs | 2 +- src/NadekoBot/Resources/CommandStrings.resx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index 055cceaf..b5ef1d94 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -96,7 +96,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Add a custom reaction. Guide here: <https://github.com/Kwoth/NadekoBot/wiki/Custom-Reactions>. + /// Looks up a localized string similar to Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: <https://github.com/Kwoth/NadekoBot/wiki/Custom-Reactions>. /// public static string addcustreact_desc { get { diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index 7d3b896c..7ea75246 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -436,7 +436,7 @@ addcustreact acr - Add a custom reaction. Guide here: <https://github.com/Kwoth/NadekoBot/wiki/Custom-Reactions> + Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: <https://github.com/Kwoth/NadekoBot/wiki/Custom-Reactions> `.acr "hello" Hi there %user%` From ae998c36b3d1cfc5319a0df4bd4bc1baa9d6559f Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sun, 9 Oct 2016 06:38:46 +0200 Subject: [PATCH 064/135] Response placeholders work. will do trigger placeholders tomorrow --- .../20161009041508_second.Designer.cs | 757 ++++++++++++++++++ .../Migrations/20161009041508_second.cs | 25 + .../NadekoSqliteContextModelSnapshot.cs | 2 + .../CustomReactions/CustomReactions.cs | 10 +- .../Modules/CustomReactions/Extensions.cs | 38 + .../Database/Models/CustomReaction.cs | 4 +- 6 files changed, 830 insertions(+), 6 deletions(-) create mode 100644 src/NadekoBot/Migrations/20161009041508_second.Designer.cs create mode 100644 src/NadekoBot/Migrations/20161009041508_second.cs create mode 100644 src/NadekoBot/Modules/CustomReactions/Extensions.cs diff --git a/src/NadekoBot/Migrations/20161009041508_second.Designer.cs b/src/NadekoBot/Migrations/20161009041508_second.Designer.cs new file mode 100644 index 00000000..25a7fb06 --- /dev/null +++ b/src/NadekoBot/Migrations/20161009041508_second.Designer.cs @@ -0,0 +1,757 @@ +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using NadekoBot.Services.Database.Impl; + +namespace NadekoBot.Migrations +{ + [DbContext(typeof(NadekoSqliteContext))] + [Migration("20161009041508_second")] + partial class second + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { + modelBuilder + .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ItemId"); + + b.Property("Type"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("BlacklistItem"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BufferSize"); + + b.Property("CurrencyGenerationChance"); + + b.Property("CurrencyGenerationCooldown"); + + b.Property("CurrencyName"); + + b.Property("CurrencyPluralName"); + + b.Property("CurrencySign"); + + b.Property("DMHelpString"); + + b.Property("DontJoinServers"); + + b.Property("ForwardMessages"); + + b.Property("ForwardToAllOwners"); + + b.Property("HelpString"); + + b.Property("MigrationVersion"); + + b.Property("RemindMessageFormat"); + + b.Property("RotatingStatuses"); + + b.HasKey("Id"); + + b.ToTable("BotConfig"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BaseDestroyed"); + + b.Property("CallUser"); + + b.Property("ClashWarId"); + + b.Property("Stars"); + + b.Property("TimeAdded"); + + b.HasKey("Id"); + + b.HasIndex("ClashWarId"); + + b.ToTable("ClashCallers"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("EnemyClan"); + + b.Property("GuildId"); + + b.Property("Size"); + + b.Property("StartedAt"); + + b.Property("WarState"); + + b.HasKey("Id"); + + b.ToTable("ClashOfClans"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.CommandCooldown", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("CommandName"); + + b.Property("GuildConfigId"); + + b.Property("Seconds"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("CommandCooldown"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("InternalTrigger"); + + b.Property("Modifier"); + + b.Property("UnitType"); + + b.HasKey("Id"); + + b.ToTable("ConversionUnits"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Currency"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.CustomReaction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildId"); + + b.Property("IsRegex"); + + b.Property("OwnerOnly"); + + b.Property("Response"); + + b.Property("Trigger"); + + b.HasKey("Id"); + + b.ToTable("CustomReactions"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("Name"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Donators"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("EightBallResponses"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildConfigId"); + + b.Property("GuildConfigId1"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.HasIndex("GuildConfigId1"); + + b.ToTable("FilterChannelId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildConfigId"); + + b.Property("Word"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FilteredWord"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildConfigId"); + + b.Property("GuildId"); + + b.Property("LastStatus"); + + b.Property("Type"); + + b.Property("Username"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FollowedStream"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AutoAssignRoleId"); + + b.Property("AutoDeleteByeMessages"); + + b.Property("AutoDeleteGreetMessages"); + + b.Property("AutoDeleteGreetMessagesTimer"); + + b.Property("AutoDeleteSelfAssignedRoleMessages"); + + b.Property("ByeMessageChannelId"); + + b.Property("ChannelByeMessageText"); + + b.Property("ChannelGreetMessageText"); + + b.Property("DefaultMusicVolume"); + + b.Property("DeleteMessageOnCommand"); + + b.Property("DmGreetMessageText"); + + b.Property("ExclusiveSelfAssignedRoles"); + + b.Property("FilterInvites"); + + b.Property("FilterWords"); + + b.Property("GenerateCurrencyChannelId"); + + b.Property("GreetMessageChannelId"); + + b.Property("GuildId"); + + b.Property("LogSettingId"); + + b.Property("PermissionRole"); + + b.Property("RootPermissionId"); + + b.Property("SendChannelByeMessage"); + + b.Property("SendChannelGreetMessage"); + + b.Property("SendDmGreetMessage"); + + b.Property("VerbosePermissions"); + + b.Property("VoicePlusTextEnabled"); + + b.HasKey("Id"); + + b.HasIndex("GuildId") + .IsUnique(); + + b.HasIndex("LogSettingId"); + + b.HasIndex("RootPermissionId"); + + b.ToTable("GuildConfigs"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredLogChannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredVoicePresenceCHannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelCreated"); + + b.Property("ChannelDestroyed"); + + b.Property("ChannelId"); + + b.Property("ChannelUpdated"); + + b.Property("IsLogging"); + + b.Property("LogUserPresence"); + + b.Property("LogVoicePresence"); + + b.Property("MessageDeleted"); + + b.Property("MessageUpdated"); + + b.Property("UserBanned"); + + b.Property("UserJoined"); + + b.Property("UserLeft"); + + b.Property("UserPresenceChannelId"); + + b.Property("UserUnbanned"); + + b.Property("UserUpdated"); + + b.Property("VoicePresenceChannelId"); + + b.HasKey("Id"); + + b.ToTable("LogSettings"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ModuleName"); + + b.Property("Prefix"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("ModulePrefixes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.MusicPlaylist", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("AuthorId"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.ToTable("MusicPlaylists"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("NextId"); + + b.Property("PrimaryTarget"); + + b.Property("PrimaryTargetId"); + + b.Property("SecondaryTarget"); + + b.Property("SecondaryTargetName"); + + b.Property("State"); + + b.HasKey("Id"); + + b.HasIndex("NextId") + .IsUnique(); + + b.ToTable("Permission"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Status"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("PlayingStatus"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("MusicPlaylistId"); + + b.Property("Provider"); + + b.Property("ProviderType"); + + b.Property("Query"); + + b.Property("Title"); + + b.Property("Uri"); + + b.HasKey("Id"); + + b.HasIndex("MusicPlaylistId"); + + b.ToTable("PlaylistSong"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AuthorId"); + + b.Property("AuthorName") + .IsRequired(); + + b.Property("GuildId"); + + b.Property("Keyword") + .IsRequired(); + + b.Property("Text") + .IsRequired(); + + b.HasKey("Id"); + + b.ToTable("Quotes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Icon"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("RaceAnimals"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("IsPrivate"); + + b.Property("Message"); + + b.Property("ServerId"); + + b.Property("UserId"); + + b.Property("When"); + + b.HasKey("Id"); + + b.ToTable("Reminders"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildId"); + + b.Property("Interval"); + + b.Property("Message"); + + b.HasKey("Id"); + + b.HasIndex("ChannelId") + .IsUnique(); + + b.ToTable("Repeaters"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildId"); + + b.Property("RoleId"); + + b.HasKey("Id"); + + b.HasIndex("GuildId", "RoleId") + .IsUnique(); + + b.ToTable("SelfAssignableRoles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.ToTable("TypingArticles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("Blacklist") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") + .WithMany("Bases") + .HasForeignKey("ClashWarId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.CommandCooldown", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("CommandCooldowns") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("EightBallResponses") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilterInvitesChannelIds") + .HasForeignKey("GuildConfigId"); + + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilterWordsChannelIds") + .HasForeignKey("GuildConfigId1"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FilteredWords") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FollowedStreams") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany() + .HasForeignKey("LogSettingId"); + + b.HasOne("NadekoBot.Services.Database.Models.Permission", "RootPermission") + .WithMany() + .HasForeignKey("RootPermissionId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredChannels") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredVoicePresenceChannelIds") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") + .WithMany("ModulePrefixes") + .HasForeignKey("BotConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.HasOne("NadekoBot.Services.Database.Models.Permission", "Next") + .WithOne("Previous") + .HasForeignKey("NadekoBot.Services.Database.Models.Permission", "NextId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RotatingStatusMessages") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => + { + b.HasOne("NadekoBot.Services.Database.Models.MusicPlaylist") + .WithMany("Songs") + .HasForeignKey("MusicPlaylistId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RaceAnimals") + .HasForeignKey("BotConfigId"); + }); + } + } +} diff --git a/src/NadekoBot/Migrations/20161009041508_second.cs b/src/NadekoBot/Migrations/20161009041508_second.cs new file mode 100644 index 00000000..0d02f292 --- /dev/null +++ b/src/NadekoBot/Migrations/20161009041508_second.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using Microsoft.EntityFrameworkCore.Migrations; + +namespace NadekoBot.Migrations +{ + public partial class second : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "OwnerOnly", + table: "CustomReactions", + nullable: false, + defaultValue: false); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "OwnerOnly", + table: "CustomReactions"); + } + } +} diff --git a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs index 4dac2599..0acf0498 100644 --- a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs +++ b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs @@ -175,6 +175,8 @@ namespace NadekoBot.Migrations b.Property("IsRegex"); + b.Property("OwnerOnly"); + b.Property("Response"); b.Property("Trigger"); diff --git a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs index 56892853..1df05284 100644 --- a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs +++ b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs @@ -13,7 +13,7 @@ using Discord; using NadekoBot.Extensions; namespace NadekoBot.Modules.CustomReactions -{ +{ [NadekoModule("CustomReactions",".")] public class CustomReactions : DiscordModule { @@ -46,17 +46,17 @@ namespace NadekoBot.Modules.CustomReactions GuildReactions.TryGetValue(channel.Guild.Id, out reactions); if (reactions != null && reactions.Any()) { - var reaction = reactions.Where(cr => cr.Trigger == umsg.Content).Shuffle().FirstOrDefault(); + var reaction = reactions.Where(cr => cr.TriggerWithContext(umsg) == umsg.Content).Shuffle().FirstOrDefault(); if (reaction != null) { - try { await channel.SendMessageAsync(reaction.Response).ConfigureAwait(false); } catch { } + try { await channel.SendMessageAsync(reaction.ResponseWithContext(umsg)).ConfigureAwait(false); } catch { } return; } } - var greaction = GlobalReactions.Where(cr => cr.Trigger == umsg.Content).Shuffle().FirstOrDefault(); + var greaction = GlobalReactions.Where(cr => cr.TriggerWithContext(umsg) == umsg.Content).Shuffle().FirstOrDefault(); if (greaction != null) { - try { await channel.SendMessageAsync(greaction.Response).ConfigureAwait(false); } catch { } + try { await channel.SendMessageAsync(greaction.ResponseWithContext(umsg)).ConfigureAwait(false); } catch { } return; } }); diff --git a/src/NadekoBot/Modules/CustomReactions/Extensions.cs b/src/NadekoBot/Modules/CustomReactions/Extensions.cs new file mode 100644 index 00000000..ba6d2131 --- /dev/null +++ b/src/NadekoBot/Modules/CustomReactions/Extensions.cs @@ -0,0 +1,38 @@ +using Discord; +using NadekoBot.Extensions; +using NadekoBot.Services; +using NadekoBot.Services.Database.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace NadekoBot.Modules.CustomReactions +{ + public static class Extensions + { + public static Dictionary> placeholders = new Dictionary>() + { + {"%mention%", (ctx) => { return $"<@!{NadekoBot.Client.GetCurrentUser().Id}>"; } }, + {"%user%", (ctx) => { return ctx.Author.Mention; } }, + {"%target%", (ctx) => { return ctx.MentionedUsers.Shuffle().FirstOrDefault()?.Mention ?? "Nobody"; } }, + {"%rng%", (ctx) => { return new NadekoRandom().Next(0,10).ToString(); } } + }; + + private static string ResolveCRString(this string str, IUserMessage ctx) + { + foreach (var ph in placeholders) + { + str = str.Replace(ph.Key, ph.Value(ctx)); + } + return str; + } + + public static string TriggerWithContext(this CustomReaction cr, IUserMessage ctx) + => cr.Trigger.ResolveCRString(ctx); + + public static string ResponseWithContext(this CustomReaction cr, IUserMessage ctx) + => cr.Response.ResolveCRString(ctx); + } +} diff --git a/src/NadekoBot/Services/Database/Models/CustomReaction.cs b/src/NadekoBot/Services/Database/Models/CustomReaction.cs index d6f061c1..3b436060 100644 --- a/src/NadekoBot/Services/Database/Models/CustomReaction.cs +++ b/src/NadekoBot/Services/Database/Models/CustomReaction.cs @@ -1,4 +1,5 @@ -using System; +using Discord; +using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; @@ -15,6 +16,7 @@ namespace NadekoBot.Services.Database.Models public string Response { get; set; } public string Trigger { get; set; } public bool IsRegex { get; set; } + public bool OwnerOnly { get; set; } public override string ToString() => $"`#{Id}` `Trigger:` {Trigger}\n `Response:` {Response}"; } From 0c9fa4b453f64f4edc78fa9c97cf79cd57f31e74 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sun, 9 Oct 2016 21:58:39 +0200 Subject: [PATCH 065/135] Fixed dm help string --- src/NadekoBot/Modules/CustomReactions/Extensions.cs | 2 +- src/NadekoBot/Modules/Help/Help.cs | 9 --------- src/NadekoBot/Services/CommandHandler.cs | 8 ++++++++ 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/NadekoBot/Modules/CustomReactions/Extensions.cs b/src/NadekoBot/Modules/CustomReactions/Extensions.cs index ba6d2131..147d6dcf 100644 --- a/src/NadekoBot/Modules/CustomReactions/Extensions.cs +++ b/src/NadekoBot/Modules/CustomReactions/Extensions.cs @@ -14,7 +14,7 @@ namespace NadekoBot.Modules.CustomReactions { public static Dictionary> placeholders = new Dictionary>() { - {"%mention%", (ctx) => { return $"<@!{NadekoBot.Client.GetCurrentUser().Id}>"; } }, + {"%mention%", (ctx) => { return $"<@{NadekoBot.Client.GetCurrentUser().Id}>"; } }, {"%user%", (ctx) => { return ctx.Author.Mention; } }, {"%target%", (ctx) => { return ctx.MentionedUsers.Shuffle().FirstOrDefault()?.Mention ?? "Nobody"; } }, {"%rng%", (ctx) => { return new NadekoRandom().Next(0,10).ToString(); } } diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index 91a507aa..2084f19b 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -36,15 +36,6 @@ namespace NadekoBot.Modules.Help public Help(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) { - client.MessageReceived += async (msg) => - { - if (msg.Author.IsBot) - return; - if (msg.Channel is IPrivateChannel) - { - await msg.Channel.SendMessageAsync(DMHelpString).ConfigureAwait(false); - } - }; } [NadekoCommand, Usage, Description, Aliases] diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index 15c7c752..da9cbe68 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -16,6 +16,7 @@ using Discord.Net; using NadekoBot.Extensions; using static NadekoBot.Modules.Permissions.Permissions; using System.Collections.Concurrent; +using NadekoBot.Modules.Help; namespace NadekoBot.Services { @@ -160,6 +161,13 @@ namespace NadekoBot.Services await msg.Channel.SendMessageAsync(":warning: " + result.ErrorReason).ConfigureAwait(false); } } + else + { + if (msg.Channel is IPrivateChannel) + { + await msg.Channel.SendMessageAsync(Help.DMHelpString).ConfigureAwait(false); + } + } } catch (Exception ex) { From a81ba998e3e0a2e8cf7e31b1587ee3ade3e5da04 Mon Sep 17 00:00:00 2001 From: Jordan Fearnley Date: Sun, 9 Oct 2016 20:59:20 +0100 Subject: [PATCH 066/135] Create Permissions System.md --- docs/Permissions System.md | 78 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 docs/Permissions System.md diff --git a/docs/Permissions System.md b/docs/Permissions System.md new file mode 100644 index 00000000..143addc3 --- /dev/null +++ b/docs/Permissions System.md @@ -0,0 +1,78 @@ +Permissions Overview +=================== +Have you ever felt confused or even overwhelmed when trying to set Nadeko's permissions? In this guide we will be explaining how to use the +permission commands correctly and even cover a few common questions! Every command we discuss here can be found in the [Commands List](http://nadekobot.readthedocs.io/en/latest/Commands%20List/#permissions). + +**To see the old guide for version 0.9 and below, see [here](http://nadekobot.readthedocs.io/en/stable/Permissions%20System/)** + +Why do we use the Permissions Commands? +------------------------------ +Permissions are very handy at setting who can use what commands in a server. By default, the NSFW module is blocked, but nothing else is. If something is a bot owner only command, it can only be ran by the bot owner, the person who is running the bot, or has their id in [`credentials.json`](http://nadekobot.readthedocs.io/en/latest/JSON%20Explanations/ "Setting up your credentials"). + +The administration module still requires that you have the correct permissions on discord to be able to use these commands, so for users to be able to use commands like `.kick` and `.prune`, they need kick and mange messages permissions respectively. + +With the permissions system it possible to restrict who can skip the current song, pick NadekoFlowers or use the NSFW module. + +First Time Setup +------------------ +To change permissions you **must** meet the following requirement: + +**Have the role specified by `;permrole` (By default, this is Nadeko)** + +If you have an existing role called "Nadeko" but can't assign it to yourself, create a new role called "Nadeko" and assign that to yourself. + +If you would like to set a different role, such as "Admins", to be the role required to edit permissions, do `;permrole Admins` (you must have the current permission role to be able to do this). + +Basics & Hierarchy +----- +The [Commands List](http://nadekobot.readthedocs.io/en/latest/Commands%20List/#permissions) is a great resource which lists **all** the available commands, however we'll go over a few commands here. + +Firstly, let's explain how the permissions system works - It's simple once you figure out how each command works! +The permissions system works as a chain, everytime a command is used, the permissions chain is checked. Starting from the top of the chain, the command is compared to a rule, if it isn't either allowed or disallowed by that rule it proceeds to check the next rule all the way till it reaches the bottom rule, which allows all commands. + +To view this permissions chain, do `;listperms`, with the top of the chain being rule number 1, shown at the top of the message. + +If you want to remove a permission from the chain of permissions, do `;removeperm X` to remove rule number X and similarly, do `;moveperm X Y` to move rule number X to number Y (moving, not swapping!). + +As an example, if you wanted to enable NSFW for a certain role, say "Lewd", you could do `;rolemdl NSFW enable Lewd`. +This adds the rule to the top of the permissions chain so even if the default `;sm NSFW disabled` rule exists, the "Lewd" role will be able to use the NSFW module. + +If you want the bot to notify users why they can't use a command or module, use `;verbose true` and Nadeko will tell you what rule is preventing the command. + +Commonly Asked Questions +--------------- + +###How do I create a music DJ? +To allow users to only see the current song and have a DJ role for queuing follow these five steps: + +1. `;sm Music disable` + + * Disables music commands for everybody + +2. `;sc !!nowplaying enable` + + * Enables the "nowplaying" command for everyone + +3. `;sc !!getlink enable` + + * Enables the "getlink" command for everyone + +4. `;sc !!listqueue enable` + + * Enables the "listqueue" command for everyone + +5. `;rm Music enable DJ` + + * Enables all the music commands only for the DJ role + + +###How do I create a NSFW channel? +Say you want to only enable NSFW commands in the #NSFW channel, just do the following two steps. + +1. `;sm NSFW disable` + * Disables the NSFW module from being used + +2. `;cm NSFW enable #NSFW` + * Enables the NSFW module for use in the #NSFW channel + +_-- Thanks to @applemac for providing the template for this guide_ From 5b0db95cb40a9cae49914383fc83db20951cd2f5 Mon Sep 17 00:00:00 2001 From: Jordan Fearnley Date: Sun, 9 Oct 2016 21:11:58 +0100 Subject: [PATCH 067/135] This is barely a change Literally just adding the letter "s" --- docs/Permissions System.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Permissions System.md b/docs/Permissions System.md index 143addc3..f6386782 100644 --- a/docs/Permissions System.md +++ b/docs/Permissions System.md @@ -3,7 +3,7 @@ Permissions Overview Have you ever felt confused or even overwhelmed when trying to set Nadeko's permissions? In this guide we will be explaining how to use the permission commands correctly and even cover a few common questions! Every command we discuss here can be found in the [Commands List](http://nadekobot.readthedocs.io/en/latest/Commands%20List/#permissions). -**To see the old guide for version 0.9 and below, see [here](http://nadekobot.readthedocs.io/en/stable/Permissions%20System/)** +**To see the old guide for versions 0.9 and below, see [here](http://nadekobot.readthedocs.io/en/stable/Permissions%20System/)** Why do we use the Permissions Commands? ------------------------------ From a9235dad93baeebf51edef3e941a9d35b35aba9d Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sun, 9 Oct 2016 22:40:14 +0200 Subject: [PATCH 068/135] Sanitized everything i could think of so far which which could cause accidental @everyone or @here mentions --- .../Commands/ServerGreetCommands.cs | 15 +++--- .../Games/Commands/SpeedTypingCommands.cs | 53 +++++++++++-------- .../Commands/Trivia/TriviaQuestionPool.cs | 5 +- .../Modules/Utility/Commands/InfoCommands.cs | 2 +- .../Modules/Utility/Commands/QuoteCommands.cs | 3 +- .../Modules/Utility/Commands/Remind.cs | 8 +-- src/NadekoBot/Modules/Utility/Utility.cs | 6 +-- src/NadekoBot/_Extensions/Extensions.cs | 3 ++ 8 files changed, 55 insertions(+), 40 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs index 735f7e0f..0d5561a0 100644 --- a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs @@ -1,6 +1,7 @@ using Discord; using Discord.Commands; using NadekoBot.Attributes; +using NadekoBot.Extensions; using NadekoBot.Services; using NadekoBot.Services.Database.Models; using NLog; @@ -42,12 +43,12 @@ namespace NadekoBot.Modules.Administration if (channel == null) //maybe warn the server owner that the channel is missing return; - var msg = conf.ChannelByeMessageText.Replace("%user%", "**" + user.Username + "**"); + var msg = conf.ChannelByeMessageText.Replace("%user%", user.Username).Replace("%server%", user.Guild.Name); if (string.IsNullOrWhiteSpace(msg)) return; try { - var toDelete = await channel.SendMessageAsync(msg).ConfigureAwait(false); + var toDelete = await channel.SendMessageAsync(msg.SanitizeMentions()).ConfigureAwait(false); if (conf.AutoDeleteByeMessages) { var t = Task.Run(async () => @@ -82,7 +83,7 @@ namespace NadekoBot.Modules.Administration { try { - var toDelete = await channel.SendMessageAsync(msg).ConfigureAwait(false); + var toDelete = await channel.SendMessageAsync(msg.SanitizeMentions()).ConfigureAwait(false); if (conf.AutoDeleteGreetMessages) { var t = Task.Run(async () => @@ -172,7 +173,7 @@ namespace NadekoBot.Modules.Administration conf = uow.GuildConfigs.For(channel.Guild.Id); if (!string.IsNullOrWhiteSpace(text)) { - conf.ChannelGreetMessageText = text; + conf.ChannelGreetMessageText = text.SanitizeMentions(); uow.GuildConfigs.Update(conf); await uow.CompleteAsync(); } @@ -180,7 +181,7 @@ namespace NadekoBot.Modules.Administration if (string.IsNullOrWhiteSpace(text)) { - await channel.SendMessageAsync("`Current greet message:` " + conf.ChannelGreetMessageText); + await channel.SendMessageAsync("`Current greet message:` " + conf.ChannelGreetMessageText.SanitizeMentions()); return; } await channel.SendMessageAsync("New greet message set.").ConfigureAwait(false); @@ -275,7 +276,7 @@ namespace NadekoBot.Modules.Administration conf = uow.GuildConfigs.For(channel.Guild.Id); if (!string.IsNullOrWhiteSpace(text)) { - conf.ChannelByeMessageText = text; + conf.ChannelByeMessageText = text.SanitizeMentions(); uow.GuildConfigs.Update(conf); await uow.CompleteAsync(); } @@ -283,7 +284,7 @@ namespace NadekoBot.Modules.Administration if (string.IsNullOrWhiteSpace(text)) { - await channel.SendMessageAsync("`Current bye message:` " + conf.ChannelGreetMessageText); + await channel.SendMessageAsync("`Current bye message:` " + conf.ChannelGreetMessageText.SanitizeMentions()); return; } await channel.SendMessageAsync("New bye message set.").ConfigureAwait(false); diff --git a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs index 624bb9d8..da65770c 100644 --- a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs @@ -56,40 +56,47 @@ namespace NadekoBot.Modules.Games IsActive = true; CurrentSentence = GetRandomSentence(); var i = (int)(CurrentSentence.Length / WORD_VALUE * 1.7f); - await channel.SendMessageAsync($@":clock2: Next contest will last for {i} seconds. Type the bolded text as fast as you can.").ConfigureAwait(false); - - - var msg = await channel.SendMessageAsync("Starting new typing contest in **3**...").ConfigureAwait(false); - await Task.Delay(1000).ConfigureAwait(false); try { - await msg.ModifyAsync(m => m.Content = "Starting new typing contest in **2**...").ConfigureAwait(false); - await Task.Delay(1000).ConfigureAwait(false); - await msg.ModifyAsync(m => m.Content = "Starting new typing contest in **1**...").ConfigureAwait(false); + await channel.SendMessageAsync($@":clock2: Next contest will last for {i} seconds. Type the bolded text as fast as you can.").ConfigureAwait(false); + + + var msg = await channel.SendMessageAsync("Starting new typing contest in **3**...").ConfigureAwait(false); await Task.Delay(1000).ConfigureAwait(false); + try + { + await msg.ModifyAsync(m => m.Content = "Starting new typing contest in **2**...").ConfigureAwait(false); + await Task.Delay(1000).ConfigureAwait(false); + await msg.ModifyAsync(m => m.Content = "Starting new typing contest in **1**...").ConfigureAwait(false); + await Task.Delay(1000).ConfigureAwait(false); + } + catch (Exception ex) { _log.Warn(ex); } + + await msg.ModifyAsync(m => m.Content = $"**{Format.Sanitize(CurrentSentence.Replace(" ", " \x200B")).SanitizeMentions()}**:book:").ConfigureAwait(false); + sw.Start(); + HandleAnswers(); + + while (i > 0) + { + await Task.Delay(1000).ConfigureAwait(false); + i--; + if (!IsActive) + return; + } + } - catch (Exception ex) { _log.Warn(ex); } - - await msg.ModifyAsync(m => m.Content = $":book:**{CurrentSentence.Replace(" ", " \x200B")}**:book:").ConfigureAwait(false); - sw.Start(); - HandleAnswers(); - - while (i > 0) + catch { } + finally { - await Task.Delay(1000).ConfigureAwait(false); - i--; - if (!IsActive) - return; + await Stop().ConfigureAwait(false); } - - await Stop().ConfigureAwait(false); } public string GetRandomSentence() { using (var uow = DbHandler.UnitOfWork()) { - return uow.TypingArticles.GetRandom()?.Text ?? "No typing articles found. Use `>typeadd` command to add a new article for typing."; + return uow.TypingArticles.GetRandom()?.Text ?? $"No typing articles found. Use `{NadekoBot.ModulePrefixes[typeof(Games).Name]}typeadd` command to add a new article for typing."; } } @@ -194,7 +201,7 @@ namespace NadekoBot.Modules.Games uow.TypingArticles.Add(new Services.Database.Models.TypingArticle { Author = imsg.Author.Username, - Text = text + Text = text.SanitizeMentions(), }); await uow.CompleteAsync().ConfigureAwait(false); } diff --git a/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaQuestionPool.cs b/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaQuestionPool.cs index cc9db53a..deb4e7b1 100644 --- a/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaQuestionPool.cs +++ b/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaQuestionPool.cs @@ -1,4 +1,5 @@ -using NadekoBot.Services; +using NadekoBot.Extensions; +using NadekoBot.Services; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; @@ -34,7 +35,7 @@ namespace NadekoBot.Modules.Games.Trivia foreach (var item in arr) { - var tq = new TriviaQuestion(item["Question"].ToString(), item["Answer"].ToString(), item["Category"]?.ToString()); + var tq = new TriviaQuestion(item["Question"].ToString().SanitizeMentions(), item["Answer"].ToString().SanitizeMentions(), item["Category"]?.ToString()); pool.Add(tq); } var r = new NadekoRandom(); diff --git a/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs b/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs index f80fc294..806deac2 100644 --- a/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs +++ b/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs @@ -77,7 +77,7 @@ namespace NadekoBot.Modules.Utility toReturn += $@"`Id:` **{user.Id}** `Current Game:` **{(user.Game?.Name == null ? "-" : user.Game.Name)}** `Joined At:` **{user.JoinedAt}** -`Roles:` **({user.Roles.Count()}) - {string.Join(", ", user.Roles.Select(r => r.Name))}** +`Roles:` **({user.Roles.Count()}) - {string.Join(", ", user.Roles.Select(r => r.Name)).SanitizeMentions()}** `AvatarUrl:` **{user.AvatarUrl}**"; await msg.Reply(toReturn).ConfigureAwait(false); } diff --git a/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs b/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs index c69f030b..f9c37bf6 100644 --- a/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs +++ b/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs @@ -1,6 +1,7 @@ using Discord; using Discord.Commands; using NadekoBot.Attributes; +using NadekoBot.Extensions; using NadekoBot.Services; using NadekoBot.Services.Database; using NadekoBot.Services.Database.Models; @@ -34,7 +35,7 @@ namespace NadekoBot.Modules.Utility if (quote == null) return; - await channel.SendMessageAsync("📣 " + quote.Text); + await channel.SendMessageAsync("📣 " + quote.Text.SanitizeMentions()); } [NadekoCommand, Usage, Description, Aliases] diff --git a/src/NadekoBot/Modules/Utility/Commands/Remind.cs b/src/NadekoBot/Modules/Utility/Commands/Remind.cs index c9268ea8..1a65b535 100644 --- a/src/NadekoBot/Modules/Utility/Commands/Remind.cs +++ b/src/NadekoBot/Modules/Utility/Commands/Remind.cs @@ -2,6 +2,7 @@ using Discord.Commands; using Discord.WebSocket; using NadekoBot.Attributes; +using NadekoBot.Extensions; using NadekoBot.Services; using NadekoBot.Services.Database; using NadekoBot.Services.Database.Models; @@ -47,7 +48,7 @@ namespace NadekoBot.Modules.Utility foreach (var r in reminders) { - var t = StartReminder(r); + try { var t = StartReminder(r); } catch (Exception ex) { _log.Warn(ex); } } } @@ -77,7 +78,8 @@ namespace NadekoBot.Modules.Utility await ch.SendMessageAsync( replacements.Aggregate(RemindMessageFormat, - (cur, replace) => cur.Replace(replace.Key, replace.Value(r))) + (cur, replace) => cur.Replace(replace.Key, replace.Value(r))) + .SanitizeMentions() ).ConfigureAwait(false); //it works trust me } catch (Exception ex) { _log.Warn(ex); } @@ -179,7 +181,7 @@ namespace NadekoBot.Modules.Utility await uow.CompleteAsync(); } - try { await channel.SendMessageAsync($"⏰ I will remind \"{(ch is ITextChannel ? ((ITextChannel)ch).Name : umsg.Author.Username)}\" to \"{message.ToString()}\" in {output}. ({time:d.M.yyyy.} at {time:HH:mm})").ConfigureAwait(false); } catch { } + try { await channel.SendMessageAsync($"⏰ I will remind \"{(ch is ITextChannel ? ((ITextChannel)ch).Name : umsg.Author.Username)}\" to \"{message.SanitizeMentions()}\" in {output}. ({time:d.M.yyyy.} at {time:HH:mm})").ConfigureAwait(false); } catch { } await StartReminder(rem); } diff --git a/src/NadekoBot/Modules/Utility/Utility.cs b/src/NadekoBot/Modules/Utility/Utility.cs index ced8457c..9224f351 100644 --- a/src/NadekoBot/Modules/Utility/Utility.cs +++ b/src/NadekoBot/Modules/Utility/Utility.cs @@ -45,7 +45,7 @@ namespace NadekoBot.Modules.Utility [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] - public async Task InRole(IUserMessage umsg, [Remainder] string roles = null) + public async Task InRole(IUserMessage umsg, [Remainder] string roles) { if (string.IsNullOrWhiteSpace(roles)) return; @@ -122,11 +122,11 @@ namespace NadekoBot.Modules.Utility var guild = channel.Guild; if (target != null) { - await msg.Reply($"`List of roles for **{target.Username}**:` \n• " + string.Join("\n• ", target.Roles.Except(new[] { guild.EveryoneRole }).OrderBy(r => r.Position))); + await msg.Reply($"`List of roles for **{target.Username}**:` \n• " + string.Join("\n• ", target.Roles.Except(new[] { guild.EveryoneRole }).OrderBy(r => r.Position)).SanitizeMentions()); } else { - await msg.Reply("`List of roles:` \n• " + string.Join("\n• ", guild.Roles.Except(new[] { guild.EveryoneRole }).OrderBy(r=>r.Position))); + await msg.Reply("`List of roles:` \n• " + string.Join("\n• ", guild.Roles.Except(new[] { guild.EveryoneRole }).OrderBy(r=>r.Position)).SanitizeMentions()); } } diff --git a/src/NadekoBot/_Extensions/Extensions.cs b/src/NadekoBot/_Extensions/Extensions.cs index c226e45e..f2c22573 100644 --- a/src/NadekoBot/_Extensions/Extensions.cs +++ b/src/NadekoBot/_Extensions/Extensions.cs @@ -23,6 +23,9 @@ namespace NadekoBot.Extensions http.DefaultRequestHeaders.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); } + public static string SanitizeMentions(this string str) => + str.Replace("@everyone", "@everyοne").Replace("@here", "@һere"); + public static double UnixTimestamp(this DateTime dt) => dt.ToUniversalTime().Subtract(new DateTime(1970, 1, 1)).TotalSeconds; public static async Task SendMessageAsync(this IGuildUser user, string message, bool isTTS = false) => From f76d894251135fc5212b2eeea00c1917df62fc51 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sun, 9 Oct 2016 23:19:33 +0200 Subject: [PATCH 069/135] Small fixes to speed typing --- src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs index da65770c..2b092d78 100644 --- a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs @@ -72,7 +72,7 @@ namespace NadekoBot.Modules.Games } catch (Exception ex) { _log.Warn(ex); } - await msg.ModifyAsync(m => m.Content = $"**{Format.Sanitize(CurrentSentence.Replace(" ", " \x200B")).SanitizeMentions()}**:book:").ConfigureAwait(false); + await msg.ModifyAsync(m => m.Content = $"**{Format.Sanitize(CurrentSentence.Replace(" ", " \x200B")).SanitizeMentions()}").ConfigureAwait(false); sw.Start(); HandleAnswers(); @@ -96,7 +96,7 @@ namespace NadekoBot.Modules.Games { using (var uow = DbHandler.UnitOfWork()) { - return uow.TypingArticles.GetRandom()?.Text ?? $"No typing articles found. Use `{NadekoBot.ModulePrefixes[typeof(Games).Name]}typeadd` command to add a new article for typing."; + return uow.TypingArticles.GetRandom()?.Text ?? $"No typing articles found. Use {NadekoBot.ModulePrefixes[typeof(Games).Name]}typeadd command to add a new article for typing."; } } @@ -129,7 +129,7 @@ namespace NadekoBot.Modules.Games await channel.SendMessageAsync($"{msg.Author.Mention} finished in **{sw.Elapsed.Seconds}** seconds with { distance } errors, **{ CurrentSentence.Length / WORD_VALUE / sw.Elapsed.Seconds * 60 }** WPM!").ConfigureAwait(false); if (finishedUserIds.Count % 2 == 0) { - await channel.SendMessageAsync($":exclamation: `A lot of people finished, here is the text for those still typing:`\n\n:book:**{CurrentSentence}**:book:").ConfigureAwait(false); + await channel.SendMessageAsync($":exclamation: `A lot of people finished, here is the text for those still typing:`\n\n**{Format.Sanitize(CurrentSentence.Replace(" ", " \x200B")).SanitizeMentions()}**").ConfigureAwait(false); } } } From 33363d158240b91c681064508834c3bd3143cb87 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sun, 9 Oct 2016 23:22:49 +0200 Subject: [PATCH 070/135] Hgit has requirements now too --- src/NadekoBot/Modules/Help/Help.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index 2084f19b..7cf03ca9 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -136,7 +136,7 @@ namespace NadekoBot.Modules.Help helpstr.AppendLine("----------------|--------------|-------"); lastModule = com.Module.Name; } - helpstr.AppendLine($"`{com.Text}` {string.Join(" ", com.Aliases.Skip(1).Select(a=>"`"+a+"`"))} | {com.Remarks} | {com.Summary}"); + helpstr.AppendLine($"`{com.Text}` {string.Join(" ", com.Aliases.Skip(1).Select(a=>"`"+a+"`"))} | {com.Remarks} | {com.Summary} {GetCommandRequirements(com)}"); } helpstr = helpstr.Replace(NadekoBot.Client.GetCurrentUser().Username , "@BotName"); #if DEBUG From 146b9e283721a279a9e5aaba7c3469690ba6cf55 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Sun, 9 Oct 2016 23:25:08 +0200 Subject: [PATCH 071/135] Commandlist generated --- src/NadekoBot/Modules/Help/Help.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index 7cf03ca9..24d7ecc8 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -140,7 +140,7 @@ namespace NadekoBot.Modules.Help } helpstr = helpstr.Replace(NadekoBot.Client.GetCurrentUser().Username , "@BotName"); #if DEBUG - File.WriteAllText("../../../../../docs/Commands List.md", helpstr.ToString()); + File.WriteAllText("../../docs/Commands List.md", helpstr.ToString()); #else File.WriteAllText("commandlist.md", helpstr.ToString()); #endif From 2f6deebb55ab29a8b80ef3e44050162184d501f9 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 10 Oct 2016 00:36:22 +0200 Subject: [PATCH 072/135] commandlist, now really --- src/NadekoBot/Modules/Help/Help.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index 24d7ecc8..e21bdf12 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -140,7 +140,7 @@ namespace NadekoBot.Modules.Help } helpstr = helpstr.Replace(NadekoBot.Client.GetCurrentUser().Username , "@BotName"); #if DEBUG - File.WriteAllText("../../docs/Commands List.md", helpstr.ToString()); + File.WriteAllText("../../docs/commandslist.md", helpstr.ToString()); #else File.WriteAllText("commandlist.md", helpstr.ToString()); #endif From 51f02233c6be5cc7c9a3bee5d6b5d8205490b8d5 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 10 Oct 2016 00:38:52 +0200 Subject: [PATCH 073/135] OK, no kidding now, really commandlist, wth --- docs/commandslist.md | 311 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 311 insertions(+) create mode 100644 docs/commandslist.md diff --git a/docs/commandslist.md b/docs/commandslist.md new file mode 100644 index 00000000..ebe50b5c --- /dev/null +++ b/docs/commandslist.md @@ -0,0 +1,311 @@ + +### Permissions +Command and aliases | Description | Usage +----------------|--------------|------- +`;verbose` `;v` | `;verbose true` | Sets whether to show when a command/module is blocked. +`;permrole` `;pr` | `;pr role` | Sets a role which can change permissions. Or supply no parameters to find out the current one. Default one is 'Nadeko'. +`;listperms` `;lp` | `;lp` or `;lp 3` | Lists whole permission chain with their indexes. You can specify optional page number if there are a lot of permissions +`;removeperm` `;rp` | `;rp 1` | Removes a permission from a given position +`;moveperm` `;mp` | `;mp 2 4` | Moves permission from one position to another. +`;srvrcmd` `;sc` | `;sc "command name" disable` | Sets a command's permission at the server level. +`;srvrmdl` `;sm` | `;sm "module name" enable` | Sets a module's permission at the server level. +`;usrcmd` `;uc` | `;uc "command name" enable SomeUsername` | Sets a command's permission at the user level. +`;usrmdl` `;um` | `;um "module name" enable SomeUsername` | Sets a module's permission at the user level. +`;rolecmd` `;rc` | `;rc "command name" disable MyRole` | Sets a command's permission at the role level. +`;rolemdl` `;rm` | `;rm "module name" enable MyRole` | Sets a module's permission at the role level. +`;chnlcmd` `;cc` | `;cc "command name" enable SomeChannel` | Sets a command's permission at the channel level. +`;chnlmdl` `;cm` | `;cm "module name" enable SomeChannel` | Sets a module's permission at the channel level. +`;allchnlmdls` `;acm` | `;acm enable #SomeChannel` | Enable or disable all modules in a specified channel. +`;allrolemdls` `;arm` | `;arm [enable/disable] MyRole` | Enable or disable all modules for a specific role. +`;allusrmdls` `;aum` | `;aum enable @someone` | Enable or disable all modules for a specific user. +`;allsrvrmdls` `;asm` | `;asm [enable/disable]` | Enable or disable all modules for your server. +`;ubl` | `;ubl add @SomeUser` or `;ubl rem 12312312313` | Either [add]s or [rem]oves a user specified by a mention or ID from a blacklist. **Bot owner only.** +`;ubl` | `;ubl add @SomeUser` or `;ubl rem 12312312313` | Either [add]s or [rem]oves a user specified by a mention or ID from a blacklist. **Bot owner only.** +`;cbl` | `;cbl rem 12312312312` | Either [add]s or [rem]oves a channel specified by an ID from a blacklist. **Bot owner only.** +`;sbl` | `;sbl add 12312321312` or `;sbl rem SomeTrashServer` | Either [add]s or [rem]oves a server specified by a Name or ID from a blacklist. **Bot owner only.** +`;sbl` | `;sbl add 12312321312` or `;sbl rem SomeTrashServer` | Either [add]s or [rem]oves a server specified by a Name or ID from a blacklist. **Bot owner only.** +`;cmdcooldown` `;cmdcd` | `;cmdcd "some cmd" 5` | Sets a cooldown per user for a command. Set 0 to clear. +`;allcmdcooldowns` `;acmdcds` | `;acmdcds` | Shows a list of all commands and their respective cooldowns. +`;srvrfilterinv` `;sfi` | `;sfi disable` | Enables or disables automatic deleting of invites on the server. +`;chnlfilterinv` `;cfi` | `;cfi enable #general-chat` | Enables or disables automatic deleting of invites on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. +`;srvrfilterwords` `;sfw` | `;sfw disable` | Enables or disables automatic deleting of messages containing forbidden words on the server. +`;chnlfilterwords` `;cfw` | `;cfw enable #general-chat` | Enables or disables automatic deleting of messages containing banned words on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. +`;fw` | `;fw poop` | Adds or removes (if it exists) a word from the list of filtered words +`;lstfilterwords` `;lfw` | `;lfw` | Shows a list of filtered words + +### Gambling +Command and aliases | Description | Usage +----------------|--------------|------- +`$raffle` | `$raffle` or `$raffle RoleName` | Prints a name and ID of a random user from the online list from the (optional) role. +`$cash` `$$$` | `$$$` or `$$$ @SomeGuy` | Check how much NadekoFlowers a person has. (Defaults to yourself) +`$cash` `$$$` | `$$$` or `$$$ @SomeGuy` | Check how much NadekoFlowers a person has. (Defaults to yourself) +`$give` | `$give 1 "@SomeGuy"` | Give someone a certain amount of NadekoFlowers +`$award` | `$award 100 @person` | Gives someone a certain amount of flowers. **Bot owner only.** +`$award` | `$award 100 @person` | Gives someone a certain amount of flowers. **Bot owner only.** +`$take` | `$take 1 "@someguy"` | Takes a certain amount of flowers from someone. **Bot owner only.** +`$take` | `$take 1 "@someguy"` | Takes a certain amount of flowers from someone. **Bot owner only.** +`$betroll` `$br` | `$br 5` | Bets a certain amount of NadekoFlowers and rolls a dice. Rolling over 66 yields x2 flowers, over 90 - x3 and 100 x10. +`$leaderboard` `$lb` | `$lb` | Displays bot currency leaderboard +`$race` | `$race` | Starts a new animal race. +`$joinrace` `$jr` | `$jr` or `$jr 5` | Joins a new race. You can specify an amount of flowers for betting (optional). You will get YourBet*(participants-1) back if you win. +`$roll` | `$roll` or `$roll 7` or `$roll 3d5` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. +`$roll` | `$roll` or `$roll 7` or `$roll 3d5` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. +`$roll` | `$roll` or `$roll 7` or `$roll 3d5` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. +`$rolluo` | `$rolluo` or `$rolluo 7` or `$rolluo 3d5` | Rolls X normal dice (up to 30) unordered. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. +`$rolluo` | `$rolluo` or `$rolluo 7` or `$rolluo 3d5` | Rolls X normal dice (up to 30) unordered. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. +`$nroll` | `$nroll 5` (rolls 0-5) or `$nroll 5-15` | Rolls in a given range. +`$draw` | `$draw` or `$draw 5` | Draws a card from the deck.If you supply number X, she draws up to 5 cards from the deck. +`$shuffle` `$sh` | `$sh` | Reshuffles all cards back into the deck. +`$flip` | `$flip` or `$flip 3` | Flips coin(s) - heads or tails, and shows an image. +`$betflip` `$bf` | `$bf 5 heads` or `$bf 3 t` | Bet to guess will the result be heads or tails. Guessing award you double flowers you've bet. + +### ClashOfClans +Command and aliases | Description | Usage +----------------|--------------|------- +`,createwar` `,cw` | `,cw 15 The Enemy Clan` | Creates a new war by specifying a size (>10 and multiple of 5) and enemy clan name. +`,startwar` `,sw` | `,sw 15` | Starts a war with a given number. +`,listwar` `,lw` | `,lw [war_number] or ,lw` | Shows the active war claims by a number. Shows all wars in a short way if no number is specified. +`,claim` `,call` `,c` | `,call [war_number] [base_number] [optional_other_name]` | Claims a certain base from a certain war. You can supply a name in the third optional argument to claim in someone else's place. +`,claimfinish1` `,cf1` | `,cf [war_number] [optional_other_name]` | Finish your claim with 1 stars if you destroyed a base. Optional second argument finishes for someone else. +`,claimfinish2` `,cf2` | `,cf [war_number] [optional_other_name]` | Finish your claim with 2 stars if you destroyed a base. Optional second argument finishes for someone else. +`,claimfinish` `,cf` `,cf3` `,claimfinish3` | `,cf [war_number] [optional_other_name]` | Finish your claim with 3 stars if you destroyed a base. Optional second argument finishes for someone else. +`,endwar` `,ew` | `,ew [war_number]` | Ends the war with a given index. +`,unclaim` `,ucall` `,uc` | `,uc [war_number] [optional_other_name]` | Removes your claim from a certain war. Optional second argument denotes a person in whose place to unclaim + +### Games +Command and aliases | Description | Usage +----------------|--------------|------- +`>choose` | `>choose Get up;Sleep;Sleep more` | Chooses a thing from a list of things +`>8ball` | `>8ball should i do something` | Ask the 8ball a yes/no question. +`>rps` | `>rps scissors` | Play a game of rocket paperclip scissors with Nadeko. +`>linux` | `>linux Spyware Windows` | Prints a customizable Linux interjection +`>leet` | `>leet 3 Hello` | Converts a text to leetspeak with 6 (1-6) severity levels +`>poll` | `>poll Question?;Answer1;Answ 2;A_3` | Creates a poll, only person who has manage server permission can do it. +`>pollend` | `>pollend` | Stops active poll on this server and prints the results in this channel. +`>pick` | `>pick` | Picks a flower planted in this channel. +`>plant` | `>plant` | Spend a flower to plant it in this channel. (If bot is restarted or crashes, flower will be lost) +`>gencurrency` `>gc` | `>gc` | Toggles currency generation on this channel. Every posted message will have 2% chance to spawn a NadekoFlower. Requires Manage Messages permission. **Requires ManageMessages server permission.** +`>typestart` | `>typestart` | Starts a typing contest. +`>typestop` | `>typestop` | Stops a typing contest on the current channel. +`>typeadd` | `>typeadd wordswords` | Adds a new article to the typing contest. **Bot owner only.** +`>trivia` `>t` | `>t nohint` or `>t 5 nohint` | Starts a game of trivia. You can add nohint to prevent hints.First player to get to 10 points wins by default. You can specify a different number. 30 seconds per question. +`>tl` | `>tl` | Shows a current trivia leaderboard. +`>tq` | `>tq` | Quits current trivia after current question. + +### Pokemon +Command and aliases | Description | Usage +----------------|--------------|------- +`>poke_cmd` | poke_usage | poke_desc + +### Administration +Command and aliases | Description | Usage +----------------|--------------|------- +`.restart` | `.restart` | Restarts the bot. Might not work. **Bot owner only.** +`.delmsgoncmd` | `.delmsgoncmd` | Toggles the automatic deletion of user's successful command message to prevent chat flood. **Server Manager Only.** **Requires Administrator server permission.** +`.setrole` `.sr` | `.sr @User Guest` | Sets a role for a given user. **Requires ManageRoles server permission.** +`.removerole` `.rr` | `.rr @User Admin` | Removes a role from a given user. **Requires ManageRoles server permission.** +`.renamerole` `.renr` | `.renr "First role" SecondRole` | Renames a role. Roles you are renaming must be lower than bot's highest role. **Manage Roles Permissions.** **Requires ManageRoles server permission.** +`.removeallroles` `.rar` | `.rar @User` | Removes all roles from a mentioned user. **Requires ManageRoles server permission.** +`.createrole` `.cr` | `.cr Awesome Role` | Creates a role with a given name. **Requires ManageRoles server permission.** +`.rolecolor` `.rc` | `.rc Admin 255 200 100` or `.rc Admin ffba55` | Set a role's color to the hex or 0-255 rgb color value provided. **Requires ManageRoles server permission.** +`.ban` `.b` | `.b "@some Guy" Your behaviour is toxic.` | Bans a user by id or name with an optional message. **Requires BanMembers server permission.** +`.softban` `.sb` | `.sb "@some Guy" Your behaviour is toxic.` | Bans and then unbans a user by id or name with an optional message. **Requires BanMembers server permission.** +`.kick` `.k` | `.k "@some Guy" Your behaviour is toxic.` | Kicks a mentioned user. **Requires KickMembers server permission.** +`.mute` | `.mute @Someone` | Mutes a mentioned user in a voice channel. **Requires MuteMembers server permission.** +`.unmute` | `.unmute "@Someguy"` or `.unmute "@Someguy" "@Someguy"` | Unmutes mentioned user or users. **Requires MuteMembers server permission.** +`.deafen` `.deaf` | `.deaf "@Someguy"` or `.deaf "@Someguy" "@Someguy"` | Deafens mentioned user or users. **Requires DeafenMembers server permission.** +`.undeafen` `.undef` | `.undef "@Someguy"` or `.undef "@Someguy" "@Someguy"` | Undeafens mentioned user or users. **Requires DeafenMembers server permission.** +`.delvoichanl` `.dvch` | `.dvch VoiceChannelName` | Deletes a voice channel with a given name. **Requires ManageChannels server permission.** +`.creatvoichanl` `.cvch` | `.cvch VoiceChannelName` | Creates a new voice channel with a given name. **Requires ManageChannels server permission.** +`.deltxtchanl` `.dtch` | `.dtch TextChannelName` | Deletes a text channel with a given name. **Requires ManageChannels server permission.** +`.creatxtchanl` `.ctch` | `.ctch TextChannelName` | Creates a new text channel with a given name. **Requires ManageChannels server permission.** +`.settopic` `.st` | `.st My new topic` | Sets a topic on the current channel. **Requires ManageChannels server permission.** +`.setchanlname` `.schn` | `.schn NewName` | Changed the name of the current channel. **Requires ManageChannels server permission.** +`.prune` `.clr` | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. +`.prune` `.clr` | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. **Requires ManageMessages server permission.** +`.prune` `.clr` | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. **Requires ManageMessages server permission.** +`.die` | `@NadekoBot die` | Works only for the owner. Shuts the bot down. **Bot owner only.** +`.setname` `.newnm` | `.newnm BotName` | Give the bot a new name. **Bot owner only.** +`.setavatar` `.setav` | `.setav http://i.imgur.com/xTG3a1I.jpg` | Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. **Bot owner only.** +`.setgame` | `.setgame Playing with kwoth` | Sets the bots game. **Bot owner only.** +`.send` | `.send sid` | Send a message to someone on a different server through the bot. **Bot owner only.** +`.announce` | `.announce Useless spam` | Sends a message to all servers' general channel bot is connected to. **Bot owner only.** +`.savechat` | `.savechat 150` | Saves a number of messages to a text file and sends it to you. **Bot owner only.** +`.mentionrole` `.menro` | `.menro RoleName` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. **Requires MentionEveryone server permission.** +`.donators` | `.donators` | List of lovely people who donated to keep this project alive. +`.donadd` | `.donadd Donate Amount` | Add a donator to the database. **Kwoth Only** **Bot owner only.** +`.autoassignrole` `.aar` | `.aar` to disable, `.aar Role Name` to enable | Automaticaly assigns a specified role to every user who joins the server. **Requires ManageRoles server permission.** +`.scsc` | `.scsc` | Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance. **Bot owner only.** +`.jcsc` | `.jcsc` | Joins current channel to an instance of cross server channel using the token. **Requires ManageServer server permission.** +`.lcsc` | `.lcsc` | Leaves Cross server channel instance from this channel. **Requires ManageServer server permission.** +`.logserver` | `.logserver` | Logs server activity in this channel. **Requires Administrator server permission.** **Bot owner only.** +`.logignore` | `.logignore` | Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. **Requires Administrator server permission.** **Bot owner only.** +`.userpresence` | `.userpresence` | Starts logging to this channel when someone from the server goes online/offline/idle. **Requires Administrator server permission.** +`.voicepresence` | `.voicerpresence` | Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. **Requires Administrator server permission.** +`.repeatinvoke` `.repinv` | `.repinv` | Immediately shows the repeat message and restarts the timer. **Requires ManageMessages server permission.** +`.repeat` | `.repeat 5 Hello there` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. +`.repeat` | `.repeat 5 Hello there` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. +`.migratedata` | `.migratedata` | Migrate data from old bot configuration **Bot owner only.** +`.rotateplaying` `.ropl` | `.ropl` | Toggles rotation of playing status of the dynamic strings you specified earlier. **Bot owner only.** +`.addplaying` `.adpl` | `.adpl` | Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued% **Bot owner only.** +`.listplaying` `.lipl` | `.lipl` | Lists all playing statuses with their corresponding number. **Bot owner only.** +`.removeplaying` `.rmlp` `.repl` | `.rmpl` | Removes a playing string on a given number. **Bot owner only.** +`.slowmode` | `.slowmode` | Toggles slow mode. When ON, users will be able to send only 1 message every 5 seconds. +`.asar` | `.asar Gamer` | Adds a role, or list of roles separated by whitespace(use quotations for multiword roles) to the list of self-assignable roles. **Requires ManageRoles server permission.** +`.rsar` | `.rsar` | Removes a specified role from the list of self-assignable roles. **Requires ManageRoles server permission.** +`.lsar` | `.lsar` | Lists all self-assignable roles. +`.togglexclsar` `.tesar` | `.tesar` | toggle whether the self-assigned roles should be exclusive **Requires ManageRoles server permission.** +`.iam` | `.iam Gamer` | Adds a role to you that you choose. Role must be on a list of self-assignable roles. +`.iamnot` `.iamn` | `.iamn Gamer` | Removes a role to you that you choose. Role must be on a list of self-assignable roles. +`.leave` | `.leave 123123123331` | Makes Nadeko leave the server. Either name or id required. **Bot owner only.** +`.greetdel` | `.greetdel` | Toggles automatic deletion of greet messages. **Requires ManageServer server permission.** +`.greet` | `.greet` | Toggles anouncements on the current channel when someone joins the server. **Requires ManageServer server permission.** +`.greetmsg` | `.greetmsg Welcome, %user%.` | Sets a new join announcement message which will be shown in the server's channel. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. **Requires ManageServer server permission.** +`.greetdm` | `.greetdm` | Toggles whether the greet messages will be sent in a DM (This is separate from greet - you can have both, any or neither enabled). **Requires ManageServer server permission.** +`.greetdmmsg` | `.greetdmmsg Welcome to the server, %user%`. | Sets a new join announcement message which will be sent to the user who joined. Type %user% if you want to mention the new member. Using it with no message will show the current DM greet message. **Requires ManageServer server permission.** +`.bye` | `.bye` | Toggles anouncements on the current channel when someone leaves the server. **Requires ManageServer server permission.** +`.byemsg` | `.byemsg %user% has left.` | Sets a new leave announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current bye message. **Requires ManageServer server permission.** +`.byedel` | `.byedel` | Toggles automatic deletion of bye messages. **Requires ManageServer server permission.** +`.voice+text` `.v+t` | `.voice+text` | Creates a text channel for each voice channel only users in that voice channel can see.If you are server owner, keep in mind you will see them all the time regardless. **Requires ManageRoles server permission.** **Requires ManageChannels server permission.** +`.cleanvplust` `.cv+t` | `.cleanv+t` | Deletes all text channels ending in `-voice` for which voicechannels are not found. **Use at your own risk. Needs Manage Roles and Manage Channels Permissions.** **Requires ManageChannels server permission.** **Requires ManageRoles server permission.** + +### Music +Command and aliases | Description | Usage +----------------|--------------|------- +`!!next` `!!n` | `!!n` | Goes to the next song in the queue. You have to be in the same voice channel as the bot. +`!!stop` `!!s` | `!!s` | Stops the music and clears the playlist. Stays in the channel. +`!!destroy` `!!d` | `!!d` | Completely stops the music and unbinds the bot from the channel. (may cause weird behaviour) +`!!pause` `!!p` | `!!p` | Pauses or Unpauses the song. +`!!queue` `!!q` `!!yq` | `!!q Dream Of Venice` | Queue a song using keywords or a link. Bot will join your voice channel.**You must be in a voice channel**. +`!!soundcloudqueue` `!!sq` | `!!sq Dream Of Venice` | Queue a soundcloud song using keywords. Bot will join your voice channel.**You must be in a voice channel**. +`!!listqueue` `!!lq` | `!!lq` or `!!lq 2` | Lists 15 currently queued songs per page. Default page is 1. +`!!nowplaying` `!!np` | `!!np` | Shows the song currently playing. +`!!volume` `!!vol` | `!!vol 50` | Sets the music volume 0-100% +`!!defvol` `!!dv` | `!!dv 80` | Sets the default music volume when music playback is started (0-100). Persists through restarts. +`!!shuffle` `!!sh` | `!!sh` | Shuffles the current playlist. +`!!playlist` `!!pl` | `!!pl playlist link or name` | Queues up to 500 songs from a youtube playlist specified by a link, or keywords. +`!!soundcloudpl` `!!scpl` | `!!scpl soundcloudseturl` | Queue a soundcloud playlist using a link. +`!!localplaylst` `!!lopl` | `!!lopl C:/music/classical` | Queues all songs from a directory. **Bot owner only.** +`!!radio` `!!ra` | `!!ra radio link here` | Queues a radio stream from a link. It can be a direct mp3 radio stream, .m3u, .pls .asx or .xspf (Usage Video: ) +`!!local` `!!lo` | `!!lo C:/music/mysong.mp3` | Queues a local file by specifying a full path. **Bot owner only.** +`!!move` `!!mv` | `!!mv` | Moves the bot to your voice channel. (works only if music is already playing) +`!!remove` `!!rm` | `!!rm 5` | Remove a song by its # in the queue, or 'all' to remove whole queue. +`!!remove` `!!rm` | `!!rm 5` | Remove a song by its # in the queue, or 'all' to remove whole queue. +`!!movesong` `!!ms` | `!! ms 5>3` | Moves a song from one position to another. +`!!setmaxqueue` `!!smq` | `!!smq 50` or `!!smq` | Sets a maximum queue size. Supply 0 or no argument to have no limit. +`!!reptcursong` `!!rcs` | `!!rcs` | Toggles repeat of current song. +`!!rpeatplaylst` `!!rpl` | `!!rpl` | Toggles repeat of all songs in the queue (every song that finishes is added to the end of the queue). +`!!save` | `!!save classical1` | Saves a playlist under a certain name. Name must be no longer than 20 characters and mustn't contain dashes. +`!!load` | `!!load classical-1` | Loads a playlist under a certain name. +`!!playlists` `!!pls` | `!!pls 1` | Lists all playlists. Paginated. 20 per page. Default page is 0. +`!!deleteplaylist` `!!delpls` | `!!delpls animu-5` | Deletes a saved playlist. Only if you made it or if you are the bot owner. +`!!goto` | `!!goto 30` | Goes to a specific time in seconds in a song. +`!!getlink` `!!gl` | `!!gl` | Shows a link to the song in the queue by index, or the currently playing song by default. +`!!autoplay` `!!ap` | `!!ap` | Toggles autoplay - When the song is finished, automatically queue a related youtube song. (Works only for youtube songs and when queue is empty) + +### Help +Command and aliases | Description | Usage +----------------|--------------|------- +`-modules` `-mdls` | `-modules` or `.modules` | List all bot modules. +`-commands` `-cmds` | `-commands` or `.commands` | List all of the bot's commands from a certain module. +`-h` `-help` | `-h !m q` or just `-h` | Either shows a help for a single command, or PMs you help link if no arguments are specified. +`-hgit` | `-hgit` | Generates the commandlist.md file. **Bot owner only.** +`-readme` `-guide` | `-readme` or `-guide` | Sends a readme and a guide links to the channel. +`-donate` | `-donate` or `~donate` | Instructions for helping the project! + +### Utility +Command and aliases | Description | Usage +----------------|--------------|------- +`.whosplaying` | `.whoplays Overwatch` | Shows a list of users who are playing the specified game. +`.inrole` | `.inrole Role` | Lists every person from the provided role or roles (separated by a ',') on this server. If the list is too long for 1 message, you must have Manage Messages permission. +`.checkmyperms` | `.checkmyperms` | Checks your userspecific permissions on this channel. +`.userid` `.uid` | `.uid` or `.uid "@SomeGuy"` | Shows user ID. +`.channelid` `.cid` | `.cid` | Shows current channel ID. +`.serverid` `.sid` | `.sid` | Shows current server ID. +`.roles` | `.roles` | List all roles on this server or a single user if specified. +`.channeltopic` `.ct` | `.ct` | Sends current channel's topic as a message. +`.stats` | `.stats` | Shows some basic stats for Nadeko. +`.showemojis` `.se` | `.se A message full of SPECIALemojis` | Shows a name and a link to every SPECIAL emoji in the message. +`.serverinfo` `.sinfo` | `.sinfo Some Server` | Shows info about the server the bot is on. If no channel is supplied, it defaults to current one. +`.channelinfo` `.cinfo` | `.cinfo #some-channel` | Shows info about the channel. If no channel is supplied, it defaults to current one. +`.userinfo` `.uinfo` | `.uinfo @SomeUser` | Shows info about the user. If no user is supplied, it defaults a user running the command. +`...` | `... abc` | Shows a random quote with a specified name. +`..` | `.. sayhi Hi` | Adds a new quote with the specified name and message. +`.deletequote` `.delq` | `.delq abc` | Deletes all quotes with the specified keyword. You have to either be bot owner or the creator of the quote to delete it. +`.delallq` `.daq` | `.delallq kek` | Deletes all quotes on a specified keyword. +`.remind` | `.remind me 1d5h Do something` or `.remind #general Start now!` | Sends a message to you or a channel after certain amount of time. First argument is me/here/'channelname'. Second argument is time in a descending order (mo>w>d>h>m) example: 1w5d3h10m. Third argument is a (multiword)message. +`.remindtemplate` | `.remindtemplate %user%, you gotta do %message%!` | Sets message for when the remind is triggered. Available placeholders are %user% - user who ran the command, %message% - Message specified in the remind, %target% - target channel of the remind. **Bot owner only.** + +### Searches +Command and aliases | Description | Usage +----------------|--------------|------- +`~weather` `~we` | `~we Moscow RF` | Shows weather data for a specified city and a country. BOTH ARE REQUIRED. Use country abbrevations. +`~youtube` `~yt` | `~yt query` | Searches youtubes and shows the first result +`~imdb` | `~imdb Batman vs Superman` | Queries imdb for movies or series, show first result. +`~randomcat` `~meow` | `~meow` | Shows a random cat image. +`~randomdog` `~woof` | `~woof` | Shows a random dog image. +`~img` `~i` | `~i cute kitten` | Pulls the first image found using a search parameter. Use ~ir for different results. +`~ir` | `~ir cute kitten` | Pulls a random image using a search parameter. +`~lmgtfy` | `~lmgtfy query` | Google something for an idiot. +`~google` `~g` | `~google query` | Get a google search link for some terms. +`~hearthstone` `~hs` | `~hs Ysera` | Searches for a Hearthstone card and shows its image. Takes a while to complete. +`~urbandict` `~ud` | `~ud Pineapple` | Searches Urban Dictionary for a word. +`~#` | `~# ff` | Searches Tagdef.com for a hashtag. +`~catfact` | `~catfact` | Shows a random catfact from +`~revav` | `~revav "@SomeGuy"` | Returns a google reverse image search for someone's avatar. +`~revimg` | `~revimg Image link` | Returns a google reverse image search for an image from a link. +`~safebooru` | `~safebooru yuri+kissing` | Shows a random image from safebooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) +`~wikipedia` `~wiki` | `~wiki query` | Gives you back a wikipedia link +`~color` `~clr` | `~clr 00ff00` | Shows you what color corresponds to that hex. +`~videocall` | `~videocall "@SomeGuy"` | Creates a private video call link for you and other mentioned people. The link is sent to mentioned people via a private message. +`~av` `~avatar` | `~av "@SomeGuy"` | Shows a mentioned person's avatar. +`~calculate` `~calc` | `~calc 1+1` | Evaluate a mathematical expression. +`~calcops` | `~calcops` | Shows all available operations in .calc command +`~lolban` | `~lolban` | Shows top banned champions ordered by ban rate. +`~memelist` | `~memelist` | Pulls a list of memes you can use with `~memegen` from http://memegen.link/templates/ +`~memegen` | `~memegen biw "gets iced coffee" "in the winter"` | Generates a meme from memelist with top and bottom text. +`~anime` `~ani` `~aq` | `~ani aquarion evol` | Queries anilist for an anime and shows the first result. +`~manga` `~mang` `~mq` | `~mq Shingeki no kyojin` | Queries anilist for a manga and shows the first result. +`~yomama` `~ym` | `~ym` | Shows a random joke from +`~randjoke` `~rj` | `~rj` | Shows a random joke from +`~chucknorris` `~cn` | `~cn` | Shows a random chucknorris joke from +`~wowjoke` | `~wowjoke` | Get one of Kwoth's penultimate WoW jokes. +`~magicitem` `~mi` | `~mi` | Shows a random magicitem from +`~osu` | `~osu Name` or `~osu Name taiko` | Shows osu stats for a player. +`~osub` | `~osub https://osu.ppy.sh/s/127712` | Shows information about an osu beatmap. +`~osu5` | `~osu5 Name` | Displays a user's top 5 plays. +`~pokemon` `~poke` | `~poke Sylveon` | Searches for a pokemon. +`~pokemonability` `~pokeab` | `~pokeab "water gun"` | Searches for a pokemon ability. +`~hitbox` `~hb` | `~hitbox SomeStreamer` | Notifies this channel when a certain user starts streaming. **Requires ManageMessages server permission.** +`~twitch` `~tw` | `~twitch SomeStreamer` | Notifies this channel when a certain user starts streaming. **Requires ManageMessages server permission.** +`~beam` `~bm` | `~beam SomeStreamer` | Notifies this channel when a certain user starts streaming. **Requires ManageMessages server permission.** +`~liststreams` `~ls` | `~ls` | Lists all streams you are following on this server. +`~removestream` `~rms` | `~rms SomeGuy` | Removes notifications of a certain streamer on this channel. +`~checkstream` `~cs` | `~cs twitch MyFavStreamer` | Checks if a user is online on a certain streaming platform. +`~convertlist` | `~convertlist` | List of the convertable dimensions and currencies. +`~convert` | `~convert m>km 1000` | Convert quantities from>to. + +### Translator +Command and aliases | Description | Usage +----------------|--------------|------- +`~translate` `~trans` | `~trans en>fr Hello` | Translates from>to text. From the given language to the destiation language. +`~translangs` | `~translangs` | List the valid languages for translation. + +### NSFW +Command and aliases | Description | Usage +----------------|--------------|------- +`~hentai` | `~hentai yuri+kissing` | Shows a random NSFW hentai image from gelbooru and danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) +`~danbooru` | `~danbooru yuri+kissing` | Shows a random hentai image from danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) +`~gelbooru` | `~gelbooru yuri+kissing` | Shows a random hentai image from gelbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) +`~rule34` | `~rule34 yuri+kissing` | Shows a random image from rule34.xx with a given tag. Tag is optional but preffered. (multiple tags are appended with +) +`~e621` | `~e621 yuri kissing` | Shows a random hentai image from e621.net with a given tag. Tag is optional but preffered. Use spaces for multiple tags. +`~cp` | `~cp` | We all know where this will lead you to. +`~boobs` | `~boobs` | Real adult content. +`~butts` `~ass` `~butt` | `~butts` or `~ass` | Real adult content. + +### CustomReactions +Command and aliases | Description | Usage +----------------|--------------|------- +`.addcustreact` `.acr` | `.acr "hello" Hi there %user%` | Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: +`.listcustreact` `.lcr` | `.lcr 1` | Lists global or server custom reactions (15 commands per page). Running the command in DM will list global custom reactions, while running it in server will list that server's custom reactions. +`.delcustreact` `.dcr` | `.dcr 5` | Deletes a custom reaction on a specific index. If ran in DM, it is bot owner only and deletes a global custom reaction. If ran in a server, it requires Administration priviledges and removes server custom reaction. From f468edbfc20c456e4c001f6f9db67d10a00d44e4 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 10 Oct 2016 00:44:50 +0200 Subject: [PATCH 074/135] tests, docs from dev --- docs/Commands List.md | 360 +++++++++++++++++ docs/Contribution Guide.md | 7 + docs/Custom Reactions.md | 69 ++++ docs/Donate.md | 17 + docs/Frequently Asked Questions.md | 70 ++++ docs/JSON Explanations.md | 60 +++ docs/Readme.md | 29 ++ docs/about.md | 13 + docs/commandlist.md | 363 ------------------ docs/commandslist.md | 311 --------------- docs/guides/Building from Source.md | 8 + .../Docker Guide.md} | 4 +- docs/{LinuxSetup.md => guides/Linux Guide.md} | 99 ++--- docs/guides/OSX Guide.md | 167 ++++++++ .../Windows Guide.md} | 25 +- docs/guides/mii-chan.md | 2 + docs/index.md | 48 ++- docs/index.rst | 1 - docs/license.md | 19 - src/NadekoBot/Modules/Help/Help.cs | 2 +- src/tests/Tests.cs | 26 +- 21 files changed, 922 insertions(+), 778 deletions(-) create mode 100644 docs/Commands List.md create mode 100644 docs/Contribution Guide.md create mode 100644 docs/Custom Reactions.md create mode 100644 docs/Donate.md create mode 100644 docs/Frequently Asked Questions.md create mode 100644 docs/JSON Explanations.md create mode 100644 docs/Readme.md create mode 100644 docs/about.md delete mode 100644 docs/commandlist.md delete mode 100644 docs/commandslist.md create mode 100644 docs/guides/Building from Source.md rename docs/{DockerGuide.md => guides/Docker Guide.md} (97%) rename docs/{LinuxSetup.md => guides/Linux Guide.md} (80%) create mode 100644 docs/guides/OSX Guide.md rename docs/{ComprehensiveGuide.md => guides/Windows Guide.md} (86%) create mode 100644 docs/guides/mii-chan.md delete mode 100644 docs/index.rst delete mode 100644 docs/license.md diff --git a/docs/Commands List.md b/docs/Commands List.md new file mode 100644 index 00000000..675b3f62 --- /dev/null +++ b/docs/Commands List.md @@ -0,0 +1,360 @@ + +### Help +Command and aliases | Description | Usage +----------------|--------------|------- +`-h`, `-help`, `@BotName help`, `@BotName h`, `~h` | Either shows a help for a single command, or PMs you help link if no arguments are specified. | `-h !m q` or just `-h` +`-hgit` | Generates the commandlist.md file. **Bot Owner Only!** | `-hgit` +`-readme`, `-guide` | Sends a readme and a guide links to the channel. | `-readme` or `-guide` +`-donate`, `~donate` | Instructions for helping the project! | `-donate` or `~donate` +`-modules`, `.modules` | List all bot modules. | `-modules` or `.modules` +`-commands`, `.commands` | List all of the bot's commands from a certain module. | `-commands` or `.commands` + +### Administration +Command and aliases | Description | Usage +----------------|--------------|------- +`.grdel` | Toggles automatic deletion of greet and bye messages. **Needs Manage Server Permissions.**| `.grdel` +`.greet` | Toggles anouncements on the current channel when someone joins the server. **Needs Manage Server Permissions.**| `.greet` +`.greetmsg` | Sets a new join announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. **Needs Manage Server Permissions.**| `.greetmsg Welcome, %user%.` +`.bye` | Toggles anouncements on the current channel when someone leaves the server. | `.bye` +`.byemsg` | Sets a new leave announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current bye message. **Needs Manage Server Permissions.**| `.byemsg %user% has left.` +`.byepm` | Toggles whether the good bye messages will be sent in a PM or in the text channel. **Needs Manage Server Permissions.**| `.byepm` +`.greetpm` | Toggles whether the greet messages will be sent in a PM or in the text channel. **Needs Manage Server Permissions.**| `.greetpm` +`.spmom` | Toggles whether mentions of other offline users on your server will send a pm to them. **Needs Manage Server Permissions.**| `.spmom` +`.logserver` | Toggles logging in this channel. Logs every message sent/deleted/edited on the server. **Bot Owner Only!** | `.logserver` +`.logignore` | Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. **Bot Owner Only!**| `.logignore` +`.userpresence` | Starts logging to this channel when someone from the server goes online/offline/idle. **Needs Manage Server Permissions.**| `.userpresence` +`.voicepresence` | Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. **Needs Manage Server Permissions.**| `.voicerpresence` +`.repeatinvoke`, `.repinv` | Immediately shows the repeat message and restarts the timer. **Needs Manage Messages Permissions.**| `.repinv` +`.repeat` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. **Needs Manage Messages Permissions.** |`.repeat 5 Hello there` +`.rotateplaying`, `.ropl` | Toggles rotation of playing status of the dynamic strings you specified earlier. **Bot Owner Only!** | `.ropl` +`.addplaying`, `.adpl` | Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued%, %trivia% **Bot Owner Only!**| `.adpl` +`.listplaying`, `.lipl` | Lists all playing statuses with their corresponding number. **Bot Owner Only!**| `.lipl` +`.removeplaying`, `.repl`, `.rmpl` | Removes a playing string on a given number. **Bot Owner Only!**| `.rmpl` +`.slowmode` | Toggles slow mode. When ON, users will be able to send only 1 message every 5 seconds. **Needs Manage Messages Permissions.**| `.slowmode` +`.cleanv+t`, `.cv+t` | Deletes all text channels ending in `-voice` for which voicechannels are not found. **Use at your own risk. Needs Manage Roles and Manage Channels Permissions.** | `.cleanv+t` +`.voice+text`, `.v+t` | Creates a text channel for each voice channel only users in that voice channel can see.If you are server owner, keep in mind you will see them all the time regardless. **Needs Manage Roles and Manage Channels Permissions.**| `.voice+text` +`.scsc` | Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance. **Bot Owner Only.** | `.scsc` +`.jcsc` | Joins current channel to an instance of cross server channel using the token. **Needs Manage Server Permissions.**| `.jcsc` +`.lcsc` | Leaves Cross server channel instance from this channel. **Needs Manage Server Permissions.**| `.lcsc` +`.asar` | Adds a role, or list of roles separated by whitespace(use quotations for multiword roles) to the list of self-assignable roles. **Needs Manage Roles Permissions.**| `.asar Gamer` +`.rsar` | Removes a specified role from the list of self-assignable roles. | `.rsar` +`.lsar` | Lists all self-assignable roles. | `.lsar` +`.togglexclsar`, `.tesar` | toggle whether the self-assigned roles should be exclusive | `.tesar` +`.iam` | Adds a role to you that you choose. Role must be on a list of self-assignable roles. | `.iam Gamer` +`.iamnot`, `.iamn` | Removes a role to you that you choose. Role must be on a list of self-assignable roles. | `.iamn Gamer` +`.addcustreact`, `.acr` | Add a custom reaction. Guide here: **Bot Owner Only!** | `.acr "hello" Hi there %user%` +`.listcustreact`, `.lcr` | Lists custom reactions (paginated with 30 commands per page). Use 'all' instead of page number to get all custom reactions DM-ed to you. |`.lcr 1` +`.showcustreact`, `.scr` | Shows all possible responses from a single custom reaction. |`.scr %mention% bb` +`.editcustreact`, `.ecr` | Edits a custom reaction, arguments are custom reactions name, index to change, and a (multiword) message **Bot Owner Only** | `.ecr "%mention% disguise" 2 Test 123` +`.delcustreact`, `.dcr` | Deletes a custom reaction with given name (and index). **Bot Owner Only.**| `.dcr index` +`.autoassignrole`, `.aar` | Automaticaly assigns a specified role to every user who joins the server. **Needs Manage Roles Permissions.** |`.aar` to disable, `.aar Role Name` to enable +`.leave` | Makes Nadeko leave the server. Either name or id required. **Bot Owner Only!**| `.leave 123123123331` +`.listincidents`, `.lin` | List all UNREAD incidents and flags them as read. **Needs Manage Server Permissions.**| `.lin` +`.listallincidents`, `.lain` | Sends you a file containing all incidents and flags them as read. **Needs Manage Server Permissions.**| `.lain` +`.delmsgoncmd` | Toggles the automatic deletion of user's successful command message to prevent chat flood. **Server Manager Only.** | `.delmsgoncmd` +`.restart` | Restarts the bot. Might not work. **Bot Owner Only** | `.restart` +`.setrole`, `.sr` | Sets a role for a given user. **Needs Manage Roles Permissions.**| `.sr @User Guest` +`.removerole`, `.rr` | Removes a role from a given user. **Needs Manage Roles Permissions.**| `.rr @User Admin` +`.renamerole`, `.renr` | Renames a role. Roles you are renaming must be lower than bot's highest role. **Manage Roles Permissions.** | `.renr "First role" SecondRole` +`.removeallroles`, `.rar` | Removes all roles from a mentioned user. **Needs Manage Roles Permissions.**| `.rar @User` +`.createrole`, `.cr` | Creates a role with a given name. **Needs Manage Roles Permissions.**| `.cr Awesome Role` +`.rolecolor`, `.rc` | Set a role's color to the hex or 0-255 rgb color value provided. **Needs Manage Roles Permissions.** | `.rc Admin 255 200 100` or `.rc Admin ffba55` +`.ban`, `.b` | Bans a user by id or name with an optional message. **Needs Ban Permissions.**| `.b "@some Guy" Your behaviour is toxic.` +`.softban`, `.sb` | Bans and then unbans a user by id or name with an optional message. **Needs Ban Permissions.**| `.sb "@some Guy" Your behaviour is toxic.` +`.kick`, `.k` | Kicks a mentioned user. **Needs Kick Permissions.**| `.k "@some Guy" Your behaviour is toxic.` +`.mute` | Mutes mentioned user or users. **Needs Mute Permissions.**| `.mute "@Someguy"` or `.mute "@Someguy" "@Someguy"` +`.unmute` | Unmutes mentioned user or users. **Needs Mute Permissions.**| `.unmute "@Someguy"` or `.unmute "@Someguy" "@Someguy"` +`.deafen`, `.deaf` | Deafens mentioned user or users. **Needs Deafen Permissions.**| `.deaf "@Someguy"` or `.deaf "@Someguy" "@Someguy"` +`.undeafen`, `.undef` | Undeafens mentioned user or users. **Needs Deafen Permissions.** | `.undef "@Someguy"` or `.undef "@Someguy" "@Someguy"` +`.delvoichanl`, `.dvch` | Deletes a voice channel with a given name. **Needs Manage Channel Permissions.**| `.dvch VoiceChannelName` +`.creatvoichanl`, `.cvch` | Creates a new voice channel with a given name. **Needs Manage Channel Permissions.** | `.cvch VoiceChannelName` +`.deltxtchanl`, `.dtch` | Deletes a text channel with a given name. **Needs Manage Channel Permissions.** | `.dtch TextChannelName` +`.creatxtchanl`, `.ctch` | Creates a new text channel with a given name. **Needs Manage Channel Permissions.** | `.ctch TextChannelName` +`.settopic`, `.st` | Sets a topic on the current channel. **Needs Manage Channel Permissions.** | `.st My new topic` +`.setchanlname`, `.schn` | Changed the name of the current channel. **Needs Manage Channel Permissions.**| `.schn NewName` +`.heap` | Shows allocated memory - **Bot Owner Only!** | `.heap` +`.prune`, `.clr` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. **Needs Manage Messages Permissions**| `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` +`.die` | Shuts the bot down and notifies users about the restart. **Bot Owner Only!** | `.die` +`.setname`, `.newnm` | Give the bot a new name. **Bot Owner Only!** | `.newnm BotName` +`.newavatar`, `.setavatar` | Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. **Bot Owner Only!** | `.setavatar http://i.imgur.com/xTG3a1I.jpg` +`.setgame` | Sets the bots game. **Bot Owner Only!** | `.setgame Playing with kwoth` +`.send` | Send a message to someone on a different server through the bot. **Bot Owner Only!** | `.send sid|u:uid Hello user!` or `.send sid|c:cid Message to channel!` (cid = channel id, sid = server id) +`.mentionrole`, `.menro` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. | `.menro RoleName` +`.unstuck` | Clears the message queue. **Bot Owner Only!** | `.unstuck` +`.donators` | List of lovely people who donated to keep this project alive. | `.donators` +`.donadd` | Add a donator to the database. **Kwoth Only** | `.donadd Donate Amount` +`.announce` | Sends a message to all servers' general channel bot is connected to.**Bot Owner Only!** | `.announce Useless spam` +`.savechat` | Saves a number of messages to a text file and sends it to you. **Bot Owner Only** | `.savechat 150` + +### Utility +Command and aliases | Description | Usage +----------------|--------------|------- +`.remind` | Sends a message to you or a channel after certain amount of time. First argument is me/here/'channelname'. Second argument is time in a descending order (mo>w>d>h>m) example: 1w5d3h10m. Third argument is a (multiword)message. | `.remind me 1d5h Do something` or `.remind #general Start now!` +`.remindmsg` | Sets message for when the remind is triggered. Available placeholders are %user% - user who ran the command, %message% - Message specified in the remind, %target% - target channel of the remind. **Bot Owner Only!** | `.remindmsg do something else` +`.serverinfo`, `.sinfo` | Shows info about the server the bot is on. If no channel is supplied, it defaults to current one. |`.sinfo Some Server` +`.channelinfo`, `.cinfo` | Shows info about the channel. If no channel is supplied, it defaults to current one. |`.cinfo #some-channel` +`.userinfo`, `.uinfo` | Shows info about the user. If no user is supplied, it defaults a user running the command. |`.uinfo @SomeUser` +`.whoplays` | Shows a list of users who are playing the specified game. | `.whoplays Overwatch` +`.inrole` | Lists every person from the provided role or roles (separated by a ',') on this server. If the list is too long for 1 message, you must have Manage Messages permission. | `.inrole Role` +`.checkmyperms` | Checks your userspecific permissions on this channel. | `.checkmyperms` +`.stats` | Shows some basic stats for Nadeko. | `.stats` +`.dysyd` | Shows some basic stats for Nadeko. | `.dysyd` +`.userid`, `.uid` | Shows user ID. | `.uid` or `.uid "@SomeGuy"` +`.channelid`, `.cid` | Shows current channel ID. | `.cid` +`.serverid`, `.sid` | Shows current server ID. | `.sid` +`.roles` | List all roles on this server or a single user if specified. | `.roles` +`.channeltopic`, `.ct` | Sends current channel's topic as a message. | `.ct` + +### Permissions +Command and aliases | Description | Usage +----------------|--------------|------- +`;chnlfilterinv`, `;cfi` | Enables or disables automatic deleting of invites on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. | `;cfi enable #general-chat` +`;srvrfilterinv`, `;sfi` | Enables or disables automatic deleting of invites on the server. | `;sfi disable` +`;chnlfilterwords`, `;cfw` | Enables or disables automatic deleting of messages containing banned words on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. | `;cfw enable #general-chat` +`;addfilterword`, `;afw` | Adds a new word to the list of filtered words | `;afw poop` +`;rmvfilterword`, `;rfw` | Removes the word from the list of filtered words | `;rw poop` +`;lstfilterwords`, `;lfw` | Shows a list of filtered words | `;lfw` +`;srvrfilterwords`, `;sfw` | Enables or disables automatic deleting of messages containing forbidden words on the server. | `;sfw disable` +`;permrole`, `;pr` | Sets a role which can change permissions. Or supply no parameters to find out the current one. Default one is 'Nadeko'. | `;pr role` +`;rolepermscopy`, `;rpc` | Copies BOT PERMISSIONS (not discord permissions) from one role to another. |`;rpc Some Role ~ Some other role` +`;chnlpermscopy`, `;cpc` | Copies BOT PERMISSIONS (not discord permissions) from one channel to another. |`;cpc Some Channel ~ Some other channel` +`;usrpermscopy`, `;upc` | Copies BOT PERMISSIONS (not discord permissions) from one role to another. |`;upc @SomeUser ~ @SomeOtherUser` +`;verbose`, `;v` | Sets whether to show when a command/module is blocked. | `;verbose true` +`;srvrperms`, `;sp` | Shows banned permissions for this server. | `;sp` +`;roleperms`, `;rp` | Shows banned permissions for a certain role. No argument means for everyone. | `;rp AwesomeRole` +`;chnlperms`, `;cp` | Shows banned permissions for a certain channel. No argument means for this channel. | `;cp #dev` +`;userperms`, `;up` | Shows banned permissions for a certain user. No argument means for yourself. | `;up Kwoth` +`;srvrmdl`, `;sm` | Sets a module's permission at the server level. | `;sm "module name" enable` +`;srvrcmd`, `;sc` | Sets a command's permission at the server level. | `;sc "command name" disable` +`;rolemdl`, `;rm` | Sets a module's permission at the role level. | `;rm "module name" enable MyRole` +`;rolecmd`, `;rc` | Sets a command's permission at the role level. | `;rc "command name" disable MyRole` +`;chnlmdl`, `;cm` | Sets a module's permission at the channel level. | `;cm "module name" enable SomeChannel` +`;chnlcmd`, `;cc` | Sets a command's permission at the channel level. | `;cc "command name" enable SomeChannel` +`;usrmdl`, `;um` | Sets a module's permission at the user level. | `;um "module name" enable SomeUsername` +`;usrcmd`, `;uc` | Sets a command's permission at the user level. | `;uc "command name" enable SomeUsername` +`;allsrvrmdls`, `;asm` | Sets permissions for all modules at the server level. | `;asm [enable/disable]` +`;allsrvrcmds`, `;asc` | Sets permissions for all commands from a certain module at the server level. | `;asc "module name" [enable/disable]` +`;allchnlmdls`, `;acm` | Sets permissions for all modules at the channel level. | `;acm [enable/disable] SomeChannel` +`;allchnlcmds`, `;acc` | Sets permissions for all commands from a certain module at the channel level. | `;acc "module name" [enable/disable] SomeChannel` +`;allrolemdls`, `;arm` | Sets permissions for all modules at the role level. | `;arm [enable/disable] MyRole` +`;allrolecmds`, `;arc` | Sets permissions for all commands from a certain module at the role level. | `;arc "module name" [enable/disable] MyRole` +`;ubl` | Blacklists a mentioned user. **Bot Owner Only!**| `;ubl [user_mention]` +`;uubl` | Unblacklists a mentioned user. **Bot Owner Only!** | `;uubl [user_mention]` +`;cbl` | Blacklists a mentioned channel (#general for example). | `;cbl #some_channel` +`;cubl` | Unblacklists a mentioned channel (#general for example). | `;cubl #some_channel` +`;sbl` | Blacklists a server by a name or id (#general for example). **BOT OWNER ONLY** | `;sbl [servername/serverid]` +`;cmdcooldown`, `;cmdcd` | Sets a cooldown per user for a command. Set 0 to clear. **Needs Manager Messages Permissions**| `;cmdcd "some cmd" 5` +`;allcmdcooldowns`, `;acmdcds` | Shows a list of all commands and their respective cooldowns. | `;acmdcds` + +### Conversations +Command and aliases | Description | Usage +----------------|--------------|------- +`..` | Adds a new quote with the specified name (single word) and message (no limit). | `.. abc My message` +`...` | Shows a random quote with a specified name. | `... abc` +`..qdel`, `..quotedelete` | Deletes all quotes with the specified keyword. You have to either be bot owner or the creator of the quote to delete it. | `..qdel abc` +`@BotName rip` | Shows a grave image of someone with a start year | `@NadekoBot rip @Someone 2000` +`@BotName die` | Works only for the owner. Shuts the bot down. | `@NadekoBot die` +`@BotName do you love me` | Replies with positive answer only to the bot owner. | `@NadekoBot do you love me` +`@BotName how are you`, `@BotName how are you?` | Replies positive only if bot owner is online. | `@NadekoBot how are you` +`@BotName fire` | Shows a unicode fire message. Optional parameter [x] tells her how many times to repeat the fire. | `@NadekoBot fire [x]` +`@BotName dump` | Dumps all of the invites it can to dump.txt.** Owner Only.** | `@NadekoBot dump` +`@BotName ab` | Try to get 'abalabahaha'| `@NadekoBot ab` + +### Gambling +Command and aliases | Description | Usage +----------------|--------------|------- +`$draw` | Draws a card from the deck.If you supply number [x], she draws up to 5 cards from the deck. | `$draw [x]` +`$shuffle`, `$sh` | Reshuffles all cards back into the deck.|`$shuffle` +`$flip` | Flips coin(s) - heads or tails, and shows an image. | `$flip` or `$flip 3` +`$betflip`, `$bf` | Bet to guess will the result be heads or tails. Guessing award you double flowers you've bet. | `$bf 5 heads` or `$bf 3 t` +`$roll` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$roll` or `$roll 7` or `$roll 3d5` +`$rolluo` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice (unordered). If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$rolluo` or `$rolluo 7` or `$rolluo 3d5` +`$nroll` | Rolls in a given range. | `$nroll 5` (rolls 0-5) or `$nroll 5-15` +`$race` | Starts a new animal race. | `$race` +`$joinrace`, `$jr` | Joins a new race. You can specify an amount of flowers for betting (optional). You will get YourBet*(participants-1) back if you win. | `$jr` or `$jr 5` +`$raffle` | Prints a name and ID of a random user from the online list from the (optional) role. | `$raffle` or `$raffle RoleName` +`$$$` | Check how much NadekoFlowers a person has. (Defaults to yourself) |`$$$` or `$$$ @Someone` +`$give` | Give someone a certain amount of NadekoFlowers|`$give 1 "@SomeGuy"` +`$award` | Gives someone a certain amount of flowers. **Bot Owner Only!** | `$award 100 @person` +`$take` | Takes a certain amount of flowers from someone. **Bot Owner Only!** | `$take 1 "@someguy"` +`$betroll`, `$br` | Bets a certain amount of NadekoFlowers and rolls a dice. Rolling over 66 yields x2 flowers, over 90 - x3 and 100 x10. | `$br 5` +`$leaderboard`, `$lb` | Displays bot currency leaderboard | `$lb` + +### Games +Command and aliases | Description | Usage +----------------|--------------|------- +`>t` | Starts a game of trivia. You can add nohint to prevent hints.First player to get to 10 points wins by default. You can specify a different number. 30 seconds per question. |`>t nohint` or `>t 5 nohint` +`>tl` | Shows a current trivia leaderboard. | `>tl` +`>tq` | Quits current trivia after current question. | `>tq` +`>typestart` | Starts a typing contest. | `>typestart` +`>typestop` | Stops a typing contest on the current channel. | `>typestop` +`>typeadd` | Adds a new article to the typing contest. Owner only. | `>typeadd wordswords` +`>poll` | Creates a poll, only person who has manage server permission can do it. **Needs Manage Server Permissions**| `>poll Question?;Answer1;Answ 2;A_3` +`>pollend` | Stops active poll on this server and prints the results in this channel. | `>pollend` +`>pick` | Picks a flower planted in this channel. | `>pick` +`>plant` | Spend a flower to plant it in this channel. (If bot is restarted or crashes, flower will be lost) | `>plant` +`>gencurrency`, `>gc` | Toggles currency generation on this channel. Every posted message will have 2% chance to spawn a NadekoFlower. Optional parameter cooldown time in minutes, 5 minutes by default. Requires Manage Messages permission. | `>gc` or `>gc 60` +`>leet` | Converts a text to leetspeak with 6 (1-6) severity levels | `>leet 3 Hello` +`>choose` | Chooses a thing from a list of things | `>choose Get up;Sleep;Sleep more` +`>8ball` | Ask the 8ball a yes/no question. | `>8ball should i do something` +`>rps` | Play a game of rocket paperclip scissors with Nadeko. | `>rps scissors` +`>linux` | Prints a customizable Linux interjection | `>linux Spyware Windows` + +### Music +Command and aliases | Description | Usage +----------------|--------------|------- +`!!next`, `!!n`, `!!skip` | Goes to the next song in the queue. You have to be in the same voice channel as the bot. | `!!n` +`!!stop`, `!!s` | Stops the music and clears the playlist. Stays in the channel. | `!!s` +`!!destroy`, `!!d` | Completely stops the music and unbinds the bot from the channel. (may cause weird behaviour) | `!!d` +`!!pause`, `!!p` | Pauses or Unpauses the song. | `!!p` +`!!queue`, `!!q`, `!!yq` | Queue a song using keywords or a link. Bot will join your voice channel.**You must be in a voice channel**. | `!!q Dream Of Venice` +`!!soundcloudqueue`, `!!sq` | Queue a soundcloud song using keywords. Bot will join your voice channel.**You must be in a voice channel**. | `!!sq Dream Of Venice` +`!!listqueue`, `!!lq` | Lists 15 currently queued songs per page. Default page is 1. | `!!lq` or `!!lq 2` +`!!nowplaying`, `!!np` | Shows the song currently playing. | `!!np` +`!!volume`, `!!vol` | Sets the music volume 0-100% | `!!vol 50` +`!!defvol`, `!!dv` | Sets the default music volume when music playback is started (0-100). Persists through restarts. | `!!dv 80` +`!!mute`, `!!min` | Sets the music volume to 0% | `!!min` +`!!max` | Sets the music volume to 100%. | `!!max` +`!!half` | Sets the music volume to 50%. | `!!half` +`!!shuffle`, `!!sh` | Shuffles the current playlist. | `!!sh` +`!!playlist`, `!!pl` | Queues up to 500 songs from a youtube playlist specified by a link, or keywords. | `!!pl playlist link or name` +`!!soundcloudpl`, `!!scpl` | Queue a soundcloud playlist using a link. | `!!scpl soundcloudseturl` +`!!localplaylst`, `!!lopl` | Queues all songs from a directory. **Bot Owner Only!** | `!!lopl C:/music/classical` +`!!radio`, `!!ra` | Queues a radio stream from a link. It can be a direct mp3 radio stream, .m3u, .pls .asx or .xspf (Usage Video: ) | `!!ra radio link here` +`!!local`, `!!lo` | Queues a local file by specifying a full path. **Bot Owner Only!** | `!!lo C:/music/mysong.mp3` +`!!move`, `!!mv` | Moves the bot to your voice channel. (works only if music is already playing) | `!!mv` +`!!remove`, `!!rm` | Remove a song by its # in the queue, or 'all' to remove whole queue. | `!!rm 5` +`!!movesong`, `!!ms` | Moves a song from one position to another. | `!! ms 5>3` +`!!setmaxqueue`, `!!smq` | Sets a maximum queue size. Supply 0 or no argument to have no limit. | `!!smq 50` or `!!smq` +`!!cleanup` | Cleans up hanging voice connections. **Bot Owner Only!** | `!!cleanup` +`!!reptcursong`, `!!rcs` | Toggles repeat of current song. | `!!rcs` +`!!rpeatplaylst`, `!!rpl` | Toggles repeat of all songs in the queue (every song that finishes is added to the end of the queue). | `!!rpl` +`!!save` | Saves a playlist under a certain name. Name must be no longer than 20 characters and mustn't contain dashes. | `!!save classical1` +`!!load` | Loads a playlist under a certain name. | `!!load classical-1` +`!!playlists`, `!!pls` | Lists all playlists. Paginated. 20 per page. Default page is 0. |`!!pls 1` +`!!deleteplaylist`, `!!delpls` | Deletes a saved playlist. Only if you made it or if you are the bot owner. | `!!delpls animu-5` +`!!goto` | Goes to a specific time in seconds in a song. | `!!goto 30` +`!!getlink`, `!!gl` | Shows a link to the song in the queue by index, or the currently playing song by default. | `!!gl` +`!!autoplay`, `!!ap` | Toggles autoplay - When the song is finished, automatically queue a related youtube song. (Works only for youtube songs and when queue is empty) | `!!ap` + +### Searches +Command and aliases | Description | Usage +----------------|--------------|------- +`~lolchamp` | Shows League Of Legends champion statistics. If there are spaces/apostrophes or in the name - omit them. Optional second parameter is a role. |`~lolchamp Riven` or `~lolchamp Annie sup` +`~lolban` | Shows top 6 banned champions ordered by ban rate. Ban these champions and you will be Plat 5 in no time. | `~lolban` +`~hitbox`, `~hb` | Notifies this channel when a certain user starts streaming. | `~hitbox SomeStreamer` +`~twitch`, `~tw` | Notifies this channel when a certain user starts streaming. | `~twitch SomeStreamer` +`~beam`, `~bm` | Notifies this channel when a certain user starts streaming. | `~beam SomeStreamer` +`~checkhitbox`, `~chhb` | Checks if a certain user is streaming on the hitbox platform. | `~chhb SomeStreamer` +`~checktwitch`, `~chtw` | Checks if a certain user is streaming on the twitch platform. | `~chtw SomeStreamer` +`~checkbeam`, `~chbm` | Checks if a certain user is streaming on the beam platform. | `~chbm SomeStreamer` +`~removestream`, `~rms` | Removes notifications of a certain streamer on this channel. | `~rms SomeGuy` +`~liststreams`, `~ls` | Lists all streams you are following on this server. | `~ls` +`~convert` | Convert quantities from>to. | `~convert m>km 1000` +`~convertlist` | List of the convertable dimensions and currencies. +`~wowjoke` | Get one of Kwoth's penultimate WoW jokes. | `~wowjoke` +`~calculate`, `~calc` | Evaluate a mathematical expression. | `~calc 1+1` +`~osu` | Shows osu stats for a player. | `~osu Name` or `~osu Name taiko` +`~osu b` | Shows information about an osu beatmap. |`~osu b https://osu.ppy.sh/s/127712` +`~osu top5` | Displays a user's top 5 plays. |`~osu top5 Name` +`~pokemon`, `~poke` | Searches for a pokemon. | `~poke Sylveon` +`~pokemonability`, `~pokeab` | Searches for a pokemon ability. | `~pokeab "water gun"` +`~memelist` | Pulls a list of memes you can use with `~memegen` from http://memegen.link/templates/ | `~memelist` +`~memegen` | Generates a meme from memelist with top and bottom text. | `~memegen biw "gets iced coffee" "in the winter"` +`~we` | Shows weather data for a specified city and a country. BOTH ARE REQUIRED. Use country abbrevations. | `~we Moscow RF` +`~yt` | Searches youtubes and shows the first result | `~yt query` +`~ani`, `~anime`, `~aq` | Queries anilist for an anime and shows the first result. | `~aq aquarion evol` +`~imdb` | Queries imdb for movies or series, show first result. | `~imdb Batman vs Superman` +`~mang`, `~manga`, `~mq` | Queries anilist for a manga and shows the first result. | `~mq Shingeki no kyojin` +`~randomcat`, `~meow` | Shows a random cat image. | `~meow` +`~randomdog`, `~woof` | Shows a random dog image. | `~woof` +`~i` | Pulls the first image found using a search parameter. Use ~ir for different results. | `~i cute kitten` +`~ir` | Pulls a random image using a search parameter. | `~ir cute kitten` +`~lmgtfy` | Google something for an idiot. | `~lmgtfy query` +`~google`, `~g` | Get a google search link for some terms. | `~google query` +`~hs` | Searches for a Hearthstone card and shows its image. Takes a while to complete. | `~hs Ysera` +`~ud` | Searches Urban Dictionary for a word. | `~ud Pineapple` +`~#` | Searches Tagdef.com for a hashtag. | `~# ff` +`~quote` | Shows a random quote. | `~quote` +`~catfact` | Shows a random catfact from | `~catfact` +`~yomama`, `~ym` | Shows a random joke from | `~ym` +`~randjoke`, `~rj` | Shows a random joke from | `~rj` +`~chucknorris`, `~cn` | Shows a random chucknorris joke from | `~cn` +`~magicitem`, `~mi` | Shows a random magicitem from | `~mi` +`~revav` | Returns a google reverse image search for someone's avatar. | `~revav "@SomeGuy"` +`~revimg` | Returns a google reverse image search for an image from a link. | `~revav Image link` +`~safebooru` | Shows a random image from safebooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~safebooru yuri+kissing` +`~wiki` | Gives you back a wikipedia link | `~wiki query` +`~clr` | Shows you what color corresponds to that hex. | `~clr 00ff00` +`~videocall` | Creates a private video call link for you and other mentioned people. The link is sent to mentioned people via a private message. | `~videocall "@SomeGuy"` +`~av`, `~avatar` | Shows a mentioned person's avatar. | `~av "@SomeGuy"` + +### NSFW +Command and aliases | Description | Usage +----------------|--------------|------- +`~hentai` | Shows a random NSFW hentai image from gelbooru and danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~hentai yuri+kissing` +`~danbooru` | Shows a random hentai image from danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~danbooru yuri+kissing` +`~gelbooru` | Shows a random hentai image from gelbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~gelbooru yuri+kissing` +`~rule34` | Shows a random image from rule34.xx with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~rule34 yuri+kissing` +`~e621` | Shows a random hentai image from e621.net with a given tag. Tag is optional but preffered. Use spaces for multiple tags. | `~e621 yuri kissing` +`~cp` | We all know where this will lead you to. | `~cp` +`~boobs` | Real adult content. | `~boobs` +`~butts`, `~ass`, `~butt` | Real adult content. | `~butts` or `~ass` + +### ClashOfClans +Command and aliases | Description | Usage +----------------|--------------|------- +`,createwar`, `,cw` | Creates a new war by specifying a size (>10 and multiple of 5) and enemy clan name. | `,cw 15 The Enemy Clan` +`,startwar`, `,sw` | Starts a war with a given number. | `,sw 15` +`,listwar`, `,lw` | Shows the active war claims by a number. Shows all wars in a short way if no number is specified. | `,lw [war_number] or ,lw` +`,claim`, `,call`, `,c` | Claims a certain base from a certain war. You can supply a name in the third optional argument to claim in someone else's place. | `,call [war_number] [base_number] [optional_other_name]` +`,claimfinish`, `,cf`, `,cf3`, `,claimfinish3` | Finish your claim with 3 stars if you destroyed a base. Optional second argument finishes for someone else. | `,cf [war_number] [optional_other_name]` +`,claimfinish2`, `,cf2` | Finish your claim with 2 stars if you destroyed a base. Optional second argument finishes for someone else. | `,cf [war_number] [optional_other_name]` +`,claimfinish1`, `,cf1` | Finish your claim with 1 stars if you destroyed a base. Optional second argument finishes for someone else. | `,cf [war_number] [optional_other_name]` +`,unclaim`, `,uncall`, `,uc` | Removes your claim from a certain war. Optional second argument denotes a person in whose place to unclaim | `,uc [war_number] [optional_other_name]` +`,endwar`, `,ew` | Ends the war with a given index. | `,ew [war_number]` + +### Pokegame +Command and aliases | Description | Usage +----------------|--------------|------- +`>attack` | Attacks a target with the given move. Use `>movelist` to see a list of moves your type can use. | `>attack "vine whip" @someguy` +`>movelist`, `>ml` | Lists the moves you are able to use | `>ml` +`>heal` | Heals someone. Revives those who fainted. Costs a NadekoFlower | `>heal @someone` +`>type` | Get the poketype of the target. | `>type @someone` +`>settype` | Set your poketype. Costs a NadekoFlower. | `>settype fire` + +### Translator +Command and aliases | Description | Usage +----------------|--------------|------- +`~translate`, `~trans` | Translates from>to text. From the given language to the destiation language. | `~trans en>fr Hello` +`~translangs` | List the valid languages for translation. | `~translangs` or `~translangs language` + +### Customreactions +Command and aliases | Description | Usage +----------------|--------------|------- +`\o\` | Custom reaction. | `\o\` +`/o/` | Custom reaction. | `/o/` +`moveto` | Custom reaction. | `moveto` +`comeatmebro` | Custom reaction. | `comeatmebro` +`e` | Custom reaction. | `e` +`@BotName insult`, `<@!116275390695079945> insult` | Custom reaction. | `%mention% insult` +`@BotName praise`, `<@!116275390695079945> praise` | Custom reaction. | `%mention% praise` +`@BotName pat`, `<@!116275390695079945> pat` | Custom reaction. | `%mention% pat` +`@BotName cry`, `<@!116275390695079945> cry` | Custom reaction. | `%mention% cry` +`@BotName are you real?`, `<@!116275390695079945> are you real?` | Custom reaction. | `%mention% are you real?` +`@BotName are you there?`, `<@!116275390695079945> are you there?` | Custom reaction. | `%mention% are you there?` +`@BotName draw`, `<@!116275390695079945> draw` | Custom reaction. | `%mention% draw` +`@BotName bb`, `<@!116275390695079945> bb` | Custom reaction. | `%mention% bb` +`@BotName call`, `<@!116275390695079945> call` | Custom reaction. | `%mention% call` +`@BotName disguise`, `<@!116275390695079945> disguise` | Custom reaction. | `%mention% disguise` +`@BotName inv`, `<@!116275390695079945> inv` | Custom reaction. | `%mention% inv` +`@BotName threaten`, `<@!116275390695079945> threaten` | Custom reaction. | `%mention% threaten` +`@BotName archer`, `<@!116275390695079945> archer` | Custom reaction. | `%mention% archer` + +### Trello +Command and aliases | Description | Usage +----------------|--------------|------- +`trello bind` | Bind a trello bot to a single channel. You will receive notifications from your board when something is added or edited. **Bot Owner Only!**| `trello bind [board_id]` +`trello unbind` | Unbinds a bot from the channel and board. **Bot Owner Only!**| `trello unbind` +`trello lists`, `trello list` | Lists all lists, yo ;) **Bot Owner Only!**| `trello list` +`trello cards` | Lists all cards from the supplied list. You can supply either a name or an index. **Bot Owner Only!**| `trello cards index` diff --git a/docs/Contribution Guide.md b/docs/Contribution Guide.md new file mode 100644 index 00000000..41c7249a --- /dev/null +++ b/docs/Contribution Guide.md @@ -0,0 +1,7 @@ +### How to contribute + +1. Make Pull Requests to **DEV BRANCH** +2. Keep 1 Pull Request to a single feature +3. Explain what you did in the PR message + +Thanks for all the help ^_^ diff --git a/docs/Custom Reactions.md b/docs/Custom Reactions.md new file mode 100644 index 00000000..fc2dd0b5 --- /dev/null +++ b/docs/Custom Reactions.md @@ -0,0 +1,69 @@ +##Custom Reactions +

Every time you add or remove a custom reaction you will need to restart your bot with either .restart if you are hosting or Nadeko is on VPS, or .die if Nadeko is on Droplet

+

Important

+
    +
  • .acr.dcr, and .ecr Require you to be Bot Owner
  • +
  • Adding multiple commands of the same name will make Nadeko randomly select one of the command's responses
  • +
+###Commands and Their Use + + + + + + + + + + + + + + + + + + + + + + + + +
Command NameDescriptionExample
.acrAdds a Custom Reaction.acr Hello Hi!
.dcrDeletes an entire Custom Reaction or a Specified Response Index Number.dcr "command name" or .dcr "command name" 3
.lcrLists a specified page of Custom Commands.lcr Number i.e .lcr 2
.scrShows all responses to a command. Index Number will be in brackets [ ].scr Hello
.ecrEdit a custom reaction, needs: reaction's name, index to change, and new multiword response..ecr Hello 3 What's up
+

Now that we know the commands let's take a look at the arguments and placeholders available for .acr,

+

.addcustreact (.acr) takes two arguments: +

+
● First, The name of the command; this directly follows the .acr
+
- If your command name is more than 1 word use quotation marks;
i.e .acr Nice weather sure is > .acr "Nice weather" sure is
+
- Now everytime someone says "Nice weather" the bot will respond with, "sure is"
+
● Next, The Response, this follows the name of the command.
+
- i.e .acr "Nice weather"sure is

+###And finally on to the Placeholders +

There are currently four placeholders, which we will be looking at, with many more to come in the future.

+ + + + + + + + + + + + + + + + + + + + +
PlaceholderHow the placeholder worksExamples
%mention%The %mention% placeholder is triggered when you type @botname.acr "%mention% Hello" Hello! > User input: @botname Hello | Bot Replies: Hello!
%target%The %target% placeholder is used to make Nadeko Mention another person.acr "%mention% Hello" %target% Hi! > User inputs: "@botname Hello @somebody" + Bot replies: "Hi @somebody"
%user%The %user% placeholder mentions the person who said the command.acr "Who am i" You are %user%!
%rng%The %rng% generates a random number.acr Random %rng% +
+ + Thanks to Nekai for being creative. <3 + diff --git a/docs/Donate.md b/docs/Donate.md new file mode 100644 index 00000000..b33eed3a --- /dev/null +++ b/docs/Donate.md @@ -0,0 +1,17 @@ +##Donate to NadekoBot + +If you want to help Nadeko and Nadeko's team by donating, you can do that in the two of the following ways: + +###Patreon + +You can donate over [Patreon][Patreon] and support the project. + +[![img][img]](https://www.patreon.com/nadekobot) + + +###PayPal + +If you wish to donate over PayPal, you can send your donations to: `nadekodiscordbot@gmail.com` + +[Patreon]: https://www.patreon.com/nadekobot +[img]: http://www.mister-and-me.com/wp-content/plugins/patron-button-and-widgets-by-codebard/images/patreon-medium-button.png diff --git a/docs/Frequently Asked Questions.md b/docs/Frequently Asked Questions.md new file mode 100644 index 00000000..804444d4 --- /dev/null +++ b/docs/Frequently Asked Questions.md @@ -0,0 +1,70 @@ +#Frequently Asked Questions + + +###Question 1: How do I get Nadeko to join my server? +---- +**Answer:** Simply send Nadeko a Direct Message with -h and follow the link. **Only Server Owners can add the bot to the server** +###Question 2: I want to change permissions, but it isn't working! +---- +**Answer:** You must have the ;permsrole (by default this is the "Nadeko" role, for more details on permissions check [here](http://nadekobot.readthedocs.io/en/latest/Permissions%20System/ "Permissions")) + +**Please note:** *Only the Server Owner can change permissions without the "Nadeko" role*. +###Question 3: Music isn't working on Mac!! +---- +**Answer:** You will have to build `mono` from source. Simply follow the [mono-guide](http://www.mono-project.com/docs/compiling-mono/mac/ "Building mono"). +###Question 4: I want to disable NSFW on my server. +---- +**Answer:** To disable the NSFW Module for your server type, `;sm NSFW disable`. If this does not work refer to Question 2. +###Question 5: How do I get NadekoFlowers/Currency? +---- +**Answer:** You get NadekoFlowers by answering Trivia questions or picking them up after they have been generated with `>gc`, which you can then either plant (give away to a channel so that someone can pick it), gamble it with `$betflip`, `$betroll` and `$jr`, or spend on healing and setting your type in the Pokemon game. +###Question 6: I have an issue/bug/suggestion, where do I put it so it gets noticed? +----------- +**Answer:** First, check [issues](https://github.com/Kwoth/NadekoBot/issues "GitHub NadekoBot Issues"), then check the `#suggestions` in the Nadeko [help server](https://discord.gg/0ehQwTK2RBjAxzEY). + +If your problem or suggestion is not there, feel free to request it either in Issues or in `#suggestions`. +###Question 7: How do I use this command? +-------- +**Answer:** You can see the description and usage of certain commands by using `-h command` **i.e** `-h ;sm`. + +The whole list of commands can be found [here](http://nadekobot.readthedocs.io/en/latest/Commands%20List/ "Command List") +###Question 8: Music isn't working? +---- +**Answer:** Music is disabled on public Nadeko, it will be re-enabled later in the future. + +**If you would like music you must host Nadeko yourself**. Be sure you have FFMPEG installed correctly, read the [guide](http://nadekobot.readthedocs.io/en/latest/guides/Windows%20Guide/) for more info. +###Question 9: My music is still not working/very laggy? +---- +**Answer:** Try changing your discord [location][1], if this doesn't work be sure you have enabled the correct permissions for Nadeko. +[1]: https://support.discordapp.com/hc/en-us/articles/216661717-How-do-I-change-my-Voice-Server-Region- +###Question 10: I want to change data in the database (like NadekoFlowers or the pokemontypes of users, but how? +---- +**Answer:** Open data/nadekobot.sqlite using sqlitebrowser (or some alternative), Browse Data, select relevant table, change data, Write changes +###Question 11: The .greet and .bye commands doesn't work, but everything else is (From @Kong) +----- +**Answer:** Set a greeting message by using `.greetmsg YourMessageHere` and a bye-message by using `.byemsg YourMessageHere` +###Question 12: How do I import certs on linux? +------- +**Answer:** + +`certmgr -ssl https://discordapp.com` + +`certmgr -ssl https://gateway.discord.gg` +###Question 13: I want "BOT" tag with my bot a, is there a simple way? +---- +**Answer:** Yes, you can create an application using your account and use the APP BOT USER TOKEN from here: [DiscordApp][1] **NOTE: This will create a new bot account** +[1]:https://discordapp.com/developers/applications/me + +###Question 14: I made an application, but I can't add that new bot to my server, how do I invite it to my server? +---- +**Answer:** You need to use oauth link to add it to you server, just copy your CLIENT ID (that's in the same Developer page where you brought your token) and replace `12345678` in the link below: https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303 + +Follow this Detailed [Guide](http://discord.kongslien.net/guide.html) if you do not understand. +###Question 15:I'm building NadekoBot from source, but I get hundreds of (namespace) errors without changing anything!? +----- +**Answer:** Using Visual Studio, you can solve these errors by going to `Tools` -> `NuGet Package Manager` -> `Manage NuGet Packages for Solution`. Go to the Installed tab, select the Packages that were missing (usually `Newtonsoft.json` and `RestSharp`) and install them for all projects +###Question 16: My bot has all permissions but it's still saying, "Failed to add roles. Bot has insufficient permissions.". How do I fix this? +---------- +**Answer:** Discord has added a few new features and roles now follow hierarchy. This means you need to place your bot's role above every-other role your server has. + +**Please Note:** *The bot can only set/add all roles below its own highest role. It can not assign it's "highest role" to anyone else.* diff --git a/docs/JSON Explanations.md b/docs/JSON Explanations.md new file mode 100644 index 00000000..304e9e0e --- /dev/null +++ b/docs/JSON Explanations.md @@ -0,0 +1,60 @@ +###Setting up your Credentials +If you do not see `credentials.json` you will need to rename `credentials_example.json` to `credentials.json`. + +**This is how the unedited credentials look:** +```json +{ + "Token": "", + "ClientId": "116275390695079945", + "BotId": 1231231231231, + "OwnerIds": [ + 123123123123, + 5675675679845 + ], + "GoogleAPIKey": "", + "SoundCloudClientID": "", + "MashapeKey": "", + "LOLAPIKEY": "", + "TrelloAPPKey": "", + "OsuAPIKey": "", + "CarbonKey": "", +} +``` +####Required Parts ++ **Token** - Required to log in. Refer to this [guide](http://discord.kongslien.net/guide.html) ++ **OwnerIds** - Required for the **Owner-Only** commands. Seperate multiple Id's with a comma. ++ **BotId** - Required for custom reactions and conversation commands to work. + + **Important : Bot ID and Client ID are the same in newer bot accounts due to recent Discord API changes.** + +_BotId and the OwnerIds are **NOT** the names of the owner and the bot. If you do not know the id of your bot, keep the two random numbers in those fields and +run the bot then do `.uid @MyBotName` - this will give you your bot_id. +Do the same for yourself with `.uid @MyName` Put these numbers in their respective field of the credentials._ + +Setting up your API keys +==================== +####This part is completely optional, **However it is necessary for music to work properly** ++ **GoogleAPIKey** - Required for Youtube Song Search, Playlist queuing, and URL Shortener. `~i` and `~img`. + + You can get this api Key [here](https://console.developers.google.com/apis) ++ **SoundCloudClientID** - Required to queue soundloud songs from sc links. + + You will need to create a new app [here](http://soundcloud.com/you/apps). **Please note you must be logged into SoundCloud** + + You should come to a page that looks like this ![Imgur](http://i.imgur.com/RAZ2HDM.png) + + Simply click Register a new application and enter a name. + + After naming your app you will be brought to this page: ![Imgur](http://i.imgur.com/GH1gjKK.png) Copy the Client ID and click "save app" then paste the Client Id it into your `credentials.json` ++ **MashapeKey** - Required for Urban Disctionary, Hashtag search, and Hearthstone cards. + + You need to create an account on their [api marketplace](https://market.mashape.com/), after that go to `market.mashape.com/YOURNAMEHERE/applications/default-application` and press **Get the keys** in the top right corner. + + Copy the key and paste it into `credentials.json` ++ **LOLAPIKey** - Required for all League of Legends commands. + + You can get this key [here](http://api.champion.gg/) ++ **TrelloAppKey** - Required for the trello commands. + + You can get this key [here](https://trello.com/app-key) **Be sure you are logged into Trello first** ++ **OsuAPIKey** - Required for Osu commands + + You can get this key [here](https://osu.ppy.sh/p/api) **You will need to log in and like the soundcloud it may take a few tries** ++ **CarbonKey** -This key is for Carobnitex.net stats. + + Most likely unnecessary **Needed only if your bot is listed on Carbonitex.net** + +Config.json +=========== +In the folder where `NadekoBot.exe` is located you should also see a `Data` folder. In this folder you will find `config.json` among other files. +`config.json` contains user specific commands, such as: if DM's sent to the bot are forwarded to you, Blacklisted Ids, Servers, and channels...etc. + +**If you do not see** `config.json` **you need to rename** `config_example.json` **to** `config.json` diff --git a/docs/Readme.md b/docs/Readme.md new file mode 100644 index 00000000..7aefbd19 --- /dev/null +++ b/docs/Readme.md @@ -0,0 +1,29 @@ +##Readme for Commands List + +###Bot Owner Only + +- *Bot Owner Only* commands refer to the commands only the **owner** of the bot can use. +- *Bot Owner Only* commands do **not** refer to the owner of the **server**, just the owner of the **bot**. +- *Owner of the bot* is a person who is **hosting** his own bot, and his **ID** is inside of **credentials.json** file. +- You are **not** the bot **owner** if you invited the bot using **Carbonitex** or other invitation links. + +###Music on the public Nadeko + +- In case you got Nadeko in your server by the invitation from **Carbonitex**, our **GitHub** invite or **help (-h)**, music is disabled. +- Music is **disabled** due to large maintenance expenses, unless Kwoth is **testing** music module. +- If you want to have music module on your server, you will have to **host** the bot on your PC, or any of the external servers. +- How to **host** the bot, check the **guides** on the left side. + +###NadekoFlowers + +- NadekoFlowers is the **currency** of the public Nadeko. +- NadekoFlowers can be earned by playing **trivia**, or other games, like betting games. +- You can give NadekoFlowers to other users, using the command `$give X @person`. +- You can only give flowers you **own**. +- If you want to have **unlimited** number of flowers, you will have to **host** the bot. +- Command `$award X @person` can only be used by the *bot owner*. +- If you `>plant` the flower, flower will be avaliable for everyone to `>pick` it. In that case you will **lose** the flower. + +###Manage Permissions + +**These permissions refer to the permissions you can set in Discord settings for individual users or roles.** diff --git a/docs/about.md b/docs/about.md new file mode 100644 index 00000000..8435eda2 --- /dev/null +++ b/docs/about.md @@ -0,0 +1,13 @@ +## Terms of Use + +The MIT License (MIT) + +Copyright (c) 2016 NadekoBot Team + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + diff --git a/docs/commandlist.md b/docs/commandlist.md deleted file mode 100644 index 516eff12..00000000 --- a/docs/commandlist.md +++ /dev/null @@ -1,363 +0,0 @@ -######For more information and how to setup your own NadekoBot, go to: **http://github.com/Kwoth/NadekoBot/** -######You can donate on patreon: `https://patreon.com/nadekobot` -######or paypal: `nadekodiscordbot@gmail.com` - -#NadekoBot List Of Commands -Version: `NadekoBot v0.9.6054.4837` -### Help -Command and aliases | Description | Usage -----------------|--------------|------- -`-h`, `-help`, `@BotName help`, `@BotName h`, `~h` | Either shows a help for a single command, or PMs you help link if no arguments are specified. | `-h !m q` or just `-h` -`-hgit` | Generates the commandlist.md file. **Bot Owner Only!** | `-hgit` -`-readme`, `-guide` | Sends a readme and a guide links to the channel. | `-readme` or `-guide` -`-donate`, `~donate` | Instructions for helping the project! | `{Prefix}donate` or `~donate` -`-modules`, `.modules` | List all bot modules. | `{Prefix}modules` or `.modules` -`-commands`, `.commands` | List all of the bot's commands from a certain module. | `{Prefix}commands` or `.commands` - -### Administration -Command and aliases | Description | Usage -----------------|--------------|------- -`.grdel` | Toggles automatic deletion of greet and bye messages. | `.grdel` -`.greet` | Toggles anouncements on the current channel when someone joins the server. | `.greet` -`.greetmsg` | Sets a new join announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. | `.greetmsg Welcome to the server, %user%.` -`.bye` | Toggles anouncements on the current channel when someone leaves the server. | `.bye` -`.byemsg` | Sets a new leave announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current bye message. | `.byemsg %user% has left the server.` -`.byepm` | Toggles whether the good bye messages will be sent in a PM or in the text channel. | `.byepm` -`.greetpm` | Toggles whether the greet messages will be sent in a PM or in the text channel. | `.greetpm` -`.spmom` | Toggles whether mentions of other offline users on your server will send a pm to them. | `.spmom` -`.logserver` | Toggles logging in this channel. Logs every message sent/deleted/edited on the server. **Bot Owner Only!** | `.logserver` -`.logignore` | Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. | `.logignore` -`.userpresence` | Starts logging to this channel when someone from the server goes online/offline/idle. | `.userpresence` -`.voicepresence` | Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. | `{Prefix}voicerpresence` -`.repeatinvoke`, `.repinv` | Immediately shows the repeat message and restarts the timer. | `{Prefix}repinv` -`.repeat` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. Requires manage messages. | `.repeat 5 Hello there` -`.rotateplaying`, `.ropl` | Toggles rotation of playing status of the dynamic strings you specified earlier. | `.ropl` -`.addplaying`, `.adpl` | Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued%, %trivia% | `.adpl` -`.listplaying`, `.lipl` | Lists all playing statuses with their corresponding number. | `.lipl` -`.removeplaying`, `.repl`, `.rmpl` | Removes a playing string on a given number. | `.rmpl` -`.slowmode` | Toggles slow mode. When ON, users will be able to send only 1 message every 5 seconds. | `.slowmode` -`.cleanv+t`, `.cv+t` | Deletes all text channels ending in `-voice` for which voicechannels are not found. **Use at your own risk.** | `.cleanv+t` -`.voice+text`, `.v+t` | Creates a text channel for each voice channel only users in that voice channel can see.If you are server owner, keep in mind you will see them all the time regardless. | `.voice+text` -`.scsc` | Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance. | `.scsc` -`.jcsc` | Joins current channel to an instance of cross server channel using the token. | `.jcsc` -`.lcsc` | Leaves Cross server channel instance from this channel. | `.lcsc` -`.asar` | Adds a role, or list of roles separated by whitespace(use quotations for multiword roles) to the list of self-assignable roles. | .asar Gamer -`.rsar` | Removes a specified role from the list of self-assignable roles. | `.rsar` -`.lsar` | Lists all self-assignable roles. | `.lsar` -`.togglexclsar`, `.tesar` | toggle whether the self-assigned roles should be exclusive | `.tesar` -`.iam` | Adds a role to you that you choose. Role must be on a list of self-assignable roles. | .iam Gamer -`.iamnot`, `.iamn` | Removes a role to you that you choose. Role must be on a list of self-assignable roles. | .iamn Gamer -`.addcustreact`, `.acr` | Add a custom reaction. Guide here: **Bot Owner Only!** | `.acr "hello" I love saying hello to %user%` -`.listcustreact`, `.lcr` | Lists custom reactions (paginated with 30 commands per page). Use 'all' instead of page number to get all custom reactions DM-ed to you. | `.lcr 1` -`.showcustreact`, `.scr` | Shows all possible responses from a single custom reaction. | `.scr %mention% bb` -`.editcustreact`, `.ecr` | Edits a custom reaction, arguments are custom reactions name, index to change, and a (multiword) message **Bot Owner Only** | `.ecr "%mention% disguise" 2 Test 123` -`.delcustreact`, `.dcr` | Deletes a custom reaction with given name (and index). | `.dcr index` -`.autoassignrole`, `.aar` | Automaticaly assigns a specified role to every user who joins the server. Type `.aar` to disable, `.aar Role Name` to enable -`.leave` | Makes Nadeko leave the server. Either name or id required. | `.leave 123123123331` -`.listincidents`, `.lin` | List all UNREAD incidents and flags them as read. | `.lin` -`.listallincidents`, `.lain` | Sends you a file containing all incidents and flags them as read. | `.lain` -`.delmsgoncmd` | Toggles the automatic deletion of user's successful command message to prevent chat flood. Server Manager Only. | `.delmsgoncmd` -`.restart` | Restarts the bot. Might not work. **Bot Owner Only** | `.restart` -`.setrole`, `.sr` | Sets a role for a given user. | `.sr @User Guest` -`.removerole`, `.rr` | Removes a role from a given user. | `.rr @User Admin` -`.renamerole`, `.renr` | Renames a role. Role you are renaming must be lower than bot's highest role. | `.renr "First role" SecondRole` -`.removeallroles`, `.rar` | Removes all roles from a mentioned user. | `.rar @User` -`.createrole`, `.cr` | Creates a role with a given name. | `.cr Awesome Role` -`.rolecolor`, `.rc` | Set a role's color to the hex or 0-255 rgb color value provided. | `.rc Admin 255 200 100` or `.rc Admin ffba55` -`.ban`, `.b` | Bans a user by id or name with an optional message. | `.b "@some Guy" Your behaviour is toxic.` -`.softban`, `.sb` | Bans and then unbans a user by id or name with an optional message. | `.sb "@some Guy" Your behaviour is toxic.` -`.kick`, `.k` | Kicks a mentioned user. | `.k "@some Guy" Your behaviour is toxic.` -`.mute` | Mutes mentioned user or users. | `.mute "@Someguy"` or `.mute "@Someguy" "@Someguy"` -`.unmute` | Unmutes mentioned user or users. | `.unmute "@Someguy"` or `.unmute "@Someguy" "@Someguy"` -`.deafen`, `.deaf` | Deafens mentioned user or users | `.deaf "@Someguy"` or `.deaf "@Someguy" "@Someguy"` -`.undeafen`, `.undef` | Undeafens mentioned user or users | `.undef "@Someguy"` or `.undef "@Someguy" "@Someguy"` -`.delvoichanl`, `.dvch` | Deletes a voice channel with a given name. | `.dvch VoiceChannelName` -`.creatvoichanl`, `.cvch` | Creates a new voice channel with a given name. | `.cvch VoiceChannelName` -`.deltxtchanl`, `.dtch` | Deletes a text channel with a given name. | `.dtch TextChannelName` -`.creatxtchanl`, `.ctch` | Creates a new text channel with a given name. | `.ctch TextChannelName` -`.settopic`, `.st` | Sets a topic on the current channel. | `.st My new topic` -`.setchanlname`, `.schn` | Changed the name of the current channel.| `.schn NewName` -`.heap` | Shows allocated memory - **Bot Owner Only!** | `.heap` -`.prune`, `.clr` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` -`.die` | Shuts the bot down and notifies users about the restart. **Bot Owner Only!** | `.die` -`.setname`, `.newnm` | Give the bot a new name. **Bot Owner Only!** | .newnm BotName -`.newavatar`, `.setavatar` | Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. **Bot Owner Only!** | `.setavatar https://i.ytimg.com/vi/WDudkR1eTMM/maxresdefault.jpg` -`.setgame` | Sets the bots game. **Bot Owner Only!** | `.setgame Playing with kwoth` -`.send` | Send a message to someone on a different server through the bot. **Bot Owner Only!** | `.send serverid|u:user_id Send this to a user!` or `.send serverid|c:channel_id Send this to a channel!` -`.mentionrole`, `.menro` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. | `.menro RoleName` -`.unstuck` | Clears the message queue. **Bot Owner Only!** | `.unstuck` -`.donators` | List of lovely people who donated to keep this project alive. -`.donadd` | Add a donator to the database. | `.donadd Donate Amount` -`.announce` | Sends a message to all servers' general channel bot is connected to.**Bot Owner Only!** | `.announce Useless spam` -`.savechat` | Saves a number of messages to a text file and sends it to you. **Bot Owner Only** | `.savechat 150` - -### Utility -Command and aliases | Description | Usage -----------------|--------------|------- -`.remind` | Sends a message to you or a channel after certain amount of time. First argument is me/here/'channelname'. Second argument is time in a descending order (mo>w>d>h>m) example: 1w5d3h10m. Third argument is a (multiword)message. | `.remind me 1d5h Do something` or `.remind #general Start now!` -`.remindmsg` | Sets message for when the remind is triggered. Available placeholders are %user% - user who ran the command, %message% - Message specified in the remind, %target% - target channel of the remind. **Bot Owner Only!** | `.remindmsg do something else` -`.serverinfo`, `.sinfo` | Shows info about the server the bot is on. If no channel is supplied, it defaults to current one. | `.sinfo Some Server` -`.channelinfo`, `.cinfo` | Shows info about the channel. If no channel is supplied, it defaults to current one. | `.cinfo #some-channel` -`.userinfo`, `.uinfo` | Shows info about the user. If no user is supplied, it defaults a user running the command. | `.uinfo @SomeUser` -`.whoplays` | Shows a list of users who are playing the specified game. | `.whoplays Overwatch` -`.inrole` | Lists every person from the provided role or roles (separated by a ',') on this server. If the list is too long for 1 message, you must have Manage Messages permission. | `.inrole Role` -`.checkmyperms` | Checks your userspecific permissions on this channel. | `.checkmyperms` -`.stats` | Shows some basic stats for Nadeko. | `.stats` -`.dysyd` | Shows some basic stats for Nadeko. | `.dysyd` -`.userid`, `.uid` | Shows user ID. | `.uid` or `.uid "@SomeGuy"` -`.channelid`, `.cid` | Shows current channel ID. | `.cid` -`.serverid`, `.sid` | Shows current server ID. | `.sid` -`.roles` | List all roles on this server or a single user if specified. -`.channeltopic`, `.ct` | Sends current channel's topic as a message. | `.ct` - -### Permissions -Command and aliases | Description | Usage -----------------|--------------|------- -`;chnlfilterinv`, `;cfi` | Enables or disables automatic deleting of invites on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. | ;cfi enable #general-chat -`;srvrfilterinv`, `;sfi` | Enables or disables automatic deleting of invites on the server. | ;sfi disable -`;chnlfilterwords`, `;cfw` | Enables or disables automatic deleting of messages containing banned words on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. | ;cfw enable #general-chat -`;addfilterword`, `;afw` | Adds a new word to the list of filtered words | ;afw poop -`;rmvfilterword`, `;rfw` | Removes the word from the list of filtered words | ;rw poop -`;lstfilterwords`, `;lfw` | Shows a list of filtered words | ;lfw -`;srvrfilterwords`, `;sfw` | Enables or disables automatic deleting of messages containing forbidden words on the server. | ;sfw disable -`;permrole`, `;pr` | Sets a role which can change permissions. Or supply no parameters to find out the current one. Default one is 'Nadeko'. | `;pr role` -`;rolepermscopy`, `;rpc` | Copies BOT PERMISSIONS (not discord permissions) from one role to another. | `;rpc Some Role ~ Some other role` -`;chnlpermscopy`, `;cpc` | Copies BOT PERMISSIONS (not discord permissions) from one channel to another. | `;cpc Some Channel ~ Some other channel` -`;usrpermscopy`, `;upc` | Copies BOT PERMISSIONS (not discord permissions) from one role to another. | `;upc @SomeUser ~ @SomeOtherUser` -`;verbose`, `;v` | Sets whether to show when a command/module is blocked. | `;verbose true` -`;srvrperms`, `;sp` | Shows banned permissions for this server. | `;sp` -`;roleperms`, `;rp` | Shows banned permissions for a certain role. No argument means for everyone. | `;rp AwesomeRole` -`;chnlperms`, `;cp` | Shows banned permissions for a certain channel. No argument means for this channel. | `;cp #dev` -`;userperms`, `;up` | Shows banned permissions for a certain user. No argument means for yourself. | `;up Kwoth` -`;srvrmdl`, `;sm` | Sets a module's permission at the server level. | `;sm "module name" enable` -`;srvrcmd`, `;sc` | Sets a command's permission at the server level. | `;sc "command name" disable` -`;rolemdl`, `;rm` | Sets a module's permission at the role level. | `;rm "module name" enable MyRole` -`;rolecmd`, `;rc` | Sets a command's permission at the role level. | `;rc "command name" disable MyRole` -`;chnlmdl`, `;cm` | Sets a module's permission at the channel level. | `;cm "module name" enable SomeChannel` -`;chnlcmd`, `;cc` | Sets a command's permission at the channel level. | `;cc "command name" enable SomeChannel` -`;usrmdl`, `;um` | Sets a module's permission at the user level. | `;um "module name" enable SomeUsername` -`;usrcmd`, `;uc` | Sets a command's permission at the user level. | `;uc "command name" enable SomeUsername` -`;allsrvrmdls`, `;asm` | Sets permissions for all modules at the server level. | `;asm [enable/disable]` -`;allsrvrcmds`, `;asc` | Sets permissions for all commands from a certain module at the server level. | `;asc "module name" [enable/disable]` -`;allchnlmdls`, `;acm` | Sets permissions for all modules at the channel level. | `;acm [enable/disable] SomeChannel` -`;allchnlcmds`, `;acc` | Sets permissions for all commands from a certain module at the channel level. | `;acc "module name" [enable/disable] SomeChannel` -`;allrolemdls`, `;arm` | Sets permissions for all modules at the role level. | `;arm [enable/disable] MyRole` -`;allrolecmds`, `;arc` | Sets permissions for all commands from a certain module at the role level. | `;arc "module name" [enable/disable] MyRole` -`;ubl` | Blacklists a mentioned user. | `;ubl [user_mention]` -`;uubl` | Unblacklists a mentioned user. | `;uubl [user_mention]` -`;cbl` | Blacklists a mentioned channel (#general for example). | `;cbl #some_channel` -`;cubl` | Unblacklists a mentioned channel (#general for example). | `;cubl #some_channel` -`;sbl` | Blacklists a server by a name or id (#general for example). **BOT OWNER ONLY** | `;sbl [servername/serverid]` -`;cmdcooldown`, `;cmdcd` | Sets a cooldown per user for a command. Set 0 to clear. | `;cmdcd "some cmd" 5` -`;allcmdcooldowns`, `;acmdcds` | Shows a list of all commands and their respective cooldowns. - -### Conversations -Command and aliases | Description | Usage -----------------|--------------|------- -`..` | Adds a new quote with the specified name (single word) and message (no limit). | `.. abc My message` -`...` | Shows a random quote with a specified name. | `... abc` -`..qdel`, `..quotedelete` | Deletes all quotes with the specified keyword. You have to either be bot owner or the creator of the quote to delete it. | `..qdel abc` -`@BotName rip` | Shows a grave image of someone with a start year | @NadekoBot rip @Someone 2000 -`@BotName die` | Works only for the owner. Shuts the bot down. | `@NadekoBot die` -`@BotName do you love me` | Replies with positive answer only to the bot owner. | `@NadekoBot do you love me` -`@BotName how are you`, `@BotName how are you?` | Replies positive only if bot owner is online. | `@NadekoBot how are you` -`@BotName fire` | Shows a unicode fire message. Optional parameter [x] tells her how many times to repeat the fire. | `@NadekoBot fire [x]` -`@BotName dump` | Dumps all of the invites it can to dump.txt.** Owner Only.** | `@NadekoBot dump` -`@BotName ab` | Try to get 'abalabahaha'| `@NadekoBot ab` - -### Gambling -Command and aliases | Description | Usage -----------------|--------------|------- -`$draw` | Draws a card from the deck.If you supply number [x], she draws up to 5 cards from the deck. | `$draw [x]` -`$shuffle`, `$sh` | Reshuffles all cards back into the deck.|`$shuffle` -`$flip` | Flips coin(s) - heads or tails, and shows an image. | `$flip` or `$flip 3` -`$betflip`, `$bf` | Bet to guess will the result be heads or tails. Guessing award you double flowers you've bet. | `$bf 5 heads` or `$bf 3 t` -`$roll` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$roll` or `$roll 7` or `$roll 3d5` -`$rolluo` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice (unordered). If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$roll` or `$roll` 7 or `$roll 3d5` -`$nroll` | Rolls in a given range. | `$nroll 5` (rolls 0-5) or `$nroll 5-15` -`$race` | Starts a new animal race. | `$race` -`$joinrace`, `$jr` | Joins a new race. You can specify an amount of flowers for betting (optional). You will get YourBet*(participants-1) back if you win. | `$jr` or `$jr 5` -`$raffle` | Prints a name and ID of a random user from the online list from the (optional) role. | `$raffle` or `$raffle RoleName` -`$$$` | Check how much NadekoFlowers a person has. (Defaults to yourself) | `$$$` or `$$$ @Someone` -`$give` | Give someone a certain amount of NadekoFlowers|`$give 1 "@SomeGuy"` -`$award` | Gives someone a certain amount of flowers. **Bot Owner Only!** | `$award 100 @person` -`$take` | Takes a certain amount of flowers from someone. **Bot Owner Only!** | `$take 1 "@someguy"` -`$betroll`, `$br` | Bets a certain amount of NadekoFlowers and rolls a dice. Rolling over 66 yields x2 flowers, over 90 - x3 and 100 x10. | `$br 5` -`$leaderboard`, `$lb` | Displays bot currency leaderboard | $lb - -### Games -Command and aliases | Description | Usage -----------------|--------------|------- -`>t` | Starts a game of trivia. You can add nohint to prevent hints.First player to get to 10 points wins by default. You can specify a different number. 30 seconds per question. | `>t nohint` or `>t 5 nohint` -`>tl` | Shows a current trivia leaderboard. | `>tl` -`>tq` | Quits current trivia after current question. | `>tq` -`>typestart` | Starts a typing contest. | `>typestart` -`>typestop` | Stops a typing contest on the current channel. | `>typestop` -`>typeadd` | Adds a new article to the typing contest. Owner only. | `>typeadd wordswords` -`>poll` | Creates a poll, only person who has manage server permission can do it. | `>poll Question?;Answer1;Answ 2;A_3` -`>pollend` | Stops active poll on this server and prints the results in this channel. | `>pollend` -`>pick` | Picks a flower planted in this channel. | `>pick` -`>plant` | Spend a flower to plant it in this channel. (If bot is restarted or crashes, flower will be lost) | `>plant` -`>gencurrency`, `>gc` | Toggles currency generation on this channel. Every posted message will have 2% chance to spawn a NadekoFlower. Optional parameter cooldown time in minutes, 5 minutes by default. Requires Manage Messages permission. | `>gc` or `>gc 60` -`>leet` | Converts a text to leetspeak with 6 (1-6) severity levels | `>leet 3 Hello` -`>choose` | Chooses a thing from a list of things | `>choose Get up;Sleep;Sleep more` -`>8ball` | Ask the 8ball a yes/no question. | `>8ball should i do something` -`>rps` | Play a game of rocket paperclip scissors with Nadeko. | `>rps scissors` -`>linux` | Prints a customizable Linux interjection | `>linux Spyware Windows` - -### Music -Command and aliases | Description | Usage -----------------|--------------|------- -`!!next`, `!!n`, `!!skip` | Goes to the next song in the queue. You have to be in the same voice channel as the bot. | `!!n` -`!!stop`, `!!s` | Stops the music and clears the playlist. Stays in the channel. | `!!s` -`!!destroy`, `!!d` | Completely stops the music and unbinds the bot from the channel. (may cause weird behaviour) | `!!d` -`!!pause`, `!!p` | Pauses or Unpauses the song. | `!!p` -`!!queue`, `!!q`, `!!yq` | Queue a song using keywords or a link. Bot will join your voice channel.**You must be in a voice channel**. | `!!q Dream Of Venice` -`!!soundcloudqueue`, `!!sq` | Queue a soundcloud song using keywords. Bot will join your voice channel.**You must be in a voice channel**. | `!!sq Dream Of Venice` -`!!listqueue`, `!!lq` | Lists 15 currently queued songs per page. Default page is 1. | `!!lq` or `!!lq 2` -`!!nowplaying`, `!!np` | Shows the song currently playing. | `!!np` -`!!volume`, `!!vol` | Sets the music volume 0-100% | `!!vol 50` -`!!defvol`, `!!dv` | Sets the default music volume when music playback is started (0-100). Persists through restarts. | `!!dv 80` -`!!mute`, `!!min` | Sets the music volume to 0% | `!!min` -`!!max` | Sets the music volume to 100%. | `!!max` -`!!half` | Sets the music volume to 50%. | `!!half` -`!!shuffle`, `!!sh` | Shuffles the current playlist. | `!!sh` -`!!playlist`, `!!pl` | Queues up to 500 songs from a youtube playlist specified by a link, or keywords. | `!!pl playlist link or name` -`!!soundcloudpl`, `!!scpl` | Queue a soundcloud playlist using a link. | `!!scpl https://soundcloud.com/saratology/sets/symphony` -`!!localplaylst`, `!!lopl` | Queues all songs from a directory. **Bot Owner Only!** | `!!lopl C:/music/classical` -`!!radio`, `!!ra` | Queues a radio stream from a link. It can be a direct mp3 radio stream, .m3u, .pls .asx or .xspf (Usage Video: ) | `!!ra radio link here` -`!!local`, `!!lo` | Queues a local file by specifying a full path. **Bot Owner Only!** | `!!lo C:/music/mysong.mp3` -`!!move`, `!!mv` | Moves the bot to your voice channel. (works only if music is already playing) | `!!mv` -`!!remove`, `!!rm` | Remove a song by its # in the queue, or 'all' to remove whole queue. | `!!rm 5` -`!!movesong`, `!!ms` | Moves a song from one position to another. | `!! ms` 5>3 -`!!setmaxqueue`, `!!smq` | Sets a maximum queue size. Supply 0 or no argument to have no limit. | `!!smq` 50 or `!!smq` -`!!cleanup` | Cleans up hanging voice connections. **Bot Owner Only!** | `!!cleanup` -`!!reptcursong`, `!!rcs` | Toggles repeat of current song. | `!!rcs` -`!!rpeatplaylst`, `!!rpl` | Toggles repeat of all songs in the queue (every song that finishes is added to the end of the queue). | `!!rpl` -`!!save` | Saves a playlist under a certain name. Name must be no longer than 20 characters and mustn't contain dashes. | `!!save classical1` -`!!load` | Loads a playlist under a certain name. | `!!load classical-1` -`!!playlists`, `!!pls` | Lists all playlists. Paginated. 20 per page. Default page is 0. | `!!pls 1` -`!!deleteplaylist`, `!!delpls` | Deletes a saved playlist. Only if you made it or if you are the bot owner. | `!!delpls animu-5` -`!!goto` | Goes to a specific time in seconds in a song. | `!!goto 30` -`!!getlink`, `!!gl` | Shows a link to the currently playing song. -`!!autoplay`, `!!ap` | Toggles autoplay - When the song is finished, automatically queue a related youtube song. (Works only for youtube songs and when queue is empty) - -### Searches -Command and aliases | Description | Usage -----------------|--------------|------- -`~lolchamp` | Shows League Of Legends champion statistics. If there are spaces/apostrophes or in the name - omit them. Optional second parameter is a role. | `~lolchamp Riven` or `~lolchamp Annie sup` -`~lolban` | Shows top 6 banned champions ordered by ban rate. Ban these champions and you will be Plat 5 in no time. | `~lolban` -`~hitbox`, `~hb` | Notifies this channel when a certain user starts streaming. | `~hitbox SomeStreamer` -`~twitch`, `~tw` | Notifies this channel when a certain user starts streaming. | `~twitch SomeStreamer` -`~beam`, `~bm` | Notifies this channel when a certain user starts streaming. | `~beam SomeStreamer` -`~checkhitbox`, `~chhb` | Checks if a certain user is streaming on the hitbox platform. | `~chhb SomeStreamer` -`~checktwitch`, `~chtw` | Checks if a certain user is streaming on the twitch platform. | `~chtw SomeStreamer` -`~checkbeam`, `~chbm` | Checks if a certain user is streaming on the beam platform. | `~chbm SomeStreamer` -`~removestream`, `~rms` | Removes notifications of a certain streamer on this channel. | `~rms SomeGuy` -`~liststreams`, `~ls` | Lists all streams you are following on this server. | `~ls` -`~convert` | Convert quantities from>to. | `~convert m>km 1000` -`~convertlist` | List of the convertable dimensions and currencies. -`~wowjoke` | Get one of Kwoth's penultimate WoW jokes. | `~wowjoke` -`~calculate`, `~calc` | Evaluate a mathematical expression. | ~calc 1+1 -`~osu` | Shows osu stats for a player. | `~osu Name` or `~osu Name taiko` -`~osu b` | Shows information about an osu beatmap. | `~osu b` https://osu.ppy.sh/s/127712` -`~osu top5` | Displays a user's top 5 plays. | ~osu top5 Name -`~pokemon`, `~poke` | Searches for a pokemon. | `~poke Sylveon` -`~pokemonability`, `~pokeab` | Searches for a pokemon ability. | `~pokeab "water gun"` -`~memelist` | Pulls a list of memes you can use with `~memegen` from http://memegen.link/templates/ | `~memelist` -`~memegen` | Generates a meme from memelist with top and bottom text. | `~memegen biw "gets iced coffee" "in the winter"` -`~we` | Shows weather data for a specified city and a country. BOTH ARE REQUIRED. Use country abbrevations. | `~we Moscow RF` -`~yt` | Searches youtubes and shows the first result | `~yt query` -`~ani`, `~anime`, `~aq` | Queries anilist for an anime and shows the first result. | `~aq aquerion evol` -`~imdb` | Queries imdb for movies or series, show first result. | `~imdb query` -`~mang`, `~manga`, `~mq` | Queries anilist for a manga and shows the first result. | `~mq query` -`~randomcat`, `~meow` | Shows a random cat image. -`~randomdog`, `~woof` | Shows a random dog image. -`~i` | Pulls the first image found using a search parameter. Use ~ir for different results. | `~i cute kitten` -`~ir` | Pulls a random image using a search parameter. | `~ir cute kitten` -`~lmgtfy` | Google something for an idiot. | `~lmgtfy query` -`~google`, `~g` | Get a google search link for some terms. | `~google query` -`~hs` | Searches for a Hearthstone card and shows its image. Takes a while to complete. | `~hs Ysera` -`~ud` | Searches Urban Dictionary for a word. | `~ud Pineapple` -`~#` | Searches Tagdef.com for a hashtag. | `~# ff` -`~quote` | Shows a random quote. | `~quote` -`~catfact` | Shows a random catfact from | `~catfact` -`~yomama`, `~ym` | Shows a random joke from | `~ym` -`~randjoke`, `~rj` | Shows a random joke from | `~rj` -`~chucknorris`, `~cn` | Shows a random chucknorris joke from | `~cn` -`~magicitem`, `~mi` | Shows a random magicitem from | `~mi` -`~revav` | Returns a google reverse image search for someone's avatar. | `~revav "@SomeGuy"` -`~revimg` | Returns a google reverse image search for an image from a link. | `~revav Image link` -`~safebooru` | Shows a random image from safebooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~safebooru yuri+kissing` -`~wiki` | Gives you back a wikipedia link | `~wiki query` -`~clr` | Shows you what color corresponds to that hex. | `~clr 00ff00` -`~videocall` | Creates a private video call link for you and other mentioned people. The link is sent to mentioned people via a private message. | `~videocall "@SomeGuy"` -`~av`, `~avatar` | Shows a mentioned person's avatar. | `~av @X` - -### NSFW -Command and aliases | Description | Usage -----------------|--------------|------- -`~hentai` | Shows a random NSFW hentai image from gelbooru and danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~hentai yuri+kissing` -`~danbooru` | Shows a random hentai image from danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~danbooru yuri+kissing` -`~gelbooru` | Shows a random hentai image from gelbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~gelbooru yuri+kissing` -`~rule34` | Shows a random image from rule34.xx with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~rule34 yuri+kissing` -`~e621` | Shows a random hentai image from e621.net with a given tag. Tag is optional but preffered. Use spaces for multiple tags. | `~e621 yuri kissing` -`~cp` | We all know where this will lead you to. | `~cp` -`~boobs` | Real adult content. | `~boobs` -`~butts`, `~ass`, `~butt` | Real adult content. | `~butts` or `~ass` - -### ClashOfClans -Command and aliases | Description | Usage -----------------|--------------|------- -`,createwar`, `,cw` | Creates a new war by specifying a size (>10 and multiple of 5) and enemy clan name. | ,cw 15 The Enemy Clan -`,startwar`, `,sw` | Starts a war with a given number. -`,listwar`, `,lw` | Shows the active war claims by a number. Shows all wars in a short way if no number is specified. | ,lw [war_number] or ,lw -`,claim`, `,call`, `,c` | Claims a certain base from a certain war. You can supply a name in the third optional argument to claim in someone else's place. | ,call [war_number] [base_number] [optional_other_name] -`,claimfinish`, `,cf`, `,cf3`, `,claimfinish3` | Finish your claim with 3 stars if you destroyed a base. Optional second argument finishes for someone else. | ,cf [war_number] [optional_other_name] -`,claimfinish2`, `,cf2` | Finish your claim with 2 stars if you destroyed a base. Optional second argument finishes for someone else. | ,cf [war_number] [optional_other_name] -`,claimfinish1`, `,cf1` | Finish your claim with 1 stars if you destroyed a base. Optional second argument finishes for someone else. | ,cf [war_number] [optional_other_name] -`,unclaim`, `,uncall`, `,uc` | Removes your claim from a certain war. Optional second argument denotes a person in whose place to unclaim | ,uc [war_number] [optional_other_name] -`,endwar`, `,ew` | Ends the war with a given index. | ,ew [war_number] - -### Pokegame -Command and aliases | Description | Usage -----------------|--------------|------- -`>attack` | Attacks a target with the given move. Use `>movelist` to see a list of moves your type can use. | `>attack "vine whip" @someguy` -`>movelist`, `>ml` | Lists the moves you are able to use | `>ml` -`>heal` | Heals someone. Revives those who fainted. Costs a NadekoFlower | `>heal @someone` -`>type` | Get the poketype of the target. | `>type @someone` -`>settype` | Set your poketype. Costs a NadekoFlower. | `>settype fire` - -### Translator -Command and aliases | Description | Usage -----------------|--------------|------- -`~translate`, `~trans` | Translates from>to text. From the given language to the destiation language. | `~trans en>fr Hello` -`~translangs` | List the valid languages for translation. | `{Prefix}translangs` or `{Prefix}translangs language` - -### Customreactions -Command and aliases | Description | Usage -----------------|--------------|------- -`\o\` | Custom reaction. | \o\ -`/o/` | Custom reaction. | /o/ -`moveto` | Custom reaction. | moveto -`comeatmebro` | Custom reaction. | comeatmebro -`e` | Custom reaction. | e -`@BotName insult`, `<@!116275390695079945> insult` | Custom reaction. | %mention% insult -`@BotName praise`, `<@!116275390695079945> praise` | Custom reaction. | %mention% praise -`@BotName pat`, `<@!116275390695079945> pat` | Custom reaction. | %mention% pat -`@BotName cry`, `<@!116275390695079945> cry` | Custom reaction. | %mention% cry -`@BotName are you real?`, `<@!116275390695079945> are you real?` | Custom reaction. | %mention% are you real? -`@BotName are you there?`, `<@!116275390695079945> are you there?` | Custom reaction. | %mention% are you there? -`@BotName draw`, `<@!116275390695079945> draw` | Custom reaction. | %mention% draw -`@BotName bb`, `<@!116275390695079945> bb` | Custom reaction. | %mention% bb -`@BotName call`, `<@!116275390695079945> call` | Custom reaction. | %mention% call -`@BotName disguise`, `<@!116275390695079945> disguise` | Custom reaction. | %mention% disguise -`~hentai` | Custom reaction. | ~hentai - -### Trello -Command and aliases | Description | Usage -----------------|--------------|------- -`trello bind` | Bind a trello bot to a single channel. You will receive notifications from your board when something is added or edited. | `trello bind [board_id]` -`trello unbind` | Unbinds a bot from the channel and board. -`trello lists`, `trello list` | Lists all lists yo ;) -`trello cards` | Lists all cards from the supplied list. You can supply either a name or an index. | `trello cards index` diff --git a/docs/commandslist.md b/docs/commandslist.md deleted file mode 100644 index ebe50b5c..00000000 --- a/docs/commandslist.md +++ /dev/null @@ -1,311 +0,0 @@ - -### Permissions -Command and aliases | Description | Usage -----------------|--------------|------- -`;verbose` `;v` | `;verbose true` | Sets whether to show when a command/module is blocked. -`;permrole` `;pr` | `;pr role` | Sets a role which can change permissions. Or supply no parameters to find out the current one. Default one is 'Nadeko'. -`;listperms` `;lp` | `;lp` or `;lp 3` | Lists whole permission chain with their indexes. You can specify optional page number if there are a lot of permissions -`;removeperm` `;rp` | `;rp 1` | Removes a permission from a given position -`;moveperm` `;mp` | `;mp 2 4` | Moves permission from one position to another. -`;srvrcmd` `;sc` | `;sc "command name" disable` | Sets a command's permission at the server level. -`;srvrmdl` `;sm` | `;sm "module name" enable` | Sets a module's permission at the server level. -`;usrcmd` `;uc` | `;uc "command name" enable SomeUsername` | Sets a command's permission at the user level. -`;usrmdl` `;um` | `;um "module name" enable SomeUsername` | Sets a module's permission at the user level. -`;rolecmd` `;rc` | `;rc "command name" disable MyRole` | Sets a command's permission at the role level. -`;rolemdl` `;rm` | `;rm "module name" enable MyRole` | Sets a module's permission at the role level. -`;chnlcmd` `;cc` | `;cc "command name" enable SomeChannel` | Sets a command's permission at the channel level. -`;chnlmdl` `;cm` | `;cm "module name" enable SomeChannel` | Sets a module's permission at the channel level. -`;allchnlmdls` `;acm` | `;acm enable #SomeChannel` | Enable or disable all modules in a specified channel. -`;allrolemdls` `;arm` | `;arm [enable/disable] MyRole` | Enable or disable all modules for a specific role. -`;allusrmdls` `;aum` | `;aum enable @someone` | Enable or disable all modules for a specific user. -`;allsrvrmdls` `;asm` | `;asm [enable/disable]` | Enable or disable all modules for your server. -`;ubl` | `;ubl add @SomeUser` or `;ubl rem 12312312313` | Either [add]s or [rem]oves a user specified by a mention or ID from a blacklist. **Bot owner only.** -`;ubl` | `;ubl add @SomeUser` or `;ubl rem 12312312313` | Either [add]s or [rem]oves a user specified by a mention or ID from a blacklist. **Bot owner only.** -`;cbl` | `;cbl rem 12312312312` | Either [add]s or [rem]oves a channel specified by an ID from a blacklist. **Bot owner only.** -`;sbl` | `;sbl add 12312321312` or `;sbl rem SomeTrashServer` | Either [add]s or [rem]oves a server specified by a Name or ID from a blacklist. **Bot owner only.** -`;sbl` | `;sbl add 12312321312` or `;sbl rem SomeTrashServer` | Either [add]s or [rem]oves a server specified by a Name or ID from a blacklist. **Bot owner only.** -`;cmdcooldown` `;cmdcd` | `;cmdcd "some cmd" 5` | Sets a cooldown per user for a command. Set 0 to clear. -`;allcmdcooldowns` `;acmdcds` | `;acmdcds` | Shows a list of all commands and their respective cooldowns. -`;srvrfilterinv` `;sfi` | `;sfi disable` | Enables or disables automatic deleting of invites on the server. -`;chnlfilterinv` `;cfi` | `;cfi enable #general-chat` | Enables or disables automatic deleting of invites on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. -`;srvrfilterwords` `;sfw` | `;sfw disable` | Enables or disables automatic deleting of messages containing forbidden words on the server. -`;chnlfilterwords` `;cfw` | `;cfw enable #general-chat` | Enables or disables automatic deleting of messages containing banned words on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. -`;fw` | `;fw poop` | Adds or removes (if it exists) a word from the list of filtered words -`;lstfilterwords` `;lfw` | `;lfw` | Shows a list of filtered words - -### Gambling -Command and aliases | Description | Usage -----------------|--------------|------- -`$raffle` | `$raffle` or `$raffle RoleName` | Prints a name and ID of a random user from the online list from the (optional) role. -`$cash` `$$$` | `$$$` or `$$$ @SomeGuy` | Check how much NadekoFlowers a person has. (Defaults to yourself) -`$cash` `$$$` | `$$$` or `$$$ @SomeGuy` | Check how much NadekoFlowers a person has. (Defaults to yourself) -`$give` | `$give 1 "@SomeGuy"` | Give someone a certain amount of NadekoFlowers -`$award` | `$award 100 @person` | Gives someone a certain amount of flowers. **Bot owner only.** -`$award` | `$award 100 @person` | Gives someone a certain amount of flowers. **Bot owner only.** -`$take` | `$take 1 "@someguy"` | Takes a certain amount of flowers from someone. **Bot owner only.** -`$take` | `$take 1 "@someguy"` | Takes a certain amount of flowers from someone. **Bot owner only.** -`$betroll` `$br` | `$br 5` | Bets a certain amount of NadekoFlowers and rolls a dice. Rolling over 66 yields x2 flowers, over 90 - x3 and 100 x10. -`$leaderboard` `$lb` | `$lb` | Displays bot currency leaderboard -`$race` | `$race` | Starts a new animal race. -`$joinrace` `$jr` | `$jr` or `$jr 5` | Joins a new race. You can specify an amount of flowers for betting (optional). You will get YourBet*(participants-1) back if you win. -`$roll` | `$roll` or `$roll 7` or `$roll 3d5` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. -`$roll` | `$roll` or `$roll 7` or `$roll 3d5` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. -`$roll` | `$roll` or `$roll 7` or `$roll 3d5` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. -`$rolluo` | `$rolluo` or `$rolluo 7` or `$rolluo 3d5` | Rolls X normal dice (up to 30) unordered. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. -`$rolluo` | `$rolluo` or `$rolluo 7` or `$rolluo 3d5` | Rolls X normal dice (up to 30) unordered. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. -`$nroll` | `$nroll 5` (rolls 0-5) or `$nroll 5-15` | Rolls in a given range. -`$draw` | `$draw` or `$draw 5` | Draws a card from the deck.If you supply number X, she draws up to 5 cards from the deck. -`$shuffle` `$sh` | `$sh` | Reshuffles all cards back into the deck. -`$flip` | `$flip` or `$flip 3` | Flips coin(s) - heads or tails, and shows an image. -`$betflip` `$bf` | `$bf 5 heads` or `$bf 3 t` | Bet to guess will the result be heads or tails. Guessing award you double flowers you've bet. - -### ClashOfClans -Command and aliases | Description | Usage -----------------|--------------|------- -`,createwar` `,cw` | `,cw 15 The Enemy Clan` | Creates a new war by specifying a size (>10 and multiple of 5) and enemy clan name. -`,startwar` `,sw` | `,sw 15` | Starts a war with a given number. -`,listwar` `,lw` | `,lw [war_number] or ,lw` | Shows the active war claims by a number. Shows all wars in a short way if no number is specified. -`,claim` `,call` `,c` | `,call [war_number] [base_number] [optional_other_name]` | Claims a certain base from a certain war. You can supply a name in the third optional argument to claim in someone else's place. -`,claimfinish1` `,cf1` | `,cf [war_number] [optional_other_name]` | Finish your claim with 1 stars if you destroyed a base. Optional second argument finishes for someone else. -`,claimfinish2` `,cf2` | `,cf [war_number] [optional_other_name]` | Finish your claim with 2 stars if you destroyed a base. Optional second argument finishes for someone else. -`,claimfinish` `,cf` `,cf3` `,claimfinish3` | `,cf [war_number] [optional_other_name]` | Finish your claim with 3 stars if you destroyed a base. Optional second argument finishes for someone else. -`,endwar` `,ew` | `,ew [war_number]` | Ends the war with a given index. -`,unclaim` `,ucall` `,uc` | `,uc [war_number] [optional_other_name]` | Removes your claim from a certain war. Optional second argument denotes a person in whose place to unclaim - -### Games -Command and aliases | Description | Usage -----------------|--------------|------- -`>choose` | `>choose Get up;Sleep;Sleep more` | Chooses a thing from a list of things -`>8ball` | `>8ball should i do something` | Ask the 8ball a yes/no question. -`>rps` | `>rps scissors` | Play a game of rocket paperclip scissors with Nadeko. -`>linux` | `>linux Spyware Windows` | Prints a customizable Linux interjection -`>leet` | `>leet 3 Hello` | Converts a text to leetspeak with 6 (1-6) severity levels -`>poll` | `>poll Question?;Answer1;Answ 2;A_3` | Creates a poll, only person who has manage server permission can do it. -`>pollend` | `>pollend` | Stops active poll on this server and prints the results in this channel. -`>pick` | `>pick` | Picks a flower planted in this channel. -`>plant` | `>plant` | Spend a flower to plant it in this channel. (If bot is restarted or crashes, flower will be lost) -`>gencurrency` `>gc` | `>gc` | Toggles currency generation on this channel. Every posted message will have 2% chance to spawn a NadekoFlower. Requires Manage Messages permission. **Requires ManageMessages server permission.** -`>typestart` | `>typestart` | Starts a typing contest. -`>typestop` | `>typestop` | Stops a typing contest on the current channel. -`>typeadd` | `>typeadd wordswords` | Adds a new article to the typing contest. **Bot owner only.** -`>trivia` `>t` | `>t nohint` or `>t 5 nohint` | Starts a game of trivia. You can add nohint to prevent hints.First player to get to 10 points wins by default. You can specify a different number. 30 seconds per question. -`>tl` | `>tl` | Shows a current trivia leaderboard. -`>tq` | `>tq` | Quits current trivia after current question. - -### Pokemon -Command and aliases | Description | Usage -----------------|--------------|------- -`>poke_cmd` | poke_usage | poke_desc - -### Administration -Command and aliases | Description | Usage -----------------|--------------|------- -`.restart` | `.restart` | Restarts the bot. Might not work. **Bot owner only.** -`.delmsgoncmd` | `.delmsgoncmd` | Toggles the automatic deletion of user's successful command message to prevent chat flood. **Server Manager Only.** **Requires Administrator server permission.** -`.setrole` `.sr` | `.sr @User Guest` | Sets a role for a given user. **Requires ManageRoles server permission.** -`.removerole` `.rr` | `.rr @User Admin` | Removes a role from a given user. **Requires ManageRoles server permission.** -`.renamerole` `.renr` | `.renr "First role" SecondRole` | Renames a role. Roles you are renaming must be lower than bot's highest role. **Manage Roles Permissions.** **Requires ManageRoles server permission.** -`.removeallroles` `.rar` | `.rar @User` | Removes all roles from a mentioned user. **Requires ManageRoles server permission.** -`.createrole` `.cr` | `.cr Awesome Role` | Creates a role with a given name. **Requires ManageRoles server permission.** -`.rolecolor` `.rc` | `.rc Admin 255 200 100` or `.rc Admin ffba55` | Set a role's color to the hex or 0-255 rgb color value provided. **Requires ManageRoles server permission.** -`.ban` `.b` | `.b "@some Guy" Your behaviour is toxic.` | Bans a user by id or name with an optional message. **Requires BanMembers server permission.** -`.softban` `.sb` | `.sb "@some Guy" Your behaviour is toxic.` | Bans and then unbans a user by id or name with an optional message. **Requires BanMembers server permission.** -`.kick` `.k` | `.k "@some Guy" Your behaviour is toxic.` | Kicks a mentioned user. **Requires KickMembers server permission.** -`.mute` | `.mute @Someone` | Mutes a mentioned user in a voice channel. **Requires MuteMembers server permission.** -`.unmute` | `.unmute "@Someguy"` or `.unmute "@Someguy" "@Someguy"` | Unmutes mentioned user or users. **Requires MuteMembers server permission.** -`.deafen` `.deaf` | `.deaf "@Someguy"` or `.deaf "@Someguy" "@Someguy"` | Deafens mentioned user or users. **Requires DeafenMembers server permission.** -`.undeafen` `.undef` | `.undef "@Someguy"` or `.undef "@Someguy" "@Someguy"` | Undeafens mentioned user or users. **Requires DeafenMembers server permission.** -`.delvoichanl` `.dvch` | `.dvch VoiceChannelName` | Deletes a voice channel with a given name. **Requires ManageChannels server permission.** -`.creatvoichanl` `.cvch` | `.cvch VoiceChannelName` | Creates a new voice channel with a given name. **Requires ManageChannels server permission.** -`.deltxtchanl` `.dtch` | `.dtch TextChannelName` | Deletes a text channel with a given name. **Requires ManageChannels server permission.** -`.creatxtchanl` `.ctch` | `.ctch TextChannelName` | Creates a new text channel with a given name. **Requires ManageChannels server permission.** -`.settopic` `.st` | `.st My new topic` | Sets a topic on the current channel. **Requires ManageChannels server permission.** -`.setchanlname` `.schn` | `.schn NewName` | Changed the name of the current channel. **Requires ManageChannels server permission.** -`.prune` `.clr` | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. -`.prune` `.clr` | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. **Requires ManageMessages server permission.** -`.prune` `.clr` | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. **Requires ManageMessages server permission.** -`.die` | `@NadekoBot die` | Works only for the owner. Shuts the bot down. **Bot owner only.** -`.setname` `.newnm` | `.newnm BotName` | Give the bot a new name. **Bot owner only.** -`.setavatar` `.setav` | `.setav http://i.imgur.com/xTG3a1I.jpg` | Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. **Bot owner only.** -`.setgame` | `.setgame Playing with kwoth` | Sets the bots game. **Bot owner only.** -`.send` | `.send sid` | Send a message to someone on a different server through the bot. **Bot owner only.** -`.announce` | `.announce Useless spam` | Sends a message to all servers' general channel bot is connected to. **Bot owner only.** -`.savechat` | `.savechat 150` | Saves a number of messages to a text file and sends it to you. **Bot owner only.** -`.mentionrole` `.menro` | `.menro RoleName` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. **Requires MentionEveryone server permission.** -`.donators` | `.donators` | List of lovely people who donated to keep this project alive. -`.donadd` | `.donadd Donate Amount` | Add a donator to the database. **Kwoth Only** **Bot owner only.** -`.autoassignrole` `.aar` | `.aar` to disable, `.aar Role Name` to enable | Automaticaly assigns a specified role to every user who joins the server. **Requires ManageRoles server permission.** -`.scsc` | `.scsc` | Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance. **Bot owner only.** -`.jcsc` | `.jcsc` | Joins current channel to an instance of cross server channel using the token. **Requires ManageServer server permission.** -`.lcsc` | `.lcsc` | Leaves Cross server channel instance from this channel. **Requires ManageServer server permission.** -`.logserver` | `.logserver` | Logs server activity in this channel. **Requires Administrator server permission.** **Bot owner only.** -`.logignore` | `.logignore` | Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. **Requires Administrator server permission.** **Bot owner only.** -`.userpresence` | `.userpresence` | Starts logging to this channel when someone from the server goes online/offline/idle. **Requires Administrator server permission.** -`.voicepresence` | `.voicerpresence` | Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. **Requires Administrator server permission.** -`.repeatinvoke` `.repinv` | `.repinv` | Immediately shows the repeat message and restarts the timer. **Requires ManageMessages server permission.** -`.repeat` | `.repeat 5 Hello there` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. -`.repeat` | `.repeat 5 Hello there` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. -`.migratedata` | `.migratedata` | Migrate data from old bot configuration **Bot owner only.** -`.rotateplaying` `.ropl` | `.ropl` | Toggles rotation of playing status of the dynamic strings you specified earlier. **Bot owner only.** -`.addplaying` `.adpl` | `.adpl` | Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued% **Bot owner only.** -`.listplaying` `.lipl` | `.lipl` | Lists all playing statuses with their corresponding number. **Bot owner only.** -`.removeplaying` `.rmlp` `.repl` | `.rmpl` | Removes a playing string on a given number. **Bot owner only.** -`.slowmode` | `.slowmode` | Toggles slow mode. When ON, users will be able to send only 1 message every 5 seconds. -`.asar` | `.asar Gamer` | Adds a role, or list of roles separated by whitespace(use quotations for multiword roles) to the list of self-assignable roles. **Requires ManageRoles server permission.** -`.rsar` | `.rsar` | Removes a specified role from the list of self-assignable roles. **Requires ManageRoles server permission.** -`.lsar` | `.lsar` | Lists all self-assignable roles. -`.togglexclsar` `.tesar` | `.tesar` | toggle whether the self-assigned roles should be exclusive **Requires ManageRoles server permission.** -`.iam` | `.iam Gamer` | Adds a role to you that you choose. Role must be on a list of self-assignable roles. -`.iamnot` `.iamn` | `.iamn Gamer` | Removes a role to you that you choose. Role must be on a list of self-assignable roles. -`.leave` | `.leave 123123123331` | Makes Nadeko leave the server. Either name or id required. **Bot owner only.** -`.greetdel` | `.greetdel` | Toggles automatic deletion of greet messages. **Requires ManageServer server permission.** -`.greet` | `.greet` | Toggles anouncements on the current channel when someone joins the server. **Requires ManageServer server permission.** -`.greetmsg` | `.greetmsg Welcome, %user%.` | Sets a new join announcement message which will be shown in the server's channel. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. **Requires ManageServer server permission.** -`.greetdm` | `.greetdm` | Toggles whether the greet messages will be sent in a DM (This is separate from greet - you can have both, any or neither enabled). **Requires ManageServer server permission.** -`.greetdmmsg` | `.greetdmmsg Welcome to the server, %user%`. | Sets a new join announcement message which will be sent to the user who joined. Type %user% if you want to mention the new member. Using it with no message will show the current DM greet message. **Requires ManageServer server permission.** -`.bye` | `.bye` | Toggles anouncements on the current channel when someone leaves the server. **Requires ManageServer server permission.** -`.byemsg` | `.byemsg %user% has left.` | Sets a new leave announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current bye message. **Requires ManageServer server permission.** -`.byedel` | `.byedel` | Toggles automatic deletion of bye messages. **Requires ManageServer server permission.** -`.voice+text` `.v+t` | `.voice+text` | Creates a text channel for each voice channel only users in that voice channel can see.If you are server owner, keep in mind you will see them all the time regardless. **Requires ManageRoles server permission.** **Requires ManageChannels server permission.** -`.cleanvplust` `.cv+t` | `.cleanv+t` | Deletes all text channels ending in `-voice` for which voicechannels are not found. **Use at your own risk. Needs Manage Roles and Manage Channels Permissions.** **Requires ManageChannels server permission.** **Requires ManageRoles server permission.** - -### Music -Command and aliases | Description | Usage -----------------|--------------|------- -`!!next` `!!n` | `!!n` | Goes to the next song in the queue. You have to be in the same voice channel as the bot. -`!!stop` `!!s` | `!!s` | Stops the music and clears the playlist. Stays in the channel. -`!!destroy` `!!d` | `!!d` | Completely stops the music and unbinds the bot from the channel. (may cause weird behaviour) -`!!pause` `!!p` | `!!p` | Pauses or Unpauses the song. -`!!queue` `!!q` `!!yq` | `!!q Dream Of Venice` | Queue a song using keywords or a link. Bot will join your voice channel.**You must be in a voice channel**. -`!!soundcloudqueue` `!!sq` | `!!sq Dream Of Venice` | Queue a soundcloud song using keywords. Bot will join your voice channel.**You must be in a voice channel**. -`!!listqueue` `!!lq` | `!!lq` or `!!lq 2` | Lists 15 currently queued songs per page. Default page is 1. -`!!nowplaying` `!!np` | `!!np` | Shows the song currently playing. -`!!volume` `!!vol` | `!!vol 50` | Sets the music volume 0-100% -`!!defvol` `!!dv` | `!!dv 80` | Sets the default music volume when music playback is started (0-100). Persists through restarts. -`!!shuffle` `!!sh` | `!!sh` | Shuffles the current playlist. -`!!playlist` `!!pl` | `!!pl playlist link or name` | Queues up to 500 songs from a youtube playlist specified by a link, or keywords. -`!!soundcloudpl` `!!scpl` | `!!scpl soundcloudseturl` | Queue a soundcloud playlist using a link. -`!!localplaylst` `!!lopl` | `!!lopl C:/music/classical` | Queues all songs from a directory. **Bot owner only.** -`!!radio` `!!ra` | `!!ra radio link here` | Queues a radio stream from a link. It can be a direct mp3 radio stream, .m3u, .pls .asx or .xspf (Usage Video: ) -`!!local` `!!lo` | `!!lo C:/music/mysong.mp3` | Queues a local file by specifying a full path. **Bot owner only.** -`!!move` `!!mv` | `!!mv` | Moves the bot to your voice channel. (works only if music is already playing) -`!!remove` `!!rm` | `!!rm 5` | Remove a song by its # in the queue, or 'all' to remove whole queue. -`!!remove` `!!rm` | `!!rm 5` | Remove a song by its # in the queue, or 'all' to remove whole queue. -`!!movesong` `!!ms` | `!! ms 5>3` | Moves a song from one position to another. -`!!setmaxqueue` `!!smq` | `!!smq 50` or `!!smq` | Sets a maximum queue size. Supply 0 or no argument to have no limit. -`!!reptcursong` `!!rcs` | `!!rcs` | Toggles repeat of current song. -`!!rpeatplaylst` `!!rpl` | `!!rpl` | Toggles repeat of all songs in the queue (every song that finishes is added to the end of the queue). -`!!save` | `!!save classical1` | Saves a playlist under a certain name. Name must be no longer than 20 characters and mustn't contain dashes. -`!!load` | `!!load classical-1` | Loads a playlist under a certain name. -`!!playlists` `!!pls` | `!!pls 1` | Lists all playlists. Paginated. 20 per page. Default page is 0. -`!!deleteplaylist` `!!delpls` | `!!delpls animu-5` | Deletes a saved playlist. Only if you made it or if you are the bot owner. -`!!goto` | `!!goto 30` | Goes to a specific time in seconds in a song. -`!!getlink` `!!gl` | `!!gl` | Shows a link to the song in the queue by index, or the currently playing song by default. -`!!autoplay` `!!ap` | `!!ap` | Toggles autoplay - When the song is finished, automatically queue a related youtube song. (Works only for youtube songs and when queue is empty) - -### Help -Command and aliases | Description | Usage -----------------|--------------|------- -`-modules` `-mdls` | `-modules` or `.modules` | List all bot modules. -`-commands` `-cmds` | `-commands` or `.commands` | List all of the bot's commands from a certain module. -`-h` `-help` | `-h !m q` or just `-h` | Either shows a help for a single command, or PMs you help link if no arguments are specified. -`-hgit` | `-hgit` | Generates the commandlist.md file. **Bot owner only.** -`-readme` `-guide` | `-readme` or `-guide` | Sends a readme and a guide links to the channel. -`-donate` | `-donate` or `~donate` | Instructions for helping the project! - -### Utility -Command and aliases | Description | Usage -----------------|--------------|------- -`.whosplaying` | `.whoplays Overwatch` | Shows a list of users who are playing the specified game. -`.inrole` | `.inrole Role` | Lists every person from the provided role or roles (separated by a ',') on this server. If the list is too long for 1 message, you must have Manage Messages permission. -`.checkmyperms` | `.checkmyperms` | Checks your userspecific permissions on this channel. -`.userid` `.uid` | `.uid` or `.uid "@SomeGuy"` | Shows user ID. -`.channelid` `.cid` | `.cid` | Shows current channel ID. -`.serverid` `.sid` | `.sid` | Shows current server ID. -`.roles` | `.roles` | List all roles on this server or a single user if specified. -`.channeltopic` `.ct` | `.ct` | Sends current channel's topic as a message. -`.stats` | `.stats` | Shows some basic stats for Nadeko. -`.showemojis` `.se` | `.se A message full of SPECIALemojis` | Shows a name and a link to every SPECIAL emoji in the message. -`.serverinfo` `.sinfo` | `.sinfo Some Server` | Shows info about the server the bot is on. If no channel is supplied, it defaults to current one. -`.channelinfo` `.cinfo` | `.cinfo #some-channel` | Shows info about the channel. If no channel is supplied, it defaults to current one. -`.userinfo` `.uinfo` | `.uinfo @SomeUser` | Shows info about the user. If no user is supplied, it defaults a user running the command. -`...` | `... abc` | Shows a random quote with a specified name. -`..` | `.. sayhi Hi` | Adds a new quote with the specified name and message. -`.deletequote` `.delq` | `.delq abc` | Deletes all quotes with the specified keyword. You have to either be bot owner or the creator of the quote to delete it. -`.delallq` `.daq` | `.delallq kek` | Deletes all quotes on a specified keyword. -`.remind` | `.remind me 1d5h Do something` or `.remind #general Start now!` | Sends a message to you or a channel after certain amount of time. First argument is me/here/'channelname'. Second argument is time in a descending order (mo>w>d>h>m) example: 1w5d3h10m. Third argument is a (multiword)message. -`.remindtemplate` | `.remindtemplate %user%, you gotta do %message%!` | Sets message for when the remind is triggered. Available placeholders are %user% - user who ran the command, %message% - Message specified in the remind, %target% - target channel of the remind. **Bot owner only.** - -### Searches -Command and aliases | Description | Usage -----------------|--------------|------- -`~weather` `~we` | `~we Moscow RF` | Shows weather data for a specified city and a country. BOTH ARE REQUIRED. Use country abbrevations. -`~youtube` `~yt` | `~yt query` | Searches youtubes and shows the first result -`~imdb` | `~imdb Batman vs Superman` | Queries imdb for movies or series, show first result. -`~randomcat` `~meow` | `~meow` | Shows a random cat image. -`~randomdog` `~woof` | `~woof` | Shows a random dog image. -`~img` `~i` | `~i cute kitten` | Pulls the first image found using a search parameter. Use ~ir for different results. -`~ir` | `~ir cute kitten` | Pulls a random image using a search parameter. -`~lmgtfy` | `~lmgtfy query` | Google something for an idiot. -`~google` `~g` | `~google query` | Get a google search link for some terms. -`~hearthstone` `~hs` | `~hs Ysera` | Searches for a Hearthstone card and shows its image. Takes a while to complete. -`~urbandict` `~ud` | `~ud Pineapple` | Searches Urban Dictionary for a word. -`~#` | `~# ff` | Searches Tagdef.com for a hashtag. -`~catfact` | `~catfact` | Shows a random catfact from -`~revav` | `~revav "@SomeGuy"` | Returns a google reverse image search for someone's avatar. -`~revimg` | `~revimg Image link` | Returns a google reverse image search for an image from a link. -`~safebooru` | `~safebooru yuri+kissing` | Shows a random image from safebooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) -`~wikipedia` `~wiki` | `~wiki query` | Gives you back a wikipedia link -`~color` `~clr` | `~clr 00ff00` | Shows you what color corresponds to that hex. -`~videocall` | `~videocall "@SomeGuy"` | Creates a private video call link for you and other mentioned people. The link is sent to mentioned people via a private message. -`~av` `~avatar` | `~av "@SomeGuy"` | Shows a mentioned person's avatar. -`~calculate` `~calc` | `~calc 1+1` | Evaluate a mathematical expression. -`~calcops` | `~calcops` | Shows all available operations in .calc command -`~lolban` | `~lolban` | Shows top banned champions ordered by ban rate. -`~memelist` | `~memelist` | Pulls a list of memes you can use with `~memegen` from http://memegen.link/templates/ -`~memegen` | `~memegen biw "gets iced coffee" "in the winter"` | Generates a meme from memelist with top and bottom text. -`~anime` `~ani` `~aq` | `~ani aquarion evol` | Queries anilist for an anime and shows the first result. -`~manga` `~mang` `~mq` | `~mq Shingeki no kyojin` | Queries anilist for a manga and shows the first result. -`~yomama` `~ym` | `~ym` | Shows a random joke from -`~randjoke` `~rj` | `~rj` | Shows a random joke from -`~chucknorris` `~cn` | `~cn` | Shows a random chucknorris joke from -`~wowjoke` | `~wowjoke` | Get one of Kwoth's penultimate WoW jokes. -`~magicitem` `~mi` | `~mi` | Shows a random magicitem from -`~osu` | `~osu Name` or `~osu Name taiko` | Shows osu stats for a player. -`~osub` | `~osub https://osu.ppy.sh/s/127712` | Shows information about an osu beatmap. -`~osu5` | `~osu5 Name` | Displays a user's top 5 plays. -`~pokemon` `~poke` | `~poke Sylveon` | Searches for a pokemon. -`~pokemonability` `~pokeab` | `~pokeab "water gun"` | Searches for a pokemon ability. -`~hitbox` `~hb` | `~hitbox SomeStreamer` | Notifies this channel when a certain user starts streaming. **Requires ManageMessages server permission.** -`~twitch` `~tw` | `~twitch SomeStreamer` | Notifies this channel when a certain user starts streaming. **Requires ManageMessages server permission.** -`~beam` `~bm` | `~beam SomeStreamer` | Notifies this channel when a certain user starts streaming. **Requires ManageMessages server permission.** -`~liststreams` `~ls` | `~ls` | Lists all streams you are following on this server. -`~removestream` `~rms` | `~rms SomeGuy` | Removes notifications of a certain streamer on this channel. -`~checkstream` `~cs` | `~cs twitch MyFavStreamer` | Checks if a user is online on a certain streaming platform. -`~convertlist` | `~convertlist` | List of the convertable dimensions and currencies. -`~convert` | `~convert m>km 1000` | Convert quantities from>to. - -### Translator -Command and aliases | Description | Usage -----------------|--------------|------- -`~translate` `~trans` | `~trans en>fr Hello` | Translates from>to text. From the given language to the destiation language. -`~translangs` | `~translangs` | List the valid languages for translation. - -### NSFW -Command and aliases | Description | Usage -----------------|--------------|------- -`~hentai` | `~hentai yuri+kissing` | Shows a random NSFW hentai image from gelbooru and danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) -`~danbooru` | `~danbooru yuri+kissing` | Shows a random hentai image from danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) -`~gelbooru` | `~gelbooru yuri+kissing` | Shows a random hentai image from gelbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) -`~rule34` | `~rule34 yuri+kissing` | Shows a random image from rule34.xx with a given tag. Tag is optional but preffered. (multiple tags are appended with +) -`~e621` | `~e621 yuri kissing` | Shows a random hentai image from e621.net with a given tag. Tag is optional but preffered. Use spaces for multiple tags. -`~cp` | `~cp` | We all know where this will lead you to. -`~boobs` | `~boobs` | Real adult content. -`~butts` `~ass` `~butt` | `~butts` or `~ass` | Real adult content. - -### CustomReactions -Command and aliases | Description | Usage -----------------|--------------|------- -`.addcustreact` `.acr` | `.acr "hello" Hi there %user%` | Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: -`.listcustreact` `.lcr` | `.lcr 1` | Lists global or server custom reactions (15 commands per page). Running the command in DM will list global custom reactions, while running it in server will list that server's custom reactions. -`.delcustreact` `.dcr` | `.dcr 5` | Deletes a custom reaction on a specific index. If ran in DM, it is bot owner only and deletes a global custom reaction. If ran in a server, it requires Administration priviledges and removes server custom reaction. diff --git a/docs/guides/Building from Source.md b/docs/guides/Building from Source.md new file mode 100644 index 00000000..557dc3c3 --- /dev/null +++ b/docs/guides/Building from Source.md @@ -0,0 +1,8 @@ +###Building from Source +For easy setup and no programming knowledge, you can use [Updater](https://github.com/Kwoth/NadekoUpdater/releases/latest) or download release from [Releases](https://github.com/Kwoth/NadekoBot/releases) and follow the [Windows Guide](Windows Guide.md) + +In your bin/debug folder (or next to your exe if you are using release version), you must have a file called 'credentials.json' in which you will store all the necessary data to make the bot know who the owner is, and your api keys. + +When you clone the project, make sure to run `git submodule init` and `git submodule update` to get the correct discord.net version + +Make sure you've read ComprehensiveGuide to get a grasp of basic config/credentials setup and then look at "Credentials and config" chapter. diff --git a/docs/DockerGuide.md b/docs/guides/Docker Guide.md similarity index 97% rename from docs/DockerGuide.md rename to docs/guides/Docker Guide.md index 5a87bc22..1c0bb3c4 100644 --- a/docs/DockerGuide.md +++ b/docs/guides/Docker Guide.md @@ -1,6 +1,6 @@ -## Docker guide with digitalocean +# Docker Guide with DigitalOcean -#####Prerequisites: +#####Prerequisites - Digital ocean account (you can use my [reflink][reflink] to support the project and get 10$ after you register) - [PuTTY][PuTTY] - A bot account - follow this [guide][guide] diff --git a/docs/LinuxSetup.md b/docs/guides/Linux Guide.md similarity index 80% rename from docs/LinuxSetup.md rename to docs/guides/Linux Guide.md index 0272affc..c60eb5c3 100644 --- a/docs/LinuxSetup.md +++ b/docs/guides/Linux Guide.md @@ -1,9 +1,9 @@ -#Setting up NadekoBot on Linux +##Setting up NadekoBot on Linux ####Setting up NadekoBot on Linux Digital Ocean Droplet -######If you want Nadeko to play music for you 24/7 without having to hosting it on your PC and want to keep it cheap, reliable and convenient as possible, you can try Nadeko on Linux Digital Ocean Droplet using the link [DigitalOcean][DigitalOcean] (and using this link will be supporting Nadeko and will give you **$10 credit**) +If you want Nadeko to play music for you 24/7 without having to hosting it on your PC and want to keep it cheap, reliable and convenient as possible, you can try Nadeko on Linux Digital Ocean Droplet using the link [DigitalOcean][DigitalOcean] (and using this link will be supporting Nadeko and will give you **$10 credit**) -######Keep this helpful video handy [Linux Setup Video][Linux Setup Video] (thanks to klincheR) it contains how to set up the Digital Ocean droplet aswell. +Keep this helpful video handy [Linux Setup Video][Linux Setup Video] (thanks to klincheR) it contains how to set up the Digital Ocean droplet aswell. ####Setting up NadekoBot Assuming you have followed the link above to created an account in Digital Ocean and video to set up the bot until you get the `IP address and root password (in email)` to login, its time to begin. @@ -24,47 +24,52 @@ If you entered your Droplets IP address correctly, it should show **login as:** **Copy and just paste** using **mouse right-click** (it should paste automatically) -######MONO (Source: [Mono Source][Mono Source]) +####Installing Mono +MONO (Source: [Mono Source][Mono Source]) -**1) Installing Mono** +**1)** `sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF` - `echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list` - `sudo apt-get update` Note if the command is not being initiated, hit **Enter** **2)** -`echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list` +`echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | sudo +tee -a /etc/apt/sources.list.d/mono-xamarin.list` +####Mono on Debian 8 and later **2.5)** -*ONLY DEBIAN 8 and later* -`echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list` +`echo "deb http://download.mono-project.com/repo/debian wheezy-libjpeg62-compat main" | sudo +tee -a /etc/apt/sources.list.d/mono-xamarin.list` +####Mono on CentOS 7, Fedora 19 (and later) and later **2.6)** -*ONLY CentOS 7, Fedora 19 (and later)* `yum install yum-util` - `rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"` - `yum-config-manager --add-repo http://download.mono-project.com/repo/centos/` +####Mono Devel **3)** -*Mono Devel* `apt-get install mono-devel` **Type** `y` **hit Enter** +####Mono Fix +**In case you are having issues with Mono where you get a random string and the bot won't run, do this:** +`sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF` +`echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list` +`apt-get install ca-certificates-mono` +`mozroots --import --sync` + +####Installing Opus Voice Codec **4)** -Opus Voice Codec - `sudo apt-get install libopus0 opus-tools` **Type** `y` **hit Enter** @@ -72,17 +77,6 @@ Opus Voice Codec **5)** `sudo apt-get install libopus-dev` -**In case you are having issues with Mono where you get a random string and the bot won't run, do this:** - -`sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF` - -`echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list` - -`apt-get install ca-certificates-mono` - -`mozroots --import --sync` - - ####FFMPEG **6)** @@ -95,9 +89,7 @@ NOTE: if its "not installing" then, follow the guide here: [FFMPEG Help Guide][F **All you need to do, if you are running UBUNTU 14.04 is initiate these:** `sudo add-apt-repository ppa:mc3man/trusty-media` - `sudo apt-get update` - `sudo apt-get dist-upgrade` *Before executing* `sudo apt-get install ffmpeg` @@ -109,11 +101,8 @@ NOTE: if its "not installing" then, follow the guide here: [FFMPEG Help Guide][F In case you are not able to install it with installer ^up there, follow these steps: `sudo apt-get update` - `echo "deb http://ftp.debian.org/debian jessie-backports main" | tee /etc/apt/sources.list.d/debian-backports.list` - `sudo apt-get update` - `sudo apt-get install ffmpeg -y` ####Uncomplicated Firewall UFW @@ -134,30 +123,25 @@ In case you are not able to install it with installer ^up there, follow these st **10)** `sudo ufw allow ssh` - - +####Installing Unzip **11)** -Unzip - `apt-get install unzip` +####Installing TMUX **12)** -TMUX - `apt-get install tmux` **Type** `y` **hit Enter** -####NOW WE NEED TO IMPORT SOME DISCORD CERTS +####Importing Discord certs **13)** `certmgr -ssl https://discordapp.com` - **14)** `certmgr -ssl https://gateway.discord.gg` Type `yes` and hit Enter **(three times - as it will ask for three times)** - +####Creating Nadeko folder **15)** Create a new folder “nadeko” or anything you prefer @@ -168,7 +152,7 @@ Move to “nadeko” folder (note `cd --` to go back the directory) `cd nadeko` -**NOW WE NEED TO GET NADEKO FROM RELEASES** +####Getting NadekoBot from Releases Go to this link: [Releases][Releases] and **copy the zip file address** of the lalest version available, it should look like `https://github.com/Kwoth/NadekoBot/releases/download/vx.xx/NadekoBot.vx.x.zip` @@ -181,14 +165,13 @@ Get the correct link, type `wget`, then *paste the link*, then hit **Enter**. **^Do not copy-paste it** **18)** - Now we need to `unzip` the downloaded zip file and to do that, type the file name as it showed in your screen or just copy from the screen, should be like ` NadekoBot.vx.x.zip` `unzip NadekoBot.vx.x.zip` **^Do not copy-paste it** -#####NOW TO SETUP NADEKO +####Setting up NadekoBot - Open **CyberDuck** - Click on **Open Connection** (top-left corner), a new window should appear. @@ -201,15 +184,16 @@ Now we need to `unzip` the downloaded zip file and to do that, type the file nam - It should show you the new folder you created. - Open it. -#####MAKE SURE YOU READ THE README BEFORE PROCEEDING +####Renaming Credentials.json - Copy the `credentials_example.json` to desktop -- EDIT it as it is guided here: [Readme][Readme] +- EDIT it as it is guided here: [Setting up Credentials.json](Windows Guide.md#setting-up-credentialsjson-file) +- Read here how to [Create DiscordBot application](https://github.com/miraai/NadekoBot/blob/dev/docs/guides/Windows%20Guide.md#creating-discordbot-application) - Rename it to `credentials.json` and paste/put it back in the folder. `(Yes, using CyberDuck)` - You should see two files `credentials_example.json` and `credentials.json` - Also if you already have nadeko setup and have `credentials.json`, `config.json`, `nadekobot.sqlite`, and `"permissions" folder`, you can just copy and paste it to the Droplets folder using CyberDuck. -######TIME TO RUN +####Running NadekoBot Go back to **PuTTY**, `(hope its still running xD)` @@ -218,7 +202,8 @@ Type/ Copy and hit **Enter**. `tmux new -s nadeko` -**^this will create a new session named “nadeko”** `(you can replace “nadeko” with anything you prefer and remember its your session name) so you can run the bot in background without having to keep running PuTTY in the background.` +**^this will create a new session named “nadeko”** `(you can replace “nadeko” with anything you prefer and remember +its your session name) so you can run the bot in background without having to keep running PuTTY in the background.` `cd nadeko` @@ -227,33 +212,33 @@ Type/ Copy and hit **Enter**. **CHECK THE BOT IN DISCORD, IF EVERYTHING IS WORKING** -Now time to **move bot to background** and to do that, press **CTRL+B+D** (this will ditach the nadeko session using TMUX), and you can finally close PuTTY now. +####Setting up Nadeko Music + +For how to set up Nadeko for music and Google API Keys, follow [Setting up NadekoBot for Music](Windows Guide.md#setting-up-nadekobot-for-music) + +Now time to **move bot to background** and to do that, press **CTRL+B+D** (this will detach the nadeko session using TMUX), and you can finally close PuTTY now. Copy your CLIENT ID (that's in the same Developer page where you brought your token) and replace `12345678` in this link: `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with it. Go to that link and you will be able to add your bot to your server. **NOW YOU HAVE YOUR OWN NADEKO BOT** `Thanks to Kwoth <3` -######SOME MORE INFO (JUST TO KNOW): +####Some more Info (just in case) -If you want to **see the sessions** after logging back again, type `tmux ls`, and that will give you the list of sessions running. -If you want to **switch to/ see that session**, type `tmux a -t nadeko` (**nadeko** is the name of the session we created before so, replace **“nadeko”** with the session name you created.) - -**21)** -If you want to **kill** NadekoBot **session**, type `tmux kill-session -t nadeko` -######TO RESTART YOUR BOT ALONG WITH THE WHOLE SERVER (for science): -**22)** +####Restarting Nadeko with the Server Open **PuTTY** and login as you have before, type `reboot` and hit Enter. -######IF YOU WANT TO UPDATE YOUR BOT +####Updating Nadeko **FOLLOW THESE STEPS SERIALLY** -- **-21 OR 22** -- **-19** - **-16** - **-17** - **-18** +- **-19** - **-20** HIT **CTRL+B+D** and close **PuTTY** diff --git a/docs/guides/OSX Guide.md b/docs/guides/OSX Guide.md new file mode 100644 index 00000000..4fed4867 --- /dev/null +++ b/docs/guides/OSX Guide.md @@ -0,0 +1,167 @@ +### Setting Up NadekoBot on OSX +#### Prerequisites +- 1) [Homebrew][Homebrew] +- 2) Mono +- 3) Google Account +- 4) Soundcloud Account (if you want soundcloud support) +- 5) Text Editor (TextWrangler, or equivalent) or outside editor such as [Atom][Atom] + +####Installing Homebrew + +`/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"` + +Run `brew update` to fetch the latest package data. +####Installing dependencies +``` +brew install git +brew install ffmpeg +brew update && brew upgrade ffmpeg +brew install opus +brew install opus-tools +brew install opusfile +brew install libffi +brew install libsodium +brew install tmux +``` + +####Check your `FFMPEG` + +**In case your `FFMPEG` wasnt installed properly** + +- `brew options ffmpeg` +- `brew install ffmpeg --with-x --with-y --with-z` etc. +- `brew update && brew upgrade` (Update formulae and Homebrew itself && Install newer versions of outdated packages) +- `brew prune` (Remove dead symlinks from Homebrew’s prefix) +- `brew doctor` (Check your Homebrew installation for common issues) +- Then try `brew install ffmpeg` again. + +####Installing xcode-select +Xcode command line tools. You will do this in Terminal.app by running the following command line: + +`xcode-select --install` + +A dialog box will open asking if you want to install `xcode-select`. Select install and finish the installation. + +####Installing Mono +- Building Mono dependencies: + +`brew install autoconf automake libtool pkg-config` + +- Building Mono from Source: + +To build Mono from a Git Source Code checkout, you will want to have the official Mono installed on the system, as the build requires a working C# compiler to run. Once you do this, run the following commands, remember to replace PREFIX with your installation prefix that you selected: + +``` +PATH=$PREFIX/bin:$PATH +git clone https://github.com/mono/mono.git +cd mono +CC='cc -m32' ./autogen.sh --prefix=$PREFIX --disable-nls --build=i386-apple-darwin11.2.0 +make +make install +``` +To build Mono in 64 bit mode instead use this to configure the build: + +`./autogen.sh --prefix=$PREFIX --disable-nls` + +####Nadeko Setup +- Create a new folder and name it `Nadeko`. +- Move to our `Nadeko` folder + +`cd Nadeko` +- Go to [Releases][Releases] and copy the zip file address of the lalest version available, it should look like `https://github.com/Kwoth/NadekoBot/releases/download/vx.xx/NadekoBot.vx.x.zip` +- Get the correct link, type `curl -O` and past the link, then hit `Enter` +- It should be something like this: + +`curl -O https://github.com/Kwoth/NadekoBot/releases/download/vx.xx/NadekoBot.vx.x.zip` + +^ do not copy-paste it + +- Unzip the downloaded file in our `Nadeko` folder + +####Creating DiscordBot application +- Go to [DiscordApp][DiscordApp]. +- Log in with your Discord account. +- On the left side, press `New Application`. +- Fill out the `App Name` (your bot's name, in this case), put the image you want, and add an app description(optional). +- Create the application. +- Once the application is created, click on `Create a Bot User` and confirm it. +- Keep this window open for now. + +####Setting up Credentials.json file +- In our `NadekoBot` folder you should have `.json` file named `credentials_example.json`. (Note: If you do not see a **.json** after `credentials_example.json `, do not add the `**.json**`. You most likely have `"Hide file extensions"` enabled.) +- Rename `credentials_example.json` to `credentials.json`. +- Open the file with your Text editor. +- In there you will see fields like `Token`, `ClientId`, `BotId`, `OwnerIDs`. +- In your [DiscordApp][DiscordApp], under `Bot User` part, you will see the `Token:click to reveal` part, click to reveal it. +- Copy your bot's token, and put it between `" "` in your `credentials.json` file. +- Copy `Client ID` and replace it with the example one in your `credentials.json` in `Client ID` **and** `BotID` field. +- Save your `credentials.json` but keep it open. We need to put your `User ID` and owner. + +####Running NadekoBot +- Copy/past and hit `Enter` + +`tmux new -s nadeko` + +^this will create a new session named “nadeko” `(you can replace “nadeko” with anything you prefer and remember its your +session name)`. + +or if you want to use Screen, run: + +`screen -S nadeko` + +^this will create a new screen named “nadeko” `(you can replace “nadeko” with anything you prefer and remember its your +screen name)`. + +`cd nadeko` + +- Start NadekoBot.exe using Mono: + +`mono NadekoBot.exe` + +CHECK THE BOT IN DISCORD, IF EVERYTHING IS WORKING + +Now time to move bot to background and to do that, press CTRL+B+D (this will ditach the nadeko session using TMUX) + +*if you used Screen press CTRL+A+D (this will detach the nadeko screen)* + +####Inviting your bot to your server - [Invite Guide][Invite Guide] +- Create a new server in Discord. +- Copy your `Client ID` from your [DiscordApp][DiscordApp]. +- Replace `12345678` in this link `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with your `Client ID`. +- Link should look like this: `https://discordapp.com/oauth2/authorize?client_id=**YOUR_CLENT_ID**&scope=bot&permissions=66186303`. +- Go to newly created link and pick the server we created, and click `Authorize`. +- Bot should be added to your server. + +####Setting up OwnerIds +- In the server where your bot is, in a text channel, type `.uid` +- Your `User ID` should show, copy it. +- Close `NadekoBot.exe` +- Replace your `User ID` in the `credentials.json` between `[ ]` and save the changes. +- Run `NadekoBot.exe` again. +- Now you are the bot owner. +- You can add `User IDs` from the other users by separating IDs with a comma if you want to have more owners. + +####Setting NadekoBot Music + +For Music Setup and API keys check [Setting up NadekoBot for Music](Windows Guide.md#setting-up-nadekobot-for-music) and [JSON Explanations](JSON Explanations.md). + +####Some more Info - TMUX + +-If you want to see the sessions after logging back again, type `tmux ls`, and that will give you the list of sessions running. +-If you want to switch to/ see that session, type `tmux a -t nadeko` (nadeko is the name of the session we created before so, replace `“nadeko”` with the session name you created.) +-If you want to kill NadekoBot session, type `tmux kill-session -t nadeko` + +####Some more Info - Screen + +-If you want to see the sessions after logging back again, type `screen -ls`, and that will give you the list of screens. +-If you want to switch to/ see that screen, type `screen -r nadeko` (nadeko is the name of the screen we created before so, replace `“nadeko”` with the screen name you created.) +-If you want to kill the NadekoBot screen, type `screen -X -S nadeko quit` + +[Homebrew]: http://brew.sh/ +[Mono]: http://www.mono-project.com/docs/compiling-mono/mac/ +[Releases]: https://github.com/Kwoth/NadekoBot/releases +[DiscordApp]: https://discordapp.com/developers/applications/me +[Atom]: https://atom.io/ +[Invite Guide]: http://discord.kongslien.net/guide.html +[Google Console]: https://console.developers.google.com +[Soundcloud]: https://soundcloud.com/you/apps/new diff --git a/docs/ComprehensiveGuide.md b/docs/guides/Windows Guide.md similarity index 86% rename from docs/ComprehensiveGuide.md rename to docs/guides/Windows Guide.md index 1666d345..5d1a680d 100644 --- a/docs/ComprehensiveGuide.md +++ b/docs/guides/Windows Guide.md @@ -11,10 +11,10 @@ ________________________________________________________________________________ - 5) [7zip][7zip] (or whatever you are using, WinRar) - 6) [Notepad++][Notepad++] -####Guide: +####Guide - Create a folder, name it `Nadeko`. -- Head to [Releases][Releases]* and download `WINDOWS.-.nadeupdater.7z`. +- Head to [Updater Releases Page][Updater] and download `WINDOWS.-.nadeupdater.7z`. - Copy `WINDOWS.-.nadeupdater.7z` to the `Nadeko` (folder we created before) and extract everything. - You will see a file `NadekoUpdater.bat ` and a folder `publish ` after extraction. - Run/Launch/Open the file `NadekoUpdater.bat ` and you will see it running in cmd.exe asking you with **3 options** *1-3*. @@ -40,11 +40,11 @@ ________________________________________________________________________________ - In there you will see fields like `Token`, `ClientId`, `BotId`, `OwnerIDs`. - In your [DiscordApp][DiscordApp], under `Bot User` part, you will see the `Token:click to reveal` part, click to reveal it. - Copy your bot's token, and put it between `" "` in your `credentials.json` file. -- Copy `Client ID` and replace it with the example one in your `credentials.json`. -- Copy `Bot ID` and replace it with the example one in your `credentials.json`. +- Copy `Client ID` and replace it with the example one in your `credentials.json` in `Client ID` **and** `BotID` field. - Save your `credentials.json` but keep it open. We need to put your `User ID` and owner. -####Inviting your bot to your server [Invite Guide][Invite Guide] +####Inviting your bot to your server +- [Invite Guide][Invite Guide] - Create a new server in Discord. - Copy your `Client ID` from your [DiscordApp][DiscordApp]. - Replace `12345678` in this link `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with your `Client ID`. @@ -58,7 +58,7 @@ ________________________________________________________________________________ - Your bot should now be online in the server we added him to. - Note: Your bot will be offline in case you close `NadekoBot.exe`. -####Setting up OwnerIds: +####Setting up OwnerIds - In the server where your bot is, in a text channel, type `.uid` - Your `User ID` should show, copy it. - Close `NadekoBot.exe` @@ -67,7 +67,10 @@ ________________________________________________________________________________ - Now you are the bot owner. - You can add `User IDs` from the other users by separating IDs with a comma if you want to have more owners. -`*Alternatively, you can download nadekobot from [Releases][Releases] and extract the zip yourself. That is what updater does, except it makes it easier for you to update because it doesn't overwrite important files. If you are downloading releases you will have to be careful about your config, credentials, and other files you edited in order to preserve your data every time you update.` +`*Alternatively, you can download nadekobot from` [Releases][Releases] `and extract the zip yourself. +That is what updater does, except it makes it easier for you to update because it doesn't overwrite +important files.If you are downloading releases you will have to be careful about your config, +credentials, and other files you edited in order to preserve your data every time you update.` ________________________________________________________________________________ @@ -80,7 +83,7 @@ ________________________________________________________________________________ - Go to [Google Console][Google Console] and log in. - Create a new project (name does not matter). Once the project is created, go into "Enable and manage APIs." - Under the "Other Popular APIs" section, enable `URL Shortener API` and `Custom Search Api`. Under the `YouTube APIs` section, enable `YouTube Data API`. - - On the left tab, access `Credentials`. Click `Create Credentials` button. Click on `API Key`, and then `Server Key` in the new window that appears. Enter in a name for the `Server Key`. A new window will appear with your `Google API key`. + - On the left tab, access `Credentials`. Click `Create Credentials` button. Click on `API Key`. A new window will appear with your `Google API key`. - Copy the key. - Open up `credentials.json`. - For `"GoogleAPIKey"`, fill in with the new key we copied. @@ -91,8 +94,9 @@ ________________________________________________________________________________ - In `credentials.json`, fill in `"SoundcloudClientID"` with the copied ID. - Restart your computer. -##### Prerequisites for manual `ffmpeg` setup: +####Manual `ffmpeg` setup **Do this step in case you were not able to install `ffmpeg` with the installer.** + - Create a folder named `ffmpeg` in your main Windows directory. We will use **C:\ffmpeg** (for our guide) - Download FFMPEG through the link https://ffmpeg.zeranoe.com/builds/ (download static build) - Extract it using `7zip` and place the folder `ffmpeg-xxxxx-git-xxxxx-xxxx-static` inside **C:\ffmpeg** @@ -104,7 +108,8 @@ ________________________________________________________________________________ [NET Framework]: https://www.microsoft.com/en-us/download/details.aspx?id=48130 [FFMPEG]: https://github.com/Soundofdarkness/FFMPEG-Installer [7zip]: http://www.7-zip.org/download.html -[Releases]: //github.com/Kwoth/NadekoUpdater/releases/tag/v1.0 +[Updater]: https://github.com/Kwoth/NadekoUpdater/releases +[Releases]: https://github.com/Kwoth/NadekoBot/releases [DiscordApp]: https://discordapp.com/developers/applications/me [Notepad++]: https://notepad-plus-plus.org/ [Invite Guide]: http://discord.kongslien.net/guide.html diff --git a/docs/guides/mii-chan.md b/docs/guides/mii-chan.md new file mode 100644 index 00000000..76be958b --- /dev/null +++ b/docs/guides/mii-chan.md @@ -0,0 +1,2 @@ +Docs are in the air. +Kwoth is magic. diff --git a/docs/index.md b/docs/index.md index 9cec30e0..942c22a5 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1 +1,47 @@ -Hai, this will be docs of nakeda \ No newline at end of file +#NadekoBot Documentation + +To invite NadekoBot to your server, click on the image bellow: + +[![img][img]](https://discordapp.com/oauth2/authorize?client_id=170254782546575360&scope=bot&permissions=66186303) + +In case you need any help, hop on [NadekoBot Server][NadekoBot Server], where we can provide support. + +NadekoBot is an open source project, and it can be found on our [GitHub][GitHub] page. + +Here you can read current [Issues][Issues]. + +If you want to contribute, be sure to PR on the **[dev][dev]** branch. +##Content +- [About](about.md) +- Guides + - [Windows Guide](guides/Windows Guide.md) + - [Linux Guide](guides/Linux Guide.md) + - [OSX Guide](guides/OSX Guide.md) + - [Building from Source](guides/Building from Source.md) + - [Docker Guide](guides/Docker Guide.md) +- Commands + - [Readme](Readme.md) + - [Commands List](Commands List.md) +- [Permissions System](Permissions System.md) +- [JSON Explanations](JSON Explanations.md) +- [Custom Reactions](Custom Reactions.md) +- [Frequently Asked Questions](Frequently Asked Questions.md) +- [Contribution Guide](Contribution Guide.md) +- [Donate](Donate.md) + +[img]: https://discordcdn.com/attachments/202743183774318593/210580315381563392/discord.png +[NadekoBot Server]: https://discord.gg/0ehQwTK2RBjAxzEY +[GitHub]: https://github.com/Kwoth/NadekoBot +[Issues]: https://github.com/Kwoth/NadekoBot/issues +[dev]: https://github.com/Kwoth/NadekoBot/tree/dev + +[Italian]: http://i.imgur.com/SsaTwOF.png?1 +[Russian]: http://i.imgur.com/wf9bc5G.png?1 +[German]: http://i.imgur.com/EM5qPzf.png?1 +[Chinese]: http://i.imgur.com/MVCNOjT.png?1 +[English]: http://i.imgur.com/jHTyZFS.png?1 +[Spanish]: http://i.imgur.com/9BsusB6.png?1 +[French]: http://i.imgur.com/g2ARPF6.png?1 +[Dutch]: http://i.imgur.com/SadddLj.png?1 +[Norwegian]: http://i.imgur.com/TCVa0V8.png?1 +[Serbian]: http://i.imgur.com/5evoUbU.png diff --git a/docs/index.rst b/docs/index.rst deleted file mode 100644 index 9cec30e0..00000000 --- a/docs/index.rst +++ /dev/null @@ -1 +0,0 @@ -Hai, this will be docs of nakeda \ No newline at end of file diff --git a/docs/license.md b/docs/license.md deleted file mode 100644 index ad9c4e5f..00000000 --- a/docs/license.md +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2015 Master Kwoth - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index e21bdf12..24d7ecc8 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -140,7 +140,7 @@ namespace NadekoBot.Modules.Help } helpstr = helpstr.Replace(NadekoBot.Client.GetCurrentUser().Username , "@BotName"); #if DEBUG - File.WriteAllText("../../docs/commandslist.md", helpstr.ToString()); + File.WriteAllText("../../docs/Commands List.md", helpstr.ToString()); #else File.WriteAllText("commandlist.md", helpstr.ToString()); #endif diff --git a/src/tests/Tests.cs b/src/tests/Tests.cs index 57d1e8f9..520b5fbf 100644 --- a/src/tests/Tests.cs +++ b/src/tests/Tests.cs @@ -60,25 +60,25 @@ namespace Tests Assert.Throws(typeof(IndexOutOfRangeException), () => { root.GetAt(10); }); } - [Fact] - public void InsertTest() { + //[Fact] + //public void InsertTest() { - var root = GetRoot(); + // var root = GetRoot(); - root.Insert(5, new Permission() { SecondaryTargetName = "in2" }); + // root.Insert(5, new Permission() { SecondaryTargetName = "in2" }); - Assert.Equal(11, root.Count()); - Assert.Equal("in2", root.GetAt(5).SecondaryTargetName); + // Assert.Equal(11, root.Count()); + // Assert.Equal("in2", root.GetAt(5).SecondaryTargetName); - root.Insert(0, new Permission() { SecondaryTargetName = "Inserted" }); + // root.Insert(0, new Permission() { SecondaryTargetName = "Inserted" }); - root = root.Previous; - Assert.Equal("Inserted", root.SecondaryTargetName); - Assert.Equal(12, root.Count()); - Assert.Equal("Root", root.GetAt(1).SecondaryTargetName); + // root = root.Previous; + // Assert.Equal("Inserted", root.SecondaryTargetName); + // Assert.Equal(12, root.Count()); + // Assert.Equal("Root", root.GetAt(1).SecondaryTargetName); - Assert.Throws(typeof(IndexOutOfRangeException), () => { root.GetAt(12); }); - } + // Assert.Throws(typeof(IndexOutOfRangeException), () => { root.GetAt(12); }); + //} [Fact] public void RemoveAtTest() From bc40f3eb7ffd9efb07266f1f2ba7b84180bfa714 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 10 Oct 2016 00:45:35 +0200 Subject: [PATCH 075/135] Cmd list with new docs --- docs/Commands List.md | 599 +++++++++++++++++++----------------------- 1 file changed, 275 insertions(+), 324 deletions(-) diff --git a/docs/Commands List.md b/docs/Commands List.md index 675b3f62..c9367655 100644 --- a/docs/Commands List.md +++ b/docs/Commands List.md @@ -1,360 +1,311 @@ -### Help -Command and aliases | Description | Usage -----------------|--------------|------- -`-h`, `-help`, `@BotName help`, `@BotName h`, `~h` | Either shows a help for a single command, or PMs you help link if no arguments are specified. | `-h !m q` or just `-h` -`-hgit` | Generates the commandlist.md file. **Bot Owner Only!** | `-hgit` -`-readme`, `-guide` | Sends a readme and a guide links to the channel. | `-readme` or `-guide` -`-donate`, `~donate` | Instructions for helping the project! | `-donate` or `~donate` -`-modules`, `.modules` | List all bot modules. | `-modules` or `.modules` -`-commands`, `.commands` | List all of the bot's commands from a certain module. | `-commands` or `.commands` - ### Administration Command and aliases | Description | Usage ----------------|--------------|------- -`.grdel` | Toggles automatic deletion of greet and bye messages. **Needs Manage Server Permissions.**| `.grdel` -`.greet` | Toggles anouncements on the current channel when someone joins the server. **Needs Manage Server Permissions.**| `.greet` -`.greetmsg` | Sets a new join announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. **Needs Manage Server Permissions.**| `.greetmsg Welcome, %user%.` -`.bye` | Toggles anouncements on the current channel when someone leaves the server. | `.bye` -`.byemsg` | Sets a new leave announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current bye message. **Needs Manage Server Permissions.**| `.byemsg %user% has left.` -`.byepm` | Toggles whether the good bye messages will be sent in a PM or in the text channel. **Needs Manage Server Permissions.**| `.byepm` -`.greetpm` | Toggles whether the greet messages will be sent in a PM or in the text channel. **Needs Manage Server Permissions.**| `.greetpm` -`.spmom` | Toggles whether mentions of other offline users on your server will send a pm to them. **Needs Manage Server Permissions.**| `.spmom` -`.logserver` | Toggles logging in this channel. Logs every message sent/deleted/edited on the server. **Bot Owner Only!** | `.logserver` -`.logignore` | Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. **Bot Owner Only!**| `.logignore` -`.userpresence` | Starts logging to this channel when someone from the server goes online/offline/idle. **Needs Manage Server Permissions.**| `.userpresence` -`.voicepresence` | Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. **Needs Manage Server Permissions.**| `.voicerpresence` -`.repeatinvoke`, `.repinv` | Immediately shows the repeat message and restarts the timer. **Needs Manage Messages Permissions.**| `.repinv` -`.repeat` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. **Needs Manage Messages Permissions.** |`.repeat 5 Hello there` -`.rotateplaying`, `.ropl` | Toggles rotation of playing status of the dynamic strings you specified earlier. **Bot Owner Only!** | `.ropl` -`.addplaying`, `.adpl` | Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued%, %trivia% **Bot Owner Only!**| `.adpl` -`.listplaying`, `.lipl` | Lists all playing statuses with their corresponding number. **Bot Owner Only!**| `.lipl` -`.removeplaying`, `.repl`, `.rmpl` | Removes a playing string on a given number. **Bot Owner Only!**| `.rmpl` -`.slowmode` | Toggles slow mode. When ON, users will be able to send only 1 message every 5 seconds. **Needs Manage Messages Permissions.**| `.slowmode` -`.cleanv+t`, `.cv+t` | Deletes all text channels ending in `-voice` for which voicechannels are not found. **Use at your own risk. Needs Manage Roles and Manage Channels Permissions.** | `.cleanv+t` -`.voice+text`, `.v+t` | Creates a text channel for each voice channel only users in that voice channel can see.If you are server owner, keep in mind you will see them all the time regardless. **Needs Manage Roles and Manage Channels Permissions.**| `.voice+text` -`.scsc` | Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance. **Bot Owner Only.** | `.scsc` -`.jcsc` | Joins current channel to an instance of cross server channel using the token. **Needs Manage Server Permissions.**| `.jcsc` -`.lcsc` | Leaves Cross server channel instance from this channel. **Needs Manage Server Permissions.**| `.lcsc` -`.asar` | Adds a role, or list of roles separated by whitespace(use quotations for multiword roles) to the list of self-assignable roles. **Needs Manage Roles Permissions.**| `.asar Gamer` -`.rsar` | Removes a specified role from the list of self-assignable roles. | `.rsar` -`.lsar` | Lists all self-assignable roles. | `.lsar` -`.togglexclsar`, `.tesar` | toggle whether the self-assigned roles should be exclusive | `.tesar` -`.iam` | Adds a role to you that you choose. Role must be on a list of self-assignable roles. | `.iam Gamer` -`.iamnot`, `.iamn` | Removes a role to you that you choose. Role must be on a list of self-assignable roles. | `.iamn Gamer` -`.addcustreact`, `.acr` | Add a custom reaction. Guide here: **Bot Owner Only!** | `.acr "hello" Hi there %user%` -`.listcustreact`, `.lcr` | Lists custom reactions (paginated with 30 commands per page). Use 'all' instead of page number to get all custom reactions DM-ed to you. |`.lcr 1` -`.showcustreact`, `.scr` | Shows all possible responses from a single custom reaction. |`.scr %mention% bb` -`.editcustreact`, `.ecr` | Edits a custom reaction, arguments are custom reactions name, index to change, and a (multiword) message **Bot Owner Only** | `.ecr "%mention% disguise" 2 Test 123` -`.delcustreact`, `.dcr` | Deletes a custom reaction with given name (and index). **Bot Owner Only.**| `.dcr index` -`.autoassignrole`, `.aar` | Automaticaly assigns a specified role to every user who joins the server. **Needs Manage Roles Permissions.** |`.aar` to disable, `.aar Role Name` to enable -`.leave` | Makes Nadeko leave the server. Either name or id required. **Bot Owner Only!**| `.leave 123123123331` -`.listincidents`, `.lin` | List all UNREAD incidents and flags them as read. **Needs Manage Server Permissions.**| `.lin` -`.listallincidents`, `.lain` | Sends you a file containing all incidents and flags them as read. **Needs Manage Server Permissions.**| `.lain` -`.delmsgoncmd` | Toggles the automatic deletion of user's successful command message to prevent chat flood. **Server Manager Only.** | `.delmsgoncmd` -`.restart` | Restarts the bot. Might not work. **Bot Owner Only** | `.restart` -`.setrole`, `.sr` | Sets a role for a given user. **Needs Manage Roles Permissions.**| `.sr @User Guest` -`.removerole`, `.rr` | Removes a role from a given user. **Needs Manage Roles Permissions.**| `.rr @User Admin` -`.renamerole`, `.renr` | Renames a role. Roles you are renaming must be lower than bot's highest role. **Manage Roles Permissions.** | `.renr "First role" SecondRole` -`.removeallroles`, `.rar` | Removes all roles from a mentioned user. **Needs Manage Roles Permissions.**| `.rar @User` -`.createrole`, `.cr` | Creates a role with a given name. **Needs Manage Roles Permissions.**| `.cr Awesome Role` -`.rolecolor`, `.rc` | Set a role's color to the hex or 0-255 rgb color value provided. **Needs Manage Roles Permissions.** | `.rc Admin 255 200 100` or `.rc Admin ffba55` -`.ban`, `.b` | Bans a user by id or name with an optional message. **Needs Ban Permissions.**| `.b "@some Guy" Your behaviour is toxic.` -`.softban`, `.sb` | Bans and then unbans a user by id or name with an optional message. **Needs Ban Permissions.**| `.sb "@some Guy" Your behaviour is toxic.` -`.kick`, `.k` | Kicks a mentioned user. **Needs Kick Permissions.**| `.k "@some Guy" Your behaviour is toxic.` -`.mute` | Mutes mentioned user or users. **Needs Mute Permissions.**| `.mute "@Someguy"` or `.mute "@Someguy" "@Someguy"` -`.unmute` | Unmutes mentioned user or users. **Needs Mute Permissions.**| `.unmute "@Someguy"` or `.unmute "@Someguy" "@Someguy"` -`.deafen`, `.deaf` | Deafens mentioned user or users. **Needs Deafen Permissions.**| `.deaf "@Someguy"` or `.deaf "@Someguy" "@Someguy"` -`.undeafen`, `.undef` | Undeafens mentioned user or users. **Needs Deafen Permissions.** | `.undef "@Someguy"` or `.undef "@Someguy" "@Someguy"` -`.delvoichanl`, `.dvch` | Deletes a voice channel with a given name. **Needs Manage Channel Permissions.**| `.dvch VoiceChannelName` -`.creatvoichanl`, `.cvch` | Creates a new voice channel with a given name. **Needs Manage Channel Permissions.** | `.cvch VoiceChannelName` -`.deltxtchanl`, `.dtch` | Deletes a text channel with a given name. **Needs Manage Channel Permissions.** | `.dtch TextChannelName` -`.creatxtchanl`, `.ctch` | Creates a new text channel with a given name. **Needs Manage Channel Permissions.** | `.ctch TextChannelName` -`.settopic`, `.st` | Sets a topic on the current channel. **Needs Manage Channel Permissions.** | `.st My new topic` -`.setchanlname`, `.schn` | Changed the name of the current channel. **Needs Manage Channel Permissions.**| `.schn NewName` -`.heap` | Shows allocated memory - **Bot Owner Only!** | `.heap` -`.prune`, `.clr` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. **Needs Manage Messages Permissions**| `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` -`.die` | Shuts the bot down and notifies users about the restart. **Bot Owner Only!** | `.die` -`.setname`, `.newnm` | Give the bot a new name. **Bot Owner Only!** | `.newnm BotName` -`.newavatar`, `.setavatar` | Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. **Bot Owner Only!** | `.setavatar http://i.imgur.com/xTG3a1I.jpg` -`.setgame` | Sets the bots game. **Bot Owner Only!** | `.setgame Playing with kwoth` -`.send` | Send a message to someone on a different server through the bot. **Bot Owner Only!** | `.send sid|u:uid Hello user!` or `.send sid|c:cid Message to channel!` (cid = channel id, sid = server id) -`.mentionrole`, `.menro` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. | `.menro RoleName` -`.unstuck` | Clears the message queue. **Bot Owner Only!** | `.unstuck` -`.donators` | List of lovely people who donated to keep this project alive. | `.donators` -`.donadd` | Add a donator to the database. **Kwoth Only** | `.donadd Donate Amount` -`.announce` | Sends a message to all servers' general channel bot is connected to.**Bot Owner Only!** | `.announce Useless spam` -`.savechat` | Saves a number of messages to a text file and sends it to you. **Bot Owner Only** | `.savechat 150` - -### Utility -Command and aliases | Description | Usage -----------------|--------------|------- -`.remind` | Sends a message to you or a channel after certain amount of time. First argument is me/here/'channelname'. Second argument is time in a descending order (mo>w>d>h>m) example: 1w5d3h10m. Third argument is a (multiword)message. | `.remind me 1d5h Do something` or `.remind #general Start now!` -`.remindmsg` | Sets message for when the remind is triggered. Available placeholders are %user% - user who ran the command, %message% - Message specified in the remind, %target% - target channel of the remind. **Bot Owner Only!** | `.remindmsg do something else` -`.serverinfo`, `.sinfo` | Shows info about the server the bot is on. If no channel is supplied, it defaults to current one. |`.sinfo Some Server` -`.channelinfo`, `.cinfo` | Shows info about the channel. If no channel is supplied, it defaults to current one. |`.cinfo #some-channel` -`.userinfo`, `.uinfo` | Shows info about the user. If no user is supplied, it defaults a user running the command. |`.uinfo @SomeUser` -`.whoplays` | Shows a list of users who are playing the specified game. | `.whoplays Overwatch` -`.inrole` | Lists every person from the provided role or roles (separated by a ',') on this server. If the list is too long for 1 message, you must have Manage Messages permission. | `.inrole Role` -`.checkmyperms` | Checks your userspecific permissions on this channel. | `.checkmyperms` -`.stats` | Shows some basic stats for Nadeko. | `.stats` -`.dysyd` | Shows some basic stats for Nadeko. | `.dysyd` -`.userid`, `.uid` | Shows user ID. | `.uid` or `.uid "@SomeGuy"` -`.channelid`, `.cid` | Shows current channel ID. | `.cid` -`.serverid`, `.sid` | Shows current server ID. | `.sid` -`.roles` | List all roles on this server or a single user if specified. | `.roles` -`.channeltopic`, `.ct` | Sends current channel's topic as a message. | `.ct` +`.restart` | `.restart` | Restarts the bot. Might not work. **Bot owner only.** +`.delmsgoncmd` | `.delmsgoncmd` | Toggles the automatic deletion of user's successful command message to prevent chat flood. **Server Manager Only.** **Requires Administrator server permission.** +`.setrole` `.sr` | `.sr @User Guest` | Sets a role for a given user. **Requires ManageRoles server permission.** +`.removerole` `.rr` | `.rr @User Admin` | Removes a role from a given user. **Requires ManageRoles server permission.** +`.renamerole` `.renr` | `.renr "First role" SecondRole` | Renames a role. Roles you are renaming must be lower than bot's highest role. **Manage Roles Permissions.** **Requires ManageRoles server permission.** +`.removeallroles` `.rar` | `.rar @User` | Removes all roles from a mentioned user. **Requires ManageRoles server permission.** +`.createrole` `.cr` | `.cr Awesome Role` | Creates a role with a given name. **Requires ManageRoles server permission.** +`.rolecolor` `.rc` | `.rc Admin 255 200 100` or `.rc Admin ffba55` | Set a role's color to the hex or 0-255 rgb color value provided. **Requires ManageRoles server permission.** +`.ban` `.b` | `.b "@some Guy" Your behaviour is toxic.` | Bans a user by id or name with an optional message. **Requires BanMembers server permission.** +`.softban` `.sb` | `.sb "@some Guy" Your behaviour is toxic.` | Bans and then unbans a user by id or name with an optional message. **Requires BanMembers server permission.** +`.kick` `.k` | `.k "@some Guy" Your behaviour is toxic.` | Kicks a mentioned user. **Requires KickMembers server permission.** +`.mute` | `.mute @Someone` | Mutes a mentioned user in a voice channel. **Requires MuteMembers server permission.** +`.unmute` | `.unmute "@Someguy"` or `.unmute "@Someguy" "@Someguy"` | Unmutes mentioned user or users. **Requires MuteMembers server permission.** +`.deafen` `.deaf` | `.deaf "@Someguy"` or `.deaf "@Someguy" "@Someguy"` | Deafens mentioned user or users. **Requires DeafenMembers server permission.** +`.undeafen` `.undef` | `.undef "@Someguy"` or `.undef "@Someguy" "@Someguy"` | Undeafens mentioned user or users. **Requires DeafenMembers server permission.** +`.delvoichanl` `.dvch` | `.dvch VoiceChannelName` | Deletes a voice channel with a given name. **Requires ManageChannels server permission.** +`.creatvoichanl` `.cvch` | `.cvch VoiceChannelName` | Creates a new voice channel with a given name. **Requires ManageChannels server permission.** +`.deltxtchanl` `.dtch` | `.dtch TextChannelName` | Deletes a text channel with a given name. **Requires ManageChannels server permission.** +`.creatxtchanl` `.ctch` | `.ctch TextChannelName` | Creates a new text channel with a given name. **Requires ManageChannels server permission.** +`.settopic` `.st` | `.st My new topic` | Sets a topic on the current channel. **Requires ManageChannels server permission.** +`.setchanlname` `.schn` | `.schn NewName` | Changed the name of the current channel. **Requires ManageChannels server permission.** +`.prune` `.clr` | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. +`.prune` `.clr` | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. **Requires ManageMessages server permission.** +`.prune` `.clr` | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. **Requires ManageMessages server permission.** +`.die` | `@NadekoBot die` | Works only for the owner. Shuts the bot down. **Bot owner only.** +`.setname` `.newnm` | `.newnm BotName` | Give the bot a new name. **Bot owner only.** +`.setavatar` `.setav` | `.setav http://i.imgur.com/xTG3a1I.jpg` | Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. **Bot owner only.** +`.setgame` | `.setgame Playing with kwoth` | Sets the bots game. **Bot owner only.** +`.send` | `.send sid` | Send a message to someone on a different server through the bot. **Bot owner only.** +`.announce` | `.announce Useless spam` | Sends a message to all servers' general channel bot is connected to. **Bot owner only.** +`.savechat` | `.savechat 150` | Saves a number of messages to a text file and sends it to you. **Bot owner only.** +`.mentionrole` `.menro` | `.menro RoleName` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. **Requires MentionEveryone server permission.** +`.donators` | `.donators` | List of lovely people who donated to keep this project alive. +`.donadd` | `.donadd Donate Amount` | Add a donator to the database. **Kwoth Only** **Bot owner only.** +`.autoassignrole` `.aar` | `.aar` to disable, `.aar Role Name` to enable | Automaticaly assigns a specified role to every user who joins the server. **Requires ManageRoles server permission.** +`.scsc` | `.scsc` | Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance. **Bot owner only.** +`.jcsc` | `.jcsc` | Joins current channel to an instance of cross server channel using the token. **Requires ManageServer server permission.** +`.lcsc` | `.lcsc` | Leaves Cross server channel instance from this channel. **Requires ManageServer server permission.** +`.logserver` | `.logserver` | Logs server activity in this channel. **Requires Administrator server permission.** **Bot owner only.** +`.logignore` | `.logignore` | Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. **Requires Administrator server permission.** **Bot owner only.** +`.userpresence` | `.userpresence` | Starts logging to this channel when someone from the server goes online/offline/idle. **Requires Administrator server permission.** +`.voicepresence` | `.voicerpresence` | Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. **Requires Administrator server permission.** +`.repeatinvoke` `.repinv` | `.repinv` | Immediately shows the repeat message and restarts the timer. **Requires ManageMessages server permission.** +`.repeat` | `.repeat 5 Hello there` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. +`.repeat` | `.repeat 5 Hello there` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. +`.migratedata` | `.migratedata` | Migrate data from old bot configuration **Bot owner only.** +`.rotateplaying` `.ropl` | `.ropl` | Toggles rotation of playing status of the dynamic strings you specified earlier. **Bot owner only.** +`.addplaying` `.adpl` | `.adpl` | Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued% **Bot owner only.** +`.listplaying` `.lipl` | `.lipl` | Lists all playing statuses with their corresponding number. **Bot owner only.** +`.removeplaying` `.rmlp` `.repl` | `.rmpl` | Removes a playing string on a given number. **Bot owner only.** +`.slowmode` | `.slowmode` | Toggles slow mode. When ON, users will be able to send only 1 message every 5 seconds. +`.asar` | `.asar Gamer` | Adds a role, or list of roles separated by whitespace(use quotations for multiword roles) to the list of self-assignable roles. **Requires ManageRoles server permission.** +`.rsar` | `.rsar` | Removes a specified role from the list of self-assignable roles. **Requires ManageRoles server permission.** +`.lsar` | `.lsar` | Lists all self-assignable roles. +`.togglexclsar` `.tesar` | `.tesar` | toggle whether the self-assigned roles should be exclusive **Requires ManageRoles server permission.** +`.iam` | `.iam Gamer` | Adds a role to you that you choose. Role must be on a list of self-assignable roles. +`.iamnot` `.iamn` | `.iamn Gamer` | Removes a role to you that you choose. Role must be on a list of self-assignable roles. +`.leave` | `.leave 123123123331` | Makes Nadeko leave the server. Either name or id required. **Bot owner only.** +`.greetdel` | `.greetdel` | Toggles automatic deletion of greet messages. **Requires ManageServer server permission.** +`.greet` | `.greet` | Toggles anouncements on the current channel when someone joins the server. **Requires ManageServer server permission.** +`.greetmsg` | `.greetmsg Welcome, %user%.` | Sets a new join announcement message which will be shown in the server's channel. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. **Requires ManageServer server permission.** +`.greetdm` | `.greetdm` | Toggles whether the greet messages will be sent in a DM (This is separate from greet - you can have both, any or neither enabled). **Requires ManageServer server permission.** +`.greetdmmsg` | `.greetdmmsg Welcome to the server, %user%`. | Sets a new join announcement message which will be sent to the user who joined. Type %user% if you want to mention the new member. Using it with no message will show the current DM greet message. **Requires ManageServer server permission.** +`.bye` | `.bye` | Toggles anouncements on the current channel when someone leaves the server. **Requires ManageServer server permission.** +`.byemsg` | `.byemsg %user% has left.` | Sets a new leave announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current bye message. **Requires ManageServer server permission.** +`.byedel` | `.byedel` | Toggles automatic deletion of bye messages. **Requires ManageServer server permission.** +`.voice+text` `.v+t` | `.voice+text` | Creates a text channel for each voice channel only users in that voice channel can see.If you are server owner, keep in mind you will see them all the time regardless. **Requires ManageRoles server permission.** **Requires ManageChannels server permission.** +`.cleanvplust` `.cv+t` | `.cleanv+t` | Deletes all text channels ending in `-voice` for which voicechannels are not found. **Use at your own risk. Needs Manage Roles and Manage Channels Permissions.** **Requires ManageChannels server permission.** **Requires ManageRoles server permission.** ### Permissions Command and aliases | Description | Usage ----------------|--------------|------- -`;chnlfilterinv`, `;cfi` | Enables or disables automatic deleting of invites on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. | `;cfi enable #general-chat` -`;srvrfilterinv`, `;sfi` | Enables or disables automatic deleting of invites on the server. | `;sfi disable` -`;chnlfilterwords`, `;cfw` | Enables or disables automatic deleting of messages containing banned words on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. | `;cfw enable #general-chat` -`;addfilterword`, `;afw` | Adds a new word to the list of filtered words | `;afw poop` -`;rmvfilterword`, `;rfw` | Removes the word from the list of filtered words | `;rw poop` -`;lstfilterwords`, `;lfw` | Shows a list of filtered words | `;lfw` -`;srvrfilterwords`, `;sfw` | Enables or disables automatic deleting of messages containing forbidden words on the server. | `;sfw disable` -`;permrole`, `;pr` | Sets a role which can change permissions. Or supply no parameters to find out the current one. Default one is 'Nadeko'. | `;pr role` -`;rolepermscopy`, `;rpc` | Copies BOT PERMISSIONS (not discord permissions) from one role to another. |`;rpc Some Role ~ Some other role` -`;chnlpermscopy`, `;cpc` | Copies BOT PERMISSIONS (not discord permissions) from one channel to another. |`;cpc Some Channel ~ Some other channel` -`;usrpermscopy`, `;upc` | Copies BOT PERMISSIONS (not discord permissions) from one role to another. |`;upc @SomeUser ~ @SomeOtherUser` -`;verbose`, `;v` | Sets whether to show when a command/module is blocked. | `;verbose true` -`;srvrperms`, `;sp` | Shows banned permissions for this server. | `;sp` -`;roleperms`, `;rp` | Shows banned permissions for a certain role. No argument means for everyone. | `;rp AwesomeRole` -`;chnlperms`, `;cp` | Shows banned permissions for a certain channel. No argument means for this channel. | `;cp #dev` -`;userperms`, `;up` | Shows banned permissions for a certain user. No argument means for yourself. | `;up Kwoth` -`;srvrmdl`, `;sm` | Sets a module's permission at the server level. | `;sm "module name" enable` -`;srvrcmd`, `;sc` | Sets a command's permission at the server level. | `;sc "command name" disable` -`;rolemdl`, `;rm` | Sets a module's permission at the role level. | `;rm "module name" enable MyRole` -`;rolecmd`, `;rc` | Sets a command's permission at the role level. | `;rc "command name" disable MyRole` -`;chnlmdl`, `;cm` | Sets a module's permission at the channel level. | `;cm "module name" enable SomeChannel` -`;chnlcmd`, `;cc` | Sets a command's permission at the channel level. | `;cc "command name" enable SomeChannel` -`;usrmdl`, `;um` | Sets a module's permission at the user level. | `;um "module name" enable SomeUsername` -`;usrcmd`, `;uc` | Sets a command's permission at the user level. | `;uc "command name" enable SomeUsername` -`;allsrvrmdls`, `;asm` | Sets permissions for all modules at the server level. | `;asm [enable/disable]` -`;allsrvrcmds`, `;asc` | Sets permissions for all commands from a certain module at the server level. | `;asc "module name" [enable/disable]` -`;allchnlmdls`, `;acm` | Sets permissions for all modules at the channel level. | `;acm [enable/disable] SomeChannel` -`;allchnlcmds`, `;acc` | Sets permissions for all commands from a certain module at the channel level. | `;acc "module name" [enable/disable] SomeChannel` -`;allrolemdls`, `;arm` | Sets permissions for all modules at the role level. | `;arm [enable/disable] MyRole` -`;allrolecmds`, `;arc` | Sets permissions for all commands from a certain module at the role level. | `;arc "module name" [enable/disable] MyRole` -`;ubl` | Blacklists a mentioned user. **Bot Owner Only!**| `;ubl [user_mention]` -`;uubl` | Unblacklists a mentioned user. **Bot Owner Only!** | `;uubl [user_mention]` -`;cbl` | Blacklists a mentioned channel (#general for example). | `;cbl #some_channel` -`;cubl` | Unblacklists a mentioned channel (#general for example). | `;cubl #some_channel` -`;sbl` | Blacklists a server by a name or id (#general for example). **BOT OWNER ONLY** | `;sbl [servername/serverid]` -`;cmdcooldown`, `;cmdcd` | Sets a cooldown per user for a command. Set 0 to clear. **Needs Manager Messages Permissions**| `;cmdcd "some cmd" 5` -`;allcmdcooldowns`, `;acmdcds` | Shows a list of all commands and their respective cooldowns. | `;acmdcds` +`;verbose` `;v` | `;verbose true` | Sets whether to show when a command/module is blocked. +`;permrole` `;pr` | `;pr role` | Sets a role which can change permissions. Or supply no parameters to find out the current one. Default one is 'Nadeko'. +`;listperms` `;lp` | `;lp` or `;lp 3` | Lists whole permission chain with their indexes. You can specify optional page number if there are a lot of permissions +`;removeperm` `;rp` | `;rp 1` | Removes a permission from a given position +`;moveperm` `;mp` | `;mp 2 4` | Moves permission from one position to another. +`;srvrcmd` `;sc` | `;sc "command name" disable` | Sets a command's permission at the server level. +`;srvrmdl` `;sm` | `;sm "module name" enable` | Sets a module's permission at the server level. +`;usrcmd` `;uc` | `;uc "command name" enable SomeUsername` | Sets a command's permission at the user level. +`;usrmdl` `;um` | `;um "module name" enable SomeUsername` | Sets a module's permission at the user level. +`;rolecmd` `;rc` | `;rc "command name" disable MyRole` | Sets a command's permission at the role level. +`;rolemdl` `;rm` | `;rm "module name" enable MyRole` | Sets a module's permission at the role level. +`;chnlcmd` `;cc` | `;cc "command name" enable SomeChannel` | Sets a command's permission at the channel level. +`;chnlmdl` `;cm` | `;cm "module name" enable SomeChannel` | Sets a module's permission at the channel level. +`;allchnlmdls` `;acm` | `;acm enable #SomeChannel` | Enable or disable all modules in a specified channel. +`;allrolemdls` `;arm` | `;arm [enable/disable] MyRole` | Enable or disable all modules for a specific role. +`;allusrmdls` `;aum` | `;aum enable @someone` | Enable or disable all modules for a specific user. +`;allsrvrmdls` `;asm` | `;asm [enable/disable]` | Enable or disable all modules for your server. +`;ubl` | `;ubl add @SomeUser` or `;ubl rem 12312312313` | Either [add]s or [rem]oves a user specified by a mention or ID from a blacklist. **Bot owner only.** +`;ubl` | `;ubl add @SomeUser` or `;ubl rem 12312312313` | Either [add]s or [rem]oves a user specified by a mention or ID from a blacklist. **Bot owner only.** +`;cbl` | `;cbl rem 12312312312` | Either [add]s or [rem]oves a channel specified by an ID from a blacklist. **Bot owner only.** +`;sbl` | `;sbl add 12312321312` or `;sbl rem SomeTrashServer` | Either [add]s or [rem]oves a server specified by a Name or ID from a blacklist. **Bot owner only.** +`;sbl` | `;sbl add 12312321312` or `;sbl rem SomeTrashServer` | Either [add]s or [rem]oves a server specified by a Name or ID from a blacklist. **Bot owner only.** +`;cmdcooldown` `;cmdcd` | `;cmdcd "some cmd" 5` | Sets a cooldown per user for a command. Set 0 to clear. +`;allcmdcooldowns` `;acmdcds` | `;acmdcds` | Shows a list of all commands and their respective cooldowns. +`;srvrfilterinv` `;sfi` | `;sfi disable` | Enables or disables automatic deleting of invites on the server. +`;chnlfilterinv` `;cfi` | `;cfi enable #general-chat` | Enables or disables automatic deleting of invites on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. +`;srvrfilterwords` `;sfw` | `;sfw disable` | Enables or disables automatic deleting of messages containing forbidden words on the server. +`;chnlfilterwords` `;cfw` | `;cfw enable #general-chat` | Enables or disables automatic deleting of messages containing banned words on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. +`;fw` | `;fw poop` | Adds or removes (if it exists) a word from the list of filtered words +`;lstfilterwords` `;lfw` | `;lfw` | Shows a list of filtered words -### Conversations +### Utility Command and aliases | Description | Usage ----------------|--------------|------- -`..` | Adds a new quote with the specified name (single word) and message (no limit). | `.. abc My message` -`...` | Shows a random quote with a specified name. | `... abc` -`..qdel`, `..quotedelete` | Deletes all quotes with the specified keyword. You have to either be bot owner or the creator of the quote to delete it. | `..qdel abc` -`@BotName rip` | Shows a grave image of someone with a start year | `@NadekoBot rip @Someone 2000` -`@BotName die` | Works only for the owner. Shuts the bot down. | `@NadekoBot die` -`@BotName do you love me` | Replies with positive answer only to the bot owner. | `@NadekoBot do you love me` -`@BotName how are you`, `@BotName how are you?` | Replies positive only if bot owner is online. | `@NadekoBot how are you` -`@BotName fire` | Shows a unicode fire message. Optional parameter [x] tells her how many times to repeat the fire. | `@NadekoBot fire [x]` -`@BotName dump` | Dumps all of the invites it can to dump.txt.** Owner Only.** | `@NadekoBot dump` -`@BotName ab` | Try to get 'abalabahaha'| `@NadekoBot ab` - -### Gambling -Command and aliases | Description | Usage -----------------|--------------|------- -`$draw` | Draws a card from the deck.If you supply number [x], she draws up to 5 cards from the deck. | `$draw [x]` -`$shuffle`, `$sh` | Reshuffles all cards back into the deck.|`$shuffle` -`$flip` | Flips coin(s) - heads or tails, and shows an image. | `$flip` or `$flip 3` -`$betflip`, `$bf` | Bet to guess will the result be heads or tails. Guessing award you double flowers you've bet. | `$bf 5 heads` or `$bf 3 t` -`$roll` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$roll` or `$roll 7` or `$roll 3d5` -`$rolluo` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice (unordered). If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$rolluo` or `$rolluo 7` or `$rolluo 3d5` -`$nroll` | Rolls in a given range. | `$nroll 5` (rolls 0-5) or `$nroll 5-15` -`$race` | Starts a new animal race. | `$race` -`$joinrace`, `$jr` | Joins a new race. You can specify an amount of flowers for betting (optional). You will get YourBet*(participants-1) back if you win. | `$jr` or `$jr 5` -`$raffle` | Prints a name and ID of a random user from the online list from the (optional) role. | `$raffle` or `$raffle RoleName` -`$$$` | Check how much NadekoFlowers a person has. (Defaults to yourself) |`$$$` or `$$$ @Someone` -`$give` | Give someone a certain amount of NadekoFlowers|`$give 1 "@SomeGuy"` -`$award` | Gives someone a certain amount of flowers. **Bot Owner Only!** | `$award 100 @person` -`$take` | Takes a certain amount of flowers from someone. **Bot Owner Only!** | `$take 1 "@someguy"` -`$betroll`, `$br` | Bets a certain amount of NadekoFlowers and rolls a dice. Rolling over 66 yields x2 flowers, over 90 - x3 and 100 x10. | `$br 5` -`$leaderboard`, `$lb` | Displays bot currency leaderboard | `$lb` - -### Games -Command and aliases | Description | Usage -----------------|--------------|------- -`>t` | Starts a game of trivia. You can add nohint to prevent hints.First player to get to 10 points wins by default. You can specify a different number. 30 seconds per question. |`>t nohint` or `>t 5 nohint` -`>tl` | Shows a current trivia leaderboard. | `>tl` -`>tq` | Quits current trivia after current question. | `>tq` -`>typestart` | Starts a typing contest. | `>typestart` -`>typestop` | Stops a typing contest on the current channel. | `>typestop` -`>typeadd` | Adds a new article to the typing contest. Owner only. | `>typeadd wordswords` -`>poll` | Creates a poll, only person who has manage server permission can do it. **Needs Manage Server Permissions**| `>poll Question?;Answer1;Answ 2;A_3` -`>pollend` | Stops active poll on this server and prints the results in this channel. | `>pollend` -`>pick` | Picks a flower planted in this channel. | `>pick` -`>plant` | Spend a flower to plant it in this channel. (If bot is restarted or crashes, flower will be lost) | `>plant` -`>gencurrency`, `>gc` | Toggles currency generation on this channel. Every posted message will have 2% chance to spawn a NadekoFlower. Optional parameter cooldown time in minutes, 5 minutes by default. Requires Manage Messages permission. | `>gc` or `>gc 60` -`>leet` | Converts a text to leetspeak with 6 (1-6) severity levels | `>leet 3 Hello` -`>choose` | Chooses a thing from a list of things | `>choose Get up;Sleep;Sleep more` -`>8ball` | Ask the 8ball a yes/no question. | `>8ball should i do something` -`>rps` | Play a game of rocket paperclip scissors with Nadeko. | `>rps scissors` -`>linux` | Prints a customizable Linux interjection | `>linux Spyware Windows` - -### Music -Command and aliases | Description | Usage -----------------|--------------|------- -`!!next`, `!!n`, `!!skip` | Goes to the next song in the queue. You have to be in the same voice channel as the bot. | `!!n` -`!!stop`, `!!s` | Stops the music and clears the playlist. Stays in the channel. | `!!s` -`!!destroy`, `!!d` | Completely stops the music and unbinds the bot from the channel. (may cause weird behaviour) | `!!d` -`!!pause`, `!!p` | Pauses or Unpauses the song. | `!!p` -`!!queue`, `!!q`, `!!yq` | Queue a song using keywords or a link. Bot will join your voice channel.**You must be in a voice channel**. | `!!q Dream Of Venice` -`!!soundcloudqueue`, `!!sq` | Queue a soundcloud song using keywords. Bot will join your voice channel.**You must be in a voice channel**. | `!!sq Dream Of Venice` -`!!listqueue`, `!!lq` | Lists 15 currently queued songs per page. Default page is 1. | `!!lq` or `!!lq 2` -`!!nowplaying`, `!!np` | Shows the song currently playing. | `!!np` -`!!volume`, `!!vol` | Sets the music volume 0-100% | `!!vol 50` -`!!defvol`, `!!dv` | Sets the default music volume when music playback is started (0-100). Persists through restarts. | `!!dv 80` -`!!mute`, `!!min` | Sets the music volume to 0% | `!!min` -`!!max` | Sets the music volume to 100%. | `!!max` -`!!half` | Sets the music volume to 50%. | `!!half` -`!!shuffle`, `!!sh` | Shuffles the current playlist. | `!!sh` -`!!playlist`, `!!pl` | Queues up to 500 songs from a youtube playlist specified by a link, or keywords. | `!!pl playlist link or name` -`!!soundcloudpl`, `!!scpl` | Queue a soundcloud playlist using a link. | `!!scpl soundcloudseturl` -`!!localplaylst`, `!!lopl` | Queues all songs from a directory. **Bot Owner Only!** | `!!lopl C:/music/classical` -`!!radio`, `!!ra` | Queues a radio stream from a link. It can be a direct mp3 radio stream, .m3u, .pls .asx or .xspf (Usage Video: ) | `!!ra radio link here` -`!!local`, `!!lo` | Queues a local file by specifying a full path. **Bot Owner Only!** | `!!lo C:/music/mysong.mp3` -`!!move`, `!!mv` | Moves the bot to your voice channel. (works only if music is already playing) | `!!mv` -`!!remove`, `!!rm` | Remove a song by its # in the queue, or 'all' to remove whole queue. | `!!rm 5` -`!!movesong`, `!!ms` | Moves a song from one position to another. | `!! ms 5>3` -`!!setmaxqueue`, `!!smq` | Sets a maximum queue size. Supply 0 or no argument to have no limit. | `!!smq 50` or `!!smq` -`!!cleanup` | Cleans up hanging voice connections. **Bot Owner Only!** | `!!cleanup` -`!!reptcursong`, `!!rcs` | Toggles repeat of current song. | `!!rcs` -`!!rpeatplaylst`, `!!rpl` | Toggles repeat of all songs in the queue (every song that finishes is added to the end of the queue). | `!!rpl` -`!!save` | Saves a playlist under a certain name. Name must be no longer than 20 characters and mustn't contain dashes. | `!!save classical1` -`!!load` | Loads a playlist under a certain name. | `!!load classical-1` -`!!playlists`, `!!pls` | Lists all playlists. Paginated. 20 per page. Default page is 0. |`!!pls 1` -`!!deleteplaylist`, `!!delpls` | Deletes a saved playlist. Only if you made it or if you are the bot owner. | `!!delpls animu-5` -`!!goto` | Goes to a specific time in seconds in a song. | `!!goto 30` -`!!getlink`, `!!gl` | Shows a link to the song in the queue by index, or the currently playing song by default. | `!!gl` -`!!autoplay`, `!!ap` | Toggles autoplay - When the song is finished, automatically queue a related youtube song. (Works only for youtube songs and when queue is empty) | `!!ap` +`.whosplaying` | `.whoplays Overwatch` | Shows a list of users who are playing the specified game. +`.inrole` | `.inrole Role` | Lists every person from the provided role or roles (separated by a ',') on this server. If the list is too long for 1 message, you must have Manage Messages permission. +`.checkmyperms` | `.checkmyperms` | Checks your userspecific permissions on this channel. +`.userid` `.uid` | `.uid` or `.uid "@SomeGuy"` | Shows user ID. +`.channelid` `.cid` | `.cid` | Shows current channel ID. +`.serverid` `.sid` | `.sid` | Shows current server ID. +`.roles` | `.roles` | List all roles on this server or a single user if specified. +`.channeltopic` `.ct` | `.ct` | Sends current channel's topic as a message. +`.stats` | `.stats` | Shows some basic stats for Nadeko. +`.showemojis` `.se` | `.se A message full of SPECIALemojis` | Shows a name and a link to every SPECIAL emoji in the message. +`.serverinfo` `.sinfo` | `.sinfo Some Server` | Shows info about the server the bot is on. If no channel is supplied, it defaults to current one. +`.channelinfo` `.cinfo` | `.cinfo #some-channel` | Shows info about the channel. If no channel is supplied, it defaults to current one. +`.userinfo` `.uinfo` | `.uinfo @SomeUser` | Shows info about the user. If no user is supplied, it defaults a user running the command. +`...` | `... abc` | Shows a random quote with a specified name. +`..` | `.. sayhi Hi` | Adds a new quote with the specified name and message. +`.deletequote` `.delq` | `.delq abc` | Deletes all quotes with the specified keyword. You have to either be bot owner or the creator of the quote to delete it. +`.delallq` `.daq` | `.delallq kek` | Deletes all quotes on a specified keyword. +`.remind` | `.remind me 1d5h Do something` or `.remind #general Start now!` | Sends a message to you or a channel after certain amount of time. First argument is me/here/'channelname'. Second argument is time in a descending order (mo>w>d>h>m) example: 1w5d3h10m. Third argument is a (multiword)message. +`.remindtemplate` | `.remindtemplate %user%, you gotta do %message%!` | Sets message for when the remind is triggered. Available placeholders are %user% - user who ran the command, %message% - Message specified in the remind, %target% - target channel of the remind. **Bot owner only.** ### Searches Command and aliases | Description | Usage ----------------|--------------|------- -`~lolchamp` | Shows League Of Legends champion statistics. If there are spaces/apostrophes or in the name - omit them. Optional second parameter is a role. |`~lolchamp Riven` or `~lolchamp Annie sup` -`~lolban` | Shows top 6 banned champions ordered by ban rate. Ban these champions and you will be Plat 5 in no time. | `~lolban` -`~hitbox`, `~hb` | Notifies this channel when a certain user starts streaming. | `~hitbox SomeStreamer` -`~twitch`, `~tw` | Notifies this channel when a certain user starts streaming. | `~twitch SomeStreamer` -`~beam`, `~bm` | Notifies this channel when a certain user starts streaming. | `~beam SomeStreamer` -`~checkhitbox`, `~chhb` | Checks if a certain user is streaming on the hitbox platform. | `~chhb SomeStreamer` -`~checktwitch`, `~chtw` | Checks if a certain user is streaming on the twitch platform. | `~chtw SomeStreamer` -`~checkbeam`, `~chbm` | Checks if a certain user is streaming on the beam platform. | `~chbm SomeStreamer` -`~removestream`, `~rms` | Removes notifications of a certain streamer on this channel. | `~rms SomeGuy` -`~liststreams`, `~ls` | Lists all streams you are following on this server. | `~ls` -`~convert` | Convert quantities from>to. | `~convert m>km 1000` -`~convertlist` | List of the convertable dimensions and currencies. -`~wowjoke` | Get one of Kwoth's penultimate WoW jokes. | `~wowjoke` -`~calculate`, `~calc` | Evaluate a mathematical expression. | `~calc 1+1` -`~osu` | Shows osu stats for a player. | `~osu Name` or `~osu Name taiko` -`~osu b` | Shows information about an osu beatmap. |`~osu b https://osu.ppy.sh/s/127712` -`~osu top5` | Displays a user's top 5 plays. |`~osu top5 Name` -`~pokemon`, `~poke` | Searches for a pokemon. | `~poke Sylveon` -`~pokemonability`, `~pokeab` | Searches for a pokemon ability. | `~pokeab "water gun"` -`~memelist` | Pulls a list of memes you can use with `~memegen` from http://memegen.link/templates/ | `~memelist` -`~memegen` | Generates a meme from memelist with top and bottom text. | `~memegen biw "gets iced coffee" "in the winter"` -`~we` | Shows weather data for a specified city and a country. BOTH ARE REQUIRED. Use country abbrevations. | `~we Moscow RF` -`~yt` | Searches youtubes and shows the first result | `~yt query` -`~ani`, `~anime`, `~aq` | Queries anilist for an anime and shows the first result. | `~aq aquarion evol` -`~imdb` | Queries imdb for movies or series, show first result. | `~imdb Batman vs Superman` -`~mang`, `~manga`, `~mq` | Queries anilist for a manga and shows the first result. | `~mq Shingeki no kyojin` -`~randomcat`, `~meow` | Shows a random cat image. | `~meow` -`~randomdog`, `~woof` | Shows a random dog image. | `~woof` -`~i` | Pulls the first image found using a search parameter. Use ~ir for different results. | `~i cute kitten` -`~ir` | Pulls a random image using a search parameter. | `~ir cute kitten` -`~lmgtfy` | Google something for an idiot. | `~lmgtfy query` -`~google`, `~g` | Get a google search link for some terms. | `~google query` -`~hs` | Searches for a Hearthstone card and shows its image. Takes a while to complete. | `~hs Ysera` -`~ud` | Searches Urban Dictionary for a word. | `~ud Pineapple` -`~#` | Searches Tagdef.com for a hashtag. | `~# ff` -`~quote` | Shows a random quote. | `~quote` -`~catfact` | Shows a random catfact from | `~catfact` -`~yomama`, `~ym` | Shows a random joke from | `~ym` -`~randjoke`, `~rj` | Shows a random joke from | `~rj` -`~chucknorris`, `~cn` | Shows a random chucknorris joke from | `~cn` -`~magicitem`, `~mi` | Shows a random magicitem from | `~mi` -`~revav` | Returns a google reverse image search for someone's avatar. | `~revav "@SomeGuy"` -`~revimg` | Returns a google reverse image search for an image from a link. | `~revav Image link` -`~safebooru` | Shows a random image from safebooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~safebooru yuri+kissing` -`~wiki` | Gives you back a wikipedia link | `~wiki query` -`~clr` | Shows you what color corresponds to that hex. | `~clr 00ff00` -`~videocall` | Creates a private video call link for you and other mentioned people. The link is sent to mentioned people via a private message. | `~videocall "@SomeGuy"` -`~av`, `~avatar` | Shows a mentioned person's avatar. | `~av "@SomeGuy"` +`~weather` `~we` | `~we Moscow RF` | Shows weather data for a specified city and a country. BOTH ARE REQUIRED. Use country abbrevations. +`~youtube` `~yt` | `~yt query` | Searches youtubes and shows the first result +`~imdb` | `~imdb Batman vs Superman` | Queries imdb for movies or series, show first result. +`~randomcat` `~meow` | `~meow` | Shows a random cat image. +`~randomdog` `~woof` | `~woof` | Shows a random dog image. +`~img` `~i` | `~i cute kitten` | Pulls the first image found using a search parameter. Use ~ir for different results. +`~ir` | `~ir cute kitten` | Pulls a random image using a search parameter. +`~lmgtfy` | `~lmgtfy query` | Google something for an idiot. +`~google` `~g` | `~google query` | Get a google search link for some terms. +`~hearthstone` `~hs` | `~hs Ysera` | Searches for a Hearthstone card and shows its image. Takes a while to complete. +`~urbandict` `~ud` | `~ud Pineapple` | Searches Urban Dictionary for a word. +`~#` | `~# ff` | Searches Tagdef.com for a hashtag. +`~catfact` | `~catfact` | Shows a random catfact from +`~revav` | `~revav "@SomeGuy"` | Returns a google reverse image search for someone's avatar. +`~revimg` | `~revimg Image link` | Returns a google reverse image search for an image from a link. +`~safebooru` | `~safebooru yuri+kissing` | Shows a random image from safebooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) +`~wikipedia` `~wiki` | `~wiki query` | Gives you back a wikipedia link +`~color` `~clr` | `~clr 00ff00` | Shows you what color corresponds to that hex. +`~videocall` | `~videocall "@SomeGuy"` | Creates a private video call link for you and other mentioned people. The link is sent to mentioned people via a private message. +`~av` `~avatar` | `~av "@SomeGuy"` | Shows a mentioned person's avatar. +`~calculate` `~calc` | `~calc 1+1` | Evaluate a mathematical expression. +`~calcops` | `~calcops` | Shows all available operations in .calc command +`~lolban` | `~lolban` | Shows top banned champions ordered by ban rate. +`~memelist` | `~memelist` | Pulls a list of memes you can use with `~memegen` from http://memegen.link/templates/ +`~memegen` | `~memegen biw "gets iced coffee" "in the winter"` | Generates a meme from memelist with top and bottom text. +`~anime` `~ani` `~aq` | `~ani aquarion evol` | Queries anilist for an anime and shows the first result. +`~manga` `~mang` `~mq` | `~mq Shingeki no kyojin` | Queries anilist for a manga and shows the first result. +`~yomama` `~ym` | `~ym` | Shows a random joke from +`~randjoke` `~rj` | `~rj` | Shows a random joke from +`~chucknorris` `~cn` | `~cn` | Shows a random chucknorris joke from +`~wowjoke` | `~wowjoke` | Get one of Kwoth's penultimate WoW jokes. +`~magicitem` `~mi` | `~mi` | Shows a random magicitem from +`~osu` | `~osu Name` or `~osu Name taiko` | Shows osu stats for a player. +`~osub` | `~osub https://osu.ppy.sh/s/127712` | Shows information about an osu beatmap. +`~osu5` | `~osu5 Name` | Displays a user's top 5 plays. +`~pokemon` `~poke` | `~poke Sylveon` | Searches for a pokemon. +`~pokemonability` `~pokeab` | `~pokeab "water gun"` | Searches for a pokemon ability. +`~hitbox` `~hb` | `~hitbox SomeStreamer` | Notifies this channel when a certain user starts streaming. **Requires ManageMessages server permission.** +`~twitch` `~tw` | `~twitch SomeStreamer` | Notifies this channel when a certain user starts streaming. **Requires ManageMessages server permission.** +`~beam` `~bm` | `~beam SomeStreamer` | Notifies this channel when a certain user starts streaming. **Requires ManageMessages server permission.** +`~liststreams` `~ls` | `~ls` | Lists all streams you are following on this server. +`~removestream` `~rms` | `~rms SomeGuy` | Removes notifications of a certain streamer on this channel. +`~checkstream` `~cs` | `~cs twitch MyFavStreamer` | Checks if a user is online on a certain streaming platform. +`~convertlist` | `~convertlist` | List of the convertable dimensions and currencies. +`~convert` | `~convert m>km 1000` | Convert quantities from>to. + +### Help +Command and aliases | Description | Usage +----------------|--------------|------- +`-modules` `-mdls` | `-modules` or `.modules` | List all bot modules. +`-commands` `-cmds` | `-commands` or `.commands` | List all of the bot's commands from a certain module. +`-h` `-help` | `-h !m q` or just `-h` | Either shows a help for a single command, or PMs you help link if no arguments are specified. +`-hgit` | `-hgit` | Generates the commandlist.md file. **Bot owner only.** +`-readme` `-guide` | `-readme` or `-guide` | Sends a readme and a guide links to the channel. +`-donate` | `-donate` or `~donate` | Instructions for helping the project! ### NSFW Command and aliases | Description | Usage ----------------|--------------|------- -`~hentai` | Shows a random NSFW hentai image from gelbooru and danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~hentai yuri+kissing` -`~danbooru` | Shows a random hentai image from danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~danbooru yuri+kissing` -`~gelbooru` | Shows a random hentai image from gelbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~gelbooru yuri+kissing` -`~rule34` | Shows a random image from rule34.xx with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~rule34 yuri+kissing` -`~e621` | Shows a random hentai image from e621.net with a given tag. Tag is optional but preffered. Use spaces for multiple tags. | `~e621 yuri kissing` -`~cp` | We all know where this will lead you to. | `~cp` -`~boobs` | Real adult content. | `~boobs` -`~butts`, `~ass`, `~butt` | Real adult content. | `~butts` or `~ass` +`~hentai` | `~hentai yuri+kissing` | Shows a random NSFW hentai image from gelbooru and danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) +`~danbooru` | `~danbooru yuri+kissing` | Shows a random hentai image from danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) +`~gelbooru` | `~gelbooru yuri+kissing` | Shows a random hentai image from gelbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) +`~rule34` | `~rule34 yuri+kissing` | Shows a random image from rule34.xx with a given tag. Tag is optional but preffered. (multiple tags are appended with +) +`~e621` | `~e621 yuri kissing` | Shows a random hentai image from e621.net with a given tag. Tag is optional but preffered. Use spaces for multiple tags. +`~cp` | `~cp` | We all know where this will lead you to. +`~boobs` | `~boobs` | Real adult content. +`~butts` `~ass` `~butt` | `~butts` or `~ass` | Real adult content. + +### Gambling +Command and aliases | Description | Usage +----------------|--------------|------- +`$raffle` | `$raffle` or `$raffle RoleName` | Prints a name and ID of a random user from the online list from the (optional) role. +`$cash` `$$$` | `$$$` or `$$$ @SomeGuy` | Check how much NadekoFlowers a person has. (Defaults to yourself) +`$cash` `$$$` | `$$$` or `$$$ @SomeGuy` | Check how much NadekoFlowers a person has. (Defaults to yourself) +`$give` | `$give 1 "@SomeGuy"` | Give someone a certain amount of NadekoFlowers +`$award` | `$award 100 @person` | Gives someone a certain amount of flowers. **Bot owner only.** +`$award` | `$award 100 @person` | Gives someone a certain amount of flowers. **Bot owner only.** +`$take` | `$take 1 "@someguy"` | Takes a certain amount of flowers from someone. **Bot owner only.** +`$take` | `$take 1 "@someguy"` | Takes a certain amount of flowers from someone. **Bot owner only.** +`$betroll` `$br` | `$br 5` | Bets a certain amount of NadekoFlowers and rolls a dice. Rolling over 66 yields x2 flowers, over 90 - x3 and 100 x10. +`$leaderboard` `$lb` | `$lb` | Displays bot currency leaderboard +`$race` | `$race` | Starts a new animal race. +`$joinrace` `$jr` | `$jr` or `$jr 5` | Joins a new race. You can specify an amount of flowers for betting (optional). You will get YourBet*(participants-1) back if you win. +`$roll` | `$roll` or `$roll 7` or `$roll 3d5` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. +`$roll` | `$roll` or `$roll 7` or `$roll 3d5` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. +`$roll` | `$roll` or `$roll 7` or `$roll 3d5` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. +`$rolluo` | `$rolluo` or `$rolluo 7` or `$rolluo 3d5` | Rolls X normal dice (up to 30) unordered. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. +`$rolluo` | `$rolluo` or `$rolluo 7` or `$rolluo 3d5` | Rolls X normal dice (up to 30) unordered. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. +`$nroll` | `$nroll 5` (rolls 0-5) or `$nroll 5-15` | Rolls in a given range. +`$draw` | `$draw` or `$draw 5` | Draws a card from the deck.If you supply number X, she draws up to 5 cards from the deck. +`$shuffle` `$sh` | `$sh` | Reshuffles all cards back into the deck. +`$flip` | `$flip` or `$flip 3` | Flips coin(s) - heads or tails, and shows an image. +`$betflip` `$bf` | `$bf 5 heads` or `$bf 3 t` | Bet to guess will the result be heads or tails. Guessing award you double flowers you've bet. + +### Games +Command and aliases | Description | Usage +----------------|--------------|------- +`>choose` | `>choose Get up;Sleep;Sleep more` | Chooses a thing from a list of things +`>8ball` | `>8ball should i do something` | Ask the 8ball a yes/no question. +`>rps` | `>rps scissors` | Play a game of rocket paperclip scissors with Nadeko. +`>linux` | `>linux Spyware Windows` | Prints a customizable Linux interjection +`>leet` | `>leet 3 Hello` | Converts a text to leetspeak with 6 (1-6) severity levels +`>poll` | `>poll Question?;Answer1;Answ 2;A_3` | Creates a poll, only person who has manage server permission can do it. +`>pollend` | `>pollend` | Stops active poll on this server and prints the results in this channel. +`>pick` | `>pick` | Picks a flower planted in this channel. +`>plant` | `>plant` | Spend a flower to plant it in this channel. (If bot is restarted or crashes, flower will be lost) +`>gencurrency` `>gc` | `>gc` | Toggles currency generation on this channel. Every posted message will have 2% chance to spawn a NadekoFlower. Requires Manage Messages permission. **Requires ManageMessages server permission.** +`>typestart` | `>typestart` | Starts a typing contest. +`>typestop` | `>typestop` | Stops a typing contest on the current channel. +`>typeadd` | `>typeadd wordswords` | Adds a new article to the typing contest. **Bot owner only.** +`>trivia` `>t` | `>t nohint` or `>t 5 nohint` | Starts a game of trivia. You can add nohint to prevent hints.First player to get to 10 points wins by default. You can specify a different number. 30 seconds per question. +`>tl` | `>tl` | Shows a current trivia leaderboard. +`>tq` | `>tq` | Quits current trivia after current question. ### ClashOfClans Command and aliases | Description | Usage ----------------|--------------|------- -`,createwar`, `,cw` | Creates a new war by specifying a size (>10 and multiple of 5) and enemy clan name. | `,cw 15 The Enemy Clan` -`,startwar`, `,sw` | Starts a war with a given number. | `,sw 15` -`,listwar`, `,lw` | Shows the active war claims by a number. Shows all wars in a short way if no number is specified. | `,lw [war_number] or ,lw` -`,claim`, `,call`, `,c` | Claims a certain base from a certain war. You can supply a name in the third optional argument to claim in someone else's place. | `,call [war_number] [base_number] [optional_other_name]` -`,claimfinish`, `,cf`, `,cf3`, `,claimfinish3` | Finish your claim with 3 stars if you destroyed a base. Optional second argument finishes for someone else. | `,cf [war_number] [optional_other_name]` -`,claimfinish2`, `,cf2` | Finish your claim with 2 stars if you destroyed a base. Optional second argument finishes for someone else. | `,cf [war_number] [optional_other_name]` -`,claimfinish1`, `,cf1` | Finish your claim with 1 stars if you destroyed a base. Optional second argument finishes for someone else. | `,cf [war_number] [optional_other_name]` -`,unclaim`, `,uncall`, `,uc` | Removes your claim from a certain war. Optional second argument denotes a person in whose place to unclaim | `,uc [war_number] [optional_other_name]` -`,endwar`, `,ew` | Ends the war with a given index. | `,ew [war_number]` +`,createwar` `,cw` | `,cw 15 The Enemy Clan` | Creates a new war by specifying a size (>10 and multiple of 5) and enemy clan name. +`,startwar` `,sw` | `,sw 15` | Starts a war with a given number. +`,listwar` `,lw` | `,lw [war_number] or ,lw` | Shows the active war claims by a number. Shows all wars in a short way if no number is specified. +`,claim` `,call` `,c` | `,call [war_number] [base_number] [optional_other_name]` | Claims a certain base from a certain war. You can supply a name in the third optional argument to claim in someone else's place. +`,claimfinish1` `,cf1` | `,cf [war_number] [optional_other_name]` | Finish your claim with 1 stars if you destroyed a base. Optional second argument finishes for someone else. +`,claimfinish2` `,cf2` | `,cf [war_number] [optional_other_name]` | Finish your claim with 2 stars if you destroyed a base. Optional second argument finishes for someone else. +`,claimfinish` `,cf` `,cf3` `,claimfinish3` | `,cf [war_number] [optional_other_name]` | Finish your claim with 3 stars if you destroyed a base. Optional second argument finishes for someone else. +`,endwar` `,ew` | `,ew [war_number]` | Ends the war with a given index. +`,unclaim` `,ucall` `,uc` | `,uc [war_number] [optional_other_name]` | Removes your claim from a certain war. Optional second argument denotes a person in whose place to unclaim -### Pokegame +### CustomReactions Command and aliases | Description | Usage ----------------|--------------|------- -`>attack` | Attacks a target with the given move. Use `>movelist` to see a list of moves your type can use. | `>attack "vine whip" @someguy` -`>movelist`, `>ml` | Lists the moves you are able to use | `>ml` -`>heal` | Heals someone. Revives those who fainted. Costs a NadekoFlower | `>heal @someone` -`>type` | Get the poketype of the target. | `>type @someone` -`>settype` | Set your poketype. Costs a NadekoFlower. | `>settype fire` +`.addcustreact` `.acr` | `.acr "hello" Hi there %user%` | Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: +`.listcustreact` `.lcr` | `.lcr 1` | Lists global or server custom reactions (15 commands per page). Running the command in DM will list global custom reactions, while running it in server will list that server's custom reactions. +`.delcustreact` `.dcr` | `.dcr 5` | Deletes a custom reaction on a specific index. If ran in DM, it is bot owner only and deletes a global custom reaction. If ran in a server, it requires Administration priviledges and removes server custom reaction. ### Translator Command and aliases | Description | Usage ----------------|--------------|------- -`~translate`, `~trans` | Translates from>to text. From the given language to the destiation language. | `~trans en>fr Hello` -`~translangs` | List the valid languages for translation. | `~translangs` or `~translangs language` +`~translate` `~trans` | `~trans en>fr Hello` | Translates from>to text. From the given language to the destiation language. +`~translangs` | `~translangs` | List the valid languages for translation. -### Customreactions +### Pokemon Command and aliases | Description | Usage ----------------|--------------|------- -`\o\` | Custom reaction. | `\o\` -`/o/` | Custom reaction. | `/o/` -`moveto` | Custom reaction. | `moveto` -`comeatmebro` | Custom reaction. | `comeatmebro` -`e` | Custom reaction. | `e` -`@BotName insult`, `<@!116275390695079945> insult` | Custom reaction. | `%mention% insult` -`@BotName praise`, `<@!116275390695079945> praise` | Custom reaction. | `%mention% praise` -`@BotName pat`, `<@!116275390695079945> pat` | Custom reaction. | `%mention% pat` -`@BotName cry`, `<@!116275390695079945> cry` | Custom reaction. | `%mention% cry` -`@BotName are you real?`, `<@!116275390695079945> are you real?` | Custom reaction. | `%mention% are you real?` -`@BotName are you there?`, `<@!116275390695079945> are you there?` | Custom reaction. | `%mention% are you there?` -`@BotName draw`, `<@!116275390695079945> draw` | Custom reaction. | `%mention% draw` -`@BotName bb`, `<@!116275390695079945> bb` | Custom reaction. | `%mention% bb` -`@BotName call`, `<@!116275390695079945> call` | Custom reaction. | `%mention% call` -`@BotName disguise`, `<@!116275390695079945> disguise` | Custom reaction. | `%mention% disguise` -`@BotName inv`, `<@!116275390695079945> inv` | Custom reaction. | `%mention% inv` -`@BotName threaten`, `<@!116275390695079945> threaten` | Custom reaction. | `%mention% threaten` -`@BotName archer`, `<@!116275390695079945> archer` | Custom reaction. | `%mention% archer` +`>poke_cmd` | poke_usage | poke_desc -### Trello +### Music Command and aliases | Description | Usage ----------------|--------------|------- -`trello bind` | Bind a trello bot to a single channel. You will receive notifications from your board when something is added or edited. **Bot Owner Only!**| `trello bind [board_id]` -`trello unbind` | Unbinds a bot from the channel and board. **Bot Owner Only!**| `trello unbind` -`trello lists`, `trello list` | Lists all lists, yo ;) **Bot Owner Only!**| `trello list` -`trello cards` | Lists all cards from the supplied list. You can supply either a name or an index. **Bot Owner Only!**| `trello cards index` +`!!next` `!!n` | `!!n` | Goes to the next song in the queue. You have to be in the same voice channel as the bot. +`!!stop` `!!s` | `!!s` | Stops the music and clears the playlist. Stays in the channel. +`!!destroy` `!!d` | `!!d` | Completely stops the music and unbinds the bot from the channel. (may cause weird behaviour) +`!!pause` `!!p` | `!!p` | Pauses or Unpauses the song. +`!!queue` `!!q` `!!yq` | `!!q Dream Of Venice` | Queue a song using keywords or a link. Bot will join your voice channel.**You must be in a voice channel**. +`!!soundcloudqueue` `!!sq` | `!!sq Dream Of Venice` | Queue a soundcloud song using keywords. Bot will join your voice channel.**You must be in a voice channel**. +`!!listqueue` `!!lq` | `!!lq` or `!!lq 2` | Lists 15 currently queued songs per page. Default page is 1. +`!!nowplaying` `!!np` | `!!np` | Shows the song currently playing. +`!!volume` `!!vol` | `!!vol 50` | Sets the music volume 0-100% +`!!defvol` `!!dv` | `!!dv 80` | Sets the default music volume when music playback is started (0-100). Persists through restarts. +`!!shuffle` `!!sh` | `!!sh` | Shuffles the current playlist. +`!!playlist` `!!pl` | `!!pl playlist link or name` | Queues up to 500 songs from a youtube playlist specified by a link, or keywords. +`!!soundcloudpl` `!!scpl` | `!!scpl soundcloudseturl` | Queue a soundcloud playlist using a link. +`!!localplaylst` `!!lopl` | `!!lopl C:/music/classical` | Queues all songs from a directory. **Bot owner only.** +`!!radio` `!!ra` | `!!ra radio link here` | Queues a radio stream from a link. It can be a direct mp3 radio stream, .m3u, .pls .asx or .xspf (Usage Video: ) +`!!local` `!!lo` | `!!lo C:/music/mysong.mp3` | Queues a local file by specifying a full path. **Bot owner only.** +`!!move` `!!mv` | `!!mv` | Moves the bot to your voice channel. (works only if music is already playing) +`!!remove` `!!rm` | `!!rm 5` | Remove a song by its # in the queue, or 'all' to remove whole queue. +`!!remove` `!!rm` | `!!rm 5` | Remove a song by its # in the queue, or 'all' to remove whole queue. +`!!movesong` `!!ms` | `!! ms 5>3` | Moves a song from one position to another. +`!!setmaxqueue` `!!smq` | `!!smq 50` or `!!smq` | Sets a maximum queue size. Supply 0 or no argument to have no limit. +`!!reptcursong` `!!rcs` | `!!rcs` | Toggles repeat of current song. +`!!rpeatplaylst` `!!rpl` | `!!rpl` | Toggles repeat of all songs in the queue (every song that finishes is added to the end of the queue). +`!!save` | `!!save classical1` | Saves a playlist under a certain name. Name must be no longer than 20 characters and mustn't contain dashes. +`!!load` | `!!load classical-1` | Loads a playlist under a certain name. +`!!playlists` `!!pls` | `!!pls 1` | Lists all playlists. Paginated. 20 per page. Default page is 0. +`!!deleteplaylist` `!!delpls` | `!!delpls animu-5` | Deletes a saved playlist. Only if you made it or if you are the bot owner. +`!!goto` | `!!goto 30` | Goes to a specific time in seconds in a song. +`!!getlink` `!!gl` | `!!gl` | Shows a link to the song in the queue by index, or the currently playing song by default. +`!!autoplay` `!!ap` | `!!ap` | Toggles autoplay - When the song is finished, automatically queue a related youtube song. (Works only for youtube songs and when queue is empty) From 46000b36049c2feb037852ee4a9956731c8fedbd Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 10 Oct 2016 00:59:56 +0200 Subject: [PATCH 076/135] Pokemon removed, reveresed usage and description --- src/NadekoBot/Modules/Help/Help.cs | 2 +- src/NadekoBot/Modules/Pokemon/Pokemon.cs | 27 ------------------------ 2 files changed, 1 insertion(+), 28 deletions(-) delete mode 100644 src/NadekoBot/Modules/Pokemon/Pokemon.cs diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index 24d7ecc8..9a9cbe6c 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -136,7 +136,7 @@ namespace NadekoBot.Modules.Help helpstr.AppendLine("----------------|--------------|-------"); lastModule = com.Module.Name; } - helpstr.AppendLine($"`{com.Text}` {string.Join(" ", com.Aliases.Skip(1).Select(a=>"`"+a+"`"))} | {com.Remarks} | {com.Summary} {GetCommandRequirements(com)}"); + helpstr.AppendLine($"`{com.Text}` {string.Join(" ", com.Aliases.Skip(1).Select(a=>"`"+a+"`"))} | {com.Summary} | {com.Remarks} {GetCommandRequirements(com)}"); } helpstr = helpstr.Replace(NadekoBot.Client.GetCurrentUser().Username , "@BotName"); #if DEBUG diff --git a/src/NadekoBot/Modules/Pokemon/Pokemon.cs b/src/NadekoBot/Modules/Pokemon/Pokemon.cs deleted file mode 100644 index 3504154a..00000000 --- a/src/NadekoBot/Modules/Pokemon/Pokemon.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Discord.Commands; -using Discord; -using NadekoBot.Attributes; -using System.Threading.Tasks; -using NadekoBot.Services; -using Discord.WebSocket; - -namespace NadekoBot.Modules.Games -{ - [Module(">", AppendSpace = false)] - public partial class Pokemon : DiscordModule - { - public Pokemon(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) - { - } - - //todo Dragon should PR this in - [NadekoCommand, Usage, Description, Aliases] - [RequireContext(ContextType.Guild)] - public async Task Poke(IUserMessage umsg) - { - var channel = (ITextChannel)umsg.Channel; - - - } - } -} \ No newline at end of file From 75c4da7edd2fa46dbbfc43faf5cac511a911c32f Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 10 Oct 2016 02:27:33 +0200 Subject: [PATCH 077/135] So many fixes. Thanks a lot to @fearnlj01 for the testing --- .../Commands/RatelimitCommand.cs | 1 + src/NadekoBot/Modules/Help/Help.cs | 2 +- .../Searches/Commands/UnitConversion.cs | 19 +-- src/NadekoBot/Modules/Searches/Searches.cs | 2 +- .../Modules/Utility/Commands/QuoteCommands.cs | 11 +- src/NadekoBot/Modules/Utility/Utility.cs | 16 ++- .../Resources/CommandStrings.Designer.cs | 133 +++++++----------- src/NadekoBot/Resources/CommandStrings.resx | 115 +++++++-------- .../Database/Repositories/IQuoteRepository.cs | 2 +- .../Repositories/Impl/QuoteRepository.cs | 6 +- src/NadekoBot/_Extensions/Extensions.cs | 2 + 11 files changed, 146 insertions(+), 163 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Commands/RatelimitCommand.cs b/src/NadekoBot/Modules/Administration/Commands/RatelimitCommand.cs index b7b11f64..51ca481e 100644 --- a/src/NadekoBot/Modules/Administration/Commands/RatelimitCommand.cs +++ b/src/NadekoBot/Modules/Administration/Commands/RatelimitCommand.cs @@ -86,6 +86,7 @@ namespace NadekoBot.Modules.Administration [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] + [RequirePermission(GuildPermission.ManageMessages)] public async Task Slowmode(IUserMessage umsg, int msg = 1, int perSec = 5) { var channel = (ITextChannel)umsg.Channel; diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index 9a9cbe6c..b9b90702 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -127,7 +127,7 @@ namespace NadekoBot.Modules.Help var helpstr = new StringBuilder(); var lastModule = ""; - foreach (var com in _commands.Commands) + foreach (var com in _commands.Commands.GroupBy(c=>c.Text).Select(g=>g.First())) { if (com.Module.Name != lastModule) { diff --git a/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs b/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs index 844ee5d0..9b2da234 100644 --- a/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs +++ b/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs @@ -109,7 +109,7 @@ namespace NadekoBot.Modules.Searches await msg.ReplyLong(sb.ToString(), breakOn: new[] { "```xl\n", "\n" }); } [NadekoCommand, Usage, Description, Aliases] - public async Task Convert(IUserMessage msg, string origin, string target, decimal value) + public async Task Convert(IUserMessage msg, string origin, string target, double value) { var originUnit = Units.Find(x => x.Triggers.Select(y => y.ToLowerInvariant()).Contains(origin.ToLowerInvariant())); var targetUnit = Units.Find(x => x.Triggers.Select(y => y.ToLowerInvariant()).Contains(target.ToLowerInvariant())); @@ -123,7 +123,7 @@ namespace NadekoBot.Modules.Searches await msg.Reply(string.Format("Cannot convert {0} to {1}: types of unit are not equal", originUnit.Triggers.First(), targetUnit.Triggers.First())); return; } - decimal res; + double res; if (originUnit.Triggers == targetUnit.Triggers) res = value; else if (originUnit.UnitType == "temperature") { @@ -131,10 +131,10 @@ namespace NadekoBot.Modules.Searches switch (originUnit.Triggers.First().ToUpperInvariant()) { case "C": - res = value + (decimal)273.15; //celcius! + res = value + 273.15; //celcius! break; case "F": - res = (value + (decimal)459.67) * ((decimal)5 / 9); + res = (value + 459.67) * (5 / 9); break; default: res = value; @@ -144,10 +144,10 @@ namespace NadekoBot.Modules.Searches switch (targetUnit.Triggers.First()) { case "C": - res = value - (decimal)273.15; //celcius! + res = value - 273.15; //celcius! break; case "F": - res = res * ((decimal)9 / 5) - (decimal)458.67; + res = res * (9 / 5) - 458.67; break; default: break; @@ -157,13 +157,14 @@ namespace NadekoBot.Modules.Searches { if (originUnit.UnitType == "currency") { - res = (value * targetUnit.Modifier) / originUnit.Modifier; + res = (value * (double)targetUnit.Modifier) / (double)originUnit.Modifier; } else - res = (value * originUnit.Modifier) / targetUnit.Modifier; + res = (value * (double)originUnit.Modifier) / (double)targetUnit.Modifier; } res = Math.Round(res, 2); - await msg.Reply(string.Format("{0} {1} is equal to {2} {3}", value, originUnit.Triggers.First(), res, targetUnit.Triggers.First())); + + await msg.Reply(string.Format("{0} {1}s is equal to {2} {3}s", value, originUnit.Triggers.First().SnPl(value.IsInteger() ? (int)value : 2), res, targetUnit.Triggers.First().SnPl(res.IsInteger() ? (int)res : 2))); } } diff --git a/src/NadekoBot/Modules/Searches/Searches.cs b/src/NadekoBot/Modules/Searches/Searches.cs index 541d0f0d..e88656d3 100644 --- a/src/NadekoBot/Modules/Searches/Searches.cs +++ b/src/NadekoBot/Modules/Searches/Searches.cs @@ -39,7 +39,7 @@ namespace NadekoBot.Modules.Searches country = city.Replace(" ", ""); string response; using (var http = new HttpClient()) - response = await http.GetStringAsync($"http://api.lawlypopzz.xyz/nadekobot/weather/?city={city}&country={country}").ConfigureAwait(false); + response = await http.GetStringAsync($"http://api.ninetales.us/nadekobot/weather/?city={city}&country={country}").ConfigureAwait(false); var obj = JObject.Parse(response)["weather"]; diff --git a/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs b/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs index f9c37bf6..f1133359 100644 --- a/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs +++ b/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs @@ -73,18 +73,22 @@ namespace NadekoBot.Modules.Utility if (string.IsNullOrWhiteSpace(keyword)) return; + var isAdmin = ((IGuildUser)umsg.Author).GuildPermissions.Administrator; + keyword = keyword.ToUpperInvariant(); string response; using (var uow = DbHandler.UnitOfWork()) { - var q = await uow.Quotes.GetRandomQuoteByKeywordAsync(channel.Guild.Id, keyword).ConfigureAwait(false); + var qs = uow.Quotes.GetAllQuotesByKeyword(channel.Guild.Id, keyword); - if (q == null) + if (qs==null || !qs.Any()) { response = "`No quotes found.`"; return; } + var q = qs.Shuffle().FirstOrDefault(elem => isAdmin || elem.AuthorId == umsg.Author.Id); + uow.Quotes.Remove(q); await uow.CompleteAsync().ConfigureAwait(false); response = "`Deleted a random quote`"; @@ -94,6 +98,7 @@ namespace NadekoBot.Modules.Utility [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] + [RequirePermission(GuildPermission.Administrator)] public async Task DelAllQuotes(IUserMessage umsg, [Remainder] string keyword) { var channel = (ITextChannel)umsg.Channel; @@ -105,7 +110,7 @@ namespace NadekoBot.Modules.Utility using (var uow = DbHandler.UnitOfWork()) { - var quotes = uow.Quotes.GetAllQuotesByKeyword(keyword); + var quotes = uow.Quotes.GetAllQuotesByKeyword(channel.Guild.Id, keyword); uow.Quotes.RemoveRange(quotes.ToArray());//wtf?! diff --git a/src/NadekoBot/Modules/Utility/Utility.cs b/src/NadekoBot/Modules/Utility/Utility.cs index 9224f351..6f4848ff 100644 --- a/src/NadekoBot/Modules/Utility/Utility.cs +++ b/src/NadekoBot/Modules/Utility/Utility.cs @@ -116,20 +116,30 @@ namespace NadekoBot.Modules.Utility [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] - public async Task Roles(IUserMessage msg, IGuildUser target = null) + public async Task Roles(IUserMessage msg, IGuildUser target, int page = 1) { var channel = (ITextChannel)msg.Channel; var guild = channel.Guild; + + const int RolesPerPage = 20; + + if (page < 1 || page > 100) + return; if (target != null) { - await msg.Reply($"`List of roles for **{target.Username}**:` \n• " + string.Join("\n• ", target.Roles.Except(new[] { guild.EveryoneRole }).OrderBy(r => r.Position)).SanitizeMentions()); + await msg.Reply($"`Page #{page} of roles for **{target.Username}**:` \n• " + string.Join("\n• ", target.Roles.Skip((page-1) * RolesPerPage).Take(RolesPerPage).Except(new[] { guild.EveryoneRole }).OrderBy(r => r.Position)).SanitizeMentions()); } else { - await msg.Reply("`List of roles:` \n• " + string.Join("\n• ", guild.Roles.Except(new[] { guild.EveryoneRole }).OrderBy(r=>r.Position)).SanitizeMentions()); + await msg.Reply($"`Page #{page} of all roles on this server:` \n• " + string.Join("\n• ", guild.Roles.Skip((page - 1) * RolesPerPage).Take(RolesPerPage).Except(new[] { guild.EveryoneRole }).OrderBy(r => r.Position)).SanitizeMentions()); } } + [NadekoCommand, Usage, Description, Aliases] + [RequireContext(ContextType.Guild)] + public Task Roles(IUserMessage msg, int page = 1) => + Roles(msg, null, page); + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task ChannelTopic(IUserMessage umsg) diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index b5ef1d94..6e1cb268 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -78,7 +78,7 @@ namespace NadekoBot.Resources { } ///

- /// Looks up a localized string similar to `>8ball should i do something`. + /// Looks up a localized string similar to `>8ball should I do something`. /// public static string _8ball_usage { get { @@ -96,7 +96,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: <https://github.com/Kwoth/NadekoBot/wiki/Custom-Reactions>. + /// Looks up a localized string similar to Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: <http://nadekobot.readthedocs.io/en/1.0/Custom%20Reactions/>. /// public static string addcustreact_desc { get { @@ -501,7 +501,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Gives someone a certain amount of flowers. . + /// Looks up a localized string similar to Awards someone a certain amount of currency. . /// public static string award_desc { get { @@ -582,7 +582,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Bet to guess will the result be heads or tails. Guessing award you double flowers you've bet.. + /// Looks up a localized string similar to Bet to guess will the result be heads or tails. Guessing awards you double flowers you've bet.. /// public static string betflip_desc { get { @@ -1122,7 +1122,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Enables or disables automatic deleting of invites on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once.. + /// Looks up a localized string similar to Toggles automatic deleting of invites posted in the channel. Does not negate the .srvrfilterinv enabled setting.. /// public static string chnlfilterinv_desc { get { @@ -1131,7 +1131,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `;cfi enable #general-chat`. + /// Looks up a localized string similar to `;cfi`. /// public static string chnlfilterinv_usage { get { @@ -1149,7 +1149,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Enables or disables automatic deleting of messages containing banned words on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once.. + /// Looks up a localized string similar to Toggles automatic deleting of messages containing banned words on the channel. Does not negate the .srvrfilterwords enabled setting.. /// public static string chnlfilterwords_desc { get { @@ -1158,7 +1158,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `;cfw enable #general-chat`. + /// Looks up a localized string similar to `;cfw`. /// public static string chnlfilterwords_usage { get { @@ -1329,7 +1329,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to claimfinish cf cf3 claimfinish3. + /// Looks up a localized string similar to claimfinish cf. /// public static string claimfinish_cmd { get { @@ -1338,7 +1338,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Finish your claim with 3 stars if you destroyed a base. Optional second argument finishes for someone else.. + /// Looks up a localized string similar to Finish your claim with 3 stars if you destroyed a base. First argument is the war number, optional second argument finishes for someone else.. /// public static string claimfinish_desc { get { @@ -1347,7 +1347,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `,cf [war_number] [optional_other_name]`. + /// Looks up a localized string similar to `,cf 1 Someone`. /// public static string claimfinish_usage { get { @@ -1365,7 +1365,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Finish your claim with 1 stars if you destroyed a base. Optional second argument finishes for someone else.. + /// Looks up a localized string similar to Finish your claim with 1 star if you destroyed a base. First argument is the war number, optional second argument finishes for someone else.. /// public static string claimfinish1_desc { get { @@ -1374,7 +1374,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `,cf [war_number] [optional_other_name]`. + /// Looks up a localized string similar to `,cf1 2 SomeGirl`. /// public static string claimfinish1_usage { get { @@ -1392,7 +1392,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Finish your claim with 2 stars if you destroyed a base. Optional second argument finishes for someone else.. + /// Looks up a localized string similar to Finish your claim with 2 stars if you destroyed a base. First argument is the war number, optional second argument finishes for someone else.. /// public static string claimfinish2_desc { get { @@ -1401,7 +1401,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `,cf [war_number] [optional_other_name]`. + /// Looks up a localized string similar to `,cf2 1 SomeGuy`. /// public static string claimfinish2_usage { get { @@ -1473,7 +1473,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Sets a cooldown per user for a command. Set 0 to clear.. + /// Looks up a localized string similar to Sets a cooldown per user for a command. Set to 0 to remove the cooldown.. /// public static string cmdcooldown_desc { get { @@ -1527,7 +1527,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to List all of the bot's commands from a certain module.. + /// Looks up a localized string similar to List all of the bot's commands from a certain module. You can either specify full, or only first few letters of the module name.. /// public static string commands_desc { get { @@ -1536,7 +1536,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `-commands` or `.commands`. + /// Looks up a localized string similar to `-commands Administration` or `-cmds Admin`. /// public static string commands_usage { get { @@ -1554,7 +1554,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Convert quantities from>to.. + /// Looks up a localized string similar to Convert quantities. Use `~convertlist` to see supported dimensions and currencies.. /// public static string convert_desc { get { @@ -1563,7 +1563,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `~convert m>km 1000`. + /// Looks up a localized string similar to `~convert m km 1000`. /// public static string convert_usage { get { @@ -1581,7 +1581,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to List of the convertable dimensions and currencies.. + /// Looks up a localized string similar to List of the convertible dimensions and currencies.. /// public static string convertlist_desc { get { @@ -1905,7 +1905,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Deletes all quotes with the specified keyword. You have to either be bot owner or the creator of the quote to delete it.. + /// Looks up a localized string similar to Deletes a random quote with the specified keyword. You have to either be server Administrator or the creator of the quote to delete it.. /// public static string deletequote_desc { get { @@ -2094,7 +2094,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Instructions for helping the project!. + /// Looks up a localized string similar to Instructions for helping the project financially.. /// public static string donate_desc { get { @@ -2103,7 +2103,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `-donate` or `~donate`. + /// Looks up a localized string similar to `-donate`. /// public static string donate_usage { get { @@ -2310,7 +2310,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Adds or removes (if it exists) a word from the list of filtered words. + /// Looks up a localized string similar to Adds or removes (if it exists) a word from the list of filtered words.. /// public static string filterword_desc { get { @@ -2418,7 +2418,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Toggles currency generation on this channel. Every posted message will have 2% chance to spawn a NadekoFlower. Requires Manage Messages permission.. + /// Looks up a localized string similar to Toggles currency generation on this channel. Every posted message will have chance to spawn a NadekoFlower. Chance is specified by the Bot Owner. (default is 2%). /// public static string gencurrency_desc { get { @@ -2472,7 +2472,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Give someone a certain amount of NadekoFlowers. + /// Looks up a localized string similar to Give someone a certain amount of currency.. /// public static string give_desc { get { @@ -2571,7 +2571,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to greetdel. + /// Looks up a localized string similar to greetdel grdel. /// public static string greetdel_cmd { get { @@ -2706,7 +2706,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to h help. + /// Looks up a localized string similar to help h. /// public static string h_cmd { get { @@ -2715,7 +2715,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Either shows a help for a single command, or PMs you help link if no arguments are specified.. + /// Looks up a localized string similar to Either shows a help for a single command, or DMs you help link if no arguments are specified.. /// public static string h_desc { get { @@ -2724,7 +2724,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `-h !m q` or just `-h`. + /// Looks up a localized string similar to `-h !!q` or `-h`. /// public static string h_usage { get { @@ -2877,7 +2877,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Shows a random NSFW hentai image from gelbooru and danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +). + /// Looks up a localized string similar to Shows a 2 random images (from gelbooru and danbooru) with a given tag. Tag is optional but preferred. Only 1 tag allowed.. /// public static string hentai_desc { get { @@ -2886,7 +2886,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `~hentai yuri+kissing`. + /// Looks up a localized string similar to `~hentai yuri`. /// public static string hentai_usage { get { @@ -3156,7 +3156,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `.jcsc`. + /// Looks up a localized string similar to `.jcsc TokenHere`. /// public static string jcsc_usage { get { @@ -3255,7 +3255,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Displays bot currency leaderboard. + /// Looks up a localized string similar to Displays bot currency leaderboard.. /// public static string leaderboard_desc { get { @@ -3444,7 +3444,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Lists whole permission chain with their indexes. You can specify optional page number if there are a lot of permissions. + /// Looks up a localized string similar to Lists whole permission chain with their indexes. You can specify an optional page number if there are a lot of permissions.. /// public static string listperms_desc { get { @@ -3849,7 +3849,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Shows a list of filtered words. + /// Looks up a localized string similar to Shows a list of filtered words.. /// public static string lstfilterwords_desc { get { @@ -4065,7 +4065,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to List all bot modules.. + /// Looks up a localized string similar to Lists all bot modules.. /// public static string modules_desc { get { @@ -4074,7 +4074,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `-modules` or `.modules`. + /// Looks up a localized string similar to `-modules`. /// public static string modules_usage { get { @@ -5001,7 +5001,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to removeplaying rmlp repl. + /// Looks up a localized string similar to removeplaying rmpl repl. /// public static string removeplaying_cmd { get { @@ -5091,7 +5091,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Renames a role. Roles you are renaming must be lower than bot's highest role. **Manage Roles Permissions.**. + /// Looks up a localized string similar to Renames a role. Roles you are renaming must be lower than bot's highest role.. /// public static string renamerole_desc { get { @@ -5324,33 +5324,6 @@ namespace NadekoBot.Resources { } } - /// - /// Looks up a localized string similar to rmvfilterword rw. - /// - public static string rmvfilterword_cmd { - get { - return ResourceManager.GetString("rmvfilterword_cmd", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Removes the word from the list of filtered words. - /// - public static string rmvfilterword_desc { - get { - return ResourceManager.GetString("rmvfilterword_desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to `;rw poop`. - /// - public static string rmvfilterword_usage { - get { - return ResourceManager.GetString("rmvfilterword_usage", resourceCulture); - } - } - /// /// Looks up a localized string similar to rolecmd rc. /// @@ -5793,7 +5766,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Send a message to someone on a different server through the bot. . + /// Looks up a localized string similar to Sends a message to someone on a different server through the bot. Separate server and channel/user ids with | and prepend channel id with `c:` and user id with `u:`.. /// public static string send_desc { get { @@ -5802,7 +5775,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `.send sid`. + /// Looks up a localized string similar to `.send serverid|c:channelid` or `.send serverid|u:userid`. /// public static string send_usage { get { @@ -6414,7 +6387,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Enables or disables automatic deleting of invites on the server.. + /// Looks up a localized string similar to Toggles automatic deleting of invites posted in the server.. /// public static string srvrfilterinv_desc { get { @@ -6423,7 +6396,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `;sfi disable`. + /// Looks up a localized string similar to `;sfi`. /// public static string srvrfilterinv_usage { get { @@ -6441,7 +6414,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Enables or disables automatic deleting of messages containing forbidden words on the server.. + /// Looks up a localized string similar to Toggles automatic deleting of messages containing forbidden words on the server.. /// public static string srvrfilterwords_desc { get { @@ -6450,7 +6423,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `;sfw disable`. + /// Looks up a localized string similar to `;sfw`. /// public static string srvrfilterwords_usage { get { @@ -6630,7 +6603,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to toggle whether the self-assigned roles should be exclusive. + /// Looks up a localized string similar to Toggles whether the self-assigned roles are exclusive. (So that any person can have only one of the self assignable roles). /// public static string tesar_desc { get { @@ -6711,7 +6684,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to List the valid languages for translation.. + /// Looks up a localized string similar to Lists the valid languages for translation.. /// public static string translangs_desc { get { @@ -6738,7 +6711,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Translates from>to text. From the given language to the destiation language.. + /// Looks up a localized string similar to Translates from>to text. From the given language to the destination language.. /// public static string translate_desc { get { @@ -7395,7 +7368,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `.voicerpresence`. + /// Looks up a localized string similar to `.voicepresence`. /// public static string voicepresence_usage { get { @@ -7458,7 +7431,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to whosplaying. + /// Looks up a localized string similar to whosplaying whpl. /// public static string whosplaying_cmd { get { @@ -7476,7 +7449,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `.whoplays Overwatch`. + /// Looks up a localized string similar to `.whpl Overwatch`. /// public static string whosplaying_usage { get { diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index 7ea75246..65d8b9ff 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -118,13 +118,13 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - h help + help h - Either shows a help for a single command, or PMs you help link if no arguments are specified. + Either shows a help for a single command, or DMs you help link if no arguments are specified. - `-h !m q` or just `-h` + `-h !!q` or `-h` hgit @@ -139,31 +139,31 @@ donate - Instructions for helping the project! + Instructions for helping the project financially. - `-donate` or `~donate` + `-donate` modules mdls - List all bot modules. + Lists all bot modules. - `-modules` or `.modules` + `-modules` commands cmds - List all of the bot's commands from a certain module. + List all of the bot's commands from a certain module. You can either specify full, or only first few letters of the module name. - `-commands` or `.commands` + `-commands Administration` or `-cmds Admin` - greetdel + greetdel grdel Toggles automatic deletion of greet messages. @@ -268,7 +268,7 @@ Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. - `.voicerpresence` + `.voicepresence` repeatinvoke repinv @@ -316,7 +316,7 @@ `.lipl` - removeplaying rmlp repl + removeplaying rmpl repl Removes a playing string on a given number. @@ -367,7 +367,7 @@ Joins current channel to an instance of cross server channel using the token. - `.jcsc` + `.jcsc TokenHere` lcsc @@ -409,7 +409,7 @@ togglexclsar tesar - toggle whether the self-assigned roles should be exclusive + Toggles whether the self-assigned roles are exclusive. (So that any person can have only one of the self assignable roles) `.tesar` @@ -436,7 +436,7 @@ addcustreact acr - Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: <https://github.com/Kwoth/NadekoBot/wiki/Custom-Reactions> + Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: <http://nadekobot.readthedocs.io/en/1.0/Custom%20Reactions/> `.acr "hello" Hi there %user%` @@ -553,7 +553,7 @@ renamerole renr - Renames a role. Roles you are renaming must be lower than bot's highest role. **Manage Roles Permissions.** + Renames a role. Roles you are renaming must be lower than bot's highest role. `.renr "First role" SecondRole` @@ -760,10 +760,10 @@ send - Send a message to someone on a different server through the bot. + Sends a message to someone on a different server through the bot. Separate server and channel/user ids with | and prepend channel id with `c:` and user id with `u:`. - `.send sid` + `.send serverid|c:channelid` or `.send serverid|u:userid` mentionrole menro @@ -865,13 +865,13 @@ `.uinfo @SomeUser` - whosplaying + whosplaying whpl Shows a list of users who are playing the specified game. - `.whoplays Overwatch` + `.whpl Overwatch` inrole @@ -958,52 +958,43 @@ chnlfilterinv cfi - Enables or disables automatic deleting of invites on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. + Toggles automatic deleting of invites posted in the channel. Does not negate the .srvrfilterinv enabled setting. - `;cfi enable #general-chat` + `;cfi` srvrfilterinv sfi - Enables or disables automatic deleting of invites on the server. + Toggles automatic deleting of invites posted in the server. - `;sfi disable` + `;sfi` chnlfilterwords cfw - Enables or disables automatic deleting of messages containing banned words on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. + Toggles automatic deleting of messages containing banned words on the channel. Does not negate the .srvrfilterwords enabled setting. - `;cfw enable #general-chat` + `;cfw` fw - Adds or removes (if it exists) a word from the list of filtered words + Adds or removes (if it exists) a word from the list of filtered words. `;fw poop` - - rmvfilterword rw - - - Removes the word from the list of filtered words - - - `;rw poop` - lstfilterwords lfw - Shows a list of filtered words + Shows a list of filtered words. `;lfw` @@ -1012,10 +1003,10 @@ srvrfilterwords sfw - Enables or disables automatic deleting of messages containing forbidden words on the server. + Toggles automatic deleting of messages containing forbidden words on the server. - `;sfw disable` + `;sfw` permrole pr @@ -1228,7 +1219,7 @@ cmdcooldown cmdcd - Sets a cooldown per user for a command. Set 0 to clear. + Sets a cooldown per user for a command. Set to 0 to remove the cooldown. `;cmdcd "some cmd" 5` @@ -1264,7 +1255,7 @@ deletequote delq - Deletes all quotes with the specified keyword. You have to either be bot owner or the creator of the quote to delete it. + Deletes a random quote with the specified keyword. You have to either be server Administrator or the creator of the quote to delete it. `.delq abc` @@ -1336,7 +1327,7 @@ betflip bf - Bet to guess will the result be heads or tails. Guessing award you double flowers you've bet. + Bet to guess will the result be heads or tails. Guessing awards you double flowers you've bet. `$bf 5 heads` or `$bf 3 t` @@ -1399,7 +1390,7 @@ give - Give someone a certain amount of NadekoFlowers + Give someone a certain amount of currency. `$give 1 "@SomeGuy"` @@ -1408,7 +1399,7 @@ award - Gives someone a certain amount of flowers. + Awards someone a certain amount of currency. `$award 100 @person` @@ -1435,7 +1426,7 @@ leaderboard lb - Displays bot currency leaderboard + Displays bot currency leaderboard. `$lb` @@ -1534,7 +1525,7 @@ gencurrency gc - Toggles currency generation on this channel. Every posted message will have 2% chance to spawn a NadekoFlower. Requires Manage Messages permission. + Toggles currency generation on this channel. Every posted message will have chance to spawn a NadekoFlower. Chance is specified by the Bot Owner. (default is 2%) `>gc` @@ -1564,7 +1555,7 @@ Ask the 8ball a yes/no question. - `>8ball should i do something` + `>8ball should I do something` rps @@ -1930,16 +1921,16 @@ convert - Convert quantities from>to. + Convert quantities. Use `~convertlist` to see supported dimensions and currencies. - `~convert m>km 1000` + `~convert m km 1000` convertlist - List of the convertable dimensions and currencies. + List of the convertible dimensions and currencies. `~convertlist` @@ -2263,10 +2254,10 @@ hentai - Shows a random NSFW hentai image from gelbooru and danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) + Shows a 2 random images (from gelbooru and danbooru) with a given tag. Tag is optional but preferred. Only 1 tag allowed. - `~hentai yuri+kissing` + `~hentai yuri` danbooru @@ -2368,31 +2359,31 @@ `,call [war_number] [base_number] [optional_other_name]` - claimfinish cf cf3 claimfinish3 + claimfinish cf - Finish your claim with 3 stars if you destroyed a base. Optional second argument finishes for someone else. + Finish your claim with 3 stars if you destroyed a base. First argument is the war number, optional second argument finishes for someone else. - `,cf [war_number] [optional_other_name]` + `,cf 1 Someone` claimfinish2 cf2 - Finish your claim with 2 stars if you destroyed a base. Optional second argument finishes for someone else. + Finish your claim with 2 stars if you destroyed a base. First argument is the war number, optional second argument finishes for someone else. - `,cf [war_number] [optional_other_name]` + `,cf2 1 SomeGuy` claimfinish1 cf1 - Finish your claim with 1 stars if you destroyed a base. Optional second argument finishes for someone else. + Finish your claim with 1 star if you destroyed a base. First argument is the war number, optional second argument finishes for someone else. - `,cf [war_number] [optional_other_name]` + `,cf1 2 SomeGirl` unclaim ucall uc @@ -2461,7 +2452,7 @@ translate trans - Translates from>to text. From the given language to the destiation language. + Translates from>to text. From the given language to the destination language. `~trans en>fr Hello` @@ -2470,7 +2461,7 @@ translangs - List the valid languages for translation. + Lists the valid languages for translation. `~translangs` @@ -2557,7 +2548,7 @@ cash $$ - Lists whole permission chain with their indexes. You can specify optional page number if there are a lot of permissions + Lists whole permission chain with their indexes. You can specify an optional page number if there are a lot of permissions. `;lp` or `;lp 3` diff --git a/src/NadekoBot/Services/Database/Repositories/IQuoteRepository.cs b/src/NadekoBot/Services/Database/Repositories/IQuoteRepository.cs index 3bbef352..f119fb1e 100644 --- a/src/NadekoBot/Services/Database/Repositories/IQuoteRepository.cs +++ b/src/NadekoBot/Services/Database/Repositories/IQuoteRepository.cs @@ -9,7 +9,7 @@ namespace NadekoBot.Services.Database.Repositories { public interface IQuoteRepository : IRepository { - IEnumerable GetAllQuotesByKeyword(string keyword); + IEnumerable GetAllQuotesByKeyword(ulong guildId, string keyword); Task GetRandomQuoteByKeywordAsync(ulong guildId, string keyword); } } diff --git a/src/NadekoBot/Services/Database/Repositories/Impl/QuoteRepository.cs b/src/NadekoBot/Services/Database/Repositories/Impl/QuoteRepository.cs index 702cfc21..35e9bd0e 100644 --- a/src/NadekoBot/Services/Database/Repositories/Impl/QuoteRepository.cs +++ b/src/NadekoBot/Services/Database/Repositories/Impl/QuoteRepository.cs @@ -15,13 +15,13 @@ namespace NadekoBot.Services.Database.Repositories.Impl { } - public IEnumerable GetAllQuotesByKeyword(string keyword) => - _set.Where(q => q.Keyword == keyword); + public IEnumerable GetAllQuotesByKeyword(ulong guildId, string keyword) => + _set.Where(q => q.GuildId == guildId && q.Keyword == keyword); public Task GetRandomQuoteByKeywordAsync(ulong guildId, string keyword) { var rng = new NadekoRandom(); - return _set.Where(q => q.Keyword == keyword).OrderBy(q => rng.Next()).FirstOrDefaultAsync(); + return _set.Where(q => q.GuildId == guildId && q.Keyword == keyword).OrderBy(q => rng.Next()).FirstOrDefaultAsync(); } } } diff --git a/src/NadekoBot/_Extensions/Extensions.cs b/src/NadekoBot/_Extensions/Extensions.cs index f2c22573..9089646a 100644 --- a/src/NadekoBot/_Extensions/Extensions.cs +++ b/src/NadekoBot/_Extensions/Extensions.cs @@ -23,6 +23,8 @@ namespace NadekoBot.Extensions http.DefaultRequestHeaders.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); } + public static bool IsInteger(this double number) => number == Math.Truncate(number); + public static string SanitizeMentions(this string str) => str.Replace("@everyone", "@everyοne").Replace("@here", "@һere"); From ae8429f0b0d6821dd673a15970fcc4990e61bc97 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 10 Oct 2016 02:40:50 +0200 Subject: [PATCH 078/135] Fixed roles order --- src/NadekoBot/Modules/Utility/Utility.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/NadekoBot/Modules/Utility/Utility.cs b/src/NadekoBot/Modules/Utility/Utility.cs index 6f4848ff..946ee7c1 100644 --- a/src/NadekoBot/Modules/Utility/Utility.cs +++ b/src/NadekoBot/Modules/Utility/Utility.cs @@ -127,11 +127,11 @@ namespace NadekoBot.Modules.Utility return; if (target != null) { - await msg.Reply($"`Page #{page} of roles for **{target.Username}**:` \n• " + string.Join("\n• ", target.Roles.Skip((page-1) * RolesPerPage).Take(RolesPerPage).Except(new[] { guild.EveryoneRole }).OrderBy(r => r.Position)).SanitizeMentions()); + await msg.Reply($"`Page #{page} of roles for **{target.Username}**:` \n• " + string.Join("\n• ", target.Roles.Except(new[] { guild.EveryoneRole }).OrderBy(r => r.Position).Skip((page - 1) * RolesPerPage).Take(RolesPerPage)).SanitizeMentions()); } else { - await msg.Reply($"`Page #{page} of all roles on this server:` \n• " + string.Join("\n• ", guild.Roles.Skip((page - 1) * RolesPerPage).Take(RolesPerPage).Except(new[] { guild.EveryoneRole }).OrderBy(r => r.Position)).SanitizeMentions()); + await msg.Reply($"`Page #{page} of all roles on this server:` \n• " + string.Join("\n• ", guild.Roles.Except(new[] { guild.EveryoneRole }).OrderBy(r => r.Position).Skip((page - 1) * RolesPerPage).Take(RolesPerPage)).SanitizeMentions()); } } From fbd2beb34885210f061e0a5d3407b1ffd658be77 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 10 Oct 2016 02:52:03 +0200 Subject: [PATCH 079/135] Hopefuly fixed convert --- .../Searches/Commands/UnitConversion.cs | 18 +++++++++--------- src/NadekoBot/_Extensions/Extensions.cs | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs b/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs index 9b2da234..53c67413 100644 --- a/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs +++ b/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs @@ -109,7 +109,7 @@ namespace NadekoBot.Modules.Searches await msg.ReplyLong(sb.ToString(), breakOn: new[] { "```xl\n", "\n" }); } [NadekoCommand, Usage, Description, Aliases] - public async Task Convert(IUserMessage msg, string origin, string target, double value) + public async Task Convert(IUserMessage msg, string origin, string target, decimal value) { var originUnit = Units.Find(x => x.Triggers.Select(y => y.ToLowerInvariant()).Contains(origin.ToLowerInvariant())); var targetUnit = Units.Find(x => x.Triggers.Select(y => y.ToLowerInvariant()).Contains(target.ToLowerInvariant())); @@ -123,7 +123,7 @@ namespace NadekoBot.Modules.Searches await msg.Reply(string.Format("Cannot convert {0} to {1}: types of unit are not equal", originUnit.Triggers.First(), targetUnit.Triggers.First())); return; } - double res; + decimal res; if (originUnit.Triggers == targetUnit.Triggers) res = value; else if (originUnit.UnitType == "temperature") { @@ -131,10 +131,10 @@ namespace NadekoBot.Modules.Searches switch (originUnit.Triggers.First().ToUpperInvariant()) { case "C": - res = value + 273.15; //celcius! + res = value + 273.15m; //celcius! break; case "F": - res = (value + 459.67) * (5 / 9); + res = (value + 459.67m) * (5 / 9); break; default: res = value; @@ -144,10 +144,10 @@ namespace NadekoBot.Modules.Searches switch (targetUnit.Triggers.First()) { case "C": - res = value - 273.15; //celcius! + res = value - 273.15m; //celcius! break; case "F": - res = res * (9 / 5) - 458.67; + res = res * (9 / 5) - 458.67m; break; default: break; @@ -157,14 +157,14 @@ namespace NadekoBot.Modules.Searches { if (originUnit.UnitType == "currency") { - res = (value * (double)targetUnit.Modifier) / (double)originUnit.Modifier; + res = (value * targetUnit.Modifier) / originUnit.Modifier; } else - res = (value * (double)originUnit.Modifier) / (double)targetUnit.Modifier; + res = (value * originUnit.Modifier) / targetUnit.Modifier; } res = Math.Round(res, 2); - await msg.Reply(string.Format("{0} {1}s is equal to {2} {3}s", value, originUnit.Triggers.First().SnPl(value.IsInteger() ? (int)value : 2), res, targetUnit.Triggers.First().SnPl(res.IsInteger() ? (int)res : 2))); + await msg.Reply(string.Format("{0} {1} is equal to {2} {3}", value, (originUnit.Triggers.First() + "s").SnPl(value.IsInteger() ? (int)value : 2), res, (targetUnit.Triggers.First() + "s").SnPl(res.IsInteger() ? (int)res : 2))); } } diff --git a/src/NadekoBot/_Extensions/Extensions.cs b/src/NadekoBot/_Extensions/Extensions.cs index 9089646a..d73eab9b 100644 --- a/src/NadekoBot/_Extensions/Extensions.cs +++ b/src/NadekoBot/_Extensions/Extensions.cs @@ -23,7 +23,7 @@ namespace NadekoBot.Extensions http.DefaultRequestHeaders.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); } - public static bool IsInteger(this double number) => number == Math.Truncate(number); + public static bool IsInteger(this decimal number) => number == Math.Truncate(number); public static string SanitizeMentions(this string str) => str.Replace("@everyone", "@everyοne").Replace("@here", "@һere"); From 482d1a8fb44b9b3d6668cd3f7183cf048934f5bf Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 10 Oct 2016 03:02:42 +0200 Subject: [PATCH 080/135] Moved .convert and .calc to Utility, updated descriptions to match prefix --- .../Modules/Searches/Commands/CalcCommand.cs | 67 ------- .../Commands/Models/MeasurementUnit.cs | 11 -- .../Modules/Searches/Commands/Models/Rates.cs | 14 -- .../Searches/Commands/UnitConversion.cs | 180 ------------------ .../Resources/CommandStrings.Designer.cs | 10 +- src/NadekoBot/Resources/CommandStrings.resx | 10 +- 6 files changed, 10 insertions(+), 282 deletions(-) delete mode 100644 src/NadekoBot/Modules/Searches/Commands/CalcCommand.cs delete mode 100644 src/NadekoBot/Modules/Searches/Commands/Models/MeasurementUnit.cs delete mode 100644 src/NadekoBot/Modules/Searches/Commands/Models/Rates.cs delete mode 100644 src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs diff --git a/src/NadekoBot/Modules/Searches/Commands/CalcCommand.cs b/src/NadekoBot/Modules/Searches/Commands/CalcCommand.cs deleted file mode 100644 index f9edac0c..00000000 --- a/src/NadekoBot/Modules/Searches/Commands/CalcCommand.cs +++ /dev/null @@ -1,67 +0,0 @@ -using Discord; -using Discord.Commands; -using NadekoBot.Attributes; -using NadekoBot.Extensions; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using System.Text; -using System.Threading.Tasks; - -namespace NadekoBot.Modules.Searches -{ - [Group] - public partial class Searches - { - [NadekoCommand, Usage, Description, Aliases] - [RequireContext(ContextType.Guild)] - public static async Task Calculate(IUserMessage msg, [Remainder] string expression) - { - try - { - var expr = new NCalc.Expression(expression, NCalc.EvaluateOptions.IgnoreCase); - expr.EvaluateParameter += Expr_EvaluateParameter; - var result = expr.Evaluate(); - await msg.Reply(string.Format("Your expression evaluated to: {0}", expr.Error ?? result)); - } - catch (Exception e) - { - await msg.Reply($"Your expression failed to evaluate: {e.Message} "); - } - } - - private static void Expr_EvaluateParameter(string name, NCalc.ParameterArgs args) - { - switch (name.ToLowerInvariant()) { - case "pi": args.Result= Math.PI; - break; - case "e": args.Result = Math.E; - break; - } - } - - [NadekoCommand, Usage, Description, Aliases] - [RequireContext(ContextType.Guild)] - public async Task CalcOps(IUserMessage msg) - { - StringBuilder builder = new StringBuilder(); - var selection = typeof(Math).GetTypeInfo().GetMethods().Except(typeof(object).GetTypeInfo().GetMethods()).Select(x => - { - var name = x.Name; - if (x.GetParameters().Any()) - { - name += " (" + string.Join(", ", x.GetParameters().Select(y => y.IsOptional ? $"[{y.ParameterType.Name + " " + y.Name }]" : y.ParameterType.Name + " " + y.Name)) + ")"; - } - return name; - }); - foreach (var method in selection) builder.AppendLine(method); - await msg.ReplyLong(builder.ToString()); - } - } - class ExpressionContext - { - public double Pi { get; set; } = Math.PI; - } - -} diff --git a/src/NadekoBot/Modules/Searches/Commands/Models/MeasurementUnit.cs b/src/NadekoBot/Modules/Searches/Commands/Models/MeasurementUnit.cs deleted file mode 100644 index ba4d1bb7..00000000 --- a/src/NadekoBot/Modules/Searches/Commands/Models/MeasurementUnit.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System.Collections.Generic; - -namespace NadekoBot.Modules.Searches.Commands.Models -{ - public class MeasurementUnit - { - public List Triggers { get; set; } - public string UnitType { get; set; } - public decimal Modifier { get; set; } - } -} diff --git a/src/NadekoBot/Modules/Searches/Commands/Models/Rates.cs b/src/NadekoBot/Modules/Searches/Commands/Models/Rates.cs deleted file mode 100644 index 5aed22fa..00000000 --- a/src/NadekoBot/Modules/Searches/Commands/Models/Rates.cs +++ /dev/null @@ -1,14 +0,0 @@ -using Newtonsoft.Json; -using System; -using System.Collections.Generic; - -namespace NadekoBot.Modules.Searches.Commands.Models -{ - public class Rates - { - public string Base { get; set; } - public DateTime Date { get; set; } - [JsonProperty("rates")] - public Dictionary ConversionRates { get; set; } - } -} diff --git a/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs b/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs deleted file mode 100644 index 53c67413..00000000 --- a/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs +++ /dev/null @@ -1,180 +0,0 @@ -using Discord; -using Discord.Commands; -using NadekoBot.Attributes; -using NadekoBot.Extensions; -using NadekoBot.Modules.Searches.Commands.Models; -using NadekoBot.Services; -using NadekoBot.Services.Database.Models; -using Newtonsoft.Json; -using NLog; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Net.Http; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using System.Xml; - -namespace NadekoBot.Modules.Searches -{ - public partial class Searches - { - [Group] - public class UnitConverterCommands - { - private Logger _log; - private static Timer _timer; - public static TimeSpan Span = new TimeSpan(12, 0, 0); - public UnitConverterCommands() - { - _log = LogManager.GetCurrentClassLogger(); - - try - { - using (var uow = DbHandler.UnitOfWork()) - { - //need to do this the first time - if (uow.ConverterUnits.Empty()) - { - var content = JsonConvert.DeserializeObject>(File.ReadAllText("units.json")).Select(u => new ConvertUnit() - { - Modifier = u.Modifier, - UnitType = u.UnitType, - InternalTrigger = string.Join("|", u.Triggers) - }); - - uow.ConverterUnits.AddRange(content.ToArray()); - uow.Complete(); - } - Units = uow.ConverterUnits.GetAll().ToList(); - } - } - catch (Exception e) - { - _log.Warn("Could not load units: " + e.Message); - } - - - - _timer = new Timer(new TimerCallback(UpdateCurrency), null, 0,(int)Span.TotalMilliseconds); - - } - - public void UpdateCurrency(object stateInfo) - { - var currencyRates = UpdateCurrencyRates().Result; - var unitTypeString = "currency"; - using (var uow = DbHandler.UnitOfWork()) - { - var toRemove = Units.Where(u => u.UnitType == unitTypeString); - Units.RemoveAll(u => u.UnitType == unitTypeString); - uow.ConverterUnits.RemoveRange(toRemove.ToArray()); - var baseType = new ConvertUnit() - { - Triggers = new[] { currencyRates.Base }, - Modifier = decimal.One, - UnitType = unitTypeString - }; - uow.ConverterUnits.Add(baseType); - Units.Add(baseType); - var range = currencyRates.ConversionRates.Select(u => new ConvertUnit() - { - InternalTrigger = u.Key, - Modifier = u.Value, - UnitType = unitTypeString - }).ToArray(); - uow.ConverterUnits.AddRange(range); - Units.AddRange(range); - - uow.Complete(); - } - _log.Info("Updated Currency"); - } - - public List Units { get; set; } - [NadekoCommand, Usage, Description, Aliases] - [RequireContext(ContextType.Guild)] - public async Task ConvertList(IUserMessage msg) - { - var sb = new StringBuilder("Units that can be used by the converter: \n"); - var res = Units.GroupBy(x => x.UnitType); - foreach (var group in res) - { - sb.AppendLine($"{group.Key}: ```xl"); - sb.AppendLine(string.Join(",", group.Select(x => x.Triggers.FirstOrDefault()).OrderBy(x => x))); - sb.AppendLine("```"); - } - await msg.ReplyLong(sb.ToString(), breakOn: new[] { "```xl\n", "\n" }); - } - [NadekoCommand, Usage, Description, Aliases] - public async Task Convert(IUserMessage msg, string origin, string target, decimal value) - { - var originUnit = Units.Find(x => x.Triggers.Select(y => y.ToLowerInvariant()).Contains(origin.ToLowerInvariant())); - var targetUnit = Units.Find(x => x.Triggers.Select(y => y.ToLowerInvariant()).Contains(target.ToLowerInvariant())); - if (originUnit == null || targetUnit == null) - { - await msg.Reply(string.Format("Cannot convert {0} to {1}: units not found", origin, target)); - return; - } - if (originUnit.UnitType != targetUnit.UnitType) - { - await msg.Reply(string.Format("Cannot convert {0} to {1}: types of unit are not equal", originUnit.Triggers.First(), targetUnit.Triggers.First())); - return; - } - decimal res; - if (originUnit.Triggers == targetUnit.Triggers) res = value; - else if (originUnit.UnitType == "temperature") - { - //don't really care too much about efficiency, so just convert to Kelvin, then to target - switch (originUnit.Triggers.First().ToUpperInvariant()) - { - case "C": - res = value + 273.15m; //celcius! - break; - case "F": - res = (value + 459.67m) * (5 / 9); - break; - default: - res = value; - break; - } - //from Kelvin to target - switch (targetUnit.Triggers.First()) - { - case "C": - res = value - 273.15m; //celcius! - break; - case "F": - res = res * (9 / 5) - 458.67m; - break; - default: - break; - } - } - else - { - if (originUnit.UnitType == "currency") - { - res = (value * targetUnit.Modifier) / originUnit.Modifier; - } - else - res = (value * originUnit.Modifier) / targetUnit.Modifier; - } - res = Math.Round(res, 2); - - await msg.Reply(string.Format("{0} {1} is equal to {2} {3}", value, (originUnit.Triggers.First() + "s").SnPl(value.IsInteger() ? (int)value : 2), res, (targetUnit.Triggers.First() + "s").SnPl(res.IsInteger() ? (int)res : 2))); - } - } - - public static async Task UpdateCurrencyRates() - { - using (var http = new HttpClient()) - { - var res = await http.GetStringAsync("http://api.fixer.io/latest").ConfigureAwait(false); - return JsonConvert.DeserializeObject(res); - } - } - } -} \ No newline at end of file diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index 6e1cb268..7e59fb43 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -807,7 +807,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `~calcops`. + /// Looks up a localized string similar to `.calcops`. /// public static string calcops_usage { get { @@ -834,7 +834,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `~calc 1+1`. + /// Looks up a localized string similar to `.calc 1+1`. /// public static string calculate_usage { get { @@ -1554,7 +1554,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Convert quantities. Use `~convertlist` to see supported dimensions and currencies.. + /// Looks up a localized string similar to Convert quantities. Use `.convertlist` to see supported dimensions and currencies.. /// public static string convert_desc { get { @@ -1563,7 +1563,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `~convert m km 1000`. + /// Looks up a localized string similar to `.convert m km 1000`. /// public static string convert_usage { get { @@ -1590,7 +1590,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to `~convertlist`. + /// Looks up a localized string similar to `.convertlist`. /// public static string convertlist_usage { get { diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index 65d8b9ff..730b3399 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -1921,10 +1921,10 @@ convert - Convert quantities. Use `~convertlist` to see supported dimensions and currencies. + Convert quantities. Use `.convertlist` to see supported dimensions and currencies. - `~convert m km 1000` + `.convert m km 1000` convertlist @@ -1933,7 +1933,7 @@ List of the convertible dimensions and currencies. - `~convertlist` + `.convertlist` wowjoke @@ -1951,7 +1951,7 @@ Evaluate a mathematical expression. - `~calc 1+1` + `.calc 1+1` osu @@ -2515,7 +2515,7 @@ Shows all available operations in .calc command - `~calcops` + `.calcops` calcops From 0470f634d00694c3a24612a61677c41594e5076d Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 10 Oct 2016 03:12:37 +0200 Subject: [PATCH 081/135] Updated ;cfi and cfw descriptions to say they don't affect bot owner, fixed .convert and .calc? --- .../Modules/Utility/Commands/CalcCommand.cs | 67 +++++++ .../Utility/Commands/UnitConversion.cs | 180 ++++++++++++++++++ .../Modules/Utility/Models/MeasurementUnit.cs | 11 ++ src/NadekoBot/Modules/Utility/Models/Rates.cs | 14 ++ .../Resources/CommandStrings.Designer.cs | 10 +- src/NadekoBot/Resources/CommandStrings.resx | 10 +- 6 files changed, 282 insertions(+), 10 deletions(-) create mode 100644 src/NadekoBot/Modules/Utility/Commands/CalcCommand.cs create mode 100644 src/NadekoBot/Modules/Utility/Commands/UnitConversion.cs create mode 100644 src/NadekoBot/Modules/Utility/Models/MeasurementUnit.cs create mode 100644 src/NadekoBot/Modules/Utility/Models/Rates.cs diff --git a/src/NadekoBot/Modules/Utility/Commands/CalcCommand.cs b/src/NadekoBot/Modules/Utility/Commands/CalcCommand.cs new file mode 100644 index 00000000..e3ad166b --- /dev/null +++ b/src/NadekoBot/Modules/Utility/Commands/CalcCommand.cs @@ -0,0 +1,67 @@ +using Discord; +using Discord.Commands; +using NadekoBot.Attributes; +using NadekoBot.Extensions; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading.Tasks; + +namespace NadekoBot.Modules.Utility +{ + [Group] + public partial class Utility + { + [NadekoCommand, Usage, Description, Aliases] + [RequireContext(ContextType.Guild)] + public static async Task Calculate(IUserMessage msg, [Remainder] string expression) + { + try + { + var expr = new NCalc.Expression(expression, NCalc.EvaluateOptions.IgnoreCase); + expr.EvaluateParameter += Expr_EvaluateParameter; + var result = expr.Evaluate(); + await msg.Reply(string.Format("Your expression evaluated to: {0}", expr.Error ?? result)); + } + catch (Exception e) + { + await msg.Reply($"Your expression failed to evaluate: {e.Message} "); + } + } + + private static void Expr_EvaluateParameter(string name, NCalc.ParameterArgs args) + { + switch (name.ToLowerInvariant()) { + case "pi": args.Result= Math.PI; + break; + case "e": args.Result = Math.E; + break; + } + } + + [NadekoCommand, Usage, Description, Aliases] + [RequireContext(ContextType.Guild)] + public async Task CalcOps(IUserMessage msg) + { + StringBuilder builder = new StringBuilder(); + var selection = typeof(Math).GetTypeInfo().GetMethods().Except(typeof(object).GetTypeInfo().GetMethods()).Select(x => + { + var name = x.Name; + if (x.GetParameters().Any()) + { + name += " (" + string.Join(", ", x.GetParameters().Select(y => y.IsOptional ? $"[{y.ParameterType.Name + " " + y.Name }]" : y.ParameterType.Name + " " + y.Name)) + ")"; + } + return name; + }); + foreach (var method in selection) builder.AppendLine(method); + await msg.ReplyLong(builder.ToString()); + } + } + class ExpressionContext + { + public double Pi { get; set; } = Math.PI; + } + +} diff --git a/src/NadekoBot/Modules/Utility/Commands/UnitConversion.cs b/src/NadekoBot/Modules/Utility/Commands/UnitConversion.cs new file mode 100644 index 00000000..459466bb --- /dev/null +++ b/src/NadekoBot/Modules/Utility/Commands/UnitConversion.cs @@ -0,0 +1,180 @@ +using Discord; +using Discord.Commands; +using NadekoBot.Attributes; +using NadekoBot.Extensions; +using NadekoBot.Modules.Utility.Commands.Models; +using NadekoBot.Services; +using NadekoBot.Services.Database.Models; +using Newtonsoft.Json; +using NLog; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Net.Http; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Xml; + +namespace NadekoBot.Modules.Utility +{ + public partial class Utility + { + [Group] + public class UnitConverterCommands + { + private Logger _log; + private static Timer _timer; + public static TimeSpan Span = new TimeSpan(12, 0, 0); + public UnitConverterCommands() + { + _log = LogManager.GetCurrentClassLogger(); + + try + { + using (var uow = DbHandler.UnitOfWork()) + { + //need to do this the first time + if (uow.ConverterUnits.Empty()) + { + var content = JsonConvert.DeserializeObject>(File.ReadAllText("units.json")).Select(u => new ConvertUnit() + { + Modifier = u.Modifier, + UnitType = u.UnitType, + InternalTrigger = string.Join("|", u.Triggers) + }); + + uow.ConverterUnits.AddRange(content.ToArray()); + uow.Complete(); + } + Units = uow.ConverterUnits.GetAll().ToList(); + } + } + catch (Exception e) + { + _log.Warn("Could not load units: " + e.Message); + } + + + + _timer = new Timer(new TimerCallback(UpdateCurrency), null, 0,(int)Span.TotalMilliseconds); + + } + + public void UpdateCurrency(object stateInfo) + { + var currencyRates = UpdateCurrencyRates().Result; + var unitTypeString = "currency"; + using (var uow = DbHandler.UnitOfWork()) + { + var toRemove = Units.Where(u => u.UnitType == unitTypeString); + Units.RemoveAll(u => u.UnitType == unitTypeString); + uow.ConverterUnits.RemoveRange(toRemove.ToArray()); + var baseType = new ConvertUnit() + { + Triggers = new[] { currencyRates.Base }, + Modifier = decimal.One, + UnitType = unitTypeString + }; + uow.ConverterUnits.Add(baseType); + Units.Add(baseType); + var range = currencyRates.ConversionRates.Select(u => new ConvertUnit() + { + InternalTrigger = u.Key, + Modifier = u.Value, + UnitType = unitTypeString + }).ToArray(); + uow.ConverterUnits.AddRange(range); + Units.AddRange(range); + + uow.Complete(); + } + _log.Info("Updated Currency"); + } + + public List Units { get; set; } + [NadekoCommand, Usage, Description, Aliases] + [RequireContext(ContextType.Guild)] + public async Task ConvertList(IUserMessage msg) + { + var sb = new StringBuilder("Units that can be used by the converter: \n"); + var res = Units.GroupBy(x => x.UnitType); + foreach (var group in res) + { + sb.AppendLine($"{group.Key}: ```xl"); + sb.AppendLine(string.Join(",", group.Select(x => x.Triggers.FirstOrDefault()).OrderBy(x => x))); + sb.AppendLine("```"); + } + await msg.ReplyLong(sb.ToString(), breakOn: new[] { "```xl\n", "\n" }); + } + [NadekoCommand, Usage, Description, Aliases] + public async Task Convert(IUserMessage msg, string origin, string target, decimal value) + { + var originUnit = Units.Find(x => x.Triggers.Select(y => y.ToLowerInvariant()).Contains(origin.ToLowerInvariant())); + var targetUnit = Units.Find(x => x.Triggers.Select(y => y.ToLowerInvariant()).Contains(target.ToLowerInvariant())); + if (originUnit == null || targetUnit == null) + { + await msg.Reply(string.Format("Cannot convert {0} to {1}: units not found", origin, target)); + return; + } + if (originUnit.UnitType != targetUnit.UnitType) + { + await msg.Reply(string.Format("Cannot convert {0} to {1}: types of unit are not equal", originUnit.Triggers.First(), targetUnit.Triggers.First())); + return; + } + decimal res; + if (originUnit.Triggers == targetUnit.Triggers) res = value; + else if (originUnit.UnitType == "temperature") + { + //don't really care too much about efficiency, so just convert to Kelvin, then to target + switch (originUnit.Triggers.First().ToUpperInvariant()) + { + case "C": + res = value + 273.15m; //celcius! + break; + case "F": + res = (value + 459.67m) * (5 / 9); + break; + default: + res = value; + break; + } + //from Kelvin to target + switch (targetUnit.Triggers.First()) + { + case "C": + res = value - 273.15m; //celcius! + break; + case "F": + res = res * (9 / 5) - 458.67m; + break; + default: + break; + } + } + else + { + if (originUnit.UnitType == "currency") + { + res = (value * targetUnit.Modifier) / originUnit.Modifier; + } + else + res = (value * originUnit.Modifier) / targetUnit.Modifier; + } + res = Math.Round(res, 4); + + await msg.Reply(string.Format("{0} {1} is equal to {2} {3}", value, (originUnit.Triggers.First() + "s").SnPl(value.IsInteger() ? (int)value : 2), res, (targetUnit.Triggers.First() + "s").SnPl(res.IsInteger() ? (int)res : 2))); + } + } + + public static async Task UpdateCurrencyRates() + { + using (var http = new HttpClient()) + { + var res = await http.GetStringAsync("http://api.fixer.io/latest").ConfigureAwait(false); + return JsonConvert.DeserializeObject(res); + } + } + } +} \ No newline at end of file diff --git a/src/NadekoBot/Modules/Utility/Models/MeasurementUnit.cs b/src/NadekoBot/Modules/Utility/Models/MeasurementUnit.cs new file mode 100644 index 00000000..017ea8b4 --- /dev/null +++ b/src/NadekoBot/Modules/Utility/Models/MeasurementUnit.cs @@ -0,0 +1,11 @@ +using System.Collections.Generic; + +namespace NadekoBot.Modules.Utility.Commands.Models +{ + public class MeasurementUnit + { + public List Triggers { get; set; } + public string UnitType { get; set; } + public decimal Modifier { get; set; } + } +} diff --git a/src/NadekoBot/Modules/Utility/Models/Rates.cs b/src/NadekoBot/Modules/Utility/Models/Rates.cs new file mode 100644 index 00000000..b460a3c5 --- /dev/null +++ b/src/NadekoBot/Modules/Utility/Models/Rates.cs @@ -0,0 +1,14 @@ +using Newtonsoft.Json; +using System; +using System.Collections.Generic; + +namespace NadekoBot.Modules.Utility.Commands.Models +{ + public class Rates + { + public string Base { get; set; } + public DateTime Date { get; set; } + [JsonProperty("rates")] + public Dictionary ConversionRates { get; set; } + } +} diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index 7e59fb43..45b92683 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -1122,7 +1122,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Toggles automatic deleting of invites posted in the channel. Does not negate the .srvrfilterinv enabled setting.. + /// Looks up a localized string similar to Toggles automatic deleting of invites posted in the channel. Does not negate the .srvrfilterinv enabled setting. Does not affect Bot Owner.. /// public static string chnlfilterinv_desc { get { @@ -1149,7 +1149,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Toggles automatic deleting of messages containing banned words on the channel. Does not negate the .srvrfilterwords enabled setting.. + /// Looks up a localized string similar to Toggles automatic deleting of messages containing banned words on the channel. Does not negate the .srvrfilterwords enabled setting. Does not affect bot owner.. /// public static string chnlfilterwords_desc { get { @@ -2310,7 +2310,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Adds or removes (if it exists) a word from the list of filtered words.. + /// Looks up a localized string similar to Adds or removes (if it exists) a word from the list of filtered words. Use` ;sfw` or `;cfw` to toggle filtering.. /// public static string filterword_desc { get { @@ -6387,7 +6387,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Toggles automatic deleting of invites posted in the server.. + /// Looks up a localized string similar to Toggles automatic deleting of invites posted in the server. Does not affect Bot Owner.. /// public static string srvrfilterinv_desc { get { @@ -6414,7 +6414,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Toggles automatic deleting of messages containing forbidden words on the server.. + /// Looks up a localized string similar to Toggles automatic deleting of messages containing forbidden words on the server. Does not affect Bot Owner.. /// public static string srvrfilterwords_desc { get { diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index 730b3399..8af562f3 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -958,7 +958,7 @@ chnlfilterinv cfi - Toggles automatic deleting of invites posted in the channel. Does not negate the .srvrfilterinv enabled setting. + Toggles automatic deleting of invites posted in the channel. Does not negate the .srvrfilterinv enabled setting. Does not affect Bot Owner. `;cfi` @@ -967,7 +967,7 @@ srvrfilterinv sfi - Toggles automatic deleting of invites posted in the server. + Toggles automatic deleting of invites posted in the server. Does not affect Bot Owner. `;sfi` @@ -976,7 +976,7 @@ chnlfilterwords cfw - Toggles automatic deleting of messages containing banned words on the channel. Does not negate the .srvrfilterwords enabled setting. + Toggles automatic deleting of messages containing banned words on the channel. Does not negate the .srvrfilterwords enabled setting. Does not affect bot owner. `;cfw` @@ -985,7 +985,7 @@ fw - Adds or removes (if it exists) a word from the list of filtered words. + Adds or removes (if it exists) a word from the list of filtered words. Use` ;sfw` or `;cfw` to toggle filtering. `;fw poop` @@ -1003,7 +1003,7 @@ srvrfilterwords sfw - Toggles automatic deleting of messages containing forbidden words on the server. + Toggles automatic deleting of messages containing forbidden words on the server. Does not affect Bot Owner. `;sfw` From fae2829a688fe08973b6858ed19217496e0f8b62 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 10 Oct 2016 03:26:51 +0200 Subject: [PATCH 082/135] Fixed convert for temperature --- src/NadekoBot/Modules/Utility/Commands/UnitConversion.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/NadekoBot/Modules/Utility/Commands/UnitConversion.cs b/src/NadekoBot/Modules/Utility/Commands/UnitConversion.cs index 459466bb..ead333ca 100644 --- a/src/NadekoBot/Modules/Utility/Commands/UnitConversion.cs +++ b/src/NadekoBot/Modules/Utility/Commands/UnitConversion.cs @@ -134,7 +134,7 @@ namespace NadekoBot.Modules.Utility res = value + 273.15m; //celcius! break; case "F": - res = (value + 459.67m) * (5 / 9); + res = (value + 459.67m) * (5m / 9m); break; default: res = value; @@ -147,7 +147,7 @@ namespace NadekoBot.Modules.Utility res = value - 273.15m; //celcius! break; case "F": - res = res * (9 / 5) - 458.67m; + res = res * (9m / 5m) - 459.67m; break; default: break; From bd1efc6f75b78b2bd72a8f2d986f5e997ac66526 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 10 Oct 2016 05:04:50 +0200 Subject: [PATCH 083/135] Custom reaction trigger fix, translate moved to searches module, removed translator module --- src/NadekoBot/Modules/CustomReactions/CustomReactions.cs | 9 ++++++--- .../Commands}/GoogleTranslator.cs | 2 +- .../{Translator => Searches/Commands}/Translator.cs | 9 ++------- 3 files changed, 9 insertions(+), 11 deletions(-) rename src/NadekoBot/Modules/{Translator => Searches/Commands}/GoogleTranslator.cs (99%) rename src/NadekoBot/Modules/{Translator => Searches/Commands}/Translator.cs (86%) diff --git a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs index 1df05284..44a14738 100644 --- a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs +++ b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs @@ -42,18 +42,19 @@ namespace NadekoBot.Modules.CustomReactions var t = Task.Run(async () => { + var content = umsg.Content.ToLowerInvariant(); HashSet reactions; GuildReactions.TryGetValue(channel.Guild.Id, out reactions); if (reactions != null && reactions.Any()) { - var reaction = reactions.Where(cr => cr.TriggerWithContext(umsg) == umsg.Content).Shuffle().FirstOrDefault(); + var reaction = reactions.Where(cr => cr.TriggerWithContext(umsg) == content).Shuffle().FirstOrDefault(); if (reaction != null) { try { await channel.SendMessageAsync(reaction.ResponseWithContext(umsg)).ConfigureAwait(false); } catch { } return; } } - var greaction = GlobalReactions.Where(cr => cr.TriggerWithContext(umsg) == umsg.Content).Shuffle().FirstOrDefault(); + var greaction = GlobalReactions.Where(cr => cr.TriggerWithContext(umsg) == content).Shuffle().FirstOrDefault(); if (greaction != null) { try { await channel.SendMessageAsync(greaction.ResponseWithContext(umsg)).ConfigureAwait(false); } catch { } @@ -71,6 +72,8 @@ namespace NadekoBot.Modules.CustomReactions if (string.IsNullOrWhiteSpace(message) || string.IsNullOrWhiteSpace(key)) return; + key = key.ToLowerInvariant(); + if ((channel == null && !NadekoBot.Credentials.IsOwner(imsg.Author)) || (channel != null && !((IGuildUser)imsg.Author).GuildPermissions.Administrator)) { try { await imsg.Channel.SendMessageAsync("Insufficient permissions. Requires Bot ownership for global custom reactions, and Administrator for guild custom reactions."); } catch { } @@ -81,7 +84,7 @@ namespace NadekoBot.Modules.CustomReactions { GuildId = channel?.Guild.Id, IsRegex = false, - Trigger = key.ToLowerInvariant(), + Trigger = key, Response = message, }; diff --git a/src/NadekoBot/Modules/Translator/GoogleTranslator.cs b/src/NadekoBot/Modules/Searches/Commands/GoogleTranslator.cs similarity index 99% rename from src/NadekoBot/Modules/Translator/GoogleTranslator.cs rename to src/NadekoBot/Modules/Searches/Commands/GoogleTranslator.cs index 7421db47..769d2a80 100644 --- a/src/NadekoBot/Modules/Translator/GoogleTranslator.cs +++ b/src/NadekoBot/Modules/Searches/Commands/GoogleTranslator.cs @@ -5,7 +5,7 @@ using System.Net; using System.Net.Http; using System.Threading.Tasks; -namespace NadekoBot.Modules.Translator +namespace NadekoBot.Modules.Searches { public class GoogleTranslator { diff --git a/src/NadekoBot/Modules/Translator/Translator.cs b/src/NadekoBot/Modules/Searches/Commands/Translator.cs similarity index 86% rename from src/NadekoBot/Modules/Translator/Translator.cs rename to src/NadekoBot/Modules/Searches/Commands/Translator.cs index d13cdb54..07d36f91 100644 --- a/src/NadekoBot/Modules/Translator/Translator.cs +++ b/src/NadekoBot/Modules/Searches/Commands/Translator.cs @@ -7,15 +7,10 @@ using System.Threading.Tasks; using NadekoBot.Services; using Discord.WebSocket; -namespace NadekoBot.Modules.Translator +namespace NadekoBot.Modules.Searches { - [NadekoModule("Translator", "~")] - public class Translator : DiscordModule + public partial class Searches { - public Translator(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) - { - } - [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task Translate(IUserMessage umsg, string langs, [Remainder] string text = null) From aa96ed884ebf5c5ed4621843da77a45f87ea2c48 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 10 Oct 2016 05:22:41 +0200 Subject: [PATCH 084/135] dcr no longer requires a bot restart --- src/NadekoBot/Modules/CustomReactions/CustomReactions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs index 44a14738..7d1b2673 100644 --- a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs +++ b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs @@ -150,7 +150,7 @@ namespace NadekoBot.Modules.CustomReactions if (toDelete.GuildId == null && channel == null) { uow.CustomReactions.Remove(toDelete); - + GlobalReactions.RemoveWhere(cr => cr.Id == toDelete.Id); success = true; } else if (toDelete.GuildId != null && channel?.Guild.Id == toDelete.GuildId) From e251e4ec5ab27d3c1445a52bcc07967b871968dd Mon Sep 17 00:00:00 2001 From: Jordan Fearnley Date: Mon, 10 Oct 2016 04:56:51 +0100 Subject: [PATCH 085/135] Update the Custom Reactions Guide for 1.0 Sorry Nekai, I kinda made it less creative ;_; Please rip me to shreds if I made any mistakes --- docs/Custom Reactions.md | 69 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 docs/Custom Reactions.md diff --git a/docs/Custom Reactions.md b/docs/Custom Reactions.md new file mode 100644 index 00000000..49e365ac --- /dev/null +++ b/docs/Custom Reactions.md @@ -0,0 +1,69 @@ +##Custom Reactions +

Important

+
    +
  • For modifying global custom reactions, the ones which will work across all the servers your bot is connected to, you must be a Bot Owner.
    You must also use the commands for adding, deleting and listing these reactions in a direct message with the bot.
  • +
  • For modifying local custom reactions, the ones which will only work on the server that they are added on, require you to have the Administrator permission.
    You must also use the commands for adding, deleting and listing these reactions in the server you want the custom reactions to work on.
  • +
+###Commands and Their Use + + + + + + + + + + + + + + + + + + + + + +
Command NameDescriptionExample
.acrAdd a custom reaction with a trigger and a response. Running this command in a server requries the Administrator permission. Running this command in DM is Bot Owner only, and adds a new global custom reaction. Guide here: http://nadekobot.readthedocs.io/en/1.0/Custom Reactions/.acr "hello" Hi there, %user%!
.lcrLists a page of global or server custom reactions (15 reactions per page). Running this command in a DM will list the global custom reactions, while running it in a server will list that server's custom reactions..lcr 1
.dcrDeletes a custom reaction based on the provided index. Running this command in a server requires the Administrator permission. Running this command in DM is Bot Owner only, and will delete a global custom reaction..dcr 5
+ +

Now that we know the commands let's take a look at an example of adding a command with .acr,

+

.acr "Nice Weather" It sure is, %user%!

+

This command can be split into two different arguments:

  • The trigger "Nice Weather"
  • And the response, It sure is, %user%!

+

Because we wanted the trigger to be more than one word, we had to wrap it with quotation marks, "Like this" otherwise, only the first word would have been recognised as the trigger, and the second word would have been recognised as part of the response.

+

There's no special requirement for the formatting of the response, so we could just write it in exactly the same way we want it to respond, albeit with a placeholder - which will be explained in this next section

+ +###Placeholders! +

There are currently three different placeholders which we will look at, with more placeholders potentially coming in the future.

+ + + + + + + + + + + + + + + + + + + + + + +
PlaceholderHow the placeholder worksExamples
%mention%The %mention% placeholder is triggered when you type @botname - It's important to note that if you've given the bot a nickname, this trigger won't work!.acr "%mention% Hello" Hello! > User input: @botname Hello | Bot Replies: Hello!
%user%The %user% placeholder mentions the person who said the command.acr "Who am I" You are %user%!
%rng%The %rng% generates a random number between 0 and 10.acr Random %rng% +
+ + Thanks to Nekai for being creative. <3 From e60034728c036a8ae3d0af12f1b30e18aa2bc7ce Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 10 Oct 2016 06:12:22 +0200 Subject: [PATCH 086/135] Replaced all hashsets which are used concurrently to Concurrent hashsets, some slight db tweaks --- .../DataStructures/ConcurrentHashSet.cs | 761 ++++++++++++++++++ .../DataStructures/PlatformHelper.cs | 25 + .../Commands/CrossServerTextChannel.cs | 8 +- .../Administration/Commands/Migration.cs | 7 +- .../Commands/SelfAssignedRolesCommand.cs | 3 +- .../CustomReactions/CustomReactions.cs | 23 +- .../Commands/Trivia/TriviaQuestionPool.cs | 5 +- .../Permissions/Commands/BlacklistCommands.cs | 9 +- .../Permissions/Commands/CmdCdsCommands.cs | 16 +- .../Permissions/Commands/FilterCommands.cs | 34 +- .../Searches/Commands/IMDB/ImdbScraper.cs | 5 +- .../Services/Database/Models/BotConfig.cs | 7 +- .../Services/Database/Models/GuildConfig.cs | 9 +- .../Services/Database/Models/LogSetting.cs | 3 +- .../Services/Database/NadekoContext.cs | 6 +- src/NadekoBot/data/typing_articles.json | 361 +++++++++ 16 files changed, 1219 insertions(+), 63 deletions(-) create mode 100644 src/NadekoBot/DataStructures/ConcurrentHashSet.cs create mode 100644 src/NadekoBot/DataStructures/PlatformHelper.cs create mode 100644 src/NadekoBot/data/typing_articles.json diff --git a/src/NadekoBot/DataStructures/ConcurrentHashSet.cs b/src/NadekoBot/DataStructures/ConcurrentHashSet.cs new file mode 100644 index 00000000..b29a8842 --- /dev/null +++ b/src/NadekoBot/DataStructures/ConcurrentHashSet.cs @@ -0,0 +1,761 @@ +// License MIT +// Source: https://github.com/i3arnon/ConcurrentHashSet + +using ConcurrentCollections; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Diagnostics; +using System.Threading; + +namespace System.Collections.Concurrent +{ + /// + /// Represents a thread-safe hash-based unique collection. + /// + /// The type of the items in the collection. + /// + /// All public members of are thread-safe and may be used + /// concurrently from multiple threads. + /// + [DebuggerDisplay("Count = {Count}")] + public sealed class ConcurrentHashSet : IReadOnlyCollection, ICollection + { + private const int DefaultCapacity = 31; + private const int MaxLockNumber = 1024; + + private readonly IEqualityComparer _comparer; + private readonly bool _growLockArray; + + private int _budget; + private volatile Tables _tables; + + private static int DefaultConcurrencyLevel => PlatformHelper.ProcessorCount; + + /// + /// Gets the number of items contained in the . + /// + /// The number of items contained in the . + /// Count has snapshot semantics and represents the number of items in the + /// at the moment when Count was accessed. + public int Count { + get { + var count = 0; + var acquiredLocks = 0; + try + { + AcquireAllLocks(ref acquiredLocks); + + for (var i = 0; i < _tables.CountPerLock.Length; i++) + { + count += _tables.CountPerLock[i]; + } + } + finally + { + ReleaseLocks(0, acquiredLocks); + } + + return count; + } + } + + /// + /// Gets a value that indicates whether the is empty. + /// + /// true if the is empty; otherwise, + /// false. + public bool IsEmpty { + get { + var acquiredLocks = 0; + try + { + AcquireAllLocks(ref acquiredLocks); + + for (var i = 0; i < _tables.CountPerLock.Length; i++) + { + if (_tables.CountPerLock[i] != 0) + { + return false; + } + } + } + finally + { + ReleaseLocks(0, acquiredLocks); + } + + return true; + } + } + + /// + /// Initializes a new instance of the + /// class that is empty, has the default concurrency level, has the default initial capacity, and + /// uses the default comparer for the item type. + /// + public ConcurrentHashSet() + : this(DefaultConcurrencyLevel, DefaultCapacity, true, EqualityComparer.Default) + { + } + + /// + /// Initializes a new instance of the + /// class that is empty, has the specified concurrency level and capacity, and uses the default + /// comparer for the item type. + /// + /// The estimated number of threads that will update the + /// concurrently. + /// The initial number of elements that the + /// can contain. + /// is + /// less than 1. + /// is less than + /// 0. + public ConcurrentHashSet(int concurrencyLevel, int capacity) + : this(concurrencyLevel, capacity, false, EqualityComparer.Default) + { + } + + /// + /// Initializes a new instance of the + /// class that contains elements copied from the specified , has the default concurrency + /// level, has the default initial capacity, and uses the default comparer for the item type. + /// + /// The whose elements are copied to + /// the new + /// . + /// is a null reference. + public ConcurrentHashSet(IEnumerable collection) + : this(collection, EqualityComparer.Default) + { + } + + /// + /// Initializes a new instance of the + /// class that is empty, has the specified concurrency level and capacity, and uses the specified + /// . + /// + /// The + /// implementation to use when comparing items. + /// is a null reference. + public ConcurrentHashSet(IEqualityComparer comparer) + : this(DefaultConcurrencyLevel, DefaultCapacity, true, comparer) + { + } + + /// + /// Initializes a new instance of the + /// class that contains elements copied from the specified , has the default concurrency level, has the default + /// initial capacity, and uses the specified + /// . + /// + /// The whose elements are copied to + /// the new + /// . + /// The + /// implementation to use when comparing items. + /// is a null reference + /// (Nothing in Visual Basic). -or- + /// is a null reference (Nothing in Visual Basic). + /// + public ConcurrentHashSet(IEnumerable collection, IEqualityComparer comparer) + : this(comparer) + { + if (collection == null) throw new ArgumentNullException(nameof(collection)); + + InitializeFromCollection(collection); + } + + + /// + /// Initializes a new instance of the + /// class that contains elements copied from the specified , + /// has the specified concurrency level, has the specified initial capacity, and uses the specified + /// . + /// + /// The estimated number of threads that will update the + /// concurrently. + /// The whose elements are copied to the new + /// . + /// The implementation to use + /// when comparing items. + /// + /// is a null reference. + /// -or- + /// is a null reference. + /// + /// + /// is less than 1. + /// + public ConcurrentHashSet(int concurrencyLevel, IEnumerable collection, IEqualityComparer comparer) + : this(concurrencyLevel, DefaultCapacity, false, comparer) + { + if (collection == null) throw new ArgumentNullException(nameof(collection)); + if (comparer == null) throw new ArgumentNullException(nameof(comparer)); + + InitializeFromCollection(collection); + } + + /// + /// Initializes a new instance of the + /// class that is empty, has the specified concurrency level, has the specified initial capacity, and + /// uses the specified . + /// + /// The estimated number of threads that will update the + /// concurrently. + /// The initial number of elements that the + /// can contain. + /// The + /// implementation to use when comparing items. + /// + /// is less than 1. -or- + /// is less than 0. + /// + /// is a null reference. + public ConcurrentHashSet(int concurrencyLevel, int capacity, IEqualityComparer comparer) + : this(concurrencyLevel, capacity, false, comparer) + { + } + + private ConcurrentHashSet(int concurrencyLevel, int capacity, bool growLockArray, IEqualityComparer comparer) + { + if (concurrencyLevel < 1) throw new ArgumentOutOfRangeException(nameof(concurrencyLevel)); + if (capacity < 0) throw new ArgumentOutOfRangeException(nameof(capacity)); + if (comparer == null) throw new ArgumentNullException(nameof(comparer)); + + // The capacity should be at least as large as the concurrency level. Otherwise, we would have locks that don't guard + // any buckets. + if (capacity < concurrencyLevel) + { + capacity = concurrencyLevel; + } + + var locks = new object[concurrencyLevel]; + for (var i = 0; i < locks.Length; i++) + { + locks[i] = new object(); + } + + var countPerLock = new int[locks.Length]; + var buckets = new Node[capacity]; + _tables = new Tables(buckets, locks, countPerLock); + + _growLockArray = growLockArray; + _budget = buckets.Length / locks.Length; + _comparer = comparer; + } + + /// + /// Adds the specified item to the . + /// + /// The item to add. + /// true if the items was added to the + /// successfully; false if it already exists. + /// The + /// contains too many items. + public bool Add(T item) => + AddInternal(item, _comparer.GetHashCode(item), true); + + /// + /// Removes all items from the . + /// + public void Clear() + { + var locksAcquired = 0; + try + { + AcquireAllLocks(ref locksAcquired); + + var newTables = new Tables(new Node[DefaultCapacity], _tables.Locks, new int[_tables.CountPerLock.Length]); + _tables = newTables; + _budget = Math.Max(1, newTables.Buckets.Length / newTables.Locks.Length); + } + finally + { + ReleaseLocks(0, locksAcquired); + } + } + + /// + /// Determines whether the contains the specified + /// item. + /// + /// The item to locate in the . + /// true if the contains the item; otherwise, false. + public bool Contains(T item) + { + var hashcode = _comparer.GetHashCode(item); + + // We must capture the _buckets field in a local variable. It is set to a new table on each table resize. + var tables = _tables; + + var bucketNo = GetBucket(hashcode, tables.Buckets.Length); + + // We can get away w/out a lock here. + // The Volatile.Read ensures that the load of the fields of 'n' doesn't move before the load from buckets[i]. + var current = Volatile.Read(ref tables.Buckets[bucketNo]); + + while (current != null) + { + if (hashcode == current.Hashcode && _comparer.Equals(current.Item, item)) + { + return true; + } + current = current.Next; + } + + return false; + } + + /// + /// Attempts to remove the item from the . + /// + /// The item to remove. + /// true if an item was removed successfully; otherwise, false. + public bool TryRemove(T item) + { + var hashcode = _comparer.GetHashCode(item); + while (true) + { + var tables = _tables; + + int bucketNo, lockNo; + GetBucketAndLockNo(hashcode, out bucketNo, out lockNo, tables.Buckets.Length, tables.Locks.Length); + + lock (tables.Locks[lockNo]) + { + // If the table just got resized, we may not be holding the right lock, and must retry. + // This should be a rare occurrence. + if (tables != _tables) + { + continue; + } + + Node previous = null; + for (var current = tables.Buckets[bucketNo]; current != null; current = current.Next) + { + Debug.Assert((previous == null && current == tables.Buckets[bucketNo]) || previous.Next == current); + + if (hashcode == current.Hashcode && _comparer.Equals(current.Item, item)) + { + if (previous == null) + { + Volatile.Write(ref tables.Buckets[bucketNo], current.Next); + } + else + { + previous.Next = current.Next; + } + + tables.CountPerLock[lockNo]--; + return true; + } + previous = current; + } + } + + return false; + } + } + + IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); + + /// Returns an enumerator that iterates through the . + /// An enumerator for the . + /// + /// The enumerator returned from the collection is safe to use concurrently with + /// reads and writes to the collection, however it does not represent a moment-in-time snapshot + /// of the collection. The contents exposed through the enumerator may contain modifications + /// made to the collection after was called. + /// + public IEnumerator GetEnumerator() + { + var buckets = _tables.Buckets; + + for (var i = 0; i < buckets.Length; i++) + { + // The Volatile.Read ensures that the load of the fields of 'current' doesn't move before the load from buckets[i]. + var current = Volatile.Read(ref buckets[i]); + + while (current != null) + { + yield return current.Item; + current = current.Next; + } + } + } + + void ICollection.Add(T item) => Add(item); + + bool ICollection.IsReadOnly => false; + + void ICollection.CopyTo(T[] array, int arrayIndex) + { + if (array == null) throw new ArgumentNullException(nameof(array)); + if (arrayIndex < 0) throw new ArgumentOutOfRangeException(nameof(arrayIndex)); + + var locksAcquired = 0; + try + { + AcquireAllLocks(ref locksAcquired); + + var count = 0; + + for (var i = 0; i < _tables.Locks.Length && count >= 0; i++) + { + count += _tables.CountPerLock[i]; + } + + if (array.Length - count < arrayIndex || count < 0) //"count" itself or "count + arrayIndex" can overflow + { + throw new ArgumentException("The index is equal to or greater than the length of the array, or the number of elements in the set is greater than the available space from index to the end of the destination array."); + } + + CopyToItems(array, arrayIndex); + } + finally + { + ReleaseLocks(0, locksAcquired); + } + } + + bool ICollection.Remove(T item) => TryRemove(item); + + private void InitializeFromCollection(IEnumerable collection) + { + foreach (var item in collection) + { + AddInternal(item, _comparer.GetHashCode(item), false); + } + + if (_budget == 0) + { + _budget = _tables.Buckets.Length / _tables.Locks.Length; + } + } + + private bool AddInternal(T item, int hashcode, bool acquireLock) + { + while (true) + { + int bucketNo, lockNo; + + var tables = _tables; + GetBucketAndLockNo(hashcode, out bucketNo, out lockNo, tables.Buckets.Length, tables.Locks.Length); + + var resizeDesired = false; + var lockTaken = false; + try + { + if (acquireLock) + Monitor.Enter(tables.Locks[lockNo], ref lockTaken); + + // If the table just got resized, we may not be holding the right lock, and must retry. + // This should be a rare occurrence. + if (tables != _tables) + { + continue; + } + + // Try to find this item in the bucket + Node previous = null; + for (var current = tables.Buckets[bucketNo]; current != null; current = current.Next) + { + Debug.Assert((previous == null && current == tables.Buckets[bucketNo]) || previous.Next == current); + if (hashcode == current.Hashcode && _comparer.Equals(current.Item, item)) + { + return false; + } + previous = current; + } + + // The item was not found in the bucket. Insert the new item. + Volatile.Write(ref tables.Buckets[bucketNo], new Node(item, hashcode, tables.Buckets[bucketNo])); + checked + { + tables.CountPerLock[lockNo]++; + } + + // + // If the number of elements guarded by this lock has exceeded the budget, resize the bucket table. + // It is also possible that GrowTable will increase the budget but won't resize the bucket table. + // That happens if the bucket table is found to be poorly utilized due to a bad hash function. + // + if (tables.CountPerLock[lockNo] > _budget) + { + resizeDesired = true; + } + } + finally + { + if (lockTaken) + Monitor.Exit(tables.Locks[lockNo]); + } + + // + // The fact that we got here means that we just performed an insertion. If necessary, we will grow the table. + // + // Concurrency notes: + // - Notice that we are not holding any locks at when calling GrowTable. This is necessary to prevent deadlocks. + // - As a result, it is possible that GrowTable will be called unnecessarily. But, GrowTable will obtain lock 0 + // and then verify that the table we passed to it as the argument is still the current table. + // + if (resizeDesired) + { + GrowTable(tables); + } + + return true; + } + } + + private static int GetBucket(int hashcode, int bucketCount) + { + var bucketNo = (hashcode & 0x7fffffff) % bucketCount; + Debug.Assert(bucketNo >= 0 && bucketNo < bucketCount); + return bucketNo; + } + + private static void GetBucketAndLockNo(int hashcode, out int bucketNo, out int lockNo, int bucketCount, int lockCount) + { + bucketNo = (hashcode & 0x7fffffff) % bucketCount; + lockNo = bucketNo % lockCount; + + Debug.Assert(bucketNo >= 0 && bucketNo < bucketCount); + Debug.Assert(lockNo >= 0 && lockNo < lockCount); + } + + private void GrowTable(Tables tables) + { + const int maxArrayLength = 0X7FEFFFFF; + var locksAcquired = 0; + try + { + // The thread that first obtains _locks[0] will be the one doing the resize operation + AcquireLocks(0, 1, ref locksAcquired); + + // Make sure nobody resized the table while we were waiting for lock 0: + if (tables != _tables) + { + // We assume that since the table reference is different, it was already resized (or the budget + // was adjusted). If we ever decide to do table shrinking, or replace the table for other reasons, + // we will have to revisit this logic. + return; + } + + // Compute the (approx.) total size. Use an Int64 accumulation variable to avoid an overflow. + long approxCount = 0; + for (var i = 0; i < tables.CountPerLock.Length; i++) + { + approxCount += tables.CountPerLock[i]; + } + + // + // If the bucket array is too empty, double the budget instead of resizing the table + // + if (approxCount < tables.Buckets.Length / 4) + { + _budget = 2 * _budget; + if (_budget < 0) + { + _budget = int.MaxValue; + } + return; + } + + // Compute the new table size. We find the smallest integer larger than twice the previous table size, and not divisible by + // 2,3,5 or 7. We can consider a different table-sizing policy in the future. + var newLength = 0; + var maximizeTableSize = false; + try + { + checked + { + // Double the size of the buckets table and add one, so that we have an odd integer. + newLength = tables.Buckets.Length * 2 + 1; + + // Now, we only need to check odd integers, and find the first that is not divisible + // by 3, 5 or 7. + while (newLength % 3 == 0 || newLength % 5 == 0 || newLength % 7 == 0) + { + newLength += 2; + } + + Debug.Assert(newLength % 2 != 0); + + if (newLength > maxArrayLength) + { + maximizeTableSize = true; + } + } + } + catch (OverflowException) + { + maximizeTableSize = true; + } + + if (maximizeTableSize) + { + newLength = maxArrayLength; + + // We want to make sure that GrowTable will not be called again, since table is at the maximum size. + // To achieve that, we set the budget to int.MaxValue. + // + // (There is one special case that would allow GrowTable() to be called in the future: + // calling Clear() on the ConcurrentHashSet will shrink the table and lower the budget.) + _budget = int.MaxValue; + } + + // Now acquire all other locks for the table + AcquireLocks(1, tables.Locks.Length, ref locksAcquired); + + var newLocks = tables.Locks; + + // Add more locks + if (_growLockArray && tables.Locks.Length < MaxLockNumber) + { + newLocks = new object[tables.Locks.Length * 2]; + Array.Copy(tables.Locks, 0, newLocks, 0, tables.Locks.Length); + for (var i = tables.Locks.Length; i < newLocks.Length; i++) + { + newLocks[i] = new object(); + } + } + + var newBuckets = new Node[newLength]; + var newCountPerLock = new int[newLocks.Length]; + + // Copy all data into a new table, creating new nodes for all elements + for (var i = 0; i < tables.Buckets.Length; i++) + { + var current = tables.Buckets[i]; + while (current != null) + { + var next = current.Next; + int newBucketNo, newLockNo; + GetBucketAndLockNo(current.Hashcode, out newBucketNo, out newLockNo, newBuckets.Length, newLocks.Length); + + newBuckets[newBucketNo] = new Node(current.Item, current.Hashcode, newBuckets[newBucketNo]); + + checked + { + newCountPerLock[newLockNo]++; + } + + current = next; + } + } + + // Adjust the budget + _budget = Math.Max(1, newBuckets.Length / newLocks.Length); + + // Replace tables with the new versions + _tables = new Tables(newBuckets, newLocks, newCountPerLock); + } + finally + { + // Release all locks that we took earlier + ReleaseLocks(0, locksAcquired); + } + } + + private void AcquireAllLocks(ref int locksAcquired) + { + // First, acquire lock 0 + AcquireLocks(0, 1, ref locksAcquired); + + // Now that we have lock 0, the _locks array will not change (i.e., grow), + // and so we can safely read _locks.Length. + AcquireLocks(1, _tables.Locks.Length, ref locksAcquired); + Debug.Assert(locksAcquired == _tables.Locks.Length); + } + + private void AcquireLocks(int fromInclusive, int toExclusive, ref int locksAcquired) + { + Debug.Assert(fromInclusive <= toExclusive); + var locks = _tables.Locks; + + for (var i = fromInclusive; i < toExclusive; i++) + { + var lockTaken = false; + try + { + Monitor.Enter(locks[i], ref lockTaken); + } + finally + { + if (lockTaken) + { + locksAcquired++; + } + } + } + } + + private void ReleaseLocks(int fromInclusive, int toExclusive) + { + Debug.Assert(fromInclusive <= toExclusive); + + for (var i = fromInclusive; i < toExclusive; i++) + { + Monitor.Exit(_tables.Locks[i]); + } + } + + private void CopyToItems(T[] array, int index) + { + var buckets = _tables.Buckets; + for (var i = 0; i < buckets.Length; i++) + { + for (var current = buckets[i]; current != null; current = current.Next) + { + array[index] = current.Item; + index++; //this should never flow, CopyToItems is only called when there's no overflow risk + } + } + } + + private sealed class Tables + { + public readonly Node[] Buckets; + public readonly object[] Locks; + + public volatile int[] CountPerLock; + + public Tables(Node[] buckets, object[] locks, int[] countPerLock) + { + Buckets = buckets; + Locks = locks; + CountPerLock = countPerLock; + } + } + + private sealed class Node + { + public readonly T Item; + public readonly int Hashcode; + + public volatile Node Next; + + public Node(T item, int hashcode, Node next) + { + Item = item; + Hashcode = hashcode; + Next = next; + } + } + } +} \ No newline at end of file diff --git a/src/NadekoBot/DataStructures/PlatformHelper.cs b/src/NadekoBot/DataStructures/PlatformHelper.cs new file mode 100644 index 00000000..d0b5a4ba --- /dev/null +++ b/src/NadekoBot/DataStructures/PlatformHelper.cs @@ -0,0 +1,25 @@ +using System; + +namespace ConcurrentCollections +{ + internal static class PlatformHelper + { + private const int ProcessorCountRefreshIntervalMs = 30000; + + private static volatile int _processorCount; + private static volatile int _lastProcessorCountRefreshTicks; + + internal static int ProcessorCount { + get { + var now = Environment.TickCount; + if (_processorCount == 0 || (now - _lastProcessorCountRefreshTicks) >= ProcessorCountRefreshIntervalMs) + { + _processorCount = Environment.ProcessorCount; + _lastProcessorCountRefreshTicks = now; + } + + return _processorCount; + } + } + } +} \ No newline at end of file diff --git a/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs b/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs index c1a746d7..b6f3a612 100644 --- a/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs +++ b/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs @@ -55,7 +55,7 @@ namespace NadekoBot.Modules.Administration private string GetText(IGuild server, ITextChannel channel, IGuildUser user, IUserMessage message) => $"**{server.Name} | {channel.Name}** `{user.Username}`: " + message.Content; - public static readonly ConcurrentDictionary> Subscribers = new ConcurrentDictionary>(); + public static readonly ConcurrentDictionary> Subscribers = new ConcurrentDictionary>(); private Logger _log { get; } [NadekoCommand, Usage, Description, Aliases] @@ -65,7 +65,7 @@ namespace NadekoBot.Modules.Administration { var channel = (ITextChannel)msg.Channel; var token = new NadekoRandom().Next(); - var set = new HashSet(); + var set = new ConcurrentHashSet(); if (Subscribers.TryAdd(token, set)) { set.Add(channel); @@ -80,7 +80,7 @@ namespace NadekoBot.Modules.Administration { var channel = (ITextChannel)imsg.Channel; - HashSet set; + ConcurrentHashSet set; if (!Subscribers.TryGetValue(token, out set)) return; set.Add(channel); @@ -96,7 +96,7 @@ namespace NadekoBot.Modules.Administration foreach (var subscriber in Subscribers) { - subscriber.Value.Remove(channel); + subscriber.Value.TryRemove(channel); } await channel.SendMessageAsync(":ok:").ConfigureAwait(false); } diff --git a/src/NadekoBot/Modules/Administration/Commands/Migration.cs b/src/NadekoBot/Modules/Administration/Commands/Migration.cs index 4a297e6e..e5f6a7c1 100644 --- a/src/NadekoBot/Modules/Administration/Commands/Migration.cs +++ b/src/NadekoBot/Modules/Administration/Commands/Migration.cs @@ -12,6 +12,7 @@ using NadekoBot.Services.Database.Models; using Newtonsoft.Json; using NLog; using NadekoBot.Modules.Administration.Commands.Migration; +using System.Collections.Concurrent; namespace NadekoBot.Modules.Administration { @@ -99,12 +100,12 @@ namespace NadekoBot.Modules.Administration botConfig.RotatingStatusMessages = messages; //races - var races = new List(); + var races = new HashSet(); oldData.RaceAnimals.ForEach(i => races.Add(new RaceAnimal() { Icon = i, Name = i })); botConfig.RaceAnimals = races; //Prefix - var prefix = new List + var prefix = new HashSet { new ModulePrefix() { @@ -158,7 +159,7 @@ namespace NadekoBot.Modules.Administration botConfig.Blacklist = new HashSet(blacklist); //Eightball - botConfig.EightBallResponses = oldData._8BallResponses.Select(response => new EightBallResponse() {Text = response}).ToList(); + botConfig.EightBallResponses = new HashSet(oldData._8BallResponses.Select(response => new EightBallResponse() {Text = response})); //NOW save it botConfig.MigrationVersion = 1; diff --git a/src/NadekoBot/Modules/Administration/Commands/SelfAssignedRolesCommand.cs b/src/NadekoBot/Modules/Administration/Commands/SelfAssignedRolesCommand.cs index d1a7dca3..4a9c171e 100644 --- a/src/NadekoBot/Modules/Administration/Commands/SelfAssignedRolesCommand.cs +++ b/src/NadekoBot/Modules/Administration/Commands/SelfAssignedRolesCommand.cs @@ -6,6 +6,7 @@ using NadekoBot.Services; using NadekoBot.Services.Database; using NadekoBot.Services.Database.Models; using System; +using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Text; @@ -76,7 +77,7 @@ namespace NadekoBot.Modules.Administration { var channel = (ITextChannel)umsg.Channel; - var toRemove = new HashSet(); + var toRemove = new ConcurrentHashSet(); var removeMsg = new StringBuilder(); var msg = new StringBuilder(); using (var uow = DbHandler.UnitOfWork()) diff --git a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs index 7d1b2673..833b7881 100644 --- a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs +++ b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs @@ -17,15 +17,15 @@ namespace NadekoBot.Modules.CustomReactions [NadekoModule("CustomReactions",".")] public class CustomReactions : DiscordModule { - public static HashSet GlobalReactions { get; } = new HashSet(); - public static ConcurrentDictionary> GuildReactions { get; } = new ConcurrentDictionary>(); + public static ConcurrentHashSet GlobalReactions { get; } = new ConcurrentHashSet(); + public static ConcurrentDictionary> GuildReactions { get; } = new ConcurrentDictionary>(); static CustomReactions() { using (var uow = DbHandler.UnitOfWork()) { var items = uow.CustomReactions.GetAll(); - GuildReactions = new ConcurrentDictionary>(items.Where(g => g.GuildId != null).GroupBy(k => k.GuildId.Value).ToDictionary(g => g.Key, g => new HashSet(g))); - GlobalReactions = new HashSet(items.Where(g => g.GuildId == null)); + GuildReactions = new ConcurrentDictionary>(items.Where(g => g.GuildId != null).GroupBy(k => k.GuildId.Value).ToDictionary(g => g.Key, g => new ConcurrentHashSet(g))); + GlobalReactions = new ConcurrentHashSet(items.Where(g => g.GuildId == null)); } } public CustomReactions(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) @@ -43,7 +43,7 @@ namespace NadekoBot.Modules.CustomReactions var t = Task.Run(async () => { var content = umsg.Content.ToLowerInvariant(); - HashSet reactions; + ConcurrentHashSet reactions; GuildReactions.TryGetValue(channel.Guild.Id, out reactions); if (reactions != null && reactions.Any()) { @@ -101,7 +101,7 @@ namespace NadekoBot.Modules.CustomReactions } else { - var reactions = GuildReactions.GetOrAdd(channel.Guild.Id, new HashSet()); + var reactions = GuildReactions.GetOrAdd(channel.Guild.Id, new ConcurrentHashSet()); reactions.Add(cr); } @@ -115,11 +115,11 @@ namespace NadekoBot.Modules.CustomReactions if (page < 1 || page > 1000) return; - HashSet customReactions; + ConcurrentHashSet customReactions; if (channel == null) customReactions = GlobalReactions; else - customReactions = GuildReactions.GetOrAdd(channel.Guild.Id, new HashSet()); + customReactions = GuildReactions.GetOrAdd(channel.Guild.Id, new ConcurrentHashSet()); if (customReactions == null || !customReactions.Any()) await imsg.Channel.SendMessageAsync("`No custom reactions found`").ConfigureAwait(false); @@ -150,13 +150,16 @@ namespace NadekoBot.Modules.CustomReactions if (toDelete.GuildId == null && channel == null) { uow.CustomReactions.Remove(toDelete); - GlobalReactions.RemoveWhere(cr => cr.Id == toDelete.Id); + var toRemove = GlobalReactions.FirstOrDefault(cr => cr.Id == toDelete.Id); + GlobalReactions.TryRemove(toRemove); success = true; } else if (toDelete.GuildId != null && channel?.Guild.Id == toDelete.GuildId) { uow.CustomReactions.Remove(toDelete); - GuildReactions.GetOrAdd(channel.Guild.Id, new HashSet()).RemoveWhere(cr => cr.Id == toDelete.Id); + var crs = GuildReactions.GetOrAdd(channel.Guild.Id, new ConcurrentHashSet()); + var toRemove = crs.FirstOrDefault(cr => cr.Id == toDelete.Id); + success = true; } if(success) diff --git a/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaQuestionPool.cs b/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaQuestionPool.cs index deb4e7b1..3afa8a9c 100644 --- a/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaQuestionPool.cs +++ b/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaQuestionPool.cs @@ -2,6 +2,7 @@ using NadekoBot.Services; using Newtonsoft.Json.Linq; using System; +using System.Collections.Concurrent; using System.Collections.Generic; using System.IO; using System.Linq; @@ -11,7 +12,7 @@ namespace NadekoBot.Modules.Games.Trivia public class TriviaQuestionPool { public static TriviaQuestionPool Instance { get; } = new TriviaQuestionPool(); - public HashSet pool = new HashSet(); + public ConcurrentHashSet pool = new ConcurrentHashSet(); private Random rng { get; } = new NadekoRandom(); @@ -39,7 +40,7 @@ namespace NadekoBot.Modules.Games.Trivia pool.Add(tq); } var r = new NadekoRandom(); - pool = new HashSet(pool.OrderBy(x => r.Next())); + pool = new ConcurrentHashSet(pool.OrderBy(x => r.Next())); } } } diff --git a/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs b/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs index a53964ed..6f5b3862 100644 --- a/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs +++ b/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs @@ -6,6 +6,7 @@ using NadekoBot.Services; using NadekoBot.Services.Database; using NadekoBot.Services.Database.Models; using System; +using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Text; @@ -25,13 +26,13 @@ namespace NadekoBot.Modules.Permissions [Group] public class BlacklistCommands { - public static HashSet BlacklistedItems { get; set; } = new HashSet(); + public static ConcurrentHashSet BlacklistedItems { get; set; } = new ConcurrentHashSet(); static BlacklistCommands() { using (var uow = DbHandler.UnitOfWork()) { - BlacklistedItems = uow.BotConfig.GetOrCreate().Blacklist; + BlacklistedItems = new ConcurrentHashSet(uow.BotConfig.GetOrCreate().Blacklist); } } @@ -75,7 +76,9 @@ namespace NadekoBot.Modules.Permissions else { uow.BotConfig.GetOrCreate().Blacklist.RemoveWhere(bi => bi.ItemId == id && bi.Type == type); - BlacklistedItems.RemoveWhere(bi => bi.ItemId == id && bi.Type == type); + var toRemove = BlacklistedItems.FirstOrDefault(bi => bi.ItemId == id && bi.Type == type); + if (toRemove != null) + BlacklistedItems.TryRemove(toRemove); } await uow.CompleteAsync().ConfigureAwait(false); } diff --git a/src/NadekoBot/Modules/Permissions/Commands/CmdCdsCommands.cs b/src/NadekoBot/Modules/Permissions/Commands/CmdCdsCommands.cs index d1f8ea51..7deaaa1e 100644 --- a/src/NadekoBot/Modules/Permissions/Commands/CmdCdsCommands.cs +++ b/src/NadekoBot/Modules/Permissions/Commands/CmdCdsCommands.cs @@ -26,15 +26,15 @@ namespace NadekoBot.Modules.Permissions [Group] public class CmdCdsCommands { - public static ConcurrentDictionary> commandCooldowns { get; } - private static ConcurrentDictionary> activeCooldowns = new ConcurrentDictionary>(); + public static ConcurrentDictionary> commandCooldowns { get; } + private static ConcurrentDictionary> activeCooldowns = new ConcurrentDictionary>(); static CmdCdsCommands() { using (var uow = DbHandler.UnitOfWork()) { var configs = uow.GuildConfigs.GetAll(); - commandCooldowns = new ConcurrentDictionary>(configs.ToDictionary(k => k.GuildId, v => v.CommandCooldowns)); + commandCooldowns = new ConcurrentDictionary>(configs.ToDictionary(k => k.GuildId, v => v.CommandCooldowns)); } } [NadekoCommand, Usage, Description, Aliases] @@ -51,7 +51,7 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { var config = uow.GuildConfigs.For(channel.Guild.Id); - var localSet = commandCooldowns.GetOrAdd(channel.Guild.Id, new HashSet()); + var localSet = commandCooldowns.GetOrAdd(channel.Guild.Id, new ConcurrentHashSet()); config.CommandCooldowns.RemoveWhere(cc => cc.CommandName == command.Text.ToLowerInvariant()); localSet.RemoveWhere(cc => cc.CommandName == command.Text.ToLowerInvariant()); @@ -69,7 +69,7 @@ namespace NadekoBot.Modules.Permissions } if (secs == 0) { - var activeCds = activeCooldowns.GetOrAdd(channel.Guild.Id, new HashSet()); + var activeCds = activeCooldowns.GetOrAdd(channel.Guild.Id, new ConcurrentHashSet()); activeCds.RemoveWhere(ac => ac.Command == command.Text.ToLowerInvariant()); await channel.SendMessageAsync($"Command **{command}** has no coooldown now and all existing cooldowns have been cleared.").ConfigureAwait(false); } @@ -82,7 +82,7 @@ namespace NadekoBot.Modules.Permissions public async Task AllCmdCooldowns(IUserMessage imsg) { var channel = (ITextChannel)imsg.Channel; - var localSet = commandCooldowns.GetOrAdd(channel.Guild.Id, new HashSet()); + var localSet = commandCooldowns.GetOrAdd(channel.Guild.Id, new ConcurrentHashSet()); if (!localSet.Any()) await channel.SendMessageAsync("`No command cooldowns set.`").ConfigureAwait(false); @@ -94,11 +94,11 @@ namespace NadekoBot.Modules.Permissions { if (guild == null) return false; - var cmdcds = CmdCdsCommands.commandCooldowns.GetOrAdd(guild.Id, new HashSet()); + var cmdcds = CmdCdsCommands.commandCooldowns.GetOrAdd(guild.Id, new ConcurrentHashSet()); CommandCooldown cdRule; if ((cdRule = cmdcds.FirstOrDefault(cc => cc.CommandName == cmd.Text.ToLowerInvariant())) != null) { - var activeCdsForGuild = activeCooldowns.GetOrAdd(guild.Id, new HashSet()); + var activeCdsForGuild = activeCooldowns.GetOrAdd(guild.Id, new ConcurrentHashSet()); if (activeCdsForGuild.FirstOrDefault(ac => ac.UserId == user.Id && ac.Command == cmd.Text.ToLowerInvariant()) != null) { return true; diff --git a/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs b/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs index 96a4ff3f..b5eaa5df 100644 --- a/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs +++ b/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs @@ -17,26 +17,26 @@ namespace NadekoBot.Modules.Permissions [Group] public class FilterCommands { - public static HashSet InviteFilteringChannels { get; set; } - public static HashSet InviteFilteringServers { get; set; } + public static ConcurrentHashSet InviteFilteringChannels { get; set; } + public static ConcurrentHashSet InviteFilteringServers { get; set; } //serverid, filteredwords - private static ConcurrentDictionary> ServerFilteredWords { get; set; } + private static ConcurrentDictionary> ServerFilteredWords { get; set; } - public static HashSet WordFilteringChannels { get; set; } - public static HashSet WordFilteringServers { get; set; } + public static ConcurrentHashSet WordFilteringChannels { get; set; } + public static ConcurrentHashSet WordFilteringServers { get; set; } - public static HashSet FilteredWordsForChannel(ulong channelId, ulong guildId) + public static ConcurrentHashSet FilteredWordsForChannel(ulong channelId, ulong guildId) { - HashSet words = new HashSet(); + ConcurrentHashSet words = new ConcurrentHashSet(); if(WordFilteringChannels.Contains(channelId)) ServerFilteredWords.TryGetValue(guildId, out words); return words; } - public static HashSet FilteredWordsForServer(ulong guildId) + public static ConcurrentHashSet FilteredWordsForServer(ulong guildId) { - var words = new HashSet(); + var words = new ConcurrentHashSet(); if(WordFilteringServers.Contains(guildId)) ServerFilteredWords.TryGetValue(guildId, out words); return words; @@ -48,17 +48,17 @@ namespace NadekoBot.Modules.Permissions { var guildConfigs = uow.GuildConfigs.GetAll(); - InviteFilteringServers = new HashSet(guildConfigs.Where(gc => gc.FilterInvites).Select(gc => gc.GuildId)); - InviteFilteringChannels = new HashSet(guildConfigs.SelectMany(gc => gc.FilterInvitesChannelIds.Select(fci => fci.ChannelId))); + InviteFilteringServers = new ConcurrentHashSet(guildConfigs.Where(gc => gc.FilterInvites).Select(gc => gc.GuildId)); + InviteFilteringChannels = new ConcurrentHashSet(guildConfigs.SelectMany(gc => gc.FilterInvitesChannelIds.Select(fci => fci.ChannelId))); - var dict = guildConfigs.ToDictionary(gc => gc.GuildId, gc => new HashSet(gc.FilteredWords.Select(fw => fw.Word))); + var dict = guildConfigs.ToDictionary(gc => gc.GuildId, gc => new ConcurrentHashSet(gc.FilteredWords.Select(fw => fw.Word))); - ServerFilteredWords = new ConcurrentDictionary>(dict); + ServerFilteredWords = new ConcurrentDictionary>(dict); var serverFiltering = guildConfigs.Where(gc => gc.FilterWords); - WordFilteringServers = new HashSet(serverFiltering.Select(gc => gc.GuildId)); + WordFilteringServers = new ConcurrentHashSet(serverFiltering.Select(gc => gc.GuildId)); - WordFilteringChannels = new HashSet(guildConfigs.SelectMany(gc => gc.FilterWordsChannelIds.Select(fwci => fwci.ChannelId))); + WordFilteringChannels = new ConcurrentHashSet(guildConfigs.SelectMany(gc => gc.FilterWordsChannelIds.Select(fwci => fwci.ChannelId))); } } @@ -205,7 +205,7 @@ namespace NadekoBot.Modules.Permissions await uow.CompleteAsync().ConfigureAwait(false); } - var filteredWords = ServerFilteredWords.GetOrAdd(channel.Guild.Id, new HashSet()); + var filteredWords = ServerFilteredWords.GetOrAdd(channel.Guild.Id, new ConcurrentHashSet()); if (removed == 0) { @@ -227,7 +227,7 @@ namespace NadekoBot.Modules.Permissions { var channel = (ITextChannel)imsg.Channel; - HashSet filteredWords; + ConcurrentHashSet filteredWords; ServerFilteredWords.TryGetValue(channel.Guild.Id, out filteredWords); await channel.SendMessageAsync($"`List of banned words:`\n" + string.Join(",\n", filteredWords)) diff --git a/src/NadekoBot/Modules/Searches/Commands/IMDB/ImdbScraper.cs b/src/NadekoBot/Modules/Searches/Commands/IMDB/ImdbScraper.cs index fc8c7ec8..32f2c34f 100644 --- a/src/NadekoBot/Modules/Searches/Commands/IMDB/ImdbScraper.cs +++ b/src/NadekoBot/Modules/Searches/Commands/IMDB/ImdbScraper.cs @@ -140,10 +140,7 @@ namespace NadekoBot.Modules.Searches.IMDB List list = new List(); string recUrl = "http://www.imdb.com/widget/recommendations/_ajax/get_more_recs?specs=p13nsims%3A" + mov.Id; string json = await GetUrlDataAsync(recUrl); - list = MatchAll(@"title=\\""(.*?)\\""", json); - HashSet set = new HashSet(); - foreach (String rec in list) set.Add(rec); - return new List(set.ToList()); + return MatchAll(@"title=\\""(.*?)\\""", json); } /*******************************[ Helper Methods ]********************************/ //Match single instance diff --git a/src/NadekoBot/Services/Database/Models/BotConfig.cs b/src/NadekoBot/Services/Database/Models/BotConfig.cs index 2ff3ba52..39bb8e38 100644 --- a/src/NadekoBot/Services/Database/Models/BotConfig.cs +++ b/src/NadekoBot/Services/Database/Models/BotConfig.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Concurrent; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.DataAnnotations.Schema; @@ -19,7 +20,7 @@ namespace NadekoBot.Services.Database.Models public float CurrencyGenerationChance { get; set; } = 0.02f; public int CurrencyGenerationCooldown { get; set; } = 10; - public List ModulePrefixes { get; set; } = new List(); + public HashSet ModulePrefixes { get; set; } = new HashSet(); public List RotatingStatusMessages { get; set; } = new List(); @@ -31,8 +32,8 @@ namespace NadekoBot.Services.Database.Models public string CurrencyName { get; set; } = "Nadeko Flower"; public string CurrencyPluralName { get; set; } = "Nadeko Flowers"; - public List EightBallResponses { get; set; } = new List(); - public List RaceAnimals { get; set; } = new List(); + public HashSet EightBallResponses { get; set; } = new HashSet(); + public HashSet RaceAnimals { get; set; } = new HashSet(); public string DMHelpString { get; set; } = "Type `-h` for help."; public string HelpString { get; set; } = @"To add me to your server, use this link -> diff --git a/src/NadekoBot/Services/Database/Models/GuildConfig.cs b/src/NadekoBot/Services/Database/Models/GuildConfig.cs index 7084671d..cc0c87ee 100644 --- a/src/NadekoBot/Services/Database/Models/GuildConfig.cs +++ b/src/NadekoBot/Services/Database/Models/GuildConfig.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Text; @@ -37,7 +38,7 @@ namespace NadekoBot.Services.Database.Models public bool VoicePlusTextEnabled { get; set; } //stream notifications - public List FollowedStreams { get; set; } = new List(); + public HashSet FollowedStreams { get; set; } = new HashSet(); //currencyGeneration public ulong? GenerateCurrencyChannelId { get; set; } @@ -51,11 +52,11 @@ namespace NadekoBot.Services.Database.Models //filtering public bool FilterInvites { get; set; } - public HashSet FilterInvitesChannelIds { get; set; } + public HashSet FilterInvitesChannelIds { get; set; } = new HashSet(); public bool FilterWords { get; set; } - public HashSet FilteredWords { get; set; } - public HashSet FilterWordsChannelIds { get; set; } + public HashSet FilteredWords { get; set; } = new HashSet(); + public HashSet FilterWordsChannelIds { get; set; } = new HashSet(); } public class FilterChannelId :DbEntity diff --git a/src/NadekoBot/Services/Database/Models/LogSetting.cs b/src/NadekoBot/Services/Database/Models/LogSetting.cs index 1aeb1dfa..02a97858 100644 --- a/src/NadekoBot/Services/Database/Models/LogSetting.cs +++ b/src/NadekoBot/Services/Database/Models/LogSetting.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Text; @@ -10,7 +11,7 @@ namespace NadekoBot.Services.Database.Models { public bool IsLogging { get; set; } public ulong ChannelId { get; set; } - public HashSet IgnoredChannels { get; set; } + public ConcurrentHashSet IgnoredChannels { get; set; } public bool MessageUpdated { get; set; } = true; public bool MessageDeleted { get; set; } = true; diff --git a/src/NadekoBot/Services/Database/NadekoContext.cs b/src/NadekoBot/Services/Database/NadekoContext.cs index 243582d7..83fc449e 100644 --- a/src/NadekoBot/Services/Database/NadekoContext.cs +++ b/src/NadekoBot/Services/Database/NadekoContext.cs @@ -47,7 +47,7 @@ namespace NadekoBot.Services.Database { var bc = new BotConfig(); - bc.ModulePrefixes.AddRange(new HashSet() + bc.ModulePrefixes.AddRange(new ConcurrentHashSet() { new ModulePrefix() { ModuleName = "Administration", Prefix = "." }, new ModulePrefix() { ModuleName = "Searches", Prefix = "~" }, @@ -64,7 +64,7 @@ namespace NadekoBot.Services.Database new ModulePrefix() { ModuleName = "Utility", Prefix = "." }, new ModulePrefix() { ModuleName = "CustomReactions", Prefix = "." } }); - bc.RaceAnimals.AddRange(new HashSet + bc.RaceAnimals.AddRange(new ConcurrentHashSet { new RaceAnimal { Icon = "🐼", Name = "Panda" }, new RaceAnimal { Icon = "🐻", Name = "Bear" }, @@ -75,7 +75,7 @@ namespace NadekoBot.Services.Database new RaceAnimal { Icon = "🦀", Name = "Crab" }, new RaceAnimal { Icon = "🦄", Name = "Unicorn" } }); - bc.EightBallResponses.AddRange(new HashSet + bc.EightBallResponses.AddRange(new ConcurrentHashSet { new EightBallResponse() { Text = "Most definitely yes" }, new EightBallResponse() { Text = "For sure" }, diff --git a/src/NadekoBot/data/typing_articles.json b/src/NadekoBot/data/typing_articles.json new file mode 100644 index 00000000..9cdf745b --- /dev/null +++ b/src/NadekoBot/data/typing_articles.json @@ -0,0 +1,361 @@ +[ + { + "Title":"The Gender of Psychology", + "Description":"This book addresses the diversity of psychological knowledge and practice through the lens of gender." + }, + { + "Title":"Unto Others: The Evolution and Psychology of Unselfish", + "Description":"In Unto Others philosopher Elliott Sober and biologist David Sloan Wilson demonstrate once and for all that unselfish behavior is in fact an important feature of both biological and human nature." + }, + { + "Title":"Forensic and Legal Psychology", + "Description":"Using research in clinical, cognitive, developmental, and social psychology, Forensic and Legal Psychology shows how psychological science can enhance the gathering and presentation of evidence, improve legal decision-making, prevent crime," + }, + { + "Title":"International Handbook of Psychology in Education", + "Description":"Suitable for researchers, practitioners and advisers working in the fields of psychology and education, this title presents an overview of the research within the domain of psychology of education." + }, + { + "Title":"Handbook of Personality Psychology", + "Description":"This comprehensive reference work on personality psychology discusses the development and measurement of personality, biological and social determinants, dynamic personality processes, the personality's relation to the self, and personality" + }, + { + "Title":"Dictionary of Theories, Laws, and Concepts in Psychology", + "Description":"A fully cross-referenced and source-referenced dictionary which gives definitions of psychological terms as well as the history, critique, and relevant references for the terms." + }, + { + "Title":"Essays on Plato's Psychology", + "Description":"With a comprehensive introduction to the major issues of Plato's psychology and an up-to-date bibliography of work on the relevant issues, this much-needed text makes the study of Plato's psychology accessible to scholars in ancient Greek" + }, + { + "Title":"Psychology Statistics For Dummies", + "Description":"As an alternative to typical, lead-heavy statistics texts or supplements to assigned course reading, this is one book psychology students won't want to be without." + }, + { + "Title":"Doing Psychology Experiments", + "Description":"David W. Martin’s unique blend of informality, humor, clear instruction, and solid scholarship make this concise text a popular choice for research methods courses in psychology." + }, + { + "Title":"A Handbook of Research Methods for Clinical and Health", + "Description":"For both undergraduate and postgraduate students, the book will be essential in making them aware of the full range of techniques available to them, helping them to design scientifically rigorous experiments." + }, + { + "Title":"A History of Psychology", + "Description":"First published in 2002. Routledge is an imprint of Taylor & Francis, an informa company." + }, + { + "Title":"An Introduction to the Psychology of Religion", + "Description":"The third edition of this successful book, which applies the science of psychology to problems of religion. Dr Thouless explores such questions as: why do people believe? Why are their beliefs often held with irrational strength?" + }, + { + "Title":"Psychology of Champions: How to Win at Sports and Life", + "Description":"In this unprecedented book, two psychologist researchers interview sports legends and super-athletes across sports to explain the thinking that powers stellar performers, pushing them to amazing and historic successes." + }, + { + "Title":"The Psychology of Humor: An Integrative Approach", + "Description":"This is a singly authored monograph that provides in one source, a summary of information researchers might wish to know about research into the psychology of humor." + }, + { + "Title":"Psychology and Deterrence", + "Description":"Now available in paperback, Psychology and Deterrence reveals deterrence strategy's hidden and generally simplistic assumptions about the nature of power and aggression, threat and response, and calculation and behavior in the international" + }, + { + "Title":"Psychology: An International Perspective", + "Description":"Unlike typical American texts, this book provides an international approach to introductory psychology, providing comprehensive and lively coverage of current research from a global perspective, including the UK, Germany, Scandinavia," + }, + { + "Title":"Psychology, Briefer Course", + "Description":"Despite its title, 'Psychology: Briefer Course' is more than a simple condensation of the great 'Principles of Psychology." + }, + { + "Title":"Psychology, Seventh Edition (High School)", + "Description":"This new edition continues the story of psychology with added research and enhanced content from the most dynamic areas of the field—cognition, gender and diversity studies, neuroscience and more, while at the same time using the most" + }, + { + "Title":"Psychology of Russia: Past, Present, Future", + "Description":"This book is for all psychologists and for readers whose interest in Russia exceeds their interest in psychology. Readers of this book will quickly discover a new world of thought." + }, + { + "Title":"Barron's AP Psychology", + "Description":"Provides information on scoring and structure of the test, offers tips on test-taking strategies, and includes practice examinations and subject review." + }, + { + "Title":"Psychology for Inclusive Education: New Directions in", + "Description":"International in focus and at the very cutting edge of the field, this is essential reading for all those interested in the development of inclusive education." + }, + { + "Title":"Applied Psychology: Putting Theory Into Practice", + "Description":"Applied Psychology: Putting theory into practice demonstrates how psychology theory is applied in the real world." + }, + { + "Title":"The Psychology of Science: A Reconnaissance", + "Description":"' This eBook edition contains the complete 168 page text of the original 1966 hardcover edition. Contents: Preface by Abraham H. Maslow Acknowledgments 1. Mechanistic and Humanistic Science 2." + }, + { + "Title":"Filipino American Psychology: A Handbook of Theory,", + "Description":"This book is the first of its kind and aims to promote visibility of this invisible group, so that 2.4 million Filipino Americans will have their voices heard." + }, + { + "Title":"The Psychology of Visual Illusion", + "Description":"Well-rounded perspective on the ambiguities of visual display emphasizes geometrical optical illusions: framing and contrast effects, distortion of angles and direction, and apparent 'movement' of images. 240 drawings. 1972 edition." + }, + { + "Title":"The Psychology of Women", + "Description":"This highly respected text offers students an enjoyable, extraordinarily well-written introduction to the psychology of women with an up-to-date examination of the field and comprehensive coverage of topics." + }, + { + "Title":"Psychology and Race", + "Description":"' Psychology and Race is divided into two major parts. The first half of the book looks at the interracial situation itself." + }, + { + "Title":"Psychology for A-Level", + "Description":"'Precisely targeted at AQA A Level Psychology, specification A. It will also be of interest to those who are new to psychology, and who want to get a flavour of the kinds of topics in which psychologists are interested'--Preface, p. vii." + }, + { + "Title":"Biological Psychology", + "Description":"Updated with new topics, examples, and recent research findings--and supported by new online bio-labs, part of the strongest media package yet--this text speaks to today’s students and instructors." + }, + { + "Title":"Psychology: Concepts & Connections", + "Description":"The theme of this book is applying theories and research to learning and to contemporary life." + }, + { + "Title":"The Psychology of Adoption", + "Description":"In this volume David Brodzinsky, who has conducted one of the nation's largest studies of adopted children, and Marshall Schechter, a noted child psychiatrist who has been involved with adoption related issues for over forty years, have" + }, + { + "Title":"Psychology and Adult Learning", + "Description":"This new edition is thoroughly revised and updated in light of the impact of globalising processes and the application of new information technologies, and the influence of postmodernism on psychology." + }, + { + "Title":"Gestalt Psychology: An Introduction to New Concepts in", + "Description":"The general reader, if he looks to psychology for something more than entertainment or practical advice, will discover in this book a storehouse of searching criticism and brilliant suggestions from the pen of a rare thinker, and one who" + }, + { + "Title":"The Psychology of Goals", + "Description":"Bringing together leading authorities, this tightly edited volume reviews the breadth of current knowledge about goals and their key role in human behavior." + }, + { + "Title":"Metaphors in the History of Psychology", + "Description":"Through the identification of these metaphors, the contributors to this volume have provided a remarkably useful guide to the history, current orientations, and future prospects of modern psychology." + }, + { + "Title":"Abnormal Psychology: An Integrative Approach", + "Description":"ABNORMAL PSYCHOLOGY: AN INTEGRATIVE APPROACH, Seventh Edition, is the perfect book to help you succeed in your abnormal psychology course!" + }, + { + "Title":"Art and Visual Perception: A Psychology of the Creative Eye", + "Description":"Gestalt theory and the psychology of visual perception form the basis for an analysis of art and its basic elements" + }, + { + "Title":"Psychology & Christianity: Five Views", + "Description":"This revised edition of a widely appreciated text now presents five models for understanding the relationship between psychology and Christianity." + }, + { + "Title":"The Psychology of Hope: You Can Get There from Here", + "Description":"Why do some people lead positive, hope-filled lives, while others wallow in pessimism? In The Psychology of Hope, a professor of psychology reveals the specific character traits that produce highly hopeful individuals." + }, + { + "Title":"Perspectives on Psychology", + "Description":"This is a title in the modular 'Principles in Psychology Series', designed for A-level and other introductory courses, aiming to provide students embarking on psychology courses with the necessary background and context." + }, + { + "Title":"Psychology the Easy Way", + "Description":"Material is presented in a way that makes these books ideal as self-teaching guides, but Easy Way titles are also preferred by many teachers as supplements to classroom textbooks." + }, + { + "Title":"Ethics in Psychology: Professional Standards and Cases", + "Description":"In this book, their main intent is to present the full range of contemporary ethical issues in psychology as not only relevant and intriguing, but also as integral and unavoidable aspects of the profession." + }, + { + "Title":"Psychology Gets in the Game: Sport, Mind, and Behavior,", + "Description":"The essays collected in this volume tell the stories not only of these psychologists and their subjects but of the social and academic context that surrounded them, shaping and being shaped by their ideas'--Provided by publisher." + }, + { + "Title":"Psychology for Physical Educators: Student in Focus", + "Description":"This updated edition focuses on attitude and motivation as important aspects of the physical education curriculum, illustrating practical ideas and pedagogical solutions for any PE setting." + }, + { + "Title":"The Psychology of Leadership: New Perspectives and Research", + "Description":"In this book, some of the world's leading scholars come together to describe their thinking and research on the topic of the psychology of leadership." + }, + { + "Title":"The Psychology of Interpersonal Relations", + "Description":"As the title suggests, this book examines the psychology of interpersonal relations. In the context of this book, the term 'interpersonal relations' denotes relations between a few, usually between two, people." + }, + { + "Title":"Applied Psychology", + "Description":"The chapters on Counselling Psychology and Teaching Psychology are available online via the Student Companion Site at: http://tinyurl.com/c3ztvtj The text is written to be accessible to Level 1 Introductory Psychology students, and also to" + }, + { + "Title":"Psychology", + "Description":"An exciting read for anyone interested in psychology and research; because of its comprehensive appendix, glossary, and reference section, this book is a must-have desk reference for psychologists and others in the field." + }, + { + "Title":"The Psychology of Music", + "Description":"On interpreting musical phenomena in terms of mental function" + }, + { + "Title":"Abnormal Psychology", + "Description":"Ron Comer's Abnormal Psychology continues to captivate students with its integrated coverage of theory, diagnosis, and treatment, its inclusive wide-ranging cross-cultural perspective, and its compassionate emphasis on the real impact of" + }, + { + "Title":"The Psychology of Food Choice", + "Description":"This book brings together theory, research and applications from psychology and behavioural sciences applied to dietary behaviour." + }, + { + "Title":"Psychology: brain, behavior, & culture", + "Description":"Rather than present psychological science as a series of facts for memorization, this book takes readers on a psychological journey that uncovers things they didn't know or new ways of thinking about things they did know." + }, + { + "Title":"A Brief History of Psychology", + "Description":"Due to its brevity and engaging style, the book is often used in introductory courses to introduce students to the field. The enormous index and substantial glossary make this volume a useful desk reference for the entire field." + }, + { + "Title":"Psychology AS: The Complete Companion", + "Description":"Presented in double-page spreads this book written to the average AS ability level, provides information on psychology in bite-sized chunks with learning and revision features." + }, + { + "Title":"The Psychology Book: From Shamanism to Cutting-Edge", + "Description":"Lavishly illustrated, this new addition in the Sterling's Milestones series chronicles the history of psychology through 250 groundbreaking events, theories, publications, experiments and discoveries." + }, + { + "Title":"The Psychology Book", + "Description":"All the big ideas, simply explained - an innovative and accessible guide to the study of human nature The Psychology Book clearly explains more than 100 groundbreaking ideas in this fascinating field of science." + }, + { + "Title":"Handbook of Positive Psychology", + "Description":"' The Handbook of Positive Psychology provides a forum for a more positive view of the human condition. In its pages, readers are treated to an analysis of what the foremost experts believe to be the fundamental strengths of humankind." + }, + { + "Title":"Psychology of Sustainable Development", + "Description":"With contributions from an international team of policy shapers and makers, the book will be an important reference for environmental, developmental, social, and organizational psychologists, in addition to other social scientists concerned" + }, + { + "Title":"An Introduction to the History of Psychology", + "Description":"In this Fifth Edition, B.R. Hergenhahn demonstrates that most of the concerns of contemporary psychologists are manifestations of themes that have been part of psychology for hundreds-or even thousands-of years." + }, + { + "Title":"Careers in Psychology: Opportunities in a Changing World", + "Description":"This text addresses the growing need among students and faculty for information about the careers available in psychology at the bachelor’s and graduate level." + }, + { + "Title":"Philosophy of Psychology", + "Description":"This is the story of the clattering of elevated subways and the cacophony of crowded neighborhoods, the heady optimism of industrial progress and the despair of economic recession, and the vibrancy of ethnic cultures and the resilience of" + }, + { + "Title":"The Psychology of Risk Taking Behavior", + "Description":"This book aims to help the reader to understand what motivates people to engage in risk taking behavior, such as participating in traffic, sports, financial investments, or courtship." + }, + { + "Title":"The Nazi Doctors: Medical Killing and the Psychology of", + "Description":"This book explores the psychological conditions that promote the human potential for evil, relating medical killing to broader principles of doubling and genocide" + }, + { + "Title":"The Body and Psychology", + "Description":"The material in this volume was previously published as a Special Issue of th" + }, + { + "Title":"Introduction to Psychology: Gateways to Mind and Behavior", + "Description":"Important Notice: Media content referenced within the product description or the product text may not be available in the ebook version." + }, + { + "Title":"Psychology of Time", + "Description":"Basic Structure The book would contain 14 or 15 chapters of roughly 12 000 words. The exact final number of chapters would depend on further discussions with you about the book's basic structure." + }, + { + "Title":"Handbook of Psychology, Experimental Psychology", + "Description":"Includes established theories and cutting-edge developments. Presents the work of an international group of experts. Presents the nature, origin, implications, and future course of major unresolved issues in the area." + }, + { + "Title":"Study Guide for Psychology, Seventh Edition", + "Description":"This new edition continues the story of psychology with added research and enhanced content from the most dynamic areas of the field--cognition, gender and diversity studies, neuroscience and more, while at the same time using the most" + }, + { + "Title":"Culture and Psychology", + "Description":"In addition, the text encourages students to question traditionally held beliefs and theories as and their relevance to different cultural groups today." + }, + { + "Title":"Exploring the Psychology of Interest", + "Description":"The most comprehensive work of its kind, Exploring the Psychology of Interest will be a valuable resource for student and professional researchers in cognitive, social, and developmental psychology." + }, + { + "Title":"Handbook of Adolescent Psychology", + "Description":"The study of adolescence in the field of psychology has grown tremendously over the last two decades, necessitating a comprehensive and up-to-date revision of this seminal work." + }, + { + "Title":"The Psychology of Diplomacy", + "Description":"World class clinicians, researchers, and activists present the psychological dimensions to diplomacy drawn from examples set in the United Nations, Camp David, the Middle East, Japan, South Africa, and elsewhere." + }, + { + "Title":"The Psychology of Social Class", + "Description":"By addressing differences in social class, the book broadens the perspective of social psychological research to examine such topics as the effect of achievement motivation and other personality variables on social mobility and the effect" + }, + { + "Title":"Applied Psychology: Current Issues and New Directions", + "Description":"Key features of this book: - Consistently pedagogical throughout - chapter summaries, questions for reflection and discussion and annotated further reading in every chapter - Comprehensive coverage - all areas of applied psychology included" + }, + { + "Title":"Popular Psychology: An Encyclopedia", + "Description":"Entries cover a variety of topics in the field of popular psychology, including acupuncture, emotional intelligence, brainwashing, chemical inbalance, and seasonal affective disorder." + }, + { + "Title":"Advanced Psychology: Applications, Issues and Perspectives", + "Description":"The second of two books, Advanced Psychology covers units 4 to 6 for the second year at Advanced Level." + }, + { + "Title":"Mindset: The New Psychology of Success", + "Description":"This is a book that can change your life, as its ideas have changed mine.”—Robert J. Sternberg, IBM Professor of Education and Psychology at Yale University, director of the PACE Center of Yale University, and author of Successful" + }, + { + "Title":"E-Z Psychology", + "Description":"This book covers material as it is taught on a college-101 level." + }, + { + "Title":"Myers' Psychology for AP*", + "Description":"Already The Bestselling AP* Psychology Author, Myers Writes His First Exclusive AP* Psych Text Watch Dave G. Myers introduce this new text here." + }, + { + "Title":"Psychology and Health", + "Description":"Part of a series of textbooks which have been written to support A levels in psychology. The books use real life applications to make theories come alive for students and teach them what they need to know." + }, + { + "Title":"Applying Psychology in Business: The Handbook for Managers", + "Description":"To learn more about Rowman & Littlefield titles please visit us at www.rowmanlittlefield.com." + }, + { + "Title":"Influence", + "Description":"Influence, the classic book on persuasion, explains the psychology of why people say 'yes'—and how to apply these understandings. Dr. Robert Cialdini is the seminal expert in the rapidly expanding field of influence and persuasion." + }, + { + "Title":"Psychology and Policing", + "Description":"The book should draw attention to the often unrecognized and valuable contribution that mainstream psychology can make to the knowledge base underpinning a wide variety of policing practices." + }, + { + "Title":"Applied Psychology: New Frontiers and Rewarding Careers", + "Description":"This book examines how psychological science is, and can be, used to prevent and ameliorate pressing human problems to promote positive social change." + }, + { + "Title":"Psychology: Concepts and Applications", + "Description":"Nevid developed the effective teaching devices in this text based on a comprehensive system derived from research on learning and memory as well as his own research on textbook pedagogy." + }, + { + "Title":"Foundations of Sport and Exercise Psychology, 6E: ", + "Description":"This text offers both students and new practitioners a comprehensive view of sport and exercise psychology, drawing connections between research and practice and capturing the excitement of the world of sport and exercise." + }, + { + "Title":"Biographical Dictionary of Psychology", + "Description":"This Dictionary provides biographical and bibliographical information on over 500 psychologists from all over the world from 1850 to the present day. All branches of psychology and its related disciplines are featured." + }, + { + "Title":"Psychology: A Self-Teaching Guide", + "Description":"Frank Bruno explains all the major psychological theories and terms in this book, covering perception, motivation, thinking, personality, sensation, intelligence, research methods, and much more." + }, + { + "Title":"A Dictionary of Psychology", + "Description":"Entries are extensively cross-referenced for ease of use, and cover word origins and derivations as well as definitions. Over 80 illustrations complement the text." + }, + { + "Title":"An Intellectual History of Psychology", + "Description":"Invaluable as a text for students and as a stimulating and insightful overview for scholars and practicing psychologists, this volume can be read either as a history of psychology in both its philosophical and aspiring scientific periods or" + }] \ No newline at end of file From 179407f7947bf5483d79efea966a4403c6c172bc Mon Sep 17 00:00:00 2001 From: Jordan Fearnley Date: Mon, 10 Oct 2016 05:21:11 +0100 Subject: [PATCH 087/135] Delete Custom Reactions.md --- docs/Custom Reactions.md | 69 ---------------------------------------- 1 file changed, 69 deletions(-) delete mode 100644 docs/Custom Reactions.md diff --git a/docs/Custom Reactions.md b/docs/Custom Reactions.md deleted file mode 100644 index 49e365ac..00000000 --- a/docs/Custom Reactions.md +++ /dev/null @@ -1,69 +0,0 @@ -##Custom Reactions -

Important

-
    -
  • For modifying global custom reactions, the ones which will work across all the servers your bot is connected to, you must be a Bot Owner.
    You must also use the commands for adding, deleting and listing these reactions in a direct message with the bot.
  • -
  • For modifying local custom reactions, the ones which will only work on the server that they are added on, require you to have the Administrator permission.
    You must also use the commands for adding, deleting and listing these reactions in the server you want the custom reactions to work on.
  • -
-###Commands and Their Use - - - - - - - - - - - - - - - - - - - - - -
Command NameDescriptionExample
.acrAdd a custom reaction with a trigger and a response. Running this command in a server requries the Administrator permission. Running this command in DM is Bot Owner only, and adds a new global custom reaction. Guide here: http://nadekobot.readthedocs.io/en/1.0/Custom Reactions/.acr "hello" Hi there, %user%!
.lcrLists a page of global or server custom reactions (15 reactions per page). Running this command in a DM will list the global custom reactions, while running it in a server will list that server's custom reactions..lcr 1
.dcrDeletes a custom reaction based on the provided index. Running this command in a server requires the Administrator permission. Running this command in DM is Bot Owner only, and will delete a global custom reaction..dcr 5
- -

Now that we know the commands let's take a look at an example of adding a command with .acr,

-

.acr "Nice Weather" It sure is, %user%!

-

This command can be split into two different arguments:

  • The trigger "Nice Weather"
  • And the response, It sure is, %user%!

-

Because we wanted the trigger to be more than one word, we had to wrap it with quotation marks, "Like this" otherwise, only the first word would have been recognised as the trigger, and the second word would have been recognised as part of the response.

-

There's no special requirement for the formatting of the response, so we could just write it in exactly the same way we want it to respond, albeit with a placeholder - which will be explained in this next section

- -###Placeholders! -

There are currently three different placeholders which we will look at, with more placeholders potentially coming in the future.

- - - - - - - - - - - - - - - - - - - - - - -
PlaceholderHow the placeholder worksExamples
%mention%The %mention% placeholder is triggered when you type @botname - It's important to note that if you've given the bot a nickname, this trigger won't work!.acr "%mention% Hello" Hello! > User input: @botname Hello | Bot Replies: Hello!
%user%The %user% placeholder mentions the person who said the command.acr "Who am I" You are %user%!
%rng%The %rng% generates a random number between 0 and 10.acr Random %rng% -
- - Thanks to Nekai for being creative. <3 From 766c0fd3d3f5bb6228e150577d9a488117de4f8e Mon Sep 17 00:00:00 2001 From: Jordan Fearnley Date: Mon, 10 Oct 2016 05:23:32 +0100 Subject: [PATCH 088/135] Update Custom Reactions.md --- docs/Custom Reactions.md | 124 +++++++++++++++++++-------------------- 1 file changed, 62 insertions(+), 62 deletions(-) diff --git a/docs/Custom Reactions.md b/docs/Custom Reactions.md index fc2dd0b5..49e365ac 100644 --- a/docs/Custom Reactions.md +++ b/docs/Custom Reactions.md @@ -1,69 +1,69 @@ ##Custom Reactions -

Every time you add or remove a custom reaction you will need to restart your bot with either .restart if you are hosting or Nadeko is on VPS, or .die if Nadeko is on Droplet

Important

    -
  • .acr.dcr, and .ecr Require you to be Bot Owner
  • -
  • Adding multiple commands of the same name will make Nadeko randomly select one of the command's responses
  • +
  • For modifying global custom reactions, the ones which will work across all the servers your bot is connected to, you must be a Bot Owner.
    You must also use the commands for adding, deleting and listing these reactions in a direct message with the bot.
  • +
  • For modifying local custom reactions, the ones which will only work on the server that they are added on, require you to have the Administrator permission.
    You must also use the commands for adding, deleting and listing these reactions in the server you want the custom reactions to work on.
###Commands and Their Use - - - - - - - - - - - - - - - - - - - - - - - -
Command NameDescriptionExample
.acrAdds a Custom Reaction.acr Hello Hi!
.dcrDeletes an entire Custom Reaction or a Specified Response Index Number.dcr "command name" or .dcr "command name" 3
.lcrLists a specified page of Custom Commands.lcr Number i.e .lcr 2
.scrShows all responses to a command. Index Number will be in brackets [ ].scr Hello
.ecrEdit a custom reaction, needs: reaction's name, index to change, and new multiword response..ecr Hello 3 What's up
-

Now that we know the commands let's take a look at the arguments and placeholders available for .acr,

-

.addcustreact (.acr) takes two arguments: -

-
● First, The name of the command; this directly follows the .acr
-
- If your command name is more than 1 word use quotation marks;
i.e .acr Nice weather sure is > .acr "Nice weather" sure is
-
- Now everytime someone says "Nice weather" the bot will respond with, "sure is"
-
● Next, The Response, this follows the name of the command.
-
- i.e .acr "Nice weather"sure is

-###And finally on to the Placeholders -

There are currently four placeholders, which we will be looking at, with many more to come in the future.

- - - - - - - - - - - - - - - - - - - - -
PlaceholderHow the placeholder worksExamples
%mention%The %mention% placeholder is triggered when you type @botname.acr "%mention% Hello" Hello! > User input: @botname Hello | Bot Replies: Hello!
%target%The %target% placeholder is used to make Nadeko Mention another person.acr "%mention% Hello" %target% Hi! > User inputs: "@botname Hello @somebody" - Bot replies: "Hi @somebody"
%user%The %user% placeholder mentions the person who said the command.acr "Who am i" You are %user%!
%rng%The %rng% generates a random number.acr Random %rng% -
- - Thanks to Nekai for being creative. <3 + + Command Name + Description + Example + + + .acr + Add a custom reaction with a trigger and a response. Running this command in a server requries the Administrator permission. Running this command in DM is Bot Owner only, and adds a new global custom reaction. Guide here:
http://nadekobot.readthedocs.io/en/1.0/Custom Reactions/ + .acr "hello" Hi there, %user%! + + + .lcr + Lists a page of global or server custom reactions (15 reactions per page). Running this command in a DM will list the global custom reactions, while running it in a server will list that server's custom reactions. + .lcr 1 + + + .dcr + Deletes a custom reaction based on the provided index. Running this command in a server requires the Administrator permission. Running this command in DM is Bot Owner only, and will delete a global custom reaction. + .dcr 5 + + +

Now that we know the commands let's take a look at an example of adding a command with .acr,

+

.acr "Nice Weather" It sure is, %user%!

+

This command can be split into two different arguments:

  • The trigger "Nice Weather"
  • And the response, It sure is, %user%!

+

Because we wanted the trigger to be more than one word, we had to wrap it with quotation marks, "Like this" otherwise, only the first word would have been recognised as the trigger, and the second word would have been recognised as part of the response.

+

There's no special requirement for the formatting of the response, so we could just write it in exactly the same way we want it to respond, albeit with a placeholder - which will be explained in this next section

+ +###Placeholders! +

There are currently three different placeholders which we will look at, with more placeholders potentially coming in the future.

+ + + + + + + + + + + + + + + + + + + + + + +
PlaceholderHow the placeholder worksExamples
%mention%The %mention% placeholder is triggered when you type @botname - It's important to note that if you've given the bot a nickname, this trigger won't work!.acr "%mention% Hello" Hello! > User input: @botname Hello | Bot Replies: Hello!
%user%The %user% placeholder mentions the person who said the command.acr "Who am I" You are %user%!
%rng%The %rng% generates a random number between 0 and 10.acr Random %rng% +
+ + Thanks to Nekai for being creative. <3 From fd729e553d8f4c041c9f015de98a454f6f69a511 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 10 Oct 2016 06:38:20 +0200 Subject: [PATCH 089/135] Project now magically works --- src/NadekoBot/DataStructures/ConcurrentHashSet.cs | 13 +++++++++++++ .../Modules/CustomReactions/CustomReactions.cs | 7 ++----- .../Permissions/Commands/BlacklistCommands.cs | 4 +--- .../Modules/Permissions/Commands/CmdCdsCommands.cs | 2 +- .../Modules/Permissions/Commands/FilterCommands.cs | 10 +++++----- .../Searches/Commands/StreamNotificationCommands.cs | 2 +- src/NadekoBot/Services/Database/NadekoContext.cs | 7 ++++--- src/NadekoBot/_Extensions/Extensions.cs | 8 ++++++++ 8 files changed, 35 insertions(+), 18 deletions(-) diff --git a/src/NadekoBot/DataStructures/ConcurrentHashSet.cs b/src/NadekoBot/DataStructures/ConcurrentHashSet.cs index b29a8842..019f7a87 100644 --- a/src/NadekoBot/DataStructures/ConcurrentHashSet.cs +++ b/src/NadekoBot/DataStructures/ConcurrentHashSet.cs @@ -6,6 +6,7 @@ using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; +using System.Linq; using System.Threading; namespace System.Collections.Concurrent @@ -672,6 +673,18 @@ namespace System.Collections.Concurrent } } + public int RemoveWhere(Func predicate) + { + var elems = this.Where(predicate); + var removed = 0; + foreach (var elem in elems) + { + if (this.TryRemove(elem)) + removed++; + } + return removed; + } + private void AcquireAllLocks(ref int locksAcquired) { // First, acquire lock 0 diff --git a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs index 833b7881..a8c71001 100644 --- a/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs +++ b/src/NadekoBot/Modules/CustomReactions/CustomReactions.cs @@ -150,16 +150,13 @@ namespace NadekoBot.Modules.CustomReactions if (toDelete.GuildId == null && channel == null) { uow.CustomReactions.Remove(toDelete); - var toRemove = GlobalReactions.FirstOrDefault(cr => cr.Id == toDelete.Id); - GlobalReactions.TryRemove(toRemove); + GlobalReactions.RemoveWhere(cr => cr.Id == toDelete.Id); success = true; } else if (toDelete.GuildId != null && channel?.Guild.Id == toDelete.GuildId) { uow.CustomReactions.Remove(toDelete); - var crs = GuildReactions.GetOrAdd(channel.Guild.Id, new ConcurrentHashSet()); - var toRemove = crs.FirstOrDefault(cr => cr.Id == toDelete.Id); - + GuildReactions.GetOrAdd(channel.Guild.Id, new ConcurrentHashSet()).RemoveWhere(cr=>cr.Id == toDelete.Id); success = true; } if(success) diff --git a/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs b/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs index 6f5b3862..e538e2a6 100644 --- a/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs +++ b/src/NadekoBot/Modules/Permissions/Commands/BlacklistCommands.cs @@ -76,9 +76,7 @@ namespace NadekoBot.Modules.Permissions else { uow.BotConfig.GetOrCreate().Blacklist.RemoveWhere(bi => bi.ItemId == id && bi.Type == type); - var toRemove = BlacklistedItems.FirstOrDefault(bi => bi.ItemId == id && bi.Type == type); - if (toRemove != null) - BlacklistedItems.TryRemove(toRemove); + BlacklistedItems.RemoveWhere(bi => bi.ItemId == id && bi.Type == type); } await uow.CompleteAsync().ConfigureAwait(false); } diff --git a/src/NadekoBot/Modules/Permissions/Commands/CmdCdsCommands.cs b/src/NadekoBot/Modules/Permissions/Commands/CmdCdsCommands.cs index 7deaaa1e..6f5b2b4a 100644 --- a/src/NadekoBot/Modules/Permissions/Commands/CmdCdsCommands.cs +++ b/src/NadekoBot/Modules/Permissions/Commands/CmdCdsCommands.cs @@ -34,7 +34,7 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { var configs = uow.GuildConfigs.GetAll(); - commandCooldowns = new ConcurrentDictionary>(configs.ToDictionary(k => k.GuildId, v => v.CommandCooldowns)); + commandCooldowns = new ConcurrentDictionary>(configs.ToDictionary(k => k.GuildId, v => new ConcurrentHashSet(v.CommandCooldowns))); } } [NadekoCommand, Usage, Description, Aliases] diff --git a/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs b/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs index b5eaa5df..a6894929 100644 --- a/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs +++ b/src/NadekoBot/Modules/Permissions/Commands/FilterCommands.cs @@ -84,7 +84,7 @@ namespace NadekoBot.Modules.Permissions } else { - InviteFilteringServers.Remove(channel.Guild.Id); + InviteFilteringServers.TryRemove(channel.Guild.Id); await channel.SendMessageAsync("`Invite filtering disabled on this server.`").ConfigureAwait(false); } } @@ -117,7 +117,7 @@ namespace NadekoBot.Modules.Permissions } else { - InviteFilteringChannels.Remove(channel.Id); + InviteFilteringChannels.TryRemove(channel.Id); await channel.SendMessageAsync("`Invite filtering disabled on this channel.`").ConfigureAwait(false); } } @@ -143,7 +143,7 @@ namespace NadekoBot.Modules.Permissions } else { - WordFilteringServers.Remove(channel.Guild.Id); + WordFilteringServers.TryRemove(channel.Guild.Id); await channel.SendMessageAsync("`Word filtering disabled on this server.`").ConfigureAwait(false); } } @@ -176,7 +176,7 @@ namespace NadekoBot.Modules.Permissions } else { - WordFilteringChannels.Remove(channel.Id); + WordFilteringChannels.TryRemove(channel.Id); await channel.SendMessageAsync("`Word filtering disabled on this channel.`").ConfigureAwait(false); } } @@ -215,7 +215,7 @@ namespace NadekoBot.Modules.Permissions } else { - filteredWords.Remove(word); + filteredWords.TryRemove(word); await channel.SendMessageAsync($"Word `{word}` removed from the list of filtered words.") .ConfigureAwait(false); } diff --git a/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs b/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs index b18bd349..093328bc 100644 --- a/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs @@ -195,7 +195,7 @@ namespace NadekoBot.Modules.Searches toRemove = streams.Where(fs => fs.ChannelId == channel.Id && fs.Username.ToUpperInvariant() == username).FirstOrDefault(); if (toRemove != null) { - config.FollowedStreams = streams.Except(new[] { toRemove }).ToList(); + config.FollowedStreams = new HashSet(streams.Except(new[] { toRemove })); await uow.CompleteAsync(); } } diff --git a/src/NadekoBot/Services/Database/NadekoContext.cs b/src/NadekoBot/Services/Database/NadekoContext.cs index 83fc449e..347ad469 100644 --- a/src/NadekoBot/Services/Database/NadekoContext.cs +++ b/src/NadekoBot/Services/Database/NadekoContext.cs @@ -5,6 +5,7 @@ using System.Linq; using System.Threading.Tasks; using JetBrains.Annotations; using NadekoBot.Services.Database.Models; +using NadekoBot.Extensions; namespace NadekoBot.Services.Database { @@ -47,7 +48,7 @@ namespace NadekoBot.Services.Database { var bc = new BotConfig(); - bc.ModulePrefixes.AddRange(new ConcurrentHashSet() + bc.ModulePrefixes.AddRange(new HashSet() { new ModulePrefix() { ModuleName = "Administration", Prefix = "." }, new ModulePrefix() { ModuleName = "Searches", Prefix = "~" }, @@ -64,7 +65,7 @@ namespace NadekoBot.Services.Database new ModulePrefix() { ModuleName = "Utility", Prefix = "." }, new ModulePrefix() { ModuleName = "CustomReactions", Prefix = "." } }); - bc.RaceAnimals.AddRange(new ConcurrentHashSet + bc.RaceAnimals.AddRange(new HashSet { new RaceAnimal { Icon = "🐼", Name = "Panda" }, new RaceAnimal { Icon = "🐻", Name = "Bear" }, @@ -75,7 +76,7 @@ namespace NadekoBot.Services.Database new RaceAnimal { Icon = "🦀", Name = "Crab" }, new RaceAnimal { Icon = "🦄", Name = "Unicorn" } }); - bc.EightBallResponses.AddRange(new ConcurrentHashSet + bc.EightBallResponses.AddRange(new HashSet { new EightBallResponse() { Text = "Most definitely yes" }, new EightBallResponse() { Text = "For sure" }, diff --git a/src/NadekoBot/_Extensions/Extensions.cs b/src/NadekoBot/_Extensions/Extensions.cs index d73eab9b..b1722e12 100644 --- a/src/NadekoBot/_Extensions/Extensions.cs +++ b/src/NadekoBot/_Extensions/Extensions.cs @@ -23,6 +23,14 @@ namespace NadekoBot.Extensions http.DefaultRequestHeaders.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); } + public static void AddRange(this HashSet target, IEnumerable elements) where T : class + { + foreach (var item in elements) + { + target.Add(item); + } + } + public static bool IsInteger(this decimal number) => number == Math.Truncate(number); public static string SanitizeMentions(this string str) => From efb367c645a62db59e7a2d2977343a70b61f1097 Mon Sep 17 00:00:00 2001 From: Jordan Fearnley Date: Mon, 10 Oct 2016 06:48:46 +0100 Subject: [PATCH 090/135] Update Permissions System.md --- docs/Permissions System.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/Permissions System.md b/docs/Permissions System.md index f6386782..3e6a138a 100644 --- a/docs/Permissions System.md +++ b/docs/Permissions System.md @@ -1,13 +1,13 @@ Permissions Overview =================== Have you ever felt confused or even overwhelmed when trying to set Nadeko's permissions? In this guide we will be explaining how to use the -permission commands correctly and even cover a few common questions! Every command we discuss here can be found in the [Commands List](http://nadekobot.readthedocs.io/en/latest/Commands%20List/#permissions). +permission commands correctly and even cover a few common questions! Every command we discuss here can be found in the [Commands List](http://nadekobot.readthedocs.io/en/1.0/Commands%20List/#permissions). -**To see the old guide for versions 0.9 and below, see [here](http://nadekobot.readthedocs.io/en/stable/Permissions%20System/)** +**To see the old guide for versions 0.9 and below, see [here](http://nadekobot.readthedocs.io/en/latest/Permissions%20System/)** Why do we use the Permissions Commands? ------------------------------ -Permissions are very handy at setting who can use what commands in a server. By default, the NSFW module is blocked, but nothing else is. If something is a bot owner only command, it can only be ran by the bot owner, the person who is running the bot, or has their id in [`credentials.json`](http://nadekobot.readthedocs.io/en/latest/JSON%20Explanations/ "Setting up your credentials"). +Permissions are very handy at setting who can use what commands in a server. By default, the NSFW module is blocked, but nothing else is. If something is a bot owner only command, it can only be ran by the bot owner, the person who is running the bot, or has their id in [`credentials.json`](http://nadekobot.readthedocs.io/en/1.0/JSON%20Explanations/ "Setting up your credentials"). The administration module still requires that you have the correct permissions on discord to be able to use these commands, so for users to be able to use commands like `.kick` and `.prune`, they need kick and mange messages permissions respectively. @@ -25,7 +25,7 @@ If you would like to set a different role, such as "Admins", to be the role requ Basics & Hierarchy ----- -The [Commands List](http://nadekobot.readthedocs.io/en/latest/Commands%20List/#permissions) is a great resource which lists **all** the available commands, however we'll go over a few commands here. +The [Commands List](http://nadekobot.readthedocs.io/en/1.0/Commands%20List/#permissions) is a great resource which lists **all** the available commands, however we'll go over a few commands here. Firstly, let's explain how the permissions system works - It's simple once you figure out how each command works! The permissions system works as a chain, everytime a command is used, the permissions chain is checked. Starting from the top of the chain, the command is compared to a rule, if it isn't either allowed or disallowed by that rule it proceeds to check the next rule all the way till it reaches the bottom rule, which allows all commands. From e92db040bed18eb99bc8dc86b2c8f6fbc05c1e6e Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 10 Oct 2016 10:06:06 +0200 Subject: [PATCH 091/135] Message forwarding with appropriate commands --- .../Commands/DMForwardCommands.cs | 89 +++++++++++++++++++ src/NadekoBot/NadekoBot.cs | 3 + .../Resources/CommandStrings.Designer.cs | 54 +++++++++++ src/NadekoBot/Resources/CommandStrings.resx | 18 ++++ src/NadekoBot/Services/CommandHandler.cs | 39 +++++++- 5 files changed, 199 insertions(+), 4 deletions(-) create mode 100644 src/NadekoBot/Modules/Administration/Commands/DMForwardCommands.cs diff --git a/src/NadekoBot/Modules/Administration/Commands/DMForwardCommands.cs b/src/NadekoBot/Modules/Administration/Commands/DMForwardCommands.cs new file mode 100644 index 00000000..9a872341 --- /dev/null +++ b/src/NadekoBot/Modules/Administration/Commands/DMForwardCommands.cs @@ -0,0 +1,89 @@ +using Discord; +using Discord.Commands; +using NadekoBot.Attributes; +using NadekoBot.Services; +using NadekoBot.Services.Database; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace NadekoBot.Modules.Administration +{ + public partial class Administration + { + [Group] + public class DMForwardCommands + { + private static bool ForwardDMs { get; set; } + private static bool ForwardDMsToAllOwners { get; set; } + + static DMForwardCommands() + { + using (var uow = DbHandler.UnitOfWork()) + { + var config = uow.BotConfig.GetOrCreate(); + ForwardDMs = config.ForwardMessages; + ForwardDMsToAllOwners = config.ForwardToAllOwners; + } + } + + [NadekoCommand, Usage, Description, Aliases] + [OwnerOnly] + public async Task ForwardMessages(IUserMessage imsg) + { + var channel = imsg.Channel; + + using (var uow = DbHandler.UnitOfWork()) + { + var config = uow.BotConfig.GetOrCreate(); + ForwardDMs = config.ForwardMessages = !config.ForwardMessages; + uow.Complete(); + } + if (ForwardDMs) + await channel.SendMessageAsync("`I will forward DMs from now on.`").ConfigureAwait(false); + else + await channel.SendMessageAsync("`I will stop forwarding DMs.`").ConfigureAwait(false); + } + + [NadekoCommand, Usage, Description, Aliases] + [OwnerOnly] + public async Task ForwardToAll(IUserMessage imsg) + { + var channel = imsg.Channel; + + using (var uow = DbHandler.UnitOfWork()) + { + var config = uow.BotConfig.GetOrCreate(); + ForwardDMsToAllOwners = config.ForwardToAllOwners = !config.ForwardToAllOwners; + uow.Complete(); + } + if (ForwardDMsToAllOwners) + await channel.SendMessageAsync("`I will forward DMs to all owners.`").ConfigureAwait(false); + else + await channel.SendMessageAsync("`I will forward DMs only to the first owner.`").ConfigureAwait(false); + + } + + public static async Task HandleDMForwarding(IMessage msg, List ownerChannels) + { + if (ForwardDMs && ownerChannels.Any()) + { + var toSend = $"`I received a message from {msg.Author} ({msg.Author.Id})`: {msg.Content}"; + if (ForwardDMsToAllOwners) + { + var msgs = await Task.WhenAll(ownerChannels.Where(ch => ch.Recipient.Id != msg.Author.Id) + .Select(ch => ch.SendMessageAsync(toSend))).ConfigureAwait(false); + } + else + { + var firstOwnerChannel = ownerChannels.First(); + if (firstOwnerChannel.Recipient.Id != msg.Author.Id) + try { await firstOwnerChannel.SendMessageAsync(msg.Content).ConfigureAwait(false); } catch { } + } + } + } + } + } +} diff --git a/src/NadekoBot/NadekoBot.cs b/src/NadekoBot/NadekoBot.cs index bf26ad28..0b8e3e7e 100644 --- a/src/NadekoBot/NadekoBot.cs +++ b/src/NadekoBot/NadekoBot.cs @@ -88,6 +88,9 @@ namespace NadekoBot { ModulePrefixes = new ReadOnlyDictionary(uow.BotConfig.GetOrCreate().ModulePrefixes.ToDictionary(m => m.ModuleName, m => m.Prefix)); } + // start handling messages received in commandhandler + await CommandHandler.StartHandling(); + await CommandService.LoadAssembly(Assembly.GetEntryAssembly(), depMap).ConfigureAwait(false); Console.WriteLine(await Stats.Print().ConfigureAwait(false)); diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index 45b92683..7595805c 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -2381,6 +2381,60 @@ namespace NadekoBot.Resources { } } + /// + /// Looks up a localized string similar to fwmsgs. + /// + public static string forwardmessages_cmd { + get { + return ResourceManager.GetString("forwardmessages_cmd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles forwarding of non-command messages sent to bot's DM to the bot owners. + /// + public static string forwardmessages_desc { + get { + return ResourceManager.GetString("forwardmessages_desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to `.fwmsgs`. + /// + public static string forwardmessages_usage { + get { + return ResourceManager.GetString("forwardmessages_usage", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to fwtoall. + /// + public static string forwardtoall_cmd { + get { + return ResourceManager.GetString("forwardtoall_cmd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Toggles whether messages will be forwarded to all bot owners or only to the first one specified in the credentials.json. + /// + public static string forwardtoall_desc { + get { + return ResourceManager.GetString("forwardtoall_desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to `.fwtoall`. + /// + public static string forwardtoall_usage { + get { + return ResourceManager.GetString("forwardtoall_usage", resourceCulture); + } + } + /// /// Looks up a localized string similar to gelbooru. /// diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index 8af562f3..1ea02dbc 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -2619,4 +2619,22 @@ `$sh` + + fwmsgs + + + Toggles forwarding of non-command messages sent to bot's DM to the bot owners + + + `.fwmsgs` + + + fwtoall + + + Toggles whether messages will be forwarded to all bot owners or only to the first one specified in the credentials.json + + + `.fwtoall` + \ No newline at end of file diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index da9cbe68..4516bb90 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -17,15 +17,30 @@ using NadekoBot.Extensions; using static NadekoBot.Modules.Permissions.Permissions; using System.Collections.Concurrent; using NadekoBot.Modules.Help; +using static NadekoBot.Modules.Administration.Administration; namespace NadekoBot.Services { + public class IGuildUserComparer : IEqualityComparer + { + public bool Equals(IGuildUser x, IGuildUser y) + { + return x.Id == y.Id; + } + + public int GetHashCode(IGuildUser obj) + { + return obj.Id.GetHashCode(); + } + } public class CommandHandler { - private ShardedDiscordClient _client; + private ShardedDiscordClient _client; private CommandService _commandService; private Logger _log; + private List ownerChannels { get; set; } + public event EventHandler CommandExecuted = delegate { }; public CommandHandler(ShardedDiscordClient client, CommandService commandService) @@ -33,6 +48,20 @@ namespace NadekoBot.Services _client = client; _commandService = commandService; _log = LogManager.GetCurrentClassLogger(); + } + public async Task StartHandling() + { + ownerChannels = (await Task.WhenAll(_client.GetGuilds().SelectMany(g => g.GetUsers()) + .Where(u => NadekoBot.Credentials.OwnerIds.Contains(u.Id)) + .Distinct(new IGuildUserComparer()) + .Select(async u => { try { return await u.CreateDMChannelAsync(); } catch { return null; } }))) + .Where(ch => ch != null) + .ToList(); + + if (!ownerChannels.Any()) + _log.Warn("No owner channels created! Make sure you've specified correct OwnerId in the credentials.json file."); + else + _log.Info($"Created {ownerChannels.Count} out of {NadekoBot.Credentials.OwnerIds.Length} owner message channels."); _client.MessageReceived += MessageReceivedHandler; } @@ -110,7 +139,7 @@ namespace NadekoBot.Services permRole = config.PermissionRole.Trim().ToLowerInvariant(); } - + } var throwaway = Task.Run(async () => @@ -158,7 +187,7 @@ namespace NadekoBot.Services if (guild != null && command != null && result.Error == CommandError.Exception) { if (verbose) - await msg.Channel.SendMessageAsync(":warning: " + result.ErrorReason).ConfigureAwait(false); + try { await msg.Channel.SendMessageAsync(":warning: " + result.ErrorReason).ConfigureAwait(false); } catch { } } } else @@ -166,6 +195,8 @@ namespace NadekoBot.Services if (msg.Channel is IPrivateChannel) { await msg.Channel.SendMessageAsync(Help.DMHelpString).ConfigureAwait(false); + + await DMForwardCommands.HandleDMForwarding(msg, ownerChannels); } } } @@ -185,7 +216,7 @@ namespace NadekoBot.Services } } - public async Task> ExecuteCommand(IUserMessage message, string input, IGuild guild, IUser user, Permission rootPerm, string permRole, MultiMatchHandling multiMatchHandling = MultiMatchHandling.Best) { + public async Task> ExecuteCommand(IUserMessage message, string input, IGuild guild, IUser user, Permission rootPerm, string permRole, MultiMatchHandling multiMatchHandling = MultiMatchHandling.Best) { var searchResult = _commandService.Search(message, input); if (!searchResult.IsSuccess) return new Tuple(null, searchResult); From 37e937123034b586427f8316f37edb26ad22cb9c Mon Sep 17 00:00:00 2001 From: Jordan Fearnley Date: Mon, 10 Oct 2016 09:14:13 +0100 Subject: [PATCH 092/135] Update FAQ for 1.0 release Removed `Question 3: Music isn't working on Mac!!` and `Question 13: I want "BOT" tag with my bot a, is there a simple way?` Updated links to point to the right place and a few other minor edits --- docs/Frequently Asked Questions.md | 73 ++++++++++++++++-------------- 1 file changed, 38 insertions(+), 35 deletions(-) diff --git a/docs/Frequently Asked Questions.md b/docs/Frequently Asked Questions.md index 804444d4..df2a08b7 100644 --- a/docs/Frequently Asked Questions.md +++ b/docs/Frequently Asked Questions.md @@ -3,68 +3,71 @@ ###Question 1: How do I get Nadeko to join my server? ---- -**Answer:** Simply send Nadeko a Direct Message with -h and follow the link. **Only Server Owners can add the bot to the server** +**Answer:** Simply send Nadeko a Direct Message with -h and follow the link. **Only People with the Manage Server permission can add the bot to the server** + ###Question 2: I want to change permissions, but it isn't working! ---- -**Answer:** You must have the ;permsrole (by default this is the "Nadeko" role, for more details on permissions check [here](http://nadekobot.readthedocs.io/en/latest/Permissions%20System/ "Permissions")) +**Answer:** You must have the ;permrole (by default this is the "Nadeko" role, for more details on permissions check [here](http://nadekobot.readthedocs.io/en/1.0/Permissions%20System/ "Permissions"). If you have a role called `Nadeko` but can't assign it, just create a new Role and assign that instead.) -**Please note:** *Only the Server Owner can change permissions without the "Nadeko" role*. -###Question 3: Music isn't working on Mac!! ----- -**Answer:** You will have to build `mono` from source. Simply follow the [mono-guide](http://www.mono-project.com/docs/compiling-mono/mac/ "Building mono"). -###Question 4: I want to disable NSFW on my server. +###Question 3: I want to disable NSFW on my server. ---- **Answer:** To disable the NSFW Module for your server type, `;sm NSFW disable`. If this does not work refer to Question 2. -###Question 5: How do I get NadekoFlowers/Currency? ----- -**Answer:** You get NadekoFlowers by answering Trivia questions or picking them up after they have been generated with `>gc`, which you can then either plant (give away to a channel so that someone can pick it), gamble it with `$betflip`, `$betroll` and `$jr`, or spend on healing and setting your type in the Pokemon game. -###Question 6: I have an issue/bug/suggestion, where do I put it so it gets noticed? ------------ -**Answer:** First, check [issues](https://github.com/Kwoth/NadekoBot/issues "GitHub NadekoBot Issues"), then check the `#suggestions` in the Nadeko [help server](https://discord.gg/0ehQwTK2RBjAxzEY). -If your problem or suggestion is not there, feel free to request it either in Issues or in `#suggestions`. -###Question 7: How do I use this command? +###Question 4: How do I get NadekoFlowers/Currency? +---- +**Answer:** You can get NadekoFlowers by picking them up after they have been generated with `>gc`, which you can then either plant (give away to a channel so that someone can pick it), or gamble with for potentinal profit with `$betflip`, `$betroll` and `$jr` + +###Question 5: I have an issue/bug/suggestion, where do I put it so it gets noticed? +----------- +**Answer:** First, check [issues](https://github.com/Kwoth/NadekoBot/issues "GitHub NadekoBot Issues"), then check the `#suggestions` channel in the Nadeko [help server](https://discord.gg/0ehQwTK2RBjAxzEY). + +If your problem or suggestion is not there, feel free to request/notify us about it either in the Issues section of GitHub for issues or in the `#suggestions` channel on the Nadeko help server for suggestions. + +###Question 6: How do I use this command? -------- **Answer:** You can see the description and usage of certain commands by using `-h command` **i.e** `-h ;sm`. -The whole list of commands can be found [here](http://nadekobot.readthedocs.io/en/latest/Commands%20List/ "Command List") -###Question 8: Music isn't working? ----- -**Answer:** Music is disabled on public Nadeko, it will be re-enabled later in the future. +The whole list of commands can be found [here](http://nadekobot.readthedocs.io/en/1.0/Commands%20List/ "Command List") -**If you would like music you must host Nadeko yourself**. Be sure you have FFMPEG installed correctly, read the [guide](http://nadekobot.readthedocs.io/en/latest/guides/Windows%20Guide/) for more info. -###Question 9: My music is still not working/very laggy? +###Question 7: Music isn't working? ---- -**Answer:** Try changing your discord [location][1], if this doesn't work be sure you have enabled the correct permissions for Nadeko. +**Answer:** Music is disabled on public Nadeko due to large hosting costs, it will be re-enabled later in the future for donators. + +**If you would like music in the meantime, you must host Nadeko yourself**. Be sure you have FFMPEG installed correctly, and have followed the [guide](http://nadekobot.readthedocs.io/en/1.0/guides/Windows%20Guide/) carefully. + +###Question 8: My music is still not working/very laggy? +---- +**Answer:** Try changing your discord [location][1], if this doesn't work be sure you have enabled the correct permissions for Nadeko and rebooted since installing FFMPEG. [1]: https://support.discordapp.com/hc/en-us/articles/216661717-How-do-I-change-my-Voice-Server-Region- -###Question 10: I want to change data in the database (like NadekoFlowers or the pokemontypes of users, but how? + +###Question 9: I want to change data in the database (like NadekoFlowers or the pokemontypes of users, but how? ---- -**Answer:** Open data/nadekobot.sqlite using sqlitebrowser (or some alternative), Browse Data, select relevant table, change data, Write changes -###Question 11: The .greet and .bye commands doesn't work, but everything else is (From @Kong) +**Answer:** Open `/data/NadekoBot.db` using sqlitebrowser (or some alternative), Browse Data, select relevant table, change data, Write changes + +###Question 10: The .greet and .bye commands doesn't work, but everything else is (From @Kong) ----- -**Answer:** Set a greeting message by using `.greetmsg YourMessageHere` and a bye-message by using `.byemsg YourMessageHere` -###Question 12: How do I import certs on linux? +**Answer:** Set a greeting message by using `.greetmsg YourMessageHere` and a bye-message by using `.byemsg YourMessageHere`. Don't forget that `.greet` and `.bye` only apply to users joining a server, not coming online/offline. + +###Question 11: How do I import certs on linux? ------- **Answer:** `certmgr -ssl https://discordapp.com` `certmgr -ssl https://gateway.discord.gg` -###Question 13: I want "BOT" tag with my bot a, is there a simple way? ----- -**Answer:** Yes, you can create an application using your account and use the APP BOT USER TOKEN from here: [DiscordApp][1] **NOTE: This will create a new bot account** -[1]:https://discordapp.com/developers/applications/me -###Question 14: I made an application, but I can't add that new bot to my server, how do I invite it to my server? +###Question 12: I made an application, but I can't add that new bot to my server, how do I invite it to my server? ---- **Answer:** You need to use oauth link to add it to you server, just copy your CLIENT ID (that's in the same Developer page where you brought your token) and replace `12345678` in the link below: https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303 Follow this Detailed [Guide](http://discord.kongslien.net/guide.html) if you do not understand. -###Question 15:I'm building NadekoBot from source, but I get hundreds of (namespace) errors without changing anything!? + +###Question 13:I'm building NadekoBot from source, but I get hundreds of (namespace) errors without changing anything!? ----- **Answer:** Using Visual Studio, you can solve these errors by going to `Tools` -> `NuGet Package Manager` -> `Manage NuGet Packages for Solution`. Go to the Installed tab, select the Packages that were missing (usually `Newtonsoft.json` and `RestSharp`) and install them for all projects -###Question 16: My bot has all permissions but it's still saying, "Failed to add roles. Bot has insufficient permissions.". How do I fix this? + +###Question 14: My bot has all permissions but it's still saying, "Failed to add roles. Bot has insufficient permissions.". How do I fix this? ---------- -**Answer:** Discord has added a few new features and roles now follow hierarchy. This means you need to place your bot's role above every-other role your server has. +**Answer:** Discord has added a few new features and roles now follow hierarchy. This means you need to place your bot's role above every-other role your server has. [Here's](https://support.discordapp.com/hc/en-us/articles/214836687-Role-Management-101) a link to Discords role management 101. **Please Note:** *The bot can only set/add all roles below its own highest role. It can not assign it's "highest role" to anyone else.* From a25aedc08f08160a3d0e93b802d01a83ec98b4fe Mon Sep 17 00:00:00 2001 From: Jordan Fearnley Date: Mon, 10 Oct 2016 09:19:58 +0100 Subject: [PATCH 093/135] Contribution Guide updated for 1.0 release The hardest document I've had to edit yet! --- docs/Contribution Guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Contribution Guide.md b/docs/Contribution Guide.md index 41c7249a..2818756c 100644 --- a/docs/Contribution Guide.md +++ b/docs/Contribution Guide.md @@ -1,6 +1,6 @@ ### How to contribute -1. Make Pull Requests to **DEV BRANCH** +1. Make Pull Requests to the **1.0 BRANCH** 2. Keep 1 Pull Request to a single feature 3. Explain what you did in the PR message From 099367836ad7eef5136b0d63ddc9c7c6e2e21e9b Mon Sep 17 00:00:00 2001 From: Jordan Fearnley Date: Mon, 10 Oct 2016 09:55:45 +0100 Subject: [PATCH 094/135] Readme minor update Small changes to keep the readme inline with 1.0 --- docs/Readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/Readme.md b/docs/Readme.md index 7aefbd19..4268c8c3 100644 --- a/docs/Readme.md +++ b/docs/Readme.md @@ -4,7 +4,7 @@ - *Bot Owner Only* commands refer to the commands only the **owner** of the bot can use. - *Bot Owner Only* commands do **not** refer to the owner of the **server**, just the owner of the **bot**. -- *Owner of the bot* is a person who is **hosting** his own bot, and his **ID** is inside of **credentials.json** file. +- *Owner of the bot* is a person who is **hosting** their own bot, and their **ID** is inside of **credentials.json** file. - You are **not** the bot **owner** if you invited the bot using **Carbonitex** or other invitation links. ###Music on the public Nadeko @@ -17,11 +17,11 @@ ###NadekoFlowers - NadekoFlowers is the **currency** of the public Nadeko. -- NadekoFlowers can be earned by playing **trivia**, or other games, like betting games. +- NadekoFlowers can be `>pick`ed after Nadeko plants a flower randomly after `>gc` has been used on a channel - You can give NadekoFlowers to other users, using the command `$give X @person`. - You can only give flowers you **own**. - If you want to have **unlimited** number of flowers, you will have to **host** the bot. -- Command `$award X @person` can only be used by the *bot owner*. +- Commands `$award X @person` and `$take X @person` can only be used by the *bot owner*. - If you `>plant` the flower, flower will be avaliable for everyone to `>pick` it. In that case you will **lose** the flower. ###Manage Permissions From 8db0b08bf35503f152dbfc9d1e615206609b8404 Mon Sep 17 00:00:00 2001 From: Jordan Fearnley Date: Mon, 10 Oct 2016 17:27:22 +0100 Subject: [PATCH 095/135] Update Custom Reactions.md --- docs/Custom Reactions.md | 93 +++++++++++++--------------------------- 1 file changed, 30 insertions(+), 63 deletions(-) diff --git a/docs/Custom Reactions.md b/docs/Custom Reactions.md index 49e365ac..f0bfdc9a 100644 --- a/docs/Custom Reactions.md +++ b/docs/Custom Reactions.md @@ -1,69 +1,36 @@ ##Custom Reactions -

Important

-
    -
  • For modifying global custom reactions, the ones which will work across all the servers your bot is connected to, you must be a Bot Owner.
    You must also use the commands for adding, deleting and listing these reactions in a direct message with the bot.
  • -
  • For modifying local custom reactions, the ones which will only work on the server that they are added on, require you to have the Administrator permission.
    You must also use the commands for adding, deleting and listing these reactions in the server you want the custom reactions to work on.
  • -
-###Commands and Their Use - - - - - - - - - - - - - - - - - - - - - -
Command NameDescriptionExample
.acrAdd a custom reaction with a trigger and a response. Running this command in a server requries the Administrator permission. Running this command in DM is Bot Owner only, and adds a new global custom reaction. Guide here: http://nadekobot.readthedocs.io/en/1.0/Custom Reactions/.acr "hello" Hi there, %user%!
.lcrLists a page of global or server custom reactions (15 reactions per page). Running this command in a DM will list the global custom reactions, while running it in a server will list that server's custom reactions..lcr 1
.dcrDeletes a custom reaction based on the provided index. Running this command in a server requires the Administrator permission. Running this command in DM is Bot Owner only, and will delete a global custom reaction..dcr 5
+###Important +* For modifying **global** custom reactions, the ones which will work across all the servers your bot is connected to, you **must** be a Bot Owner.
You must also use the commands for adding, deleting and listing these reactions in a direct message with the bot. +* For modifying **local** custom reactions, the ones which will only work on the server that they are added on, require you to have the **Administrator** permission.
You must also use the commands for adding, deleting and listing these reactions in the server you want the custom reactions to work on. -

Now that we know the commands let's take a look at an example of adding a command with .acr,

-

.acr "Nice Weather" It sure is, %user%!

-

This command can be split into two different arguments:

  • The trigger "Nice Weather"
  • And the response, It sure is, %user%!

-

Because we wanted the trigger to be more than one word, we had to wrap it with quotation marks, "Like this" otherwise, only the first word would have been recognised as the trigger, and the second word would have been recognised as part of the response.

-

There's no special requirement for the formatting of the response, so we could just write it in exactly the same way we want it to respond, albeit with a placeholder - which will be explained in this next section

+###Commands and Their Use +| Command Name | Description | Example | +|:------------:|-------------|---------| +|`.acr`|Add a custom reaction with a trigger and a response. Running this command in a server requries the Administrator permission. Running this command in DM is Bot Owner only, and adds a new global custom reaction. Guide [here](http://nadekobot.readthedocs.io/en/1.0/Custom%20Reactions/)|`.acr "hello" Hi there, %user%!`| +|`.lcr`|Lists a page of global or server custom reactions (15 reactions per page). Running this command in a DM will list the global custom reactions, while running it in a server will list that server's custom reactions.|`.lcr 1`| +|`.dcr`|Deletes a custom reaction based on the provided index. Running this command in a server requires the Administrator permission. Running this command in DM is Bot Owner only, and will delete a global custom reaction.|`.dcr 5`| + + +####Now that we know the commands let's take a look at an example of adding a command with `.acr`, +`.acr "Nice Weather" It sure is, %user%!` + +This command can be split into two different arguments: +* The trigger `"Nice Weather"` +* And the response, `It sure is, %user%!` + +Because we wanted the trigger to be more than one word, we had to wrap it with quotation marks, `"Like this"` otherwise, only the first word would have been recognised as the trigger, and the second word would have been recognised as part of the response. + +There's no special requirement for the formatting of the response, so we could just write it in exactly the same way we want it to respond, albeit with a placeholder - which will be explained in this next section ###Placeholders! -

There are currently three different placeholders which we will look at, with more placeholders potentially coming in the future.

+There are currently three different placeholders which we will look at, with more placeholders potentially coming in the future. - - - - - - - - - - - - - - - - - - - - - -
PlaceholderHow the placeholder worksExamples
%mention%The %mention% placeholder is triggered when you type @botname - It's important to note that if you've given the bot a nickname, this trigger won't work!.acr "%mention% Hello" Hello! > User input: @botname Hello | Bot Replies: Hello!
%user%The %user% placeholder mentions the person who said the command.acr "Who am I" You are %user%!
%rng%The %rng% generates a random number between 0 and 10.acr Random %rng% -
- +| Placeholder | How the placeholder works | Example Usage | Input | Output | +|:-----------:|---------------------------|---------------|-------|--------| +|`%mention`|The `%mention%` placeholder is triggered when you type `@BotName` - It's important to note that if you've given the bot a custom nickname, this trigger won't work!|`.acr "Hello %mention%" I, %mention%, also say hello!`|Hello @BotName|I, @BotName, also say hello!| +|`%user%`|The `%user%` placeholder mentions the person who said the command|`.acr "Who am I?" You are %user%!`|Who am I?|You are, @Username| +|`%rng%`|The `%rng%` placeholder generates a random number between 0 and 10|`.acr "Random number" %rng%`|Random number|2| + + + Thanks to Nekai for being creative. <3 From 9561c06ad5d110d5a584a02ff90430ead04e9f65 Mon Sep 17 00:00:00 2001 From: Jordan Fearnley Date: Mon, 10 Oct 2016 17:36:23 +0100 Subject: [PATCH 096/135] Custom Reactions rewritten in Markdown It's all in markdown now, rather than HTML! Added clarification on how the placeholders are used. `%target%`'s old implementation is there as a comment, ready for it's return --- docs/Custom Reactions.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/Custom Reactions.md b/docs/Custom Reactions.md index f0bfdc9a..4849bf8b 100644 --- a/docs/Custom Reactions.md +++ b/docs/Custom Reactions.md @@ -1,7 +1,9 @@ ##Custom Reactions ###Important -* For modifying **global** custom reactions, the ones which will work across all the servers your bot is connected to, you **must** be a Bot Owner.
You must also use the commands for adding, deleting and listing these reactions in a direct message with the bot. -* For modifying **local** custom reactions, the ones which will only work on the server that they are added on, require you to have the **Administrator** permission.
You must also use the commands for adding, deleting and listing these reactions in the server you want the custom reactions to work on. +* For modifying **global** custom reactions, the ones which will work across all the servers your bot is connected to, you **must** be a Bot Owner. +You must also use the commands for adding, deleting and listing these reactions in a direct message with the bot. +* For modifying **local** custom reactions, the ones which will only work on the server that they are added on, require you to have the **Administrator** permission. +You must also use the commands for adding, deleting and listing these reactions in the server you want the custom reactions to work on. ###Commands and Their Use | Command Name | Description | Example | @@ -28,9 +30,9 @@ There are currently three different placeholders which we will look at, with mor | Placeholder | How the placeholder works | Example Usage | Input | Output | |:-----------:|---------------------------|---------------|-------|--------| |`%mention`|The `%mention%` placeholder is triggered when you type `@BotName` - It's important to note that if you've given the bot a custom nickname, this trigger won't work!|`.acr "Hello %mention%" I, %mention%, also say hello!`|Hello @BotName|I, @BotName, also say hello!| -|`%user%`|The `%user%` placeholder mentions the person who said the command|`.acr "Who am I?" You are %user%!`|Who am I?|You are, @Username| +|`%user%`|The `%user%` placeholder mentions the person who said the command|`.acr "Who am I?" You are %user%!`|Who am I?|You are @Username!| |`%rng%`|The `%rng%` placeholder generates a random number between 0 and 10|`.acr "Random number" %rng%`|Random number|2| - +[//]: # (|`%target%`|The `%target%` placeholder is used to make Nadeko Mention another person or phrase|`.acr "Say this: " %target%|Say this: I, @BotName, am a parrot!|I, @BotName, am a parrot!|) - Thanks to Nekai for being creative. <3 + Thanks to Nekai for being creative. <3 From 4150bb13b5cf1fa36ae8b284d7a17dfa04d388ff Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 10 Oct 2016 19:18:50 +0200 Subject: [PATCH 097/135] Typing articles are loaded from .json in data now --- .../Games/Commands}/Models/TypingArticle.cs | 6 +- .../Games/Commands/SpeedTypingCommands.cs | 38 ++-- .../Services/Database/IUnitOfWork.cs | 1 - .../Services/Database/NadekoContext.cs | 5 - .../Repositories/ITypingArticlesRepository.cs | 14 -- .../Impl/TypingArticlesRepository.cs | 25 --- src/NadekoBot/Services/Database/UnitOfWork.cs | 3 - src/NadekoBot/data/typing_articles.json | 180 +++++++++--------- 8 files changed, 117 insertions(+), 155 deletions(-) rename src/NadekoBot/{Services/Database => Modules/Games/Commands}/Models/TypingArticle.cs (57%) delete mode 100644 src/NadekoBot/Services/Database/Repositories/ITypingArticlesRepository.cs delete mode 100644 src/NadekoBot/Services/Database/Repositories/Impl/TypingArticlesRepository.cs diff --git a/src/NadekoBot/Services/Database/Models/TypingArticle.cs b/src/NadekoBot/Modules/Games/Commands/Models/TypingArticle.cs similarity index 57% rename from src/NadekoBot/Services/Database/Models/TypingArticle.cs rename to src/NadekoBot/Modules/Games/Commands/Models/TypingArticle.cs index 508ace03..6f7bb231 100644 --- a/src/NadekoBot/Services/Database/Models/TypingArticle.cs +++ b/src/NadekoBot/Modules/Games/Commands/Models/TypingArticle.cs @@ -4,11 +4,11 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace NadekoBot.Services.Database.Models +namespace NadekoBot.Modules.Games.Commands.Models { - public class TypingArticle : DbEntity + public class TypingArticle { - public string Author { get; set; } + public string Title { get; set; } public string Text { get; set; } } } diff --git a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs index 2b092d78..7cbcdc2c 100644 --- a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs @@ -3,13 +3,17 @@ using Discord.Commands; using Discord.WebSocket; using NadekoBot.Attributes; using NadekoBot.Extensions; +using NadekoBot.Modules.Games.Commands.Models; using NadekoBot.Services; using NadekoBot.Services.Database; +using NadekoBot.Services.Database.Models; +using Newtonsoft.Json; using NLog; using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Diagnostics; +using System.IO; using System.Linq; using System.Threading.Tasks; @@ -72,7 +76,7 @@ namespace NadekoBot.Modules.Games } catch (Exception ex) { _log.Warn(ex); } - await msg.ModifyAsync(m => m.Content = $"**{Format.Sanitize(CurrentSentence.Replace(" ", " \x200B")).SanitizeMentions()}").ConfigureAwait(false); + await msg.ModifyAsync(m => m.Content = Format.Bold(Format.Sanitize(CurrentSentence.Replace(" ", " \x200B")).SanitizeMentions())).ConfigureAwait(false); sw.Start(); HandleAnswers(); @@ -94,10 +98,10 @@ namespace NadekoBot.Modules.Games public string GetRandomSentence() { - using (var uow = DbHandler.UnitOfWork()) - { - return uow.TypingArticles.GetRandom()?.Text ?? $"No typing articles found. Use {NadekoBot.ModulePrefixes[typeof(Games).Name]}typeadd command to add a new article for typing."; - } + if (SpeedTypingCommands.TypingArticles.Any()) + return SpeedTypingCommands.TypingArticles[new NadekoRandom().Next(0, SpeedTypingCommands.TypingArticles.Count)].Text; + else + return $"No typing articles found. Use {NadekoBot.ModulePrefixes[typeof(Games).Name]}typeadd command to add a new article for typing."; } @@ -146,6 +150,14 @@ namespace NadekoBot.Modules.Games public class SpeedTypingCommands { + public static List TypingArticles { get; } = new List(); + + const string typingArticlesPath = "data/typing_articles.json"; + + static SpeedTypingCommands() + { + try { TypingArticles = JsonConvert.DeserializeObject>(File.ReadAllText(typingArticlesPath)); } catch { } + } public static ConcurrentDictionary RunningContests; public SpeedTypingCommands() @@ -195,16 +207,14 @@ namespace NadekoBot.Modules.Games public async Task Typeadd(IUserMessage imsg, [Remainder] string text) { var channel = (ITextChannel)imsg.Channel; - - using (var uow = DbHandler.UnitOfWork()) + + TypingArticles.Add(new TypingArticle { - uow.TypingArticles.Add(new Services.Database.Models.TypingArticle - { - Author = imsg.Author.Username, - Text = text.SanitizeMentions(), - }); - await uow.CompleteAsync().ConfigureAwait(false); - } + Title = $"Text added on {DateTime.UtcNow} by {imsg.Author}", + Text = text.SanitizeMentions(), + }); + + File.WriteAllText(typingArticlesPath, JsonConvert.SerializeObject(TypingArticles)); await channel.SendMessageAsync("Added new article for typing game.").ConfigureAwait(false); } diff --git a/src/NadekoBot/Services/Database/IUnitOfWork.cs b/src/NadekoBot/Services/Database/IUnitOfWork.cs index 68d99b0e..a56fafdb 100644 --- a/src/NadekoBot/Services/Database/IUnitOfWork.cs +++ b/src/NadekoBot/Services/Database/IUnitOfWork.cs @@ -22,7 +22,6 @@ namespace NadekoBot.Services.Database IUnitConverterRepository ConverterUnits { get; } ICustomReactionRepository CustomReactions { get; } ICurrencyRepository Currency { get; } - ITypingArticlesRepository TypingArticles { get; } IMusicPlaylistRepository MusicPlaylists { get; } int Complete(); diff --git a/src/NadekoBot/Services/Database/NadekoContext.cs b/src/NadekoBot/Services/Database/NadekoContext.cs index 347ad469..0f0b5325 100644 --- a/src/NadekoBot/Services/Database/NadekoContext.cs +++ b/src/NadekoBot/Services/Database/NadekoContext.cs @@ -22,7 +22,6 @@ namespace NadekoBot.Services.Database public DbSet Repeaters { get; set; } public DbSet Currency { get; set; } public DbSet ConversionUnits { get; set; } - public DbSet TypingArticles { get; set; } public DbSet MusicPlaylists { get; set; } public DbSet CustomReactions { get; set; } @@ -107,10 +106,6 @@ namespace NadekoBot.Services.Database this.SaveChanges(); } - if (!TypingArticles.Any()) - { - //todo load default typing articles - } } protected override void OnModelCreating(ModelBuilder modelBuilder) diff --git a/src/NadekoBot/Services/Database/Repositories/ITypingArticlesRepository.cs b/src/NadekoBot/Services/Database/Repositories/ITypingArticlesRepository.cs deleted file mode 100644 index d60dae77..00000000 --- a/src/NadekoBot/Services/Database/Repositories/ITypingArticlesRepository.cs +++ /dev/null @@ -1,14 +0,0 @@ -using NadekoBot.Services.Database.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace NadekoBot.Services.Database.Repositories -{ - public interface ITypingArticlesRepository : IRepository - { - TypingArticle GetRandom(); - } -} diff --git a/src/NadekoBot/Services/Database/Repositories/Impl/TypingArticlesRepository.cs b/src/NadekoBot/Services/Database/Repositories/Impl/TypingArticlesRepository.cs deleted file mode 100644 index 2b47b729..00000000 --- a/src/NadekoBot/Services/Database/Repositories/Impl/TypingArticlesRepository.cs +++ /dev/null @@ -1,25 +0,0 @@ -using NadekoBot.Services.Database.Models; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Microsoft.EntityFrameworkCore; - -namespace NadekoBot.Services.Database.Repositories.Impl -{ - public class TypingArticlesRepository : Repository, ITypingArticlesRepository - { - private Random _rand = null; - private Random rand => _rand ?? (_rand = new NadekoRandom()); - public TypingArticlesRepository(DbContext context) : base(context) - { - } - - public TypingArticle GetRandom() - { - var skip = (int)(rand.NextDouble() * _set.Count()); - return _set.Skip(skip).FirstOrDefault(); - } - } -} diff --git a/src/NadekoBot/Services/Database/UnitOfWork.cs b/src/NadekoBot/Services/Database/UnitOfWork.cs index 7079b9ee..43cc5f6d 100644 --- a/src/NadekoBot/Services/Database/UnitOfWork.cs +++ b/src/NadekoBot/Services/Database/UnitOfWork.cs @@ -42,9 +42,6 @@ namespace NadekoBot.Services.Database private IUnitConverterRepository _conUnits; public IUnitConverterRepository ConverterUnits => _conUnits ?? (_conUnits = new UnitConverterRepository(_context)); - private ITypingArticlesRepository _typingArticles; - public ITypingArticlesRepository TypingArticles => _typingArticles ?? (_typingArticles = new TypingArticlesRepository(_context)); - private IMusicPlaylistRepository _musicPlaylists; public IMusicPlaylistRepository MusicPlaylists => _musicPlaylists ?? (_musicPlaylists = new MusicPlaylistRepository(_context)); diff --git a/src/NadekoBot/data/typing_articles.json b/src/NadekoBot/data/typing_articles.json index 9cdf745b..1a4581fe 100644 --- a/src/NadekoBot/data/typing_articles.json +++ b/src/NadekoBot/data/typing_articles.json @@ -1,361 +1,361 @@ [ { "Title":"The Gender of Psychology", - "Description":"This book addresses the diversity of psychological knowledge and practice through the lens of gender." + "Text":"This book addresses the diversity of psychological knowledge and practice through the lens of gender." }, { "Title":"Unto Others: The Evolution and Psychology of Unselfish", - "Description":"In Unto Others philosopher Elliott Sober and biologist David Sloan Wilson demonstrate once and for all that unselfish behavior is in fact an important feature of both biological and human nature." + "Text":"In Unto Others philosopher Elliott Sober and biologist David Sloan Wilson demonstrate once and for all that unselfish behavior is in fact an important feature of both biological and human nature." }, { "Title":"Forensic and Legal Psychology", - "Description":"Using research in clinical, cognitive, developmental, and social psychology, Forensic and Legal Psychology shows how psychological science can enhance the gathering and presentation of evidence, improve legal decision-making, prevent crime," + "Text":"Using research in clinical, cognitive, developmental, and social psychology, Forensic and Legal Psychology shows how psychological science can enhance the gathering and presentation of evidence, improve legal decision-making, prevent crime," }, { "Title":"International Handbook of Psychology in Education", - "Description":"Suitable for researchers, practitioners and advisers working in the fields of psychology and education, this title presents an overview of the research within the domain of psychology of education." + "Text":"Suitable for researchers, practitioners and advisers working in the fields of psychology and education, this title presents an overview of the research within the domain of psychology of education." }, { "Title":"Handbook of Personality Psychology", - "Description":"This comprehensive reference work on personality psychology discusses the development and measurement of personality, biological and social determinants, dynamic personality processes, the personality's relation to the self, and personality" + "Text":"This comprehensive reference work on personality psychology discusses the development and measurement of personality, biological and social determinants, dynamic personality processes, the personality's relation to the self, and personality" }, { "Title":"Dictionary of Theories, Laws, and Concepts in Psychology", - "Description":"A fully cross-referenced and source-referenced dictionary which gives definitions of psychological terms as well as the history, critique, and relevant references for the terms." + "Text":"A fully cross-referenced and source-referenced dictionary which gives definitions of psychological terms as well as the history, critique, and relevant references for the terms." }, { "Title":"Essays on Plato's Psychology", - "Description":"With a comprehensive introduction to the major issues of Plato's psychology and an up-to-date bibliography of work on the relevant issues, this much-needed text makes the study of Plato's psychology accessible to scholars in ancient Greek" + "Text":"With a comprehensive introduction to the major issues of Plato's psychology and an up-to-date bibliography of work on the relevant issues, this much-needed text makes the study of Plato's psychology accessible to scholars in ancient Greek" }, { "Title":"Psychology Statistics For Dummies", - "Description":"As an alternative to typical, lead-heavy statistics texts or supplements to assigned course reading, this is one book psychology students won't want to be without." + "Text":"As an alternative to typical, lead-heavy statistics texts or supplements to assigned course reading, this is one book psychology students won't want to be without." }, { "Title":"Doing Psychology Experiments", - "Description":"David W. Martin’s unique blend of informality, humor, clear instruction, and solid scholarship make this concise text a popular choice for research methods courses in psychology." + "Text":"David W. Martin’s unique blend of informality, humor, clear instruction, and solid scholarship make this concise text a popular choice for research methods courses in psychology." }, { "Title":"A Handbook of Research Methods for Clinical and Health", - "Description":"For both undergraduate and postgraduate students, the book will be essential in making them aware of the full range of techniques available to them, helping them to design scientifically rigorous experiments." + "Text":"For both undergraduate and postgraduate students, the book will be essential in making them aware of the full range of techniques available to them, helping them to design scientifically rigorous experiments." }, { "Title":"A History of Psychology", - "Description":"First published in 2002. Routledge is an imprint of Taylor & Francis, an informa company." + "Text":"First published in 2002. Routledge is an imprint of Taylor & Francis, an informa company." }, { "Title":"An Introduction to the Psychology of Religion", - "Description":"The third edition of this successful book, which applies the science of psychology to problems of religion. Dr Thouless explores such questions as: why do people believe? Why are their beliefs often held with irrational strength?" + "Text":"The third edition of this successful book, which applies the science of psychology to problems of religion. Dr Thouless explores such questions as: why do people believe? Why are their beliefs often held with irrational strength?" }, { "Title":"Psychology of Champions: How to Win at Sports and Life", - "Description":"In this unprecedented book, two psychologist researchers interview sports legends and super-athletes across sports to explain the thinking that powers stellar performers, pushing them to amazing and historic successes." + "Text":"In this unprecedented book, two psychologist researchers interview sports legends and super-athletes across sports to explain the thinking that powers stellar performers, pushing them to amazing and historic successes." }, { "Title":"The Psychology of Humor: An Integrative Approach", - "Description":"This is a singly authored monograph that provides in one source, a summary of information researchers might wish to know about research into the psychology of humor." + "Text":"This is a singly authored monograph that provides in one source, a summary of information researchers might wish to know about research into the psychology of humor." }, { "Title":"Psychology and Deterrence", - "Description":"Now available in paperback, Psychology and Deterrence reveals deterrence strategy's hidden and generally simplistic assumptions about the nature of power and aggression, threat and response, and calculation and behavior in the international" + "Text":"Now available in paperback, Psychology and Deterrence reveals deterrence strategy's hidden and generally simplistic assumptions about the nature of power and aggression, threat and response, and calculation and behavior in the international" }, { "Title":"Psychology: An International Perspective", - "Description":"Unlike typical American texts, this book provides an international approach to introductory psychology, providing comprehensive and lively coverage of current research from a global perspective, including the UK, Germany, Scandinavia," + "Text":"Unlike typical American texts, this book provides an international approach to introductory psychology, providing comprehensive and lively coverage of current research from a global perspective, including the UK, Germany, Scandinavia," }, { "Title":"Psychology, Briefer Course", - "Description":"Despite its title, 'Psychology: Briefer Course' is more than a simple condensation of the great 'Principles of Psychology." + "Text":"Despite its title, 'Psychology: Briefer Course' is more than a simple condensation of the great 'Principles of Psychology." }, { "Title":"Psychology, Seventh Edition (High School)", - "Description":"This new edition continues the story of psychology with added research and enhanced content from the most dynamic areas of the field—cognition, gender and diversity studies, neuroscience and more, while at the same time using the most" + "Text":"This new edition continues the story of psychology with added research and enhanced content from the most dynamic areas of the field—cognition, gender and diversity studies, neuroscience and more, while at the same time using the most" }, { "Title":"Psychology of Russia: Past, Present, Future", - "Description":"This book is for all psychologists and for readers whose interest in Russia exceeds their interest in psychology. Readers of this book will quickly discover a new world of thought." + "Text":"This book is for all psychologists and for readers whose interest in Russia exceeds their interest in psychology. Readers of this book will quickly discover a new world of thought." }, { "Title":"Barron's AP Psychology", - "Description":"Provides information on scoring and structure of the test, offers tips on test-taking strategies, and includes practice examinations and subject review." + "Text":"Provides information on scoring and structure of the test, offers tips on test-taking strategies, and includes practice examinations and subject review." }, { "Title":"Psychology for Inclusive Education: New Directions in", - "Description":"International in focus and at the very cutting edge of the field, this is essential reading for all those interested in the development of inclusive education." + "Text":"International in focus and at the very cutting edge of the field, this is essential reading for all those interested in the development of inclusive education." }, { "Title":"Applied Psychology: Putting Theory Into Practice", - "Description":"Applied Psychology: Putting theory into practice demonstrates how psychology theory is applied in the real world." + "Text":"Applied Psychology: Putting theory into practice demonstrates how psychology theory is applied in the real world." }, { "Title":"The Psychology of Science: A Reconnaissance", - "Description":"' This eBook edition contains the complete 168 page text of the original 1966 hardcover edition. Contents: Preface by Abraham H. Maslow Acknowledgments 1. Mechanistic and Humanistic Science 2." + "Text":"' This eBook edition contains the complete 168 page text of the original 1966 hardcover edition. Contents: Preface by Abraham H. Maslow Acknowledgments 1. Mechanistic and Humanistic Science 2." }, { "Title":"Filipino American Psychology: A Handbook of Theory,", - "Description":"This book is the first of its kind and aims to promote visibility of this invisible group, so that 2.4 million Filipino Americans will have their voices heard." + "Text":"This book is the first of its kind and aims to promote visibility of this invisible group, so that 2.4 million Filipino Americans will have their voices heard." }, { "Title":"The Psychology of Visual Illusion", - "Description":"Well-rounded perspective on the ambiguities of visual display emphasizes geometrical optical illusions: framing and contrast effects, distortion of angles and direction, and apparent 'movement' of images. 240 drawings. 1972 edition." + "Text":"Well-rounded perspective on the ambiguities of visual display emphasizes geometrical optical illusions: framing and contrast effects, distortion of angles and direction, and apparent 'movement' of images. 240 drawings. 1972 edition." }, { "Title":"The Psychology of Women", - "Description":"This highly respected text offers students an enjoyable, extraordinarily well-written introduction to the psychology of women with an up-to-date examination of the field and comprehensive coverage of topics." + "Text":"This highly respected text offers students an enjoyable, extraordinarily well-written introduction to the psychology of women with an up-to-date examination of the field and comprehensive coverage of topics." }, { "Title":"Psychology and Race", - "Description":"' Psychology and Race is divided into two major parts. The first half of the book looks at the interracial situation itself." + "Text":"' Psychology and Race is divided into two major parts. The first half of the book looks at the interracial situation itself." }, { "Title":"Psychology for A-Level", - "Description":"'Precisely targeted at AQA A Level Psychology, specification A. It will also be of interest to those who are new to psychology, and who want to get a flavour of the kinds of topics in which psychologists are interested'--Preface, p. vii." + "Text":"'Precisely targeted at AQA A Level Psychology, specification A. It will also be of interest to those who are new to psychology, and who want to get a flavour of the kinds of topics in which psychologists are interested'--Preface, p. vii." }, { "Title":"Biological Psychology", - "Description":"Updated with new topics, examples, and recent research findings--and supported by new online bio-labs, part of the strongest media package yet--this text speaks to today’s students and instructors." + "Text":"Updated with new topics, examples, and recent research findings--and supported by new online bio-labs, part of the strongest media package yet--this text speaks to today’s students and instructors." }, { "Title":"Psychology: Concepts & Connections", - "Description":"The theme of this book is applying theories and research to learning and to contemporary life." + "Text":"The theme of this book is applying theories and research to learning and to contemporary life." }, { "Title":"The Psychology of Adoption", - "Description":"In this volume David Brodzinsky, who has conducted one of the nation's largest studies of adopted children, and Marshall Schechter, a noted child psychiatrist who has been involved with adoption related issues for over forty years, have" + "Text":"In this volume David Brodzinsky, who has conducted one of the nation's largest studies of adopted children, and Marshall Schechter, a noted child psychiatrist who has been involved with adoption related issues for over forty years, have" }, { "Title":"Psychology and Adult Learning", - "Description":"This new edition is thoroughly revised and updated in light of the impact of globalising processes and the application of new information technologies, and the influence of postmodernism on psychology." + "Text":"This new edition is thoroughly revised and updated in light of the impact of globalising processes and the application of new information technologies, and the influence of postmodernism on psychology." }, { "Title":"Gestalt Psychology: An Introduction to New Concepts in", - "Description":"The general reader, if he looks to psychology for something more than entertainment or practical advice, will discover in this book a storehouse of searching criticism and brilliant suggestions from the pen of a rare thinker, and one who" + "Text":"The general reader, if he looks to psychology for something more than entertainment or practical advice, will discover in this book a storehouse of searching criticism and brilliant suggestions from the pen of a rare thinker, and one who" }, { "Title":"The Psychology of Goals", - "Description":"Bringing together leading authorities, this tightly edited volume reviews the breadth of current knowledge about goals and their key role in human behavior." + "Text":"Bringing together leading authorities, this tightly edited volume reviews the breadth of current knowledge about goals and their key role in human behavior." }, { "Title":"Metaphors in the History of Psychology", - "Description":"Through the identification of these metaphors, the contributors to this volume have provided a remarkably useful guide to the history, current orientations, and future prospects of modern psychology." + "Text":"Through the identification of these metaphors, the contributors to this volume have provided a remarkably useful guide to the history, current orientations, and future prospects of modern psychology." }, { "Title":"Abnormal Psychology: An Integrative Approach", - "Description":"ABNORMAL PSYCHOLOGY: AN INTEGRATIVE APPROACH, Seventh Edition, is the perfect book to help you succeed in your abnormal psychology course!" + "Text":"ABNORMAL PSYCHOLOGY: AN INTEGRATIVE APPROACH, Seventh Edition, is the perfect book to help you succeed in your abnormal psychology course!" }, { "Title":"Art and Visual Perception: A Psychology of the Creative Eye", - "Description":"Gestalt theory and the psychology of visual perception form the basis for an analysis of art and its basic elements" + "Text":"Gestalt theory and the psychology of visual perception form the basis for an analysis of art and its basic elements" }, { "Title":"Psychology & Christianity: Five Views", - "Description":"This revised edition of a widely appreciated text now presents five models for understanding the relationship between psychology and Christianity." + "Text":"This revised edition of a widely appreciated text now presents five models for understanding the relationship between psychology and Christianity." }, { "Title":"The Psychology of Hope: You Can Get There from Here", - "Description":"Why do some people lead positive, hope-filled lives, while others wallow in pessimism? In The Psychology of Hope, a professor of psychology reveals the specific character traits that produce highly hopeful individuals." + "Text":"Why do some people lead positive, hope-filled lives, while others wallow in pessimism? In The Psychology of Hope, a professor of psychology reveals the specific character traits that produce highly hopeful individuals." }, { "Title":"Perspectives on Psychology", - "Description":"This is a title in the modular 'Principles in Psychology Series', designed for A-level and other introductory courses, aiming to provide students embarking on psychology courses with the necessary background and context." + "Text":"This is a title in the modular 'Principles in Psychology Series', designed for A-level and other introductory courses, aiming to provide students embarking on psychology courses with the necessary background and context." }, { "Title":"Psychology the Easy Way", - "Description":"Material is presented in a way that makes these books ideal as self-teaching guides, but Easy Way titles are also preferred by many teachers as supplements to classroom textbooks." + "Text":"Material is presented in a way that makes these books ideal as self-teaching guides, but Easy Way titles are also preferred by many teachers as supplements to classroom textbooks." }, { "Title":"Ethics in Psychology: Professional Standards and Cases", - "Description":"In this book, their main intent is to present the full range of contemporary ethical issues in psychology as not only relevant and intriguing, but also as integral and unavoidable aspects of the profession." + "Text":"In this book, their main intent is to present the full range of contemporary ethical issues in psychology as not only relevant and intriguing, but also as integral and unavoidable aspects of the profession." }, { "Title":"Psychology Gets in the Game: Sport, Mind, and Behavior,", - "Description":"The essays collected in this volume tell the stories not only of these psychologists and their subjects but of the social and academic context that surrounded them, shaping and being shaped by their ideas'--Provided by publisher." + "Text":"The essays collected in this volume tell the stories not only of these psychologists and their subjects but of the social and academic context that surrounded them, shaping and being shaped by their ideas'--Provided by publisher." }, { "Title":"Psychology for Physical Educators: Student in Focus", - "Description":"This updated edition focuses on attitude and motivation as important aspects of the physical education curriculum, illustrating practical ideas and pedagogical solutions for any PE setting." + "Text":"This updated edition focuses on attitude and motivation as important aspects of the physical education curriculum, illustrating practical ideas and pedagogical solutions for any PE setting." }, { "Title":"The Psychology of Leadership: New Perspectives and Research", - "Description":"In this book, some of the world's leading scholars come together to describe their thinking and research on the topic of the psychology of leadership." + "Text":"In this book, some of the world's leading scholars come together to describe their thinking and research on the topic of the psychology of leadership." }, { "Title":"The Psychology of Interpersonal Relations", - "Description":"As the title suggests, this book examines the psychology of interpersonal relations. In the context of this book, the term 'interpersonal relations' denotes relations between a few, usually between two, people." + "Text":"As the title suggests, this book examines the psychology of interpersonal relations. In the context of this book, the term 'interpersonal relations' denotes relations between a few, usually between two, people." }, { "Title":"Applied Psychology", - "Description":"The chapters on Counselling Psychology and Teaching Psychology are available online via the Student Companion Site at: http://tinyurl.com/c3ztvtj The text is written to be accessible to Level 1 Introductory Psychology students, and also to" + "Text":"The chapters on Counselling Psychology and Teaching Psychology are available online via the Student Companion Site at: http://tinyurl.com/c3ztvtj The text is written to be accessible to Level 1 Introductory Psychology students, and also to" }, { "Title":"Psychology", - "Description":"An exciting read for anyone interested in psychology and research; because of its comprehensive appendix, glossary, and reference section, this book is a must-have desk reference for psychologists and others in the field." + "Text":"An exciting read for anyone interested in psychology and research; because of its comprehensive appendix, glossary, and reference section, this book is a must-have desk reference for psychologists and others in the field." }, { "Title":"The Psychology of Music", - "Description":"On interpreting musical phenomena in terms of mental function" + "Text":"On interpreting musical phenomena in terms of mental function" }, { "Title":"Abnormal Psychology", - "Description":"Ron Comer's Abnormal Psychology continues to captivate students with its integrated coverage of theory, diagnosis, and treatment, its inclusive wide-ranging cross-cultural perspective, and its compassionate emphasis on the real impact of" + "Text":"Ron Comer's Abnormal Psychology continues to captivate students with its integrated coverage of theory, diagnosis, and treatment, its inclusive wide-ranging cross-cultural perspective, and its compassionate emphasis on the real impact of" }, { "Title":"The Psychology of Food Choice", - "Description":"This book brings together theory, research and applications from psychology and behavioural sciences applied to dietary behaviour." + "Text":"This book brings together theory, research and applications from psychology and behavioural sciences applied to dietary behaviour." }, { "Title":"Psychology: brain, behavior, & culture", - "Description":"Rather than present psychological science as a series of facts for memorization, this book takes readers on a psychological journey that uncovers things they didn't know or new ways of thinking about things they did know." + "Text":"Rather than present psychological science as a series of facts for memorization, this book takes readers on a psychological journey that uncovers things they didn't know or new ways of thinking about things they did know." }, { "Title":"A Brief History of Psychology", - "Description":"Due to its brevity and engaging style, the book is often used in introductory courses to introduce students to the field. The enormous index and substantial glossary make this volume a useful desk reference for the entire field." + "Text":"Due to its brevity and engaging style, the book is often used in introductory courses to introduce students to the field. The enormous index and substantial glossary make this volume a useful desk reference for the entire field." }, { "Title":"Psychology AS: The Complete Companion", - "Description":"Presented in double-page spreads this book written to the average AS ability level, provides information on psychology in bite-sized chunks with learning and revision features." + "Text":"Presented in double-page spreads this book written to the average AS ability level, provides information on psychology in bite-sized chunks with learning and revision features." }, { "Title":"The Psychology Book: From Shamanism to Cutting-Edge", - "Description":"Lavishly illustrated, this new addition in the Sterling's Milestones series chronicles the history of psychology through 250 groundbreaking events, theories, publications, experiments and discoveries." + "Text":"Lavishly illustrated, this new addition in the Sterling's Milestones series chronicles the history of psychology through 250 groundbreaking events, theories, publications, experiments and discoveries." }, { "Title":"The Psychology Book", - "Description":"All the big ideas, simply explained - an innovative and accessible guide to the study of human nature The Psychology Book clearly explains more than 100 groundbreaking ideas in this fascinating field of science." + "Text":"All the big ideas, simply explained - an innovative and accessible guide to the study of human nature The Psychology Book clearly explains more than 100 groundbreaking ideas in this fascinating field of science." }, { "Title":"Handbook of Positive Psychology", - "Description":"' The Handbook of Positive Psychology provides a forum for a more positive view of the human condition. In its pages, readers are treated to an analysis of what the foremost experts believe to be the fundamental strengths of humankind." + "Text":"' The Handbook of Positive Psychology provides a forum for a more positive view of the human condition. In its pages, readers are treated to an analysis of what the foremost experts believe to be the fundamental strengths of humankind." }, { "Title":"Psychology of Sustainable Development", - "Description":"With contributions from an international team of policy shapers and makers, the book will be an important reference for environmental, developmental, social, and organizational psychologists, in addition to other social scientists concerned" + "Text":"With contributions from an international team of policy shapers and makers, the book will be an important reference for environmental, developmental, social, and organizational psychologists, in addition to other social scientists concerned" }, { "Title":"An Introduction to the History of Psychology", - "Description":"In this Fifth Edition, B.R. Hergenhahn demonstrates that most of the concerns of contemporary psychologists are manifestations of themes that have been part of psychology for hundreds-or even thousands-of years." + "Text":"In this Fifth Edition, B.R. Hergenhahn demonstrates that most of the concerns of contemporary psychologists are manifestations of themes that have been part of psychology for hundreds-or even thousands-of years." }, { "Title":"Careers in Psychology: Opportunities in a Changing World", - "Description":"This text addresses the growing need among students and faculty for information about the careers available in psychology at the bachelor’s and graduate level." + "Text":"This text addresses the growing need among students and faculty for information about the careers available in psychology at the bachelor’s and graduate level." }, { "Title":"Philosophy of Psychology", - "Description":"This is the story of the clattering of elevated subways and the cacophony of crowded neighborhoods, the heady optimism of industrial progress and the despair of economic recession, and the vibrancy of ethnic cultures and the resilience of" + "Text":"This is the story of the clattering of elevated subways and the cacophony of crowded neighborhoods, the heady optimism of industrial progress and the despair of economic recession, and the vibrancy of ethnic cultures and the resilience of" }, { "Title":"The Psychology of Risk Taking Behavior", - "Description":"This book aims to help the reader to understand what motivates people to engage in risk taking behavior, such as participating in traffic, sports, financial investments, or courtship." + "Text":"This book aims to help the reader to understand what motivates people to engage in risk taking behavior, such as participating in traffic, sports, financial investments, or courtship." }, { "Title":"The Nazi Doctors: Medical Killing and the Psychology of", - "Description":"This book explores the psychological conditions that promote the human potential for evil, relating medical killing to broader principles of doubling and genocide" + "Text":"This book explores the psychological conditions that promote the human potential for evil, relating medical killing to broader principles of doubling and genocide" }, { "Title":"The Body and Psychology", - "Description":"The material in this volume was previously published as a Special Issue of th" + "Text":"The material in this volume was previously published as a Special Issue of th" }, { "Title":"Introduction to Psychology: Gateways to Mind and Behavior", - "Description":"Important Notice: Media content referenced within the product description or the product text may not be available in the ebook version." + "Text":"Important Notice: Media content referenced within the product description or the product text may not be available in the ebook version." }, { "Title":"Psychology of Time", - "Description":"Basic Structure The book would contain 14 or 15 chapters of roughly 12 000 words. The exact final number of chapters would depend on further discussions with you about the book's basic structure." + "Text":"Basic Structure The book would contain 14 or 15 chapters of roughly 12 000 words. The exact final number of chapters would depend on further discussions with you about the book's basic structure." }, { "Title":"Handbook of Psychology, Experimental Psychology", - "Description":"Includes established theories and cutting-edge developments. Presents the work of an international group of experts. Presents the nature, origin, implications, and future course of major unresolved issues in the area." + "Text":"Includes established theories and cutting-edge developments. Presents the work of an international group of experts. Presents the nature, origin, implications, and future course of major unresolved issues in the area." }, { "Title":"Study Guide for Psychology, Seventh Edition", - "Description":"This new edition continues the story of psychology with added research and enhanced content from the most dynamic areas of the field--cognition, gender and diversity studies, neuroscience and more, while at the same time using the most" + "Text":"This new edition continues the story of psychology with added research and enhanced content from the most dynamic areas of the field--cognition, gender and diversity studies, neuroscience and more, while at the same time using the most" }, { "Title":"Culture and Psychology", - "Description":"In addition, the text encourages students to question traditionally held beliefs and theories as and their relevance to different cultural groups today." + "Text":"In addition, the text encourages students to question traditionally held beliefs and theories as and their relevance to different cultural groups today." }, { "Title":"Exploring the Psychology of Interest", - "Description":"The most comprehensive work of its kind, Exploring the Psychology of Interest will be a valuable resource for student and professional researchers in cognitive, social, and developmental psychology." + "Text":"The most comprehensive work of its kind, Exploring the Psychology of Interest will be a valuable resource for student and professional researchers in cognitive, social, and developmental psychology." }, { "Title":"Handbook of Adolescent Psychology", - "Description":"The study of adolescence in the field of psychology has grown tremendously over the last two decades, necessitating a comprehensive and up-to-date revision of this seminal work." + "Text":"The study of adolescence in the field of psychology has grown tremendously over the last two decades, necessitating a comprehensive and up-to-date revision of this seminal work." }, { "Title":"The Psychology of Diplomacy", - "Description":"World class clinicians, researchers, and activists present the psychological dimensions to diplomacy drawn from examples set in the United Nations, Camp David, the Middle East, Japan, South Africa, and elsewhere." + "Text":"World class clinicians, researchers, and activists present the psychological dimensions to diplomacy drawn from examples set in the United Nations, Camp David, the Middle East, Japan, South Africa, and elsewhere." }, { "Title":"The Psychology of Social Class", - "Description":"By addressing differences in social class, the book broadens the perspective of social psychological research to examine such topics as the effect of achievement motivation and other personality variables on social mobility and the effect" + "Text":"By addressing differences in social class, the book broadens the perspective of social psychological research to examine such topics as the effect of achievement motivation and other personality variables on social mobility and the effect" }, { "Title":"Applied Psychology: Current Issues and New Directions", - "Description":"Key features of this book: - Consistently pedagogical throughout - chapter summaries, questions for reflection and discussion and annotated further reading in every chapter - Comprehensive coverage - all areas of applied psychology included" + "Text":"Key features of this book: - Consistently pedagogical throughout - chapter summaries, questions for reflection and discussion and annotated further reading in every chapter - Comprehensive coverage - all areas of applied psychology included" }, { "Title":"Popular Psychology: An Encyclopedia", - "Description":"Entries cover a variety of topics in the field of popular psychology, including acupuncture, emotional intelligence, brainwashing, chemical inbalance, and seasonal affective disorder." + "Text":"Entries cover a variety of topics in the field of popular psychology, including acupuncture, emotional intelligence, brainwashing, chemical inbalance, and seasonal affective disorder." }, { "Title":"Advanced Psychology: Applications, Issues and Perspectives", - "Description":"The second of two books, Advanced Psychology covers units 4 to 6 for the second year at Advanced Level." + "Text":"The second of two books, Advanced Psychology covers units 4 to 6 for the second year at Advanced Level." }, { "Title":"Mindset: The New Psychology of Success", - "Description":"This is a book that can change your life, as its ideas have changed mine.”—Robert J. Sternberg, IBM Professor of Education and Psychology at Yale University, director of the PACE Center of Yale University, and author of Successful" + "Text":"This is a book that can change your life, as its ideas have changed mine.”—Robert J. Sternberg, IBM Professor of Education and Psychology at Yale University, director of the PACE Center of Yale University, and author of Successful" }, { "Title":"E-Z Psychology", - "Description":"This book covers material as it is taught on a college-101 level." + "Text":"This book covers material as it is taught on a college-101 level." }, { "Title":"Myers' Psychology for AP*", - "Description":"Already The Bestselling AP* Psychology Author, Myers Writes His First Exclusive AP* Psych Text Watch Dave G. Myers introduce this new text here." + "Text":"Already The Bestselling AP* Psychology Author, Myers Writes His First Exclusive AP* Psych Text Watch Dave G. Myers introduce this new text here." }, { "Title":"Psychology and Health", - "Description":"Part of a series of textbooks which have been written to support A levels in psychology. The books use real life applications to make theories come alive for students and teach them what they need to know." + "Text":"Part of a series of textbooks which have been written to support A levels in psychology. The books use real life applications to make theories come alive for students and teach them what they need to know." }, { "Title":"Applying Psychology in Business: The Handbook for Managers", - "Description":"To learn more about Rowman & Littlefield titles please visit us at www.rowmanlittlefield.com." + "Text":"To learn more about Rowman & Littlefield titles please visit us at www.rowmanlittlefield.com." }, { "Title":"Influence", - "Description":"Influence, the classic book on persuasion, explains the psychology of why people say 'yes'—and how to apply these understandings. Dr. Robert Cialdini is the seminal expert in the rapidly expanding field of influence and persuasion." + "Text":"Influence, the classic book on persuasion, explains the psychology of why people say 'yes'—and how to apply these understandings. Dr. Robert Cialdini is the seminal expert in the rapidly expanding field of influence and persuasion." }, { "Title":"Psychology and Policing", - "Description":"The book should draw attention to the often unrecognized and valuable contribution that mainstream psychology can make to the knowledge base underpinning a wide variety of policing practices." + "Text":"The book should draw attention to the often unrecognized and valuable contribution that mainstream psychology can make to the knowledge base underpinning a wide variety of policing practices." }, { "Title":"Applied Psychology: New Frontiers and Rewarding Careers", - "Description":"This book examines how psychological science is, and can be, used to prevent and ameliorate pressing human problems to promote positive social change." + "Text":"This book examines how psychological science is, and can be, used to prevent and ameliorate pressing human problems to promote positive social change." }, { "Title":"Psychology: Concepts and Applications", - "Description":"Nevid developed the effective teaching devices in this text based on a comprehensive system derived from research on learning and memory as well as his own research on textbook pedagogy." + "Text":"Nevid developed the effective teaching devices in this text based on a comprehensive system derived from research on learning and memory as well as his own research on textbook pedagogy." }, { "Title":"Foundations of Sport and Exercise Psychology, 6E: ", - "Description":"This text offers both students and new practitioners a comprehensive view of sport and exercise psychology, drawing connections between research and practice and capturing the excitement of the world of sport and exercise." + "Text":"This text offers both students and new practitioners a comprehensive view of sport and exercise psychology, drawing connections between research and practice and capturing the excitement of the world of sport and exercise." }, { "Title":"Biographical Dictionary of Psychology", - "Description":"This Dictionary provides biographical and bibliographical information on over 500 psychologists from all over the world from 1850 to the present day. All branches of psychology and its related disciplines are featured." + "Text":"This Dictionary provides biographical and bibliographical information on over 500 psychologists from all over the world from 1850 to the present day. All branches of psychology and its related disciplines are featured." }, { "Title":"Psychology: A Self-Teaching Guide", - "Description":"Frank Bruno explains all the major psychological theories and terms in this book, covering perception, motivation, thinking, personality, sensation, intelligence, research methods, and much more." + "Text":"Frank Bruno explains all the major psychological theories and terms in this book, covering perception, motivation, thinking, personality, sensation, intelligence, research methods, and much more." }, { "Title":"A Dictionary of Psychology", - "Description":"Entries are extensively cross-referenced for ease of use, and cover word origins and derivations as well as definitions. Over 80 illustrations complement the text." + "Text":"Entries are extensively cross-referenced for ease of use, and cover word origins and derivations as well as definitions. Over 80 illustrations complement the text." }, { "Title":"An Intellectual History of Psychology", - "Description":"Invaluable as a text for students and as a stimulating and insightful overview for scholars and practicing psychologists, this volume can be read either as a history of psychology in both its philosophical and aspiring scientific periods or" + "Text":"Invaluable as a text for students and as a stimulating and insightful overview for scholars and practicing psychologists, this volume can be read either as a history of psychology in both its philosophical and aspiring scientific periods or" }] \ No newline at end of file From 8f96d4cfe0bb19ade510e5f5763096defe6b1100 Mon Sep 17 00:00:00 2001 From: Jordan Fearnley Date: Mon, 10 Oct 2016 18:27:37 +0100 Subject: [PATCH 098/135] Custom reactions guide doc "fixing" Entire document is in markdown now and looks good when built with readthedocs. Did a little "housekeeping" for clarification as well. --- docs/Custom Reactions.md | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/docs/Custom Reactions.md b/docs/Custom Reactions.md index 4849bf8b..d2e6f40d 100644 --- a/docs/Custom Reactions.md +++ b/docs/Custom Reactions.md @@ -17,22 +17,25 @@ You must also use the commands for adding, deleting and listing these reactions `.acr "Nice Weather" It sure is, %user%!` This command can be split into two different arguments: -* The trigger `"Nice Weather"` -* And the response, `It sure is, %user%!` -Because we wanted the trigger to be more than one word, we had to wrap it with quotation marks, `"Like this"` otherwise, only the first word would have been recognised as the trigger, and the second word would have been recognised as part of the response. +* The trigger, `"Nice Weather"` +* And the response, `It sure is, %user%!` -There's no special requirement for the formatting of the response, so we could just write it in exactly the same way we want it to respond, albeit with a placeholder - which will be explained in this next section +An important thing to note about the triger is that, to be more than one word, we had to wrap it with quotation marks, `"Like this"` otherwise, only the first word would have been recognised as the trigger, and the second word would have been recognised as part of the response. + +There's no special requirement for the formatting of the response, so we could just write it in exactly the same way we want it to respond, albeit with a placeholder - which will be explained in this next section. + +Now, if that command was ran in a server, anyone on that server can make the bot mention them, saying `It sure is, @Username` anytime they say "Nice Weather". If the command is ran in a direct message with the bot, then the custom reaction can be used on every server the bot is connected to. ###Placeholders! There are currently three different placeholders which we will look at, with more placeholders potentially coming in the future. -| Placeholder | How the placeholder works | Example Usage | Input | Output | -|:-----------:|---------------------------|---------------|-------|--------| -|`%mention`|The `%mention%` placeholder is triggered when you type `@BotName` - It's important to note that if you've given the bot a custom nickname, this trigger won't work!|`.acr "Hello %mention%" I, %mention%, also say hello!`|Hello @BotName|I, @BotName, also say hello!| -|`%user%`|The `%user%` placeholder mentions the person who said the command|`.acr "Who am I?" You are %user%!`|Who am I?|You are @Username!| -|`%rng%`|The `%rng%` placeholder generates a random number between 0 and 10|`.acr "Random number" %rng%`|Random number|2| +| Placeholder | Description | Example Usage | Usage | +|:-----------:|-------------|---------------|-------| +|`%mention`|The `%mention%` placeholder is triggered when you type `@BotName` - It's important to note that if you've given the bot a custom nickname, this trigger won't work!|```.acr "Hello %mention%" I, %mention%, also say hello!```|Input: "Hello @BotName" Output: "I, @BotName, also say hello!"| +|`%user%`|The `%user%` placeholder mentions the person who said the command|`.acr "Who am I?" You are %user%!`|Input: "Who am I?" Output: "You are @Username!"| +|`%rng%`|The `%rng%` placeholder generates a random number between 0 and 10|`.acr "Random number" %rng%`|Input: "Random number" Output: "2"| -[//]: # (|`%target%`|The `%target%` placeholder is used to make Nadeko Mention another person or phrase|`.acr "Say this: " %target%|Say this: I, @BotName, am a parrot!|I, @BotName, am a parrot!|) +[//]: # (|`%target%`|The `%target%` placeholder is used to make Nadeko Mention another person or phrase|`.acr "Say this: " %target%|Input: "Say this: I, @BotName, am a parrot!". Output: "I, @BotName, am a parrot!".|) Thanks to Nekai for being creative. <3 From eecaf9cd150ba4b7519999364d1a29574784fd8c Mon Sep 17 00:00:00 2001 From: Kwoth Date: Tue, 11 Oct 2016 05:27:36 +0200 Subject: [PATCH 099/135] Huge amount of work. Migrations, bugfixes, fixes to stream notifications, etc --- .../20161007091612_first.Designer.cs | 712 ----------------- .../20161007210034_cmdcds.Designer.cs | 737 ----------------- .../Migrations/20161007210034_cmdcds.cs | 44 - ...20161008022813_customreactions.Designer.cs | 755 ------------------ .../20161008022813_customreactions.cs | 34 - .../Migrations/20161009041508_second.cs | 25 - ...er.cs => 20161011031532_first.Designer.cs} | 45 +- ...91612_first.cs => 20161011031532_first.cs} | 96 ++- .../NadekoSqliteContextModelSnapshot.cs | 41 +- .../Administration/Commands/Migration.cs | 247 ++++-- .../Administration/Commands/Migration/0_9..cs | 150 ++++ .../Modules/ClashOfClans/ClashOfClans.cs | 5 +- .../Games/Commands/PlantAndPickCommands.cs | 27 +- src/NadekoBot/Modules/Help/Help.cs | 6 +- .../Commands/StreamNotificationCommands.cs | 63 +- .../Services/Database/Models/BotConfig.cs | 2 +- .../Database/Models/FollowedStream.cs | 1 - .../Services/Database/Models/GuildConfig.cs | 21 +- .../Services/Database/Models/LogSetting.cs | 2 +- .../Impl/GuildConfigRepository.cs | 2 + 20 files changed, 551 insertions(+), 2464 deletions(-) delete mode 100644 src/NadekoBot/Migrations/20161007091612_first.Designer.cs delete mode 100644 src/NadekoBot/Migrations/20161007210034_cmdcds.Designer.cs delete mode 100644 src/NadekoBot/Migrations/20161007210034_cmdcds.cs delete mode 100644 src/NadekoBot/Migrations/20161008022813_customreactions.Designer.cs delete mode 100644 src/NadekoBot/Migrations/20161008022813_customreactions.cs delete mode 100644 src/NadekoBot/Migrations/20161009041508_second.cs rename src/NadekoBot/Migrations/{20161009041508_second.Designer.cs => 20161011031532_first.Designer.cs} (97%) rename src/NadekoBot/Migrations/{20161007091612_first.cs => 20161011031532_first.cs} (91%) diff --git a/src/NadekoBot/Migrations/20161007091612_first.Designer.cs b/src/NadekoBot/Migrations/20161007091612_first.Designer.cs deleted file mode 100644 index 8a0b6f16..00000000 --- a/src/NadekoBot/Migrations/20161007091612_first.Designer.cs +++ /dev/null @@ -1,712 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using NadekoBot.Services.Database.Impl; - -namespace NadekoBot.Migrations -{ - [DbContext(typeof(NadekoSqliteContext))] - [Migration("20161007091612_first")] - partial class first - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { - modelBuilder - .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ItemId"); - - b.Property("Type"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("BlacklistItem"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BufferSize"); - - b.Property("CurrencyGenerationChance"); - - b.Property("CurrencyGenerationCooldown"); - - b.Property("CurrencyName"); - - b.Property("CurrencyPluralName"); - - b.Property("CurrencySign"); - - b.Property("DMHelpString"); - - b.Property("DontJoinServers"); - - b.Property("ForwardMessages"); - - b.Property("ForwardToAllOwners"); - - b.Property("HelpString"); - - b.Property("MigrationVersion"); - - b.Property("RemindMessageFormat"); - - b.Property("RotatingStatuses"); - - b.HasKey("Id"); - - b.ToTable("BotConfig"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BaseDestroyed"); - - b.Property("CallUser"); - - b.Property("ClashWarId"); - - b.Property("Stars"); - - b.Property("TimeAdded"); - - b.HasKey("Id"); - - b.HasIndex("ClashWarId"); - - b.ToTable("ClashCallers"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("EnemyClan"); - - b.Property("GuildId"); - - b.Property("Size"); - - b.Property("StartedAt"); - - b.Property("WarState"); - - b.HasKey("Id"); - - b.ToTable("ClashOfClans"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("InternalTrigger"); - - b.Property("Modifier"); - - b.Property("UnitType"); - - b.HasKey("Id"); - - b.ToTable("ConversionUnits"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Currency"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("Name"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Donators"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("EightBallResponses"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildConfigId"); - - b.Property("GuildConfigId1"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.HasIndex("GuildConfigId1"); - - b.ToTable("FilterChannelId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("GuildConfigId"); - - b.Property("Word"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.ToTable("FilteredWord"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildConfigId"); - - b.Property("GuildId"); - - b.Property("LastStatus"); - - b.Property("Type"); - - b.Property("Username"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.ToTable("FollowedStream"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AutoAssignRoleId"); - - b.Property("AutoDeleteByeMessages"); - - b.Property("AutoDeleteGreetMessages"); - - b.Property("AutoDeleteGreetMessagesTimer"); - - b.Property("AutoDeleteSelfAssignedRoleMessages"); - - b.Property("ByeMessageChannelId"); - - b.Property("ChannelByeMessageText"); - - b.Property("ChannelGreetMessageText"); - - b.Property("DefaultMusicVolume"); - - b.Property("DeleteMessageOnCommand"); - - b.Property("DmGreetMessageText"); - - b.Property("ExclusiveSelfAssignedRoles"); - - b.Property("FilterInvites"); - - b.Property("FilterWords"); - - b.Property("GenerateCurrencyChannelId"); - - b.Property("GreetMessageChannelId"); - - b.Property("GuildId"); - - b.Property("LogSettingId"); - - b.Property("PermissionRole"); - - b.Property("RootPermissionId"); - - b.Property("SendChannelByeMessage"); - - b.Property("SendChannelGreetMessage"); - - b.Property("SendDmGreetMessage"); - - b.Property("VerbosePermissions"); - - b.Property("VoicePlusTextEnabled"); - - b.HasKey("Id"); - - b.HasIndex("GuildId") - .IsUnique(); - - b.HasIndex("LogSettingId"); - - b.HasIndex("RootPermissionId"); - - b.ToTable("GuildConfigs"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredLogChannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredVoicePresenceCHannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelCreated"); - - b.Property("ChannelDestroyed"); - - b.Property("ChannelId"); - - b.Property("ChannelUpdated"); - - b.Property("IsLogging"); - - b.Property("LogUserPresence"); - - b.Property("LogVoicePresence"); - - b.Property("MessageDeleted"); - - b.Property("MessageUpdated"); - - b.Property("UserBanned"); - - b.Property("UserJoined"); - - b.Property("UserLeft"); - - b.Property("UserPresenceChannelId"); - - b.Property("UserUnbanned"); - - b.Property("UserUpdated"); - - b.Property("VoicePresenceChannelId"); - - b.HasKey("Id"); - - b.ToTable("LogSettings"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ModuleName"); - - b.Property("Prefix"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("ModulePrefixes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.MusicPlaylist", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Author"); - - b.Property("AuthorId"); - - b.Property("Name"); - - b.HasKey("Id"); - - b.ToTable("MusicPlaylists"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("NextId"); - - b.Property("PrimaryTarget"); - - b.Property("PrimaryTargetId"); - - b.Property("SecondaryTarget"); - - b.Property("SecondaryTargetName"); - - b.Property("State"); - - b.HasKey("Id"); - - b.HasIndex("NextId") - .IsUnique(); - - b.ToTable("Permission"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Status"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("PlayingStatus"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("MusicPlaylistId"); - - b.Property("Provider"); - - b.Property("ProviderType"); - - b.Property("Query"); - - b.Property("Title"); - - b.Property("Uri"); - - b.HasKey("Id"); - - b.HasIndex("MusicPlaylistId"); - - b.ToTable("PlaylistSong"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AuthorId"); - - b.Property("AuthorName") - .IsRequired(); - - b.Property("GuildId"); - - b.Property("Keyword") - .IsRequired(); - - b.Property("Text") - .IsRequired(); - - b.HasKey("Id"); - - b.ToTable("Quotes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Icon"); - - b.Property("Name"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("RaceAnimals"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("IsPrivate"); - - b.Property("Message"); - - b.Property("ServerId"); - - b.Property("UserId"); - - b.Property("When"); - - b.HasKey("Id"); - - b.ToTable("Reminders"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildId"); - - b.Property("Interval"); - - b.Property("Message"); - - b.HasKey("Id"); - - b.HasIndex("ChannelId") - .IsUnique(); - - b.ToTable("Repeaters"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("GuildId"); - - b.Property("RoleId"); - - b.HasKey("Id"); - - b.HasIndex("GuildId", "RoleId") - .IsUnique(); - - b.ToTable("SelfAssignableRoles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Author"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.ToTable("TypingArticles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("Blacklist") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") - .WithMany("Bases") - .HasForeignKey("ClashWarId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("EightBallResponses") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FilterInvitesChannelIds") - .HasForeignKey("GuildConfigId"); - - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FilterWordsChannelIds") - .HasForeignKey("GuildConfigId1"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FilteredWords") - .HasForeignKey("GuildConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FollowedStreams") - .HasForeignKey("GuildConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany() - .HasForeignKey("LogSettingId"); - - b.HasOne("NadekoBot.Services.Database.Models.Permission", "RootPermission") - .WithMany() - .HasForeignKey("RootPermissionId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredChannels") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredVoicePresenceChannelIds") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") - .WithMany("ModulePrefixes") - .HasForeignKey("BotConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => - { - b.HasOne("NadekoBot.Services.Database.Models.Permission", "Next") - .WithOne("Previous") - .HasForeignKey("NadekoBot.Services.Database.Models.Permission", "NextId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RotatingStatusMessages") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => - { - b.HasOne("NadekoBot.Services.Database.Models.MusicPlaylist") - .WithMany("Songs") - .HasForeignKey("MusicPlaylistId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RaceAnimals") - .HasForeignKey("BotConfigId"); - }); - } - } -} diff --git a/src/NadekoBot/Migrations/20161007210034_cmdcds.Designer.cs b/src/NadekoBot/Migrations/20161007210034_cmdcds.Designer.cs deleted file mode 100644 index 79c21557..00000000 --- a/src/NadekoBot/Migrations/20161007210034_cmdcds.Designer.cs +++ /dev/null @@ -1,737 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using NadekoBot.Services.Database.Impl; - -namespace NadekoBot.Migrations -{ - [DbContext(typeof(NadekoSqliteContext))] - [Migration("20161007210034_cmdcds")] - partial class cmdcds - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { - modelBuilder - .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ItemId"); - - b.Property("Type"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("BlacklistItem"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BufferSize"); - - b.Property("CurrencyGenerationChance"); - - b.Property("CurrencyGenerationCooldown"); - - b.Property("CurrencyName"); - - b.Property("CurrencyPluralName"); - - b.Property("CurrencySign"); - - b.Property("DMHelpString"); - - b.Property("DontJoinServers"); - - b.Property("ForwardMessages"); - - b.Property("ForwardToAllOwners"); - - b.Property("HelpString"); - - b.Property("MigrationVersion"); - - b.Property("RemindMessageFormat"); - - b.Property("RotatingStatuses"); - - b.HasKey("Id"); - - b.ToTable("BotConfig"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BaseDestroyed"); - - b.Property("CallUser"); - - b.Property("ClashWarId"); - - b.Property("Stars"); - - b.Property("TimeAdded"); - - b.HasKey("Id"); - - b.HasIndex("ClashWarId"); - - b.ToTable("ClashCallers"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("EnemyClan"); - - b.Property("GuildId"); - - b.Property("Size"); - - b.Property("StartedAt"); - - b.Property("WarState"); - - b.HasKey("Id"); - - b.ToTable("ClashOfClans"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.CommandCooldown", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("CommandName"); - - b.Property("GuildConfigId"); - - b.Property("Seconds"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.ToTable("CommandCooldown"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("InternalTrigger"); - - b.Property("Modifier"); - - b.Property("UnitType"); - - b.HasKey("Id"); - - b.ToTable("ConversionUnits"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Currency"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("Name"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Donators"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("EightBallResponses"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildConfigId"); - - b.Property("GuildConfigId1"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.HasIndex("GuildConfigId1"); - - b.ToTable("FilterChannelId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("GuildConfigId"); - - b.Property("Word"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.ToTable("FilteredWord"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildConfigId"); - - b.Property("GuildId"); - - b.Property("LastStatus"); - - b.Property("Type"); - - b.Property("Username"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.ToTable("FollowedStream"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AutoAssignRoleId"); - - b.Property("AutoDeleteByeMessages"); - - b.Property("AutoDeleteGreetMessages"); - - b.Property("AutoDeleteGreetMessagesTimer"); - - b.Property("AutoDeleteSelfAssignedRoleMessages"); - - b.Property("ByeMessageChannelId"); - - b.Property("ChannelByeMessageText"); - - b.Property("ChannelGreetMessageText"); - - b.Property("DefaultMusicVolume"); - - b.Property("DeleteMessageOnCommand"); - - b.Property("DmGreetMessageText"); - - b.Property("ExclusiveSelfAssignedRoles"); - - b.Property("FilterInvites"); - - b.Property("FilterWords"); - - b.Property("GenerateCurrencyChannelId"); - - b.Property("GreetMessageChannelId"); - - b.Property("GuildId"); - - b.Property("LogSettingId"); - - b.Property("PermissionRole"); - - b.Property("RootPermissionId"); - - b.Property("SendChannelByeMessage"); - - b.Property("SendChannelGreetMessage"); - - b.Property("SendDmGreetMessage"); - - b.Property("VerbosePermissions"); - - b.Property("VoicePlusTextEnabled"); - - b.HasKey("Id"); - - b.HasIndex("GuildId") - .IsUnique(); - - b.HasIndex("LogSettingId"); - - b.HasIndex("RootPermissionId"); - - b.ToTable("GuildConfigs"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredLogChannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredVoicePresenceCHannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelCreated"); - - b.Property("ChannelDestroyed"); - - b.Property("ChannelId"); - - b.Property("ChannelUpdated"); - - b.Property("IsLogging"); - - b.Property("LogUserPresence"); - - b.Property("LogVoicePresence"); - - b.Property("MessageDeleted"); - - b.Property("MessageUpdated"); - - b.Property("UserBanned"); - - b.Property("UserJoined"); - - b.Property("UserLeft"); - - b.Property("UserPresenceChannelId"); - - b.Property("UserUnbanned"); - - b.Property("UserUpdated"); - - b.Property("VoicePresenceChannelId"); - - b.HasKey("Id"); - - b.ToTable("LogSettings"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ModuleName"); - - b.Property("Prefix"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("ModulePrefixes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.MusicPlaylist", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Author"); - - b.Property("AuthorId"); - - b.Property("Name"); - - b.HasKey("Id"); - - b.ToTable("MusicPlaylists"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("NextId"); - - b.Property("PrimaryTarget"); - - b.Property("PrimaryTargetId"); - - b.Property("SecondaryTarget"); - - b.Property("SecondaryTargetName"); - - b.Property("State"); - - b.HasKey("Id"); - - b.HasIndex("NextId") - .IsUnique(); - - b.ToTable("Permission"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Status"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("PlayingStatus"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("MusicPlaylistId"); - - b.Property("Provider"); - - b.Property("ProviderType"); - - b.Property("Query"); - - b.Property("Title"); - - b.Property("Uri"); - - b.HasKey("Id"); - - b.HasIndex("MusicPlaylistId"); - - b.ToTable("PlaylistSong"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AuthorId"); - - b.Property("AuthorName") - .IsRequired(); - - b.Property("GuildId"); - - b.Property("Keyword") - .IsRequired(); - - b.Property("Text") - .IsRequired(); - - b.HasKey("Id"); - - b.ToTable("Quotes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Icon"); - - b.Property("Name"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("RaceAnimals"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("IsPrivate"); - - b.Property("Message"); - - b.Property("ServerId"); - - b.Property("UserId"); - - b.Property("When"); - - b.HasKey("Id"); - - b.ToTable("Reminders"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildId"); - - b.Property("Interval"); - - b.Property("Message"); - - b.HasKey("Id"); - - b.HasIndex("ChannelId") - .IsUnique(); - - b.ToTable("Repeaters"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("GuildId"); - - b.Property("RoleId"); - - b.HasKey("Id"); - - b.HasIndex("GuildId", "RoleId") - .IsUnique(); - - b.ToTable("SelfAssignableRoles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Author"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.ToTable("TypingArticles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("Blacklist") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") - .WithMany("Bases") - .HasForeignKey("ClashWarId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.CommandCooldown", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("CommandCooldowns") - .HasForeignKey("GuildConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("EightBallResponses") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FilterInvitesChannelIds") - .HasForeignKey("GuildConfigId"); - - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FilterWordsChannelIds") - .HasForeignKey("GuildConfigId1"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FilteredWords") - .HasForeignKey("GuildConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FollowedStreams") - .HasForeignKey("GuildConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany() - .HasForeignKey("LogSettingId"); - - b.HasOne("NadekoBot.Services.Database.Models.Permission", "RootPermission") - .WithMany() - .HasForeignKey("RootPermissionId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredChannels") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredVoicePresenceChannelIds") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") - .WithMany("ModulePrefixes") - .HasForeignKey("BotConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => - { - b.HasOne("NadekoBot.Services.Database.Models.Permission", "Next") - .WithOne("Previous") - .HasForeignKey("NadekoBot.Services.Database.Models.Permission", "NextId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RotatingStatusMessages") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => - { - b.HasOne("NadekoBot.Services.Database.Models.MusicPlaylist") - .WithMany("Songs") - .HasForeignKey("MusicPlaylistId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RaceAnimals") - .HasForeignKey("BotConfigId"); - }); - } - } -} diff --git a/src/NadekoBot/Migrations/20161007210034_cmdcds.cs b/src/NadekoBot/Migrations/20161007210034_cmdcds.cs deleted file mode 100644 index cbed2902..00000000 --- a/src/NadekoBot/Migrations/20161007210034_cmdcds.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System; -using System.Collections.Generic; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace NadekoBot.Migrations -{ - public partial class cmdcds : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "CommandCooldown", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - CommandName = table.Column(nullable: true), - GuildConfigId = table.Column(nullable: true), - Seconds = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_CommandCooldown", x => x.Id); - table.ForeignKey( - name: "FK_CommandCooldown_GuildConfigs_GuildConfigId", - column: x => x.GuildConfigId, - principalTable: "GuildConfigs", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateIndex( - name: "IX_CommandCooldown_GuildConfigId", - table: "CommandCooldown", - column: "GuildConfigId"); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "CommandCooldown"); - } - } -} diff --git a/src/NadekoBot/Migrations/20161008022813_customreactions.Designer.cs b/src/NadekoBot/Migrations/20161008022813_customreactions.Designer.cs deleted file mode 100644 index ca6a19c5..00000000 --- a/src/NadekoBot/Migrations/20161008022813_customreactions.Designer.cs +++ /dev/null @@ -1,755 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using NadekoBot.Services.Database.Impl; - -namespace NadekoBot.Migrations -{ - [DbContext(typeof(NadekoSqliteContext))] - [Migration("20161008022813_customreactions")] - partial class customreactions - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { - modelBuilder - .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ItemId"); - - b.Property("Type"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("BlacklistItem"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BufferSize"); - - b.Property("CurrencyGenerationChance"); - - b.Property("CurrencyGenerationCooldown"); - - b.Property("CurrencyName"); - - b.Property("CurrencyPluralName"); - - b.Property("CurrencySign"); - - b.Property("DMHelpString"); - - b.Property("DontJoinServers"); - - b.Property("ForwardMessages"); - - b.Property("ForwardToAllOwners"); - - b.Property("HelpString"); - - b.Property("MigrationVersion"); - - b.Property("RemindMessageFormat"); - - b.Property("RotatingStatuses"); - - b.HasKey("Id"); - - b.ToTable("BotConfig"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BaseDestroyed"); - - b.Property("CallUser"); - - b.Property("ClashWarId"); - - b.Property("Stars"); - - b.Property("TimeAdded"); - - b.HasKey("Id"); - - b.HasIndex("ClashWarId"); - - b.ToTable("ClashCallers"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("EnemyClan"); - - b.Property("GuildId"); - - b.Property("Size"); - - b.Property("StartedAt"); - - b.Property("WarState"); - - b.HasKey("Id"); - - b.ToTable("ClashOfClans"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.CommandCooldown", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("CommandName"); - - b.Property("GuildConfigId"); - - b.Property("Seconds"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.ToTable("CommandCooldown"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("InternalTrigger"); - - b.Property("Modifier"); - - b.Property("UnitType"); - - b.HasKey("Id"); - - b.ToTable("ConversionUnits"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Currency"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.CustomReaction", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("GuildId"); - - b.Property("IsRegex"); - - b.Property("Response"); - - b.Property("Trigger"); - - b.HasKey("Id"); - - b.ToTable("CustomReactions"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("Name"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Donators"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("EightBallResponses"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildConfigId"); - - b.Property("GuildConfigId1"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.HasIndex("GuildConfigId1"); - - b.ToTable("FilterChannelId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("GuildConfigId"); - - b.Property("Word"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.ToTable("FilteredWord"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildConfigId"); - - b.Property("GuildId"); - - b.Property("LastStatus"); - - b.Property("Type"); - - b.Property("Username"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.ToTable("FollowedStream"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AutoAssignRoleId"); - - b.Property("AutoDeleteByeMessages"); - - b.Property("AutoDeleteGreetMessages"); - - b.Property("AutoDeleteGreetMessagesTimer"); - - b.Property("AutoDeleteSelfAssignedRoleMessages"); - - b.Property("ByeMessageChannelId"); - - b.Property("ChannelByeMessageText"); - - b.Property("ChannelGreetMessageText"); - - b.Property("DefaultMusicVolume"); - - b.Property("DeleteMessageOnCommand"); - - b.Property("DmGreetMessageText"); - - b.Property("ExclusiveSelfAssignedRoles"); - - b.Property("FilterInvites"); - - b.Property("FilterWords"); - - b.Property("GenerateCurrencyChannelId"); - - b.Property("GreetMessageChannelId"); - - b.Property("GuildId"); - - b.Property("LogSettingId"); - - b.Property("PermissionRole"); - - b.Property("RootPermissionId"); - - b.Property("SendChannelByeMessage"); - - b.Property("SendChannelGreetMessage"); - - b.Property("SendDmGreetMessage"); - - b.Property("VerbosePermissions"); - - b.Property("VoicePlusTextEnabled"); - - b.HasKey("Id"); - - b.HasIndex("GuildId") - .IsUnique(); - - b.HasIndex("LogSettingId"); - - b.HasIndex("RootPermissionId"); - - b.ToTable("GuildConfigs"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredLogChannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredVoicePresenceCHannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelCreated"); - - b.Property("ChannelDestroyed"); - - b.Property("ChannelId"); - - b.Property("ChannelUpdated"); - - b.Property("IsLogging"); - - b.Property("LogUserPresence"); - - b.Property("LogVoicePresence"); - - b.Property("MessageDeleted"); - - b.Property("MessageUpdated"); - - b.Property("UserBanned"); - - b.Property("UserJoined"); - - b.Property("UserLeft"); - - b.Property("UserPresenceChannelId"); - - b.Property("UserUnbanned"); - - b.Property("UserUpdated"); - - b.Property("VoicePresenceChannelId"); - - b.HasKey("Id"); - - b.ToTable("LogSettings"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ModuleName"); - - b.Property("Prefix"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("ModulePrefixes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.MusicPlaylist", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Author"); - - b.Property("AuthorId"); - - b.Property("Name"); - - b.HasKey("Id"); - - b.ToTable("MusicPlaylists"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("NextId"); - - b.Property("PrimaryTarget"); - - b.Property("PrimaryTargetId"); - - b.Property("SecondaryTarget"); - - b.Property("SecondaryTargetName"); - - b.Property("State"); - - b.HasKey("Id"); - - b.HasIndex("NextId") - .IsUnique(); - - b.ToTable("Permission"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Status"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("PlayingStatus"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("MusicPlaylistId"); - - b.Property("Provider"); - - b.Property("ProviderType"); - - b.Property("Query"); - - b.Property("Title"); - - b.Property("Uri"); - - b.HasKey("Id"); - - b.HasIndex("MusicPlaylistId"); - - b.ToTable("PlaylistSong"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AuthorId"); - - b.Property("AuthorName") - .IsRequired(); - - b.Property("GuildId"); - - b.Property("Keyword") - .IsRequired(); - - b.Property("Text") - .IsRequired(); - - b.HasKey("Id"); - - b.ToTable("Quotes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Icon"); - - b.Property("Name"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("RaceAnimals"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("IsPrivate"); - - b.Property("Message"); - - b.Property("ServerId"); - - b.Property("UserId"); - - b.Property("When"); - - b.HasKey("Id"); - - b.ToTable("Reminders"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildId"); - - b.Property("Interval"); - - b.Property("Message"); - - b.HasKey("Id"); - - b.HasIndex("ChannelId") - .IsUnique(); - - b.ToTable("Repeaters"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("GuildId"); - - b.Property("RoleId"); - - b.HasKey("Id"); - - b.HasIndex("GuildId", "RoleId") - .IsUnique(); - - b.ToTable("SelfAssignableRoles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Author"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.ToTable("TypingArticles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("Blacklist") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") - .WithMany("Bases") - .HasForeignKey("ClashWarId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.CommandCooldown", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("CommandCooldowns") - .HasForeignKey("GuildConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("EightBallResponses") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FilterChannelId", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FilterInvitesChannelIds") - .HasForeignKey("GuildConfigId"); - - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FilterWordsChannelIds") - .HasForeignKey("GuildConfigId1"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FilteredWord", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FilteredWords") - .HasForeignKey("GuildConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FollowedStreams") - .HasForeignKey("GuildConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany() - .HasForeignKey("LogSettingId"); - - b.HasOne("NadekoBot.Services.Database.Models.Permission", "RootPermission") - .WithMany() - .HasForeignKey("RootPermissionId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredChannels") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredVoicePresenceChannelIds") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") - .WithMany("ModulePrefixes") - .HasForeignKey("BotConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => - { - b.HasOne("NadekoBot.Services.Database.Models.Permission", "Next") - .WithOne("Previous") - .HasForeignKey("NadekoBot.Services.Database.Models.Permission", "NextId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RotatingStatusMessages") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlaylistSong", b => - { - b.HasOne("NadekoBot.Services.Database.Models.MusicPlaylist") - .WithMany("Songs") - .HasForeignKey("MusicPlaylistId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RaceAnimals") - .HasForeignKey("BotConfigId"); - }); - } - } -} diff --git a/src/NadekoBot/Migrations/20161008022813_customreactions.cs b/src/NadekoBot/Migrations/20161008022813_customreactions.cs deleted file mode 100644 index 7531b628..00000000 --- a/src/NadekoBot/Migrations/20161008022813_customreactions.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System; -using System.Collections.Generic; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace NadekoBot.Migrations -{ - public partial class customreactions : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "CustomReactions", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - GuildId = table.Column(nullable: true), - IsRegex = table.Column(nullable: false), - Response = table.Column(nullable: true), - Trigger = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_CustomReactions", x => x.Id); - }); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "CustomReactions"); - } - } -} diff --git a/src/NadekoBot/Migrations/20161009041508_second.cs b/src/NadekoBot/Migrations/20161009041508_second.cs deleted file mode 100644 index 0d02f292..00000000 --- a/src/NadekoBot/Migrations/20161009041508_second.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using System.Collections.Generic; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace NadekoBot.Migrations -{ - public partial class second : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "OwnerOnly", - table: "CustomReactions", - nullable: false, - defaultValue: false); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "OwnerOnly", - table: "CustomReactions"); - } - } -} diff --git a/src/NadekoBot/Migrations/20161009041508_second.Designer.cs b/src/NadekoBot/Migrations/20161011031532_first.Designer.cs similarity index 97% rename from src/NadekoBot/Migrations/20161009041508_second.Designer.cs rename to src/NadekoBot/Migrations/20161011031532_first.Designer.cs index 25a7fb06..9c5398ec 100644 --- a/src/NadekoBot/Migrations/20161009041508_second.Designer.cs +++ b/src/NadekoBot/Migrations/20161011031532_first.Designer.cs @@ -8,8 +8,8 @@ using NadekoBot.Services.Database.Impl; namespace NadekoBot.Migrations { [DbContext(typeof(NadekoSqliteContext))] - [Migration("20161009041508_second")] - partial class second + [Migration("20161011031532_first")] + partial class first { protected override void BuildTargetModel(ModelBuilder modelBuilder) { @@ -269,8 +269,6 @@ namespace NadekoBot.Migrations b.Property("GuildId"); - b.Property("LastStatus"); - b.Property("Type"); b.Property("Username"); @@ -282,6 +280,22 @@ namespace NadekoBot.Migrations b.ToTable("FollowedStream"); }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.GCChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildConfigId"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("GCChannelId"); + }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => { b.Property("Id") @@ -315,8 +329,6 @@ namespace NadekoBot.Migrations b.Property("FilterWords"); - b.Property("GenerateCurrencyChannelId"); - b.Property("GreetMessageChannelId"); b.Property("GuildId"); @@ -623,20 +635,6 @@ namespace NadekoBot.Migrations b.ToTable("SelfAssignableRoles"); }); - modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Author"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.ToTable("TypingArticles"); - }); - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => { b.HasOne("NadekoBot.Services.Database.Models.BotConfig") @@ -691,6 +689,13 @@ namespace NadekoBot.Migrations .HasForeignKey("GuildConfigId"); }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.GCChannelId", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("GenerateCurrencyChannelIds") + .HasForeignKey("GuildConfigId"); + }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => { b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") diff --git a/src/NadekoBot/Migrations/20161007091612_first.cs b/src/NadekoBot/Migrations/20161011031532_first.cs similarity index 91% rename from src/NadekoBot/Migrations/20161007091612_first.cs rename to src/NadekoBot/Migrations/20161011031532_first.cs index 0b8325dc..2a346ba7 100644 --- a/src/NadekoBot/Migrations/20161007091612_first.cs +++ b/src/NadekoBot/Migrations/20161011031532_first.cs @@ -81,6 +81,23 @@ namespace NadekoBot.Migrations table.PrimaryKey("PK_Currency", x => x.Id); }); + migrationBuilder.CreateTable( + name: "CustomReactions", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + GuildId = table.Column(nullable: true), + IsRegex = table.Column(nullable: false), + OwnerOnly = table.Column(nullable: false), + Response = table.Column(nullable: true), + Trigger = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_CustomReactions", x => x.Id); + }); + migrationBuilder.CreateTable( name: "Donators", columns: table => new @@ -228,20 +245,6 @@ namespace NadekoBot.Migrations table.PrimaryKey("PK_SelfAssignableRoles", x => x.Id); }); - migrationBuilder.CreateTable( - name: "TypingArticles", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - Author = table.Column(nullable: true), - Text = table.Column(nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_TypingArticles", x => x.Id); - }); - migrationBuilder.CreateTable( name: "BlacklistItem", columns: table => new @@ -452,7 +455,6 @@ namespace NadekoBot.Migrations ExclusiveSelfAssignedRoles = table.Column(nullable: false), FilterInvites = table.Column(nullable: false), FilterWords = table.Column(nullable: false), - GenerateCurrencyChannelId = table.Column(nullable: true), GreetMessageChannelId = table.Column(nullable: false), GuildId = table.Column(nullable: false), LogSettingId = table.Column(nullable: true), @@ -481,6 +483,27 @@ namespace NadekoBot.Migrations onDelete: ReferentialAction.Restrict); }); + migrationBuilder.CreateTable( + name: "CommandCooldown", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + CommandName = table.Column(nullable: true), + GuildConfigId = table.Column(nullable: true), + Seconds = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_CommandCooldown", x => x.Id); + table.ForeignKey( + name: "FK_CommandCooldown_GuildConfigs_GuildConfigId", + column: x => x.GuildConfigId, + principalTable: "GuildConfigs", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + migrationBuilder.CreateTable( name: "FilterChannelId", columns: table => new @@ -537,7 +560,6 @@ namespace NadekoBot.Migrations ChannelId = table.Column(nullable: false), GuildConfigId = table.Column(nullable: true), GuildId = table.Column(nullable: false), - LastStatus = table.Column(nullable: false), Type = table.Column(nullable: false), Username = table.Column(nullable: true) }, @@ -552,6 +574,26 @@ namespace NadekoBot.Migrations onDelete: ReferentialAction.Restrict); }); + migrationBuilder.CreateTable( + name: "GCChannelId", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + ChannelId = table.Column(nullable: false), + GuildConfigId = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_GCChannelId", x => x.Id); + table.ForeignKey( + name: "FK_GCChannelId_GuildConfigs_GuildConfigId", + column: x => x.GuildConfigId, + principalTable: "GuildConfigs", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + migrationBuilder.CreateIndex( name: "IX_BlacklistItem_BotConfigId", table: "BlacklistItem", @@ -562,6 +604,11 @@ namespace NadekoBot.Migrations table: "ClashCallers", column: "ClashWarId"); + migrationBuilder.CreateIndex( + name: "IX_CommandCooldown_GuildConfigId", + table: "CommandCooldown", + column: "GuildConfigId"); + migrationBuilder.CreateIndex( name: "IX_Currency_UserId", table: "Currency", @@ -599,6 +646,11 @@ namespace NadekoBot.Migrations table: "FollowedStream", column: "GuildConfigId"); + migrationBuilder.CreateIndex( + name: "IX_GCChannelId_GuildConfigId", + table: "GCChannelId", + column: "GuildConfigId"); + migrationBuilder.CreateIndex( name: "IX_GuildConfigs_GuildId", table: "GuildConfigs", @@ -672,12 +724,18 @@ namespace NadekoBot.Migrations migrationBuilder.DropTable( name: "ClashCallers"); + migrationBuilder.DropTable( + name: "CommandCooldown"); + migrationBuilder.DropTable( name: "ConversionUnits"); migrationBuilder.DropTable( name: "Currency"); + migrationBuilder.DropTable( + name: "CustomReactions"); + migrationBuilder.DropTable( name: "Donators"); @@ -693,6 +751,9 @@ namespace NadekoBot.Migrations migrationBuilder.DropTable( name: "FollowedStream"); + migrationBuilder.DropTable( + name: "GCChannelId"); + migrationBuilder.DropTable( name: "IgnoredLogChannels"); @@ -723,9 +784,6 @@ namespace NadekoBot.Migrations migrationBuilder.DropTable( name: "SelfAssignableRoles"); - migrationBuilder.DropTable( - name: "TypingArticles"); - migrationBuilder.DropTable( name: "ClashOfClans"); diff --git a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs index 0acf0498..19a4d2e1 100644 --- a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs +++ b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs @@ -268,8 +268,6 @@ namespace NadekoBot.Migrations b.Property("GuildId"); - b.Property("LastStatus"); - b.Property("Type"); b.Property("Username"); @@ -281,6 +279,22 @@ namespace NadekoBot.Migrations b.ToTable("FollowedStream"); }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.GCChannelId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildConfigId"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("GCChannelId"); + }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => { b.Property("Id") @@ -314,8 +328,6 @@ namespace NadekoBot.Migrations b.Property("FilterWords"); - b.Property("GenerateCurrencyChannelId"); - b.Property("GreetMessageChannelId"); b.Property("GuildId"); @@ -622,20 +634,6 @@ namespace NadekoBot.Migrations b.ToTable("SelfAssignableRoles"); }); - modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Author"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.ToTable("TypingArticles"); - }); - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => { b.HasOne("NadekoBot.Services.Database.Models.BotConfig") @@ -690,6 +688,13 @@ namespace NadekoBot.Migrations .HasForeignKey("GuildConfigId"); }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.GCChannelId", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("GenerateCurrencyChannelIds") + .HasForeignKey("GuildConfigId"); + }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => { b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") diff --git a/src/NadekoBot/Modules/Administration/Commands/Migration.cs b/src/NadekoBot/Modules/Administration/Commands/Migration.cs index e5f6a7c1..0a486149 100644 --- a/src/NadekoBot/Modules/Administration/Commands/Migration.cs +++ b/src/NadekoBot/Modules/Administration/Commands/Migration.cs @@ -13,6 +13,8 @@ using Newtonsoft.Json; using NLog; using NadekoBot.Modules.Administration.Commands.Migration; using System.Collections.Concurrent; +using NadekoBot.Extensions; +using NadekoBot.Services.Database; namespace NadekoBot.Modules.Administration { @@ -62,10 +64,158 @@ namespace NadekoBot.Modules.Administration private async Task Migrate0_9To1_0() { - Config0_9 oldData; + using (var uow = DbHandler.UnitOfWork()) + { + var botConfig = uow.BotConfig.GetOrCreate(); + MigrateConfig0_9(botConfig); + MigratePermissions0_9(uow); + MigrateServerSpecificConfigs0_9(uow); + + //NOW save it + botConfig.MigrationVersion = 1; + await uow.CompleteAsync().ConfigureAwait(false); + } + } + + private void MigrateServerSpecificConfigs0_9(IUnitOfWork uow) + { + const string specificConfigsPath = "data/ServerSpecificConfigs.json"; + var configs = new ConcurrentDictionary(); try { - oldData = JsonConvert.DeserializeObject(File.ReadAllText("./data/config.json")); + configs = JsonConvert + .DeserializeObject>( + File.ReadAllText(specificConfigsPath), new JsonSerializerSettings() + { + Error = (s, e) => + { + if (e.ErrorContext.Member.ToString() == "GenerateCurrencyChannels") + { + e.ErrorContext.Handled = true; + } + } + }); + } + catch (Exception ex) + { + _log.Warn(ex, "ServerSpecificConfig deserialization failed"); + return; + } + + foreach (var config in configs) + { + var guildId = config.Key; + var data = config.Value; + + var guildConfig = uow.GuildConfigs.For(guildId); + + guildConfig.AutoAssignRoleId = data.AutoAssignedRole; + guildConfig.DeleteMessageOnCommand = data.AutoDeleteMessagesOnCommand; + guildConfig.DefaultMusicVolume = data.DefaultMusicVolume; + guildConfig.ExclusiveSelfAssignedRoles = data.ExclusiveSelfAssignedRoles; + guildConfig.GenerateCurrencyChannelIds = new HashSet(data.GenerateCurrencyChannels.Select(gc => new GCChannelId() { ChannelId = gc.Key })); + uow.SelfAssignedRoles.AddRange(data.ListOfSelfAssignableRoles.Select(r => new SelfAssignedRole() { GuildId = guildId, RoleId = r }).ToArray()); + var logSetting = guildConfig.LogSetting; + guildConfig.LogSetting.IgnoredChannels = new HashSet(data.LogserverIgnoreChannels.Select(id => new IgnoredLogChannel() { ChannelId = id })); + guildConfig.FollowedStreams = new HashSet(data.ObservingStreams.Select(x => + { + FollowedStream.FollowedStreamType type = FollowedStream.FollowedStreamType.Twitch; + switch (x.Type) + { + case StreamNotificationConfig0_9.StreamType.Twitch: + type = FollowedStream.FollowedStreamType.Twitch; + break; + case StreamNotificationConfig0_9.StreamType.Beam: + type = FollowedStream.FollowedStreamType.Beam; + break; + case StreamNotificationConfig0_9.StreamType.Hitbox: + type = FollowedStream.FollowedStreamType.Hitbox; + break; + default: + break; + } + + return new FollowedStream() + { + ChannelId = x.ChannelId, + GuildId = guildId, + Username = x.Username.ToLowerInvariant(), + Type = type + }; + })); + guildConfig.VoicePlusTextEnabled = data.VoicePlusTextEnabled; + } + try { File.Move("data/ServerSpecificConfigs.json", "data/DELETE_ME_ServerSpecificCOnfigs.json"); } catch { } + } + + private void MigratePermissions0_9(IUnitOfWork uow) + { + var PermissionsDict = new ConcurrentDictionary(); + Directory.CreateDirectory("data/permissions"); + foreach (var file in Directory.EnumerateFiles("data/permissions/")) + { + try + { + var strippedFileName = Path.GetFileNameWithoutExtension(file); + if (string.IsNullOrWhiteSpace(strippedFileName)) continue; + var id = ulong.Parse(strippedFileName); + var data = JsonConvert.DeserializeObject(File.ReadAllText(file)); + PermissionsDict.TryAdd(id, data); + } + catch { } + } + foreach (var perms in PermissionsDict) + { + var guildId = perms.Key; + var data = perms.Value; + + _log.Info("Migrating data from permissions folder for {0}", guildId); + + var gconfig = uow.GuildConfigs.For(guildId); + + gconfig.PermissionRole = data.PermissionsControllerRole; + gconfig.VerbosePermissions = data.Verbose; + gconfig.FilteredWords = new HashSet(data.Words.Select(w => w.ToLowerInvariant()) + .Distinct() + .Select(w => new FilteredWord() { Word = w })); + gconfig.FilterWords = data.Permissions.FilterWords; + gconfig.FilterInvites = data.Permissions.FilterInvites; + + gconfig.FilterInvitesChannelIds = new HashSet(); + gconfig.FilterInvitesChannelIds.AddRange(data.ChannelPermissions.Where(kvp => kvp.Value.FilterInvites) + .Select(cp => new FilterChannelId() + { + ChannelId = cp.Key + })); + + gconfig.FilterWordsChannelIds = new HashSet(); + gconfig.FilterWordsChannelIds.AddRange(data.ChannelPermissions.Where(kvp => kvp.Value.FilterWords) + .Select(cp => new FilterChannelId() + { + ChannelId = cp.Key + })); + + gconfig.CommandCooldowns = new HashSet(data.CommandCooldowns + .Where(cc => !string.IsNullOrWhiteSpace(cc.Key) && cc.Value > 0) + .Select(cc => new CommandCooldown() + { + CommandName = cc.Key, + Seconds = cc.Value + })); + var smodules = data.Permissions.Modules.Where(m => !m.Value); + + try { Directory.Move("data/permissions","data/DELETE_ME_permissions"); } catch { } + } + + } + + private void MigrateConfig0_9(BotConfig botConfig) + { + Config0_9 oldConfig; + const string configPath = "./data/config.json"; + try + { + oldConfig = JsonConvert.DeserializeObject(File.ReadAllText(configPath)); } catch (FileNotFoundException) { @@ -77,94 +227,89 @@ namespace NadekoBot.Modules.Administration _log.Error("Unknow error while deserializing file config.json, pls check its integrity, aborting migration"); throw new MigrationException(); } - using (var uow = DbHandler.UnitOfWork()) - { - var botConfig = uow.BotConfig.GetOrCreate(); - //Basic - botConfig.DontJoinServers = oldData.DontJoinServers; - botConfig.ForwardMessages = oldData.ForwardMessages; - botConfig.ForwardToAllOwners = oldData.ForwardToAllOwners; - botConfig.BufferSize = (ulong) oldData.BufferSize; - botConfig.RemindMessageFormat = oldData.RemindMessageFormat; - botConfig.CurrencySign = oldData.CurrencySign; - botConfig.CurrencyName = oldData.CurrencyName; - botConfig.DMHelpString = oldData.DMHelpString; - botConfig.HelpString = oldData.HelpString; + //Basic + botConfig.DontJoinServers = oldConfig.DontJoinServers; + botConfig.ForwardMessages = oldConfig.ForwardMessages; + botConfig.ForwardToAllOwners = oldConfig.ForwardToAllOwners; + botConfig.BufferSize = (ulong)oldConfig.BufferSize; + botConfig.RemindMessageFormat = oldConfig.RemindMessageFormat; + botConfig.CurrencySign = oldConfig.CurrencySign; + botConfig.CurrencyName = oldConfig.CurrencyName; + botConfig.DMHelpString = oldConfig.DMHelpString; + botConfig.HelpString = oldConfig.HelpString; - //messages - botConfig.RotatingStatuses = oldData.IsRotatingStatus; - var messages = new List(); + //messages + botConfig.RotatingStatuses = oldConfig.IsRotatingStatus; + var messages = new List(); - oldData.RotatingStatuses.ForEach(i => messages.Add(new PlayingStatus { Status = i })); - botConfig.RotatingStatusMessages = messages; + oldConfig.RotatingStatuses.ForEach(i => messages.Add(new PlayingStatus { Status = i })); + botConfig.RotatingStatusMessages = messages; - //races - var races = new HashSet(); - oldData.RaceAnimals.ForEach(i => races.Add(new RaceAnimal() { Icon = i, Name = i })); + //races + var races = new HashSet(); + oldConfig.RaceAnimals.ForEach(i => races.Add(new RaceAnimal() { Icon = i, Name = i })); + if (races.Any()) botConfig.RaceAnimals = races; - //Prefix - var prefix = new HashSet + //Prefix + var prefix = new HashSet { new ModulePrefix() { ModuleName = "Administration", - Prefix = oldData.CommandPrefixes.Administration + Prefix = oldConfig.CommandPrefixes.Administration }, new ModulePrefix() { ModuleName = "Searches", - Prefix = oldData.CommandPrefixes.Searches + Prefix = oldConfig.CommandPrefixes.Searches }, - new ModulePrefix() {ModuleName = "NSFW", Prefix = oldData.CommandPrefixes.NSFW}, + new ModulePrefix() {ModuleName = "NSFW", Prefix = oldConfig.CommandPrefixes.NSFW}, new ModulePrefix() { ModuleName = "Conversations", - Prefix = oldData.CommandPrefixes.Conversations + Prefix = oldConfig.CommandPrefixes.Conversations }, new ModulePrefix() { ModuleName = "ClashOfClans", - Prefix = oldData.CommandPrefixes.ClashOfClans + Prefix = oldConfig.CommandPrefixes.ClashOfClans }, - new ModulePrefix() {ModuleName = "Help", Prefix = oldData.CommandPrefixes.Help}, - new ModulePrefix() {ModuleName = "Music", Prefix = oldData.CommandPrefixes.Music}, - new ModulePrefix() {ModuleName = "Trello", Prefix = oldData.CommandPrefixes.Trello}, - new ModulePrefix() {ModuleName = "Games", Prefix = oldData.CommandPrefixes.Games}, + new ModulePrefix() {ModuleName = "Help", Prefix = oldConfig.CommandPrefixes.Help}, + new ModulePrefix() {ModuleName = "Music", Prefix = oldConfig.CommandPrefixes.Music}, + new ModulePrefix() {ModuleName = "Trello", Prefix = oldConfig.CommandPrefixes.Trello}, + new ModulePrefix() {ModuleName = "Games", Prefix = oldConfig.CommandPrefixes.Games}, new ModulePrefix() { ModuleName = "Gambling", - Prefix = oldData.CommandPrefixes.Gambling + Prefix = oldConfig.CommandPrefixes.Gambling }, new ModulePrefix() { ModuleName = "Permissions", - Prefix = oldData.CommandPrefixes.Permissions + Prefix = oldConfig.CommandPrefixes.Permissions }, new ModulePrefix() { ModuleName = "Programming", - Prefix = oldData.CommandPrefixes.Programming + Prefix = oldConfig.CommandPrefixes.Programming }, - new ModulePrefix() {ModuleName = "Pokemon", Prefix = oldData.CommandPrefixes.Pokemon}, - new ModulePrefix() {ModuleName = "Utility", Prefix = oldData.CommandPrefixes.Utility} + new ModulePrefix() {ModuleName = "Pokemon", Prefix = oldConfig.CommandPrefixes.Pokemon}, + new ModulePrefix() {ModuleName = "Utility", Prefix = oldConfig.CommandPrefixes.Utility} }; - botConfig.ModulePrefixes = prefix; + botConfig.ModulePrefixes = prefix; - //Blacklist - var blacklist = oldData.ServerBlacklist.Select(server => new BlacklistItem() {ItemId = server, Type = BlacklistItem.BlacklistType.Server}).ToList(); - blacklist.AddRange(oldData.ChannelBlacklist.Select(channel => new BlacklistItem() {ItemId = channel, Type = BlacklistItem.BlacklistType.Channel})); - blacklist.AddRange(oldData.UserBlacklist.Select(user => new BlacklistItem() {ItemId = user, Type = BlacklistItem.BlacklistType.User})); - botConfig.Blacklist = new HashSet(blacklist); + //Blacklist + var blacklist = new HashSet(oldConfig.ServerBlacklist.Select(server => new BlacklistItem() { ItemId = server, Type = BlacklistItem.BlacklistType.Server })); + blacklist.AddRange(oldConfig.ChannelBlacklist.Select(channel => new BlacklistItem() { ItemId = channel, Type = BlacklistItem.BlacklistType.Channel })); + blacklist.AddRange(oldConfig.UserBlacklist.Select(user => new BlacklistItem() { ItemId = user, Type = BlacklistItem.BlacklistType.User })); + botConfig.Blacklist = blacklist; - //Eightball - botConfig.EightBallResponses = new HashSet(oldData._8BallResponses.Select(response => new EightBallResponse() {Text = response})); + //Eightball + botConfig.EightBallResponses = new HashSet(oldConfig._8BallResponses.Select(response => new EightBallResponse() { Text = response })); - //NOW save it - botConfig.MigrationVersion = 1; - await uow.CompleteAsync().ConfigureAwait(false); - } + try { File.Move(configPath, "./data/DELETE_ME_config.json"); } catch { } } } } diff --git a/src/NadekoBot/Modules/Administration/Commands/Migration/0_9..cs b/src/NadekoBot/Modules/Administration/Commands/Migration/0_9..cs index 87a18f9b..a64f588b 100644 --- a/src/NadekoBot/Modules/Administration/Commands/Migration/0_9..cs +++ b/src/NadekoBot/Modules/Administration/Commands/Migration/0_9..cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Concurrent; using System.Collections.Generic; using System.Linq; using System.Text; @@ -45,4 +46,153 @@ namespace NadekoBot.Modules.Administration.Commands.Migration public string DMHelpString { get; set; } public string HelpString { get; set; } } + + /// + /// Holds a permission list + /// + public class Permissions + { + /// + /// Name of the parent object whose permissions these are + /// + public string Name { get; set; } + /// + /// Module name with allowed/disallowed + /// + public ConcurrentDictionary Modules { get; set; } + /// + /// Command name with allowed/disallowed + /// + public ConcurrentDictionary Commands { get; set; } + /// + /// Should the bot filter invites to other discord servers (and ref links in the future) + /// + public bool FilterInvites { get; set; } + /// + /// Should the bot filter words which are specified in the Words hashset + /// + public bool FilterWords { get; set; } + + public Permissions(string name) + { + Name = name; + Modules = new ConcurrentDictionary(); + Commands = new ConcurrentDictionary(); + FilterInvites = false; + FilterWords = false; + } + + public void CopyFrom(Permissions other) + { + Modules.Clear(); + foreach (var mp in other.Modules) + Modules.AddOrUpdate(mp.Key, mp.Value, (s, b) => mp.Value); + Commands.Clear(); + foreach (var cp in other.Commands) + Commands.AddOrUpdate(cp.Key, cp.Value, (s, b) => cp.Value); + FilterInvites = other.FilterInvites; + FilterWords = other.FilterWords; + } + + public override string ToString() + { + var toReturn = ""; + var bannedModules = Modules.Where(kvp => kvp.Value == false); + var bannedModulesArray = bannedModules as KeyValuePair[] ?? bannedModules.ToArray(); + if (bannedModulesArray.Any()) + { + toReturn += "`Banned Modules:`\n"; + toReturn = bannedModulesArray.Aggregate(toReturn, (current, m) => current + $"\t`[x] {m.Key}`\n"); + } + var bannedCommands = Commands.Where(kvp => kvp.Value == false); + var bannedCommandsArr = bannedCommands as KeyValuePair[] ?? bannedCommands.ToArray(); + if (bannedCommandsArr.Any()) + { + toReturn += "`Banned Commands:`\n"; + toReturn = bannedCommandsArr.Aggregate(toReturn, (current, c) => current + $"\t`[x] {c.Key}`\n"); + } + return toReturn; + } + } + + public class ServerPermissions0_9 + { + /// + /// The guy who can edit the permissions + /// + public string PermissionsControllerRole { get; set; } + /// + /// Does it print the error when a restriction occurs + /// + public bool Verbose { get; set; } + /// + /// The id of the thing (user/server/channel) + /// + public ulong Id { get; set; } //a string because of the role name. + /// + /// Permission object bound to the id of something/role name + /// + public Permissions Permissions { get; set; } + /// + /// Banned words, usually profanities, like word "java" + /// + public HashSet Words { get; set; } + + public Dictionary UserPermissions { get; set; } + public Dictionary ChannelPermissions { get; set; } + public Dictionary RolePermissions { get; set; } + /// + /// Dictionary of command names with their respective cooldowns + /// + public ConcurrentDictionary CommandCooldowns { get; set; } + + public ServerPermissions0_9(ulong id, string name) + { + Id = id; + PermissionsControllerRole = "Nadeko"; + Verbose = true; + + Permissions = new Permissions(name); + Permissions.Modules.TryAdd("NSFW", false); + UserPermissions = new Dictionary(); + ChannelPermissions = new Dictionary(); + RolePermissions = new Dictionary(); + CommandCooldowns = new ConcurrentDictionary(); + Words = new HashSet(); + } + } + + internal class ServerSpecificConfig + { + public bool VoicePlusTextEnabled { get; set; } + private bool SendPrivateMessageOnMention { get; set; } + private ulong? LogChannel { get; set; } = null; + public HashSet LogserverIgnoreChannels { get; set; } + private ulong? LogPresenceChannel = null; + public ConcurrentDictionary VoiceChannelLog { get; set; } + public HashSet ListOfSelfAssignableRoles { get; set; } + public ulong AutoAssignedRole { get; set; } + public ConcurrentDictionary GenerateCurrencyChannels { get; set; } + public bool AutoDeleteMessagesOnCommand { get; set; } + public bool ExclusiveSelfAssignedRoles { get; set; } + public float DefaultMusicVolume { get; set; } + public HashSet ObservingStreams { get; set; } + } + + public class StreamNotificationConfig0_9 + { + public string Username { get; set; } + public StreamType Type { get; set; } + public ulong ServerId { get; set; } + public ulong ChannelId { get; set; } + public bool LastStatus { get; set; } + + public enum StreamType + { + Twitch, + Beam, + Hitbox, + YoutubeGaming + } + } } \ No newline at end of file diff --git a/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs b/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs index b4254162..6bc586fe 100644 --- a/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs +++ b/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs @@ -19,7 +19,7 @@ namespace NadekoBot.Modules.ClashOfClans { public static ConcurrentDictionary> ClashWars { get; set; } = new ConcurrentDictionary>(); - public ClashOfClans(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) + static ClashOfClans() { using (var uow = DbHandler.UnitOfWork()) { @@ -36,6 +36,9 @@ namespace NadekoBot.Modules.ClashOfClans .ToDictionary(g => g.Key, g => g.ToList())); } } + public ClashOfClans(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) + { + } private static async Task CheckWar(TimeSpan callExpire, ClashWar war) { diff --git a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs index 022e8f13..1c021a03 100644 --- a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs @@ -5,6 +5,7 @@ using NadekoBot.Attributes; using NadekoBot.Extensions; using NadekoBot.Services; using NadekoBot.Services.Database; +using NadekoBot.Services.Database.Models; using NLog; using System; using System.Collections.Concurrent; @@ -33,7 +34,7 @@ namespace NadekoBot.Modules.Games { private Random rng; - private ConcurrentDictionary generationChannels = new ConcurrentDictionary(); + private ConcurrentHashSet generationChannels = new ConcurrentHashSet(); //channelid/message private ConcurrentDictionary> plantedFlowers = new ConcurrentDictionary>(); //channelId/last generation @@ -53,9 +54,8 @@ namespace NadekoBot.Modules.Games { var conf = uow.BotConfig.GetOrCreate(); var x = - generationChannels = new ConcurrentDictionary(uow.GuildConfigs.GetAll() - .Where(c => c.GenerateCurrencyChannelId != null) - .ToDictionary(c => c.GenerateCurrencyChannelId.Value, c => true)); + generationChannels = new ConcurrentHashSet(uow.GuildConfigs.GetAll() + .SelectMany(c => c.GenerateCurrencyChannelIds.Select(obj=>obj.ChannelId))); chance = conf.CurrencyGenerationChance; cooldown = conf.CurrencyGenerationCooldown; } @@ -71,8 +71,7 @@ namespace NadekoBot.Modules.Games if (channel == null) return Task.CompletedTask; - bool shouldGenerate; - if (!generationChannels.TryGetValue(channel.Id, out shouldGenerate) || !shouldGenerate) + if (!generationChannels.Contains(channel.Id)) return Task.CompletedTask; var t = Task.Run(async () => @@ -135,8 +134,6 @@ namespace NadekoBot.Modules.Games public async Task Plant(IUserMessage imsg) { var channel = (ITextChannel)imsg.Channel; - if (channel == null) - return; var removed = await CurrencyHandler.RemoveCurrencyAsync((IGuildUser)imsg.Author, "Planted a flower.", 1, false).ConfigureAwait(false); if (!removed) @@ -167,25 +164,23 @@ namespace NadekoBot.Modules.Games public async Task Gencurrency(IUserMessage imsg) { var channel = (ITextChannel)imsg.Channel; - if (channel == null) - return; bool enabled; using (var uow = DbHandler.UnitOfWork()) { var guildConfig = uow.GuildConfigs.For(channel.Id); - if (guildConfig.GenerateCurrencyChannelId == null) + var toAdd = new GCChannelId() { ChannelId = channel.Id }; + if (guildConfig.GenerateCurrencyChannelIds.Contains(toAdd)) { - guildConfig.GenerateCurrencyChannelId = channel.Id; - generationChannels.TryAdd(channel.Id, true); + guildConfig.GenerateCurrencyChannelIds.Add(toAdd); + generationChannels.Add(channel.Id); enabled = true; } else { - guildConfig.GenerateCurrencyChannelId = null; - bool throwaway; - generationChannels.TryRemove(channel.Id, out throwaway); + guildConfig.GenerateCurrencyChannelIds.Remove(toAdd); + generationChannels.TryRemove(channel.Id); enabled = false; } await uow.CompleteAsync(); diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index b9b90702..96d2c4f6 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -154,8 +154,8 @@ namespace NadekoBot.Modules.Help var channel = (ITextChannel)umsg.Channel; await channel.SendMessageAsync( -@"**LIST OF COMMANDS**: -**Hosting Guides and docs can be found here**: ").ConfigureAwait(false); +@"**LIST OF COMMANDS**: +**Hosting Guides and docs can be found here**: ").ConfigureAwait(false); } [NadekoCommand, Usage, Description, Aliases] @@ -165,7 +165,7 @@ namespace NadekoBot.Modules.Help var channel = (ITextChannel)umsg.Channel; await channel.SendMessageAsync( -$@"You can support the project on patreon. or +$@"You can support the NadekoBot project on patreon. or You can send donations to `nadekodiscordbot@gmail.com` Don't forget to leave your discord name or id in the message. diff --git a/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs b/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs index 093328bc..37eb9e4a 100644 --- a/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs @@ -18,17 +18,32 @@ namespace NadekoBot.Modules.Searches { public partial class Searches { + public class StreamStatus + { + public StreamStatus(string link, bool isLive, string views) + { + Link = link; + IsLive = isLive; + Views = views; + } + + public bool IsLive { get; set; } + public string Link { get; set; } + public string Views { get; set; } + } [Group] public class StreamNotificationCommands { private Timer checkTimer { get; } - private ConcurrentDictionary> cachedStatuses = new ConcurrentDictionary>(); + private ConcurrentDictionary oldCachedStatuses = new ConcurrentDictionary(); + private ConcurrentDictionary cachedStatuses = new ConcurrentDictionary(); private bool FirstPass { get; set; } = true; public StreamNotificationCommands() { checkTimer = new Timer(async (state) => { + oldCachedStatuses = new ConcurrentDictionary(cachedStatuses); cachedStatuses.Clear(); try { @@ -39,19 +54,23 @@ namespace NadekoBot.Modules.Searches } foreach (var stream in streams) { - Tuple data; + StreamStatus data; try { data = await GetStreamStatus(stream).ConfigureAwait(false); + if (data == null) + return; } catch { continue; } - if (data.Item1 != stream.LastStatus) + StreamStatus oldData; + oldCachedStatuses.TryGetValue(data.Link, out oldData); + + if (oldData == null || data.IsLive != oldData.IsLive) { - stream.LastStatus = data.Item1; if (FirstPass) continue; var server = NadekoBot.Client.GetGuild(stream.GuildId); @@ -59,32 +78,30 @@ namespace NadekoBot.Modules.Searches if (channel == null) continue; var msg = $"`{stream.Username}`'s stream is now " + - $"**{(data.Item1 ? "ONLINE" : "OFFLINE")}** with " + - $"**{data.Item2}** viewers."; - if (stream.LastStatus) + $"**{(data.IsLive ? "ONLINE" : "OFFLINE")}** with " + + $"**{data.Views}** viewers."; + if (data.IsLive) if (stream.Type == FollowedStream.FollowedStreamType.Hitbox) msg += $"\n`Here is the Link:`【 http://www.hitbox.tv/{stream.Username}/ 】"; else if (stream.Type == FollowedStream.FollowedStreamType.Twitch) msg += $"\n`Here is the Link:`【 http://www.twitch.tv/{stream.Username}/ 】"; else if (stream.Type == FollowedStream.FollowedStreamType.Beam) msg += $"\n`Here is the Link:`【 http://www.beam.pro/{stream.Username}/ 】"; - //else if (stream.Type == FollowedStream.FollowedStreamType.YoutubeGaming) - // msg += $"\n`Here is the Link:`【 not implemented yet - {stream.Username} 】"; try { await channel.SendMessageAsync(msg).ConfigureAwait(false); } catch { } } } FirstPass = false; } catch { } - }, null, TimeSpan.Zero, TimeSpan.FromSeconds(15)); + }, null, TimeSpan.Zero, TimeSpan.FromSeconds(60)); } - private async Task> GetStreamStatus(FollowedStream stream, bool checkCache = true) + private async Task GetStreamStatus(FollowedStream stream, bool checkCache = true) { bool isLive; string response; JObject data; - Tuple result; + StreamStatus result; switch (stream.Type) { case FollowedStream.FollowedStreamType.Hitbox: @@ -97,7 +114,7 @@ namespace NadekoBot.Modules.Searches } data = JObject.Parse(response); isLive = data["media_is_live"].ToString() == "1"; - result = new Tuple(isLive, data["media_views"].ToString()); + result = new StreamStatus(hitboxUrl, isLive, data["media_views"].ToString()); cachedStatuses.TryAdd(hitboxUrl, result); return result; case FollowedStream.FollowedStreamType.Twitch: @@ -110,7 +127,7 @@ namespace NadekoBot.Modules.Searches } data = JObject.Parse(response); isLive = !string.IsNullOrWhiteSpace(data["stream"].ToString()); - result = new Tuple(isLive, isLive ? data["stream"]["viewers"].ToString() : stream.Username); + result = new StreamStatus(twitchUrl, isLive, isLive ? data["stream"]["viewers"].ToString() : "0"); cachedStatuses.TryAdd(twitchUrl, result); return result; case FollowedStream.FollowedStreamType.Beam: @@ -123,13 +140,13 @@ namespace NadekoBot.Modules.Searches } data = JObject.Parse(response); isLive = data["online"].ToObject() == true; - result = new Tuple(isLive, data["viewersCurrent"].ToString()); + result = new StreamStatus(beamUrl, isLive, data["viewersCurrent"].ToString()); cachedStatuses.TryAdd(beamUrl, result); return result; default: break; } - return new Tuple(false, "0"); + return null; } [NadekoCommand, Usage, Description, Aliases] @@ -181,6 +198,7 @@ namespace NadekoBot.Modules.Searches [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] + [RequirePermission(GuildPermission.ManageMessages)] public async Task RemoveStream(IUserMessage msg, [Remainder] string username) { var channel = (ITextChannel)msg.Channel; @@ -223,9 +241,9 @@ namespace NadekoBot.Modules.Searches Username = stream, Type = platform })); - if (streamStatus.Item1) + if (streamStatus.IsLive) { - await channel.SendMessageAsync($"`Streamer {username} is online with {streamStatus.Item2}.`"); + await channel.SendMessageAsync($"`Streamer {username} is online with {streamStatus.Views} viewers.`"); } else { @@ -258,7 +276,7 @@ namespace NadekoBot.Modules.Searches await channel.SendMessageAsync($":anger: I am already following `{username}` ({type}) stream on this channel.").ConfigureAwait(false); return; } - Tuple data; + StreamStatus data; try { data = await GetStreamStatus(stream).ConfigureAwait(false); @@ -268,17 +286,14 @@ namespace NadekoBot.Modules.Searches await channel.SendMessageAsync(":anger: Stream probably doesn't exist.").ConfigureAwait(false); return; } - var msg = $"Stream is currently **{(data.Item1 ? "ONLINE" : "OFFLINE")}** with **{data.Item2}** viewers"; - if (data.Item1) + var msg = $"Stream is currently **{(data.IsLive ? "ONLINE" : "OFFLINE")}** with **{data.Views}** viewers"; + if (data.IsLive) if (type == FollowedStream.FollowedStreamType.Hitbox) msg += $"\n`Here is the Link:`【 http://www.hitbox.tv/{stream.Username}/ 】"; else if (type == FollowedStream.FollowedStreamType.Twitch) msg += $"\n`Here is the Link:`【 http://www.twitch.tv/{stream.Username}/ 】"; else if (type == FollowedStream.FollowedStreamType.Beam) msg += $"\n`Here is the Link:`【 https://beam.pro/{stream.Username}/ 】"; - //else if (type == FollowedStream.FollowedStreamType.YoutubeGaming) - // msg += $"\n`Here is the Link:` not implemented yet - {stream.Username}"; - stream.LastStatus = data.Item1; using (var uow = DbHandler.UnitOfWork()) { uow.GuildConfigs.For(channel.Guild.Id).FollowedStreams.Add(stream); diff --git a/src/NadekoBot/Services/Database/Models/BotConfig.cs b/src/NadekoBot/Services/Database/Models/BotConfig.cs index 39bb8e38..5cf92cb7 100644 --- a/src/NadekoBot/Services/Database/Models/BotConfig.cs +++ b/src/NadekoBot/Services/Database/Models/BotConfig.cs @@ -44,7 +44,7 @@ For a specific command help, use `{1}h CommandName` (for example {1}h !!q) **LIST OF COMMANDS CAN BE FOUND ON THIS LINK** - + Nadeko Support Server: https://discord.gg/0ehQwTK2RBjAxzEY"; diff --git a/src/NadekoBot/Services/Database/Models/FollowedStream.cs b/src/NadekoBot/Services/Database/Models/FollowedStream.cs index 8bab223e..b1e8d245 100644 --- a/src/NadekoBot/Services/Database/Models/FollowedStream.cs +++ b/src/NadekoBot/Services/Database/Models/FollowedStream.cs @@ -11,7 +11,6 @@ namespace NadekoBot.Services.Database.Models public ulong ChannelId { get; set; } public string Username { get; set; } public FollowedStreamType Type { get; set; } - public bool LastStatus { get; set; } public ulong GuildId { get; set; } public enum FollowedStreamType diff --git a/src/NadekoBot/Services/Database/Models/GuildConfig.cs b/src/NadekoBot/Services/Database/Models/GuildConfig.cs index cc0c87ee..d7c0085f 100644 --- a/src/NadekoBot/Services/Database/Models/GuildConfig.cs +++ b/src/NadekoBot/Services/Database/Models/GuildConfig.cs @@ -41,7 +41,7 @@ namespace NadekoBot.Services.Database.Models public HashSet FollowedStreams { get; set; } = new HashSet(); //currencyGeneration - public ulong? GenerateCurrencyChannelId { get; set; } + public HashSet GenerateCurrencyChannelIds { get; set; } = new HashSet(); //permissions public Permission RootPermission { get; set; } @@ -64,8 +64,25 @@ namespace NadekoBot.Services.Database.Models public ulong ChannelId { get; set; } } - public class FilteredWord :DbEntity + public class FilteredWord : DbEntity { public string Word { get; set; } } + + public class GCChannelId : DbEntity + { + public ulong ChannelId { get; set; } + + public override bool Equals(object obj) + { + var gc = obj as GCChannelId; + if (gc == null) + return false; + + return gc.ChannelId == this.ChannelId; + } + + public override int GetHashCode() => + this.ChannelId.GetHashCode(); + } } diff --git a/src/NadekoBot/Services/Database/Models/LogSetting.cs b/src/NadekoBot/Services/Database/Models/LogSetting.cs index 02a97858..03735dae 100644 --- a/src/NadekoBot/Services/Database/Models/LogSetting.cs +++ b/src/NadekoBot/Services/Database/Models/LogSetting.cs @@ -11,7 +11,7 @@ namespace NadekoBot.Services.Database.Models { public bool IsLogging { get; set; } public ulong ChannelId { get; set; } - public ConcurrentHashSet IgnoredChannels { get; set; } + public HashSet IgnoredChannels { get; set; } public bool MessageUpdated { get; set; } = true; public bool MessageDeleted { get; set; } = true; diff --git a/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs b/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs index b15d8ab8..44d6a938 100644 --- a/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs +++ b/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs @@ -24,6 +24,7 @@ namespace NadekoBot.Services.Database.Repositories.Impl .ThenInclude(gc => gc.Previous) .Include(gc => gc.RootPermission) .ThenInclude(gc => gc.Next) + .Include(gc => gc.GenerateCurrencyChannelIds) .Include(gc => gc.FilterInvitesChannelIds) .Include(gc => gc.FilterWordsChannelIds) .Include(gc => gc.FilteredWords) @@ -45,6 +46,7 @@ namespace NadekoBot.Services.Database.Repositories.Impl .Include(gc => gc.FilterInvitesChannelIds) .Include(gc => gc.FilterWordsChannelIds) .Include(gc => gc.FilteredWords) + .Include(gc => gc.GenerateCurrencyChannelIds) .Include(gc => gc.CommandCooldowns) .FirstOrDefault(c => c.GuildId == guildId); From 5e80a0f6ef58b201b9fd22290ec8aec2fadc7e40 Mon Sep 17 00:00:00 2001 From: Jordan Fearnley Date: Tue, 11 Oct 2016 05:18:41 +0100 Subject: [PATCH 100/135] Minor index.md update - added the word "the" for the sake of Grammar - updated the contribution location --- docs/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/index.md b/docs/index.md index 942c22a5..aa8c9251 100644 --- a/docs/index.md +++ b/docs/index.md @@ -4,13 +4,13 @@ To invite NadekoBot to your server, click on the image bellow: [![img][img]](https://discordapp.com/oauth2/authorize?client_id=170254782546575360&scope=bot&permissions=66186303) -In case you need any help, hop on [NadekoBot Server][NadekoBot Server], where we can provide support. +In case you need any help, hop on the [NadekoBot Server][NadekoBot Server], where we can provide support. NadekoBot is an open source project, and it can be found on our [GitHub][GitHub] page. Here you can read current [Issues][Issues]. -If you want to contribute, be sure to PR on the **[dev][dev]** branch. +If you want to contribute, be sure to PR on the **[1.0][1.0]** branch. ##Content - [About](about.md) - Guides @@ -33,7 +33,7 @@ If you want to contribute, be sure to PR on the **[dev][dev]** branch. [NadekoBot Server]: https://discord.gg/0ehQwTK2RBjAxzEY [GitHub]: https://github.com/Kwoth/NadekoBot [Issues]: https://github.com/Kwoth/NadekoBot/issues -[dev]: https://github.com/Kwoth/NadekoBot/tree/dev +[1.0]: https://github.com/Kwoth/NadekoBot/tree/1.0 [Italian]: http://i.imgur.com/SsaTwOF.png?1 [Russian]: http://i.imgur.com/wf9bc5G.png?1 From c0e20eb07940c0802691b44e03ea260aa7ff8ea1 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Tue, 11 Oct 2016 06:21:43 +0200 Subject: [PATCH 101/135] fixed >gc? --- src/NadekoBot/Modules/Administration/Commands/Migration.cs | 2 +- src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Commands/Migration.cs b/src/NadekoBot/Modules/Administration/Commands/Migration.cs index 0a486149..23e61e09 100644 --- a/src/NadekoBot/Modules/Administration/Commands/Migration.cs +++ b/src/NadekoBot/Modules/Administration/Commands/Migration.cs @@ -224,7 +224,7 @@ namespace NadekoBot.Modules.Administration } catch (Exception) { - _log.Error("Unknow error while deserializing file config.json, pls check its integrity, aborting migration"); + _log.Error("Unknown error while deserializing file config.json, pls check its integrity, aborting migration"); throw new MigrationException(); } diff --git a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs index 1c021a03..2b8d8072 100644 --- a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs @@ -161,7 +161,7 @@ namespace NadekoBot.Modules.Games [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageMessages)] - public async Task Gencurrency(IUserMessage imsg) + public async Task GenCurrency(IUserMessage imsg) { var channel = (ITextChannel)imsg.Channel; @@ -171,7 +171,7 @@ namespace NadekoBot.Modules.Games var guildConfig = uow.GuildConfigs.For(channel.Id); var toAdd = new GCChannelId() { ChannelId = channel.Id }; - if (guildConfig.GenerateCurrencyChannelIds.Contains(toAdd)) + if (!guildConfig.GenerateCurrencyChannelIds.Contains(toAdd)) { guildConfig.GenerateCurrencyChannelIds.Add(toAdd); generationChannels.Add(channel.Id); From 1f7c19b30658c4434b71c966391824ae9097b975 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Tue, 11 Oct 2016 09:39:51 +0200 Subject: [PATCH 102/135] Migration stuff, fixes --- .../Modules/Administration/Commands/Migration.cs | 8 +++++--- .../Modules/Administration/Commands/Migration/0_9..cs | 6 +++--- src/NadekoBot/Modules/Help/Help.cs | 2 +- src/NadekoBot/Services/Database/Models/BotConfig.cs | 1 - 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Commands/Migration.cs b/src/NadekoBot/Modules/Administration/Commands/Migration.cs index 23e61e09..0bf99725 100644 --- a/src/NadekoBot/Modules/Administration/Commands/Migration.cs +++ b/src/NadekoBot/Modules/Administration/Commands/Migration.cs @@ -116,6 +116,8 @@ namespace NadekoBot.Modules.Administration guildConfig.GenerateCurrencyChannelIds = new HashSet(data.GenerateCurrencyChannels.Select(gc => new GCChannelId() { ChannelId = gc.Key })); uow.SelfAssignedRoles.AddRange(data.ListOfSelfAssignableRoles.Select(r => new SelfAssignedRole() { GuildId = guildId, RoleId = r }).ToArray()); var logSetting = guildConfig.LogSetting; + guildConfig.LogSetting.IsLogging = data.LogChannel != null; + guildConfig.LogSetting.ChannelId = data.LogChannel ?? 0; guildConfig.LogSetting.IgnoredChannels = new HashSet(data.LogserverIgnoreChannels.Select(id => new IgnoredLogChannel() { ChannelId = id })); guildConfig.FollowedStreams = new HashSet(data.ObservingStreams.Select(x => { @@ -151,7 +153,8 @@ namespace NadekoBot.Modules.Administration private void MigratePermissions0_9(IUnitOfWork uow) { var PermissionsDict = new ConcurrentDictionary(); - Directory.CreateDirectory("data/permissions"); + if (!Directory.Exists("data/permissions/")) + throw new MigrationException(); foreach (var file in Directory.EnumerateFiles("data/permissions/")) { try @@ -212,7 +215,7 @@ namespace NadekoBot.Modules.Administration private void MigrateConfig0_9(BotConfig botConfig) { Config0_9 oldConfig; - const string configPath = "./data/config.json"; + const string configPath = "data/config.json"; try { oldConfig = JsonConvert.DeserializeObject(File.ReadAllText(configPath)); @@ -229,7 +232,6 @@ namespace NadekoBot.Modules.Administration } //Basic - botConfig.DontJoinServers = oldConfig.DontJoinServers; botConfig.ForwardMessages = oldConfig.ForwardMessages; botConfig.ForwardToAllOwners = oldConfig.ForwardToAllOwners; botConfig.BufferSize = (ulong)oldConfig.BufferSize; diff --git a/src/NadekoBot/Modules/Administration/Commands/Migration/0_9..cs b/src/NadekoBot/Modules/Administration/Commands/Migration/0_9..cs index a64f588b..1be87724 100644 --- a/src/NadekoBot/Modules/Administration/Commands/Migration/0_9..cs +++ b/src/NadekoBot/Modules/Administration/Commands/Migration/0_9..cs @@ -165,10 +165,10 @@ namespace NadekoBot.Modules.Administration.Commands.Migration internal class ServerSpecificConfig { public bool VoicePlusTextEnabled { get; set; } - private bool SendPrivateMessageOnMention { get; set; } - private ulong? LogChannel { get; set; } = null; + public bool SendPrivateMessageOnMention { get; set; } + public ulong? LogChannel { get; set; } = null; + public ulong? LogPresenceChannel = null; public HashSet LogserverIgnoreChannels { get; set; } - private ulong? LogPresenceChannel = null; public ConcurrentDictionary VoiceChannelLog { get; set; } public HashSet ListOfSelfAssignableRoles { get; set; } public ulong AutoAssignedRole { get; set; } diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index 96d2c4f6..94a4b84f 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -136,7 +136,7 @@ namespace NadekoBot.Modules.Help helpstr.AppendLine("----------------|--------------|-------"); lastModule = com.Module.Name; } - helpstr.AppendLine($"`{com.Text}` {string.Join(" ", com.Aliases.Skip(1).Select(a=>"`"+a+"`"))} | {com.Summary} | {com.Remarks} {GetCommandRequirements(com)}"); + helpstr.AppendLine($"`{com.Text}` {string.Join(" ", com.Aliases.Skip(1).Select(a=>"`"+a+"`"))} | {com.Summary} | {com.Remarks.Replace("|","\\|")} {GetCommandRequirements(com)}"); } helpstr = helpstr.Replace(NadekoBot.Client.GetCurrentUser().Username , "@BotName"); #if DEBUG diff --git a/src/NadekoBot/Services/Database/Models/BotConfig.cs b/src/NadekoBot/Services/Database/Models/BotConfig.cs index 5cf92cb7..6108d16d 100644 --- a/src/NadekoBot/Services/Database/Models/BotConfig.cs +++ b/src/NadekoBot/Services/Database/Models/BotConfig.cs @@ -13,7 +13,6 @@ namespace NadekoBot.Services.Database.Models { public HashSet Blacklist { get; set; } public ulong BufferSize { get; set; } = 4000000; - public bool DontJoinServers { get; set; } = false; public bool ForwardMessages { get; set; } = true; public bool ForwardToAllOwners { get; set; } = true; From 56b09ca5643156048ff0df463a1cf5d2644c04e3 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Tue, 11 Oct 2016 22:06:31 +0200 Subject: [PATCH 103/135] More migrations, slight db changes --- ...er.cs => 20161011200458_first.Designer.cs} | 11 +- ...31532_first.cs => 20161011200458_first.cs} | 5 +- .../NadekoSqliteContextModelSnapshot.cs | 9 +- .../Administration/Commands/Migration.cs | 167 +++++++++++++----- .../Administration/Commands/Migration/0_9..cs | 2 +- .../Services/Database/Models/BotConfig.cs | 3 - 6 files changed, 130 insertions(+), 67 deletions(-) rename src/NadekoBot/Migrations/{20161011031532_first.Designer.cs => 20161011200458_first.Designer.cs} (98%) rename src/NadekoBot/Migrations/{20161011031532_first.cs => 20161011200458_first.cs} (99%) diff --git a/src/NadekoBot/Migrations/20161011031532_first.Designer.cs b/src/NadekoBot/Migrations/20161011200458_first.Designer.cs similarity index 98% rename from src/NadekoBot/Migrations/20161011031532_first.Designer.cs rename to src/NadekoBot/Migrations/20161011200458_first.Designer.cs index 9c5398ec..3cb606dd 100644 --- a/src/NadekoBot/Migrations/20161011031532_first.Designer.cs +++ b/src/NadekoBot/Migrations/20161011200458_first.Designer.cs @@ -8,7 +8,7 @@ using NadekoBot.Services.Database.Impl; namespace NadekoBot.Migrations { [DbContext(typeof(NadekoSqliteContext))] - [Migration("20161011031532_first")] + [Migration("20161011200458_first")] partial class first { protected override void BuildTargetModel(ModelBuilder modelBuilder) @@ -53,8 +53,6 @@ namespace NadekoBot.Migrations b.Property("DMHelpString"); - b.Property("DontJoinServers"); - b.Property("ForwardMessages"); b.Property("ForwardToAllOwners"); @@ -440,7 +438,7 @@ namespace NadekoBot.Migrations b.Property("Id") .ValueGeneratedOnAdd(); - b.Property("BotConfigId"); + b.Property("BotConfigId"); b.Property("ModuleName"); @@ -723,10 +721,9 @@ namespace NadekoBot.Migrations modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") .WithMany("ModulePrefixes") - .HasForeignKey("BotConfigId") - .OnDelete(DeleteBehavior.Cascade); + .HasForeignKey("BotConfigId"); }); modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => diff --git a/src/NadekoBot/Migrations/20161011031532_first.cs b/src/NadekoBot/Migrations/20161011200458_first.cs similarity index 99% rename from src/NadekoBot/Migrations/20161011031532_first.cs rename to src/NadekoBot/Migrations/20161011200458_first.cs index 2a346ba7..155508a6 100644 --- a/src/NadekoBot/Migrations/20161011031532_first.cs +++ b/src/NadekoBot/Migrations/20161011200458_first.cs @@ -21,7 +21,6 @@ namespace NadekoBot.Migrations CurrencyPluralName = table.Column(nullable: true), CurrencySign = table.Column(nullable: true), DMHelpString = table.Column(nullable: true), - DontJoinServers = table.Column(nullable: false), ForwardMessages = table.Column(nullable: false), ForwardToAllOwners = table.Column(nullable: false), HelpString = table.Column(nullable: true), @@ -292,7 +291,7 @@ namespace NadekoBot.Migrations { Id = table.Column(nullable: false) .Annotation("Autoincrement", true), - BotConfigId = table.Column(nullable: false), + BotConfigId = table.Column(nullable: true), ModuleName = table.Column(nullable: true), Prefix = table.Column(nullable: true) }, @@ -304,7 +303,7 @@ namespace NadekoBot.Migrations column: x => x.BotConfigId, principalTable: "BotConfig", principalColumn: "Id", - onDelete: ReferentialAction.Cascade); + onDelete: ReferentialAction.Restrict); }); migrationBuilder.CreateTable( diff --git a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs index 19a4d2e1..ee91013c 100644 --- a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs +++ b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs @@ -52,8 +52,6 @@ namespace NadekoBot.Migrations b.Property("DMHelpString"); - b.Property("DontJoinServers"); - b.Property("ForwardMessages"); b.Property("ForwardToAllOwners"); @@ -439,7 +437,7 @@ namespace NadekoBot.Migrations b.Property("Id") .ValueGeneratedOnAdd(); - b.Property("BotConfigId"); + b.Property("BotConfigId"); b.Property("ModuleName"); @@ -722,10 +720,9 @@ namespace NadekoBot.Migrations modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") .WithMany("ModulePrefixes") - .HasForeignKey("BotConfigId") - .OnDelete(DeleteBehavior.Cascade); + .HasForeignKey("BotConfigId"); }); modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => diff --git a/src/NadekoBot/Modules/Administration/Commands/Migration.cs b/src/NadekoBot/Modules/Administration/Commands/Migration.cs index 0bf99725..3d5ea9ad 100644 --- a/src/NadekoBot/Modules/Administration/Commands/Migration.cs +++ b/src/NadekoBot/Modules/Administration/Commands/Migration.cs @@ -15,6 +15,7 @@ using NadekoBot.Modules.Administration.Commands.Migration; using System.Collections.Concurrent; using NadekoBot.Extensions; using NadekoBot.Services.Database; +using Microsoft.Data.Sqlite; namespace NadekoBot.Modules.Administration { @@ -67,9 +68,10 @@ namespace NadekoBot.Modules.Administration using (var uow = DbHandler.UnitOfWork()) { var botConfig = uow.BotConfig.GetOrCreate(); - MigrateConfig0_9(botConfig); + MigrateConfig0_9(uow, botConfig); MigratePermissions0_9(uow); MigrateServerSpecificConfigs0_9(uow); + MigrateDb0_9(uow); //NOW save it botConfig.MigrationVersion = 1; @@ -77,6 +79,59 @@ namespace NadekoBot.Modules.Administration } } + private void MigrateDb0_9(IUnitOfWork uow) + { + var db = new SqliteConnection("Data Source=data/nadekobot.sqlite;Version=3;"); + db.Open(); + + var com = db.CreateCommand(); + com.CommandText = "SELECT * FROM Announcement"; + + var reader = com.ExecuteReader(); + while(reader.Read()) + { + var gid = (ulong)reader["ServerId"]; + var greet = (bool)reader["Greet"]; + var greetDM = (bool)reader["GreetPM"]; + var greetChannel = (ulong)reader["GreetChannelId"]; + var greetMsg = (string)reader["GreetText"]; + var bye = (bool)reader["Bye"]; + var byeDM = (bool)reader["ByePM"]; + var byeChannel = (ulong)reader["ByeChannelId"]; + var byeMsg = (string)reader["ByeText"]; + bool grdel = (bool)reader["DeleteGreetMessages"]; + var byedel = grdel; + var gc = uow.GuildConfigs.For(gid); + + if (greetDM) + gc.SendDmGreetMessage = greet; + else + gc.SendChannelGreetMessage = greet; + gc.GreetMessageChannelId = greetChannel; + gc.ChannelGreetMessageText = greetMsg; + + gc.SendChannelByeMessage = bye; + gc.ByeMessageChannelId = byeChannel; + gc.ChannelByeMessageText = byeMsg; + + gc.AutoDeleteByeMessages = gc.AutoDeleteGreetMessages = grdel; + } + + var com2 = db.CreateCommand(); + com.CommandText = "SELECT * FROM Announcement"; + + var reader2 = com.ExecuteReader(); + while (reader2.Read()) + { + uow.Currency.Add(new Currency() + { + Amount = (long)reader2["Value"], + UserId = (ulong)reader2["UserId"] + }); + } + db.Close(); + } + private void MigrateServerSpecificConfigs0_9(IUnitOfWork uow) { const string specificConfigsPath = "data/ServerSpecificConfigs.json"; @@ -119,6 +174,11 @@ namespace NadekoBot.Modules.Administration guildConfig.LogSetting.IsLogging = data.LogChannel != null; guildConfig.LogSetting.ChannelId = data.LogChannel ?? 0; guildConfig.LogSetting.IgnoredChannels = new HashSet(data.LogserverIgnoreChannels.Select(id => new IgnoredLogChannel() { ChannelId = id })); + + guildConfig.LogSetting.LogUserPresence = data.LogPresenceChannel != null; + guildConfig.LogSetting.UserPresenceChannelId = data.LogPresenceChannel ?? 0; + + guildConfig.FollowedStreams = new HashSet(data.ObservingStreams.Select(x => { FollowedStream.FollowedStreamType type = FollowedStream.FollowedStreamType.Twitch; @@ -212,7 +272,7 @@ namespace NadekoBot.Modules.Administration } - private void MigrateConfig0_9(BotConfig botConfig) + private void MigrateConfig0_9(IUnitOfWork uow, BotConfig botConfig) { Config0_9 oldConfig; const string configPath = "data/config.json"; @@ -255,52 +315,52 @@ namespace NadekoBot.Modules.Administration botConfig.RaceAnimals = races; //Prefix - var prefix = new HashSet + botConfig.ModulePrefixes.Clear(); + botConfig.ModulePrefixes.AddRange(new HashSet + { + new ModulePrefix() { - new ModulePrefix() - { - ModuleName = "Administration", - Prefix = oldConfig.CommandPrefixes.Administration - }, - new ModulePrefix() - { - ModuleName = "Searches", - Prefix = oldConfig.CommandPrefixes.Searches - }, - new ModulePrefix() {ModuleName = "NSFW", Prefix = oldConfig.CommandPrefixes.NSFW}, - new ModulePrefix() - { - ModuleName = "Conversations", - Prefix = oldConfig.CommandPrefixes.Conversations - }, - new ModulePrefix() - { - ModuleName = "ClashOfClans", - Prefix = oldConfig.CommandPrefixes.ClashOfClans - }, - new ModulePrefix() {ModuleName = "Help", Prefix = oldConfig.CommandPrefixes.Help}, - new ModulePrefix() {ModuleName = "Music", Prefix = oldConfig.CommandPrefixes.Music}, - new ModulePrefix() {ModuleName = "Trello", Prefix = oldConfig.CommandPrefixes.Trello}, - new ModulePrefix() {ModuleName = "Games", Prefix = oldConfig.CommandPrefixes.Games}, - new ModulePrefix() - { - ModuleName = "Gambling", - Prefix = oldConfig.CommandPrefixes.Gambling - }, - new ModulePrefix() - { - ModuleName = "Permissions", - Prefix = oldConfig.CommandPrefixes.Permissions - }, - new ModulePrefix() - { - ModuleName = "Programming", - Prefix = oldConfig.CommandPrefixes.Programming - }, - new ModulePrefix() {ModuleName = "Pokemon", Prefix = oldConfig.CommandPrefixes.Pokemon}, - new ModulePrefix() {ModuleName = "Utility", Prefix = oldConfig.CommandPrefixes.Utility} - }; - botConfig.ModulePrefixes = prefix; + ModuleName = "Administration", + Prefix = oldConfig.CommandPrefixes.Administration + }, + new ModulePrefix() + { + ModuleName = "Searches", + Prefix = oldConfig.CommandPrefixes.Searches + }, + new ModulePrefix() {ModuleName = "NSFW", Prefix = oldConfig.CommandPrefixes.NSFW}, + new ModulePrefix() + { + ModuleName = "Conversations", + Prefix = oldConfig.CommandPrefixes.Conversations + }, + new ModulePrefix() + { + ModuleName = "ClashOfClans", + Prefix = oldConfig.CommandPrefixes.ClashOfClans + }, + new ModulePrefix() {ModuleName = "Help", Prefix = oldConfig.CommandPrefixes.Help}, + new ModulePrefix() {ModuleName = "Music", Prefix = oldConfig.CommandPrefixes.Music}, + new ModulePrefix() {ModuleName = "Trello", Prefix = oldConfig.CommandPrefixes.Trello}, + new ModulePrefix() {ModuleName = "Games", Prefix = oldConfig.CommandPrefixes.Games}, + new ModulePrefix() + { + ModuleName = "Gambling", + Prefix = oldConfig.CommandPrefixes.Gambling + }, + new ModulePrefix() + { + ModuleName = "Permissions", + Prefix = oldConfig.CommandPrefixes.Permissions + }, + new ModulePrefix() + { + ModuleName = "Programming", + Prefix = oldConfig.CommandPrefixes.Programming + }, + new ModulePrefix() {ModuleName = "Pokemon", Prefix = oldConfig.CommandPrefixes.Pokemon}, + new ModulePrefix() {ModuleName = "Utility", Prefix = oldConfig.CommandPrefixes.Utility} + }); //Blacklist var blacklist = new HashSet(oldConfig.ServerBlacklist.Select(server => new BlacklistItem() { ItemId = server, Type = BlacklistItem.BlacklistType.Server })); @@ -311,6 +371,19 @@ namespace NadekoBot.Modules.Administration //Eightball botConfig.EightBallResponses = new HashSet(oldConfig._8BallResponses.Select(response => new EightBallResponse() { Text = response })); + //customreactions + uow.CustomReactions.AddRange(oldConfig.CustomReactions.SelectMany(cr => + { + return cr.Value.Select(res => new CustomReaction() + { + GuildId = 0, + IsRegex = false, + OwnerOnly = false, + Response = res, + Trigger = cr.Key, + }); + }).ToArray()); + try { File.Move(configPath, "./data/DELETE_ME_config.json"); } catch { } } } diff --git a/src/NadekoBot/Modules/Administration/Commands/Migration/0_9..cs b/src/NadekoBot/Modules/Administration/Commands/Migration/0_9..cs index 1be87724..7606cf82 100644 --- a/src/NadekoBot/Modules/Administration/Commands/Migration/0_9..cs +++ b/src/NadekoBot/Modules/Administration/Commands/Migration/0_9..cs @@ -167,7 +167,7 @@ namespace NadekoBot.Modules.Administration.Commands.Migration public bool VoicePlusTextEnabled { get; set; } public bool SendPrivateMessageOnMention { get; set; } public ulong? LogChannel { get; set; } = null; - public ulong? LogPresenceChannel = null; + public ulong? LogPresenceChannel { get; set; } = null; public HashSet LogserverIgnoreChannels { get; set; } public ConcurrentDictionary VoiceChannelLog { get; set; } public HashSet ListOfSelfAssignableRoles { get; set; } diff --git a/src/NadekoBot/Services/Database/Models/BotConfig.cs b/src/NadekoBot/Services/Database/Models/BotConfig.cs index 6108d16d..b3686b27 100644 --- a/src/NadekoBot/Services/Database/Models/BotConfig.cs +++ b/src/NadekoBot/Services/Database/Models/BotConfig.cs @@ -111,9 +111,6 @@ Nadeko Support Server: https://discord.gg/0ehQwTK2RBjAxzEY"; public string ModuleName { get; set; } public string Prefix { get; set; } - public int BotConfigId { get; set; } = 1; - public BotConfig BotConfig { get; set; } - public override int GetHashCode() { return ModuleName.GetHashCode(); From 1c43ce920aef8400aad114077a7bcf2ef934ca51 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Tue, 11 Oct 2016 22:06:45 +0200 Subject: [PATCH 104/135] Commandlist regenerated, is | problem fixed? --- docs/Commands List.md | 571 ++++++++++++++++++++---------------------- 1 file changed, 276 insertions(+), 295 deletions(-) diff --git a/docs/Commands List.md b/docs/Commands List.md index c9367655..a6207588 100644 --- a/docs/Commands List.md +++ b/docs/Commands List.md @@ -2,310 +2,291 @@ ### Administration Command and aliases | Description | Usage ----------------|--------------|------- -`.restart` | `.restart` | Restarts the bot. Might not work. **Bot owner only.** -`.delmsgoncmd` | `.delmsgoncmd` | Toggles the automatic deletion of user's successful command message to prevent chat flood. **Server Manager Only.** **Requires Administrator server permission.** -`.setrole` `.sr` | `.sr @User Guest` | Sets a role for a given user. **Requires ManageRoles server permission.** -`.removerole` `.rr` | `.rr @User Admin` | Removes a role from a given user. **Requires ManageRoles server permission.** -`.renamerole` `.renr` | `.renr "First role" SecondRole` | Renames a role. Roles you are renaming must be lower than bot's highest role. **Manage Roles Permissions.** **Requires ManageRoles server permission.** -`.removeallroles` `.rar` | `.rar @User` | Removes all roles from a mentioned user. **Requires ManageRoles server permission.** -`.createrole` `.cr` | `.cr Awesome Role` | Creates a role with a given name. **Requires ManageRoles server permission.** -`.rolecolor` `.rc` | `.rc Admin 255 200 100` or `.rc Admin ffba55` | Set a role's color to the hex or 0-255 rgb color value provided. **Requires ManageRoles server permission.** -`.ban` `.b` | `.b "@some Guy" Your behaviour is toxic.` | Bans a user by id or name with an optional message. **Requires BanMembers server permission.** -`.softban` `.sb` | `.sb "@some Guy" Your behaviour is toxic.` | Bans and then unbans a user by id or name with an optional message. **Requires BanMembers server permission.** -`.kick` `.k` | `.k "@some Guy" Your behaviour is toxic.` | Kicks a mentioned user. **Requires KickMembers server permission.** -`.mute` | `.mute @Someone` | Mutes a mentioned user in a voice channel. **Requires MuteMembers server permission.** -`.unmute` | `.unmute "@Someguy"` or `.unmute "@Someguy" "@Someguy"` | Unmutes mentioned user or users. **Requires MuteMembers server permission.** -`.deafen` `.deaf` | `.deaf "@Someguy"` or `.deaf "@Someguy" "@Someguy"` | Deafens mentioned user or users. **Requires DeafenMembers server permission.** -`.undeafen` `.undef` | `.undef "@Someguy"` or `.undef "@Someguy" "@Someguy"` | Undeafens mentioned user or users. **Requires DeafenMembers server permission.** -`.delvoichanl` `.dvch` | `.dvch VoiceChannelName` | Deletes a voice channel with a given name. **Requires ManageChannels server permission.** -`.creatvoichanl` `.cvch` | `.cvch VoiceChannelName` | Creates a new voice channel with a given name. **Requires ManageChannels server permission.** -`.deltxtchanl` `.dtch` | `.dtch TextChannelName` | Deletes a text channel with a given name. **Requires ManageChannels server permission.** -`.creatxtchanl` `.ctch` | `.ctch TextChannelName` | Creates a new text channel with a given name. **Requires ManageChannels server permission.** -`.settopic` `.st` | `.st My new topic` | Sets a topic on the current channel. **Requires ManageChannels server permission.** -`.setchanlname` `.schn` | `.schn NewName` | Changed the name of the current channel. **Requires ManageChannels server permission.** -`.prune` `.clr` | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. -`.prune` `.clr` | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. **Requires ManageMessages server permission.** -`.prune` `.clr` | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. **Requires ManageMessages server permission.** -`.die` | `@NadekoBot die` | Works only for the owner. Shuts the bot down. **Bot owner only.** -`.setname` `.newnm` | `.newnm BotName` | Give the bot a new name. **Bot owner only.** -`.setavatar` `.setav` | `.setav http://i.imgur.com/xTG3a1I.jpg` | Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. **Bot owner only.** -`.setgame` | `.setgame Playing with kwoth` | Sets the bots game. **Bot owner only.** -`.send` | `.send sid` | Send a message to someone on a different server through the bot. **Bot owner only.** -`.announce` | `.announce Useless spam` | Sends a message to all servers' general channel bot is connected to. **Bot owner only.** -`.savechat` | `.savechat 150` | Saves a number of messages to a text file and sends it to you. **Bot owner only.** -`.mentionrole` `.menro` | `.menro RoleName` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. **Requires MentionEveryone server permission.** -`.donators` | `.donators` | List of lovely people who donated to keep this project alive. -`.donadd` | `.donadd Donate Amount` | Add a donator to the database. **Kwoth Only** **Bot owner only.** -`.autoassignrole` `.aar` | `.aar` to disable, `.aar Role Name` to enable | Automaticaly assigns a specified role to every user who joins the server. **Requires ManageRoles server permission.** -`.scsc` | `.scsc` | Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance. **Bot owner only.** -`.jcsc` | `.jcsc` | Joins current channel to an instance of cross server channel using the token. **Requires ManageServer server permission.** -`.lcsc` | `.lcsc` | Leaves Cross server channel instance from this channel. **Requires ManageServer server permission.** -`.logserver` | `.logserver` | Logs server activity in this channel. **Requires Administrator server permission.** **Bot owner only.** -`.logignore` | `.logignore` | Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. **Requires Administrator server permission.** **Bot owner only.** -`.userpresence` | `.userpresence` | Starts logging to this channel when someone from the server goes online/offline/idle. **Requires Administrator server permission.** -`.voicepresence` | `.voicerpresence` | Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. **Requires Administrator server permission.** -`.repeatinvoke` `.repinv` | `.repinv` | Immediately shows the repeat message and restarts the timer. **Requires ManageMessages server permission.** -`.repeat` | `.repeat 5 Hello there` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. -`.repeat` | `.repeat 5 Hello there` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. -`.migratedata` | `.migratedata` | Migrate data from old bot configuration **Bot owner only.** -`.rotateplaying` `.ropl` | `.ropl` | Toggles rotation of playing status of the dynamic strings you specified earlier. **Bot owner only.** -`.addplaying` `.adpl` | `.adpl` | Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued% **Bot owner only.** -`.listplaying` `.lipl` | `.lipl` | Lists all playing statuses with their corresponding number. **Bot owner only.** -`.removeplaying` `.rmlp` `.repl` | `.rmpl` | Removes a playing string on a given number. **Bot owner only.** -`.slowmode` | `.slowmode` | Toggles slow mode. When ON, users will be able to send only 1 message every 5 seconds. -`.asar` | `.asar Gamer` | Adds a role, or list of roles separated by whitespace(use quotations for multiword roles) to the list of self-assignable roles. **Requires ManageRoles server permission.** -`.rsar` | `.rsar` | Removes a specified role from the list of self-assignable roles. **Requires ManageRoles server permission.** -`.lsar` | `.lsar` | Lists all self-assignable roles. -`.togglexclsar` `.tesar` | `.tesar` | toggle whether the self-assigned roles should be exclusive **Requires ManageRoles server permission.** -`.iam` | `.iam Gamer` | Adds a role to you that you choose. Role must be on a list of self-assignable roles. -`.iamnot` `.iamn` | `.iamn Gamer` | Removes a role to you that you choose. Role must be on a list of self-assignable roles. -`.leave` | `.leave 123123123331` | Makes Nadeko leave the server. Either name or id required. **Bot owner only.** -`.greetdel` | `.greetdel` | Toggles automatic deletion of greet messages. **Requires ManageServer server permission.** -`.greet` | `.greet` | Toggles anouncements on the current channel when someone joins the server. **Requires ManageServer server permission.** -`.greetmsg` | `.greetmsg Welcome, %user%.` | Sets a new join announcement message which will be shown in the server's channel. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. **Requires ManageServer server permission.** -`.greetdm` | `.greetdm` | Toggles whether the greet messages will be sent in a DM (This is separate from greet - you can have both, any or neither enabled). **Requires ManageServer server permission.** -`.greetdmmsg` | `.greetdmmsg Welcome to the server, %user%`. | Sets a new join announcement message which will be sent to the user who joined. Type %user% if you want to mention the new member. Using it with no message will show the current DM greet message. **Requires ManageServer server permission.** -`.bye` | `.bye` | Toggles anouncements on the current channel when someone leaves the server. **Requires ManageServer server permission.** -`.byemsg` | `.byemsg %user% has left.` | Sets a new leave announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current bye message. **Requires ManageServer server permission.** -`.byedel` | `.byedel` | Toggles automatic deletion of bye messages. **Requires ManageServer server permission.** -`.voice+text` `.v+t` | `.voice+text` | Creates a text channel for each voice channel only users in that voice channel can see.If you are server owner, keep in mind you will see them all the time regardless. **Requires ManageRoles server permission.** **Requires ManageChannels server permission.** -`.cleanvplust` `.cv+t` | `.cleanv+t` | Deletes all text channels ending in `-voice` for which voicechannels are not found. **Use at your own risk. Needs Manage Roles and Manage Channels Permissions.** **Requires ManageChannels server permission.** **Requires ManageRoles server permission.** - -### Permissions -Command and aliases | Description | Usage -----------------|--------------|------- -`;verbose` `;v` | `;verbose true` | Sets whether to show when a command/module is blocked. -`;permrole` `;pr` | `;pr role` | Sets a role which can change permissions. Or supply no parameters to find out the current one. Default one is 'Nadeko'. -`;listperms` `;lp` | `;lp` or `;lp 3` | Lists whole permission chain with their indexes. You can specify optional page number if there are a lot of permissions -`;removeperm` `;rp` | `;rp 1` | Removes a permission from a given position -`;moveperm` `;mp` | `;mp 2 4` | Moves permission from one position to another. -`;srvrcmd` `;sc` | `;sc "command name" disable` | Sets a command's permission at the server level. -`;srvrmdl` `;sm` | `;sm "module name" enable` | Sets a module's permission at the server level. -`;usrcmd` `;uc` | `;uc "command name" enable SomeUsername` | Sets a command's permission at the user level. -`;usrmdl` `;um` | `;um "module name" enable SomeUsername` | Sets a module's permission at the user level. -`;rolecmd` `;rc` | `;rc "command name" disable MyRole` | Sets a command's permission at the role level. -`;rolemdl` `;rm` | `;rm "module name" enable MyRole` | Sets a module's permission at the role level. -`;chnlcmd` `;cc` | `;cc "command name" enable SomeChannel` | Sets a command's permission at the channel level. -`;chnlmdl` `;cm` | `;cm "module name" enable SomeChannel` | Sets a module's permission at the channel level. -`;allchnlmdls` `;acm` | `;acm enable #SomeChannel` | Enable or disable all modules in a specified channel. -`;allrolemdls` `;arm` | `;arm [enable/disable] MyRole` | Enable or disable all modules for a specific role. -`;allusrmdls` `;aum` | `;aum enable @someone` | Enable or disable all modules for a specific user. -`;allsrvrmdls` `;asm` | `;asm [enable/disable]` | Enable or disable all modules for your server. -`;ubl` | `;ubl add @SomeUser` or `;ubl rem 12312312313` | Either [add]s or [rem]oves a user specified by a mention or ID from a blacklist. **Bot owner only.** -`;ubl` | `;ubl add @SomeUser` or `;ubl rem 12312312313` | Either [add]s or [rem]oves a user specified by a mention or ID from a blacklist. **Bot owner only.** -`;cbl` | `;cbl rem 12312312312` | Either [add]s or [rem]oves a channel specified by an ID from a blacklist. **Bot owner only.** -`;sbl` | `;sbl add 12312321312` or `;sbl rem SomeTrashServer` | Either [add]s or [rem]oves a server specified by a Name or ID from a blacklist. **Bot owner only.** -`;sbl` | `;sbl add 12312321312` or `;sbl rem SomeTrashServer` | Either [add]s or [rem]oves a server specified by a Name or ID from a blacklist. **Bot owner only.** -`;cmdcooldown` `;cmdcd` | `;cmdcd "some cmd" 5` | Sets a cooldown per user for a command. Set 0 to clear. -`;allcmdcooldowns` `;acmdcds` | `;acmdcds` | Shows a list of all commands and their respective cooldowns. -`;srvrfilterinv` `;sfi` | `;sfi disable` | Enables or disables automatic deleting of invites on the server. -`;chnlfilterinv` `;cfi` | `;cfi enable #general-chat` | Enables or disables automatic deleting of invites on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. -`;srvrfilterwords` `;sfw` | `;sfw disable` | Enables or disables automatic deleting of messages containing forbidden words on the server. -`;chnlfilterwords` `;cfw` | `;cfw enable #general-chat` | Enables or disables automatic deleting of messages containing banned words on the channel.If no channel supplied, it will default to current one. Use ALL to apply to all existing channels at once. -`;fw` | `;fw poop` | Adds or removes (if it exists) a word from the list of filtered words -`;lstfilterwords` `;lfw` | `;lfw` | Shows a list of filtered words - -### Utility -Command and aliases | Description | Usage -----------------|--------------|------- -`.whosplaying` | `.whoplays Overwatch` | Shows a list of users who are playing the specified game. -`.inrole` | `.inrole Role` | Lists every person from the provided role or roles (separated by a ',') on this server. If the list is too long for 1 message, you must have Manage Messages permission. -`.checkmyperms` | `.checkmyperms` | Checks your userspecific permissions on this channel. -`.userid` `.uid` | `.uid` or `.uid "@SomeGuy"` | Shows user ID. -`.channelid` `.cid` | `.cid` | Shows current channel ID. -`.serverid` `.sid` | `.sid` | Shows current server ID. -`.roles` | `.roles` | List all roles on this server or a single user if specified. -`.channeltopic` `.ct` | `.ct` | Sends current channel's topic as a message. -`.stats` | `.stats` | Shows some basic stats for Nadeko. -`.showemojis` `.se` | `.se A message full of SPECIALemojis` | Shows a name and a link to every SPECIAL emoji in the message. -`.serverinfo` `.sinfo` | `.sinfo Some Server` | Shows info about the server the bot is on. If no channel is supplied, it defaults to current one. -`.channelinfo` `.cinfo` | `.cinfo #some-channel` | Shows info about the channel. If no channel is supplied, it defaults to current one. -`.userinfo` `.uinfo` | `.uinfo @SomeUser` | Shows info about the user. If no user is supplied, it defaults a user running the command. -`...` | `... abc` | Shows a random quote with a specified name. -`..` | `.. sayhi Hi` | Adds a new quote with the specified name and message. -`.deletequote` `.delq` | `.delq abc` | Deletes all quotes with the specified keyword. You have to either be bot owner or the creator of the quote to delete it. -`.delallq` `.daq` | `.delallq kek` | Deletes all quotes on a specified keyword. -`.remind` | `.remind me 1d5h Do something` or `.remind #general Start now!` | Sends a message to you or a channel after certain amount of time. First argument is me/here/'channelname'. Second argument is time in a descending order (mo>w>d>h>m) example: 1w5d3h10m. Third argument is a (multiword)message. -`.remindtemplate` | `.remindtemplate %user%, you gotta do %message%!` | Sets message for when the remind is triggered. Available placeholders are %user% - user who ran the command, %message% - Message specified in the remind, %target% - target channel of the remind. **Bot owner only.** - -### Searches -Command and aliases | Description | Usage -----------------|--------------|------- -`~weather` `~we` | `~we Moscow RF` | Shows weather data for a specified city and a country. BOTH ARE REQUIRED. Use country abbrevations. -`~youtube` `~yt` | `~yt query` | Searches youtubes and shows the first result -`~imdb` | `~imdb Batman vs Superman` | Queries imdb for movies or series, show first result. -`~randomcat` `~meow` | `~meow` | Shows a random cat image. -`~randomdog` `~woof` | `~woof` | Shows a random dog image. -`~img` `~i` | `~i cute kitten` | Pulls the first image found using a search parameter. Use ~ir for different results. -`~ir` | `~ir cute kitten` | Pulls a random image using a search parameter. -`~lmgtfy` | `~lmgtfy query` | Google something for an idiot. -`~google` `~g` | `~google query` | Get a google search link for some terms. -`~hearthstone` `~hs` | `~hs Ysera` | Searches for a Hearthstone card and shows its image. Takes a while to complete. -`~urbandict` `~ud` | `~ud Pineapple` | Searches Urban Dictionary for a word. -`~#` | `~# ff` | Searches Tagdef.com for a hashtag. -`~catfact` | `~catfact` | Shows a random catfact from -`~revav` | `~revav "@SomeGuy"` | Returns a google reverse image search for someone's avatar. -`~revimg` | `~revimg Image link` | Returns a google reverse image search for an image from a link. -`~safebooru` | `~safebooru yuri+kissing` | Shows a random image from safebooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) -`~wikipedia` `~wiki` | `~wiki query` | Gives you back a wikipedia link -`~color` `~clr` | `~clr 00ff00` | Shows you what color corresponds to that hex. -`~videocall` | `~videocall "@SomeGuy"` | Creates a private video call link for you and other mentioned people. The link is sent to mentioned people via a private message. -`~av` `~avatar` | `~av "@SomeGuy"` | Shows a mentioned person's avatar. -`~calculate` `~calc` | `~calc 1+1` | Evaluate a mathematical expression. -`~calcops` | `~calcops` | Shows all available operations in .calc command -`~lolban` | `~lolban` | Shows top banned champions ordered by ban rate. -`~memelist` | `~memelist` | Pulls a list of memes you can use with `~memegen` from http://memegen.link/templates/ -`~memegen` | `~memegen biw "gets iced coffee" "in the winter"` | Generates a meme from memelist with top and bottom text. -`~anime` `~ani` `~aq` | `~ani aquarion evol` | Queries anilist for an anime and shows the first result. -`~manga` `~mang` `~mq` | `~mq Shingeki no kyojin` | Queries anilist for a manga and shows the first result. -`~yomama` `~ym` | `~ym` | Shows a random joke from -`~randjoke` `~rj` | `~rj` | Shows a random joke from -`~chucknorris` `~cn` | `~cn` | Shows a random chucknorris joke from -`~wowjoke` | `~wowjoke` | Get one of Kwoth's penultimate WoW jokes. -`~magicitem` `~mi` | `~mi` | Shows a random magicitem from -`~osu` | `~osu Name` or `~osu Name taiko` | Shows osu stats for a player. -`~osub` | `~osub https://osu.ppy.sh/s/127712` | Shows information about an osu beatmap. -`~osu5` | `~osu5 Name` | Displays a user's top 5 plays. -`~pokemon` `~poke` | `~poke Sylveon` | Searches for a pokemon. -`~pokemonability` `~pokeab` | `~pokeab "water gun"` | Searches for a pokemon ability. -`~hitbox` `~hb` | `~hitbox SomeStreamer` | Notifies this channel when a certain user starts streaming. **Requires ManageMessages server permission.** -`~twitch` `~tw` | `~twitch SomeStreamer` | Notifies this channel when a certain user starts streaming. **Requires ManageMessages server permission.** -`~beam` `~bm` | `~beam SomeStreamer` | Notifies this channel when a certain user starts streaming. **Requires ManageMessages server permission.** -`~liststreams` `~ls` | `~ls` | Lists all streams you are following on this server. -`~removestream` `~rms` | `~rms SomeGuy` | Removes notifications of a certain streamer on this channel. -`~checkstream` `~cs` | `~cs twitch MyFavStreamer` | Checks if a user is online on a certain streaming platform. -`~convertlist` | `~convertlist` | List of the convertable dimensions and currencies. -`~convert` | `~convert m>km 1000` | Convert quantities from>to. - -### Help -Command and aliases | Description | Usage -----------------|--------------|------- -`-modules` `-mdls` | `-modules` or `.modules` | List all bot modules. -`-commands` `-cmds` | `-commands` or `.commands` | List all of the bot's commands from a certain module. -`-h` `-help` | `-h !m q` or just `-h` | Either shows a help for a single command, or PMs you help link if no arguments are specified. -`-hgit` | `-hgit` | Generates the commandlist.md file. **Bot owner only.** -`-readme` `-guide` | `-readme` or `-guide` | Sends a readme and a guide links to the channel. -`-donate` | `-donate` or `~donate` | Instructions for helping the project! - -### NSFW -Command and aliases | Description | Usage -----------------|--------------|------- -`~hentai` | `~hentai yuri+kissing` | Shows a random NSFW hentai image from gelbooru and danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) -`~danbooru` | `~danbooru yuri+kissing` | Shows a random hentai image from danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) -`~gelbooru` | `~gelbooru yuri+kissing` | Shows a random hentai image from gelbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) -`~rule34` | `~rule34 yuri+kissing` | Shows a random image from rule34.xx with a given tag. Tag is optional but preffered. (multiple tags are appended with +) -`~e621` | `~e621 yuri kissing` | Shows a random hentai image from e621.net with a given tag. Tag is optional but preffered. Use spaces for multiple tags. -`~cp` | `~cp` | We all know where this will lead you to. -`~boobs` | `~boobs` | Real adult content. -`~butts` `~ass` `~butt` | `~butts` or `~ass` | Real adult content. +`.restart` | Restarts the bot. Might not work. | `.restart` **Bot owner only.** +`.delmsgoncmd` | Toggles the automatic deletion of user's successful command message to prevent chat flood. **Server Manager Only.** | `.delmsgoncmd` **Requires Administrator server permission.** +`.setrole` `.sr` | Sets a role for a given user. | `.sr @User Guest` **Requires ManageRoles server permission.** +`.removerole` `.rr` | Removes a role from a given user. | `.rr @User Admin` **Requires ManageRoles server permission.** +`.renamerole` `.renr` | Renames a role. Roles you are renaming must be lower than bot's highest role. | `.renr "First role" SecondRole` **Requires ManageRoles server permission.** +`.removeallroles` `.rar` | Removes all roles from a mentioned user. | `.rar @User` **Requires ManageRoles server permission.** +`.createrole` `.cr` | Creates a role with a given name. | `.cr Awesome Role` **Requires ManageRoles server permission.** +`.rolecolor` `.rc` | Set a role's color to the hex or 0-255 rgb color value provided. | `.rc Admin 255 200 100` or `.rc Admin ffba55` **Requires ManageRoles server permission.** +`.ban` `.b` | Bans a user by id or name with an optional message. | `.b "@some Guy" Your behaviour is toxic.` **Requires BanMembers server permission.** +`.softban` `.sb` | Bans and then unbans a user by id or name with an optional message. | `.sb "@some Guy" Your behaviour is toxic.` **Requires BanMembers server permission.** +`.kick` `.k` | Kicks a mentioned user. | `.k "@some Guy" Your behaviour is toxic.` **Requires KickMembers server permission.** +`.mute` | Mutes a mentioned user in a voice channel. | `.mute @Someone` **Requires MuteMembers server permission.** +`.unmute` | Unmutes mentioned user or users. | `.unmute "@Someguy"` or `.unmute "@Someguy" "@Someguy"` **Requires MuteMembers server permission.** +`.deafen` `.deaf` | Deafens mentioned user or users. | `.deaf "@Someguy"` or `.deaf "@Someguy" "@Someguy"` **Requires DeafenMembers server permission.** +`.undeafen` `.undef` | Undeafens mentioned user or users. | `.undef "@Someguy"` or `.undef "@Someguy" "@Someguy"` **Requires DeafenMembers server permission.** +`.delvoichanl` `.dvch` | Deletes a voice channel with a given name. | `.dvch VoiceChannelName` **Requires ManageChannels server permission.** +`.creatvoichanl` `.cvch` | Creates a new voice channel with a given name. | `.cvch VoiceChannelName` **Requires ManageChannels server permission.** +`.deltxtchanl` `.dtch` | Deletes a text channel with a given name. | `.dtch TextChannelName` **Requires ManageChannels server permission.** +`.creatxtchanl` `.ctch` | Creates a new text channel with a given name. | `.ctch TextChannelName` **Requires ManageChannels server permission.** +`.settopic` `.st` | Sets a topic on the current channel. | `.st My new topic` **Requires ManageChannels server permission.** +`.setchanlname` `.schn` | Changed the name of the current channel. | `.schn NewName` **Requires ManageChannels server permission.** +`.prune` `.clr` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` +`.die` | Works only for the owner. Shuts the bot down. | `@NadekoBot die` **Bot owner only.** +`.setname` `.newnm` | Give the bot a new name. | `.newnm BotName` **Bot owner only.** +`.setavatar` `.setav` | Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. | `.setav http://i.imgur.com/xTG3a1I.jpg` **Bot owner only.** +`.setgame` | Sets the bots game. | `.setgame Playing with kwoth` **Bot owner only.** +`.send` | Sends a message to someone on a different server through the bot. Separate server and channel/user ids with | and prepend channel id with `c:` and user id with `u:`. | `.send serverid\|c:channelid` or `.send serverid\|u:userid` **Bot owner only.** +`.announce` | Sends a message to all servers' general channel bot is connected to. | `.announce Useless spam` **Bot owner only.** +`.savechat` | Saves a number of messages to a text file and sends it to you. | `.savechat 150` **Bot owner only.** +`.mentionrole` `.menro` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. | `.menro RoleName` **Requires MentionEveryone server permission.** +`.donators` | List of lovely people who donated to keep this project alive. | `.donators` +`.donadd` | Add a donator to the database. **Kwoth Only** | `.donadd Donate Amount` **Bot owner only.** +`.autoassignrole` `.aar` | Automaticaly assigns a specified role to every user who joins the server. | `.aar` to disable, `.aar Role Name` to enable **Requires ManageRoles server permission.** +`.scsc` | Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance. | `.scsc` **Bot owner only.** +`.jcsc` | Joins current channel to an instance of cross server channel using the token. | `.jcsc TokenHere` **Requires ManageServer server permission.** +`.lcsc` | Leaves Cross server channel instance from this channel. | `.lcsc` **Requires ManageServer server permission.** +`.fwmsgs` | Toggles forwarding of non-command messages sent to bot's DM to the bot owners | `.fwmsgs` **Bot owner only.** +`.fwtoall` | Toggles whether messages will be forwarded to all bot owners or only to the first one specified in the credentials.json | `.fwtoall` **Bot owner only.** +`.logserver` | Logs server activity in this channel. | `.logserver` **Requires Administrator server permission.** **Bot owner only.** +`.logignore` | Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. | `.logignore` **Requires Administrator server permission.** **Bot owner only.** +`.userpresence` | Starts logging to this channel when someone from the server goes online/offline/idle. | `.userpresence` **Requires Administrator server permission.** +`.voicepresence` | Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. | `.voicepresence` **Requires Administrator server permission.** +`.repeatinvoke` `.repinv` | Immediately shows the repeat message and restarts the timer. | `.repinv` **Requires ManageMessages server permission.** +`.repeat` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. | `.repeat 5 Hello there` +`.migratedata` | Migrate data from old bot configuration | `.migratedata` **Bot owner only.** +`.rotateplaying` `.ropl` | Toggles rotation of playing status of the dynamic strings you specified earlier. | `.ropl` **Bot owner only.** +`.addplaying` `.adpl` | Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued% | `.adpl` **Bot owner only.** +`.listplaying` `.lipl` | Lists all playing statuses with their corresponding number. | `.lipl` **Bot owner only.** +`.removeplaying` `.rmpl` `.repl` | Removes a playing string on a given number. | `.rmpl` **Bot owner only.** +`.slowmode` | Toggles slow mode. When ON, users will be able to send only 1 message every 5 seconds. | `.slowmode` **Requires ManageMessages server permission.** +`.asar` | Adds a role, or list of roles separated by whitespace(use quotations for multiword roles) to the list of self-assignable roles. | `.asar Gamer` **Requires ManageRoles server permission.** +`.rsar` | Removes a specified role from the list of self-assignable roles. | `.rsar` **Requires ManageRoles server permission.** +`.lsar` | Lists all self-assignable roles. | `.lsar` +`.togglexclsar` `.tesar` | Toggles whether the self-assigned roles are exclusive. (So that any person can have only one of the self assignable roles) | `.tesar` **Requires ManageRoles server permission.** +`.iam` | Adds a role to you that you choose. Role must be on a list of self-assignable roles. | `.iam Gamer` +`.iamnot` `.iamn` | Removes a role to you that you choose. Role must be on a list of self-assignable roles. | `.iamn Gamer` +`.leave` | Makes Nadeko leave the server. Either name or id required. | `.leave 123123123331` **Bot owner only.** +`.greetdel` `.grdel` | Toggles automatic deletion of greet messages. | `.greetdel` **Requires ManageServer server permission.** +`.greet` | Toggles anouncements on the current channel when someone joins the server. | `.greet` **Requires ManageServer server permission.** +`.greetmsg` | Sets a new join announcement message which will be shown in the server's channel. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. | `.greetmsg Welcome, %user%.` **Requires ManageServer server permission.** +`.greetdm` | Toggles whether the greet messages will be sent in a DM (This is separate from greet - you can have both, any or neither enabled). | `.greetdm` **Requires ManageServer server permission.** +`.greetdmmsg` | Sets a new join announcement message which will be sent to the user who joined. Type %user% if you want to mention the new member. Using it with no message will show the current DM greet message. | `.greetdmmsg Welcome to the server, %user%`. **Requires ManageServer server permission.** +`.bye` | Toggles anouncements on the current channel when someone leaves the server. | `.bye` **Requires ManageServer server permission.** +`.byemsg` | Sets a new leave announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current bye message. | `.byemsg %user% has left.` **Requires ManageServer server permission.** +`.byedel` | Toggles automatic deletion of bye messages. | `.byedel` **Requires ManageServer server permission.** +`.voice+text` `.v+t` | Creates a text channel for each voice channel only users in that voice channel can see.If you are server owner, keep in mind you will see them all the time regardless. | `.voice+text` **Requires ManageRoles server permission.** **Requires ManageChannels server permission.** +`.cleanvplust` `.cv+t` | Deletes all text channels ending in `-voice` for which voicechannels are not found. **Use at your own risk. Needs Manage Roles and Manage Channels Permissions.** | `.cleanv+t` **Requires ManageChannels server permission.** **Requires ManageRoles server permission.** ### Gambling Command and aliases | Description | Usage ----------------|--------------|------- -`$raffle` | `$raffle` or `$raffle RoleName` | Prints a name and ID of a random user from the online list from the (optional) role. -`$cash` `$$$` | `$$$` or `$$$ @SomeGuy` | Check how much NadekoFlowers a person has. (Defaults to yourself) -`$cash` `$$$` | `$$$` or `$$$ @SomeGuy` | Check how much NadekoFlowers a person has. (Defaults to yourself) -`$give` | `$give 1 "@SomeGuy"` | Give someone a certain amount of NadekoFlowers -`$award` | `$award 100 @person` | Gives someone a certain amount of flowers. **Bot owner only.** -`$award` | `$award 100 @person` | Gives someone a certain amount of flowers. **Bot owner only.** -`$take` | `$take 1 "@someguy"` | Takes a certain amount of flowers from someone. **Bot owner only.** -`$take` | `$take 1 "@someguy"` | Takes a certain amount of flowers from someone. **Bot owner only.** -`$betroll` `$br` | `$br 5` | Bets a certain amount of NadekoFlowers and rolls a dice. Rolling over 66 yields x2 flowers, over 90 - x3 and 100 x10. -`$leaderboard` `$lb` | `$lb` | Displays bot currency leaderboard -`$race` | `$race` | Starts a new animal race. -`$joinrace` `$jr` | `$jr` or `$jr 5` | Joins a new race. You can specify an amount of flowers for betting (optional). You will get YourBet*(participants-1) back if you win. -`$roll` | `$roll` or `$roll 7` or `$roll 3d5` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. -`$roll` | `$roll` or `$roll 7` or `$roll 3d5` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. -`$roll` | `$roll` or `$roll 7` or `$roll 3d5` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. -`$rolluo` | `$rolluo` or `$rolluo 7` or `$rolluo 3d5` | Rolls X normal dice (up to 30) unordered. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. -`$rolluo` | `$rolluo` or `$rolluo 7` or `$rolluo 3d5` | Rolls X normal dice (up to 30) unordered. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. -`$nroll` | `$nroll 5` (rolls 0-5) or `$nroll 5-15` | Rolls in a given range. -`$draw` | `$draw` or `$draw 5` | Draws a card from the deck.If you supply number X, she draws up to 5 cards from the deck. -`$shuffle` `$sh` | `$sh` | Reshuffles all cards back into the deck. -`$flip` | `$flip` or `$flip 3` | Flips coin(s) - heads or tails, and shows an image. -`$betflip` `$bf` | `$bf 5 heads` or `$bf 3 t` | Bet to guess will the result be heads or tails. Guessing award you double flowers you've bet. +`$raffle` | Prints a name and ID of a random user from the online list from the (optional) role. | `$raffle` or `$raffle RoleName` +`$cash` `$$$` | Check how much NadekoFlowers a person has. (Defaults to yourself) | `$$$` or `$$$ @SomeGuy` +`$give` | Give someone a certain amount of currency. | `$give 1 "@SomeGuy"` +`$award` | Awards someone a certain amount of currency. | `$award 100 @person` **Bot owner only.** +`$take` | Takes a certain amount of flowers from someone. | `$take 1 "@someguy"` **Bot owner only.** +`$betroll` `$br` | Bets a certain amount of NadekoFlowers and rolls a dice. Rolling over 66 yields x2 flowers, over 90 - x3 and 100 x10. | `$br 5` +`$leaderboard` `$lb` | Displays bot currency leaderboard. | `$lb` +`$race` | Starts a new animal race. | `$race` +`$joinrace` `$jr` | Joins a new race. You can specify an amount of flowers for betting (optional). You will get YourBet*(participants-1) back if you win. | `$jr` or `$jr 5` +`$roll` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$roll` or `$roll 7` or `$roll 3d5` +`$rolluo` | Rolls X normal dice (up to 30) unordered. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$rolluo` or `$rolluo 7` or `$rolluo 3d5` +`$nroll` | Rolls in a given range. | `$nroll 5` (rolls 0-5) or `$nroll 5-15` +`$draw` | Draws a card from the deck.If you supply number X, she draws up to 5 cards from the deck. | `$draw` or `$draw 5` +`$shuffle` `$sh` | Reshuffles all cards back into the deck. | `$sh` +`$flip` | Flips coin(s) - heads or tails, and shows an image. | `$flip` or `$flip 3` +`$betflip` `$bf` | Bet to guess will the result be heads or tails. Guessing awards you double flowers you've bet. | `$bf 5 heads` or `$bf 3 t` ### Games Command and aliases | Description | Usage ----------------|--------------|------- -`>choose` | `>choose Get up;Sleep;Sleep more` | Chooses a thing from a list of things -`>8ball` | `>8ball should i do something` | Ask the 8ball a yes/no question. -`>rps` | `>rps scissors` | Play a game of rocket paperclip scissors with Nadeko. -`>linux` | `>linux Spyware Windows` | Prints a customizable Linux interjection -`>leet` | `>leet 3 Hello` | Converts a text to leetspeak with 6 (1-6) severity levels -`>poll` | `>poll Question?;Answer1;Answ 2;A_3` | Creates a poll, only person who has manage server permission can do it. -`>pollend` | `>pollend` | Stops active poll on this server and prints the results in this channel. -`>pick` | `>pick` | Picks a flower planted in this channel. -`>plant` | `>plant` | Spend a flower to plant it in this channel. (If bot is restarted or crashes, flower will be lost) -`>gencurrency` `>gc` | `>gc` | Toggles currency generation on this channel. Every posted message will have 2% chance to spawn a NadekoFlower. Requires Manage Messages permission. **Requires ManageMessages server permission.** -`>typestart` | `>typestart` | Starts a typing contest. -`>typestop` | `>typestop` | Stops a typing contest on the current channel. -`>typeadd` | `>typeadd wordswords` | Adds a new article to the typing contest. **Bot owner only.** -`>trivia` `>t` | `>t nohint` or `>t 5 nohint` | Starts a game of trivia. You can add nohint to prevent hints.First player to get to 10 points wins by default. You can specify a different number. 30 seconds per question. -`>tl` | `>tl` | Shows a current trivia leaderboard. -`>tq` | `>tq` | Quits current trivia after current question. - -### ClashOfClans -Command and aliases | Description | Usage -----------------|--------------|------- -`,createwar` `,cw` | `,cw 15 The Enemy Clan` | Creates a new war by specifying a size (>10 and multiple of 5) and enemy clan name. -`,startwar` `,sw` | `,sw 15` | Starts a war with a given number. -`,listwar` `,lw` | `,lw [war_number] or ,lw` | Shows the active war claims by a number. Shows all wars in a short way if no number is specified. -`,claim` `,call` `,c` | `,call [war_number] [base_number] [optional_other_name]` | Claims a certain base from a certain war. You can supply a name in the third optional argument to claim in someone else's place. -`,claimfinish1` `,cf1` | `,cf [war_number] [optional_other_name]` | Finish your claim with 1 stars if you destroyed a base. Optional second argument finishes for someone else. -`,claimfinish2` `,cf2` | `,cf [war_number] [optional_other_name]` | Finish your claim with 2 stars if you destroyed a base. Optional second argument finishes for someone else. -`,claimfinish` `,cf` `,cf3` `,claimfinish3` | `,cf [war_number] [optional_other_name]` | Finish your claim with 3 stars if you destroyed a base. Optional second argument finishes for someone else. -`,endwar` `,ew` | `,ew [war_number]` | Ends the war with a given index. -`,unclaim` `,ucall` `,uc` | `,uc [war_number] [optional_other_name]` | Removes your claim from a certain war. Optional second argument denotes a person in whose place to unclaim - -### CustomReactions -Command and aliases | Description | Usage -----------------|--------------|------- -`.addcustreact` `.acr` | `.acr "hello" Hi there %user%` | Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: -`.listcustreact` `.lcr` | `.lcr 1` | Lists global or server custom reactions (15 commands per page). Running the command in DM will list global custom reactions, while running it in server will list that server's custom reactions. -`.delcustreact` `.dcr` | `.dcr 5` | Deletes a custom reaction on a specific index. If ran in DM, it is bot owner only and deletes a global custom reaction. If ran in a server, it requires Administration priviledges and removes server custom reaction. - -### Translator -Command and aliases | Description | Usage -----------------|--------------|------- -`~translate` `~trans` | `~trans en>fr Hello` | Translates from>to text. From the given language to the destiation language. -`~translangs` | `~translangs` | List the valid languages for translation. - -### Pokemon -Command and aliases | Description | Usage -----------------|--------------|------- -`>poke_cmd` | poke_usage | poke_desc +`>choose` | Chooses a thing from a list of things | `>choose Get up;Sleep;Sleep more` +`>8ball` | Ask the 8ball a yes/no question. | `>8ball should I do something` +`>rps` | Play a game of rocket paperclip scissors with Nadeko. | `>rps scissors` +`>linux` | Prints a customizable Linux interjection | `>linux Spyware Windows` +`>leet` | Converts a text to leetspeak with 6 (1-6) severity levels | `>leet 3 Hello` +`>poll` | Creates a poll, only person who has manage server permission can do it. | `>poll Question?;Answer1;Answ 2;A_3` +`>pollend` | Stops active poll on this server and prints the results in this channel. | `>pollend` +`>pick` | Picks a flower planted in this channel. | `>pick` +`>plant` | Spend a flower to plant it in this channel. (If bot is restarted or crashes, flower will be lost) | `>plant` +`>gencurrency` `>gc` | Toggles currency generation on this channel. Every posted message will have chance to spawn a NadekoFlower. Chance is specified by the Bot Owner. (default is 2%) | `>gc` **Requires ManageMessages server permission.** +`>typestart` | Starts a typing contest. | `>typestart` +`>typestop` | Stops a typing contest on the current channel. | `>typestop` +`>typeadd` | Adds a new article to the typing contest. | `>typeadd wordswords` **Bot owner only.** +`>trivia` `>t` | Starts a game of trivia. You can add nohint to prevent hints.First player to get to 10 points wins by default. You can specify a different number. 30 seconds per question. | `>t nohint` or `>t 5 nohint` +`>tl` | Shows a current trivia leaderboard. | `>tl` +`>tq` | Quits current trivia after current question. | `>tq` ### Music Command and aliases | Description | Usage ----------------|--------------|------- -`!!next` `!!n` | `!!n` | Goes to the next song in the queue. You have to be in the same voice channel as the bot. -`!!stop` `!!s` | `!!s` | Stops the music and clears the playlist. Stays in the channel. -`!!destroy` `!!d` | `!!d` | Completely stops the music and unbinds the bot from the channel. (may cause weird behaviour) -`!!pause` `!!p` | `!!p` | Pauses or Unpauses the song. -`!!queue` `!!q` `!!yq` | `!!q Dream Of Venice` | Queue a song using keywords or a link. Bot will join your voice channel.**You must be in a voice channel**. -`!!soundcloudqueue` `!!sq` | `!!sq Dream Of Venice` | Queue a soundcloud song using keywords. Bot will join your voice channel.**You must be in a voice channel**. -`!!listqueue` `!!lq` | `!!lq` or `!!lq 2` | Lists 15 currently queued songs per page. Default page is 1. -`!!nowplaying` `!!np` | `!!np` | Shows the song currently playing. -`!!volume` `!!vol` | `!!vol 50` | Sets the music volume 0-100% -`!!defvol` `!!dv` | `!!dv 80` | Sets the default music volume when music playback is started (0-100). Persists through restarts. -`!!shuffle` `!!sh` | `!!sh` | Shuffles the current playlist. -`!!playlist` `!!pl` | `!!pl playlist link or name` | Queues up to 500 songs from a youtube playlist specified by a link, or keywords. -`!!soundcloudpl` `!!scpl` | `!!scpl soundcloudseturl` | Queue a soundcloud playlist using a link. -`!!localplaylst` `!!lopl` | `!!lopl C:/music/classical` | Queues all songs from a directory. **Bot owner only.** -`!!radio` `!!ra` | `!!ra radio link here` | Queues a radio stream from a link. It can be a direct mp3 radio stream, .m3u, .pls .asx or .xspf (Usage Video: ) -`!!local` `!!lo` | `!!lo C:/music/mysong.mp3` | Queues a local file by specifying a full path. **Bot owner only.** -`!!move` `!!mv` | `!!mv` | Moves the bot to your voice channel. (works only if music is already playing) -`!!remove` `!!rm` | `!!rm 5` | Remove a song by its # in the queue, or 'all' to remove whole queue. -`!!remove` `!!rm` | `!!rm 5` | Remove a song by its # in the queue, or 'all' to remove whole queue. -`!!movesong` `!!ms` | `!! ms 5>3` | Moves a song from one position to another. -`!!setmaxqueue` `!!smq` | `!!smq 50` or `!!smq` | Sets a maximum queue size. Supply 0 or no argument to have no limit. -`!!reptcursong` `!!rcs` | `!!rcs` | Toggles repeat of current song. -`!!rpeatplaylst` `!!rpl` | `!!rpl` | Toggles repeat of all songs in the queue (every song that finishes is added to the end of the queue). -`!!save` | `!!save classical1` | Saves a playlist under a certain name. Name must be no longer than 20 characters and mustn't contain dashes. -`!!load` | `!!load classical-1` | Loads a playlist under a certain name. -`!!playlists` `!!pls` | `!!pls 1` | Lists all playlists. Paginated. 20 per page. Default page is 0. -`!!deleteplaylist` `!!delpls` | `!!delpls animu-5` | Deletes a saved playlist. Only if you made it or if you are the bot owner. -`!!goto` | `!!goto 30` | Goes to a specific time in seconds in a song. -`!!getlink` `!!gl` | `!!gl` | Shows a link to the song in the queue by index, or the currently playing song by default. -`!!autoplay` `!!ap` | `!!ap` | Toggles autoplay - When the song is finished, automatically queue a related youtube song. (Works only for youtube songs and when queue is empty) +`!!next` `!!n` | Goes to the next song in the queue. You have to be in the same voice channel as the bot. | `!!n` +`!!stop` `!!s` | Stops the music and clears the playlist. Stays in the channel. | `!!s` +`!!destroy` `!!d` | Completely stops the music and unbinds the bot from the channel. (may cause weird behaviour) | `!!d` +`!!pause` `!!p` | Pauses or Unpauses the song. | `!!p` +`!!queue` `!!q` `!!yq` | Queue a song using keywords or a link. Bot will join your voice channel.**You must be in a voice channel**. | `!!q Dream Of Venice` +`!!soundcloudqueue` `!!sq` | Queue a soundcloud song using keywords. Bot will join your voice channel.**You must be in a voice channel**. | `!!sq Dream Of Venice` +`!!listqueue` `!!lq` | Lists 15 currently queued songs per page. Default page is 1. | `!!lq` or `!!lq 2` +`!!nowplaying` `!!np` | Shows the song currently playing. | `!!np` +`!!volume` `!!vol` | Sets the music volume 0-100% | `!!vol 50` +`!!defvol` `!!dv` | Sets the default music volume when music playback is started (0-100). Persists through restarts. | `!!dv 80` +`!!shuffle` `!!sh` | Shuffles the current playlist. | `!!sh` +`!!playlist` `!!pl` | Queues up to 500 songs from a youtube playlist specified by a link, or keywords. | `!!pl playlist link or name` +`!!soundcloudpl` `!!scpl` | Queue a soundcloud playlist using a link. | `!!scpl soundcloudseturl` +`!!localplaylst` `!!lopl` | Queues all songs from a directory. | `!!lopl C:/music/classical` **Bot owner only.** +`!!radio` `!!ra` | Queues a radio stream from a link. It can be a direct mp3 radio stream, .m3u, .pls .asx or .xspf (Usage Video: ) | `!!ra radio link here` +`!!local` `!!lo` | Queues a local file by specifying a full path. | `!!lo C:/music/mysong.mp3` **Bot owner only.** +`!!move` `!!mv` | Moves the bot to your voice channel. (works only if music is already playing) | `!!mv` +`!!remove` `!!rm` | Remove a song by its # in the queue, or 'all' to remove whole queue. | `!!rm 5` +`!!movesong` `!!ms` | Moves a song from one position to another. | `!! ms 5>3` +`!!setmaxqueue` `!!smq` | Sets a maximum queue size. Supply 0 or no argument to have no limit. | `!!smq 50` or `!!smq` +`!!reptcursong` `!!rcs` | Toggles repeat of current song. | `!!rcs` +`!!rpeatplaylst` `!!rpl` | Toggles repeat of all songs in the queue (every song that finishes is added to the end of the queue). | `!!rpl` +`!!save` | Saves a playlist under a certain name. Name must be no longer than 20 characters and mustn't contain dashes. | `!!save classical1` +`!!load` | Loads a playlist under a certain name. | `!!load classical-1` +`!!playlists` `!!pls` | Lists all playlists. Paginated. 20 per page. Default page is 0. | `!!pls 1` +`!!deleteplaylist` `!!delpls` | Deletes a saved playlist. Only if you made it or if you are the bot owner. | `!!delpls animu-5` +`!!goto` | Goes to a specific time in seconds in a song. | `!!goto 30` +`!!getlink` `!!gl` | Shows a link to the song in the queue by index, or the currently playing song by default. | `!!gl` +`!!autoplay` `!!ap` | Toggles autoplay - When the song is finished, automatically queue a related youtube song. (Works only for youtube songs and when queue is empty) | `!!ap` + +### ClashOfClans +Command and aliases | Description | Usage +----------------|--------------|------- +`,createwar` `,cw` | Creates a new war by specifying a size (>10 and multiple of 5) and enemy clan name. | `,cw 15 The Enemy Clan` +`,startwar` `,sw` | Starts a war with a given number. | `,sw 15` +`,listwar` `,lw` | Shows the active war claims by a number. Shows all wars in a short way if no number is specified. | `,lw [war_number] or ,lw` +`,claim` `,call` `,c` | Claims a certain base from a certain war. You can supply a name in the third optional argument to claim in someone else's place. | `,call [war_number] [base_number] [optional_other_name]` +`,claimfinish1` `,cf1` | Finish your claim with 1 star if you destroyed a base. First argument is the war number, optional second argument finishes for someone else. | `,cf1 2 SomeGirl` +`,claimfinish2` `,cf2` | Finish your claim with 2 stars if you destroyed a base. First argument is the war number, optional second argument finishes for someone else. | `,cf2 1 SomeGuy` +`,claimfinish` `,cf` | Finish your claim with 3 stars if you destroyed a base. First argument is the war number, optional second argument finishes for someone else. | `,cf 1 Someone` +`,endwar` `,ew` | Ends the war with a given index. | `,ew [war_number]` +`,unclaim` `,ucall` `,uc` | Removes your claim from a certain war. Optional second argument denotes a person in whose place to unclaim | `,uc [war_number] [optional_other_name]` + +### Utility +Command and aliases | Description | Usage +----------------|--------------|------- +`.whosplaying` `.whpl` | Shows a list of users who are playing the specified game. | `.whpl Overwatch` +`.inrole` | Lists every person from the provided role or roles (separated by a ',') on this server. If the list is too long for 1 message, you must have Manage Messages permission. | `.inrole Role` +`.checkmyperms` | Checks your userspecific permissions on this channel. | `.checkmyperms` +`.userid` `.uid` | Shows user ID. | `.uid` or `.uid "@SomeGuy"` +`.channelid` `.cid` | Shows current channel ID. | `.cid` +`.serverid` `.sid` | Shows current server ID. | `.sid` +`.roles` | List all roles on this server or a single user if specified. | `.roles` +`.channeltopic` `.ct` | Sends current channel's topic as a message. | `.ct` +`.stats` | Shows some basic stats for Nadeko. | `.stats` +`.showemojis` `.se` | Shows a name and a link to every SPECIAL emoji in the message. | `.se A message full of SPECIALemojis` +`.calculate` `.calc` | Evaluate a mathematical expression. | `.calc 1+1` +`.calcops` | Shows all available operations in .calc command | `.calcops` +`.serverinfo` `.sinfo` | Shows info about the server the bot is on. If no channel is supplied, it defaults to current one. | `.sinfo Some Server` +`.channelinfo` `.cinfo` | Shows info about the channel. If no channel is supplied, it defaults to current one. | `.cinfo #some-channel` +`.userinfo` `.uinfo` | Shows info about the user. If no user is supplied, it defaults a user running the command. | `.uinfo @SomeUser` +`...` | Shows a random quote with a specified name. | `... abc` +`..` | Adds a new quote with the specified name and message. | `.. sayhi Hi` +`.deletequote` `.delq` | Deletes a random quote with the specified keyword. You have to either be server Administrator or the creator of the quote to delete it. | `.delq abc` +`.delallq` `.daq` | Deletes all quotes on a specified keyword. | `.delallq kek` **Requires Administrator server permission.** +`.remind` | Sends a message to you or a channel after certain amount of time. First argument is me/here/'channelname'. Second argument is time in a descending order (mo>w>d>h>m) example: 1w5d3h10m. Third argument is a (multiword)message. | `.remind me 1d5h Do something` or `.remind #general Start now!` +`.remindtemplate` | Sets message for when the remind is triggered. Available placeholders are %user% - user who ran the command, %message% - Message specified in the remind, %target% - target channel of the remind. | `.remindtemplate %user%, you gotta do %message%!` **Bot owner only.** +`.convertlist` | List of the convertible dimensions and currencies. | `.convertlist` +`.convert` | Convert quantities. Use `.convertlist` to see supported dimensions and currencies. | `.convert m km 1000` + +### Searches +Command and aliases | Description | Usage +----------------|--------------|------- +`~weather` `~we` | Shows weather data for a specified city and a country. BOTH ARE REQUIRED. Use country abbrevations. | `~we Moscow RF` +`~youtube` `~yt` | Searches youtubes and shows the first result | `~yt query` +`~imdb` | Queries imdb for movies or series, show first result. | `~imdb Batman vs Superman` +`~randomcat` `~meow` | Shows a random cat image. | `~meow` +`~randomdog` `~woof` | Shows a random dog image. | `~woof` +`~img` `~i` | Pulls the first image found using a search parameter. Use ~ir for different results. | `~i cute kitten` +`~ir` | Pulls a random image using a search parameter. | `~ir cute kitten` +`~lmgtfy` | Google something for an idiot. | `~lmgtfy query` +`~google` `~g` | Get a google search link for some terms. | `~google query` +`~hearthstone` `~hs` | Searches for a Hearthstone card and shows its image. Takes a while to complete. | `~hs Ysera` +`~urbandict` `~ud` | Searches Urban Dictionary for a word. | `~ud Pineapple` +`~#` | Searches Tagdef.com for a hashtag. | `~# ff` +`~catfact` | Shows a random catfact from | `~catfact` +`~revav` | Returns a google reverse image search for someone's avatar. | `~revav "@SomeGuy"` +`~revimg` | Returns a google reverse image search for an image from a link. | `~revimg Image link` +`~safebooru` | Shows a random image from safebooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~safebooru yuri+kissing` +`~wikipedia` `~wiki` | Gives you back a wikipedia link | `~wiki query` +`~color` `~clr` | Shows you what color corresponds to that hex. | `~clr 00ff00` +`~videocall` | Creates a private video call link for you and other mentioned people. The link is sent to mentioned people via a private message. | `~videocall "@SomeGuy"` +`~av` `~avatar` | Shows a mentioned person's avatar. | `~av "@SomeGuy"` +`~lolban` | Shows top banned champions ordered by ban rate. | `~lolban` +`~memelist` | Pulls a list of memes you can use with `~memegen` from http://memegen.link/templates/ | `~memelist` +`~memegen` | Generates a meme from memelist with top and bottom text. | `~memegen biw "gets iced coffee" "in the winter"` +`~translate` `~trans` | Translates from>to text. From the given language to the destination language. | `~trans en>fr Hello` +`~translangs` | Lists the valid languages for translation. | `~translangs` +`~anime` `~ani` `~aq` | Queries anilist for an anime and shows the first result. | `~ani aquarion evol` +`~manga` `~mang` `~mq` | Queries anilist for a manga and shows the first result. | `~mq Shingeki no kyojin` +`~yomama` `~ym` | Shows a random joke from | `~ym` +`~randjoke` `~rj` | Shows a random joke from | `~rj` +`~chucknorris` `~cn` | Shows a random chucknorris joke from | `~cn` +`~wowjoke` | Get one of Kwoth's penultimate WoW jokes. | `~wowjoke` +`~magicitem` `~mi` | Shows a random magicitem from | `~mi` +`~osu` | Shows osu stats for a player. | `~osu Name` or `~osu Name taiko` +`~osub` | Shows information about an osu beatmap. | `~osub https://osu.ppy.sh/s/127712` +`~osu5` | Displays a user's top 5 plays. | `~osu5 Name` +`~pokemon` `~poke` | Searches for a pokemon. | `~poke Sylveon` +`~pokemonability` `~pokeab` | Searches for a pokemon ability. | `~pokeab "water gun"` +`~hitbox` `~hb` | Notifies this channel when a certain user starts streaming. | `~hitbox SomeStreamer` **Requires ManageMessages server permission.** +`~twitch` `~tw` | Notifies this channel when a certain user starts streaming. | `~twitch SomeStreamer` **Requires ManageMessages server permission.** +`~beam` `~bm` | Notifies this channel when a certain user starts streaming. | `~beam SomeStreamer` **Requires ManageMessages server permission.** +`~liststreams` `~ls` | Lists all streams you are following on this server. | `~ls` +`~removestream` `~rms` | Removes notifications of a certain streamer on this channel. | `~rms SomeGuy` **Requires ManageMessages server permission.** +`~checkstream` `~cs` | Checks if a user is online on a certain streaming platform. | `~cs twitch MyFavStreamer` + +### CustomReactions +Command and aliases | Description | Usage +----------------|--------------|------- +`.addcustreact` `.acr` | Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: | `.acr "hello" Hi there %user%` +`.listcustreact` `.lcr` | Lists global or server custom reactions (15 commands per page). Running the command in DM will list global custom reactions, while running it in server will list that server's custom reactions. | `.lcr 1` +`.delcustreact` `.dcr` | Deletes a custom reaction on a specific index. If ran in DM, it is bot owner only and deletes a global custom reaction. If ran in a server, it requires Administration priviledges and removes server custom reaction. | `.dcr 5` + +### Permissions +Command and aliases | Description | Usage +----------------|--------------|------- +`;verbose` `;v` | Sets whether to show when a command/module is blocked. | `;verbose true` +`;permrole` `;pr` | Sets a role which can change permissions. Or supply no parameters to find out the current one. Default one is 'Nadeko'. | `;pr role` +`;listperms` `;lp` | Lists whole permission chain with their indexes. You can specify an optional page number if there are a lot of permissions. | `;lp` or `;lp 3` +`;removeperm` `;rp` | Removes a permission from a given position | `;rp 1` +`;moveperm` `;mp` | Moves permission from one position to another. | `;mp 2 4` +`;srvrcmd` `;sc` | Sets a command's permission at the server level. | `;sc "command name" disable` +`;srvrmdl` `;sm` | Sets a module's permission at the server level. | `;sm "module name" enable` +`;usrcmd` `;uc` | Sets a command's permission at the user level. | `;uc "command name" enable SomeUsername` +`;usrmdl` `;um` | Sets a module's permission at the user level. | `;um "module name" enable SomeUsername` +`;rolecmd` `;rc` | Sets a command's permission at the role level. | `;rc "command name" disable MyRole` +`;rolemdl` `;rm` | Sets a module's permission at the role level. | `;rm "module name" enable MyRole` +`;chnlcmd` `;cc` | Sets a command's permission at the channel level. | `;cc "command name" enable SomeChannel` +`;chnlmdl` `;cm` | Sets a module's permission at the channel level. | `;cm "module name" enable SomeChannel` +`;allchnlmdls` `;acm` | Enable or disable all modules in a specified channel. | `;acm enable #SomeChannel` +`;allrolemdls` `;arm` | Enable or disable all modules for a specific role. | `;arm [enable/disable] MyRole` +`;allusrmdls` `;aum` | Enable or disable all modules for a specific user. | `;aum enable @someone` +`;allsrvrmdls` `;asm` | Enable or disable all modules for your server. | `;asm [enable/disable]` +`;ubl` | Either [add]s or [rem]oves a user specified by a mention or ID from a blacklist. | `;ubl add @SomeUser` or `;ubl rem 12312312313` **Bot owner only.** +`;cbl` | Either [add]s or [rem]oves a channel specified by an ID from a blacklist. | `;cbl rem 12312312312` **Bot owner only.** +`;sbl` | Either [add]s or [rem]oves a server specified by a Name or ID from a blacklist. | `;sbl add 12312321312` or `;sbl rem SomeTrashServer` **Bot owner only.** +`;cmdcooldown` `;cmdcd` | Sets a cooldown per user for a command. Set to 0 to remove the cooldown. | `;cmdcd "some cmd" 5` +`;allcmdcooldowns` `;acmdcds` | Shows a list of all commands and their respective cooldowns. | `;acmdcds` +`;srvrfilterinv` `;sfi` | Toggles automatic deleting of invites posted in the server. Does not affect Bot Owner. | `;sfi` +`;chnlfilterinv` `;cfi` | Toggles automatic deleting of invites posted in the channel. Does not negate the .srvrfilterinv enabled setting. Does not affect Bot Owner. | `;cfi` +`;srvrfilterwords` `;sfw` | Toggles automatic deleting of messages containing forbidden words on the server. Does not affect Bot Owner. | `;sfw` +`;chnlfilterwords` `;cfw` | Toggles automatic deleting of messages containing banned words on the channel. Does not negate the .srvrfilterwords enabled setting. Does not affect bot owner. | `;cfw` +`;fw` | Adds or removes (if it exists) a word from the list of filtered words. Use` ;sfw` or `;cfw` to toggle filtering. | `;fw poop` +`;lstfilterwords` `;lfw` | Shows a list of filtered words. | `;lfw` + +### Help +Command and aliases | Description | Usage +----------------|--------------|------- +`-modules` `-mdls` | Lists all bot modules. | `-modules` +`-commands` `-cmds` | List all of the bot's commands from a certain module. You can either specify full, or only first few letters of the module name. | `-commands Administration` or `-cmds Admin` +`-help` `-h` | Either shows a help for a single command, or DMs you help link if no arguments are specified. | `-h !!q` or `-h` +`-hgit` | Generates the commandlist.md file. | `-hgit` **Bot owner only.** +`-readme` `-guide` | Sends a readme and a guide links to the channel. | `-readme` or `-guide` +`-donate` | Instructions for helping the project financially. | `-donate` + +### NSFW +Command and aliases | Description | Usage +----------------|--------------|------- +`~hentai` | Shows a 2 random images (from gelbooru and danbooru) with a given tag. Tag is optional but preferred. Only 1 tag allowed. | `~hentai yuri` +`~danbooru` | Shows a random hentai image from danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~danbooru yuri+kissing` +`~gelbooru` | Shows a random hentai image from gelbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~gelbooru yuri+kissing` +`~rule34` | Shows a random image from rule34.xx with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~rule34 yuri+kissing` +`~e621` | Shows a random hentai image from e621.net with a given tag. Tag is optional but preffered. Use spaces for multiple tags. | `~e621 yuri kissing` +`~cp` | We all know where this will lead you to. | `~cp` +`~boobs` | Real adult content. | `~boobs` +`~butts` `~ass` `~butt` | Real adult content. | `~butts` or `~ass` From 02989f316d4fb14a2de2c710bc8a879713cd3e2d Mon Sep 17 00:00:00 2001 From: Kwoth Date: Tue, 11 Oct 2016 22:52:34 +0200 Subject: [PATCH 105/135] fixed -hgit output? --- docs/Commands List.md | 154 ++++++++++++++--------------- src/NadekoBot/Modules/Help/Help.cs | 2 +- 2 files changed, 78 insertions(+), 78 deletions(-) diff --git a/docs/Commands List.md b/docs/Commands List.md index a6207588..902c6f2d 100644 --- a/docs/Commands List.md +++ b/docs/Commands List.md @@ -28,7 +28,7 @@ Command and aliases | Description | Usage `.setname` `.newnm` | Give the bot a new name. | `.newnm BotName` **Bot owner only.** `.setavatar` `.setav` | Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. | `.setav http://i.imgur.com/xTG3a1I.jpg` **Bot owner only.** `.setgame` | Sets the bots game. | `.setgame Playing with kwoth` **Bot owner only.** -`.send` | Sends a message to someone on a different server through the bot. Separate server and channel/user ids with | and prepend channel id with `c:` and user id with `u:`. | `.send serverid\|c:channelid` or `.send serverid\|u:userid` **Bot owner only.** +`.send` | Sends a message to someone on a different server through the bot. Separate server and channel/user ids with \| and prepend channel id with `c:` and user id with `u:`. | `.send serverid|c:channelid` or `.send serverid|u:userid` **Bot owner only.** `.announce` | Sends a message to all servers' general channel bot is connected to. | `.announce Useless spam` **Bot owner only.** `.savechat` | Saves a number of messages to a text file and sends it to you. | `.savechat 150` **Bot owner only.** `.mentionrole` `.menro` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. | `.menro RoleName` **Requires MentionEveryone server permission.** @@ -90,26 +90,6 @@ Command and aliases | Description | Usage `$flip` | Flips coin(s) - heads or tails, and shows an image. | `$flip` or `$flip 3` `$betflip` `$bf` | Bet to guess will the result be heads or tails. Guessing awards you double flowers you've bet. | `$bf 5 heads` or `$bf 3 t` -### Games -Command and aliases | Description | Usage -----------------|--------------|------- -`>choose` | Chooses a thing from a list of things | `>choose Get up;Sleep;Sleep more` -`>8ball` | Ask the 8ball a yes/no question. | `>8ball should I do something` -`>rps` | Play a game of rocket paperclip scissors with Nadeko. | `>rps scissors` -`>linux` | Prints a customizable Linux interjection | `>linux Spyware Windows` -`>leet` | Converts a text to leetspeak with 6 (1-6) severity levels | `>leet 3 Hello` -`>poll` | Creates a poll, only person who has manage server permission can do it. | `>poll Question?;Answer1;Answ 2;A_3` -`>pollend` | Stops active poll on this server and prints the results in this channel. | `>pollend` -`>pick` | Picks a flower planted in this channel. | `>pick` -`>plant` | Spend a flower to plant it in this channel. (If bot is restarted or crashes, flower will be lost) | `>plant` -`>gencurrency` `>gc` | Toggles currency generation on this channel. Every posted message will have chance to spawn a NadekoFlower. Chance is specified by the Bot Owner. (default is 2%) | `>gc` **Requires ManageMessages server permission.** -`>typestart` | Starts a typing contest. | `>typestart` -`>typestop` | Stops a typing contest on the current channel. | `>typestop` -`>typeadd` | Adds a new article to the typing contest. | `>typeadd wordswords` **Bot owner only.** -`>trivia` `>t` | Starts a game of trivia. You can add nohint to prevent hints.First player to get to 10 points wins by default. You can specify a different number. 30 seconds per question. | `>t nohint` or `>t 5 nohint` -`>tl` | Shows a current trivia leaderboard. | `>tl` -`>tq` | Quits current trivia after current question. | `>tq` - ### Music Command and aliases | Description | Usage ----------------|--------------|------- @@ -143,18 +123,22 @@ Command and aliases | Description | Usage `!!getlink` `!!gl` | Shows a link to the song in the queue by index, or the currently playing song by default. | `!!gl` `!!autoplay` `!!ap` | Toggles autoplay - When the song is finished, automatically queue a related youtube song. (Works only for youtube songs and when queue is empty) | `!!ap` -### ClashOfClans +### CustomReactions Command and aliases | Description | Usage ----------------|--------------|------- -`,createwar` `,cw` | Creates a new war by specifying a size (>10 and multiple of 5) and enemy clan name. | `,cw 15 The Enemy Clan` -`,startwar` `,sw` | Starts a war with a given number. | `,sw 15` -`,listwar` `,lw` | Shows the active war claims by a number. Shows all wars in a short way if no number is specified. | `,lw [war_number] or ,lw` -`,claim` `,call` `,c` | Claims a certain base from a certain war. You can supply a name in the third optional argument to claim in someone else's place. | `,call [war_number] [base_number] [optional_other_name]` -`,claimfinish1` `,cf1` | Finish your claim with 1 star if you destroyed a base. First argument is the war number, optional second argument finishes for someone else. | `,cf1 2 SomeGirl` -`,claimfinish2` `,cf2` | Finish your claim with 2 stars if you destroyed a base. First argument is the war number, optional second argument finishes for someone else. | `,cf2 1 SomeGuy` -`,claimfinish` `,cf` | Finish your claim with 3 stars if you destroyed a base. First argument is the war number, optional second argument finishes for someone else. | `,cf 1 Someone` -`,endwar` `,ew` | Ends the war with a given index. | `,ew [war_number]` -`,unclaim` `,ucall` `,uc` | Removes your claim from a certain war. Optional second argument denotes a person in whose place to unclaim | `,uc [war_number] [optional_other_name]` +`.addcustreact` `.acr` | Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: | `.acr "hello" Hi there %user%` +`.listcustreact` `.lcr` | Lists global or server custom reactions (15 commands per page). Running the command in DM will list global custom reactions, while running it in server will list that server's custom reactions. | `.lcr 1` +`.delcustreact` `.dcr` | Deletes a custom reaction on a specific index. If ran in DM, it is bot owner only and deletes a global custom reaction. If ran in a server, it requires Administration priviledges and removes server custom reaction. | `.dcr 5` + +### Help +Command and aliases | Description | Usage +----------------|--------------|------- +`-modules` `-mdls` | Lists all bot modules. | `-modules` +`-commands` `-cmds` | List all of the bot's commands from a certain module. You can either specify full, or only first few letters of the module name. | `-commands Administration` or `-cmds Admin` +`-help` `-h` | Either shows a help for a single command, or DMs you help link if no arguments are specified. | `-h !!q` or `-h` +`-hgit` | Generates the commandlist.md file. | `-hgit` **Bot owner only.** +`-readme` `-guide` | Sends a readme and a guide links to the channel. | `-readme` or `-guide` +`-donate` | Instructions for helping the project financially. | `-donate` ### Utility Command and aliases | Description | Usage @@ -183,6 +167,38 @@ Command and aliases | Description | Usage `.convertlist` | List of the convertible dimensions and currencies. | `.convertlist` `.convert` | Convert quantities. Use `.convertlist` to see supported dimensions and currencies. | `.convert m km 1000` +### Permissions +Command and aliases | Description | Usage +----------------|--------------|------- +`;verbose` `;v` | Sets whether to show when a command/module is blocked. | `;verbose true` +`;permrole` `;pr` | Sets a role which can change permissions. Or supply no parameters to find out the current one. Default one is 'Nadeko'. | `;pr role` +`;listperms` `;lp` | Lists whole permission chain with their indexes. You can specify an optional page number if there are a lot of permissions. | `;lp` or `;lp 3` +`;removeperm` `;rp` | Removes a permission from a given position | `;rp 1` +`;moveperm` `;mp` | Moves permission from one position to another. | `;mp 2 4` +`;srvrcmd` `;sc` | Sets a command's permission at the server level. | `;sc "command name" disable` +`;srvrmdl` `;sm` | Sets a module's permission at the server level. | `;sm "module name" enable` +`;usrcmd` `;uc` | Sets a command's permission at the user level. | `;uc "command name" enable SomeUsername` +`;usrmdl` `;um` | Sets a module's permission at the user level. | `;um "module name" enable SomeUsername` +`;rolecmd` `;rc` | Sets a command's permission at the role level. | `;rc "command name" disable MyRole` +`;rolemdl` `;rm` | Sets a module's permission at the role level. | `;rm "module name" enable MyRole` +`;chnlcmd` `;cc` | Sets a command's permission at the channel level. | `;cc "command name" enable SomeChannel` +`;chnlmdl` `;cm` | Sets a module's permission at the channel level. | `;cm "module name" enable SomeChannel` +`;allchnlmdls` `;acm` | Enable or disable all modules in a specified channel. | `;acm enable #SomeChannel` +`;allrolemdls` `;arm` | Enable or disable all modules for a specific role. | `;arm [enable/disable] MyRole` +`;allusrmdls` `;aum` | Enable or disable all modules for a specific user. | `;aum enable @someone` +`;allsrvrmdls` `;asm` | Enable or disable all modules for your server. | `;asm [enable/disable]` +`;ubl` | Either [add]s or [rem]oves a user specified by a mention or ID from a blacklist. | `;ubl add @SomeUser` or `;ubl rem 12312312313` **Bot owner only.** +`;cbl` | Either [add]s or [rem]oves a channel specified by an ID from a blacklist. | `;cbl rem 12312312312` **Bot owner only.** +`;sbl` | Either [add]s or [rem]oves a server specified by a Name or ID from a blacklist. | `;sbl add 12312321312` or `;sbl rem SomeTrashServer` **Bot owner only.** +`;cmdcooldown` `;cmdcd` | Sets a cooldown per user for a command. Set to 0 to remove the cooldown. | `;cmdcd "some cmd" 5` +`;allcmdcooldowns` `;acmdcds` | Shows a list of all commands and their respective cooldowns. | `;acmdcds` +`;srvrfilterinv` `;sfi` | Toggles automatic deleting of invites posted in the server. Does not affect Bot Owner. | `;sfi` +`;chnlfilterinv` `;cfi` | Toggles automatic deleting of invites posted in the channel. Does not negate the .srvrfilterinv enabled setting. Does not affect Bot Owner. | `;cfi` +`;srvrfilterwords` `;sfw` | Toggles automatic deleting of messages containing forbidden words on the server. Does not affect Bot Owner. | `;sfw` +`;chnlfilterwords` `;cfw` | Toggles automatic deleting of messages containing banned words on the channel. Does not negate the .srvrfilterwords enabled setting. Does not affect bot owner. | `;cfw` +`;fw` | Adds or removes (if it exists) a word from the list of filtered words. Use` ;sfw` or `;cfw` to toggle filtering. | `;fw poop` +`;lstfilterwords` `;lfw` | Shows a list of filtered words. | `;lfw` + ### Searches Command and aliases | Description | Usage ----------------|--------------|------- @@ -230,54 +246,25 @@ Command and aliases | Description | Usage `~removestream` `~rms` | Removes notifications of a certain streamer on this channel. | `~rms SomeGuy` **Requires ManageMessages server permission.** `~checkstream` `~cs` | Checks if a user is online on a certain streaming platform. | `~cs twitch MyFavStreamer` -### CustomReactions +### Games Command and aliases | Description | Usage ----------------|--------------|------- -`.addcustreact` `.acr` | Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: | `.acr "hello" Hi there %user%` -`.listcustreact` `.lcr` | Lists global or server custom reactions (15 commands per page). Running the command in DM will list global custom reactions, while running it in server will list that server's custom reactions. | `.lcr 1` -`.delcustreact` `.dcr` | Deletes a custom reaction on a specific index. If ran in DM, it is bot owner only and deletes a global custom reaction. If ran in a server, it requires Administration priviledges and removes server custom reaction. | `.dcr 5` - -### Permissions -Command and aliases | Description | Usage -----------------|--------------|------- -`;verbose` `;v` | Sets whether to show when a command/module is blocked. | `;verbose true` -`;permrole` `;pr` | Sets a role which can change permissions. Or supply no parameters to find out the current one. Default one is 'Nadeko'. | `;pr role` -`;listperms` `;lp` | Lists whole permission chain with their indexes. You can specify an optional page number if there are a lot of permissions. | `;lp` or `;lp 3` -`;removeperm` `;rp` | Removes a permission from a given position | `;rp 1` -`;moveperm` `;mp` | Moves permission from one position to another. | `;mp 2 4` -`;srvrcmd` `;sc` | Sets a command's permission at the server level. | `;sc "command name" disable` -`;srvrmdl` `;sm` | Sets a module's permission at the server level. | `;sm "module name" enable` -`;usrcmd` `;uc` | Sets a command's permission at the user level. | `;uc "command name" enable SomeUsername` -`;usrmdl` `;um` | Sets a module's permission at the user level. | `;um "module name" enable SomeUsername` -`;rolecmd` `;rc` | Sets a command's permission at the role level. | `;rc "command name" disable MyRole` -`;rolemdl` `;rm` | Sets a module's permission at the role level. | `;rm "module name" enable MyRole` -`;chnlcmd` `;cc` | Sets a command's permission at the channel level. | `;cc "command name" enable SomeChannel` -`;chnlmdl` `;cm` | Sets a module's permission at the channel level. | `;cm "module name" enable SomeChannel` -`;allchnlmdls` `;acm` | Enable or disable all modules in a specified channel. | `;acm enable #SomeChannel` -`;allrolemdls` `;arm` | Enable or disable all modules for a specific role. | `;arm [enable/disable] MyRole` -`;allusrmdls` `;aum` | Enable or disable all modules for a specific user. | `;aum enable @someone` -`;allsrvrmdls` `;asm` | Enable or disable all modules for your server. | `;asm [enable/disable]` -`;ubl` | Either [add]s or [rem]oves a user specified by a mention or ID from a blacklist. | `;ubl add @SomeUser` or `;ubl rem 12312312313` **Bot owner only.** -`;cbl` | Either [add]s or [rem]oves a channel specified by an ID from a blacklist. | `;cbl rem 12312312312` **Bot owner only.** -`;sbl` | Either [add]s or [rem]oves a server specified by a Name or ID from a blacklist. | `;sbl add 12312321312` or `;sbl rem SomeTrashServer` **Bot owner only.** -`;cmdcooldown` `;cmdcd` | Sets a cooldown per user for a command. Set to 0 to remove the cooldown. | `;cmdcd "some cmd" 5` -`;allcmdcooldowns` `;acmdcds` | Shows a list of all commands and their respective cooldowns. | `;acmdcds` -`;srvrfilterinv` `;sfi` | Toggles automatic deleting of invites posted in the server. Does not affect Bot Owner. | `;sfi` -`;chnlfilterinv` `;cfi` | Toggles automatic deleting of invites posted in the channel. Does not negate the .srvrfilterinv enabled setting. Does not affect Bot Owner. | `;cfi` -`;srvrfilterwords` `;sfw` | Toggles automatic deleting of messages containing forbidden words on the server. Does not affect Bot Owner. | `;sfw` -`;chnlfilterwords` `;cfw` | Toggles automatic deleting of messages containing banned words on the channel. Does not negate the .srvrfilterwords enabled setting. Does not affect bot owner. | `;cfw` -`;fw` | Adds or removes (if it exists) a word from the list of filtered words. Use` ;sfw` or `;cfw` to toggle filtering. | `;fw poop` -`;lstfilterwords` `;lfw` | Shows a list of filtered words. | `;lfw` - -### Help -Command and aliases | Description | Usage -----------------|--------------|------- -`-modules` `-mdls` | Lists all bot modules. | `-modules` -`-commands` `-cmds` | List all of the bot's commands from a certain module. You can either specify full, or only first few letters of the module name. | `-commands Administration` or `-cmds Admin` -`-help` `-h` | Either shows a help for a single command, or DMs you help link if no arguments are specified. | `-h !!q` or `-h` -`-hgit` | Generates the commandlist.md file. | `-hgit` **Bot owner only.** -`-readme` `-guide` | Sends a readme and a guide links to the channel. | `-readme` or `-guide` -`-donate` | Instructions for helping the project financially. | `-donate` +`>choose` | Chooses a thing from a list of things | `>choose Get up;Sleep;Sleep more` +`>8ball` | Ask the 8ball a yes/no question. | `>8ball should I do something` +`>rps` | Play a game of rocket paperclip scissors with Nadeko. | `>rps scissors` +`>linux` | Prints a customizable Linux interjection | `>linux Spyware Windows` +`>leet` | Converts a text to leetspeak with 6 (1-6) severity levels | `>leet 3 Hello` +`>poll` | Creates a poll, only person who has manage server permission can do it. | `>poll Question?;Answer1;Answ 2;A_3` +`>pollend` | Stops active poll on this server and prints the results in this channel. | `>pollend` +`>pick` | Picks a flower planted in this channel. | `>pick` +`>plant` | Spend a flower to plant it in this channel. (If bot is restarted or crashes, flower will be lost) | `>plant` +`>gencurrency` `>gc` | Toggles currency generation on this channel. Every posted message will have chance to spawn a NadekoFlower. Chance is specified by the Bot Owner. (default is 2%) | `>gc` **Requires ManageMessages server permission.** +`>typestart` | Starts a typing contest. | `>typestart` +`>typestop` | Stops a typing contest on the current channel. | `>typestop` +`>typeadd` | Adds a new article to the typing contest. | `>typeadd wordswords` **Bot owner only.** +`>trivia` `>t` | Starts a game of trivia. You can add nohint to prevent hints.First player to get to 10 points wins by default. You can specify a different number. 30 seconds per question. | `>t nohint` or `>t 5 nohint` +`>tl` | Shows a current trivia leaderboard. | `>tl` +`>tq` | Quits current trivia after current question. | `>tq` ### NSFW Command and aliases | Description | Usage @@ -290,3 +277,16 @@ Command and aliases | Description | Usage `~cp` | We all know where this will lead you to. | `~cp` `~boobs` | Real adult content. | `~boobs` `~butts` `~ass` `~butt` | Real adult content. | `~butts` or `~ass` + +### ClashOfClans +Command and aliases | Description | Usage +----------------|--------------|------- +`,createwar` `,cw` | Creates a new war by specifying a size (>10 and multiple of 5) and enemy clan name. | `,cw 15 The Enemy Clan` +`,startwar` `,sw` | Starts a war with a given number. | `,sw 15` +`,listwar` `,lw` | Shows the active war claims by a number. Shows all wars in a short way if no number is specified. | `,lw [war_number] or ,lw` +`,claim` `,call` `,c` | Claims a certain base from a certain war. You can supply a name in the third optional argument to claim in someone else's place. | `,call [war_number] [base_number] [optional_other_name]` +`,claimfinish1` `,cf1` | Finish your claim with 1 star if you destroyed a base. First argument is the war number, optional second argument finishes for someone else. | `,cf1 2 SomeGirl` +`,claimfinish2` `,cf2` | Finish your claim with 2 stars if you destroyed a base. First argument is the war number, optional second argument finishes for someone else. | `,cf2 1 SomeGuy` +`,claimfinish` `,cf` | Finish your claim with 3 stars if you destroyed a base. First argument is the war number, optional second argument finishes for someone else. | `,cf 1 Someone` +`,endwar` `,ew` | Ends the war with a given index. | `,ew [war_number]` +`,unclaim` `,ucall` `,uc` | Removes your claim from a certain war. Optional second argument denotes a person in whose place to unclaim | `,uc [war_number] [optional_other_name]` diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index 94a4b84f..7d9c07a4 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -136,7 +136,7 @@ namespace NadekoBot.Modules.Help helpstr.AppendLine("----------------|--------------|-------"); lastModule = com.Module.Name; } - helpstr.AppendLine($"`{com.Text}` {string.Join(" ", com.Aliases.Skip(1).Select(a=>"`"+a+"`"))} | {com.Summary} | {com.Remarks.Replace("|","\\|")} {GetCommandRequirements(com)}"); + helpstr.AppendLine($"`{com.Text}` {string.Join(" ", com.Aliases.Skip(1).Select(a=>"`"+a+"`"))} | {com.Summary.Replace("|", "\\|")} | {com.Remarks} {GetCommandRequirements(com)}"); } helpstr = helpstr.Replace(NadekoBot.Client.GetCurrentUser().Username , "@BotName"); #if DEBUG From f5d39c259c3a6eb9d31624f79e0860243dadecad Mon Sep 17 00:00:00 2001 From: Kwoth Date: Tue, 11 Oct 2016 22:55:37 +0200 Subject: [PATCH 106/135] Maybe this trick will work --- docs/Commands List.md | 274 +++++++++--------- src/NadekoBot/Modules/Help/Help.cs | 2 +- .../Resources/CommandStrings.Designer.cs | 2 +- src/NadekoBot/Resources/CommandStrings.resx | 2 +- 4 files changed, 140 insertions(+), 140 deletions(-) diff --git a/docs/Commands List.md b/docs/Commands List.md index 902c6f2d..55e809bb 100644 --- a/docs/Commands List.md +++ b/docs/Commands List.md @@ -1,134 +1,15 @@ -### Administration +### NSFW Command and aliases | Description | Usage ----------------|--------------|------- -`.restart` | Restarts the bot. Might not work. | `.restart` **Bot owner only.** -`.delmsgoncmd` | Toggles the automatic deletion of user's successful command message to prevent chat flood. **Server Manager Only.** | `.delmsgoncmd` **Requires Administrator server permission.** -`.setrole` `.sr` | Sets a role for a given user. | `.sr @User Guest` **Requires ManageRoles server permission.** -`.removerole` `.rr` | Removes a role from a given user. | `.rr @User Admin` **Requires ManageRoles server permission.** -`.renamerole` `.renr` | Renames a role. Roles you are renaming must be lower than bot's highest role. | `.renr "First role" SecondRole` **Requires ManageRoles server permission.** -`.removeallroles` `.rar` | Removes all roles from a mentioned user. | `.rar @User` **Requires ManageRoles server permission.** -`.createrole` `.cr` | Creates a role with a given name. | `.cr Awesome Role` **Requires ManageRoles server permission.** -`.rolecolor` `.rc` | Set a role's color to the hex or 0-255 rgb color value provided. | `.rc Admin 255 200 100` or `.rc Admin ffba55` **Requires ManageRoles server permission.** -`.ban` `.b` | Bans a user by id or name with an optional message. | `.b "@some Guy" Your behaviour is toxic.` **Requires BanMembers server permission.** -`.softban` `.sb` | Bans and then unbans a user by id or name with an optional message. | `.sb "@some Guy" Your behaviour is toxic.` **Requires BanMembers server permission.** -`.kick` `.k` | Kicks a mentioned user. | `.k "@some Guy" Your behaviour is toxic.` **Requires KickMembers server permission.** -`.mute` | Mutes a mentioned user in a voice channel. | `.mute @Someone` **Requires MuteMembers server permission.** -`.unmute` | Unmutes mentioned user or users. | `.unmute "@Someguy"` or `.unmute "@Someguy" "@Someguy"` **Requires MuteMembers server permission.** -`.deafen` `.deaf` | Deafens mentioned user or users. | `.deaf "@Someguy"` or `.deaf "@Someguy" "@Someguy"` **Requires DeafenMembers server permission.** -`.undeafen` `.undef` | Undeafens mentioned user or users. | `.undef "@Someguy"` or `.undef "@Someguy" "@Someguy"` **Requires DeafenMembers server permission.** -`.delvoichanl` `.dvch` | Deletes a voice channel with a given name. | `.dvch VoiceChannelName` **Requires ManageChannels server permission.** -`.creatvoichanl` `.cvch` | Creates a new voice channel with a given name. | `.cvch VoiceChannelName` **Requires ManageChannels server permission.** -`.deltxtchanl` `.dtch` | Deletes a text channel with a given name. | `.dtch TextChannelName` **Requires ManageChannels server permission.** -`.creatxtchanl` `.ctch` | Creates a new text channel with a given name. | `.ctch TextChannelName` **Requires ManageChannels server permission.** -`.settopic` `.st` | Sets a topic on the current channel. | `.st My new topic` **Requires ManageChannels server permission.** -`.setchanlname` `.schn` | Changed the name of the current channel. | `.schn NewName` **Requires ManageChannels server permission.** -`.prune` `.clr` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` -`.die` | Works only for the owner. Shuts the bot down. | `@NadekoBot die` **Bot owner only.** -`.setname` `.newnm` | Give the bot a new name. | `.newnm BotName` **Bot owner only.** -`.setavatar` `.setav` | Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. | `.setav http://i.imgur.com/xTG3a1I.jpg` **Bot owner only.** -`.setgame` | Sets the bots game. | `.setgame Playing with kwoth` **Bot owner only.** -`.send` | Sends a message to someone on a different server through the bot. Separate server and channel/user ids with \| and prepend channel id with `c:` and user id with `u:`. | `.send serverid|c:channelid` or `.send serverid|u:userid` **Bot owner only.** -`.announce` | Sends a message to all servers' general channel bot is connected to. | `.announce Useless spam` **Bot owner only.** -`.savechat` | Saves a number of messages to a text file and sends it to you. | `.savechat 150` **Bot owner only.** -`.mentionrole` `.menro` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. | `.menro RoleName` **Requires MentionEveryone server permission.** -`.donators` | List of lovely people who donated to keep this project alive. | `.donators` -`.donadd` | Add a donator to the database. **Kwoth Only** | `.donadd Donate Amount` **Bot owner only.** -`.autoassignrole` `.aar` | Automaticaly assigns a specified role to every user who joins the server. | `.aar` to disable, `.aar Role Name` to enable **Requires ManageRoles server permission.** -`.scsc` | Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance. | `.scsc` **Bot owner only.** -`.jcsc` | Joins current channel to an instance of cross server channel using the token. | `.jcsc TokenHere` **Requires ManageServer server permission.** -`.lcsc` | Leaves Cross server channel instance from this channel. | `.lcsc` **Requires ManageServer server permission.** -`.fwmsgs` | Toggles forwarding of non-command messages sent to bot's DM to the bot owners | `.fwmsgs` **Bot owner only.** -`.fwtoall` | Toggles whether messages will be forwarded to all bot owners or only to the first one specified in the credentials.json | `.fwtoall` **Bot owner only.** -`.logserver` | Logs server activity in this channel. | `.logserver` **Requires Administrator server permission.** **Bot owner only.** -`.logignore` | Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. | `.logignore` **Requires Administrator server permission.** **Bot owner only.** -`.userpresence` | Starts logging to this channel when someone from the server goes online/offline/idle. | `.userpresence` **Requires Administrator server permission.** -`.voicepresence` | Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. | `.voicepresence` **Requires Administrator server permission.** -`.repeatinvoke` `.repinv` | Immediately shows the repeat message and restarts the timer. | `.repinv` **Requires ManageMessages server permission.** -`.repeat` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. | `.repeat 5 Hello there` -`.migratedata` | Migrate data from old bot configuration | `.migratedata` **Bot owner only.** -`.rotateplaying` `.ropl` | Toggles rotation of playing status of the dynamic strings you specified earlier. | `.ropl` **Bot owner only.** -`.addplaying` `.adpl` | Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued% | `.adpl` **Bot owner only.** -`.listplaying` `.lipl` | Lists all playing statuses with their corresponding number. | `.lipl` **Bot owner only.** -`.removeplaying` `.rmpl` `.repl` | Removes a playing string on a given number. | `.rmpl` **Bot owner only.** -`.slowmode` | Toggles slow mode. When ON, users will be able to send only 1 message every 5 seconds. | `.slowmode` **Requires ManageMessages server permission.** -`.asar` | Adds a role, or list of roles separated by whitespace(use quotations for multiword roles) to the list of self-assignable roles. | `.asar Gamer` **Requires ManageRoles server permission.** -`.rsar` | Removes a specified role from the list of self-assignable roles. | `.rsar` **Requires ManageRoles server permission.** -`.lsar` | Lists all self-assignable roles. | `.lsar` -`.togglexclsar` `.tesar` | Toggles whether the self-assigned roles are exclusive. (So that any person can have only one of the self assignable roles) | `.tesar` **Requires ManageRoles server permission.** -`.iam` | Adds a role to you that you choose. Role must be on a list of self-assignable roles. | `.iam Gamer` -`.iamnot` `.iamn` | Removes a role to you that you choose. Role must be on a list of self-assignable roles. | `.iamn Gamer` -`.leave` | Makes Nadeko leave the server. Either name or id required. | `.leave 123123123331` **Bot owner only.** -`.greetdel` `.grdel` | Toggles automatic deletion of greet messages. | `.greetdel` **Requires ManageServer server permission.** -`.greet` | Toggles anouncements on the current channel when someone joins the server. | `.greet` **Requires ManageServer server permission.** -`.greetmsg` | Sets a new join announcement message which will be shown in the server's channel. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. | `.greetmsg Welcome, %user%.` **Requires ManageServer server permission.** -`.greetdm` | Toggles whether the greet messages will be sent in a DM (This is separate from greet - you can have both, any or neither enabled). | `.greetdm` **Requires ManageServer server permission.** -`.greetdmmsg` | Sets a new join announcement message which will be sent to the user who joined. Type %user% if you want to mention the new member. Using it with no message will show the current DM greet message. | `.greetdmmsg Welcome to the server, %user%`. **Requires ManageServer server permission.** -`.bye` | Toggles anouncements on the current channel when someone leaves the server. | `.bye` **Requires ManageServer server permission.** -`.byemsg` | Sets a new leave announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current bye message. | `.byemsg %user% has left.` **Requires ManageServer server permission.** -`.byedel` | Toggles automatic deletion of bye messages. | `.byedel` **Requires ManageServer server permission.** -`.voice+text` `.v+t` | Creates a text channel for each voice channel only users in that voice channel can see.If you are server owner, keep in mind you will see them all the time regardless. | `.voice+text` **Requires ManageRoles server permission.** **Requires ManageChannels server permission.** -`.cleanvplust` `.cv+t` | Deletes all text channels ending in `-voice` for which voicechannels are not found. **Use at your own risk. Needs Manage Roles and Manage Channels Permissions.** | `.cleanv+t` **Requires ManageChannels server permission.** **Requires ManageRoles server permission.** - -### Gambling -Command and aliases | Description | Usage -----------------|--------------|------- -`$raffle` | Prints a name and ID of a random user from the online list from the (optional) role. | `$raffle` or `$raffle RoleName` -`$cash` `$$$` | Check how much NadekoFlowers a person has. (Defaults to yourself) | `$$$` or `$$$ @SomeGuy` -`$give` | Give someone a certain amount of currency. | `$give 1 "@SomeGuy"` -`$award` | Awards someone a certain amount of currency. | `$award 100 @person` **Bot owner only.** -`$take` | Takes a certain amount of flowers from someone. | `$take 1 "@someguy"` **Bot owner only.** -`$betroll` `$br` | Bets a certain amount of NadekoFlowers and rolls a dice. Rolling over 66 yields x2 flowers, over 90 - x3 and 100 x10. | `$br 5` -`$leaderboard` `$lb` | Displays bot currency leaderboard. | `$lb` -`$race` | Starts a new animal race. | `$race` -`$joinrace` `$jr` | Joins a new race. You can specify an amount of flowers for betting (optional). You will get YourBet*(participants-1) back if you win. | `$jr` or `$jr 5` -`$roll` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$roll` or `$roll 7` or `$roll 3d5` -`$rolluo` | Rolls X normal dice (up to 30) unordered. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$rolluo` or `$rolluo 7` or `$rolluo 3d5` -`$nroll` | Rolls in a given range. | `$nroll 5` (rolls 0-5) or `$nroll 5-15` -`$draw` | Draws a card from the deck.If you supply number X, she draws up to 5 cards from the deck. | `$draw` or `$draw 5` -`$shuffle` `$sh` | Reshuffles all cards back into the deck. | `$sh` -`$flip` | Flips coin(s) - heads or tails, and shows an image. | `$flip` or `$flip 3` -`$betflip` `$bf` | Bet to guess will the result be heads or tails. Guessing awards you double flowers you've bet. | `$bf 5 heads` or `$bf 3 t` - -### Music -Command and aliases | Description | Usage -----------------|--------------|------- -`!!next` `!!n` | Goes to the next song in the queue. You have to be in the same voice channel as the bot. | `!!n` -`!!stop` `!!s` | Stops the music and clears the playlist. Stays in the channel. | `!!s` -`!!destroy` `!!d` | Completely stops the music and unbinds the bot from the channel. (may cause weird behaviour) | `!!d` -`!!pause` `!!p` | Pauses or Unpauses the song. | `!!p` -`!!queue` `!!q` `!!yq` | Queue a song using keywords or a link. Bot will join your voice channel.**You must be in a voice channel**. | `!!q Dream Of Venice` -`!!soundcloudqueue` `!!sq` | Queue a soundcloud song using keywords. Bot will join your voice channel.**You must be in a voice channel**. | `!!sq Dream Of Venice` -`!!listqueue` `!!lq` | Lists 15 currently queued songs per page. Default page is 1. | `!!lq` or `!!lq 2` -`!!nowplaying` `!!np` | Shows the song currently playing. | `!!np` -`!!volume` `!!vol` | Sets the music volume 0-100% | `!!vol 50` -`!!defvol` `!!dv` | Sets the default music volume when music playback is started (0-100). Persists through restarts. | `!!dv 80` -`!!shuffle` `!!sh` | Shuffles the current playlist. | `!!sh` -`!!playlist` `!!pl` | Queues up to 500 songs from a youtube playlist specified by a link, or keywords. | `!!pl playlist link or name` -`!!soundcloudpl` `!!scpl` | Queue a soundcloud playlist using a link. | `!!scpl soundcloudseturl` -`!!localplaylst` `!!lopl` | Queues all songs from a directory. | `!!lopl C:/music/classical` **Bot owner only.** -`!!radio` `!!ra` | Queues a radio stream from a link. It can be a direct mp3 radio stream, .m3u, .pls .asx or .xspf (Usage Video: ) | `!!ra radio link here` -`!!local` `!!lo` | Queues a local file by specifying a full path. | `!!lo C:/music/mysong.mp3` **Bot owner only.** -`!!move` `!!mv` | Moves the bot to your voice channel. (works only if music is already playing) | `!!mv` -`!!remove` `!!rm` | Remove a song by its # in the queue, or 'all' to remove whole queue. | `!!rm 5` -`!!movesong` `!!ms` | Moves a song from one position to another. | `!! ms 5>3` -`!!setmaxqueue` `!!smq` | Sets a maximum queue size. Supply 0 or no argument to have no limit. | `!!smq 50` or `!!smq` -`!!reptcursong` `!!rcs` | Toggles repeat of current song. | `!!rcs` -`!!rpeatplaylst` `!!rpl` | Toggles repeat of all songs in the queue (every song that finishes is added to the end of the queue). | `!!rpl` -`!!save` | Saves a playlist under a certain name. Name must be no longer than 20 characters and mustn't contain dashes. | `!!save classical1` -`!!load` | Loads a playlist under a certain name. | `!!load classical-1` -`!!playlists` `!!pls` | Lists all playlists. Paginated. 20 per page. Default page is 0. | `!!pls 1` -`!!deleteplaylist` `!!delpls` | Deletes a saved playlist. Only if you made it or if you are the bot owner. | `!!delpls animu-5` -`!!goto` | Goes to a specific time in seconds in a song. | `!!goto 30` -`!!getlink` `!!gl` | Shows a link to the song in the queue by index, or the currently playing song by default. | `!!gl` -`!!autoplay` `!!ap` | Toggles autoplay - When the song is finished, automatically queue a related youtube song. (Works only for youtube songs and when queue is empty) | `!!ap` - -### CustomReactions -Command and aliases | Description | Usage -----------------|--------------|------- -`.addcustreact` `.acr` | Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: | `.acr "hello" Hi there %user%` -`.listcustreact` `.lcr` | Lists global or server custom reactions (15 commands per page). Running the command in DM will list global custom reactions, while running it in server will list that server's custom reactions. | `.lcr 1` -`.delcustreact` `.dcr` | Deletes a custom reaction on a specific index. If ran in DM, it is bot owner only and deletes a global custom reaction. If ran in a server, it requires Administration priviledges and removes server custom reaction. | `.dcr 5` +`~hentai` | Shows a 2 random images (from gelbooru and danbooru) with a given tag. Tag is optional but preferred. Only 1 tag allowed. | `~hentai yuri` +`~danbooru` | Shows a random hentai image from danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~danbooru yuri+kissing` +`~gelbooru` | Shows a random hentai image from gelbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~gelbooru yuri+kissing` +`~rule34` | Shows a random image from rule34.xx with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~rule34 yuri+kissing` +`~e621` | Shows a random hentai image from e621.net with a given tag. Tag is optional but preffered. Use spaces for multiple tags. | `~e621 yuri kissing` +`~cp` | We all know where this will lead you to. | `~cp` +`~boobs` | Real adult content. | `~boobs` +`~butts` `~ass` `~butt` | Real adult content. | `~butts` or `~ass` ### Help Command and aliases | Description | Usage @@ -246,6 +127,39 @@ Command and aliases | Description | Usage `~removestream` `~rms` | Removes notifications of a certain streamer on this channel. | `~rms SomeGuy` **Requires ManageMessages server permission.** `~checkstream` `~cs` | Checks if a user is online on a certain streaming platform. | `~cs twitch MyFavStreamer` +### Music +Command and aliases | Description | Usage +----------------|--------------|------- +`!!next` `!!n` | Goes to the next song in the queue. You have to be in the same voice channel as the bot. | `!!n` +`!!stop` `!!s` | Stops the music and clears the playlist. Stays in the channel. | `!!s` +`!!destroy` `!!d` | Completely stops the music and unbinds the bot from the channel. (may cause weird behaviour) | `!!d` +`!!pause` `!!p` | Pauses or Unpauses the song. | `!!p` +`!!queue` `!!q` `!!yq` | Queue a song using keywords or a link. Bot will join your voice channel.**You must be in a voice channel**. | `!!q Dream Of Venice` +`!!soundcloudqueue` `!!sq` | Queue a soundcloud song using keywords. Bot will join your voice channel.**You must be in a voice channel**. | `!!sq Dream Of Venice` +`!!listqueue` `!!lq` | Lists 15 currently queued songs per page. Default page is 1. | `!!lq` or `!!lq 2` +`!!nowplaying` `!!np` | Shows the song currently playing. | `!!np` +`!!volume` `!!vol` | Sets the music volume 0-100% | `!!vol 50` +`!!defvol` `!!dv` | Sets the default music volume when music playback is started (0-100). Persists through restarts. | `!!dv 80` +`!!shuffle` `!!sh` | Shuffles the current playlist. | `!!sh` +`!!playlist` `!!pl` | Queues up to 500 songs from a youtube playlist specified by a link, or keywords. | `!!pl playlist link or name` +`!!soundcloudpl` `!!scpl` | Queue a soundcloud playlist using a link. | `!!scpl soundcloudseturl` +`!!localplaylst` `!!lopl` | Queues all songs from a directory. | `!!lopl C:/music/classical` **Bot owner only.** +`!!radio` `!!ra` | Queues a radio stream from a link. It can be a direct mp3 radio stream, .m3u, .pls .asx or .xspf (Usage Video: ) | `!!ra radio link here` +`!!local` `!!lo` | Queues a local file by specifying a full path. | `!!lo C:/music/mysong.mp3` **Bot owner only.** +`!!move` `!!mv` | Moves the bot to your voice channel. (works only if music is already playing) | `!!mv` +`!!remove` `!!rm` | Remove a song by its # in the queue, or 'all' to remove whole queue. | `!!rm 5` +`!!movesong` `!!ms` | Moves a song from one position to another. | `!! ms 5>3` +`!!setmaxqueue` `!!smq` | Sets a maximum queue size. Supply 0 or no argument to have no limit. | `!!smq 50` or `!!smq` +`!!reptcursong` `!!rcs` | Toggles repeat of current song. | `!!rcs` +`!!rpeatplaylst` `!!rpl` | Toggles repeat of all songs in the queue (every song that finishes is added to the end of the queue). | `!!rpl` +`!!save` | Saves a playlist under a certain name. Name must be no longer than 20 characters and mustn't contain dashes. | `!!save classical1` +`!!load` | Loads a playlist under a certain name. | `!!load classical-1` +`!!playlists` `!!pls` | Lists all playlists. Paginated. 20 per page. Default page is 0. | `!!pls 1` +`!!deleteplaylist` `!!delpls` | Deletes a saved playlist. Only if you made it or if you are the bot owner. | `!!delpls animu-5` +`!!goto` | Goes to a specific time in seconds in a song. | `!!goto 30` +`!!getlink` `!!gl` | Shows a link to the song in the queue by index, or the currently playing song by default. | `!!gl` +`!!autoplay` `!!ap` | Toggles autoplay - When the song is finished, automatically queue a related youtube song. (Works only for youtube songs and when queue is empty) | `!!ap` + ### Games Command and aliases | Description | Usage ----------------|--------------|------- @@ -266,17 +180,12 @@ Command and aliases | Description | Usage `>tl` | Shows a current trivia leaderboard. | `>tl` `>tq` | Quits current trivia after current question. | `>tq` -### NSFW +### CustomReactions Command and aliases | Description | Usage ----------------|--------------|------- -`~hentai` | Shows a 2 random images (from gelbooru and danbooru) with a given tag. Tag is optional but preferred. Only 1 tag allowed. | `~hentai yuri` -`~danbooru` | Shows a random hentai image from danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~danbooru yuri+kissing` -`~gelbooru` | Shows a random hentai image from gelbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~gelbooru yuri+kissing` -`~rule34` | Shows a random image from rule34.xx with a given tag. Tag is optional but preffered. (multiple tags are appended with +) | `~rule34 yuri+kissing` -`~e621` | Shows a random hentai image from e621.net with a given tag. Tag is optional but preffered. Use spaces for multiple tags. | `~e621 yuri kissing` -`~cp` | We all know where this will lead you to. | `~cp` -`~boobs` | Real adult content. | `~boobs` -`~butts` `~ass` `~butt` | Real adult content. | `~butts` or `~ass` +`.addcustreact` `.acr` | Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: | `.acr "hello" Hi there %user%` +`.listcustreact` `.lcr` | Lists global or server custom reactions (15 commands per page). Running the command in DM will list global custom reactions, while running it in server will list that server's custom reactions. | `.lcr 1` +`.delcustreact` `.dcr` | Deletes a custom reaction on a specific index. If ran in DM, it is bot owner only and deletes a global custom reaction. If ran in a server, it requires Administration priviledges and removes server custom reaction. | `.dcr 5` ### ClashOfClans Command and aliases | Description | Usage @@ -290,3 +199,94 @@ Command and aliases | Description | Usage `,claimfinish` `,cf` | Finish your claim with 3 stars if you destroyed a base. First argument is the war number, optional second argument finishes for someone else. | `,cf 1 Someone` `,endwar` `,ew` | Ends the war with a given index. | `,ew [war_number]` `,unclaim` `,ucall` `,uc` | Removes your claim from a certain war. Optional second argument denotes a person in whose place to unclaim | `,uc [war_number] [optional_other_name]` + +### Gambling +Command and aliases | Description | Usage +----------------|--------------|------- +`$raffle` | Prints a name and ID of a random user from the online list from the (optional) role. | `$raffle` or `$raffle RoleName` +`$cash` `$$$` | Check how much NadekoFlowers a person has. (Defaults to yourself) | `$$$` or `$$$ @SomeGuy` +`$give` | Give someone a certain amount of currency. | `$give 1 "@SomeGuy"` +`$award` | Awards someone a certain amount of currency. | `$award 100 @person` **Bot owner only.** +`$take` | Takes a certain amount of flowers from someone. | `$take 1 "@someguy"` **Bot owner only.** +`$betroll` `$br` | Bets a certain amount of NadekoFlowers and rolls a dice. Rolling over 66 yields x2 flowers, over 90 - x3 and 100 x10. | `$br 5` +`$leaderboard` `$lb` | Displays bot currency leaderboard. | `$lb` +`$race` | Starts a new animal race. | `$race` +`$joinrace` `$jr` | Joins a new race. You can specify an amount of flowers for betting (optional). You will get YourBet*(participants-1) back if you win. | `$jr` or `$jr 5` +`$roll` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$roll` or `$roll 7` or `$roll 3d5` +`$rolluo` | Rolls X normal dice (up to 30) unordered. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$rolluo` or `$rolluo 7` or `$rolluo 3d5` +`$nroll` | Rolls in a given range. | `$nroll 5` (rolls 0-5) or `$nroll 5-15` +`$draw` | Draws a card from the deck.If you supply number X, she draws up to 5 cards from the deck. | `$draw` or `$draw 5` +`$shuffle` `$sh` | Reshuffles all cards back into the deck. | `$sh` +`$flip` | Flips coin(s) - heads or tails, and shows an image. | `$flip` or `$flip 3` +`$betflip` `$bf` | Bet to guess will the result be heads or tails. Guessing awards you double flowers you've bet. | `$bf 5 heads` or `$bf 3 t` + +### Administration +Command and aliases | Description | Usage +----------------|--------------|------- +`.restart` | Restarts the bot. Might not work. | `.restart` **Bot owner only.** +`.delmsgoncmd` | Toggles the automatic deletion of user's successful command message to prevent chat flood. **Server Manager Only.** | `.delmsgoncmd` **Requires Administrator server permission.** +`.setrole` `.sr` | Sets a role for a given user. | `.sr @User Guest` **Requires ManageRoles server permission.** +`.removerole` `.rr` | Removes a role from a given user. | `.rr @User Admin` **Requires ManageRoles server permission.** +`.renamerole` `.renr` | Renames a role. Roles you are renaming must be lower than bot's highest role. | `.renr "First role" SecondRole` **Requires ManageRoles server permission.** +`.removeallroles` `.rar` | Removes all roles from a mentioned user. | `.rar @User` **Requires ManageRoles server permission.** +`.createrole` `.cr` | Creates a role with a given name. | `.cr Awesome Role` **Requires ManageRoles server permission.** +`.rolecolor` `.rc` | Set a role's color to the hex or 0-255 rgb color value provided. | `.rc Admin 255 200 100` or `.rc Admin ffba55` **Requires ManageRoles server permission.** +`.ban` `.b` | Bans a user by id or name with an optional message. | `.b "@some Guy" Your behaviour is toxic.` **Requires BanMembers server permission.** +`.softban` `.sb` | Bans and then unbans a user by id or name with an optional message. | `.sb "@some Guy" Your behaviour is toxic.` **Requires BanMembers server permission.** +`.kick` `.k` | Kicks a mentioned user. | `.k "@some Guy" Your behaviour is toxic.` **Requires KickMembers server permission.** +`.mute` | Mutes a mentioned user in a voice channel. | `.mute @Someone` **Requires MuteMembers server permission.** +`.unmute` | Unmutes mentioned user or users. | `.unmute "@Someguy"` or `.unmute "@Someguy" "@Someguy"` **Requires MuteMembers server permission.** +`.deafen` `.deaf` | Deafens mentioned user or users. | `.deaf "@Someguy"` or `.deaf "@Someguy" "@Someguy"` **Requires DeafenMembers server permission.** +`.undeafen` `.undef` | Undeafens mentioned user or users. | `.undef "@Someguy"` or `.undef "@Someguy" "@Someguy"` **Requires DeafenMembers server permission.** +`.delvoichanl` `.dvch` | Deletes a voice channel with a given name. | `.dvch VoiceChannelName` **Requires ManageChannels server permission.** +`.creatvoichanl` `.cvch` | Creates a new voice channel with a given name. | `.cvch VoiceChannelName` **Requires ManageChannels server permission.** +`.deltxtchanl` `.dtch` | Deletes a text channel with a given name. | `.dtch TextChannelName` **Requires ManageChannels server permission.** +`.creatxtchanl` `.ctch` | Creates a new text channel with a given name. | `.ctch TextChannelName` **Requires ManageChannels server permission.** +`.settopic` `.st` | Sets a topic on the current channel. | `.st My new topic` **Requires ManageChannels server permission.** +`.setchanlname` `.schn` | Changed the name of the current channel. | `.schn NewName` **Requires ManageChannels server permission.** +`.prune` `.clr` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` +`.die` | Works only for the owner. Shuts the bot down. | `@NadekoBot die` **Bot owner only.** +`.setname` `.newnm` | Give the bot a new name. | `.newnm BotName` **Bot owner only.** +`.setavatar` `.setav` | Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. | `.setav http://i.imgur.com/xTG3a1I.jpg` **Bot owner only.** +`.setgame` | Sets the bots game. | `.setgame Playing with kwoth` **Bot owner only.** +`.send` | Sends a message to someone on a different server through the bot. Separate server and channel/user ids with `|` and prepend channel id with `c:` and user id with `u:`. | `.send serverid|c:channelid` or `.send serverid|u:userid` **Bot owner only.** +`.announce` | Sends a message to all servers' general channel bot is connected to. | `.announce Useless spam` **Bot owner only.** +`.savechat` | Saves a number of messages to a text file and sends it to you. | `.savechat 150` **Bot owner only.** +`.mentionrole` `.menro` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. | `.menro RoleName` **Requires MentionEveryone server permission.** +`.donators` | List of lovely people who donated to keep this project alive. | `.donators` +`.donadd` | Add a donator to the database. **Kwoth Only** | `.donadd Donate Amount` **Bot owner only.** +`.autoassignrole` `.aar` | Automaticaly assigns a specified role to every user who joins the server. | `.aar` to disable, `.aar Role Name` to enable **Requires ManageRoles server permission.** +`.scsc` | Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance. | `.scsc` **Bot owner only.** +`.jcsc` | Joins current channel to an instance of cross server channel using the token. | `.jcsc TokenHere` **Requires ManageServer server permission.** +`.lcsc` | Leaves Cross server channel instance from this channel. | `.lcsc` **Requires ManageServer server permission.** +`.fwmsgs` | Toggles forwarding of non-command messages sent to bot's DM to the bot owners | `.fwmsgs` **Bot owner only.** +`.fwtoall` | Toggles whether messages will be forwarded to all bot owners or only to the first one specified in the credentials.json | `.fwtoall` **Bot owner only.** +`.logserver` | Logs server activity in this channel. | `.logserver` **Requires Administrator server permission.** **Bot owner only.** +`.logignore` | Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. | `.logignore` **Requires Administrator server permission.** **Bot owner only.** +`.userpresence` | Starts logging to this channel when someone from the server goes online/offline/idle. | `.userpresence` **Requires Administrator server permission.** +`.voicepresence` | Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. | `.voicepresence` **Requires Administrator server permission.** +`.repeatinvoke` `.repinv` | Immediately shows the repeat message and restarts the timer. | `.repinv` **Requires ManageMessages server permission.** +`.repeat` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. | `.repeat 5 Hello there` +`.migratedata` | Migrate data from old bot configuration | `.migratedata` **Bot owner only.** +`.rotateplaying` `.ropl` | Toggles rotation of playing status of the dynamic strings you specified earlier. | `.ropl` **Bot owner only.** +`.addplaying` `.adpl` | Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued% | `.adpl` **Bot owner only.** +`.listplaying` `.lipl` | Lists all playing statuses with their corresponding number. | `.lipl` **Bot owner only.** +`.removeplaying` `.rmpl` `.repl` | Removes a playing string on a given number. | `.rmpl` **Bot owner only.** +`.slowmode` | Toggles slow mode. When ON, users will be able to send only 1 message every 5 seconds. | `.slowmode` **Requires ManageMessages server permission.** +`.asar` | Adds a role, or list of roles separated by whitespace(use quotations for multiword roles) to the list of self-assignable roles. | `.asar Gamer` **Requires ManageRoles server permission.** +`.rsar` | Removes a specified role from the list of self-assignable roles. | `.rsar` **Requires ManageRoles server permission.** +`.lsar` | Lists all self-assignable roles. | `.lsar` +`.togglexclsar` `.tesar` | Toggles whether the self-assigned roles are exclusive. (So that any person can have only one of the self assignable roles) | `.tesar` **Requires ManageRoles server permission.** +`.iam` | Adds a role to you that you choose. Role must be on a list of self-assignable roles. | `.iam Gamer` +`.iamnot` `.iamn` | Removes a role to you that you choose. Role must be on a list of self-assignable roles. | `.iamn Gamer` +`.leave` | Makes Nadeko leave the server. Either name or id required. | `.leave 123123123331` **Bot owner only.** +`.greetdel` `.grdel` | Toggles automatic deletion of greet messages. | `.greetdel` **Requires ManageServer server permission.** +`.greet` | Toggles anouncements on the current channel when someone joins the server. | `.greet` **Requires ManageServer server permission.** +`.greetmsg` | Sets a new join announcement message which will be shown in the server's channel. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. | `.greetmsg Welcome, %user%.` **Requires ManageServer server permission.** +`.greetdm` | Toggles whether the greet messages will be sent in a DM (This is separate from greet - you can have both, any or neither enabled). | `.greetdm` **Requires ManageServer server permission.** +`.greetdmmsg` | Sets a new join announcement message which will be sent to the user who joined. Type %user% if you want to mention the new member. Using it with no message will show the current DM greet message. | `.greetdmmsg Welcome to the server, %user%`. **Requires ManageServer server permission.** +`.bye` | Toggles anouncements on the current channel when someone leaves the server. | `.bye` **Requires ManageServer server permission.** +`.byemsg` | Sets a new leave announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current bye message. | `.byemsg %user% has left.` **Requires ManageServer server permission.** +`.byedel` | Toggles automatic deletion of bye messages. | `.byedel` **Requires ManageServer server permission.** +`.voice+text` `.v+t` | Creates a text channel for each voice channel only users in that voice channel can see.If you are server owner, keep in mind you will see them all the time regardless. | `.voice+text` **Requires ManageRoles server permission.** **Requires ManageChannels server permission.** +`.cleanvplust` `.cv+t` | Deletes all text channels ending in `-voice` for which voicechannels are not found. **Use at your own risk. Needs Manage Roles and Manage Channels Permissions.** | `.cleanv+t` **Requires ManageChannels server permission.** **Requires ManageRoles server permission.** diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index 7d9c07a4..96d2c4f6 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -136,7 +136,7 @@ namespace NadekoBot.Modules.Help helpstr.AppendLine("----------------|--------------|-------"); lastModule = com.Module.Name; } - helpstr.AppendLine($"`{com.Text}` {string.Join(" ", com.Aliases.Skip(1).Select(a=>"`"+a+"`"))} | {com.Summary.Replace("|", "\\|")} | {com.Remarks} {GetCommandRequirements(com)}"); + helpstr.AppendLine($"`{com.Text}` {string.Join(" ", com.Aliases.Skip(1).Select(a=>"`"+a+"`"))} | {com.Summary} | {com.Remarks} {GetCommandRequirements(com)}"); } helpstr = helpstr.Replace(NadekoBot.Client.GetCurrentUser().Username , "@BotName"); #if DEBUG diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index 7595805c..a2cfaeac 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -5820,7 +5820,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to Sends a message to someone on a different server through the bot. Separate server and channel/user ids with | and prepend channel id with `c:` and user id with `u:`.. + /// Looks up a localized string similar to Sends a message to someone on a different server through the bot. Separate server and channel/user ids with `|` and prepend channel id with `c:` and user id with `u:`.. /// public static string send_desc { get { diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index 1ea02dbc..d9de35da 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -760,7 +760,7 @@ send - Sends a message to someone on a different server through the bot. Separate server and channel/user ids with | and prepend channel id with `c:` and user id with `u:`. + Sends a message to someone on a different server through the bot. Separate server and channel/user ids with `|` and prepend channel id with `c:` and user id with `u:`. `.send serverid|c:channelid` or `.send serverid|u:userid` From e3b087415d790923b6b849e914fbf8cc475e84a4 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 12 Oct 2016 01:06:21 +0200 Subject: [PATCH 107/135] fixed migration? --- discord.net | 2 +- .../Administration/Commands/Migration.cs | 2 +- .../Commands/StreamNotificationCommands.cs | 8 ++++---- src/NadekoBot/libs/libsodium.dll | Bin 0 -> 399872 bytes src/NadekoBot/libs/opus.dll | Bin 0 -> 261632 bytes src/NadekoBot/project.json | 7 +++++-- 6 files changed, 11 insertions(+), 8 deletions(-) create mode 100644 src/NadekoBot/libs/libsodium.dll create mode 100644 src/NadekoBot/libs/opus.dll diff --git a/discord.net b/discord.net index 6a7f7b81..39df50a5 160000 --- a/discord.net +++ b/discord.net @@ -1 +1 @@ -Subproject commit 6a7f7b81322266977ef809e521af6c199ec8de54 +Subproject commit 39df50a5eaace37d31848a42f651a9fc40f8f534 diff --git a/src/NadekoBot/Modules/Administration/Commands/Migration.cs b/src/NadekoBot/Modules/Administration/Commands/Migration.cs index 3d5ea9ad..66cee0b3 100644 --- a/src/NadekoBot/Modules/Administration/Commands/Migration.cs +++ b/src/NadekoBot/Modules/Administration/Commands/Migration.cs @@ -81,7 +81,7 @@ namespace NadekoBot.Modules.Administration private void MigrateDb0_9(IUnitOfWork uow) { - var db = new SqliteConnection("Data Source=data/nadekobot.sqlite;Version=3;"); + var db = new SqliteConnection("Data Source=data/nadekobot.sqlite"); db.Open(); var com = db.CreateCommand(); diff --git a/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs b/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs index 37eb9e4a..6abf08c4 100644 --- a/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs @@ -203,14 +203,14 @@ namespace NadekoBot.Modules.Searches { var channel = (ITextChannel)msg.Channel; - username = username.ToUpperInvariant().Trim(); + username = username.ToLowerInvariant().Trim(); FollowedStream toRemove; using (var uow = DbHandler.UnitOfWork()) { var config = uow.GuildConfigs.For(channel.Guild.Id); var streams = config.FollowedStreams; - toRemove = streams.Where(fs => fs.ChannelId == channel.Id && fs.Username.ToUpperInvariant() == username).FirstOrDefault(); + toRemove = streams.Where(fs => fs.ChannelId == channel.Id && fs.Username.ToLowerInvariant() == username).FirstOrDefault(); if (toRemove != null) { config.FollowedStreams = new HashSet(streams.Except(new[] { toRemove })); @@ -258,7 +258,7 @@ namespace NadekoBot.Modules.Searches private async Task TrackStream(ITextChannel channel, string username, FollowedStream.FollowedStreamType type) { - username = username.ToUpperInvariant().Trim(); + username = username.ToLowerInvariant().Trim(); var stream = new FollowedStream { GuildId = channel.Guild.Id, @@ -269,7 +269,7 @@ namespace NadekoBot.Modules.Searches bool exists; using (var uow = DbHandler.UnitOfWork()) { - exists = uow.GuildConfigs.For(channel.Guild.Id).FollowedStreams.Where(fs => fs.ChannelId == channel.Id && fs.Username.ToUpperInvariant().Trim() == username).Any(); + exists = uow.GuildConfigs.For(channel.Guild.Id).FollowedStreams.Where(fs => fs.ChannelId == channel.Id && fs.Username.ToLowerInvariant().Trim() == username).Any(); } if (exists) { diff --git a/src/NadekoBot/libs/libsodium.dll b/src/NadekoBot/libs/libsodium.dll new file mode 100644 index 0000000000000000000000000000000000000000..f5de830e8ca15d0944da923a23e1da39d39dfa05 GIT binary patch literal 399872 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�VjmrTRKbmxuJS~{1`$rq|GPb=9_xRdUaS{fdU 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 z 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%0A)}`3W7Ngvp`=F#vx5 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%0AiOxr0XV6GmwxbxGTOJ5H=xMID!Hb5L)zd?_ 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 literal 0 HcmV?d00001 diff --git a/src/NadekoBot/libs/opus.dll b/src/NadekoBot/libs/opus.dll new file mode 100644 index 0000000000000000000000000000000000000000..a962869fd53cc473812231b51d3edf31ecfa77d2 GIT binary patch literal 261632 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

SIxr=y^IWcH&?s)J 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 z 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 Z{iASPr4n%yE Date: Wed, 12 Oct 2016 01:34:35 +0200 Subject: [PATCH 108/135] Works for me --- .../Modules/Administration/Commands/Migration.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Commands/Migration.cs b/src/NadekoBot/Modules/Administration/Commands/Migration.cs index 66cee0b3..26a2c0af 100644 --- a/src/NadekoBot/Modules/Administration/Commands/Migration.cs +++ b/src/NadekoBot/Modules/Administration/Commands/Migration.cs @@ -37,7 +37,7 @@ namespace NadekoBot.Modules.Administration [OwnerOnly] public async Task MigrateData(IUserMessage umsg) { - var channel = (ITextChannel) umsg.Channel; + var channel = (ITextChannel)umsg.Channel; var version = 0; using (var uow = DbHandler.UnitOfWork()) @@ -88,7 +88,7 @@ namespace NadekoBot.Modules.Administration com.CommandText = "SELECT * FROM Announcement"; var reader = com.ExecuteReader(); - while(reader.Read()) + while (reader.Read()) { var gid = (ulong)reader["ServerId"]; var greet = (bool)reader["Greet"]; @@ -99,7 +99,7 @@ namespace NadekoBot.Modules.Administration var byeDM = (bool)reader["ByePM"]; var byeChannel = (ulong)reader["ByeChannelId"]; var byeMsg = (string)reader["ByeText"]; - bool grdel = (bool)reader["DeleteGreetMessages"]; + bool grdel = (bool)reader["DeleteGreetMessages"]; var byedel = grdel; var gc = uow.GuildConfigs.For(gid); @@ -118,7 +118,7 @@ namespace NadekoBot.Modules.Administration } var com2 = db.CreateCommand(); - com.CommandText = "SELECT * FROM Announcement"; + com.CommandText = "SELECT * FROM CurrencyState"; var reader2 = com.ExecuteReader(); while (reader2.Read()) @@ -130,6 +130,7 @@ namespace NadekoBot.Modules.Administration }); } db.Close(); + try { File.Move("data/nadekobot.sqlite", "data/DELETE_ME_nadekobot.sqlite"); } catch { } } private void MigrateServerSpecificConfigs0_9(IUnitOfWork uow) From cfe0d09da694d3926323ae1469fd9c6eef0426b0 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 12 Oct 2016 03:44:31 +0200 Subject: [PATCH 109/135] Migration 0.9->1.0 now works --- .../Administration/Commands/Migration.cs | 39 +++++++++++++------ 1 file changed, 28 insertions(+), 11 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Commands/Migration.cs b/src/NadekoBot/Modules/Administration/Commands/Migration.cs index 26a2c0af..41bb6fe2 100644 --- a/src/NadekoBot/Modules/Administration/Commands/Migration.cs +++ b/src/NadekoBot/Modules/Administration/Commands/Migration.cs @@ -57,8 +57,9 @@ namespace NadekoBot.Modules.Administration } await umsg.Channel.SendMessageAsync("Migration done.").ConfigureAwait(false); } - catch (MigrationException) + catch (Exception ex) { + _log.Error(ex); await umsg.Channel.SendMessageAsync(":warning: Error while migrating, check logs for more informations.").ConfigureAwait(false); } } @@ -82,6 +83,12 @@ namespace NadekoBot.Modules.Administration private void MigrateDb0_9(IUnitOfWork uow) { var db = new SqliteConnection("Data Source=data/nadekobot.sqlite"); + + if (!File.Exists("data/nadekobot.sqlite")) + { + _log.Warn("No data from the old database will be migrated."); + return; + } db.Open(); var com = db.CreateCommand(); @@ -90,16 +97,16 @@ namespace NadekoBot.Modules.Administration var reader = com.ExecuteReader(); while (reader.Read()) { - var gid = (ulong)reader["ServerId"]; - var greet = (bool)reader["Greet"]; - var greetDM = (bool)reader["GreetPM"]; - var greetChannel = (ulong)reader["GreetChannelId"]; + var gid = (ulong)(long)reader["ServerId"]; + var greet = (long)reader["Greet"] == 1; + var greetDM = (long)reader["GreetPM"] == 1; + var greetChannel = (ulong)(long)reader["GreetChannelId"]; var greetMsg = (string)reader["GreetText"]; - var bye = (bool)reader["Bye"]; - var byeDM = (bool)reader["ByePM"]; - var byeChannel = (ulong)reader["ByeChannelId"]; + var bye = (long)reader["Bye"] == 1; + var byeDM = (long)reader["ByePM"] == 1; + var byeChannel = (ulong)(long)reader["ByeChannelId"]; var byeMsg = (string)reader["ByeText"]; - bool grdel = (bool)reader["DeleteGreetMessages"]; + bool grdel = (long)reader["DeleteGreetMessages"] == 1; var byedel = grdel; var gc = uow.GuildConfigs.For(gid); @@ -126,7 +133,7 @@ namespace NadekoBot.Modules.Administration uow.Currency.Add(new Currency() { Amount = (long)reader2["Value"], - UserId = (ulong)reader2["UserId"] + UserId = (ulong)(long)reader2["UserId"] }); } db.Close(); @@ -136,6 +143,13 @@ namespace NadekoBot.Modules.Administration private void MigrateServerSpecificConfigs0_9(IUnitOfWork uow) { const string specificConfigsPath = "data/ServerSpecificConfigs.json"; + + if (!File.Exists(specificConfigsPath)) + { + _log.Warn($"No data from {specificConfigsPath} will be migrated."); + return; + } + var configs = new ConcurrentDictionary(); try { @@ -215,7 +229,10 @@ namespace NadekoBot.Modules.Administration { var PermissionsDict = new ConcurrentDictionary(); if (!Directory.Exists("data/permissions/")) - throw new MigrationException(); + { + _log.Warn("No data from permissions will be migrated."); + return; + } foreach (var file in Directory.EnumerateFiles("data/permissions/")) { try From d69a960e4533dc11ce0f7fa9fb27758be342c47f Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 12 Oct 2016 04:47:28 +0200 Subject: [PATCH 110/135] Fixes when prefix is missing --- src/NadekoBot/Attributes/NadekoModule.cs | 15 ++++++++------- src/NadekoBot/NadekoBot.cs | 5 +++-- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/NadekoBot/Attributes/NadekoModule.cs b/src/NadekoBot/Attributes/NadekoModule.cs index c685078b..8ac94523 100644 --- a/src/NadekoBot/Attributes/NadekoModule.cs +++ b/src/NadekoBot/Attributes/NadekoModule.cs @@ -30,21 +30,22 @@ namespace NadekoBot.Attributes } } - public NadekoModuleAttribute(string moduleName, string defaultPrefix) : base(GetModulePrefix(moduleName) ?? defaultPrefix) + public NadekoModuleAttribute(string moduleName, string defaultPrefix) : base(GetModulePrefix(moduleName, defaultPrefix)) { AppendSpace = false; } - private static string GetModulePrefix(string moduleName) + private static string GetModulePrefix(string moduleName, string defaultPrefix) { - string prefix; - if (ModulePrefixes.TryGetValue(moduleName, out prefix)) + string prefix = null; + if (!ModulePrefixes.TryGetValue(moduleName, out prefix)) { - return prefix; + NadekoBot.ModulePrefixes.TryAdd(moduleName, defaultPrefix); + NLog.LogManager.GetCurrentClassLogger().Warn("Prefix not found for {0}. Will use default one: {1}", moduleName, defaultPrefix); } + - NLog.LogManager.GetCurrentClassLogger().Warn("Cache not hit for {0}", moduleName); - return null; + return prefix ?? defaultPrefix; } } } diff --git a/src/NadekoBot/NadekoBot.cs b/src/NadekoBot/NadekoBot.cs index 0b8e3e7e..4b3febcd 100644 --- a/src/NadekoBot/NadekoBot.cs +++ b/src/NadekoBot/NadekoBot.cs @@ -17,6 +17,7 @@ using System.Collections.ObjectModel; using NadekoBot.Modules.Permissions; using Module = Discord.Commands.Module; using NadekoBot.TypeReaders; +using System.Collections.Concurrent; namespace NadekoBot { @@ -33,7 +34,7 @@ namespace NadekoBot public static GoogleApiService Google { get; private set; } public static StatsService Stats { get; private set; } - public static IReadOnlyDictionary ModulePrefixes { get; private set; } + public static ConcurrentDictionary ModulePrefixes { get; private set; } public async Task RunAsync(string[] args) { @@ -86,7 +87,7 @@ namespace NadekoBot //load commands and prefixes using (var uow = DbHandler.UnitOfWork()) { - ModulePrefixes = new ReadOnlyDictionary(uow.BotConfig.GetOrCreate().ModulePrefixes.ToDictionary(m => m.ModuleName, m => m.Prefix)); + ModulePrefixes = new ConcurrentDictionary(uow.BotConfig.GetOrCreate().ModulePrefixes.ToDictionary(m => m.ModuleName, m => m.Prefix)); } // start handling messages received in commandhandler await CommandHandler.StartHandling(); From a6f02249d641ac3a5e048d2dcb9f4d27d0a745c3 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 12 Oct 2016 05:06:52 +0200 Subject: [PATCH 111/135] Race animals won't be migrated --- src/NadekoBot/Modules/Administration/Commands/Migration.cs | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Commands/Migration.cs b/src/NadekoBot/Modules/Administration/Commands/Migration.cs index 41bb6fe2..992584ac 100644 --- a/src/NadekoBot/Modules/Administration/Commands/Migration.cs +++ b/src/NadekoBot/Modules/Administration/Commands/Migration.cs @@ -326,12 +326,6 @@ namespace NadekoBot.Modules.Administration oldConfig.RotatingStatuses.ForEach(i => messages.Add(new PlayingStatus { Status = i })); botConfig.RotatingStatusMessages = messages; - //races - var races = new HashSet(); - oldConfig.RaceAnimals.ForEach(i => races.Add(new RaceAnimal() { Icon = i, Name = i })); - if (races.Any()) - botConfig.RaceAnimals = races; - //Prefix botConfig.ModulePrefixes.Clear(); botConfig.ModulePrefixes.AddRange(new HashSet From 828053d299e814c02be08a6960fa64871bafb190 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 12 Oct 2016 05:22:14 +0200 Subject: [PATCH 112/135] Some much needed logs and fixes --- src/NadekoBot/NadekoBot.cs | 2 +- src/NadekoBot/ShardedDiscordClient.cs | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/NadekoBot/NadekoBot.cs b/src/NadekoBot/NadekoBot.cs index 4b3febcd..ed935011 100644 --- a/src/NadekoBot/NadekoBot.cs +++ b/src/NadekoBot/NadekoBot.cs @@ -53,7 +53,7 @@ namespace NadekoBot MessageCacheSize = 10, LogLevel = LogSeverity.Warning, TotalShards = Credentials.TotalShards, - ConnectionTimeout = 60000 + ConnectionTimeout = int.MaxValue }); //initialize Services diff --git a/src/NadekoBot/ShardedDiscordClient.cs b/src/NadekoBot/ShardedDiscordClient.cs index 6e454a4e..30bc3139 100644 --- a/src/NadekoBot/ShardedDiscordClient.cs +++ b/src/NadekoBot/ShardedDiscordClient.cs @@ -8,12 +8,14 @@ using System.Threading.Tasks; using Discord.API; using Discord.Logging; using System.IO; +using NLog; namespace NadekoBot { public class ShardedDiscordClient { private DiscordSocketConfig discordSocketConfig; + private Logger _log { get; } public Func UserJoined { get; internal set; } = delegate { return Task.CompletedTask; }; public Func MessageReceived { get; internal set; } = delegate { return Task.CompletedTask; }; @@ -34,6 +36,7 @@ namespace NadekoBot public ShardedDiscordClient (DiscordSocketConfig discordSocketConfig) { + _log = LogManager.GetCurrentClassLogger(); this.discordSocketConfig = discordSocketConfig; var clientList = new List(); @@ -54,6 +57,8 @@ namespace NadekoBot client.ChannelCreated += async arg => await ChannelCreated(arg); client.ChannelDestroyed += async arg => await ChannelDestroyed(arg); client.ChannelUpdated += async (arg1, arg2) => await ChannelUpdated(arg1, arg2); + + _log.Info($"Shard #{i} initialized."); } Clients = clientList.AsReadOnly(); @@ -72,12 +77,12 @@ namespace NadekoBot Clients.Select(async c => await c.GetDMChannelAsync(channelId).ConfigureAwait(false)).FirstOrDefault(c => c != null); internal Task LoginAsync(TokenType tokenType, string token) => - Task.WhenAll(Clients.Select(c => c.LoginAsync(tokenType, token))); + Task.WhenAll(Clients.Select(async c => { await c.LoginAsync(tokenType, token); _log.Info($"Shard #{c.ShardId} logged in."); })); internal Task ConnectAsync() => - Task.WhenAll(Clients.Select(c => c.ConnectAsync())); + Task.WhenAll(Clients.Select(async c => { await c.ConnectAsync(); _log.Info($"Shard #{c.ShardId} connected."); })); internal Task DownloadAllUsersAsync() => - Task.WhenAll(Clients.Select(c => c.DownloadAllUsersAsync())); + Task.WhenAll(Clients.Select(async c => { await c.DownloadAllUsersAsync(); _log.Info($"Shard #{c.ShardId} downloaded {c.GetGuilds().Sum(g => g.GetUsers().Count)} users."); })); } } From dfeb1223fa3a9393f674df99312c6dc67abc3623 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 12 Oct 2016 05:49:00 +0200 Subject: [PATCH 113/135] Command handler logging --- src/NadekoBot/Services/CommandHandler.cs | 184 +++++++++++------------ 1 file changed, 90 insertions(+), 94 deletions(-) diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index 4516bb90..cffed5e9 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -68,6 +68,7 @@ namespace NadekoBot.Services private async Task MessageReceivedHandler(IMessage msg) { + _log.Info("Message received."); var usrMsg = msg as IUserMessage; if (usrMsg == null) return; @@ -96,7 +97,6 @@ namespace NadekoBot.Services } } - var filteredWords = Permissions.FilterCommands.FilteredWordsForChannel(usrMsg.Channel.Id, guild.Id).Concat(Permissions.FilterCommands.FilteredWordsForServer(guild.Id)); var wordsInMessage = usrMsg.Content.ToLowerInvariant().Split(' '); if (filteredWords.Any(w => wordsInMessage.Contains(w))) @@ -123,103 +123,85 @@ namespace NadekoBot.Services } - - try + _log.Info("Done checks."); + var throwaway = Task.Run(async () => { - bool verbose = false; - Permission rootPerm = null; - string permRole = ""; - if (guild != null) + var sw = new Stopwatch(); + sw.Start(); + + try { - using (var uow = DbHandler.UnitOfWork()) + var t = await ExecuteCommand(usrMsg, usrMsg.Content, guild, usrMsg.Author, MultiMatchHandling.Best); + var command = t.Item1; + var verbose = t.Item2; + var result = t.Item3; + sw.Stop(); + var channel = (usrMsg.Channel as ITextChannel); + if (result.IsSuccess) { - var config = uow.GuildConfigs.PermissionsFor(guild.Id); - verbose = config.VerbosePermissions; - rootPerm = config.RootPermission; - permRole = config.PermissionRole.Trim().ToLowerInvariant(); + CommandExecuted(this, new CommandExecutedEventArgs(usrMsg, command)); + _log.Info("Command Executed after {4}s\n\t" + + "User: {0}\n\t" + + "Server: {1}\n\t" + + "Channel: {2}\n\t" + + "Message: {3}", + usrMsg.Author + " [" + usrMsg.Author.Id + "]", // {0} + (channel == null ? "PRIVATE" : channel.Guild.Name + " [" + channel.Guild.Id + "]"), // {1} + (channel == null ? "PRIVATE" : channel.Name + " [" + channel.Id + "]"), // {2} + usrMsg.Content, // {3} + sw.Elapsed.TotalSeconds // {4} + ); } + else if (!result.IsSuccess && result.Error != CommandError.UnknownCommand) + { + _log.Warn("Command Errored after {5}s\n\t" + + "User: {0}\n\t" + + "Server: {1}\n\t" + + "Channel: {2}\n\t" + + "Message: {3}\n\t" + + "Error: {4}", + usrMsg.Author + " [" + usrMsg.Author.Id + "]", // {0} + (channel == null ? "PRIVATE" : channel.Guild.Name + " [" + channel.Guild.Id + "]"), // {1} + (channel == null ? "PRIVATE" : channel.Name + " [" + channel.Id + "]"), // {2} + usrMsg.Content,// {3} + result.ErrorReason, // {4} + sw.Elapsed.TotalSeconds // {5} + ); + if (guild != null && command != null && result.Error == CommandError.Exception) + { + if (verbose) + try { await msg.Channel.SendMessageAsync(":warning: " + result.ErrorReason).ConfigureAwait(false); } catch { } + } + } + else + { + if (msg.Channel is IPrivateChannel) + { + await msg.Channel.SendMessageAsync(Help.DMHelpString).ConfigureAwait(false); - + await DMForwardCommands.HandleDMForwarding(msg, ownerChannels); + } + } } - - var throwaway = Task.Run(async () => + catch (Exception ex) { - var sw = new Stopwatch(); - sw.Start(); - - try - { - var t = await ExecuteCommand(usrMsg, usrMsg.Content, guild, usrMsg.Author, rootPerm, permRole, MultiMatchHandling.Best); - var command = t.Item1; - var result = t.Item2; - sw.Stop(); - var channel = (usrMsg.Channel as ITextChannel); - if (result.IsSuccess) - { - CommandExecuted(this, new CommandExecutedEventArgs(usrMsg, command)); - _log.Info("Command Executed after {4}s\n\t" + - "User: {0}\n\t" + - "Server: {1}\n\t" + - "Channel: {2}\n\t" + - "Message: {3}", - usrMsg.Author + " [" + usrMsg.Author.Id + "]", // {0} - (channel == null ? "PRIVATE" : channel.Guild.Name + " [" + channel.Guild.Id + "]"), // {1} - (channel == null ? "PRIVATE" : channel.Name + " [" + channel.Id + "]"), // {2} - usrMsg.Content, // {3} - sw.Elapsed.TotalSeconds // {4} - ); - } - else if (!result.IsSuccess && result.Error != CommandError.UnknownCommand) - { - _log.Warn("Command Errored after {5}s\n\t" + - "User: {0}\n\t" + - "Server: {1}\n\t" + - "Channel: {2}\n\t" + - "Message: {3}\n\t" + - "Error: {4}", - usrMsg.Author + " [" + usrMsg.Author.Id + "]", // {0} - (channel == null ? "PRIVATE" : channel.Guild.Name + " [" + channel.Guild.Id + "]"), // {1} - (channel == null ? "PRIVATE" : channel.Name + " [" + channel.Id + "]"), // {2} - usrMsg.Content,// {3} - result.ErrorReason, // {4} - sw.Elapsed.TotalSeconds // {5} - ); - if (guild != null && command != null && result.Error == CommandError.Exception) - { - if (verbose) - try { await msg.Channel.SendMessageAsync(":warning: " + result.ErrorReason).ConfigureAwait(false); } catch { } - } - } - else - { - if (msg.Channel is IPrivateChannel) - { - await msg.Channel.SendMessageAsync(Help.DMHelpString).ConfigureAwait(false); - - await DMForwardCommands.HandleDMForwarding(msg, ownerChannels); - } - } - } - catch (Exception ex) - { - _log.Warn(ex, "Error in CommandHandler"); - if (ex.InnerException != null) - _log.Warn(ex.InnerException, "Inner Exception of the error in CommandHandler"); - } - }); - } - catch (Exception ex) - { - _log.Error(ex, "Error in the outter scope of the commandhandler."); - if (ex.InnerException != null) - _log.Error(ex.InnerException, "Inner exception: "); - } + _log.Warn(ex, "Error in CommandHandler"); + if (ex.InnerException != null) + _log.Warn(ex.InnerException, "Inner Exception of the error in CommandHandler"); + } + finally + { + _log.Info("Command handling done."); + } + }); + _log.Info("Command handling started."); + return; } - public async Task> ExecuteCommand(IUserMessage message, string input, IGuild guild, IUser user, Permission rootPerm, string permRole, MultiMatchHandling multiMatchHandling = MultiMatchHandling.Best) { + public async Task> ExecuteCommand(IUserMessage message, string input, IGuild guild, IUser user, MultiMatchHandling multiMatchHandling = MultiMatchHandling.Best) { var searchResult = _commandService.Search(message, input); if (!searchResult.IsSuccess) - return new Tuple(null, searchResult); + return new Tuple(null, false, searchResult); var commands = searchResult.Commands; for (int i = commands.Count - 1; i >= 0; i--) @@ -228,7 +210,7 @@ namespace NadekoBot.Services if (!preconditionResult.IsSuccess) { if (commands.Count == 1) - return new Tuple(null, searchResult); + return new Tuple(null, false, searchResult); else continue; } @@ -252,11 +234,25 @@ namespace NadekoBot.Services if (!parseResult.IsSuccess) { if (commands.Count == 1) - return new Tuple(null, parseResult); + return new Tuple(null, false, parseResult); else continue; } } + bool verbose = false; + Permission rootPerm = null; + string permRole = ""; + if (guild != null) + { + using (var uow = DbHandler.UnitOfWork()) + { + var config = uow.GuildConfigs.PermissionsFor(guild.Id); + verbose = config.VerbosePermissions; + rootPerm = config.RootPermission; + permRole = config.PermissionRole.Trim().ToLowerInvariant(); + } + } + _log.Info("Permissions retrieved"); var cmd = commands[i]; //check permissions if (guild != null) @@ -265,7 +261,7 @@ namespace NadekoBot.Services if (!rootPerm.AsEnumerable().CheckPermissions(message, cmd.Text, cmd.Module.Name, out index)) { var returnMsg = $"Permission number #{index + 1} **{rootPerm.GetAt(index).GetCommand()}** is preventing this action."; - return new Tuple(cmd, SearchResult.FromError(CommandError.Exception, returnMsg)); + return new Tuple(cmd, verbose, SearchResult.FromError(CommandError.Exception, returnMsg)); } @@ -273,19 +269,19 @@ namespace NadekoBot.Services { if (!((IGuildUser)user).Roles.Any(r => r.Name.Trim().ToLowerInvariant() == permRole)) { - return new Tuple(cmd, SearchResult.FromError(CommandError.Exception, $"You need the **{permRole}** role in order to use permission commands.")); + return new Tuple(cmd, false, SearchResult.FromError(CommandError.Exception, $"You need the **{permRole}** role in order to use permission commands.")); } } } if (CmdCdsCommands.HasCooldown(cmd, guild, user)) - return new Tuple(cmd, SearchResult.FromError(CommandError.Exception, $"That command is on cooldown for you.")); + return new Tuple(cmd, false, SearchResult.FromError(CommandError.Exception, $"That command is on cooldown for you.")); - return new Tuple(commands[i], await commands[i].Execute(message, parseResult)); + return new Tuple(commands[i], false, await commands[i].Execute(message, parseResult)); } - return new Tuple(null, SearchResult.FromError(CommandError.UnknownCommand, "This input does not match any overload.")); + return new Tuple(null, false, SearchResult.FromError(CommandError.UnknownCommand, "This input does not match any overload.")); } } From 4be988df1a0be8fa983d2ce3996b5a96b2b7974b Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 12 Oct 2016 05:58:07 +0200 Subject: [PATCH 114/135] Ok that was too heavy and unnecessary --- src/NadekoBot/Services/CommandHandler.cs | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index cffed5e9..9666eb56 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -68,7 +68,6 @@ namespace NadekoBot.Services private async Task MessageReceivedHandler(IMessage msg) { - _log.Info("Message received."); var usrMsg = msg as IUserMessage; if (usrMsg == null) return; @@ -121,9 +120,6 @@ namespace NadekoBot.Services return; } } - - - _log.Info("Done checks."); var throwaway = Task.Run(async () => { var sw = new Stopwatch(); @@ -189,12 +185,7 @@ namespace NadekoBot.Services if (ex.InnerException != null) _log.Warn(ex.InnerException, "Inner Exception of the error in CommandHandler"); } - finally - { - _log.Info("Command handling done."); - } }); - _log.Info("Command handling started."); return; } From 38911fa409be660c6cf4137a570d7e6d920fd59c Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 12 Oct 2016 06:29:15 +0200 Subject: [PATCH 115/135] Specifying globalNadeko as a configuration during build will not load music --- NadekoBot.sln | 9 +++++++++ src/NadekoBot/Modules/Music/Music.cs | 2 +- src/NadekoBot/NadekoBot.cs | 5 ++++- src/NadekoBot/project.json | 10 ++++++++-- src/tests/project.json | 3 +++ 5 files changed, 25 insertions(+), 4 deletions(-) diff --git a/NadekoBot.sln b/NadekoBot.sln index aba14bf4..e844576d 100644 --- a/NadekoBot.sln +++ b/NadekoBot.sln @@ -21,23 +21,32 @@ EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU + GlobalNadeko|Any CPU = GlobalNadeko|Any CPU Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {45EC1473-C678-4857-A544-07DFE0D0B478}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {45EC1473-C678-4857-A544-07DFE0D0B478}.Debug|Any CPU.Build.0 = Debug|Any CPU + {45EC1473-C678-4857-A544-07DFE0D0B478}.GlobalNadeko|Any CPU.ActiveCfg = GlobalNadeko|Any CPU + {45EC1473-C678-4857-A544-07DFE0D0B478}.GlobalNadeko|Any CPU.Build.0 = GlobalNadeko|Any CPU {45EC1473-C678-4857-A544-07DFE0D0B478}.Release|Any CPU.ActiveCfg = Release|Any CPU {45EC1473-C678-4857-A544-07DFE0D0B478}.Release|Any CPU.Build.0 = Release|Any CPU {91E9E7BD-75C9-4E98-84AA-2C271922E5C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {91E9E7BD-75C9-4E98-84AA-2C271922E5C2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {91E9E7BD-75C9-4E98-84AA-2C271922E5C2}.GlobalNadeko|Any CPU.ActiveCfg = GlobalNadeko|Any CPU + {91E9E7BD-75C9-4E98-84AA-2C271922E5C2}.GlobalNadeko|Any CPU.Build.0 = GlobalNadeko|Any CPU {91E9E7BD-75C9-4E98-84AA-2C271922E5C2}.Release|Any CPU.ActiveCfg = Release|Any CPU {91E9E7BD-75C9-4E98-84AA-2C271922E5C2}.Release|Any CPU.Build.0 = Release|Any CPU {078DD7E6-943D-4D09-AFC2-D2BA58B76C9C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {078DD7E6-943D-4D09-AFC2-D2BA58B76C9C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {078DD7E6-943D-4D09-AFC2-D2BA58B76C9C}.GlobalNadeko|Any CPU.ActiveCfg = GlobalNadeko|Any CPU + {078DD7E6-943D-4D09-AFC2-D2BA58B76C9C}.GlobalNadeko|Any CPU.Build.0 = GlobalNadeko|Any CPU {078DD7E6-943D-4D09-AFC2-D2BA58B76C9C}.Release|Any CPU.ActiveCfg = Release|Any CPU {078DD7E6-943D-4D09-AFC2-D2BA58B76C9C}.Release|Any CPU.Build.0 = Release|Any CPU {14CBADA0-971C-44E3-B331-C7D01DD74F0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {14CBADA0-971C-44E3-B331-C7D01DD74F0B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {14CBADA0-971C-44E3-B331-C7D01DD74F0B}.GlobalNadeko|Any CPU.ActiveCfg = GlobalNadeko|Any CPU + {14CBADA0-971C-44E3-B331-C7D01DD74F0B}.GlobalNadeko|Any CPU.Build.0 = GlobalNadeko|Any CPU {14CBADA0-971C-44E3-B331-C7D01DD74F0B}.Release|Any CPU.ActiveCfg = Release|Any CPU {14CBADA0-971C-44E3-B331-C7D01DD74F0B}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection diff --git a/src/NadekoBot/Modules/Music/Music.cs b/src/NadekoBot/Modules/Music/Music.cs index aabe19cf..3e45fd48 100644 --- a/src/NadekoBot/Modules/Music/Music.cs +++ b/src/NadekoBot/Modules/Music/Music.cs @@ -18,7 +18,7 @@ using NadekoBot.Services.Database.Models; namespace NadekoBot.Modules.Music { - [NadekoModule("Music", "!!")] + [NadekoModule("Music", "!!", AutoLoad = false)] public partial class Music : DiscordModule { public static ConcurrentDictionary MusicPlayers = new ConcurrentDictionary(); diff --git a/src/NadekoBot/NadekoBot.cs b/src/NadekoBot/NadekoBot.cs index ed935011..584f7cbc 100644 --- a/src/NadekoBot/NadekoBot.cs +++ b/src/NadekoBot/NadekoBot.cs @@ -18,6 +18,7 @@ using NadekoBot.Modules.Permissions; using Module = Discord.Commands.Module; using NadekoBot.TypeReaders; using System.Collections.Concurrent; +using NadekoBot.Modules.Music; namespace NadekoBot { @@ -93,7 +94,9 @@ namespace NadekoBot await CommandHandler.StartHandling(); await CommandService.LoadAssembly(Assembly.GetEntryAssembly(), depMap).ConfigureAwait(false); - +#if !GLOBAL_NADEKO + await CommandService.Load(new Music(Localizer, CommandService, Client, Google)).ConfigureAwait(false); +#endif Console.WriteLine(await Stats.Print().ConfigureAwait(false)); await Task.Delay(-1); diff --git a/src/NadekoBot/project.json b/src/NadekoBot/project.json index bf7a5c54..d7b2273a 100644 --- a/src/NadekoBot/project.json +++ b/src/NadekoBot/project.json @@ -10,12 +10,13 @@ "exclude": [ ], }, "copyToOutput": { - "include": [ "data" , "libs"], + "include": [ "data", "libs" ], "exclude": [ "data/musicdata" ], "mappings": { "./": "./libs" } - } + }, + "define": [] }, "dependencies": { "Microsoft.NETCore.App": { @@ -51,5 +52,10 @@ "portable-net45+win8+wpa81" ] } + }, + "configurations": { + "GlobalNadeko": { + "buildOptions": {"define": ["GLOBAL_NADEKO"]} + } } } diff --git a/src/tests/project.json b/src/tests/project.json index 4408273b..252ce594 100644 --- a/src/tests/project.json +++ b/src/tests/project.json @@ -23,5 +23,8 @@ "portable-net451+win8" ] } + }, + "configurations": { + "GlobalNadeko": {} } } From 557450fefaabecb5775e32945de274fc7e46c14a Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 12 Oct 2016 06:31:59 +0200 Subject: [PATCH 116/135] Greet messages will now correctly show if no parameter is supplied --- .../Modules/Administration/Commands/ServerGreetCommands.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs index 0d5561a0..6409e4c0 100644 --- a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs @@ -163,7 +163,7 @@ namespace NadekoBot.Modules.Administration [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] - public async Task GreetMsg(IUserMessage umsg, [Remainder] string text) + public async Task GreetMsg(IUserMessage umsg, [Remainder] string text = null) { var channel = (ITextChannel)umsg.Channel; @@ -214,7 +214,7 @@ namespace NadekoBot.Modules.Administration [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] - public async Task GreetDmMsg(IUserMessage umsg, [Remainder] string text) + public async Task GreetDmMsg(IUserMessage umsg, [Remainder] string text = null) { var channel = (ITextChannel)umsg.Channel; @@ -266,7 +266,7 @@ namespace NadekoBot.Modules.Administration [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] - public async Task ByeMsg(IUserMessage umsg, [Remainder] string text) + public async Task ByeMsg(IUserMessage umsg, [Remainder] string text = null) { var channel = (ITextChannel)umsg.Channel; From deda1b1abfab09eb230e8d0667f38ee76bbd1972 Mon Sep 17 00:00:00 2001 From: Jordan Fearnley Date: Wed, 12 Oct 2016 09:12:28 +0100 Subject: [PATCH 117/135] Windows Guide updated for 1.0 `ZipContainingAllTheInstallerFiles` is of course, a placeholder untill I can get an actual filename for this --- docs/guides/Windows Guide.md | 91 +++++++++++++++++------------------- 1 file changed, 44 insertions(+), 47 deletions(-) diff --git a/docs/guides/Windows Guide.md b/docs/guides/Windows Guide.md index 5d1a680d..91b7aad6 100644 --- a/docs/guides/Windows Guide.md +++ b/docs/guides/Windows Guide.md @@ -5,72 +5,68 @@ ________________________________________________________________________________ ### Setting Up NadekoBot on Windows #### Prerequisites - 1) [NET Framework][NET Framework] 4.5.2 (or 4.6) -- 2) [FFMPEG][FFMPEG] -- 3) Google Account -- 4) Soundcloud Account (if you want soundcloud support) -- 5) [7zip][7zip] (or whatever you are using, WinRar) -- 6) [Notepad++][Notepad++] +- 2) [.NET core SDK][.NET SDK] +- 3) [Git][Git] +- 4) [FFMPEG][FFMPEG] +- 5) Google Account +- 6) Soundcloud Account (if you want soundcloud support) +- 7) [7zip][7zip] (or whatever you are using, WinRar) +- 8) [Notepad++][Notepad++] ####Guide - -- Create a folder, name it `Nadeko`. -- Head to [Updater Releases Page][Updater] and download `WINDOWS.-.nadeupdater.7z`. -- Copy `WINDOWS.-.nadeupdater.7z` to the `Nadeko` (folder we created before) and extract everything. -- You will see a file `NadekoUpdater.bat ` and a folder `publish ` after extraction. -- Run/Launch/Open the file `NadekoUpdater.bat ` and you will see it running in cmd.exe asking you with **3 options** *1-3*. - - 1) Stable release - current stable release, but might not contain all the newest Nadeko updates. - - 2) Newest release - release with all features/upgrades. - - 3) Exit -- Press `2` on your keyboard and hit `Enter`. Type `y` and hit `Enter` again. Downloading might take a while, so just be patient and wait. When download is done, press `3` on your keyboard and close the updater. -- You should have a new folder named `NadekoBot` inside the `Nadeko` folder we previously created. +- Make sure you have installed both [Git][Git] and the [.NET core sdk][.NET SDK] +- Create a folder somewhere and name it `Nadeko`. +- Head to the [NadekoBot Releases Page][Releases] and download `ZipContainingAllTheInstallerFiles`. +- Copy `ZipContainingAllTheInstallerFiles` to the `Nadeko` folder that we created earlier, and extract everything. +- You will see a few files, most importantly, `NadekoInstaller.bat ` after extraction (You may not see the `.bat` part of the filename). +- Run/Launch/Open `NadekoInstaller.bat ` and you will see it running in the command prompt. +- Wait a while for the file to finish installing, it'll say when it's done in the command prompt. +- You should now have a new folder named `NadekoBot` inside the `Nadeko` folder we previously created. +- Run the `NadekoRun.bat` file and wait for windows to tell you dotnet has crashed, then choose to close +- If it still exists, you can safely delete the `NadekoInstall_Temp` folder. ####Creating DiscordBot application -- Go to [DiscordApp][DiscordApp]. +- Go to [the Discord developer application page][DiscordApp]. - Log in with your Discord account. - On the left side, press `New Application`. - Fill out the `App Name` (your bot's name, in this case), put the image you want, and add an app description(optional). - Create the application. -- Once the application is created, click on `Create a Bot User` and confirm it. +- Click on `Create a Bot User` and confirm that you do want to add a bot to this app. - Keep this window open for now. ####Setting up Credentials.json file -- In our `NadekoBot` folder you should have `.json` file named `credentials_example.json`. (Note: If you do not see a **.json** after `credentials_example.json `, do not add the `**.json**`. You most likely have `"Hide file extensions"` enabled.) +- In our `NadekoBot` folder you should have another `NadekoBot` folder, then a `src` folder, then *another* `NadekoBot` folder, in this final folder, you should see a `.json` file named `credentials_example.json`. (Note: If you do not see a **.json** after `credentials_example.json `, do not add the `**.json**`. You most likely have `"Hide file extensions"` enabled.) - Rename `credentials_example.json` to `credentials.json`. -- Open the file with your [Notepad++][Notepad++]. -- In there you will see fields like `Token`, `ClientId`, `BotId`, `OwnerIDs`. -- In your [DiscordApp][DiscordApp], under `Bot User` part, you will see the `Token:click to reveal` part, click to reveal it. -- Copy your bot's token, and put it between `" "` in your `credentials.json` file. -- Copy `Client ID` and replace it with the example one in your `credentials.json` in `Client ID` **and** `BotID` field. -- Save your `credentials.json` but keep it open. We need to put your `User ID` and owner. +- Open the file with [Notepad++][Notepad++]. +- In there you will see fields such as `Token`, `ClientId`, `BotId` and `OwnerIDs`. +- In your [applications page][DiscordApp] (the window you were asked to keep open earlier), under the `Bot User` section, you will see `Token:click to reveal`, click to reveal the token. +- Copy your bot's token, and on the `"Token"` line of your `credentials.json`, replace `null` with your bot token and put quotation marks before and after the token, like so `"Example.Token"` +- Copy the `Client ID` on the page and replace the null part of the `ClientId` line with it, and put quotation marks before and after, like earlier. +- Again, copy the same `Client ID` and replace the null part of the `BotId` line with it, and do **not** put quotation marks before and after the ID. +- Save your `credentials.json` but keep it open. We need to add your `User ID` as one of the `OwnerIds` shortly. ####Inviting your bot to your server - [Invite Guide][Invite Guide] - Create a new server in Discord. -- Copy your `Client ID` from your [DiscordApp][DiscordApp]. -- Replace `12345678` in this link `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with your `Client ID`. -- Link should look like this: `https://discordapp.com/oauth2/authorize?client_id=**YOUR_CLENT_ID**&scope=bot&permissions=66186303`. -- Go to newly created link and pick the server we created, and click `Authorize`. -- Bot should be added to your server. +- Copy your `Client ID` from your [applications page][DiscordApp]. +- Replace the `12345678` in this link `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with your `Client ID`. +- The link should now look like this: `https://discordapp.com/oauth2/authorize?client_id=**YOUR_CLENT_ID**&scope=bot&permissions=66186303`. +- Go to the newly created link and pick the server we created, and click `Authorize`. +- The bot should have been added to your new server. ####Starting the bot -- Enter your `NadekoBot` folder that should be (hopefully) in your `Nadeko` folder. -- Run `NadekoBot.exe` (Note: There is `NadekoBot.exe` and `NadekoBot.exe.config`, dont run the second one) +- Go to the folder which you extracted the zip to earlier, and run the `NadekoRun.bat` file - Your bot should now be online in the server we added him to. -- Note: Your bot will be offline in case you close `NadekoBot.exe`. +- Note: Your bot will be offline in case you close the `NadekoBot` command prompt window. ####Setting up OwnerIds - In the server where your bot is, in a text channel, type `.uid` - Your `User ID` should show, copy it. - Close `NadekoBot.exe` -- Replace your `User ID` in the `credentials.json` between `[ ]` and save the changes. -- Run `NadekoBot.exe` again. -- Now you are the bot owner. -- You can add `User IDs` from the other users by separating IDs with a comma if you want to have more owners. - -`*Alternatively, you can download nadekobot from` [Releases][Releases] `and extract the zip yourself. -That is what updater does, except it makes it easier for you to update because it doesn't overwrite -important files.If you are downloading releases you will have to be careful about your config, -credentials, and other files you edited in order to preserve your data every time you update.` +- Replace the `null` section on the `OwnerIds` line with your user ID shown earlier and put a square bracket around each end of the ID like so, `[105635576866156544]` +- Run `NadekoRun.bat` again. +- If done correctly, you are now the bot owner. +- You can add multiple owner IDs by seperating them with a comma within the square brackets. ________________________________________________________________________________ @@ -86,13 +82,13 @@ ________________________________________________________________________________ - On the left tab, access `Credentials`. Click `Create Credentials` button. Click on `API Key`. A new window will appear with your `Google API key`. - Copy the key. - Open up `credentials.json`. - - For `"GoogleAPIKey"`, fill in with the new key we copied. + - For `"GoogleAPIKey"`, replace `null` with the new key we copied and put quotation marks before and after the API key, like how the `Token` and `ClientId` should be set up. - Follow these steps on how to setup Soundcloud API key: - Go to [Soundcloud][Soundcloud]. - Enter a name for the app and create it. - - You will see a page with the title of your app, and a field labeled `Client ID`. Copy the ID. - - In `credentials.json`, fill in `"SoundcloudClientID"` with the copied ID. -- Restart your computer. + - You will need to fill out an application form to request access to the Soundcloud API. + - All requests for an API key must go through the review process, where applications will be reviewed on a case by case basis, in line with Soundcloud API Terms of Use. If your application is successful, you will receive an API key. +- **Restart your computer**. ####Manual `ffmpeg` setup **Do this step in case you were not able to install `ffmpeg` with the installer.** @@ -106,9 +102,10 @@ ________________________________________________________________________________ - Restart your computer. [NET Framework]: https://www.microsoft.com/en-us/download/details.aspx?id=48130 +[.NET SDK]: https://www.microsoft.com/net/core#windows +[Git]: https://git-scm.com/download/win [FFMPEG]: https://github.com/Soundofdarkness/FFMPEG-Installer [7zip]: http://www.7-zip.org/download.html -[Updater]: https://github.com/Kwoth/NadekoUpdater/releases [Releases]: https://github.com/Kwoth/NadekoBot/releases [DiscordApp]: https://discordapp.com/developers/applications/me [Notepad++]: https://notepad-plus-plus.org/ From 4954d44b5ac23d150d10fb270076e9bd17ce24d1 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 12 Oct 2016 17:35:27 +0200 Subject: [PATCH 118/135] some small fixes --- .../Administration/Commands/Migration.cs | 203 ++++++++++-------- .../Utility/Commands/UnitConversion.cs | 2 +- src/NadekoBot/NadekoBot.xproj | 3 + .../Impl/GuildConfigRepository.cs | 21 +- src/NadekoBot/_Extensions/Extensions.cs | 9 + src/NadekoBot/{ => data}/units.json | 0 src/NadekoBot/project.json | 2 +- 7 files changed, 138 insertions(+), 102 deletions(-) rename src/NadekoBot/{ => data}/units.json (100%) diff --git a/src/NadekoBot/Modules/Administration/Commands/Migration.cs b/src/NadekoBot/Modules/Administration/Commands/Migration.cs index 992584ac..598d36ac 100644 --- a/src/NadekoBot/Modules/Administration/Commands/Migration.cs +++ b/src/NadekoBot/Modules/Administration/Commands/Migration.cs @@ -51,7 +51,7 @@ namespace NadekoBot.Modules.Administration switch (i) { case 0: - await Migrate0_9To1_0(); + Migrate0_9To1_0(); break; } } @@ -64,19 +64,20 @@ namespace NadekoBot.Modules.Administration } } - private async Task Migrate0_9To1_0() + private void Migrate0_9To1_0() { using (var uow = DbHandler.UnitOfWork()) { var botConfig = uow.BotConfig.GetOrCreate(); MigrateConfig0_9(uow, botConfig); - MigratePermissions0_9(uow); + //MigratePermissions0_9(uow); MigrateServerSpecificConfigs0_9(uow); - MigrateDb0_9(uow); + //MigrateDb0_9(uow); //NOW save it botConfig.MigrationVersion = 1; - await uow.CompleteAsync().ConfigureAwait(false); + _log.Warn("Writing to disc"); + uow.Complete(); } } @@ -95,6 +96,7 @@ namespace NadekoBot.Modules.Administration com.CommandText = "SELECT * FROM Announcement"; var reader = com.ExecuteReader(); + var i = 0; while (reader.Read()) { var gid = (ulong)(long)reader["ServerId"]; @@ -106,7 +108,7 @@ namespace NadekoBot.Modules.Administration var byeDM = (long)reader["ByePM"] == 1; var byeChannel = (ulong)(long)reader["ByeChannelId"]; var byeMsg = (string)reader["ByeText"]; - bool grdel = (long)reader["DeleteGreetMessages"] == 1; + var grdel = false; var byedel = grdel; var gc = uow.GuildConfigs.For(gid); @@ -122,14 +124,17 @@ namespace NadekoBot.Modules.Administration gc.ChannelByeMessageText = byeMsg; gc.AutoDeleteByeMessages = gc.AutoDeleteGreetMessages = grdel; + _log.Info(++i); } var com2 = db.CreateCommand(); com.CommandText = "SELECT * FROM CurrencyState"; + i = 0; var reader2 = com.ExecuteReader(); while (reader2.Read()) { + _log.Info(++i); uow.Currency.Add(new Currency() { Amount = (long)reader2["Value"], @@ -171,57 +176,68 @@ namespace NadekoBot.Modules.Administration _log.Warn(ex, "ServerSpecificConfig deserialization failed"); return; } - - foreach (var config in configs) - { - var guildId = config.Key; - var data = config.Value; - - var guildConfig = uow.GuildConfigs.For(guildId); - - guildConfig.AutoAssignRoleId = data.AutoAssignedRole; - guildConfig.DeleteMessageOnCommand = data.AutoDeleteMessagesOnCommand; - guildConfig.DefaultMusicVolume = data.DefaultMusicVolume; - guildConfig.ExclusiveSelfAssignedRoles = data.ExclusiveSelfAssignedRoles; - guildConfig.GenerateCurrencyChannelIds = new HashSet(data.GenerateCurrencyChannels.Select(gc => new GCChannelId() { ChannelId = gc.Key })); - uow.SelfAssignedRoles.AddRange(data.ListOfSelfAssignableRoles.Select(r => new SelfAssignedRole() { GuildId = guildId, RoleId = r }).ToArray()); - var logSetting = guildConfig.LogSetting; - guildConfig.LogSetting.IsLogging = data.LogChannel != null; - guildConfig.LogSetting.ChannelId = data.LogChannel ?? 0; - guildConfig.LogSetting.IgnoredChannels = new HashSet(data.LogserverIgnoreChannels.Select(id => new IgnoredLogChannel() { ChannelId = id })); - - guildConfig.LogSetting.LogUserPresence = data.LogPresenceChannel != null; - guildConfig.LogSetting.UserPresenceChannelId = data.LogPresenceChannel ?? 0; - - - guildConfig.FollowedStreams = new HashSet(data.ObservingStreams.Select(x => + var i = 0; + var selfAssRoles = new ConcurrentHashSet(); + configs + .Select(p => new { data = p.Value, gconfig = uow.GuildConfigs.For(p.Key) }) + .AsParallel() + .ForAll(config => { - FollowedStream.FollowedStreamType type = FollowedStream.FollowedStreamType.Twitch; - switch (x.Type) + try { - case StreamNotificationConfig0_9.StreamType.Twitch: - type = FollowedStream.FollowedStreamType.Twitch; - break; - case StreamNotificationConfig0_9.StreamType.Beam: - type = FollowedStream.FollowedStreamType.Beam; - break; - case StreamNotificationConfig0_9.StreamType.Hitbox: - type = FollowedStream.FollowedStreamType.Hitbox; - break; - default: - break; - } + var guildConfig = config.gconfig; + var data = config.data; - return new FollowedStream() + guildConfig.AutoAssignRoleId = data.AutoAssignedRole; + guildConfig.DeleteMessageOnCommand = data.AutoDeleteMessagesOnCommand; + guildConfig.DefaultMusicVolume = data.DefaultMusicVolume; + guildConfig.ExclusiveSelfAssignedRoles = data.ExclusiveSelfAssignedRoles; + guildConfig.GenerateCurrencyChannelIds = new HashSet(data.GenerateCurrencyChannels.Select(gc => new GCChannelId() { ChannelId = gc.Key })); + selfAssRoles.AddRange(data.ListOfSelfAssignableRoles.Select(r => new SelfAssignedRole() { GuildId = guildConfig.GuildId, RoleId = r }).ToArray()); + var logSetting = guildConfig.LogSetting; + guildConfig.LogSetting.IsLogging = data.LogChannel != null; + guildConfig.LogSetting.ChannelId = data.LogChannel ?? 0; + guildConfig.LogSetting.IgnoredChannels = new HashSet(data.LogserverIgnoreChannels.Select(id => new IgnoredLogChannel() { ChannelId = id })); + + guildConfig.LogSetting.LogUserPresence = data.LogPresenceChannel != null; + guildConfig.LogSetting.UserPresenceChannelId = data.LogPresenceChannel ?? 0; + + + guildConfig.FollowedStreams = new HashSet(data.ObservingStreams.Select(x => + { + FollowedStream.FollowedStreamType type = FollowedStream.FollowedStreamType.Twitch; + switch (x.Type) + { + case StreamNotificationConfig0_9.StreamType.Twitch: + type = FollowedStream.FollowedStreamType.Twitch; + break; + case StreamNotificationConfig0_9.StreamType.Beam: + type = FollowedStream.FollowedStreamType.Beam; + break; + case StreamNotificationConfig0_9.StreamType.Hitbox: + type = FollowedStream.FollowedStreamType.Hitbox; + break; + default: + break; + } + + return new FollowedStream() + { + ChannelId = x.ChannelId, + GuildId = guildConfig.GuildId, + Username = x.Username.ToLowerInvariant(), + Type = type + }; + })); + guildConfig.VoicePlusTextEnabled = data.VoicePlusTextEnabled; + _log.Info("Migrating SpecificConfig for {0} done ({1})", guildConfig.GuildId, ++i); + } + catch (Exception ex) { - ChannelId = x.ChannelId, - GuildId = guildId, - Username = x.Username.ToLowerInvariant(), - Type = type - }; - })); - guildConfig.VoicePlusTextEnabled = data.VoicePlusTextEnabled; - } + _log.Error(ex); + } + }); + uow.SelfAssignedRoles.AddRange(selfAssRoles.ToArray()); try { File.Move("data/ServerSpecificConfigs.json", "data/DELETE_ME_ServerSpecificCOnfigs.json"); } catch { } } @@ -245,48 +261,55 @@ namespace NadekoBot.Modules.Administration } catch { } } - foreach (var perms in PermissionsDict) - { - var guildId = perms.Key; - var data = perms.Value; + var i = 0; + PermissionsDict + .Select(p => new { data = p.Value, gconfig = uow.GuildConfigs.For(p.Key) }) + .AsParallel() + .ForAll(perms => + { + try + { + var data = perms.data; + var gconfig = perms.gconfig; - _log.Info("Migrating data from permissions folder for {0}", guildId); + gconfig.PermissionRole = data.PermissionsControllerRole; + gconfig.VerbosePermissions = data.Verbose; + gconfig.FilteredWords = new HashSet(data.Words.Select(w => w.ToLowerInvariant()) + .Distinct() + .Select(w => new FilteredWord() { Word = w })); + gconfig.FilterWords = data.Permissions.FilterWords; + gconfig.FilterInvites = data.Permissions.FilterInvites; - var gconfig = uow.GuildConfigs.For(guildId); + gconfig.FilterInvitesChannelIds = new HashSet(); + gconfig.FilterInvitesChannelIds.AddRange(data.ChannelPermissions.Where(kvp => kvp.Value.FilterInvites) + .Select(cp => new FilterChannelId() + { + ChannelId = cp.Key + })); - gconfig.PermissionRole = data.PermissionsControllerRole; - gconfig.VerbosePermissions = data.Verbose; - gconfig.FilteredWords = new HashSet(data.Words.Select(w => w.ToLowerInvariant()) - .Distinct() - .Select(w => new FilteredWord() { Word = w })); - gconfig.FilterWords = data.Permissions.FilterWords; - gconfig.FilterInvites = data.Permissions.FilterInvites; + gconfig.FilterWordsChannelIds = new HashSet(); + gconfig.FilterWordsChannelIds.AddRange(data.ChannelPermissions.Where(kvp => kvp.Value.FilterWords) + .Select(cp => new FilterChannelId() + { + ChannelId = cp.Key + })); - gconfig.FilterInvitesChannelIds = new HashSet(); - gconfig.FilterInvitesChannelIds.AddRange(data.ChannelPermissions.Where(kvp => kvp.Value.FilterInvites) - .Select(cp => new FilterChannelId() - { - ChannelId = cp.Key - })); + gconfig.CommandCooldowns = new HashSet(data.CommandCooldowns + .Where(cc => !string.IsNullOrWhiteSpace(cc.Key) && cc.Value > 0) + .Select(cc => new CommandCooldown() + { + CommandName = cc.Key, + Seconds = cc.Value + })); + _log.Info("Migrating data from permissions folder for {0} done ({1})", gconfig.GuildId, ++i); + } + catch (Exception ex) + { + _log.Error(ex); + } + }); - gconfig.FilterWordsChannelIds = new HashSet(); - gconfig.FilterWordsChannelIds.AddRange(data.ChannelPermissions.Where(kvp => kvp.Value.FilterWords) - .Select(cp => new FilterChannelId() - { - ChannelId = cp.Key - })); - - gconfig.CommandCooldowns = new HashSet(data.CommandCooldowns - .Where(cc => !string.IsNullOrWhiteSpace(cc.Key) && cc.Value > 0) - .Select(cc => new CommandCooldown() - { - CommandName = cc.Key, - Seconds = cc.Value - })); - var smodules = data.Permissions.Modules.Where(m => !m.Value); - - try { Directory.Move("data/permissions","data/DELETE_ME_permissions"); } catch { } - } + try { Directory.Move("data/permissions", "data/DELETE_ME_permissions"); } catch { } } diff --git a/src/NadekoBot/Modules/Utility/Commands/UnitConversion.cs b/src/NadekoBot/Modules/Utility/Commands/UnitConversion.cs index ead333ca..f9b05093 100644 --- a/src/NadekoBot/Modules/Utility/Commands/UnitConversion.cs +++ b/src/NadekoBot/Modules/Utility/Commands/UnitConversion.cs @@ -38,7 +38,7 @@ namespace NadekoBot.Modules.Utility //need to do this the first time if (uow.ConverterUnits.Empty()) { - var content = JsonConvert.DeserializeObject>(File.ReadAllText("units.json")).Select(u => new ConvertUnit() + var content = JsonConvert.DeserializeObject>(File.ReadAllText("data/units.json")).Select(u => new ConvertUnit() { Modifier = u.Modifier, UnitType = u.UnitType, diff --git a/src/NadekoBot/NadekoBot.xproj b/src/NadekoBot/NadekoBot.xproj index 3cf706f4..901e69fd 100644 --- a/src/NadekoBot/NadekoBot.xproj +++ b/src/NadekoBot/NadekoBot.xproj @@ -15,5 +15,8 @@ 2.0 + + + \ No newline at end of file diff --git a/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs b/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs index 44d6a938..7c17af34 100644 --- a/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs +++ b/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs @@ -38,16 +38,17 @@ namespace NadekoBot.Services.Database.Repositories.Impl /// public GuildConfig For(ulong guildId) { - var config = _set.Include(gc => gc.FollowedStreams) - .Include(gc => gc.LogSetting) - .ThenInclude(ls => ls.IgnoredChannels) - .Include(gc => gc.LogSetting) - .ThenInclude(ls => ls.IgnoredVoicePresenceChannelIds) - .Include(gc => gc.FilterInvitesChannelIds) - .Include(gc => gc.FilterWordsChannelIds) - .Include(gc => gc.FilteredWords) - .Include(gc => gc.GenerateCurrencyChannelIds) - .Include(gc => gc.CommandCooldowns) + var config = _set + //.Include(gc => gc.FollowedStreams) + // .Include(gc => gc.LogSetting) + // .ThenInclude(ls => ls.IgnoredChannels) + //.Include(gc => gc.LogSetting) + // .ThenInclude(ls => ls.IgnoredVoicePresenceChannelIds) + //.Include(gc => gc.FilterInvitesChannelIds) + //.Include(gc => gc.FilterWordsChannelIds) + //.Include(gc => gc.FilteredWords) + //.Include(gc => gc.GenerateCurrencyChannelIds) + //.Include(gc => gc.CommandCooldowns) .FirstOrDefault(c => c.GuildId == guildId); if (config == null) diff --git a/src/NadekoBot/_Extensions/Extensions.cs b/src/NadekoBot/_Extensions/Extensions.cs index b1722e12..43283a64 100644 --- a/src/NadekoBot/_Extensions/Extensions.cs +++ b/src/NadekoBot/_Extensions/Extensions.cs @@ -2,6 +2,7 @@ using Discord.WebSocket; using ImageProcessorCore; using System; +using System.Collections.Concurrent; using System.Collections.Generic; using System.IO; using System.Linq; @@ -31,6 +32,14 @@ namespace NadekoBot.Extensions } } + public static void AddRange(this ConcurrentHashSet target, IEnumerable elements) where T : class + { + foreach (var item in elements) + { + target.Add(item); + } + } + public static bool IsInteger(this decimal number) => number == Math.Truncate(number); public static string SanitizeMentions(this string str) => diff --git a/src/NadekoBot/units.json b/src/NadekoBot/data/units.json similarity index 100% rename from src/NadekoBot/units.json rename to src/NadekoBot/data/units.json diff --git a/src/NadekoBot/project.json b/src/NadekoBot/project.json index d7b2273a..67066f42 100644 --- a/src/NadekoBot/project.json +++ b/src/NadekoBot/project.json @@ -7,7 +7,7 @@ "emitEntryPoint": true, "allowUnsafe": true, "compile": { - "exclude": [ ], + "exclude": [ "data" ] }, "copyToOutput": { "include": [ "data", "libs" ], From 74d99ff391705408ac698af3278e0ea8a6c66597 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 12 Oct 2016 17:46:03 +0200 Subject: [PATCH 119/135] Had to do some weird stuff with discord.net --- discord.net | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/discord.net b/discord.net index 39df50a5..524a5d96 160000 --- a/discord.net +++ b/discord.net @@ -1 +1 @@ -Subproject commit 39df50a5eaace37d31848a42f651a9fc40f8f534 +Subproject commit 524a5d9609fe78ec587e201b6ee0e788d0baaf5d From 25cf4f7b0ea7c57eac38af87b7bbf3d6f30f3f6e Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 12 Oct 2016 17:53:00 +0200 Subject: [PATCH 120/135] Hgit in alphabetical order. Fixes. --- .../Administration/Commands/Migration.cs | 4 ++-- src/NadekoBot/Modules/Help/Help.cs | 2 +- .../Impl/GuildConfigRepository.cs | 20 +++++++++---------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Commands/Migration.cs b/src/NadekoBot/Modules/Administration/Commands/Migration.cs index 598d36ac..cd7ae2f8 100644 --- a/src/NadekoBot/Modules/Administration/Commands/Migration.cs +++ b/src/NadekoBot/Modules/Administration/Commands/Migration.cs @@ -70,9 +70,9 @@ namespace NadekoBot.Modules.Administration { var botConfig = uow.BotConfig.GetOrCreate(); MigrateConfig0_9(uow, botConfig); - //MigratePermissions0_9(uow); + MigratePermissions0_9(uow); MigrateServerSpecificConfigs0_9(uow); - //MigrateDb0_9(uow); + MigrateDb0_9(uow); //NOW save it botConfig.MigrationVersion = 1; diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index 96d2c4f6..11038af9 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -127,7 +127,7 @@ namespace NadekoBot.Modules.Help var helpstr = new StringBuilder(); var lastModule = ""; - foreach (var com in _commands.Commands.GroupBy(c=>c.Text).Select(g=>g.First())) + foreach (var com in _commands.Commands.OrderBy(com=>com.Module.Name).GroupBy(c=>c.Text).Select(g=>g.First())) { if (com.Module.Name != lastModule) { diff --git a/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs b/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs index 7c17af34..0e9151bb 100644 --- a/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs +++ b/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs @@ -39,16 +39,16 @@ namespace NadekoBot.Services.Database.Repositories.Impl public GuildConfig For(ulong guildId) { var config = _set - //.Include(gc => gc.FollowedStreams) - // .Include(gc => gc.LogSetting) - // .ThenInclude(ls => ls.IgnoredChannels) - //.Include(gc => gc.LogSetting) - // .ThenInclude(ls => ls.IgnoredVoicePresenceChannelIds) - //.Include(gc => gc.FilterInvitesChannelIds) - //.Include(gc => gc.FilterWordsChannelIds) - //.Include(gc => gc.FilteredWords) - //.Include(gc => gc.GenerateCurrencyChannelIds) - //.Include(gc => gc.CommandCooldowns) + .Include(gc => gc.FollowedStreams) + .Include(gc => gc.LogSetting) + .ThenInclude(ls => ls.IgnoredChannels) + .Include(gc => gc.LogSetting) + .ThenInclude(ls => ls.IgnoredVoicePresenceChannelIds) + .Include(gc => gc.FilterInvitesChannelIds) + .Include(gc => gc.FilterWordsChannelIds) + .Include(gc => gc.FilteredWords) + .Include(gc => gc.GenerateCurrencyChannelIds) + .Include(gc => gc.CommandCooldowns) .FirstOrDefault(c => c.GuildId == guildId); if (config == null) From bdc2f46412dc3d436fafef8328777fced5ac66a9 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 12 Oct 2016 18:30:35 +0200 Subject: [PATCH 121/135] Fixed some stuff --- docs/Commands List.md | 396 +++++++++--------- src/NadekoBot/Modules/Help/Help.cs | 4 - .../Utility/Commands/UnitConversion.cs | 80 ++-- .../Services/Database/Models/ConvertUnit.cs | 13 + 4 files changed, 252 insertions(+), 241 deletions(-) diff --git a/docs/Commands List.md b/docs/Commands List.md index 55e809bb..1c2bbf07 100644 --- a/docs/Commands List.md +++ b/docs/Commands List.md @@ -1,4 +1,178 @@ +### Administration +Command and aliases | Description | Usage +----------------|--------------|------- +`.restart` | Restarts the bot. Might not work. | `.restart` **Bot owner only.** +`.delmsgoncmd` | Toggles the automatic deletion of user's successful command message to prevent chat flood. **Server Manager Only.** | `.delmsgoncmd` **Requires Administrator server permission.** +`.setrole` `.sr` | Sets a role for a given user. | `.sr @User Guest` **Requires ManageRoles server permission.** +`.removerole` `.rr` | Removes a role from a given user. | `.rr @User Admin` **Requires ManageRoles server permission.** +`.renamerole` `.renr` | Renames a role. Roles you are renaming must be lower than bot's highest role. | `.renr "First role" SecondRole` **Requires ManageRoles server permission.** +`.removeallroles` `.rar` | Removes all roles from a mentioned user. | `.rar @User` **Requires ManageRoles server permission.** +`.createrole` `.cr` | Creates a role with a given name. | `.cr Awesome Role` **Requires ManageRoles server permission.** +`.rolecolor` `.rc` | Set a role's color to the hex or 0-255 rgb color value provided. | `.rc Admin 255 200 100` or `.rc Admin ffba55` **Requires ManageRoles server permission.** +`.ban` `.b` | Bans a user by id or name with an optional message. | `.b "@some Guy" Your behaviour is toxic.` **Requires BanMembers server permission.** +`.softban` `.sb` | Bans and then unbans a user by id or name with an optional message. | `.sb "@some Guy" Your behaviour is toxic.` **Requires BanMembers server permission.** +`.kick` `.k` | Kicks a mentioned user. | `.k "@some Guy" Your behaviour is toxic.` **Requires KickMembers server permission.** +`.mute` | Mutes a mentioned user in a voice channel. | `.mute @Someone` **Requires MuteMembers server permission.** +`.unmute` | Unmutes mentioned user or users. | `.unmute "@Someguy"` or `.unmute "@Someguy" "@Someguy"` **Requires MuteMembers server permission.** +`.deafen` `.deaf` | Deafens mentioned user or users. | `.deaf "@Someguy"` or `.deaf "@Someguy" "@Someguy"` **Requires DeafenMembers server permission.** +`.undeafen` `.undef` | Undeafens mentioned user or users. | `.undef "@Someguy"` or `.undef "@Someguy" "@Someguy"` **Requires DeafenMembers server permission.** +`.delvoichanl` `.dvch` | Deletes a voice channel with a given name. | `.dvch VoiceChannelName` **Requires ManageChannels server permission.** +`.creatvoichanl` `.cvch` | Creates a new voice channel with a given name. | `.cvch VoiceChannelName` **Requires ManageChannels server permission.** +`.deltxtchanl` `.dtch` | Deletes a text channel with a given name. | `.dtch TextChannelName` **Requires ManageChannels server permission.** +`.creatxtchanl` `.ctch` | Creates a new text channel with a given name. | `.ctch TextChannelName` **Requires ManageChannels server permission.** +`.settopic` `.st` | Sets a topic on the current channel. | `.st My new topic` **Requires ManageChannels server permission.** +`.setchanlname` `.schn` | Changed the name of the current channel. | `.schn NewName` **Requires ManageChannels server permission.** +`.prune` `.clr` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` +`.die` | Works only for the owner. Shuts the bot down. | `@NadekoBot die` **Bot owner only.** +`.setname` `.newnm` | Give the bot a new name. | `.newnm BotName` **Bot owner only.** +`.setavatar` `.setav` | Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. | `.setav http://i.imgur.com/xTG3a1I.jpg` **Bot owner only.** +`.setgame` | Sets the bots game. | `.setgame Playing with kwoth` **Bot owner only.** +`.send` | Sends a message to someone on a different server through the bot. Separate server and channel/user ids with `|` and prepend channel id with `c:` and user id with `u:`. | `.send serverid|c:channelid` or `.send serverid|u:userid` **Bot owner only.** +`.announce` | Sends a message to all servers' general channel bot is connected to. | `.announce Useless spam` **Bot owner only.** +`.savechat` | Saves a number of messages to a text file and sends it to you. | `.savechat 150` **Bot owner only.** +`.mentionrole` `.menro` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. | `.menro RoleName` **Requires MentionEveryone server permission.** +`.donators` | List of lovely people who donated to keep this project alive. | `.donators` +`.donadd` | Add a donator to the database. **Kwoth Only** | `.donadd Donate Amount` **Bot owner only.** +`.autoassignrole` `.aar` | Automaticaly assigns a specified role to every user who joins the server. | `.aar` to disable, `.aar Role Name` to enable **Requires ManageRoles server permission.** +`.scsc` | Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance. | `.scsc` **Bot owner only.** +`.jcsc` | Joins current channel to an instance of cross server channel using the token. | `.jcsc TokenHere` **Requires ManageServer server permission.** +`.lcsc` | Leaves Cross server channel instance from this channel. | `.lcsc` **Requires ManageServer server permission.** +`.fwmsgs` | Toggles forwarding of non-command messages sent to bot's DM to the bot owners | `.fwmsgs` **Bot owner only.** +`.fwtoall` | Toggles whether messages will be forwarded to all bot owners or only to the first one specified in the credentials.json | `.fwtoall` **Bot owner only.** +`.logserver` | Logs server activity in this channel. | `.logserver` **Requires Administrator server permission.** **Bot owner only.** +`.logignore` | Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. | `.logignore` **Requires Administrator server permission.** **Bot owner only.** +`.userpresence` | Starts logging to this channel when someone from the server goes online/offline/idle. | `.userpresence` **Requires Administrator server permission.** +`.voicepresence` | Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. | `.voicepresence` **Requires Administrator server permission.** +`.repeatinvoke` `.repinv` | Immediately shows the repeat message and restarts the timer. | `.repinv` **Requires ManageMessages server permission.** +`.repeat` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. | `.repeat 5 Hello there` +`.migratedata` | Migrate data from old bot configuration | `.migratedata` **Bot owner only.** +`.rotateplaying` `.ropl` | Toggles rotation of playing status of the dynamic strings you specified earlier. | `.ropl` **Bot owner only.** +`.addplaying` `.adpl` | Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued% | `.adpl` **Bot owner only.** +`.listplaying` `.lipl` | Lists all playing statuses with their corresponding number. | `.lipl` **Bot owner only.** +`.removeplaying` `.rmpl` `.repl` | Removes a playing string on a given number. | `.rmpl` **Bot owner only.** +`.slowmode` | Toggles slow mode. When ON, users will be able to send only 1 message every 5 seconds. | `.slowmode` **Requires ManageMessages server permission.** +`.asar` | Adds a role, or list of roles separated by whitespace(use quotations for multiword roles) to the list of self-assignable roles. | `.asar Gamer` **Requires ManageRoles server permission.** +`.rsar` | Removes a specified role from the list of self-assignable roles. | `.rsar` **Requires ManageRoles server permission.** +`.lsar` | Lists all self-assignable roles. | `.lsar` +`.togglexclsar` `.tesar` | Toggles whether the self-assigned roles are exclusive. (So that any person can have only one of the self assignable roles) | `.tesar` **Requires ManageRoles server permission.** +`.iam` | Adds a role to you that you choose. Role must be on a list of self-assignable roles. | `.iam Gamer` +`.iamnot` `.iamn` | Removes a role to you that you choose. Role must be on a list of self-assignable roles. | `.iamn Gamer` +`.leave` | Makes Nadeko leave the server. Either name or id required. | `.leave 123123123331` **Bot owner only.** +`.greetdel` `.grdel` | Toggles automatic deletion of greet messages. | `.greetdel` **Requires ManageServer server permission.** +`.greet` | Toggles anouncements on the current channel when someone joins the server. | `.greet` **Requires ManageServer server permission.** +`.greetmsg` | Sets a new join announcement message which will be shown in the server's channel. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. | `.greetmsg Welcome, %user%.` **Requires ManageServer server permission.** +`.greetdm` | Toggles whether the greet messages will be sent in a DM (This is separate from greet - you can have both, any or neither enabled). | `.greetdm` **Requires ManageServer server permission.** +`.greetdmmsg` | Sets a new join announcement message which will be sent to the user who joined. Type %user% if you want to mention the new member. Using it with no message will show the current DM greet message. | `.greetdmmsg Welcome to the server, %user%`. **Requires ManageServer server permission.** +`.bye` | Toggles anouncements on the current channel when someone leaves the server. | `.bye` **Requires ManageServer server permission.** +`.byemsg` | Sets a new leave announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current bye message. | `.byemsg %user% has left.` **Requires ManageServer server permission.** +`.byedel` | Toggles automatic deletion of bye messages. | `.byedel` **Requires ManageServer server permission.** +`.voice+text` `.v+t` | Creates a text channel for each voice channel only users in that voice channel can see.If you are server owner, keep in mind you will see them all the time regardless. | `.voice+text` **Requires ManageRoles server permission.** **Requires ManageChannels server permission.** +`.cleanvplust` `.cv+t` | Deletes all text channels ending in `-voice` for which voicechannels are not found. **Use at your own risk. Needs Manage Roles and Manage Channels Permissions.** | `.cleanv+t` **Requires ManageChannels server permission.** **Requires ManageRoles server permission.** + +### ClashOfClans +Command and aliases | Description | Usage +----------------|--------------|------- +`,createwar` `,cw` | Creates a new war by specifying a size (>10 and multiple of 5) and enemy clan name. | `,cw 15 The Enemy Clan` +`,startwar` `,sw` | Starts a war with a given number. | `,sw 15` +`,listwar` `,lw` | Shows the active war claims by a number. Shows all wars in a short way if no number is specified. | `,lw [war_number] or ,lw` +`,claim` `,call` `,c` | Claims a certain base from a certain war. You can supply a name in the third optional argument to claim in someone else's place. | `,call [war_number] [base_number] [optional_other_name]` +`,claimfinish1` `,cf1` | Finish your claim with 1 star if you destroyed a base. First argument is the war number, optional second argument finishes for someone else. | `,cf1 2 SomeGirl` +`,claimfinish2` `,cf2` | Finish your claim with 2 stars if you destroyed a base. First argument is the war number, optional second argument finishes for someone else. | `,cf2 1 SomeGuy` +`,claimfinish` `,cf` | Finish your claim with 3 stars if you destroyed a base. First argument is the war number, optional second argument finishes for someone else. | `,cf 1 Someone` +`,endwar` `,ew` | Ends the war with a given index. | `,ew [war_number]` +`,unclaim` `,ucall` `,uc` | Removes your claim from a certain war. Optional second argument denotes a person in whose place to unclaim | `,uc [war_number] [optional_other_name]` + +### CustomReactions +Command and aliases | Description | Usage +----------------|--------------|------- +`.addcustreact` `.acr` | Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: | `.acr "hello" Hi there %user%` +`.listcustreact` `.lcr` | Lists global or server custom reactions (15 commands per page). Running the command in DM will list global custom reactions, while running it in server will list that server's custom reactions. | `.lcr 1` +`.delcustreact` `.dcr` | Deletes a custom reaction on a specific index. If ran in DM, it is bot owner only and deletes a global custom reaction. If ran in a server, it requires Administration priviledges and removes server custom reaction. | `.dcr 5` + +### Gambling +Command and aliases | Description | Usage +----------------|--------------|------- +`$raffle` | Prints a name and ID of a random user from the online list from the (optional) role. | `$raffle` or `$raffle RoleName` +`$cash` `$$$` | Check how much NadekoFlowers a person has. (Defaults to yourself) | `$$$` or `$$$ @SomeGuy` +`$give` | Give someone a certain amount of currency. | `$give 1 "@SomeGuy"` +`$award` | Awards someone a certain amount of currency. | `$award 100 @person` **Bot owner only.** +`$take` | Takes a certain amount of flowers from someone. | `$take 1 "@someguy"` **Bot owner only.** +`$betroll` `$br` | Bets a certain amount of NadekoFlowers and rolls a dice. Rolling over 66 yields x2 flowers, over 90 - x3 and 100 x10. | `$br 5` +`$leaderboard` `$lb` | Displays bot currency leaderboard. | `$lb` +`$race` | Starts a new animal race. | `$race` +`$joinrace` `$jr` | Joins a new race. You can specify an amount of flowers for betting (optional). You will get YourBet*(participants-1) back if you win. | `$jr` or `$jr 5` +`$roll` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$roll` or `$roll 7` or `$roll 3d5` +`$rolluo` | Rolls X normal dice (up to 30) unordered. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$rolluo` or `$rolluo 7` or `$rolluo 3d5` +`$nroll` | Rolls in a given range. | `$nroll 5` (rolls 0-5) or `$nroll 5-15` +`$draw` | Draws a card from the deck.If you supply number X, she draws up to 5 cards from the deck. | `$draw` or `$draw 5` +`$shuffle` `$sh` | Reshuffles all cards back into the deck. | `$sh` +`$flip` | Flips coin(s) - heads or tails, and shows an image. | `$flip` or `$flip 3` +`$betflip` `$bf` | Bet to guess will the result be heads or tails. Guessing awards you double flowers you've bet. | `$bf 5 heads` or `$bf 3 t` + +### Games +Command and aliases | Description | Usage +----------------|--------------|------- +`>choose` | Chooses a thing from a list of things | `>choose Get up;Sleep;Sleep more` +`>8ball` | Ask the 8ball a yes/no question. | `>8ball should I do something` +`>rps` | Play a game of rocket paperclip scissors with Nadeko. | `>rps scissors` +`>linux` | Prints a customizable Linux interjection | `>linux Spyware Windows` +`>leet` | Converts a text to leetspeak with 6 (1-6) severity levels | `>leet 3 Hello` +`>poll` | Creates a poll, only person who has manage server permission can do it. | `>poll Question?;Answer1;Answ 2;A_3` +`>pollend` | Stops active poll on this server and prints the results in this channel. | `>pollend` +`>pick` | Picks a flower planted in this channel. | `>pick` +`>plant` | Spend a flower to plant it in this channel. (If bot is restarted or crashes, flower will be lost) | `>plant` +`>gencurrency` `>gc` | Toggles currency generation on this channel. Every posted message will have chance to spawn a NadekoFlower. Chance is specified by the Bot Owner. (default is 2%) | `>gc` **Requires ManageMessages server permission.** +`>typestart` | Starts a typing contest. | `>typestart` +`>typestop` | Stops a typing contest on the current channel. | `>typestop` +`>typeadd` | Adds a new article to the typing contest. | `>typeadd wordswords` **Bot owner only.** +`>trivia` `>t` | Starts a game of trivia. You can add nohint to prevent hints.First player to get to 10 points wins by default. You can specify a different number. 30 seconds per question. | `>t nohint` or `>t 5 nohint` +`>tl` | Shows a current trivia leaderboard. | `>tl` +`>tq` | Quits current trivia after current question. | `>tq` + +### Help +Command and aliases | Description | Usage +----------------|--------------|------- +`-modules` `-mdls` | Lists all bot modules. | `-modules` +`-commands` `-cmds` | List all of the bot's commands from a certain module. You can either specify full, or only first few letters of the module name. | `-commands Administration` or `-cmds Admin` +`-help` `-h` | Either shows a help for a single command, or DMs you help link if no arguments are specified. | `-h !!q` or `-h` +`-hgit` | Generates the commandlist.md file. | `-hgit` **Bot owner only.** +`-readme` `-guide` | Sends a readme and a guide links to the channel. | `-readme` or `-guide` +`-donate` | Instructions for helping the project financially. | `-donate` + +### Music +Command and aliases | Description | Usage +----------------|--------------|------- +`!!next` `!!n` | Goes to the next song in the queue. You have to be in the same voice channel as the bot. | `!!n` +`!!stop` `!!s` | Stops the music and clears the playlist. Stays in the channel. | `!!s` +`!!destroy` `!!d` | Completely stops the music and unbinds the bot from the channel. (may cause weird behaviour) | `!!d` +`!!pause` `!!p` | Pauses or Unpauses the song. | `!!p` +`!!queue` `!!q` `!!yq` | Queue a song using keywords or a link. Bot will join your voice channel.**You must be in a voice channel**. | `!!q Dream Of Venice` +`!!soundcloudqueue` `!!sq` | Queue a soundcloud song using keywords. Bot will join your voice channel.**You must be in a voice channel**. | `!!sq Dream Of Venice` +`!!listqueue` `!!lq` | Lists 15 currently queued songs per page. Default page is 1. | `!!lq` or `!!lq 2` +`!!nowplaying` `!!np` | Shows the song currently playing. | `!!np` +`!!volume` `!!vol` | Sets the music volume 0-100% | `!!vol 50` +`!!defvol` `!!dv` | Sets the default music volume when music playback is started (0-100). Persists through restarts. | `!!dv 80` +`!!shuffle` `!!sh` | Shuffles the current playlist. | `!!sh` +`!!playlist` `!!pl` | Queues up to 500 songs from a youtube playlist specified by a link, or keywords. | `!!pl playlist link or name` +`!!soundcloudpl` `!!scpl` | Queue a soundcloud playlist using a link. | `!!scpl soundcloudseturl` +`!!localplaylst` `!!lopl` | Queues all songs from a directory. | `!!lopl C:/music/classical` **Bot owner only.** +`!!radio` `!!ra` | Queues a radio stream from a link. It can be a direct mp3 radio stream, .m3u, .pls .asx or .xspf (Usage Video: ) | `!!ra radio link here` +`!!local` `!!lo` | Queues a local file by specifying a full path. | `!!lo C:/music/mysong.mp3` **Bot owner only.** +`!!move` `!!mv` | Moves the bot to your voice channel. (works only if music is already playing) | `!!mv` +`!!remove` `!!rm` | Remove a song by its # in the queue, or 'all' to remove whole queue. | `!!rm 5` +`!!movesong` `!!ms` | Moves a song from one position to another. | `!! ms 5>3` +`!!setmaxqueue` `!!smq` | Sets a maximum queue size. Supply 0 or no argument to have no limit. | `!!smq 50` or `!!smq` +`!!reptcursong` `!!rcs` | Toggles repeat of current song. | `!!rcs` +`!!rpeatplaylst` `!!rpl` | Toggles repeat of all songs in the queue (every song that finishes is added to the end of the queue). | `!!rpl` +`!!save` | Saves a playlist under a certain name. Name must be no longer than 20 characters and mustn't contain dashes. | `!!save classical1` +`!!load` | Loads a playlist under a certain name. | `!!load classical-1` +`!!playlists` `!!pls` | Lists all playlists. Paginated. 20 per page. Default page is 0. | `!!pls 1` +`!!deleteplaylist` `!!delpls` | Deletes a saved playlist. Only if you made it or if you are the bot owner. | `!!delpls animu-5` +`!!goto` | Goes to a specific time in seconds in a song. | `!!goto 30` +`!!getlink` `!!gl` | Shows a link to the song in the queue by index, or the currently playing song by default. | `!!gl` +`!!autoplay` `!!ap` | Toggles autoplay - When the song is finished, automatically queue a related youtube song. (Works only for youtube songs and when queue is empty) | `!!ap` + ### NSFW Command and aliases | Description | Usage ----------------|--------------|------- @@ -11,43 +185,6 @@ Command and aliases | Description | Usage `~boobs` | Real adult content. | `~boobs` `~butts` `~ass` `~butt` | Real adult content. | `~butts` or `~ass` -### Help -Command and aliases | Description | Usage -----------------|--------------|------- -`-modules` `-mdls` | Lists all bot modules. | `-modules` -`-commands` `-cmds` | List all of the bot's commands from a certain module. You can either specify full, or only first few letters of the module name. | `-commands Administration` or `-cmds Admin` -`-help` `-h` | Either shows a help for a single command, or DMs you help link if no arguments are specified. | `-h !!q` or `-h` -`-hgit` | Generates the commandlist.md file. | `-hgit` **Bot owner only.** -`-readme` `-guide` | Sends a readme and a guide links to the channel. | `-readme` or `-guide` -`-donate` | Instructions for helping the project financially. | `-donate` - -### Utility -Command and aliases | Description | Usage -----------------|--------------|------- -`.whosplaying` `.whpl` | Shows a list of users who are playing the specified game. | `.whpl Overwatch` -`.inrole` | Lists every person from the provided role or roles (separated by a ',') on this server. If the list is too long for 1 message, you must have Manage Messages permission. | `.inrole Role` -`.checkmyperms` | Checks your userspecific permissions on this channel. | `.checkmyperms` -`.userid` `.uid` | Shows user ID. | `.uid` or `.uid "@SomeGuy"` -`.channelid` `.cid` | Shows current channel ID. | `.cid` -`.serverid` `.sid` | Shows current server ID. | `.sid` -`.roles` | List all roles on this server or a single user if specified. | `.roles` -`.channeltopic` `.ct` | Sends current channel's topic as a message. | `.ct` -`.stats` | Shows some basic stats for Nadeko. | `.stats` -`.showemojis` `.se` | Shows a name and a link to every SPECIAL emoji in the message. | `.se A message full of SPECIALemojis` -`.calculate` `.calc` | Evaluate a mathematical expression. | `.calc 1+1` -`.calcops` | Shows all available operations in .calc command | `.calcops` -`.serverinfo` `.sinfo` | Shows info about the server the bot is on. If no channel is supplied, it defaults to current one. | `.sinfo Some Server` -`.channelinfo` `.cinfo` | Shows info about the channel. If no channel is supplied, it defaults to current one. | `.cinfo #some-channel` -`.userinfo` `.uinfo` | Shows info about the user. If no user is supplied, it defaults a user running the command. | `.uinfo @SomeUser` -`...` | Shows a random quote with a specified name. | `... abc` -`..` | Adds a new quote with the specified name and message. | `.. sayhi Hi` -`.deletequote` `.delq` | Deletes a random quote with the specified keyword. You have to either be server Administrator or the creator of the quote to delete it. | `.delq abc` -`.delallq` `.daq` | Deletes all quotes on a specified keyword. | `.delallq kek` **Requires Administrator server permission.** -`.remind` | Sends a message to you or a channel after certain amount of time. First argument is me/here/'channelname'. Second argument is time in a descending order (mo>w>d>h>m) example: 1w5d3h10m. Third argument is a (multiword)message. | `.remind me 1d5h Do something` or `.remind #general Start now!` -`.remindtemplate` | Sets message for when the remind is triggered. Available placeholders are %user% - user who ran the command, %message% - Message specified in the remind, %target% - target channel of the remind. | `.remindtemplate %user%, you gotta do %message%!` **Bot owner only.** -`.convertlist` | List of the convertible dimensions and currencies. | `.convertlist` -`.convert` | Convert quantities. Use `.convertlist` to see supported dimensions and currencies. | `.convert m km 1000` - ### Permissions Command and aliases | Description | Usage ----------------|--------------|------- @@ -127,166 +264,29 @@ Command and aliases | Description | Usage `~removestream` `~rms` | Removes notifications of a certain streamer on this channel. | `~rms SomeGuy` **Requires ManageMessages server permission.** `~checkstream` `~cs` | Checks if a user is online on a certain streaming platform. | `~cs twitch MyFavStreamer` -### Music +### Utility Command and aliases | Description | Usage ----------------|--------------|------- -`!!next` `!!n` | Goes to the next song in the queue. You have to be in the same voice channel as the bot. | `!!n` -`!!stop` `!!s` | Stops the music and clears the playlist. Stays in the channel. | `!!s` -`!!destroy` `!!d` | Completely stops the music and unbinds the bot from the channel. (may cause weird behaviour) | `!!d` -`!!pause` `!!p` | Pauses or Unpauses the song. | `!!p` -`!!queue` `!!q` `!!yq` | Queue a song using keywords or a link. Bot will join your voice channel.**You must be in a voice channel**. | `!!q Dream Of Venice` -`!!soundcloudqueue` `!!sq` | Queue a soundcloud song using keywords. Bot will join your voice channel.**You must be in a voice channel**. | `!!sq Dream Of Venice` -`!!listqueue` `!!lq` | Lists 15 currently queued songs per page. Default page is 1. | `!!lq` or `!!lq 2` -`!!nowplaying` `!!np` | Shows the song currently playing. | `!!np` -`!!volume` `!!vol` | Sets the music volume 0-100% | `!!vol 50` -`!!defvol` `!!dv` | Sets the default music volume when music playback is started (0-100). Persists through restarts. | `!!dv 80` -`!!shuffle` `!!sh` | Shuffles the current playlist. | `!!sh` -`!!playlist` `!!pl` | Queues up to 500 songs from a youtube playlist specified by a link, or keywords. | `!!pl playlist link or name` -`!!soundcloudpl` `!!scpl` | Queue a soundcloud playlist using a link. | `!!scpl soundcloudseturl` -`!!localplaylst` `!!lopl` | Queues all songs from a directory. | `!!lopl C:/music/classical` **Bot owner only.** -`!!radio` `!!ra` | Queues a radio stream from a link. It can be a direct mp3 radio stream, .m3u, .pls .asx or .xspf (Usage Video: ) | `!!ra radio link here` -`!!local` `!!lo` | Queues a local file by specifying a full path. | `!!lo C:/music/mysong.mp3` **Bot owner only.** -`!!move` `!!mv` | Moves the bot to your voice channel. (works only if music is already playing) | `!!mv` -`!!remove` `!!rm` | Remove a song by its # in the queue, or 'all' to remove whole queue. | `!!rm 5` -`!!movesong` `!!ms` | Moves a song from one position to another. | `!! ms 5>3` -`!!setmaxqueue` `!!smq` | Sets a maximum queue size. Supply 0 or no argument to have no limit. | `!!smq 50` or `!!smq` -`!!reptcursong` `!!rcs` | Toggles repeat of current song. | `!!rcs` -`!!rpeatplaylst` `!!rpl` | Toggles repeat of all songs in the queue (every song that finishes is added to the end of the queue). | `!!rpl` -`!!save` | Saves a playlist under a certain name. Name must be no longer than 20 characters and mustn't contain dashes. | `!!save classical1` -`!!load` | Loads a playlist under a certain name. | `!!load classical-1` -`!!playlists` `!!pls` | Lists all playlists. Paginated. 20 per page. Default page is 0. | `!!pls 1` -`!!deleteplaylist` `!!delpls` | Deletes a saved playlist. Only if you made it or if you are the bot owner. | `!!delpls animu-5` -`!!goto` | Goes to a specific time in seconds in a song. | `!!goto 30` -`!!getlink` `!!gl` | Shows a link to the song in the queue by index, or the currently playing song by default. | `!!gl` -`!!autoplay` `!!ap` | Toggles autoplay - When the song is finished, automatically queue a related youtube song. (Works only for youtube songs and when queue is empty) | `!!ap` - -### Games -Command and aliases | Description | Usage -----------------|--------------|------- -`>choose` | Chooses a thing from a list of things | `>choose Get up;Sleep;Sleep more` -`>8ball` | Ask the 8ball a yes/no question. | `>8ball should I do something` -`>rps` | Play a game of rocket paperclip scissors with Nadeko. | `>rps scissors` -`>linux` | Prints a customizable Linux interjection | `>linux Spyware Windows` -`>leet` | Converts a text to leetspeak with 6 (1-6) severity levels | `>leet 3 Hello` -`>poll` | Creates a poll, only person who has manage server permission can do it. | `>poll Question?;Answer1;Answ 2;A_3` -`>pollend` | Stops active poll on this server and prints the results in this channel. | `>pollend` -`>pick` | Picks a flower planted in this channel. | `>pick` -`>plant` | Spend a flower to plant it in this channel. (If bot is restarted or crashes, flower will be lost) | `>plant` -`>gencurrency` `>gc` | Toggles currency generation on this channel. Every posted message will have chance to spawn a NadekoFlower. Chance is specified by the Bot Owner. (default is 2%) | `>gc` **Requires ManageMessages server permission.** -`>typestart` | Starts a typing contest. | `>typestart` -`>typestop` | Stops a typing contest on the current channel. | `>typestop` -`>typeadd` | Adds a new article to the typing contest. | `>typeadd wordswords` **Bot owner only.** -`>trivia` `>t` | Starts a game of trivia. You can add nohint to prevent hints.First player to get to 10 points wins by default. You can specify a different number. 30 seconds per question. | `>t nohint` or `>t 5 nohint` -`>tl` | Shows a current trivia leaderboard. | `>tl` -`>tq` | Quits current trivia after current question. | `>tq` - -### CustomReactions -Command and aliases | Description | Usage -----------------|--------------|------- -`.addcustreact` `.acr` | Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: | `.acr "hello" Hi there %user%` -`.listcustreact` `.lcr` | Lists global or server custom reactions (15 commands per page). Running the command in DM will list global custom reactions, while running it in server will list that server's custom reactions. | `.lcr 1` -`.delcustreact` `.dcr` | Deletes a custom reaction on a specific index. If ran in DM, it is bot owner only and deletes a global custom reaction. If ran in a server, it requires Administration priviledges and removes server custom reaction. | `.dcr 5` - -### ClashOfClans -Command and aliases | Description | Usage -----------------|--------------|------- -`,createwar` `,cw` | Creates a new war by specifying a size (>10 and multiple of 5) and enemy clan name. | `,cw 15 The Enemy Clan` -`,startwar` `,sw` | Starts a war with a given number. | `,sw 15` -`,listwar` `,lw` | Shows the active war claims by a number. Shows all wars in a short way if no number is specified. | `,lw [war_number] or ,lw` -`,claim` `,call` `,c` | Claims a certain base from a certain war. You can supply a name in the third optional argument to claim in someone else's place. | `,call [war_number] [base_number] [optional_other_name]` -`,claimfinish1` `,cf1` | Finish your claim with 1 star if you destroyed a base. First argument is the war number, optional second argument finishes for someone else. | `,cf1 2 SomeGirl` -`,claimfinish2` `,cf2` | Finish your claim with 2 stars if you destroyed a base. First argument is the war number, optional second argument finishes for someone else. | `,cf2 1 SomeGuy` -`,claimfinish` `,cf` | Finish your claim with 3 stars if you destroyed a base. First argument is the war number, optional second argument finishes for someone else. | `,cf 1 Someone` -`,endwar` `,ew` | Ends the war with a given index. | `,ew [war_number]` -`,unclaim` `,ucall` `,uc` | Removes your claim from a certain war. Optional second argument denotes a person in whose place to unclaim | `,uc [war_number] [optional_other_name]` - -### Gambling -Command and aliases | Description | Usage -----------------|--------------|------- -`$raffle` | Prints a name and ID of a random user from the online list from the (optional) role. | `$raffle` or `$raffle RoleName` -`$cash` `$$$` | Check how much NadekoFlowers a person has. (Defaults to yourself) | `$$$` or `$$$ @SomeGuy` -`$give` | Give someone a certain amount of currency. | `$give 1 "@SomeGuy"` -`$award` | Awards someone a certain amount of currency. | `$award 100 @person` **Bot owner only.** -`$take` | Takes a certain amount of flowers from someone. | `$take 1 "@someguy"` **Bot owner only.** -`$betroll` `$br` | Bets a certain amount of NadekoFlowers and rolls a dice. Rolling over 66 yields x2 flowers, over 90 - x3 and 100 x10. | `$br 5` -`$leaderboard` `$lb` | Displays bot currency leaderboard. | `$lb` -`$race` | Starts a new animal race. | `$race` -`$joinrace` `$jr` | Joins a new race. You can specify an amount of flowers for betting (optional). You will get YourBet*(participants-1) back if you win. | `$jr` or `$jr 5` -`$roll` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$roll` or `$roll 7` or `$roll 3d5` -`$rolluo` | Rolls X normal dice (up to 30) unordered. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$rolluo` or `$rolluo 7` or `$rolluo 3d5` -`$nroll` | Rolls in a given range. | `$nroll 5` (rolls 0-5) or `$nroll 5-15` -`$draw` | Draws a card from the deck.If you supply number X, she draws up to 5 cards from the deck. | `$draw` or `$draw 5` -`$shuffle` `$sh` | Reshuffles all cards back into the deck. | `$sh` -`$flip` | Flips coin(s) - heads or tails, and shows an image. | `$flip` or `$flip 3` -`$betflip` `$bf` | Bet to guess will the result be heads or tails. Guessing awards you double flowers you've bet. | `$bf 5 heads` or `$bf 3 t` - -### Administration -Command and aliases | Description | Usage -----------------|--------------|------- -`.restart` | Restarts the bot. Might not work. | `.restart` **Bot owner only.** -`.delmsgoncmd` | Toggles the automatic deletion of user's successful command message to prevent chat flood. **Server Manager Only.** | `.delmsgoncmd` **Requires Administrator server permission.** -`.setrole` `.sr` | Sets a role for a given user. | `.sr @User Guest` **Requires ManageRoles server permission.** -`.removerole` `.rr` | Removes a role from a given user. | `.rr @User Admin` **Requires ManageRoles server permission.** -`.renamerole` `.renr` | Renames a role. Roles you are renaming must be lower than bot's highest role. | `.renr "First role" SecondRole` **Requires ManageRoles server permission.** -`.removeallroles` `.rar` | Removes all roles from a mentioned user. | `.rar @User` **Requires ManageRoles server permission.** -`.createrole` `.cr` | Creates a role with a given name. | `.cr Awesome Role` **Requires ManageRoles server permission.** -`.rolecolor` `.rc` | Set a role's color to the hex or 0-255 rgb color value provided. | `.rc Admin 255 200 100` or `.rc Admin ffba55` **Requires ManageRoles server permission.** -`.ban` `.b` | Bans a user by id or name with an optional message. | `.b "@some Guy" Your behaviour is toxic.` **Requires BanMembers server permission.** -`.softban` `.sb` | Bans and then unbans a user by id or name with an optional message. | `.sb "@some Guy" Your behaviour is toxic.` **Requires BanMembers server permission.** -`.kick` `.k` | Kicks a mentioned user. | `.k "@some Guy" Your behaviour is toxic.` **Requires KickMembers server permission.** -`.mute` | Mutes a mentioned user in a voice channel. | `.mute @Someone` **Requires MuteMembers server permission.** -`.unmute` | Unmutes mentioned user or users. | `.unmute "@Someguy"` or `.unmute "@Someguy" "@Someguy"` **Requires MuteMembers server permission.** -`.deafen` `.deaf` | Deafens mentioned user or users. | `.deaf "@Someguy"` or `.deaf "@Someguy" "@Someguy"` **Requires DeafenMembers server permission.** -`.undeafen` `.undef` | Undeafens mentioned user or users. | `.undef "@Someguy"` or `.undef "@Someguy" "@Someguy"` **Requires DeafenMembers server permission.** -`.delvoichanl` `.dvch` | Deletes a voice channel with a given name. | `.dvch VoiceChannelName` **Requires ManageChannels server permission.** -`.creatvoichanl` `.cvch` | Creates a new voice channel with a given name. | `.cvch VoiceChannelName` **Requires ManageChannels server permission.** -`.deltxtchanl` `.dtch` | Deletes a text channel with a given name. | `.dtch TextChannelName` **Requires ManageChannels server permission.** -`.creatxtchanl` `.ctch` | Creates a new text channel with a given name. | `.ctch TextChannelName` **Requires ManageChannels server permission.** -`.settopic` `.st` | Sets a topic on the current channel. | `.st My new topic` **Requires ManageChannels server permission.** -`.setchanlname` `.schn` | Changed the name of the current channel. | `.schn NewName` **Requires ManageChannels server permission.** -`.prune` `.clr` | `.prune` removes all nadeko's messages in the last 100 messages.`.prune X` removes last X messages from the channel (up to 100)`.prune @Someone` removes all Someone's messages in the last 100 messages.`.prune @Someone X` removes last X 'Someone's' messages in the channel. | `.prune` or `.prune 5` or `.prune @Someone` or `.prune @Someone X` -`.die` | Works only for the owner. Shuts the bot down. | `@NadekoBot die` **Bot owner only.** -`.setname` `.newnm` | Give the bot a new name. | `.newnm BotName` **Bot owner only.** -`.setavatar` `.setav` | Sets a new avatar image for the NadekoBot. Argument is a direct link to an image. | `.setav http://i.imgur.com/xTG3a1I.jpg` **Bot owner only.** -`.setgame` | Sets the bots game. | `.setgame Playing with kwoth` **Bot owner only.** -`.send` | Sends a message to someone on a different server through the bot. Separate server and channel/user ids with `|` and prepend channel id with `c:` and user id with `u:`. | `.send serverid|c:channelid` or `.send serverid|u:userid` **Bot owner only.** -`.announce` | Sends a message to all servers' general channel bot is connected to. | `.announce Useless spam` **Bot owner only.** -`.savechat` | Saves a number of messages to a text file and sends it to you. | `.savechat 150` **Bot owner only.** -`.mentionrole` `.menro` | Mentions every person from the provided role or roles (separated by a ',') on this server. Requires you to have mention everyone permission. | `.menro RoleName` **Requires MentionEveryone server permission.** -`.donators` | List of lovely people who donated to keep this project alive. | `.donators` -`.donadd` | Add a donator to the database. **Kwoth Only** | `.donadd Donate Amount` **Bot owner only.** -`.autoassignrole` `.aar` | Automaticaly assigns a specified role to every user who joins the server. | `.aar` to disable, `.aar Role Name` to enable **Requires ManageRoles server permission.** -`.scsc` | Starts an instance of cross server channel. You will get a token as a DM that other people will use to tune in to the same instance. | `.scsc` **Bot owner only.** -`.jcsc` | Joins current channel to an instance of cross server channel using the token. | `.jcsc TokenHere` **Requires ManageServer server permission.** -`.lcsc` | Leaves Cross server channel instance from this channel. | `.lcsc` **Requires ManageServer server permission.** -`.fwmsgs` | Toggles forwarding of non-command messages sent to bot's DM to the bot owners | `.fwmsgs` **Bot owner only.** -`.fwtoall` | Toggles whether messages will be forwarded to all bot owners or only to the first one specified in the credentials.json | `.fwtoall` **Bot owner only.** -`.logserver` | Logs server activity in this channel. | `.logserver` **Requires Administrator server permission.** **Bot owner only.** -`.logignore` | Toggles whether the .logserver command ignores this channel. Useful if you have hidden admin channel and public log channel. | `.logignore` **Requires Administrator server permission.** **Bot owner only.** -`.userpresence` | Starts logging to this channel when someone from the server goes online/offline/idle. | `.userpresence` **Requires Administrator server permission.** -`.voicepresence` | Toggles logging to this channel whenever someone joins or leaves a voice channel you are in right now. | `.voicepresence` **Requires Administrator server permission.** -`.repeatinvoke` `.repinv` | Immediately shows the repeat message and restarts the timer. | `.repinv` **Requires ManageMessages server permission.** -`.repeat` | Repeat a message every X minutes. If no parameters are specified, repeat is disabled. | `.repeat 5 Hello there` -`.migratedata` | Migrate data from old bot configuration | `.migratedata` **Bot owner only.** -`.rotateplaying` `.ropl` | Toggles rotation of playing status of the dynamic strings you specified earlier. | `.ropl` **Bot owner only.** -`.addplaying` `.adpl` | Adds a specified string to the list of playing strings to rotate. Supported placeholders: %servers%, %users%, %playing%, %queued% | `.adpl` **Bot owner only.** -`.listplaying` `.lipl` | Lists all playing statuses with their corresponding number. | `.lipl` **Bot owner only.** -`.removeplaying` `.rmpl` `.repl` | Removes a playing string on a given number. | `.rmpl` **Bot owner only.** -`.slowmode` | Toggles slow mode. When ON, users will be able to send only 1 message every 5 seconds. | `.slowmode` **Requires ManageMessages server permission.** -`.asar` | Adds a role, or list of roles separated by whitespace(use quotations for multiword roles) to the list of self-assignable roles. | `.asar Gamer` **Requires ManageRoles server permission.** -`.rsar` | Removes a specified role from the list of self-assignable roles. | `.rsar` **Requires ManageRoles server permission.** -`.lsar` | Lists all self-assignable roles. | `.lsar` -`.togglexclsar` `.tesar` | Toggles whether the self-assigned roles are exclusive. (So that any person can have only one of the self assignable roles) | `.tesar` **Requires ManageRoles server permission.** -`.iam` | Adds a role to you that you choose. Role must be on a list of self-assignable roles. | `.iam Gamer` -`.iamnot` `.iamn` | Removes a role to you that you choose. Role must be on a list of self-assignable roles. | `.iamn Gamer` -`.leave` | Makes Nadeko leave the server. Either name or id required. | `.leave 123123123331` **Bot owner only.** -`.greetdel` `.grdel` | Toggles automatic deletion of greet messages. | `.greetdel` **Requires ManageServer server permission.** -`.greet` | Toggles anouncements on the current channel when someone joins the server. | `.greet` **Requires ManageServer server permission.** -`.greetmsg` | Sets a new join announcement message which will be shown in the server's channel. Type %user% if you want to mention the new member. Using it with no message will show the current greet message. | `.greetmsg Welcome, %user%.` **Requires ManageServer server permission.** -`.greetdm` | Toggles whether the greet messages will be sent in a DM (This is separate from greet - you can have both, any or neither enabled). | `.greetdm` **Requires ManageServer server permission.** -`.greetdmmsg` | Sets a new join announcement message which will be sent to the user who joined. Type %user% if you want to mention the new member. Using it with no message will show the current DM greet message. | `.greetdmmsg Welcome to the server, %user%`. **Requires ManageServer server permission.** -`.bye` | Toggles anouncements on the current channel when someone leaves the server. | `.bye` **Requires ManageServer server permission.** -`.byemsg` | Sets a new leave announcement message. Type %user% if you want to mention the new member. Using it with no message will show the current bye message. | `.byemsg %user% has left.` **Requires ManageServer server permission.** -`.byedel` | Toggles automatic deletion of bye messages. | `.byedel` **Requires ManageServer server permission.** -`.voice+text` `.v+t` | Creates a text channel for each voice channel only users in that voice channel can see.If you are server owner, keep in mind you will see them all the time regardless. | `.voice+text` **Requires ManageRoles server permission.** **Requires ManageChannels server permission.** -`.cleanvplust` `.cv+t` | Deletes all text channels ending in `-voice` for which voicechannels are not found. **Use at your own risk. Needs Manage Roles and Manage Channels Permissions.** | `.cleanv+t` **Requires ManageChannels server permission.** **Requires ManageRoles server permission.** +`.whosplaying` `.whpl` | Shows a list of users who are playing the specified game. | `.whpl Overwatch` +`.inrole` | Lists every person from the provided role or roles (separated by a ',') on this server. If the list is too long for 1 message, you must have Manage Messages permission. | `.inrole Role` +`.checkmyperms` | Checks your userspecific permissions on this channel. | `.checkmyperms` +`.userid` `.uid` | Shows user ID. | `.uid` or `.uid "@SomeGuy"` +`.channelid` `.cid` | Shows current channel ID. | `.cid` +`.serverid` `.sid` | Shows current server ID. | `.sid` +`.roles` | List all roles on this server or a single user if specified. | `.roles` +`.channeltopic` `.ct` | Sends current channel's topic as a message. | `.ct` +`.stats` | Shows some basic stats for Nadeko. | `.stats` +`.showemojis` `.se` | Shows a name and a link to every SPECIAL emoji in the message. | `.se A message full of SPECIALemojis` +`.calculate` `.calc` | Evaluate a mathematical expression. | `.calc 1+1` +`.calcops` | Shows all available operations in .calc command | `.calcops` +`.serverinfo` `.sinfo` | Shows info about the server the bot is on. If no channel is supplied, it defaults to current one. | `.sinfo Some Server` +`.channelinfo` `.cinfo` | Shows info about the channel. If no channel is supplied, it defaults to current one. | `.cinfo #some-channel` +`.userinfo` `.uinfo` | Shows info about the user. If no user is supplied, it defaults a user running the command. | `.uinfo @SomeUser` +`...` | Shows a random quote with a specified name. | `... abc` +`..` | Adds a new quote with the specified name and message. | `.. sayhi Hi` +`.deletequote` `.delq` | Deletes a random quote with the specified keyword. You have to either be server Administrator or the creator of the quote to delete it. | `.delq abc` +`.delallq` `.daq` | Deletes all quotes on a specified keyword. | `.delallq kek` **Requires Administrator server permission.** +`.remind` | Sends a message to you or a channel after certain amount of time. First argument is me/here/'channelname'. Second argument is time in a descending order (mo>w>d>h>m) example: 1w5d3h10m. Third argument is a (multiword)message. | `.remind me 1d5h Do something` or `.remind #general Start now!` +`.remindtemplate` | Sets message for when the remind is triggered. Available placeholders are %user% - user who ran the command, %message% - Message specified in the remind, %target% - target channel of the remind. | `.remindtemplate %user%, you gotta do %message%!` **Bot owner only.** +`.convertlist` | List of the convertible dimensions and currencies. | `.convertlist` +`.convert` | Convert quantities. Use `.convertlist` to see supported dimensions and currencies. | `.convert m km 1000` diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index 11038af9..1f65bab4 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -139,11 +139,7 @@ namespace NadekoBot.Modules.Help helpstr.AppendLine($"`{com.Text}` {string.Join(" ", com.Aliases.Skip(1).Select(a=>"`"+a+"`"))} | {com.Summary} | {com.Remarks} {GetCommandRequirements(com)}"); } helpstr = helpstr.Replace(NadekoBot.Client.GetCurrentUser().Username , "@BotName"); -#if DEBUG File.WriteAllText("../../docs/Commands List.md", helpstr.ToString()); -#else - File.WriteAllText("commandlist.md", helpstr.ToString()); -#endif return Task.CompletedTask; } diff --git a/src/NadekoBot/Modules/Utility/Commands/UnitConversion.cs b/src/NadekoBot/Modules/Utility/Commands/UnitConversion.cs index f9b05093..0f86bcbc 100644 --- a/src/NadekoBot/Modules/Utility/Commands/UnitConversion.cs +++ b/src/NadekoBot/Modules/Utility/Commands/UnitConversion.cs @@ -24,76 +24,78 @@ namespace NadekoBot.Modules.Utility [Group] public class UnitConverterCommands { - private Logger _log; + + public static List Units { get; set; } = new List(); + private static Logger _log; private static Timer _timer; - public static TimeSpan Span = new TimeSpan(12, 0, 0); - public UnitConverterCommands() + private static TimeSpan updateInterval = new TimeSpan(12, 0, 0); + + static UnitConverterCommands() { _log = LogManager.GetCurrentClassLogger(); try { - using (var uow = DbHandler.UnitOfWork()) + var data = JsonConvert.DeserializeObject>(File.ReadAllText("data/units.json")).Select(u => new ConvertUnit() { - //need to do this the first time + Modifier = u.Modifier, + UnitType = u.UnitType, + InternalTrigger = string.Join("|", u.Triggers) + }).ToArray(); + + using (var uow = DbHandler.UnitOfWork()) + { if (uow.ConverterUnits.Empty()) { - var content = JsonConvert.DeserializeObject>(File.ReadAllText("data/units.json")).Select(u => new ConvertUnit() - { - Modifier = u.Modifier, - UnitType = u.UnitType, - InternalTrigger = string.Join("|", u.Triggers) - }); - - uow.ConverterUnits.AddRange(content.ToArray()); + uow.ConverterUnits.AddRange(data); uow.Complete(); } - Units = uow.ConverterUnits.GetAll().ToList(); } + Units = data.ToList(); } catch (Exception e) { _log.Warn("Could not load units: " + e.Message); } - - - - _timer = new Timer(new TimerCallback(UpdateCurrency), null, 0,(int)Span.TotalMilliseconds); + } + + public UnitConverterCommands() + { + _timer = new Timer(async (obj) => await UpdateCurrency(), null, (int)updateInterval.TotalMilliseconds, (int)updateInterval.TotalMilliseconds); } - public void UpdateCurrency(object stateInfo) + public async Task UpdateCurrency() { - var currencyRates = UpdateCurrencyRates().Result; + var currencyRates = await UpdateCurrencyRates(); var unitTypeString = "currency"; + var range = currencyRates.ConversionRates.Select(u => new ConvertUnit() + { + InternalTrigger = u.Key, + Modifier = u.Value, + UnitType = unitTypeString + }).ToArray(); + var baseType = new ConvertUnit() + { + Triggers = new[] { currencyRates.Base }, + Modifier = decimal.One, + UnitType = unitTypeString + }; + var toRemove = Units.Where(u => u.UnitType == unitTypeString); + using (var uow = DbHandler.UnitOfWork()) { - var toRemove = Units.Where(u => u.UnitType == unitTypeString); - Units.RemoveAll(u => u.UnitType == unitTypeString); uow.ConverterUnits.RemoveRange(toRemove.ToArray()); - var baseType = new ConvertUnit() - { - Triggers = new[] { currencyRates.Base }, - Modifier = decimal.One, - UnitType = unitTypeString - }; uow.ConverterUnits.Add(baseType); - Units.Add(baseType); - var range = currencyRates.ConversionRates.Select(u => new ConvertUnit() - { - InternalTrigger = u.Key, - Modifier = u.Value, - UnitType = unitTypeString - }).ToArray(); uow.ConverterUnits.AddRange(range); - Units.AddRange(range); - uow.Complete(); + await uow.CompleteAsync().ConfigureAwait(false); } + Units.RemoveAll(u => u.UnitType == unitTypeString); + Units.Add(baseType); + Units.AddRange(range); _log.Info("Updated Currency"); } - - public List Units { get; set; } [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] public async Task ConvertList(IUserMessage msg) diff --git a/src/NadekoBot/Services/Database/Models/ConvertUnit.cs b/src/NadekoBot/Services/Database/Models/ConvertUnit.cs index 3a487218..01b01acd 100644 --- a/src/NadekoBot/Services/Database/Models/ConvertUnit.cs +++ b/src/NadekoBot/Services/Database/Models/ConvertUnit.cs @@ -33,6 +33,19 @@ namespace NadekoBot.Services.Database.Models public string InternalTrigger { get; set; } public string UnitType { get; set; } public decimal Modifier { get; set; } + + public override bool Equals(object obj) + { + var cu = obj as ConvertUnit; + if (cu == null) + return false; + return cu.UnitType == this.UnitType; + } + + public override int GetHashCode() + { + return this.UnitType.GetHashCode(); + } } } From 45e3e3d8be27e013863286e7dbdd069dd2ab0743 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 12 Oct 2016 19:43:13 +0200 Subject: [PATCH 122/135] Fixed $draw, greet mention and .byemsg --- .../Commands/ServerGreetCommands.cs | 4 ++-- .../Modules/Gambling/Commands/DrawCommand.cs | 16 ++++++++-------- .../{8_of_clubs.jpg => eight_of_clubs.jpg} | Bin ...{8_of_diamonds.jpg => eight_of_diamonds.jpg} | Bin .../{8_of_hearts.jpg => eight_of_hearts.jpg} | Bin .../{8_of_spades.jpg => eight_of_spades.jpg} | Bin .../cards/{5_of_clubs.jpg => five_of_clubs.jpg} | Bin .../{5_of_diamonds.jpg => five_of_diamonds.jpg} | Bin .../{5_of_hearts.jpg => five_of_hearts.jpg} | Bin .../{5_of_spades.jpg => five_of_spades.jpg} | Bin .../cards/{4_of_clubs.jpg => four_of_clubs.jpg} | Bin .../{4_of_diamonds.jpg => four_of_diamonds.jpg} | Bin .../{4_of_hearts.jpg => four_of_hearts.jpg} | Bin .../{4_of_spades.jpg => four_of_spades.jpg} | Bin .../cards/{9_of_clubs.jpg => nine_of_clubs.jpg} | Bin .../{9_of_diamonds.jpg => nine_of_diamonds.jpg} | Bin .../{9_of_hearts.jpg => nine_of_hearts.jpg} | Bin .../{9_of_spades.jpg => nine_of_spades.jpg} | Bin .../{7_of_clubs.jpg => seven_of_clubs.jpg} | Bin ...{7_of_diamonds.jpg => seven_of_diamonds.jpg} | Bin .../{7_of_hearts.jpg => seven_of_hearts.jpg} | Bin .../{7_of_spades.jpg => seven_of_spades.jpg} | Bin .../cards/{6_of_clubs.jpg => six_of_clubs.jpg} | Bin .../{6_of_diamonds.jpg => six_of_diamonds.jpg} | Bin .../{6_of_hearts.jpg => six_of_hearts.jpg} | Bin .../{6_of_spades.jpg => six_of_spades.jpg} | Bin .../cards/{10_of_clubs.jpg => ten_of_clubs.jpg} | Bin .../{10_of_diamonds.jpg => ten_of_diamonds.jpg} | Bin .../{10_of_hearts.jpg => ten_of_hearts.jpg} | Bin .../{10_of_spades.jpg => ten_of_spades.jpg} | Bin .../{3_of_clubs.jpg => three_of_clubs.jpg} | Bin ...{3_of_diamonds.jpg => three_of_diamonds.jpg} | Bin .../{3_of_hearts.jpg => three_of_hearts.jpg} | Bin .../{3_of_spades.jpg => three_of_spades.jpg} | Bin .../cards/{2_of_clubs.jpg => two_of_clubs.jpg} | Bin .../{2_of_diamonds.jpg => two_of_diamonds.jpg} | Bin .../{2_of_hearts.jpg => two_of_hearts.jpg} | Bin .../{2_of_spades.jpg => two_of_spades.jpg} | Bin 38 files changed, 10 insertions(+), 10 deletions(-) rename src/NadekoBot/data/images/cards/{8_of_clubs.jpg => eight_of_clubs.jpg} (100%) rename src/NadekoBot/data/images/cards/{8_of_diamonds.jpg => eight_of_diamonds.jpg} (100%) rename src/NadekoBot/data/images/cards/{8_of_hearts.jpg => eight_of_hearts.jpg} (100%) rename src/NadekoBot/data/images/cards/{8_of_spades.jpg => eight_of_spades.jpg} (100%) rename src/NadekoBot/data/images/cards/{5_of_clubs.jpg => five_of_clubs.jpg} (100%) rename src/NadekoBot/data/images/cards/{5_of_diamonds.jpg => five_of_diamonds.jpg} (100%) rename src/NadekoBot/data/images/cards/{5_of_hearts.jpg => five_of_hearts.jpg} (100%) rename src/NadekoBot/data/images/cards/{5_of_spades.jpg => five_of_spades.jpg} (100%) rename src/NadekoBot/data/images/cards/{4_of_clubs.jpg => four_of_clubs.jpg} (100%) rename src/NadekoBot/data/images/cards/{4_of_diamonds.jpg => four_of_diamonds.jpg} (100%) rename src/NadekoBot/data/images/cards/{4_of_hearts.jpg => four_of_hearts.jpg} (100%) rename src/NadekoBot/data/images/cards/{4_of_spades.jpg => four_of_spades.jpg} (100%) rename src/NadekoBot/data/images/cards/{9_of_clubs.jpg => nine_of_clubs.jpg} (100%) rename src/NadekoBot/data/images/cards/{9_of_diamonds.jpg => nine_of_diamonds.jpg} (100%) rename src/NadekoBot/data/images/cards/{9_of_hearts.jpg => nine_of_hearts.jpg} (100%) rename src/NadekoBot/data/images/cards/{9_of_spades.jpg => nine_of_spades.jpg} (100%) rename src/NadekoBot/data/images/cards/{7_of_clubs.jpg => seven_of_clubs.jpg} (100%) rename src/NadekoBot/data/images/cards/{7_of_diamonds.jpg => seven_of_diamonds.jpg} (100%) rename src/NadekoBot/data/images/cards/{7_of_hearts.jpg => seven_of_hearts.jpg} (100%) rename src/NadekoBot/data/images/cards/{7_of_spades.jpg => seven_of_spades.jpg} (100%) rename src/NadekoBot/data/images/cards/{6_of_clubs.jpg => six_of_clubs.jpg} (100%) rename src/NadekoBot/data/images/cards/{6_of_diamonds.jpg => six_of_diamonds.jpg} (100%) rename src/NadekoBot/data/images/cards/{6_of_hearts.jpg => six_of_hearts.jpg} (100%) rename src/NadekoBot/data/images/cards/{6_of_spades.jpg => six_of_spades.jpg} (100%) rename src/NadekoBot/data/images/cards/{10_of_clubs.jpg => ten_of_clubs.jpg} (100%) rename src/NadekoBot/data/images/cards/{10_of_diamonds.jpg => ten_of_diamonds.jpg} (100%) rename src/NadekoBot/data/images/cards/{10_of_hearts.jpg => ten_of_hearts.jpg} (100%) rename src/NadekoBot/data/images/cards/{10_of_spades.jpg => ten_of_spades.jpg} (100%) rename src/NadekoBot/data/images/cards/{3_of_clubs.jpg => three_of_clubs.jpg} (100%) rename src/NadekoBot/data/images/cards/{3_of_diamonds.jpg => three_of_diamonds.jpg} (100%) rename src/NadekoBot/data/images/cards/{3_of_hearts.jpg => three_of_hearts.jpg} (100%) rename src/NadekoBot/data/images/cards/{3_of_spades.jpg => three_of_spades.jpg} (100%) rename src/NadekoBot/data/images/cards/{2_of_clubs.jpg => two_of_clubs.jpg} (100%) rename src/NadekoBot/data/images/cards/{2_of_diamonds.jpg => two_of_diamonds.jpg} (100%) rename src/NadekoBot/data/images/cards/{2_of_hearts.jpg => two_of_hearts.jpg} (100%) rename src/NadekoBot/data/images/cards/{2_of_spades.jpg => two_of_spades.jpg} (100%) diff --git a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs index 6409e4c0..757ac1e6 100644 --- a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs @@ -43,7 +43,7 @@ namespace NadekoBot.Modules.Administration if (channel == null) //maybe warn the server owner that the channel is missing return; - var msg = conf.ChannelByeMessageText.Replace("%user%", user.Username).Replace("%server%", user.Guild.Name); + var msg = conf.ChannelByeMessageText.Replace("%user%", user.Mention).Replace("%server%", user.Guild.Name); if (string.IsNullOrWhiteSpace(msg)) return; try @@ -284,7 +284,7 @@ namespace NadekoBot.Modules.Administration if (string.IsNullOrWhiteSpace(text)) { - await channel.SendMessageAsync("`Current bye message:` " + conf.ChannelGreetMessageText.SanitizeMentions()); + await channel.SendMessageAsync("`Current bye message:` " + conf.ChannelByeMessageText.SanitizeMentions()); return; } await channel.SendMessageAsync("New bye message set.").ConfigureAwait(false); diff --git a/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs index 1de5650a..a5a20e6e 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs @@ -31,14 +31,13 @@ namespace NadekoBot.Modules.Gambling [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] - public async Task Draw(IUserMessage msg) + public async Task Draw(IUserMessage msg, int num = 1) { var channel = (ITextChannel)msg.Channel; var cards = AllDecks.GetOrAdd(channel.Guild, (s) => new Cards()); - - var num = 1; var images = new List(); var cardObjects = new List(); + if (num > 5) num = 5; for (var i = 0; i < num; i++) { if (cards.CardPool.Count == 0 && i != 0) @@ -48,17 +47,18 @@ namespace NadekoBot.Modules.Gambling } var currentCard = cards.DrawACard(); cardObjects.Add(currentCard); - using (var stream = File.OpenRead(Path.Combine(cardsPath, currentCard.GetName()))) + using (var stream = File.OpenRead(Path.Combine(cardsPath, currentCard.ToString().ToLowerInvariant()+ ".jpg").Replace(' ','_'))) images.Add(new Image(stream)); } MemoryStream bitmapStream = new MemoryStream(); images.Merge().SaveAsPng(bitmapStream); bitmapStream.Position = 0; - await channel.SendFileAsync(bitmapStream, images.Count + " cards.jpg", $"{msg.Author.Mention} drew (TODO: CARD NAMES HERE)").ConfigureAwait(false); + //todo CARD NAMES? + var toSend = $"{msg.Author.Mention}"; if (cardObjects.Count == 5) - { - await channel.SendMessageAsync($"{msg.Author.Mention} `{Cards.GetHandValue(cardObjects)}`").ConfigureAwait(false); - } + toSend += $" drew `{Cards.GetHandValue(cardObjects)}`"; + + await channel.SendFileAsync(bitmapStream, images.Count + " cards.jpg", toSend).ConfigureAwait(false); } [NadekoCommand, Usage, Description, Aliases] diff --git a/src/NadekoBot/data/images/cards/8_of_clubs.jpg b/src/NadekoBot/data/images/cards/eight_of_clubs.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/8_of_clubs.jpg rename to src/NadekoBot/data/images/cards/eight_of_clubs.jpg diff --git a/src/NadekoBot/data/images/cards/8_of_diamonds.jpg b/src/NadekoBot/data/images/cards/eight_of_diamonds.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/8_of_diamonds.jpg rename to src/NadekoBot/data/images/cards/eight_of_diamonds.jpg diff --git a/src/NadekoBot/data/images/cards/8_of_hearts.jpg b/src/NadekoBot/data/images/cards/eight_of_hearts.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/8_of_hearts.jpg rename to src/NadekoBot/data/images/cards/eight_of_hearts.jpg diff --git a/src/NadekoBot/data/images/cards/8_of_spades.jpg b/src/NadekoBot/data/images/cards/eight_of_spades.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/8_of_spades.jpg rename to src/NadekoBot/data/images/cards/eight_of_spades.jpg diff --git a/src/NadekoBot/data/images/cards/5_of_clubs.jpg b/src/NadekoBot/data/images/cards/five_of_clubs.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/5_of_clubs.jpg rename to src/NadekoBot/data/images/cards/five_of_clubs.jpg diff --git a/src/NadekoBot/data/images/cards/5_of_diamonds.jpg b/src/NadekoBot/data/images/cards/five_of_diamonds.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/5_of_diamonds.jpg rename to src/NadekoBot/data/images/cards/five_of_diamonds.jpg diff --git a/src/NadekoBot/data/images/cards/5_of_hearts.jpg b/src/NadekoBot/data/images/cards/five_of_hearts.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/5_of_hearts.jpg rename to src/NadekoBot/data/images/cards/five_of_hearts.jpg diff --git a/src/NadekoBot/data/images/cards/5_of_spades.jpg b/src/NadekoBot/data/images/cards/five_of_spades.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/5_of_spades.jpg rename to src/NadekoBot/data/images/cards/five_of_spades.jpg diff --git a/src/NadekoBot/data/images/cards/4_of_clubs.jpg b/src/NadekoBot/data/images/cards/four_of_clubs.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/4_of_clubs.jpg rename to src/NadekoBot/data/images/cards/four_of_clubs.jpg diff --git a/src/NadekoBot/data/images/cards/4_of_diamonds.jpg b/src/NadekoBot/data/images/cards/four_of_diamonds.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/4_of_diamonds.jpg rename to src/NadekoBot/data/images/cards/four_of_diamonds.jpg diff --git a/src/NadekoBot/data/images/cards/4_of_hearts.jpg b/src/NadekoBot/data/images/cards/four_of_hearts.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/4_of_hearts.jpg rename to src/NadekoBot/data/images/cards/four_of_hearts.jpg diff --git a/src/NadekoBot/data/images/cards/4_of_spades.jpg b/src/NadekoBot/data/images/cards/four_of_spades.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/4_of_spades.jpg rename to src/NadekoBot/data/images/cards/four_of_spades.jpg diff --git a/src/NadekoBot/data/images/cards/9_of_clubs.jpg b/src/NadekoBot/data/images/cards/nine_of_clubs.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/9_of_clubs.jpg rename to src/NadekoBot/data/images/cards/nine_of_clubs.jpg diff --git a/src/NadekoBot/data/images/cards/9_of_diamonds.jpg b/src/NadekoBot/data/images/cards/nine_of_diamonds.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/9_of_diamonds.jpg rename to src/NadekoBot/data/images/cards/nine_of_diamonds.jpg diff --git a/src/NadekoBot/data/images/cards/9_of_hearts.jpg b/src/NadekoBot/data/images/cards/nine_of_hearts.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/9_of_hearts.jpg rename to src/NadekoBot/data/images/cards/nine_of_hearts.jpg diff --git a/src/NadekoBot/data/images/cards/9_of_spades.jpg b/src/NadekoBot/data/images/cards/nine_of_spades.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/9_of_spades.jpg rename to src/NadekoBot/data/images/cards/nine_of_spades.jpg diff --git a/src/NadekoBot/data/images/cards/7_of_clubs.jpg b/src/NadekoBot/data/images/cards/seven_of_clubs.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/7_of_clubs.jpg rename to src/NadekoBot/data/images/cards/seven_of_clubs.jpg diff --git a/src/NadekoBot/data/images/cards/7_of_diamonds.jpg b/src/NadekoBot/data/images/cards/seven_of_diamonds.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/7_of_diamonds.jpg rename to src/NadekoBot/data/images/cards/seven_of_diamonds.jpg diff --git a/src/NadekoBot/data/images/cards/7_of_hearts.jpg b/src/NadekoBot/data/images/cards/seven_of_hearts.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/7_of_hearts.jpg rename to src/NadekoBot/data/images/cards/seven_of_hearts.jpg diff --git a/src/NadekoBot/data/images/cards/7_of_spades.jpg b/src/NadekoBot/data/images/cards/seven_of_spades.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/7_of_spades.jpg rename to src/NadekoBot/data/images/cards/seven_of_spades.jpg diff --git a/src/NadekoBot/data/images/cards/6_of_clubs.jpg b/src/NadekoBot/data/images/cards/six_of_clubs.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/6_of_clubs.jpg rename to src/NadekoBot/data/images/cards/six_of_clubs.jpg diff --git a/src/NadekoBot/data/images/cards/6_of_diamonds.jpg b/src/NadekoBot/data/images/cards/six_of_diamonds.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/6_of_diamonds.jpg rename to src/NadekoBot/data/images/cards/six_of_diamonds.jpg diff --git a/src/NadekoBot/data/images/cards/6_of_hearts.jpg b/src/NadekoBot/data/images/cards/six_of_hearts.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/6_of_hearts.jpg rename to src/NadekoBot/data/images/cards/six_of_hearts.jpg diff --git a/src/NadekoBot/data/images/cards/6_of_spades.jpg b/src/NadekoBot/data/images/cards/six_of_spades.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/6_of_spades.jpg rename to src/NadekoBot/data/images/cards/six_of_spades.jpg diff --git a/src/NadekoBot/data/images/cards/10_of_clubs.jpg b/src/NadekoBot/data/images/cards/ten_of_clubs.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/10_of_clubs.jpg rename to src/NadekoBot/data/images/cards/ten_of_clubs.jpg diff --git a/src/NadekoBot/data/images/cards/10_of_diamonds.jpg b/src/NadekoBot/data/images/cards/ten_of_diamonds.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/10_of_diamonds.jpg rename to src/NadekoBot/data/images/cards/ten_of_diamonds.jpg diff --git a/src/NadekoBot/data/images/cards/10_of_hearts.jpg b/src/NadekoBot/data/images/cards/ten_of_hearts.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/10_of_hearts.jpg rename to src/NadekoBot/data/images/cards/ten_of_hearts.jpg diff --git a/src/NadekoBot/data/images/cards/10_of_spades.jpg b/src/NadekoBot/data/images/cards/ten_of_spades.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/10_of_spades.jpg rename to src/NadekoBot/data/images/cards/ten_of_spades.jpg diff --git a/src/NadekoBot/data/images/cards/3_of_clubs.jpg b/src/NadekoBot/data/images/cards/three_of_clubs.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/3_of_clubs.jpg rename to src/NadekoBot/data/images/cards/three_of_clubs.jpg diff --git a/src/NadekoBot/data/images/cards/3_of_diamonds.jpg b/src/NadekoBot/data/images/cards/three_of_diamonds.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/3_of_diamonds.jpg rename to src/NadekoBot/data/images/cards/three_of_diamonds.jpg diff --git a/src/NadekoBot/data/images/cards/3_of_hearts.jpg b/src/NadekoBot/data/images/cards/three_of_hearts.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/3_of_hearts.jpg rename to src/NadekoBot/data/images/cards/three_of_hearts.jpg diff --git a/src/NadekoBot/data/images/cards/3_of_spades.jpg b/src/NadekoBot/data/images/cards/three_of_spades.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/3_of_spades.jpg rename to src/NadekoBot/data/images/cards/three_of_spades.jpg diff --git a/src/NadekoBot/data/images/cards/2_of_clubs.jpg b/src/NadekoBot/data/images/cards/two_of_clubs.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/2_of_clubs.jpg rename to src/NadekoBot/data/images/cards/two_of_clubs.jpg diff --git a/src/NadekoBot/data/images/cards/2_of_diamonds.jpg b/src/NadekoBot/data/images/cards/two_of_diamonds.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/2_of_diamonds.jpg rename to src/NadekoBot/data/images/cards/two_of_diamonds.jpg diff --git a/src/NadekoBot/data/images/cards/2_of_hearts.jpg b/src/NadekoBot/data/images/cards/two_of_hearts.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/2_of_hearts.jpg rename to src/NadekoBot/data/images/cards/two_of_hearts.jpg diff --git a/src/NadekoBot/data/images/cards/2_of_spades.jpg b/src/NadekoBot/data/images/cards/two_of_spades.jpg similarity index 100% rename from src/NadekoBot/data/images/cards/2_of_spades.jpg rename to src/NadekoBot/data/images/cards/two_of_spades.jpg From 0b09379bc5a7c28c99a40bea9e900ea7ab7a77e6 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 12 Oct 2016 23:41:31 +0200 Subject: [PATCH 123/135] A lot of bugfixes --- .../Modules/Administration/Administration.cs | 17 ++++++++++++ .../Commands/MessageRepeater.cs | 2 +- .../Games/Commands/PlantAndPickCommands.cs | 2 +- .../Games/Commands/Trivia/TriviaGame.cs | 16 ++++++++--- .../Commands/StreamNotificationCommands.cs | 2 +- .../Resources/CommandStrings.Designer.cs | 27 +++++++++++++++++++ src/NadekoBot/Resources/CommandStrings.resx | 9 +++++++ 7 files changed, 68 insertions(+), 7 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index 0231f8d4..de1c466f 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -50,6 +50,23 @@ namespace NadekoBot.Modules.Administration } } + [NadekoCommand, Usage, Description, Aliases] + [RequireContext(ContextType.Guild)] + [RequirePermission(GuildPermission.Administrator)] + public async Task ResetPermissions(IUserMessage imsg) + { + var channel = (ITextChannel)imsg.Channel; + + using (var uow = DbHandler.UnitOfWork()) + { + var config = uow.GuildConfigs.PermissionsFor(channel.Guild.Id); + config.RootPermission = Permission.GetDefaultRoot(); + await uow.CompleteAsync(); + } + + await channel.SendMessageAsync($"{imsg.Author.Mention} :ok: `Permissions for this server are reset`"); + } + [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] [OwnerOnly] diff --git a/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs b/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs index 0a7ba01d..501de4f2 100644 --- a/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs +++ b/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs @@ -51,7 +51,7 @@ namespace NadekoBot.Modules.Administration while (!token.IsCancellationRequested) { await Task.Delay(Repeater.Interval, token).ConfigureAwait(false); - try { await Channel.SendMessageAsync("🔄 " + Repeater.Message).ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } + try { await Channel.SendMessageAsync("🔄 " + Repeater.Message).ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); try { source.Cancel(); } catch { } } } } catch (OperationCanceledException) { } diff --git a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs index 2b8d8072..c6ab6c12 100644 --- a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs @@ -146,7 +146,7 @@ namespace NadekoBot.Modules.Games IUserMessage msg; var vowelFirst = new[] { 'a', 'e', 'i', 'o', 'u' }.Contains(Gambling.Gambling.CurrencyName[0]); - var msgToSend = $"Oh how Nice! **{imsg.Author.Username}** planted {(vowelFirst ? "an" : "a")} {Gambling.Gambling.CurrencyName}. Pick it using {NadekoBot.ModulePrefixes[typeof(Gambling.Gambling).Name]}pick"; + var msgToSend = $"Oh how Nice! **{imsg.Author.Username}** planted {(vowelFirst ? "an" : "a")} {Gambling.Gambling.CurrencyName}. Pick it using {NadekoBot.ModulePrefixes[typeof(Games).Name]}pick"; if (file == null) { msg = await channel.SendMessageAsync(Gambling.Gambling.CurrencySign).ConfigureAwait(false); diff --git a/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs b/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs index 2356a6a7..de1c3262 100644 --- a/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs +++ b/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs @@ -1,4 +1,5 @@ using Discord; +using Discord.Net; using NadekoBot.Extensions; using NLog; using System; @@ -61,7 +62,12 @@ namespace NadekoBot.Modules.Games.Trivia } oldQuestions.Add(CurrentQuestion); //add it to exclusion list so it doesn't show up again //sendquestion - try { await channel.SendMessageAsync($":question: **{CurrentQuestion.Question}**").ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); } + try { await channel.SendMessageAsync($":question: **{CurrentQuestion.Question}**").ConfigureAwait(false); } + catch (HttpException ex) when (ex.StatusCode == System.Net.HttpStatusCode.Forbidden) + { + break; + } + catch (Exception ex) { _log.Warn(ex); } //receive messages NadekoBot.Client.MessageReceived += PotentialGuess; @@ -88,13 +94,15 @@ namespace NadekoBot.Modules.Games.Trivia // load next question if game is still running await Task.Delay(2000).ConfigureAwait(false); } + try { NadekoBot.Client.MessageReceived -= PotentialGuess; } catch { } + GameActive = false; await End().ConfigureAwait(false); } private async Task End() { ShouldStopGame = true; - await channel.SendMessageAsync("**Trivia game ended**\n" + GetLeaderboard()).ConfigureAwait(false); + try { await channel.SendMessageAsync("**Trivia game ended**\n" + GetLeaderboard()).ConfigureAwait(false); } catch { } } public async Task StopGame() @@ -127,7 +135,7 @@ namespace NadekoBot.Modules.Games.Trivia { if (GameActive && CurrentQuestion.IsAnswerCorrect(umsg.Content) && !triviaCancelSource.IsCancellationRequested) { - Users.AddOrUpdate(guildUser, 0, (gu, old) => old++); + Users.AddOrUpdate(guildUser, 1, (gu, old) => ++old); guess = true; } } @@ -152,7 +160,7 @@ namespace NadekoBot.Modules.Games.Trivia var sb = new StringBuilder(); sb.Append("**Leaderboard:**\n-----------\n"); - foreach (var kvp in Users.OrderBy(kvp => kvp.Value)) + foreach (var kvp in Users.OrderByDescending(kvp => kvp.Value)) { sb.AppendLine($"**{kvp.Key.Username}** has {kvp.Value} points".ToString().SnPl(kvp.Value)); } diff --git a/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs b/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs index 6abf08c4..eddc41d6 100644 --- a/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs @@ -44,7 +44,7 @@ namespace NadekoBot.Modules.Searches checkTimer = new Timer(async (state) => { oldCachedStatuses = new ConcurrentDictionary(cachedStatuses); - cachedStatuses.Clear(); + cachedStatuses = new ConcurrentDictionary(); try { IEnumerable streams; diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index a2cfaeac..aa85279f 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -5270,6 +5270,33 @@ namespace NadekoBot.Resources { } } + ///

+ /// Looks up a localized string similar to resetperms. + /// + public static string resetpermissions_cmd { + get { + return ResourceManager.GetString("resetpermissions_cmd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resets BOT's permissions module on this server to the default value.. + /// + public static string resetpermissions_desc { + get { + return ResourceManager.GetString("resetpermissions_desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to `.resetperms`. + /// + public static string resetpermissions_usage { + get { + return ResourceManager.GetString("resetpermissions_usage", resourceCulture); + } + } + /// /// Looks up a localized string similar to restart. /// diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index d9de35da..3072d75f 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -2637,4 +2637,13 @@ `.fwtoall` + + resetperms + + + Resets BOT's permissions module on this server to the default value. + + + `.resetperms` + \ No newline at end of file From 337ee0b1e0d84432067e6c6ff9f9f47e572cb221 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 12 Oct 2016 23:41:59 +0200 Subject: [PATCH 124/135] Updated discord.net to fix softban --- discord.net | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/discord.net b/discord.net index 524a5d96..06e2a2d0 160000 --- a/discord.net +++ b/discord.net @@ -1 +1 @@ -Subproject commit 524a5d9609fe78ec587e201b6ee0e788d0baaf5d +Subproject commit 06e2a2d019bfa7613bea2f0c698d5ff3bf34bbf0 From 02338876bf9699afb24032c8e6d6fce040efcdba Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 12 Oct 2016 23:48:54 +0200 Subject: [PATCH 125/135] .resetperms command ignored permission system. --- src/NadekoBot/Services/CommandHandler.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index 9666eb56..db833d29 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -245,11 +245,12 @@ namespace NadekoBot.Services } _log.Info("Permissions retrieved"); var cmd = commands[i]; + bool resetCommand = cmd.Name == "ResetPermissions"; //check permissions if (guild != null) { int index; - if (!rootPerm.AsEnumerable().CheckPermissions(message, cmd.Text, cmd.Module.Name, out index)) + if (!resetCommand && !rootPerm.AsEnumerable().CheckPermissions(message, cmd.Text, cmd.Module.Name, out index)) { var returnMsg = $"Permission number #{index + 1} **{rootPerm.GetAt(index).GetCommand()}** is preventing this action."; return new Tuple(cmd, verbose, SearchResult.FromError(CommandError.Exception, returnMsg)); From 65f593308c32a15392540494910fe8356e02d93d Mon Sep 17 00:00:00 2001 From: Jordan Fearnley Date: Wed, 12 Oct 2016 22:54:46 +0100 Subject: [PATCH 126/135] Permission System Update `.resetperms` added --- docs/Permissions System.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/Permissions System.md b/docs/Permissions System.md index 3e6a138a..3494c09f 100644 --- a/docs/Permissions System.md +++ b/docs/Permissions System.md @@ -75,4 +75,10 @@ Say you want to only enable NSFW commands in the #NSFW channel, just do the foll 2. `;cm NSFW enable #NSFW` * Enables the NSFW module for use in the #NSFW channel +###I've broken permissions and am stuck, can I reset permissions? +Yes, there is a way, in one easy command! + +1. `.resetperms` + * This resets the permission chain back to default, with only NSFW disabled + _-- Thanks to @applemac for providing the template for this guide_ From 13e185a22e803351287c7933ecb8f4b198c1fa59 Mon Sep 17 00:00:00 2001 From: Jordan Fearnley Date: Wed, 12 Oct 2016 23:01:45 +0100 Subject: [PATCH 127/135] FAQ reset perms question addition a sllightly less detailed version than in the perms guide --- docs/Frequently Asked Questions.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/Frequently Asked Questions.md b/docs/Frequently Asked Questions.md index df2a08b7..e3c30ba3 100644 --- a/docs/Frequently Asked Questions.md +++ b/docs/Frequently Asked Questions.md @@ -62,7 +62,7 @@ The whole list of commands can be found [here](http://nadekobot.readthedocs.io/e Follow this Detailed [Guide](http://discord.kongslien.net/guide.html) if you do not understand. -###Question 13:I'm building NadekoBot from source, but I get hundreds of (namespace) errors without changing anything!? +###Question 13: I'm building NadekoBot from source, but I get hundreds of (namespace) errors without changing anything!? ----- **Answer:** Using Visual Studio, you can solve these errors by going to `Tools` -> `NuGet Package Manager` -> `Manage NuGet Packages for Solution`. Go to the Installed tab, select the Packages that were missing (usually `Newtonsoft.json` and `RestSharp`) and install them for all projects @@ -70,4 +70,8 @@ Follow this Detailed [Guide](http://discord.kongslien.net/guide.html) if you do ---------- **Answer:** Discord has added a few new features and roles now follow hierarchy. This means you need to place your bot's role above every-other role your server has. [Here's](https://support.discordapp.com/hc/en-us/articles/214836687-Role-Management-101) a link to Discords role management 101. +###Question 15: I've broken permissions and am stuck, can I reset permissions? +---------- +**Answer:** Yes, there is a way, in one easy command! Just run `.resetperms` + **Please Note:** *The bot can only set/add all roles below its own highest role. It can not assign it's "highest role" to anyone else.* From 1ae359d1cf9673abeac70d9ee7d01ce64713c38c Mon Sep 17 00:00:00 2001 From: Jordan Fearnley Date: Wed, 12 Oct 2016 23:08:03 +0100 Subject: [PATCH 128/135] Revert Windows guide commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There's probably better ways to do this, but this works ¯\_(ツ)_/¯ --- docs/guides/Windows Guide.md | 91 +++++++++++++++++++----------------- 1 file changed, 47 insertions(+), 44 deletions(-) diff --git a/docs/guides/Windows Guide.md b/docs/guides/Windows Guide.md index 91b7aad6..5d1a680d 100644 --- a/docs/guides/Windows Guide.md +++ b/docs/guides/Windows Guide.md @@ -5,68 +5,72 @@ ________________________________________________________________________________ ### Setting Up NadekoBot on Windows #### Prerequisites - 1) [NET Framework][NET Framework] 4.5.2 (or 4.6) -- 2) [.NET core SDK][.NET SDK] -- 3) [Git][Git] -- 4) [FFMPEG][FFMPEG] -- 5) Google Account -- 6) Soundcloud Account (if you want soundcloud support) -- 7) [7zip][7zip] (or whatever you are using, WinRar) -- 8) [Notepad++][Notepad++] +- 2) [FFMPEG][FFMPEG] +- 3) Google Account +- 4) Soundcloud Account (if you want soundcloud support) +- 5) [7zip][7zip] (or whatever you are using, WinRar) +- 6) [Notepad++][Notepad++] ####Guide -- Make sure you have installed both [Git][Git] and the [.NET core sdk][.NET SDK] -- Create a folder somewhere and name it `Nadeko`. -- Head to the [NadekoBot Releases Page][Releases] and download `ZipContainingAllTheInstallerFiles`. -- Copy `ZipContainingAllTheInstallerFiles` to the `Nadeko` folder that we created earlier, and extract everything. -- You will see a few files, most importantly, `NadekoInstaller.bat ` after extraction (You may not see the `.bat` part of the filename). -- Run/Launch/Open `NadekoInstaller.bat ` and you will see it running in the command prompt. -- Wait a while for the file to finish installing, it'll say when it's done in the command prompt. -- You should now have a new folder named `NadekoBot` inside the `Nadeko` folder we previously created. -- Run the `NadekoRun.bat` file and wait for windows to tell you dotnet has crashed, then choose to close -- If it still exists, you can safely delete the `NadekoInstall_Temp` folder. + +- Create a folder, name it `Nadeko`. +- Head to [Updater Releases Page][Updater] and download `WINDOWS.-.nadeupdater.7z`. +- Copy `WINDOWS.-.nadeupdater.7z` to the `Nadeko` (folder we created before) and extract everything. +- You will see a file `NadekoUpdater.bat ` and a folder `publish ` after extraction. +- Run/Launch/Open the file `NadekoUpdater.bat ` and you will see it running in cmd.exe asking you with **3 options** *1-3*. + - 1) Stable release - current stable release, but might not contain all the newest Nadeko updates. + - 2) Newest release - release with all features/upgrades. + - 3) Exit +- Press `2` on your keyboard and hit `Enter`. Type `y` and hit `Enter` again. Downloading might take a while, so just be patient and wait. When download is done, press `3` on your keyboard and close the updater. +- You should have a new folder named `NadekoBot` inside the `Nadeko` folder we previously created. ####Creating DiscordBot application -- Go to [the Discord developer application page][DiscordApp]. +- Go to [DiscordApp][DiscordApp]. - Log in with your Discord account. - On the left side, press `New Application`. - Fill out the `App Name` (your bot's name, in this case), put the image you want, and add an app description(optional). - Create the application. -- Click on `Create a Bot User` and confirm that you do want to add a bot to this app. +- Once the application is created, click on `Create a Bot User` and confirm it. - Keep this window open for now. ####Setting up Credentials.json file -- In our `NadekoBot` folder you should have another `NadekoBot` folder, then a `src` folder, then *another* `NadekoBot` folder, in this final folder, you should see a `.json` file named `credentials_example.json`. (Note: If you do not see a **.json** after `credentials_example.json `, do not add the `**.json**`. You most likely have `"Hide file extensions"` enabled.) +- In our `NadekoBot` folder you should have `.json` file named `credentials_example.json`. (Note: If you do not see a **.json** after `credentials_example.json `, do not add the `**.json**`. You most likely have `"Hide file extensions"` enabled.) - Rename `credentials_example.json` to `credentials.json`. -- Open the file with [Notepad++][Notepad++]. -- In there you will see fields such as `Token`, `ClientId`, `BotId` and `OwnerIDs`. -- In your [applications page][DiscordApp] (the window you were asked to keep open earlier), under the `Bot User` section, you will see `Token:click to reveal`, click to reveal the token. -- Copy your bot's token, and on the `"Token"` line of your `credentials.json`, replace `null` with your bot token and put quotation marks before and after the token, like so `"Example.Token"` -- Copy the `Client ID` on the page and replace the null part of the `ClientId` line with it, and put quotation marks before and after, like earlier. -- Again, copy the same `Client ID` and replace the null part of the `BotId` line with it, and do **not** put quotation marks before and after the ID. -- Save your `credentials.json` but keep it open. We need to add your `User ID` as one of the `OwnerIds` shortly. +- Open the file with your [Notepad++][Notepad++]. +- In there you will see fields like `Token`, `ClientId`, `BotId`, `OwnerIDs`. +- In your [DiscordApp][DiscordApp], under `Bot User` part, you will see the `Token:click to reveal` part, click to reveal it. +- Copy your bot's token, and put it between `" "` in your `credentials.json` file. +- Copy `Client ID` and replace it with the example one in your `credentials.json` in `Client ID` **and** `BotID` field. +- Save your `credentials.json` but keep it open. We need to put your `User ID` and owner. ####Inviting your bot to your server - [Invite Guide][Invite Guide] - Create a new server in Discord. -- Copy your `Client ID` from your [applications page][DiscordApp]. -- Replace the `12345678` in this link `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with your `Client ID`. -- The link should now look like this: `https://discordapp.com/oauth2/authorize?client_id=**YOUR_CLENT_ID**&scope=bot&permissions=66186303`. -- Go to the newly created link and pick the server we created, and click `Authorize`. -- The bot should have been added to your new server. +- Copy your `Client ID` from your [DiscordApp][DiscordApp]. +- Replace `12345678` in this link `https://discordapp.com/oauth2/authorize?client_id=12345678&scope=bot&permissions=66186303` with your `Client ID`. +- Link should look like this: `https://discordapp.com/oauth2/authorize?client_id=**YOUR_CLENT_ID**&scope=bot&permissions=66186303`. +- Go to newly created link and pick the server we created, and click `Authorize`. +- Bot should be added to your server. ####Starting the bot -- Go to the folder which you extracted the zip to earlier, and run the `NadekoRun.bat` file +- Enter your `NadekoBot` folder that should be (hopefully) in your `Nadeko` folder. +- Run `NadekoBot.exe` (Note: There is `NadekoBot.exe` and `NadekoBot.exe.config`, dont run the second one) - Your bot should now be online in the server we added him to. -- Note: Your bot will be offline in case you close the `NadekoBot` command prompt window. +- Note: Your bot will be offline in case you close `NadekoBot.exe`. ####Setting up OwnerIds - In the server where your bot is, in a text channel, type `.uid` - Your `User ID` should show, copy it. - Close `NadekoBot.exe` -- Replace the `null` section on the `OwnerIds` line with your user ID shown earlier and put a square bracket around each end of the ID like so, `[105635576866156544]` -- Run `NadekoRun.bat` again. -- If done correctly, you are now the bot owner. -- You can add multiple owner IDs by seperating them with a comma within the square brackets. +- Replace your `User ID` in the `credentials.json` between `[ ]` and save the changes. +- Run `NadekoBot.exe` again. +- Now you are the bot owner. +- You can add `User IDs` from the other users by separating IDs with a comma if you want to have more owners. + +`*Alternatively, you can download nadekobot from` [Releases][Releases] `and extract the zip yourself. +That is what updater does, except it makes it easier for you to update because it doesn't overwrite +important files.If you are downloading releases you will have to be careful about your config, +credentials, and other files you edited in order to preserve your data every time you update.` ________________________________________________________________________________ @@ -82,13 +86,13 @@ ________________________________________________________________________________ - On the left tab, access `Credentials`. Click `Create Credentials` button. Click on `API Key`. A new window will appear with your `Google API key`. - Copy the key. - Open up `credentials.json`. - - For `"GoogleAPIKey"`, replace `null` with the new key we copied and put quotation marks before and after the API key, like how the `Token` and `ClientId` should be set up. + - For `"GoogleAPIKey"`, fill in with the new key we copied. - Follow these steps on how to setup Soundcloud API key: - Go to [Soundcloud][Soundcloud]. - Enter a name for the app and create it. - - You will need to fill out an application form to request access to the Soundcloud API. - - All requests for an API key must go through the review process, where applications will be reviewed on a case by case basis, in line with Soundcloud API Terms of Use. If your application is successful, you will receive an API key. -- **Restart your computer**. + - You will see a page with the title of your app, and a field labeled `Client ID`. Copy the ID. + - In `credentials.json`, fill in `"SoundcloudClientID"` with the copied ID. +- Restart your computer. ####Manual `ffmpeg` setup **Do this step in case you were not able to install `ffmpeg` with the installer.** @@ -102,10 +106,9 @@ ________________________________________________________________________________ - Restart your computer. [NET Framework]: https://www.microsoft.com/en-us/download/details.aspx?id=48130 -[.NET SDK]: https://www.microsoft.com/net/core#windows -[Git]: https://git-scm.com/download/win [FFMPEG]: https://github.com/Soundofdarkness/FFMPEG-Installer [7zip]: http://www.7-zip.org/download.html +[Updater]: https://github.com/Kwoth/NadekoUpdater/releases [Releases]: https://github.com/Kwoth/NadekoBot/releases [DiscordApp]: https://discordapp.com/developers/applications/me [Notepad++]: https://notepad-plus-plus.org/ From 93480f9b4d2bce4ac532631fa931c38f8ef47c87 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Thu, 13 Oct 2016 00:32:11 +0200 Subject: [PATCH 129/135] Clash of clans crashfix --- src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs | 5 ++++- src/NadekoBot/NadekoBot.cs | 2 ++ src/NadekoBot/Services/CommandHandler.cs | 2 +- .../Database/Repositories/IClashOfClansRepository.cs | 2 +- .../Database/Repositories/Impl/ClashOfClansRepository.cs | 6 ++++++ 5 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs b/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs index 6bc586fe..89c77f11 100644 --- a/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs +++ b/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs @@ -25,13 +25,16 @@ namespace NadekoBot.Modules.ClashOfClans { ClashWars = new ConcurrentDictionary>( uow.ClashOfClans - .GetAll() + .GetAllWars() .Select(cw => { + if (cw == null || cw.Bases == null) + return null; cw.Channel = NadekoBot.Client.GetGuild(cw.GuildId) ?.GetTextChannel(cw.ChannelId); cw.Bases.Capacity = cw.Size; return cw; }) + .Where(cw => cw?.Channel != null) .GroupBy(cw => cw.GuildId) .ToDictionary(g => g.Key, g => g.ToList())); } diff --git a/src/NadekoBot/NadekoBot.cs b/src/NadekoBot/NadekoBot.cs index 584f7cbc..f43193ba 100644 --- a/src/NadekoBot/NadekoBot.cs +++ b/src/NadekoBot/NadekoBot.cs @@ -36,6 +36,7 @@ namespace NadekoBot public static StatsService Stats { get; private set; } public static ConcurrentDictionary ModulePrefixes { get; private set; } + public static bool Ready { get; private set; } public async Task RunAsync(string[] args) { @@ -97,6 +98,7 @@ namespace NadekoBot #if !GLOBAL_NADEKO await CommandService.Load(new Music(Localizer, CommandService, Client, Google)).ConfigureAwait(false); #endif + Ready = true; Console.WriteLine(await Stats.Print().ConfigureAwait(false)); await Task.Delay(-1); diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index db833d29..21bce20e 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -72,7 +72,7 @@ namespace NadekoBot.Services if (usrMsg == null) return; - if (usrMsg.Author.IsBot) //no bots + if (usrMsg.Author.IsBot || !NadekoBot.Ready) //no bots return; var guild = (msg.Channel as ITextChannel)?.Guild; diff --git a/src/NadekoBot/Services/Database/Repositories/IClashOfClansRepository.cs b/src/NadekoBot/Services/Database/Repositories/IClashOfClansRepository.cs index 1d395d4d..31a4574c 100644 --- a/src/NadekoBot/Services/Database/Repositories/IClashOfClansRepository.cs +++ b/src/NadekoBot/Services/Database/Repositories/IClashOfClansRepository.cs @@ -9,6 +9,6 @@ namespace NadekoBot.Services.Database.Repositories { public interface IClashOfClansRepository : IRepository { - + IEnumerable GetAllWars(); } } diff --git a/src/NadekoBot/Services/Database/Repositories/Impl/ClashOfClansRepository.cs b/src/NadekoBot/Services/Database/Repositories/Impl/ClashOfClansRepository.cs index c2016800..78b2aaf3 100644 --- a/src/NadekoBot/Services/Database/Repositories/Impl/ClashOfClansRepository.cs +++ b/src/NadekoBot/Services/Database/Repositories/Impl/ClashOfClansRepository.cs @@ -13,5 +13,11 @@ namespace NadekoBot.Services.Database.Repositories.Impl public ClashOfClansRepository(DbContext context) : base(context) { } + + public IEnumerable GetAllWars() + { + return _set.Include(cw => cw.Bases) + .ToList(); + } } } From 2d6de49067a03bedf2a4bb7e2a71f9344746b15f Mon Sep 17 00:00:00 2001 From: Kwoth Date: Thu, 13 Oct 2016 00:33:15 +0200 Subject: [PATCH 130/135] Updated commandlist --- docs/Commands List.md | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/docs/Commands List.md b/docs/Commands List.md index 1c2bbf07..70dd28a0 100644 --- a/docs/Commands List.md +++ b/docs/Commands List.md @@ -2,6 +2,7 @@ ### Administration Command and aliases | Description | Usage ----------------|--------------|------- +`.resetperms` | Resets BOT's permissions module on this server to the default value. | `.resetperms` **Requires Administrator server permission.** `.restart` | Restarts the bot. Might not work. | `.restart` **Bot owner only.** `.delmsgoncmd` | Toggles the automatic deletion of user's successful command message to prevent chat flood. **Server Manager Only.** | `.delmsgoncmd` **Requires Administrator server permission.** `.setrole` `.sr` | Sets a role for a given user. | `.sr @User Guest` **Requires ManageRoles server permission.** @@ -86,29 +87,29 @@ Command and aliases | Description | Usage ### CustomReactions Command and aliases | Description | Usage ----------------|--------------|------- -`.addcustreact` `.acr` | Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: | `.acr "hello" Hi there %user%` -`.listcustreact` `.lcr` | Lists global or server custom reactions (15 commands per page). Running the command in DM will list global custom reactions, while running it in server will list that server's custom reactions. | `.lcr 1` -`.delcustreact` `.dcr` | Deletes a custom reaction on a specific index. If ran in DM, it is bot owner only and deletes a global custom reaction. If ran in a server, it requires Administration priviledges and removes server custom reaction. | `.dcr 5` +`#addcustreact` `#acr` | Add a custom reaction with a trigger and a response. Running this command in server requires Administration permission. Running this command in DM is Bot Owner only and adds a new global custom reaction. Guide here: | `.acr "hello" Hi there %user%` +`#listcustreact` `#lcr` | Lists global or server custom reactions (15 commands per page). Running the command in DM will list global custom reactions, while running it in server will list that server's custom reactions. | `.lcr 1` +`#delcustreact` `#dcr` | Deletes a custom reaction on a specific index. If ran in DM, it is bot owner only and deletes a global custom reaction. If ran in a server, it requires Administration priviledges and removes server custom reaction. | `.dcr 5` ### Gambling Command and aliases | Description | Usage ----------------|--------------|------- -`$raffle` | Prints a name and ID of a random user from the online list from the (optional) role. | `$raffle` or `$raffle RoleName` -`$cash` `$$$` | Check how much NadekoFlowers a person has. (Defaults to yourself) | `$$$` or `$$$ @SomeGuy` -`$give` | Give someone a certain amount of currency. | `$give 1 "@SomeGuy"` -`$award` | Awards someone a certain amount of currency. | `$award 100 @person` **Bot owner only.** -`$take` | Takes a certain amount of flowers from someone. | `$take 1 "@someguy"` **Bot owner only.** -`$betroll` `$br` | Bets a certain amount of NadekoFlowers and rolls a dice. Rolling over 66 yields x2 flowers, over 90 - x3 and 100 x10. | `$br 5` -`$leaderboard` `$lb` | Displays bot currency leaderboard. | `$lb` -`$race` | Starts a new animal race. | `$race` -`$joinrace` `$jr` | Joins a new race. You can specify an amount of flowers for betting (optional). You will get YourBet*(participants-1) back if you win. | `$jr` or `$jr 5` -`$roll` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$roll` or `$roll 7` or `$roll 3d5` -`$rolluo` | Rolls X normal dice (up to 30) unordered. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$rolluo` or `$rolluo 7` or `$rolluo 3d5` -`$nroll` | Rolls in a given range. | `$nroll 5` (rolls 0-5) or `$nroll 5-15` -`$draw` | Draws a card from the deck.If you supply number X, she draws up to 5 cards from the deck. | `$draw` or `$draw 5` -`$shuffle` `$sh` | Reshuffles all cards back into the deck. | `$sh` -`$flip` | Flips coin(s) - heads or tails, and shows an image. | `$flip` or `$flip 3` -`$betflip` `$bf` | Bet to guess will the result be heads or tails. Guessing awards you double flowers you've bet. | `$bf 5 heads` or `$bf 3 t` +`xraffle` | Prints a name and ID of a random user from the online list from the (optional) role. | `$raffle` or `$raffle RoleName` +`xcash` `x$$` | Check how much NadekoFlowers a person has. (Defaults to yourself) | `$$$` or `$$$ @SomeGuy` +`xgive` | Give someone a certain amount of currency. | `$give 1 "@SomeGuy"` +`xaward` | Awards someone a certain amount of currency. | `$award 100 @person` **Bot owner only.** +`xtake` | Takes a certain amount of flowers from someone. | `$take 1 "@someguy"` **Bot owner only.** +`xbetroll` `xbr` | Bets a certain amount of NadekoFlowers and rolls a dice. Rolling over 66 yields x2 flowers, over 90 - x3 and 100 x10. | `$br 5` +`xleaderboard` `xlb` | Displays bot currency leaderboard. | `$lb` +`xrace` | Starts a new animal race. | `$race` +`xjoinrace` `xjr` | Joins a new race. You can specify an amount of flowers for betting (optional). You will get YourBet*(participants-1) back if you win. | `$jr` or `$jr 5` +`xroll` | Rolls 0-100. If you supply a number [x] it rolls up to 30 normal dice. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$roll` or `$roll 7` or `$roll 3d5` +`xrolluo` | Rolls X normal dice (up to 30) unordered. If you split 2 numbers with letter d (xdy) it will roll x dice from 1 to y. | `$rolluo` or `$rolluo 7` or `$rolluo 3d5` +`xnroll` | Rolls in a given range. | `$nroll 5` (rolls 0-5) or `$nroll 5-15` +`xdraw` | Draws a card from the deck.If you supply number X, she draws up to 5 cards from the deck. | `$draw` or `$draw 5` +`xshuffle` `xsh` | Reshuffles all cards back into the deck. | `$sh` +`xflip` | Flips coin(s) - heads or tails, and shows an image. | `$flip` or `$flip 3` +`xbetflip` `xbf` | Bet to guess will the result be heads or tails. Guessing awards you double flowers you've bet. | `$bf 5 heads` or `$bf 3 t` ### Games Command and aliases | Description | Usage From b92c59ecd9c0b79d104b94b3e46783940b4877d4 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Thu, 13 Oct 2016 02:00:58 +0200 Subject: [PATCH 131/135] Fixed greet stuff, fixed memelist --- .../Commands/ServerGreetCommands.cs | 4 ++-- .../Searches/Commands/MemegenCommands.cs | 18 ++++++++++++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs index 757ac1e6..fba659ff 100644 --- a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs @@ -43,7 +43,7 @@ namespace NadekoBot.Modules.Administration if (channel == null) //maybe warn the server owner that the channel is missing return; - var msg = conf.ChannelByeMessageText.Replace("%user%", user.Mention).Replace("%server%", user.Guild.Name); + var msg = conf.ChannelByeMessageText.Replace("%user%", user.Username + $" ({user.Id})").Replace("%server%", user.Guild.Name); if (string.IsNullOrWhiteSpace(msg)) return; try @@ -78,7 +78,7 @@ namespace NadekoBot.Modules.Administration var channel = (await user.Guild.GetTextChannelsAsync()).SingleOrDefault(c => c.Id == conf.GreetMessageChannelId); if (channel != null) //maybe warn the server owner that the channel is missing { - var msg = conf.ChannelGreetMessageText.Replace("%user%", user.Username).Replace("%server%", user.Guild.Name); + var msg = conf.ChannelGreetMessageText.Replace("%user%", user.Mention).Replace("%server%", user.Guild.Name); if (!string.IsNullOrWhiteSpace(msg)) { try diff --git a/src/NadekoBot/Modules/Searches/Commands/MemegenCommands.cs b/src/NadekoBot/Modules/Searches/Commands/MemegenCommands.cs index d35c37d2..1015f679 100644 --- a/src/NadekoBot/Modules/Searches/Commands/MemegenCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/MemegenCommands.cs @@ -20,9 +20,23 @@ namespace NadekoBot.Modules.Searches public async Task Memelist(IUserMessage umsg) { var channel = (ITextChannel)umsg.Channel; - using (var http = new HttpClient()) + HttpClientHandler handler = new HttpClientHandler(); + + handler.AllowAutoRedirect = false; + + using (var http = new HttpClient(handler)) { - var data = JsonConvert.DeserializeObject>(await http.GetStringAsync("http://memegen.link/templates/")) + http.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); + string rawJson = ""; + try + { + rawJson = await http.GetStringAsync("https://memegen.link/api/templates/").ConfigureAwait(false); + } + catch (Exception ex) + { + Console.WriteLine(ex); + } + var data = JsonConvert.DeserializeObject>(rawJson) .Select(kvp => Path.GetFileName(kvp.Value)); await channel.SendTableAsync(data, x => $"{x,-17}", 3); From 6c734afa69e69a6973f1d9623f96bc4fe9f73d1d Mon Sep 17 00:00:00 2001 From: Kwoth Date: Thu, 13 Oct 2016 02:31:10 +0200 Subject: [PATCH 132/135] Started fix on imdb, fixed message repeater --- .../Administration/Commands/MessageRepeater.cs | 5 ++++- .../Modules/Searches/Commands/IMDB/ImdbScraper.cs | 13 +++++++------ src/NadekoBot/Modules/Searches/Searches.cs | 3 ++- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs b/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs index 501de4f2..0a5d7a20 100644 --- a/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs +++ b/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs @@ -46,12 +46,15 @@ namespace NadekoBot.Modules.Administration { source = new CancellationTokenSource(); token = source.Token; + IUserMessage oldMsg = null; try { while (!token.IsCancellationRequested) { await Task.Delay(Repeater.Interval, token).ConfigureAwait(false); - try { await Channel.SendMessageAsync("🔄 " + Repeater.Message).ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); try { source.Cancel(); } catch { } } + if (oldMsg != null) + try { await oldMsg.DeleteAsync(); } catch { } + try { oldMsg = await Channel.SendMessageAsync("🔄 " + Repeater.Message).ConfigureAwait(false); } catch (Exception ex) { _log.Warn(ex); try { source.Cancel(); } catch { } } } } catch (OperationCanceledException) { } diff --git a/src/NadekoBot/Modules/Searches/Commands/IMDB/ImdbScraper.cs b/src/NadekoBot/Modules/Searches/Commands/IMDB/ImdbScraper.cs index 32f2c34f..ce8f8a37 100644 --- a/src/NadekoBot/Modules/Searches/Commands/IMDB/ImdbScraper.cs +++ b/src/NadekoBot/Modules/Searches/Commands/IMDB/ImdbScraper.cs @@ -1,4 +1,5 @@ -using NadekoBot.Modules.Searches.Models; +using NadekoBot.Extensions; +using NadekoBot.Modules.Searches.Models; using System; using System.Collections.Generic; using System.Linq; @@ -71,7 +72,7 @@ namespace NadekoBot.Modules.Searches.IMDB mov.Status = true; mov.Title = Match(@"(IMDb \- )*(.*?) \(.*?", html, 2); mov.OriginalTitle = Match(@"title-extra"">(.*?)<", html); - mov.Year = Match(@".*?\(.*?(\d{4}).*?).*?", Match(@"(.*?)", html)); + mov.Year = Match(@".*?\(.*?(\d{4}).*?\).*?", Match(@"(.*?)", html)); mov.Rating = Match(@"(\d.\d)/10", html); mov.Genres = MatchAll(@"(.*?)
", Match(@"Genre.?:(.*?)(|See more)", html)).Cast().ToList(); mov.Plot = Match(@"Plot:

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 N>4AY>;?RWI{{=OR6QckC literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/king_of_clubs.jpg b/src/NadekoBot/data/images/cards/king_of_clubs.jpg new file mode 100644 index 0000000000000000000000000000000000000000..01955d28419e0b5b19db8527d4bce2b4d146d094 GIT binary patch literal 9331 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%0AIV4=P^{zsy<7!i2#~H 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 n^0l6onklq4F6G7=xq~)cF^iGrxp(z4_ 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%0D&dIF!jiYBRJ#4QgG*r7H4HyP z*gJ1VBhHo_f3LiWljMg^L)e9Z4vlie1{uhbR)1kB5vgB zfWd9!C=w$758(m)hw%6`AHqa3pQ{$6Kx(IVjtJ0^gmMxAROUoL%2;m?5%Ac*_Uig* z=h6RWEutfqD`1D5ILk4s=6@cy@6KKQC@Va{U@fMh{?x>@P}erY!~nT4Bg&DOQSK$(LQd1QuU|JKtt=n*VWa z%&xSDw>}blH|V5E=oeH28MZdObC*l$7L%;2^4ROX2izrsReER7Ypm{h!xfi7DfiN>ofx%a2-`+Qrp9bxttGzMnp4(HIY>14fAIvW=D@X(^ z&}GQ7SmJRm%Cg1r9ZiHDlLK(h76+4Dd#WnuKZ%fa)gV8@;Trs-iey_*IDc_)|e zf|WGM6xAkkll?0$$2XT)@HE(5o0+|XrY`nvuI62zpVCeFa);t7j$)%49~=JS`x`G>D;?ji?ob<+TAjH2K$}h_EHUjGy^2H1Ys8nH12A7uU=NHHs)(g9 z$3@m|6Zoeb!x%4(xbmm=GWMEYtI3PMuUE^s-n|EW;+0Jvoo?TMX&TWxRfnVTfss|G z3MEXjEbFxGrEV2zD9`HQkLi-Sl;-z_Uo?)m>oI95OrD!xEe*}Y)jj=*9Y-kdE*RWf z^wO!WS<+sUMqZxQcWLrLHM*D-$)sSI3EW7h^3}rL`MKvUfeOk6rm2F?LyTTBULC8A z8p%q+%lb6BT{ORc9IdHfQWqD0#RC%4`%;TIG!SetxF2Q|MskxWw{utcPHQ?C6G*?6 ziBc{fv=`eVx%4q0EQ{~(&j&BQKxaDNmM+cjM(+0~M!4(3LMo&s$FGu|4v)V-xxb*E^bmzL!Bf7hTVAQ`9YX zm)j&IL4f(Yd-c17e~T$h_I_iEt#BixU6UqS!O1xQJ|pEq+jE#&)p)f0Zbr~E;Idd< zTh&|>^dE$!z<&~!)5^)f+g3qn4{5Vx(3GE~mv)+g!XC&ll^so$@nD$Knt3HnnJiGC zn7*P8aqlkLRl;1jJH-72Q#$Fx z^H;Cg@J)940am_N>oc)>6|s`M)tR{P@f?!`f+X%Yf{z~0P_c#7LwEte0^4W4(n#US zlWSJgElIp=sciW+ddvD_kr}lmtE9A6xq$1~9^1+<4(5!e@gB~7raxa52e-N!UfSry za5=>d5CMFH9-eKck3*jE8VELWYc#SLNcb2C7JTjujF$;+!Z0x*w)5N{eg6?SAqr}2 z+Y4)!L-a;fj@X|b?uQ3$YcdeT-IlKVkA$KvW7tn6<<InBdLVqXHm;W8A{ftl)Cj1LJ@72^!UE>ccG1ym98dLuS=Bi$ zAjvGHXb-7OFFV9nS$t}jZ~SbfEIDh7J)IQTnd@GjYE7INE@(cTBuE7f>>n9q&s*7= zI2E_Iq-7xOg_W#z#Z&Zq`k|TNbZ>j!iVW8$Yi%A6o`Ide3k^F}w0Z6w!@*BgewZm1 zs*+NVpzUx|cT$jA$^gH^X?%Tjbyt#_zx_=ZHbTK}E(8r~;TBeM z@4vX1dQ~gs*fK%Z8gKmM5wQQVH!sHd`xAXia-A?wLv2-r*$3|mDMq?a5-%k#7&R8F$?&S31_g0?J7`!R6zzd9y8G1L^2Fs;J@9j#Cy)WxvKsDat)^mz@Ur$-fek?$!j@I^_jvP zFOM9WtObUK=08-)_t4~=zW(MfA?Y>~H4TnC9t*v{@_6u_+`O=Le8!5FVprcmad>J2 zSb6fC8y&b?%G3{w1T%Kt#mlrLcyVYIZceLpRQXVxX4`X&zx0M>pyx{pu=^`(YvRa)c3WLAb$zUwf_EBBvcfRJm}GT2<0=yd)<0!2{O@IJFoWR=Vvu9ZBxL(6M$DGOK(} z1hAxC+p_DzOB_%}{CX9!tgwXFVYRGC9-|D%H zkkw^K>`7rq=DS3dZ!*5KqWa)Mp)oTWLCOQUO2@${I)xy^McUQ4!6#U!v(xE9syqYN zoaai@SRLN;S?B~>82aTrgx9sG-V7BEaSt4p=~D@n@(TD4DoyX&s0@XFBhLO02Y$yN literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/king_of_hearts.jpg b/src/NadekoBot/data/images/cards/king_of_hearts.jpg new file mode 100644 index 0000000000000000000000000000000000000000..467b0cecd50949214326773c35f700a1580f5ac2 GIT binary patch literal 9541 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 literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/king_of_spades.jpg b/src/NadekoBot/data/images/cards/king_of_spades.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5e7a6857065c352ba5d9316fe9461e0569d249e2 GIT binary patch literal 9248 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

n`(zW?ibx0xq|k&!wNVv4L~86q3;8VYe+&9y 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 literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/queen_of_spades.jpg b/src/NadekoBot/data/images/cards/queen_of_spades.jpg new file mode 100644 index 0000000000000000000000000000000000000000..69e953157e7bd02c50f4364c560ae2de6a932266 GIT binary patch literal 9613 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 V{@|Mju~|h$eInS9n~FU5KL9$X=ehs@ literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/cards/red_joker.jpg b/src/NadekoBot/data/images/cards/red_joker.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1e909c5bc8b0b4874360564b4bd693d8b44b811c GIT binary patch literal 5742 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 s1Fq$C6Ny?_Y2J$_OHtLo9xztq{)c^nh literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/coins/heads.png b/src/NadekoBot/data/images/coins/heads.png new file mode 100644 index 0000000000000000000000000000000000000000..95fb73364054f9625cea4c3dacb0919b2f2928e9 GIT binary patch literal 11437 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 Hu0mjf#oluf literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/coins/tails.png b/src/NadekoBot/data/images/coins/tails.png new file mode 100644 index 0000000000000000000000000000000000000000..c3cc8d19f6d01ffdf4905431a4c5a5acfe1c7d83 GIT binary patch literal 11404 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 A>i_@% literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/dice/1.png b/src/NadekoBot/data/images/dice/1.png new file mode 100644 index 0000000000000000000000000000000000000000..bc1fbc3e3b67d7d981bf15f18634f3b04d6cc2d4 GIT binary patch literal 1006 zcmV86oz?&eT034d4v`HNZZoU&_hRoV7W9<4F&yB&{2%&=&0zBwxB{3(9vn`(7%QlEq^2-TLg2S1J`2CAZrAo7!G3 zmp`n}bUvSdiOHIE@DH3AwZI<%RVWmG2Ewp-AW>-Db5~&5aQwKm_C63t~E*N?&xnUbF3X%l7-d>*w?NQ{8(lTz|D%Nw;@4o7q3K z5DK~u?d|7_QuW_qbi12coH+j?f~hzs!Y{Ih=@TXSw-xQ2=UEc^ng@V zn3Exb66HG&o@hmiOvFsmcXurSTKphP$c(x_N??!!{ZcZ&ljPl2WO`PFc=;EpJ1zq1 z&zN6G(H#bYBXv*S>HjI0z#;6FU048#7bP$n@!1O?h#c3ZMG<7%P2%Oi6(YP)Apgcm zSZ*R}OJs-~w^#HElC}rJ@GhuAYH!6CR9RRseo3!1gWlpSQ8Q5t1eV`PXS3OFytw}W z_B3~3L;{yU0000jbVXQnQ*UN;cVTj60AhJAVr*}3WMp|RV{&KQK cGBibQV{c?-a;OG>?f?J)07*qoM6N<$f{#YUy8r+H literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/dice/2.png b/src/NadekoBot/data/images/dice/2.png new file mode 100644 index 0000000000000000000000000000000000000000..2e2016ebff2cf3c3b51c0abc533f0a96184c5298 GIT binary patch literal 1070 zcmV+}1kwA6P)L{QP9Q-Hz#Ghr@wwHk;#@Gaiov{eZ8&A(ZxjIKO;gBd7&| zSg+U21OpuO6@8ZZgkj_Y854{YHq>f0>4~e=ikWH{Rx;n7=J zC5F5s8b%Z)$6P|gg?9&u3k)*&!h-_e-3a+eP*RCI3_lcJln@6Y5R-GpB{}5;2qr4$ z^NP3|d{mAQB%rt(d{hF08K0`n=X2I*G*~8+IceC2eY%@}jv@r2nmaK4eRz0a_xJbQ zhJ83jXM?YSK=%8+Qe-?nJ_=z_!!bHX3Vf9UK?tcBhC~nyYB<(}VZ#N2haweACX>oQ zaIDUT2o?gt{aM9SVNf$+PQnF(N9S7u0-uFIROcVEyNhW|B&4x~U--|b$@qNqBM zzS~uO`+qHq;w8KE?f)$Tfrvo}ME7#cD5?&qJd+Cq)yq0t6jcX-MRz)vbBA4Z;4kwQ z0?|E>gjsb!`9lgswG#2#krGDLfl}e_tvuvGZKYi6{+04>Q|(-O<^h4$?AGKV{*rDU zkfU1rT$YMkuu7S?X~t7k!FNxHNSeEDxBCw@3>~N&<6`iICozNXE|9jT%8a`R5k80{ ztMJ_wAwC}$Js?#T{;?v0V)C5_PqZRMCVVF8ySEkqEq)LrWX8PTBrwQ<=TfrsMw0iV zBGb1b#NAhzH3i(H#VWBXv)m=>I8~ph4KHy08EeFQ&lgMAQo)h#Ia0!B{D<}w^u|3N!z6`{0pj(+B@b8s*D{Nzm!*+LA1C_)O^GY z1eV`PXS3OFJiq?}yQ+7`F22F#0000jbVXQnQ*UN;cVTj60AhJAVr*}3WMp|RV{&KQKGBibQV{c?-a;OG>?f?J)07*qoM6N<$f;434-2eap literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/dice/3.png b/src/NadekoBot/data/images/dice/3.png new file mode 100644 index 0000000000000000000000000000000000000000..1e099590921f7698f68bc3d6ad1862806c1684b6 GIT binary patch literal 1115 zcmV-h1f=_kP)8+_5XX6gdxU$0Ji>`S(zSFn=|h(yN-jVXs!-5}f-c1=T{&X#9wMp`8?cD(arcD*~^|7J1@yS=^rUMv>#4-XH|&d(;5a=9#QDo&mM zP~A(V(r@SI_1)dwMaI;elYihs+Z;ay)cyVaPb~~58lLZU$hbmLWe$VwOWDya6BH1`Ft)uKR*R0+wFE@y&R-e44-i~{}@FH#I*0g@b~ia zQe?APX~AbWhqJ-gKp@-g)+jQruCA0YsNfvVkpf?}KoCMEh9(gNg9^^Iq1i}*U{Yja zxm?Z|2+rkfh+riUJfBU>6b2O=#w1c8m^!Bo2z*uoF&%&Co-VdE85)oL7m&xt$Ha81 zp#VWgWD+IZqa!pRux_`j9gE;IoRbL7L?+-AyWAl!g(OC7`xgj?!>#bcLK>VU<-j8p1> z)zFfk)NI|DfbNgt3fQwP=q2|IOQHIOJ$2UY`#B6XkzV)|}3E{h^{pnbP%`u0CA zi(;m%efytAAP_MqfpA}r8Aa-VmS;+VVD&O*iz0Opxaf}aa_+EG2mWQ=N+8_(kuXyS z)PHD!n65;OJ5s_(9T+X#P0J(?YAfTl?q6BnZL1wi&paT|nx#!1;$PA&1LCT+k7cQN z1e+}Lw#{U!D){aR5lM5`ZnyuThNc5`V^R#h$RuX)eGjDRsWOu;LWB=0$trx`ix8jO zO%F&_g~W;qip@_R%xG1LO!!RFcW*BM+Wa6$$c%BnO<>Rm9!trN3rXHxMW$~@h>NdC z-Ek98=h(lHqB{tLMCzVD(En3kf&yW$>Ba)+crgSX+7!XG-Xvbu?hxUJ z0{J&C!gdq3ZIPiWc)TJiNZPK2;one&)ZPi-P-W!6_+`A)45DSfMNKbZAh7+;_07%A zH<{mm0f8WRE=Z<5{r~^~Ep$a#bW?9;ba!ELWdLG%E@EtNZ)9Y7E@N_eaCC1jX>DO= hWiC)oM=~@;Zewp`Wpbznf9?PP002ovPDHLkV1mwn`ab{w literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/dice/4.png b/src/NadekoBot/data/images/dice/4.png new file mode 100644 index 0000000000000000000000000000000000000000..b9be3c4f0caf0e2eb97021079cdd2c00b769064b GIT binary patch literal 1089 zcmV-H1it%;P)22g5XX6gdxU$0Ji>`S(zSFn^rTA>!9i%C3Pt)*q)QRe(NWPMT|tE?NS7{re#KjGl~B-h=)+E@6Z;RxaE{KFqT4TGjRb-w#4$9@xJpsMxwR~eN%*BPi4+K4ozD#jVpam-jz6NZ ze3D%z3BNQR`6nRNYW2S))g=6C0fI!txm!A0M^b*Z0D%n#gUB%fKEpY>O}AfdK{_${&$HxGNFqj+s3B&sw;9E-!gdTd~)= ze`R^Msdgwm3xGgtc5d>J@RDvB5MQl*C`-j7n6u2=G?S^S5PKj*B+Xs7+x?3gx(?Kh zwisfONz4%Y4oEvtW!f%6L<}m)Dq`P>5byj=4@gyoFIH4gOn&mG0GDAB;Tzp094kw^~iur{U-Ekl!Qupkh{-1IQ3WUAf zjRlZ+F$6{>lHLG8Rp6U8Mc~$(#LJO8M1-M0{*8;U-GpgdWT*-ruV@t{ZI6Tz-cW_q z-j;8uGV);jV(&DA*0S58W@s4*Y`>GgzP|n@i~A2omUxxFUOF%U001p?MObuGZ)S9N zVRB^vVtFoNY;SL5WO*)Qa(QrcZ!T$VVP|D7P)Z)9b1s0M%T00000NkvXX Hu0mjfSF`;k literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/dice/5.png b/src/NadekoBot/data/images/dice/5.png new file mode 100644 index 0000000000000000000000000000000000000000..c25c5752e819457ddc0471de9d482e15f53ac5cc GIT binary patch literal 1136 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 IM6N<$g5%nrZ~y=R literal 0 HcmV?d00001 diff --git a/src/NadekoBot/data/images/dice/8.png b/src/NadekoBot/data/images/dice/8.png new file mode 100644 index 0000000000000000000000000000000000000000..ff1e0ac32adfbdad963f9ab2b9e40be25cb692b9 GIT binary patch literal 1392 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 1.16.0.466", "Google.Apis.Urlshortener.v1 >= 1.15.0.138", "Google.Apis.YouTube.v3 >= 1.15.0.582", - "ImageProcessorCore >= 1.0.0-alpha1039", + "ImageProcessorCore >= 1.0.0-alpha-1021", "Microsoft.EntityFrameworkCore >= 1.0.0", "Microsoft.EntityFrameworkCore.Design >= 1.0.0-preview2-final", "Microsoft.EntityFrameworkCore.Sqlite >= 1.0.0", From a4cc1ab563dfd9ccb1216e460dffb220117b090c Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 14 Sep 2016 03:38:44 +0200 Subject: [PATCH 003/135] Hopefuly fixed build. Added ~hs back. Good night --- src/NadekoBot/Attributes/NadekoModule.cs | 3 +- .../Gambling/Commands/DiceRollCommand.cs | 435 +++++++++--------- src/NadekoBot/Modules/NSFW/NSFW.cs | 4 +- src/NadekoBot/Modules/Searches/Searches.cs | 102 ++-- src/NadekoBot/NadekoBot.cs | 10 +- src/NadekoBot/NuGet.Config | 19 + .../Resources/CommandStrings.Designer.cs | 54 +-- src/NadekoBot/Resources/CommandStrings.resx | 8 +- .../Services/Database/NadekoContext.cs | 6 + 9 files changed, 340 insertions(+), 301 deletions(-) create mode 100644 src/NadekoBot/NuGet.Config diff --git a/src/NadekoBot/Attributes/NadekoModule.cs b/src/NadekoBot/Attributes/NadekoModule.cs index 68f7db5f..c685078b 100644 --- a/src/NadekoBot/Attributes/NadekoModule.cs +++ b/src/NadekoBot/Attributes/NadekoModule.cs @@ -40,11 +40,10 @@ namespace NadekoBot.Attributes string prefix; if (ModulePrefixes.TryGetValue(moduleName, out prefix)) { - Console.WriteLine("Cache hit"); return prefix; } - Console.WriteLine("Cache not hit for " + moduleName); + NLog.LogManager.GetCurrentClassLogger().Warn("Cache not hit for {0}", moduleName); return null; } } diff --git a/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs index 0db9b5d1..95ab1cf8 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs @@ -16,245 +16,250 @@ namespace NadekoBot.Modules.Gambling { public partial class Gambling { - private Regex dndRegex { get; } = new Regex(@"(?\d+)d(?\d+)", RegexOptions.Compiled); - - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - [RequireContext(ContextType.Guild)] - public async Task Roll(IUserMessage umsg) + [Group] + public class DriceRollCommands { - var channel = (ITextChannel)umsg.Channel; - if (channel == null) - return; - var rng = new NadekoRandom(); - var gen = rng.Next(1, 101); + private Regex dndRegex { get; } = new Regex(@"(?\d+)d(?\d+)", RegexOptions.Compiled); - var num1 = gen / 10; - var num2 = gen % 10; - var imageStream = await Task.Run(() => + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task Roll(IUserMessage umsg) { + var channel = (ITextChannel)umsg.Channel; + if (channel == null) + return; + var rng = new NadekoRandom(); + var gen = rng.Next(1, 101); + + var num1 = gen / 10; + var num2 = gen % 10; + var imageStream = await Task.Run(() => + { + var ms = new MemoryStream(); + new[] { GetDice(num1), GetDice(num2) }.Merge().SaveAsPng(ms); + ms.Position = 0; + return ms; + }); + + await channel.SendFileAsync(imageStream, "dice.png", $"{umsg.Author.Mention} rolled " + Format.Code(gen.ToString())).ConfigureAwait(false); + } + //todo merge into internallDndRoll and internalRoll + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task Roll(IUserMessage umsg, string arg) + { + var channel = (ITextChannel)umsg.Channel; + if (channel == null) + return; + + var ordered = true; + var rng = new NadekoRandom(); + Match match; + if ((match = dndRegex.Match(arg)).Length != 0) + { + int n1; + int n2; + if (int.TryParse(match.Groups["n1"].ToString(), out n1) && + int.TryParse(match.Groups["n2"].ToString(), out n2) && + n1 <= 50 && n2 <= 100000 && n1 > 0 && n2 > 0) + { + var arr = new int[n1]; + for (int i = 0; i < n1; i++) + { + arr[i] = rng.Next(1, n2 + 1); + } + var elemCnt = 0; + await channel.SendMessageAsync($"`{umsg.Author.Mention} rolled {n1} {(n1 == 1 ? "die" : "dice")} 1-{n2}.`\n`Result:` " + string.Join(", ", (ordered ? arr.OrderBy(x => x).AsEnumerable() : arr).Select(x => elemCnt++ % 2 == 0 ? $"**{x}**" : x.ToString()))).ConfigureAwait(false); + } + } + } + + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task Roll(IUserMessage umsg, int num) + { + var channel = (ITextChannel)umsg.Channel; + if (channel == null) + return; + + var ordered = true; + + if (num < 1 || num > 30) + { + await channel.SendMessageAsync("Invalid number specified. You can roll up to 1-30 dice at a time.").ConfigureAwait(false); + num = 30; + return; + } + + var rng = new NadekoRandom(); + + var dice = new List(num); + var values = new List(num); + for (var i = 0; i < num; i++) + { + var randomNumber = rng.Next(1, 7); + var toInsert = dice.Count; + if (ordered) + { + if (randomNumber == 6 || dice.Count == 0) + toInsert = 0; + else if (randomNumber != 1) + for (var j = 0; j < dice.Count; j++) + { + if (values[j] < randomNumber) + { + toInsert = j; + break; + } + } + } + else + { + toInsert = dice.Count; + } + dice.Insert(toInsert, GetDice(randomNumber)); + values.Insert(toInsert, randomNumber); + } + + var bitmap = dice.Merge(); var ms = new MemoryStream(); - new[] { GetDice(num1), GetDice(num2) }.Merge().SaveAsPng(ms); + bitmap.SaveAsPng(ms); ms.Position = 0; - return ms; - }); - - await channel.SendFileAsync(imageStream, "dice.png", $"{umsg.Author.Mention} rolled " + Format.Code(gen.ToString())).ConfigureAwait(false); - } - - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - [RequireContext(ContextType.Guild)] - public async Task Roll(IUserMessage umsg, int num) - { - var channel = (ITextChannel)umsg.Channel; - if (channel == null) - return; - - var ordered = true; - - if (num < 1 || num > 30) - { - await channel.SendMessageAsync("Invalid number specified. You can roll up to 1-30 dice at a time.").ConfigureAwait(false); - num = 30; + await channel.SendFileAsync(ms, "dice.png", $"{umsg.Author.Mention} rolled {values.Count} {(values.Count == 1 ? "die" : "dice")}. Total: **{values.Sum()}** Average: **{(values.Sum() / (1.0f * values.Count)).ToString("N2")}**").ConfigureAwait(false); } - var rng = new NadekoRandom(); - - var dice = new List(num); - var values = new List(num); - for (var i = 0; i < num; i++) + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task Rolluo(IUserMessage umsg, string arg) { - var randomNumber = rng.Next(1, 7); - var toInsert = dice.Count; - if (ordered) - { - if (randomNumber == 6 || dice.Count == 0) - toInsert = 0; - else if (randomNumber != 1) - for (var j = 0; j < dice.Count; j++) - { - if (values[j] < randomNumber) - { - toInsert = j; - break; - } - } - } - else - { - toInsert = dice.Count; - } - dice.Insert(toInsert, GetDice(randomNumber)); - values.Insert(toInsert, randomNumber); - } + var channel = (ITextChannel)umsg.Channel; + if (channel == null) + return; - var bitmap = dice.Merge(); - var ms = new MemoryStream(); - bitmap.SaveAsPng(ms); - ms.Position = 0; - await channel.SendFileAsync(ms, "dice.png", $"{umsg.Author.Mention} rolled {values.Count} {(values.Count == 1 ? "die" : "dice")}. Total: **{values.Sum()}** Average: **{(values.Sum() / (1.0f * values.Count)).ToString("N2")}**").ConfigureAwait(false); - } - //todo merge into internallDndRoll and internalRoll - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - [RequireContext(ContextType.Guild)] - public async Task Roll(IUserMessage umsg, string arg = "") - { - var channel = (ITextChannel)umsg.Channel; - if (channel == null) - return; - - var ordered = true; - var rng = new NadekoRandom(); - Match match; - if ((match = dndRegex.Match(arg)).Length != 0) - { - int n1; - int n2; - if (int.TryParse(match.Groups["n1"].ToString(), out n1) && - int.TryParse(match.Groups["n2"].ToString(), out n2) && - n1 <= 50 && n2 <= 100000 && n1 > 0 && n2 > 0) + var ordered = false; + var rng = new NadekoRandom(); + Match match; + if ((match = dndRegex.Match(arg)).Length != 0) { - var arr = new int[n1]; - for (int i = 0; i < n1; i++) + int n1; + int n2; + if (int.TryParse(match.Groups["n1"].ToString(), out n1) && + int.TryParse(match.Groups["n2"].ToString(), out n2) && + n1 <= 50 && n2 <= 100000 && n1 > 0 && n2 > 0) { - arr[i] = rng.Next(1, n2 + 1); - } - var elemCnt = 0; - await channel.SendMessageAsync($"`{umsg.Author.Mention} rolled {n1} {(n1 == 1 ? "die" : "dice")} 1-{n2}.`\n`Result:` " + string.Join(", ", (ordered ? arr.OrderBy(x => x).AsEnumerable() : arr).Select(x => elemCnt++ % 2 == 0 ? $"**{x}**" : x.ToString()))).ConfigureAwait(false); - } - } - } - - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - [RequireContext(ContextType.Guild)] - public async Task Rolluo(IUserMessage umsg, string arg = "") - { - var channel = (ITextChannel)umsg.Channel; - if (channel == null) - return; - - var ordered = false; - var rng = new NadekoRandom(); - Match match; - if ((match = dndRegex.Match(arg)).Length != 0) - { - int n1; - int n2; - if (int.TryParse(match.Groups["n1"].ToString(), out n1) && - int.TryParse(match.Groups["n2"].ToString(), out n2) && - n1 <= 50 && n2 <= 100000 && n1 > 0 && n2 > 0) - { - var arr = new int[n1]; - for (int i = 0; i < n1; i++) - { - arr[i] = rng.Next(1, n2 + 1); - } - var elemCnt = 0; - await channel.SendMessageAsync($"`{umsg.Author.Mention} rolled {n1} {(n1 == 1 ? "die" : "dice")} 1-{n2}.`\n`Result:` " + string.Join(", ", (ordered ? arr.OrderBy(x => x).AsEnumerable() : arr).Select(x => elemCnt++ % 2 == 0 ? $"**{x}**" : x.ToString()))).ConfigureAwait(false); - } - } - } - - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - [RequireContext(ContextType.Guild)] - public async Task Rolluo(IUserMessage umsg, int num) - { - var channel = (ITextChannel)umsg.Channel; - if (channel == null) - return; - - var ordered = true; - - if (num < 1 || num > 30) - { - await channel.SendMessageAsync("Invalid number specified. You can roll up to 1-30 dice at a time.").ConfigureAwait(false); - num = 30; - } - - var rng = new NadekoRandom(); - - var dice = new List(num); - var values = new List(num); - for (var i = 0; i < num; i++) - { - var randomNumber = rng.Next(1, 7); - var toInsert = dice.Count; - if (ordered) - { - if (randomNumber == 6 || dice.Count == 0) - toInsert = 0; - else if (randomNumber != 1) - for (var j = 0; j < dice.Count; j++) + var arr = new int[n1]; + for (int i = 0; i < n1; i++) { - if (values[j] < randomNumber) - { - toInsert = j; - break; - } + arr[i] = rng.Next(1, n2 + 1); } + var elemCnt = 0; + await channel.SendMessageAsync($"`{umsg.Author.Mention} rolled {n1} {(n1 == 1 ? "die" : "dice")} 1-{n2}.`\n`Result:` " + string.Join(", ", (ordered ? arr.OrderBy(x => x).AsEnumerable() : arr).Select(x => elemCnt++ % 2 == 0 ? $"**{x}**" : x.ToString()))).ConfigureAwait(false); + } } - else + } + + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task Rolluo(IUserMessage umsg, int num) + { + var channel = (ITextChannel)umsg.Channel; + if (channel == null) + return; + + var ordered = false; + + if (num < 1 || num > 30) { - toInsert = dice.Count; + await channel.SendMessageAsync("Invalid number specified. You can roll up to 1-30 dice at a time.").ConfigureAwait(false); + num = 30; } - dice.Insert(toInsert, GetDice(randomNumber)); - values.Insert(toInsert, randomNumber); - } - var bitmap = dice.Merge(); - var ms = new MemoryStream(); - bitmap.SaveAsPng(ms); - ms.Position = 0; - await channel.SendFileAsync(ms, "dice.png", $"{umsg.Author.Mention} rolled {values.Count} {(values.Count == 1 ? "die" : "dice")}. Total: **{values.Sum()}** Average: **{(values.Sum() / (1.0f * values.Count)).ToString("N2")}**").ConfigureAwait(false); - } + var rng = new NadekoRandom(); - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - [RequireContext(ContextType.Guild)] - public async Task NRoll(IUserMessage umsg, [Remainder] string range) - { - var channel = (ITextChannel)umsg.Channel; - - try - { - int rolled; - if (range.Contains("-")) + var dice = new List(num); + var values = new List(num); + for (var i = 0; i < num; i++) { - var arr = range.Split('-') - .Take(2) - .Select(int.Parse) - .ToArray(); - if (arr[0] > arr[1]) - throw new ArgumentException("First argument should be bigger than the second one."); - rolled = new NadekoRandom().Next(arr[0], arr[1] + 1); + var randomNumber = rng.Next(1, 7); + var toInsert = dice.Count; + if (ordered) + { + if (randomNumber == 6 || dice.Count == 0) + toInsert = 0; + else if (randomNumber != 1) + for (var j = 0; j < dice.Count; j++) + { + if (values[j] < randomNumber) + { + toInsert = j; + break; + } + } + } + else + { + toInsert = dice.Count; + } + dice.Insert(toInsert, GetDice(randomNumber)); + values.Insert(toInsert, randomNumber); } - else + + var bitmap = dice.Merge(); + var ms = new MemoryStream(); + bitmap.SaveAsPng(ms); + ms.Position = 0; + await channel.SendFileAsync(ms, "dice.png", $"{umsg.Author.Mention} rolled {values.Count} {(values.Count == 1 ? "die" : "dice")}. Total: **{values.Sum()}** Average: **{(values.Sum() / (1.0f * values.Count)).ToString("N2")}**").ConfigureAwait(false); + } + + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task NRoll(IUserMessage umsg, [Remainder] string range) + { + var channel = (ITextChannel)umsg.Channel; + + try { - rolled = new NadekoRandom().Next(0, int.Parse(range) + 1); + int rolled; + if (range.Contains("-")) + { + var arr = range.Split('-') + .Take(2) + .Select(int.Parse) + .ToArray(); + if (arr[0] > arr[1]) + throw new ArgumentException("First argument should be bigger than the second one."); + rolled = new NadekoRandom().Next(arr[0], arr[1] + 1); + } + else + { + rolled = new NadekoRandom().Next(0, int.Parse(range) + 1); + } + + await channel.SendMessageAsync($"{umsg.Author.Mention} rolled **{rolled}**.").ConfigureAwait(false); + } + catch (Exception ex) + { + await channel.SendMessageAsync($":anger: {ex.Message}").ConfigureAwait(false); + } + } + + private Image GetDice(int num) + { + const string pathToImage = "data/images/dice"; + if (num != 10) + { + using (var stream = File.OpenRead(Path.Combine(pathToImage, $"{num}.png"))) + return new Image(stream); } - await channel.SendMessageAsync($"{umsg.Author.Mention} rolled **{rolled}**.").ConfigureAwait(false); - } - catch (Exception ex) - { - await channel.SendMessageAsync($":anger: {ex.Message}").ConfigureAwait(false); - } - } + using (var one = File.OpenRead(Path.Combine(pathToImage, "1.png"))) + using (var zero = File.OpenRead(Path.Combine(pathToImage, "0.png"))) + { + Image imgOne = new Image(one); + Image imgZero = new Image(zero); - private Image GetDice(int num) - { - const string pathToImage = "data/images/dice"; - if(num != 10) - { - using (var stream = File.OpenRead(Path.Combine(pathToImage, $"{num}.png"))) - return new Image(stream); - } - - using (var one = File.OpenRead(Path.Combine(pathToImage, "1.png"))) - using (var zero = File.OpenRead(Path.Combine(pathToImage, "0.png"))) - { - Image imgOne = new Image(one); - Image imgZero = new Image(zero); - - return new[] { imgOne, imgZero }.Merge(); + return new[] { imgOne, imgZero }.Merge(); + } } } } diff --git a/src/NadekoBot/Modules/NSFW/NSFW.cs b/src/NadekoBot/Modules/NSFW/NSFW.cs index ae9f6c19..cbcfc15d 100644 --- a/src/NadekoBot/Modules/NSFW/NSFW.cs +++ b/src/NadekoBot/Modules/NSFW/NSFW.cs @@ -62,7 +62,7 @@ namespace NadekoBot.Modules.NSFW var channel = (ITextChannel)umsg.Channel; tag = tag?.Trim() ?? ""; - var link = await GetRule34ImageLink(tag).ConfigureAwait(false); + var link = await GetGelbooruImageLink(tag).ConfigureAwait(false); if (string.IsNullOrWhiteSpace(link)) await channel.SendMessageAsync("Search yielded no results ;("); else @@ -76,7 +76,7 @@ namespace NadekoBot.Modules.NSFW var channel = (ITextChannel)umsg.Channel; tag = tag?.Trim() ?? ""; - var link = await GetGelbooruImageLink(tag).ConfigureAwait(false); + var link = await GetRule34ImageLink(tag).ConfigureAwait(false); if (string.IsNullOrWhiteSpace(link)) await channel.SendMessageAsync("Search yielded no results ;("); else diff --git a/src/NadekoBot/Modules/Searches/Searches.cs b/src/NadekoBot/Modules/Searches/Searches.cs index 0ac25ca1..6a0558ec 100644 --- a/src/NadekoBot/Modules/Searches/Searches.cs +++ b/src/NadekoBot/Modules/Searches/Searches.cs @@ -13,6 +13,10 @@ using System.Net; using Discord.WebSocket; using NadekoBot.Modules.Searches.Models; using NadekoBot.Modules.Searches.IMDB; +using System.Collections.Generic; +using ImageProcessorCore; +using NadekoBot.Extensions; +using System.IO; namespace NadekoBot.Modules.Searches { @@ -199,51 +203,59 @@ $@"🌍 **Weather for** 【{obj["target"]}】 await channel.SendMessageAsync($"https://google.com/search?q={ WebUtility.UrlEncode(terms).Replace(' ', '+') }") .ConfigureAwait(false); } - ////todo drawing - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task Hearthstone(IUserMessage umsg, [Remainder] string name = null) - //{ - // var channel = (ITextChannel)umsg.Channel; - // var arg = name; - // if (string.IsNullOrWhiteSpace(arg)) - // { - // await channel.SendMessageAsync("💢 Please enter a card name to search for.").ConfigureAwait(false); - // return; - // } - // await umsg.Channel.TriggerTypingAsync().ConfigureAwait(false); - // string response = ""; - // using (var http = new HttpClient()) - // { - // http.DefaultRequestHeaders.Clear(); - // http.DefaultRequestHeaders.Add("X-Mashape-Key", NadekoBot.Credentials.MashapeKey); - // response = await http.GetStringAsync($"https://omgvamp-hearthstone-v1.p.mashape.com/cards/search/{Uri.EscapeUriString(arg)}", headers) - // .ConfigureAwait(false); - // try - // { - // var items = JArray.Parse(response).Shuffle().ToList(); - // var images = new List(); - // if (items == null) - // throw new KeyNotFoundException("Cannot find a card by that name"); - // var cnt = 0; - // foreach (var item in items.TakeWhile(item => cnt++ < 4).Where(item => item.HasValues && item["img"] != null)) - // { - // images.Add( - // Image.FromStream(await http.GetStreamAsync(item["img"].ToString()).ConfigureAwait(false))); - // } - // if (items.Count > 4) - // { - // await channel.SendMessageAsync("⚠ Found over 4 images. Showing random 4.").ConfigureAwait(false); - // } - // await channel.SendMessageAsync(arg + ".png", (await images.MergeAsync()).ToStream(System.Drawing.Imaging.ImageFormat.Png)) - // .ConfigureAwait(false); - // } - // catch (Exception ex) - // { - // await channel.SendMessageAsync($"💢 Error {ex.Message}").ConfigureAwait(false); - // } - // } - //} + //todo drawing + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task Hearthstone(IUserMessage umsg, [Remainder] string name = null) + { + var channel = (ITextChannel)umsg.Channel; + var arg = name; + if (string.IsNullOrWhiteSpace(arg)) + { + await channel.SendMessageAsync("💢 Please enter a card name to search for.").ConfigureAwait(false); + return; + } + await umsg.Channel.TriggerTypingAsync().ConfigureAwait(false); + string response = ""; + using (var http = new HttpClient()) + { + http.DefaultRequestHeaders.Clear(); + http.DefaultRequestHeaders.Add("X-Mashape-Key", NadekoBot.Credentials.MashapeKey); + response = await http.GetStringAsync($"https://omgvamp-hearthstone-v1.p.mashape.com/cards/search/{Uri.EscapeUriString(arg)}") + .ConfigureAwait(false); + try + { + var items = JArray.Parse(response).Shuffle().ToList(); + var images = new List(); + if (items == null) + throw new KeyNotFoundException("Cannot find a card by that name"); + var cnt = 0; + foreach (var item in items.TakeWhile(item => cnt++ < 4).Where(item => item.HasValues && item["img"] != null)) + { + using (var sr =await http.GetStreamAsync(item["img"].ToString())) + { + var imgStream = new MemoryStream(); + await sr.CopyToAsync(imgStream); + imgStream.Position = 0; + images.Add(new Image(imgStream)); + } + } + string msg = null; + if (items.Count > 4) + { + msg = "⚠ Found over 4 images. Showing random 4."; + } + var ms = new MemoryStream(); + images.Merge().SaveAsPng(ms); + ms.Position = 0; + await channel.SendFileAsync(ms, arg + ".png", msg).ConfigureAwait(false); + } + catch (Exception ex) + { + await channel.SendMessageAsync($"💢 Error {ex.Message}").ConfigureAwait(false); + } + } + } [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] diff --git a/src/NadekoBot/NadekoBot.cs b/src/NadekoBot/NadekoBot.cs index 38d15dc8..30b58ca9 100644 --- a/src/NadekoBot/NadekoBot.cs +++ b/src/NadekoBot/NadekoBot.cs @@ -13,6 +13,10 @@ using System.Linq; using System.Reflection; using System.Threading.Tasks; using NLog.Fluent; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Migrations.Operations; +using Microsoft.EntityFrameworkCore; namespace NadekoBot { @@ -52,12 +56,6 @@ namespace NadekoBot CommandHandler = new CommandHandler(Client, Commands); Stats = new StatsService(Client, CommandHandler); - //init db - using (var context = DbHandler.Instance.GetDbContext()) - { - context.EnsureSeedData(); - } - //setup DI var depMap = new DependencyMap(); depMap.Add(Localizer); diff --git a/src/NadekoBot/NuGet.Config b/src/NadekoBot/NuGet.Config new file mode 100644 index 00000000..36bf7319 --- /dev/null +++ b/src/NadekoBot/NuGet.Config @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index e9cf1a91..25136f16 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -3002,6 +3002,33 @@ namespace NadekoBot.Resources { } } + ///

+ /// Looks up a localized string similar to Searches for a Hearthstone card and shows its image. Takes a while to complete.. + /// + public static string hearthstone_desc { + get { + return ResourceManager.GetString("hearthstone_desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to `~hs Ysera`. + /// + public static string hearthstone_summary { + get { + return ResourceManager.GetString("hearthstone_summary", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to hearthstone hs. + /// + public static string hearthstone_text { + get { + return ResourceManager.GetString("hearthstone_text", resourceCulture); + } + } + /// /// Looks up a localized string similar to Shows a random NSFW hentai image from gelbooru and danbooru with a given tag. Tag is optional but preffered. (multiple tags are appended with +). /// @@ -3110,33 +3137,6 @@ namespace NadekoBot.Resources { } } - /// - /// Looks up a localized string similar to Searches for a Hearthstone card and shows its image. Takes a while to complete.. - /// - public static string hs_desc { - get { - return ResourceManager.GetString("hs_desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to `~hs Ysera`. - /// - public static string hs_summary { - get { - return ResourceManager.GetString("hs_summary", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to hs. - /// - public static string hs_text { - get { - return ResourceManager.GetString("hs_text", resourceCulture); - } - } - /// /// Looks up a localized string similar to Pulls the first image found using a search parameter. Use ~ir for different results.. /// diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index 029ba9f9..e43b132f 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -2205,13 +2205,13 @@ `~google query` - - hs + + hearthstone hs - + Searches for a Hearthstone card and shows its image. Takes a while to complete. - + `~hs Ysera` diff --git a/src/NadekoBot/Services/Database/NadekoContext.cs b/src/NadekoBot/Services/Database/NadekoContext.cs index 46e42179..b2da1c17 100644 --- a/src/NadekoBot/Services/Database/NadekoContext.cs +++ b/src/NadekoBot/Services/Database/NadekoContext.cs @@ -33,6 +33,12 @@ namespace NadekoBot.Services.Database public DbSet RaceAnimals { get; set; } public DbSet ModulePrefixes { get; set; } + public NadekoContext() + { + this.Database.Migrate(); + EnsureSeedData(); + } + public void EnsureSeedData() { if (!BotConfig.Any()) From 438fb65c04fdcb3e5401714d283286ef9fc635e5 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 14 Sep 2016 14:23:09 +0200 Subject: [PATCH 004/135] Added coin flipping and betflipping --- .../Gambling/Commands/FlipCoinCommand.cs | 172 ++++++++++-------- src/NadekoBot/Modules/Gambling/Gambling.cs | 30 +-- src/NadekoBot/Services/CurrencyHandler.cs | 13 +- src/NadekoBot/_Extensions/Extensions.cs | 8 + 4 files changed, 125 insertions(+), 98 deletions(-) diff --git a/src/NadekoBot/Modules/Gambling/Commands/FlipCoinCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/FlipCoinCommand.cs index 7e5eaa71..c1888913 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/FlipCoinCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/FlipCoinCommand.cs @@ -1,93 +1,107 @@ using Discord; using Discord.Commands; +using ImageProcessorCore; +using NadekoBot.Attributes; +using NadekoBot.Extensions; +using NadekoBot.Services; +using System.IO; +using System.Threading.Tasks; -//todo drawing namespace NadekoBot.Modules.Gambling -{ - [Group] - public class FlipCoinCommands +{ + public partial class Gambling { - - public FlipCoinCommands() { } - - - ////todo drawing - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task Flip(IUserMessage imsg, int count = 0) - //{ - // var channel = (ITextChannel)imsg.Channel; - // if (count == 0) - // { - // if (rng.Next(0, 2) == 1) - // await channel.SendFileAsync("heads.png", ).ConfigureAwait(false); - // else - // await channel.SendFileAsync("tails.png", ).ConfigureAwait(false); - // return; - // } - // if (result > 10) - // result = 10; - // var imgs = new Image[result]; - // for (var i = 0; i < result; i++) - // { - // imgs[i] = rng.Next(0, 2) == 0 ? - // Properties.Resources.tails : - // Properties.Resources.heads; - // } - // await channel.SendFile($"{result} coins.png", imgs.Merge().ToStream(System.Drawing.Imaging.ImageFormat.Png)).ConfigureAwait(false); - // return; - // await channel.SendMessageAsync("Invalid number").ConfigureAwait(false); - //} - - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task Betflip(IUserMessage umsg, int amount, string guess) - //{ - // var channel = (ITextChannel)umsg.Channel; - // var guildUser = (IGuildUser)umsg.Author; - // var guessStr = guess.Trim().ToUpperInvariant(); - // if (guessStr != "H" && guessStr != "T" && guessStr != "HEADS" && guessStr != "TAILS") - // return; + [Group] + public class FlipCoinCommands + { + NadekoRandom rng { get; } = new NadekoRandom(); + private const string headsPath = "data/images/coins/heads.png"; + private const string tailsPath = "data/images/coins/tails.png"; + public FlipCoinCommands() { } - // if (amount < 1) - // return; + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task Flip(IUserMessage imsg, int count = 1) + { + var channel = (ITextChannel)imsg.Channel; + if (count == 1) + { + if (rng.Next(0, 2) == 1) + await channel.SendFileAsync(headsPath, $"{imsg.Author.Mention} rolled " + Format.Code("Heads") + ".").ConfigureAwait(false); + else + await channel.SendFileAsync(tailsPath, $"{imsg.Author.Mention} rolled " + Format.Code("Tails") + ".").ConfigureAwait(false); + return; + } + if (count > 10 || count < 1) + { + await channel.SendMessageAsync("`Invalid number specified. You can flip 1 to 10 coins.`"); + return; + } + var imgs = new Image[count]; + for (var i = 0; i < count; i++) + { + imgs[i] = rng.Next(0, 10) < 5 ? + new Image(File.OpenRead(headsPath)) : + new Image(File.OpenRead(tailsPath)); + } + await channel.SendFileAsync(imgs.Merge().ToStream(), $"{count} coins.png").ConfigureAwait(false); + } - // var userFlowers = Gambling.GetUserFlowers(umsg.Author.Id); + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task Betflip(IUserMessage umsg, int amount, string guess) + { + var channel = (ITextChannel)umsg.Channel; + var guildUser = (IGuildUser)umsg.Author; + var guessStr = guess.Trim().ToUpperInvariant(); + if (guessStr != "H" && guessStr != "T" && guessStr != "HEADS" && guessStr != "TAILS") + return; - // if (userFlowers < amount) - // { - // await channel.SendMessageAsync($"{umsg.Author.Mention} You don't have enough {Gambling.CurrencyName}s. You only have {userFlowers}{Gambling.CurrencySign}.").ConfigureAwait(false); - // return; - // } + if (amount < 1) + return; - // await CurrencyHandler.RemoveCurrencyAsync(guildUser, "Betflip Gamble", amount, false).ConfigureAwait(false); - // //heads = true - // //tails = false + long userFlowers; + using (var uow = DbHandler.UnitOfWork()) + { + userFlowers = uow.Currency.GetOrCreate(umsg.Author.Id).Amount; + } - // var isHeads = guessStr == "HEADS" || guessStr == "H"; - // bool result = false; - // var rng = new NadekoRandom(); - // if (rng.Next(0, 2) == 1) - // { - // await channel.SendFileAsync("heads.png", Properties.Resources.heads.ToStream(System.Drawing.Imaging.ImageFormat.Png)).ConfigureAwait(false); - // result = true; - // } - // else - // { - // await channel.SendFileAsync("tails.png", Properties.Resources.tails.ToStream(System.Drawing.Imaging.ImageFormat.Png)).ConfigureAwait(false); - // } + if (userFlowers < amount) + { + await channel.SendMessageAsync($"{umsg.Author.Mention} You don't have enough {Gambling.CurrencyPluralName}. You only have {userFlowers}{Gambling.CurrencySign}.").ConfigureAwait(false); + return; + } - // string str; - // if (isHeads == result) - // { - // str = $"{umsg.Author.Mention}`You guessed it!` You won {amount * 2}{Gambling.CurrencySign}"; - // await CurrencyHandler.AddCurrencyAsync((IGuildUser)umsg.Author, "Betflip Gamble", amount * 2, false).ConfigureAwait(false); + await CurrencyHandler.RemoveCurrencyAsync(guildUser, "Betflip Gamble", amount, false).ConfigureAwait(false); + //heads = true + //tails = false - // } - // else - // str = $"{umsg.Author.Mention}`More luck next time.`"; + var isHeads = guessStr == "HEADS" || guessStr == "H"; + bool result = false; + string imgPathToSend; + if (rng.Next(0, 2) == 1) + { + imgPathToSend = headsPath; + result = true; + } + else + { + imgPathToSend = tailsPath; + } - // await channel.SendMessageAsync(str).ConfigureAwait(false); - //} + string str; + if (isHeads == result) + { + str = $"{umsg.Author.Mention}`You guessed it!` You won {amount * 2}{Gambling.CurrencySign}"; + await CurrencyHandler.AddCurrencyAsync((IGuildUser)umsg.Author, "Betflip Gamble", amount * 2, false).ConfigureAwait(false); + } + else + { + str = $"{umsg.Author.Mention}`Better luck next time.`"; + } + + await channel.SendFileAsync(imgPathToSend, str).ConfigureAwait(false); + } + } } -} +} \ No newline at end of file diff --git a/src/NadekoBot/Modules/Gambling/Gambling.cs b/src/NadekoBot/Modules/Gambling/Gambling.cs index 4585a820..589441ac 100644 --- a/src/NadekoBot/Modules/Gambling/Gambling.cs +++ b/src/NadekoBot/Modules/Gambling/Gambling.cs @@ -82,25 +82,25 @@ namespace NadekoBot.Modules.Gambling await channel.SendMessageAsync($"{umsg.Author.Mention} successfully sent {amount} {Gambling.CurrencyPluralName}s to {receiver.Mention}!").ConfigureAwait(false); } - ////todo owner only - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public Task Award(IUserMessage umsg, long amount, [Remainder] IGuildUser usr) => - // Award(umsg, amount, usr.Id); + //todo owner only + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public Task Award(IUserMessage umsg, long amount, [Remainder] IGuildUser usr) => + Award(umsg, amount, usr.Id); - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task Award(IUserMessage umsg, long amount, [Remainder] ulong usrId) - //{ - // var channel = (ITextChannel)umsg.Channel; + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task Award(IUserMessage umsg, long amount, [Remainder] ulong usrId) + { + var channel = (ITextChannel)umsg.Channel; - // if (amount <= 0) - // return; + if (amount <= 0) + return; - // await CurrencyHandler.AddFlowersAsync(usrId, $"Awarded by bot owner. ({umsg.Author.Username}/{umsg.Author.Id})", (int)amount).ConfigureAwait(false); + await CurrencyHandler.AddCurrencyAsync(usrId, $"Awarded by bot owner. ({umsg.Author.Username}/{umsg.Author.Id})", (int)amount).ConfigureAwait(false); - // await channel.SendMessageAsync($"{umsg.Author.Mention} successfully awarded {amount} {Gambling.CurrencyName}s to <@{usrId}>!").ConfigureAwait(false); - //} + await channel.SendMessageAsync($"{umsg.Author.Mention} successfully awarded {amount} {Gambling.CurrencyName}s to <@{usrId}>!").ConfigureAwait(false); + } ////todo owner only //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] diff --git a/src/NadekoBot/Services/CurrencyHandler.cs b/src/NadekoBot/Services/CurrencyHandler.cs index aa7fc918..f2834589 100644 --- a/src/NadekoBot/Services/CurrencyHandler.cs +++ b/src/NadekoBot/Services/CurrencyHandler.cs @@ -33,6 +33,14 @@ namespace NadekoBot.Services } public static async Task AddCurrencyAsync(IGuildUser author, string reason, long amount, bool sendMessage) + { + await AddCurrencyAsync(author.Id, reason, amount); + + if (sendMessage) + await author.SendMessageAsync($"`You received:` {amount} {Gambling.CurrencySign}\n`Reason:` {reason}").ConfigureAwait(false); + } + + public static async Task AddCurrencyAsync(ulong receiverId, string reason, long amount) { if (amount < 0) throw new ArgumentNullException(nameof(amount)); @@ -40,12 +48,9 @@ namespace NadekoBot.Services using (var uow = DbHandler.UnitOfWork()) { - uow.Currency.TryUpdateState(author.Id, amount); + uow.Currency.TryUpdateState(receiverId, amount); await uow.CompleteAsync(); } - - if (sendMessage) - await author.SendMessageAsync($"`You received:` {amount} {Gambling.CurrencySign}\n`Reason:` {reason}").ConfigureAwait(false); } } } diff --git a/src/NadekoBot/_Extensions/Extensions.cs b/src/NadekoBot/_Extensions/Extensions.cs index 008fe97b..98a1be46 100644 --- a/src/NadekoBot/_Extensions/Extensions.cs +++ b/src/NadekoBot/_Extensions/Extensions.cs @@ -290,5 +290,13 @@ namespace NadekoBot.Extensions return canvas; } + + public static Stream ToStream(this Image img) + { + var imageStream = new MemoryStream(); + img.SaveAsPng(imageStream); + imageStream.Position = 0; + return imageStream; + } } } \ No newline at end of file From ad589050d671ef2ea6b347f7a399f05b872be73d Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 14 Sep 2016 14:34:10 +0200 Subject: [PATCH 005/135] Added ~clr back --- src/NadekoBot/Modules/Searches/Searches.cs | 38 +++++++++------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/src/NadekoBot/Modules/Searches/Searches.cs b/src/NadekoBot/Modules/Searches/Searches.cs index 6a0558ec..80c52226 100644 --- a/src/NadekoBot/Modules/Searches/Searches.cs +++ b/src/NadekoBot/Modules/Searches/Searches.cs @@ -203,7 +203,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 await channel.SendMessageAsync($"https://google.com/search?q={ WebUtility.UrlEncode(terms).Replace(' ', '+') }") .ConfigureAwait(false); } - //todo drawing + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Hearthstone(IUserMessage umsg, [Remainder] string name = null) @@ -403,31 +403,25 @@ $@"🌍 **Weather for** 【{obj["target"]}】 } } - ////todo drawing - //[LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] - //[RequireContext(ContextType.Guild)] - //public async Task Clr(IUserMessage umsg, [Remainder] string color = null) - //{ - // var channel = (ITextChannel)umsg.Channel; + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task Clr(IUserMessage umsg, [Remainder] string color = null) + { + var channel = (ITextChannel)umsg.Channel; - // color = color?.Trim().Replace("#", ""); - // if (string.IsNullOrWhiteSpace((string)color)) - // return; - // var img = new Bitmap(50, 50); + color = color?.Trim().Replace("#", ""); + if (string.IsNullOrWhiteSpace((string)color)) + return; + var img = new Image(50, 50); - // var red = Convert.ToInt32(color.Substring(0, 2), 16); - // var green = Convert.ToInt32(color.Substring(2, 2), 16); - // var blue = Convert.ToInt32(color.Substring(4, 2), 16); - // var brush = new SolidBrush(System.Drawing.Color.FromArgb(red, green, blue)); + var red = Convert.ToInt32(color.Substring(0, 2), 16); + var green = Convert.ToInt32(color.Substring(2, 2), 16); + var blue = Convert.ToInt32(color.Substring(4, 2), 16); - // using (Graphics g = Graphics.FromImage(img)) - // { - // g.FillRectangle(brush, 0, 0, 50, 50); - // g.Flush(); - // } + img.BackgroundColor(new ImageProcessorCore.Color(color)); - // await channel.SendFileAsync("arg1.png", img.ToStream()); - //} + await channel.SendFileAsync(img.ToStream(), $"{color}.png"); + } [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] From 07941372322a2490546c1e34329f946a83adcfaf Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 14 Sep 2016 19:31:47 +0200 Subject: [PATCH 006/135] Cleanup --- .../Searches/Commands/ConverterCommands.cs | 172 ------------------ 1 file changed, 172 deletions(-) delete mode 100644 src/NadekoBot/Modules/Searches/Commands/ConverterCommands.cs diff --git a/src/NadekoBot/Modules/Searches/Commands/ConverterCommands.cs b/src/NadekoBot/Modules/Searches/Commands/ConverterCommands.cs deleted file mode 100644 index 63ed2205..00000000 --- a/src/NadekoBot/Modules/Searches/Commands/ConverterCommands.cs +++ /dev/null @@ -1,172 +0,0 @@ -//using Discord.Commands; -//using NadekoBot.Classes; -//using ScaredFingers.UnitsConversion; -//using System; -//using System.Collections.Generic; -//using System.Globalization; -//using System.Threading; -//using System.Threading.Tasks; - -////todo Unit Conversion lib -//namespace NadekoBot.Modules.Searches -//{ -// class ConverterCommand : DiscordCommand -// { - -// public ConverterCommand(DiscordModule module) : base(module) -// { -// if (unitTables == null) -// { -// CultureInfo ci = new CultureInfo("en-US"); -// Thread.CurrentThread.CurrentCulture = ci; -// unitTables = new List(); -// unitTables.Add(UnitTable.LengthTable); -// unitTables.Add(UnitTable.TemperatureTable); -// unitTables.Add(UnitTable.VolumeTable); -// unitTables.Add(UnitTable.WeightTable); -// reInitCurrencyConverterTable(); -// } - -// } - - -// public override void Init(CommandGroupBuilder cgb) -// { -// cgb.CreateCommand(Module.Prefix + "convert") -// .Description($"Convert quantities from>to. | `{Prefix}convert m>km 1000`") -// .Parameter("from-to", ParameterType.Required) -// .Parameter("quantity", ParameterType.Optional) -// .Do(ConvertFunc()); -// cgb.CreateCommand(Module.Prefix + "convertlist") -// .Description("List of the convertable dimensions and currencies.") -// .Do(ConvertListFunc()); -// } - -// private Func ConvertListFunc() => -// async e => -// { -// reInitCurrencyConverterTable(); -// string msg = ""; -// foreach (var tmpTable in unitTables) -// { -// int i = 1; -// while (tmpTable.IsKnownUnit(i)) -// { -// msg += tmpTable.GetUnitName(i) + " (" + tmpTable.GetUnitSymbol(i) + "); "; -// i++; -// } -// msg += "\n"; -// } -// foreach (var curr in exchangeRateProvider.Currencies) -// { -// msg += curr + "; "; -// } - -// await channel.SendMessageAsync(msg).ConfigureAwait(false); -// }; - -// private Func ConvertFunc() => -// async e => -// { -// try -// { -// await e.Channel.SendIsTyping().ConfigureAwait(false); - -// string from = from-to.ToLowerInvariant().Split('>')[0]; -// string to = from-to.ToLowerInvariant().Split('>')[1]; - -// float quantity = 1.0f; -// if (!float.TryParse(quantity, out quantity)) -// { -// quantity = 1.0f; -// } - -// int fromCode, toCode = 0; -// UnitTable table = null; -// ResolveUnitCodes(from, to, out table, out fromCode, out toCode); - -// if (table != null) -// { -// Unit inUnit = new Unit(fromCode, quantity, table); -// Unit outUnit = inUnit.Convert(toCode); -// await channel.SendMessageAsync(inUnit.ToString() + " = " + outUnit.ToString()).ConfigureAwait(false); -// } -// else -// { -// CultureInfo ci = new CultureInfo("en-US"); -// Thread.CurrentThread.CurrentCulture = ci; -// reInitCurrencyConverterTable(); -// Unit inUnit = currTable.CreateUnit(quantity, from.ToUpperInvariant()); -// Unit outUnit = inUnit.Convert(currTable.CurrencyCode(to.ToUpperInvariant())); -// await channel.SendMessageAsync(inUnit.ToString() + " = " + outUnit.ToString()).ConfigureAwait(false); -// } -// } -// catch //(Exception ex) -// { -// //Console.WriteLine(ex.ToString()); -// await channel.SendMessageAsync("Bad input format, or sth went wrong... Try to list them with `" + Module.Prefix + "`convertlist").ConfigureAwait(false); -// } -// }; - -// private void reInitCurrencyConverterTable() -// { -// if (lastChanged == null || lastChanged.DayOfYear != DateTime.Now.DayOfYear) -// { -// try -// { -// exchangeRateProvider = new WebExchangeRatesProvider(); -// currTable = new CurrencyExchangeTable(exchangeRateProvider); -// lastChanged = DateTime.Now; -// } -// catch -// { -// Console.WriteLine("Error with the currency download."); -// } -// } -// } - -// private void ResolveUnitCodes(string from, string to, out UnitTable table, out int fromCode, out int toCode) -// { -// foreach (var tmpTable in unitTables) -// { -// int f = LookupUnit(tmpTable, from); -// int t = LookupUnit(tmpTable, to); -// if (f > 0 && t > 0) -// { -// table = tmpTable; -// fromCode = f; -// toCode = t; -// return; -// } -// } -// table = null; -// fromCode = 0; -// toCode = 0; -// } - -// private int LookupUnit(UnitTable table, string lookup) -// { -// string wellformedLookup = lookup.ToLowerInvariant().Replace("°", ""); -// int i = 1; -// while (table.IsKnownUnit(i)) -// { -// if (wellformedLookup == table.GetUnitName(i).ToLowerInvariant().Replace("°", "") || -// wellformedLookup == table.GetUnitPlural(i).ToLowerInvariant().Replace("°", "") || -// wellformedLookup == table.GetUnitSymbol(i).ToLowerInvariant().Replace("°", "")) -// { -// return i; -// } -// i++; -// } -// return 0; -// } - -// private static List unitTables; - -// private static CurrencyExchangeRatesProvider exchangeRateProvider; - -// private static CurrencyExchangeTable currTable; - -// private static DateTime lastChanged; -// } -//} From 8fa90348a396e325e93fdf2491d14d960eaac39a Mon Sep 17 00:00:00 2001 From: Kwoth Date: Thu, 15 Sep 2016 17:31:02 +0200 Subject: [PATCH 007/135] Prefixes in strings, fixed CI? --- src/NadekoBot/Modules/DiscordModule.cs | 7 +++++++ .../Modules/Gambling/Commands/AnimalRacing.cs | 7 +++++-- .../Games/Commands/PlantAndPickCommands.cs | 8 +++----- src/NadekoBot/NadekoBot.cs | 15 +++++++++------ src/NadekoBot/project.json | 2 +- src/NadekoBot/project.lock.json | 12 ++++++------ 6 files changed, 31 insertions(+), 20 deletions(-) diff --git a/src/NadekoBot/Modules/DiscordModule.cs b/src/NadekoBot/Modules/DiscordModule.cs index f3f23adc..e73d1789 100644 --- a/src/NadekoBot/Modules/DiscordModule.cs +++ b/src/NadekoBot/Modules/DiscordModule.cs @@ -12,9 +12,16 @@ namespace NadekoBot.Modules protected CommandService _commands { get; } protected DiscordSocketClient _client { get; } protected Logger _log { get; } + private string _prefix { get; } public DiscordModule(ILocalization loc, CommandService cmds, DiscordSocketClient client) { + string prefix; + if (NadekoBot.ModulePrefixes.TryGetValue(this.GetType().Name, out prefix)) + _prefix = prefix; + else + _prefix = "?missing_prefix?"; + _l = loc; _commands = cmds; _client = client; diff --git a/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs b/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs index c511e731..7870fa6a 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs @@ -18,6 +18,10 @@ namespace NadekoBot.Modules.Gambling [Group] public class AnimalRacing { + + public AnimalRacing() + { + } public static ConcurrentDictionary AnimalRaces = new ConcurrentDictionary(); [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] @@ -92,8 +96,7 @@ namespace NadekoBot.Modules.Gambling { try { - //todo Commmand prefixes from config - await raceChannel.SendMessageAsync($"🏁`Race is starting in 20 seconds or when the room is full. Type $jr to join the race.`"); + await raceChannel.SendMessageAsync($"🏁`Race is starting in 20 seconds or when the room is full. Type {NadekoBot.ModulePrefixes["Gambling"]}jr to join the race.`"); var t = await Task.WhenAny(Task.Delay(20000, token), fullgame); Started = true; cancelSource.Cancel(); diff --git a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs index 42a50242..a6976739 100644 --- a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs @@ -28,7 +28,6 @@ namespace NadekoBot.Modules.Games [Group] public class PlantPickCommands { - private Random rng; private ConcurrentDictionary generationChannels = new ConcurrentDictionary(); @@ -83,12 +82,11 @@ namespace NadekoBot.Modules.Games if (num > 100) { lastGenerations.AddOrUpdate(channel.Id, DateTime.Now, (id, old) => DateTime.Now); - //todo get prefix try { var sent = await channel.SendFileAsync( GetRandomCurrencyImagePath(), - $"❗ A random { Gambling.Gambling.CurrencyName } appeared! Pick it up by typing `>pick`") + $"❗ A random { Gambling.Gambling.CurrencyName } appeared! Pick it up by typing `{NadekoBot.ModulePrefixes["Gambling"]}pick`") .ConfigureAwait(false); plantedFlowers.AddOrUpdate(channel.Id, new List() { sent }, (id, old) => { old.Add(sent); return old; }); } @@ -149,8 +147,8 @@ namespace NadekoBot.Modules.Games var file = GetRandomCurrencyImagePath(); IUserMessage msg; var vowelFirst = new[] { 'a', 'e', 'i', 'o', 'u' }.Contains(Gambling.Gambling.CurrencyName[0]); - //todo add prefix - var msgToSend = $"Oh how Nice! **{imsg.Author.Username}** planted {(vowelFirst ? "an" : "a")} {Gambling.Gambling.CurrencyName}. Pick it using >pick"; + + var msgToSend = $"Oh how Nice! **{imsg.Author.Username}** planted {(vowelFirst ? "an" : "a")} {Gambling.Gambling.CurrencyName}. Pick it using {NadekoBot.ModulePrefixes["Games"]}pick"; if (file == null) { msg = await channel.SendMessageAsync(Gambling.Gambling.CurrencySign).ConfigureAwait(false); diff --git a/src/NadekoBot/NadekoBot.cs b/src/NadekoBot/NadekoBot.cs index 30b58ca9..705d0e02 100644 --- a/src/NadekoBot/NadekoBot.cs +++ b/src/NadekoBot/NadekoBot.cs @@ -12,11 +12,8 @@ using System.Diagnostics; using System.Linq; using System.Reflection; using System.Threading.Tasks; -using NLog.Fluent; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Migrations.Operations; -using Microsoft.EntityFrameworkCore; +using System.Collections.Generic; +using System.Collections.ObjectModel; namespace NadekoBot { @@ -33,6 +30,8 @@ namespace NadekoBot public static GoogleApiService Google { get; private set; } public static StatsService Stats { get; private set; } + public static IReadOnlyDictionary ModulePrefixes { get; private set; } + public async Task RunAsync(string[] args) { SetupLogger(); @@ -70,7 +69,11 @@ namespace NadekoBot _log.Info("Connected"); - //load commands + //load commands and prefixes + using (var uow = DbHandler.UnitOfWork()) + { + ModulePrefixes = new ReadOnlyDictionary(uow.BotConfig.GetOrCreate().ModulePrefixes.ToDictionary(m => m.ModuleName, m => m.Prefix)); + } await Commands.LoadAssembly(Assembly.GetEntryAssembly(), depMap).ConfigureAwait(false); Console.WriteLine(await Stats.Print().ConfigureAwait(false)); diff --git a/src/NadekoBot/project.json b/src/NadekoBot/project.json index d74f0a36..a795d571 100644 --- a/src/NadekoBot/project.json +++ b/src/NadekoBot/project.json @@ -35,7 +35,7 @@ "Microsoft.EntityFrameworkCore.Design": "1.0.0-preview2-final", "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0", "CoreCLR-NCalc": "2.1.0", - "ImageProcessorCore": "1.0.0-alpha-1021" + "ImageProcessorCore": "1.0.0-alpha1045" }, "tools": { "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final" diff --git a/src/NadekoBot/project.lock.json b/src/NadekoBot/project.lock.json index d916601c..9c9ca106 100644 --- a/src/NadekoBot/project.lock.json +++ b/src/NadekoBot/project.lock.json @@ -146,7 +146,7 @@ "lib/netstandard1.3/Google.Apis.YouTube.v3.dll": {} } }, - "ImageProcessorCore/1.0.0-alpha-1021": { + "ImageProcessorCore/1.0.0-alpha1045": { "type": "package", "dependencies": { "System.Collections": "4.0.11", @@ -3411,12 +3411,12 @@ "lib/portable-net45+netcore45+wpa81+wp8/Google.Apis.YouTube.v3.xml" ] }, - "ImageProcessorCore/1.0.0-alpha-1021": { - "sha512": "ItWOgl9z3E67X5WW6Qp9U0E8rmD9ZkBFPeywkuODASCEfuArc+g5viRo6cD8lXyu2TXDE/LAYlsvu6X5dSOP9w==", + "ImageProcessorCore/1.0.0-alpha1045": { + "sha512": "A5oL7SwFnzcu5eF26u49nf73joQghpEpCGwLb54dm6VI6ZGpjBJpKAyNKtJP30HtXy1VngiGJn/EcvCl8+JGcg==", "type": "package", - "path": "ImageProcessorCore/1.0.0-alpha-1021", + "path": "ImageProcessorCore/1.0.0-alpha1045", "files": [ - "ImageProcessorCore.1.0.0-alpha-1021.nupkg.sha512", + "ImageProcessorCore.1.0.0-alpha1045.nupkg.sha512", "ImageProcessorCore.nuspec", "lib/netstandard1.1/ImageProcessorCore.dll" ] @@ -9100,7 +9100,7 @@ "Google.Apis.Customsearch.v1 >= 1.16.0.466", "Google.Apis.Urlshortener.v1 >= 1.15.0.138", "Google.Apis.YouTube.v3 >= 1.15.0.582", - "ImageProcessorCore >= 1.0.0-alpha-1021", + "ImageProcessorCore >= 1.0.0-alpha1045", "Microsoft.EntityFrameworkCore >= 1.0.0", "Microsoft.EntityFrameworkCore.Design >= 1.0.0-preview2-final", "Microsoft.EntityFrameworkCore.Sqlite >= 1.0.0", From 48513daa64847848ca9b8abb92302d7dcaaa0f5d Mon Sep 17 00:00:00 2001 From: Kwoth Date: Fri, 16 Sep 2016 19:20:37 +0200 Subject: [PATCH 008/135] Module, Command, PermissionAction typereaders, fixed HS (thanks to fearnlj01) --- .../Modules/Permissions/PermissionAction.cs | 35 +++++++++++++++ .../Modules/Permissions/Permissions.cs | 39 ++++++++++++++++ src/NadekoBot/Modules/Searches/Searches.cs | 3 +- src/NadekoBot/NadekoBot.cs | 19 +++++--- .../TypeReaders/BotCommandTypeReader.cs | 25 +++++++++++ src/NadekoBot/TypeReaders/ModuleTypeReader.cs | 23 ++++++++++ .../TypeReaders/PermissionActionTypeReader.cs | 45 +++++++++++++++++++ 7 files changed, 182 insertions(+), 7 deletions(-) create mode 100644 src/NadekoBot/Modules/Permissions/PermissionAction.cs create mode 100644 src/NadekoBot/Modules/Permissions/Permissions.cs create mode 100644 src/NadekoBot/TypeReaders/BotCommandTypeReader.cs create mode 100644 src/NadekoBot/TypeReaders/ModuleTypeReader.cs create mode 100644 src/NadekoBot/TypeReaders/PermissionActionTypeReader.cs diff --git a/src/NadekoBot/Modules/Permissions/PermissionAction.cs b/src/NadekoBot/Modules/Permissions/PermissionAction.cs new file mode 100644 index 00000000..ea2df7ed --- /dev/null +++ b/src/NadekoBot/Modules/Permissions/PermissionAction.cs @@ -0,0 +1,35 @@ +using Discord.Commands; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Discord; + +namespace NadekoBot.Modules.Permissions +{ + public class PermissionAction + { + public static PermissionAction Enable => new PermissionAction(true); + public static PermissionAction Disable => new PermissionAction(false); + + public bool Value { get; } + + public PermissionAction(bool value) + { + this.Value = value; + } + + public override bool Equals(object obj) + { + if (obj == null || GetType() != obj.GetType()) + { + return false; + } + + return this.Value == ((PermissionAction)obj).Value; + } + + public override int GetHashCode() => Value.GetHashCode(); + } +} diff --git a/src/NadekoBot/Modules/Permissions/Permissions.cs b/src/NadekoBot/Modules/Permissions/Permissions.cs new file mode 100644 index 00000000..5619ddf0 --- /dev/null +++ b/src/NadekoBot/Modules/Permissions/Permissions.cs @@ -0,0 +1,39 @@ +using NadekoBot.Attributes; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Discord.Commands; +using Discord.WebSocket; +using NadekoBot.Services; +using Discord; + +namespace NadekoBot.Modules.Permissions +{ + [NadekoModule("Permissions", ";")] + public class Permissions : DiscordModule + { + public Permissions(ILocalization loc, CommandService cmds, DiscordSocketClient client) : base(loc, cmds, client) + { + } + + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task UsrCmd(IUserMessage imsg, Command command, PermissionAction action, IGuildUser user) + { + var channel = (ITextChannel)imsg.Channel; + + await channel.SendMessageAsync($"{command.Text} {action.Value} {user}"); + } + + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task UsrMdl(IUserMessage imsg, Module module, PermissionAction action, IGuildUser user) + { + var channel = (ITextChannel)imsg.Channel; + + await channel.SendMessageAsync($"{module.Name} {action.Value} {user}"); + } + } +} diff --git a/src/NadekoBot/Modules/Searches/Searches.cs b/src/NadekoBot/Modules/Searches/Searches.cs index 80c52226..da2fee95 100644 --- a/src/NadekoBot/Modules/Searches/Searches.cs +++ b/src/NadekoBot/Modules/Searches/Searches.cs @@ -229,8 +229,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 var images = new List(); if (items == null) throw new KeyNotFoundException("Cannot find a card by that name"); - var cnt = 0; - foreach (var item in items.TakeWhile(item => cnt++ < 4).Where(item => item.HasValues && item["img"] != null)) + foreach (var item in items.Where(item => item.HasValues && item["img"] != null).Take(4)) { using (var sr =await http.GetStreamAsync(item["img"].ToString())) { diff --git a/src/NadekoBot/NadekoBot.cs b/src/NadekoBot/NadekoBot.cs index 705d0e02..d4e4d904 100644 --- a/src/NadekoBot/NadekoBot.cs +++ b/src/NadekoBot/NadekoBot.cs @@ -14,6 +14,9 @@ using System.Reflection; using System.Threading.Tasks; using System.Collections.Generic; using System.Collections.ObjectModel; +using NadekoBot.Modules.Permissions; +using Module = Discord.Commands.Module; +using NadekoBot.TypeReaders; namespace NadekoBot { @@ -21,7 +24,7 @@ namespace NadekoBot { private Logger _log; - public static CommandService Commands { get; private set; } + public static CommandService CommandService { get; private set; } public static CommandHandler CommandHandler { get; private set; } public static DiscordSocketClient Client { get; private set; } public static Localization Localizer { get; private set; } @@ -49,19 +52,25 @@ namespace NadekoBot //initialize Services Credentials = new BotCredentials(); - Commands = new CommandService(); + CommandService = new CommandService(); Localizer = new Localization(); Google = new GoogleApiService(); - CommandHandler = new CommandHandler(Client, Commands); + CommandHandler = new CommandHandler(Client, CommandService); Stats = new StatsService(Client, CommandHandler); //setup DI var depMap = new DependencyMap(); depMap.Add(Localizer); depMap.Add(Client); - depMap.Add(Commands); + depMap.Add(CommandService); depMap.Add(Google); + + //setup typereaders + CommandService.AddTypeReader(new PermissionActionTypeReader()); + CommandService.AddTypeReader(new CommandTypeReader()); + CommandService.AddTypeReader(new ModuleTypeReader()); + //connect await Client.LoginAsync(TokenType.Bot, Credentials.Token).ConfigureAwait(false); await Client.ConnectAsync().ConfigureAwait(false); @@ -74,7 +83,7 @@ namespace NadekoBot { ModulePrefixes = new ReadOnlyDictionary(uow.BotConfig.GetOrCreate().ModulePrefixes.ToDictionary(m => m.ModuleName, m => m.Prefix)); } - await Commands.LoadAssembly(Assembly.GetEntryAssembly(), depMap).ConfigureAwait(false); + await CommandService.LoadAssembly(Assembly.GetEntryAssembly(), depMap).ConfigureAwait(false); Console.WriteLine(await Stats.Print().ConfigureAwait(false)); diff --git a/src/NadekoBot/TypeReaders/BotCommandTypeReader.cs b/src/NadekoBot/TypeReaders/BotCommandTypeReader.cs new file mode 100644 index 00000000..1ab7869f --- /dev/null +++ b/src/NadekoBot/TypeReaders/BotCommandTypeReader.cs @@ -0,0 +1,25 @@ +using Discord.Commands; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Discord; + +namespace NadekoBot.TypeReaders +{ + public class CommandTypeReader : TypeReader + { + public override Task Read(IUserMessage context, string input) + { + input = input.ToUpperInvariant(); + var cmd = NadekoBot.CommandService.Commands.FirstOrDefault(c => + c.Aliases.Select(a => a.ToUpperInvariant()).Contains(input) || + c.Text.ToUpperInvariant() == input); + if (cmd == null) + return Task.FromResult(TypeReaderResult.FromError(CommandError.ParseFailed, "No such command found.")); + + return Task.FromResult(TypeReaderResult.FromSuccess(cmd)); + } + } +} diff --git a/src/NadekoBot/TypeReaders/ModuleTypeReader.cs b/src/NadekoBot/TypeReaders/ModuleTypeReader.cs new file mode 100644 index 00000000..acd3e5a5 --- /dev/null +++ b/src/NadekoBot/TypeReaders/ModuleTypeReader.cs @@ -0,0 +1,23 @@ +using Discord.Commands; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Discord; + +namespace NadekoBot.TypeReaders +{ + public class ModuleTypeReader : TypeReader + { + public override Task Read(IUserMessage context, string input) + { + input = input.ToUpperInvariant(); + var module = NadekoBot.CommandService.Modules.FirstOrDefault(m => m.Name.ToUpperInvariant() == input); + if (module == null) + return Task.FromResult(TypeReaderResult.FromError(CommandError.ParseFailed, "No such module found.")); + + return Task.FromResult(TypeReaderResult.FromSuccess(module)); + } + } +} diff --git a/src/NadekoBot/TypeReaders/PermissionActionTypeReader.cs b/src/NadekoBot/TypeReaders/PermissionActionTypeReader.cs new file mode 100644 index 00000000..1beff942 --- /dev/null +++ b/src/NadekoBot/TypeReaders/PermissionActionTypeReader.cs @@ -0,0 +1,45 @@ +using Discord.Commands; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Discord; +using NadekoBot.Modules.Permissions; + +namespace NadekoBot.TypeReaders +{ + /// + /// Used instead of bool for more flexible keywords for true/false only in the permission module + /// + public class PermissionActionTypeReader : TypeReader + { + public override Task Read(IUserMessage context, string input) + { + input = input.ToUpperInvariant(); + switch (input) + { + case "1": + case "T": + case "TRUE": + case "ENABLE": + case "ENABLED": + case "ALLOW": + case "PERMIT": + case "UNBAN": + return Task.FromResult(TypeReaderResult.FromSuccess(PermissionAction.Enable)); + case "0": + case "F": + case "FALSE": + case "DENY": + case "DISABLE": + case "DISABLED": + case "DISALLOW": + case "BAN": + return Task.FromResult(TypeReaderResult.FromSuccess(PermissionAction.Disable)); + default: + return Task.FromResult(TypeReaderResult.FromError(CommandError.ParseFailed, "Did not receive a valid boolean value")); + } + } + } +} From c45e1c4d25ecc958403660bb0fe4057ef94a06cd Mon Sep 17 00:00:00 2001 From: Nitix Date: Sat, 17 Sep 2016 02:07:18 +0200 Subject: [PATCH 009/135] Fix appveyor build --- NuGet.Config | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 NuGet.Config diff --git a/NuGet.Config b/NuGet.Config new file mode 100644 index 00000000..36bf7319 --- /dev/null +++ b/NuGet.Config @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 2f859ad32d625a3472b657b4be9c40bd2af7c0e5 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Tue, 20 Sep 2016 03:08:28 +0200 Subject: [PATCH 010/135] Initial example with 2 commands of the new permission system --- .../20160920004320_second.Designer.cs | 587 ++++++++++++++++++ .../Migrations/20160920004320_second.cs | 47 ++ .../NadekoSqliteContextModelSnapshot.cs | 31 + .../Modules/Permissions/Permissions.cs | 28 +- .../Commands/StreamNotificationCommands.cs | 10 +- .../Services/Database/Models/GuildConfig.cs | 3 + .../Services/Database/Models/Permission.cs | 24 + 7 files changed, 725 insertions(+), 5 deletions(-) create mode 100644 src/NadekoBot/Migrations/20160920004320_second.Designer.cs create mode 100644 src/NadekoBot/Migrations/20160920004320_second.cs create mode 100644 src/NadekoBot/Services/Database/Models/Permission.cs diff --git a/src/NadekoBot/Migrations/20160920004320_second.Designer.cs b/src/NadekoBot/Migrations/20160920004320_second.Designer.cs new file mode 100644 index 00000000..c39b6fd1 --- /dev/null +++ b/src/NadekoBot/Migrations/20160920004320_second.Designer.cs @@ -0,0 +1,587 @@ +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using NadekoBot.Services.Database.Impl; + +namespace NadekoBot.Migrations +{ + [DbContext(typeof(NadekoSqliteContext))] + [Migration("20160920004320_second")] + partial class second + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { + modelBuilder + .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ItemId"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("BlacklistItem"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BufferSize"); + + b.Property("CurrencyGenerationChance"); + + b.Property("CurrencyGenerationCooldown"); + + b.Property("CurrencyName"); + + b.Property("CurrencyPluralName"); + + b.Property("CurrencySign"); + + b.Property("DontJoinServers"); + + b.Property("ForwardMessages"); + + b.Property("ForwardToAllOwners"); + + b.Property("RemindMessageFormat"); + + b.Property("RotatingStatuses"); + + b.HasKey("Id"); + + b.ToTable("BotConfig"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BaseDestroyed"); + + b.Property("CallUser"); + + b.Property("ClashWarId"); + + b.Property("Stars"); + + b.Property("TimeAdded"); + + b.HasKey("Id"); + + b.HasIndex("ClashWarId"); + + b.ToTable("ClashCallers"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("EnemyClan"); + + b.Property("GuildId"); + + b.Property("Size"); + + b.Property("StartedAt"); + + b.Property("WarState"); + + b.HasKey("Id"); + + b.ToTable("ClashOfClans"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("InternalTrigger"); + + b.Property("Modifier"); + + b.Property("UnitType"); + + b.HasKey("Id"); + + b.ToTable("ConversionUnits"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Currency"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("Name"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Donators"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("EightBallResponses"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildConfigId"); + + b.Property("GuildId"); + + b.Property("LastStatus"); + + b.Property("Type"); + + b.Property("Username"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FollowedStream"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AutoAssignRoleId"); + + b.Property("AutoDeleteByeMessages"); + + b.Property("AutoDeleteGreetMessages"); + + b.Property("AutoDeleteGreetMessagesTimer"); + + b.Property("AutoDeleteSelfAssignedRoleMessages"); + + b.Property("ByeMessageChannelId"); + + b.Property("ChannelByeMessageText"); + + b.Property("ChannelGreetMessageText"); + + b.Property("DefaultMusicVolume"); + + b.Property("DeleteMessageOnCommand"); + + b.Property("DmGreetMessageText"); + + b.Property("ExclusiveSelfAssignedRoles"); + + b.Property("GenerateCurrencyChannelId"); + + b.Property("GreetMessageChannelId"); + + b.Property("GuildId"); + + b.Property("LogSettingId"); + + b.Property("SendChannelByeMessage"); + + b.Property("SendChannelGreetMessage"); + + b.Property("SendDmGreetMessage"); + + b.Property("VoicePlusTextEnabled"); + + b.HasKey("Id"); + + b.HasIndex("GuildId") + .IsUnique(); + + b.HasIndex("LogSettingId"); + + b.ToTable("GuildConfigs"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredLogChannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredVoicePresenceCHannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelCreated"); + + b.Property("ChannelDestroyed"); + + b.Property("ChannelId"); + + b.Property("ChannelUpdated"); + + b.Property("IsLogging"); + + b.Property("LogUserPresence"); + + b.Property("LogVoicePresence"); + + b.Property("MessageDeleted"); + + b.Property("MessageReceived"); + + b.Property("MessageUpdated"); + + b.Property("UserBanned"); + + b.Property("UserJoined"); + + b.Property("UserLeft"); + + b.Property("UserPresenceChannelId"); + + b.Property("UserUnbanned"); + + b.Property("UserUpdated"); + + b.Property("VoicePresenceChannelId"); + + b.HasKey("Id"); + + b.ToTable("LogSettings"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ModuleName"); + + b.Property("Prefix"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("ModulePrefixes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Command"); + + b.Property("GuildConfigId"); + + b.Property("Module"); + + b.Property("State"); + + b.Property("Target"); + + b.Property("TargetType"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("Permission"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Status"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("PlayingStatus"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AuthorId"); + + b.Property("AuthorName") + .IsRequired(); + + b.Property("GuildId"); + + b.Property("Keyword") + .IsRequired(); + + b.Property("Text") + .IsRequired(); + + b.HasKey("Id"); + + b.ToTable("Quotes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Icon"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("RaceAnimals"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("IsPrivate"); + + b.Property("Message"); + + b.Property("ServerId"); + + b.Property("UserId"); + + b.Property("When"); + + b.HasKey("Id"); + + b.ToTable("Reminders"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildId"); + + b.Property("Interval"); + + b.Property("Message"); + + b.HasKey("Id"); + + b.HasIndex("ChannelId") + .IsUnique(); + + b.ToTable("Repeaters"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildId"); + + b.Property("RoleId"); + + b.HasKey("Id"); + + b.HasIndex("GuildId", "RoleId") + .IsUnique(); + + b.ToTable("SelfAssignableRoles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.ToTable("TypingArticles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("Blacklist") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") + .WithMany("Bases") + .HasForeignKey("ClashWarId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("EightBallResponses") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FollowedStreams") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany() + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredChannels") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredVoicePresenceChannelIds") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") + .WithMany("ModulePrefixes") + .HasForeignKey("BotConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("Permissions") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RotatingStatusMessages") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RaceAnimals") + .HasForeignKey("BotConfigId"); + }); + } + } +} diff --git a/src/NadekoBot/Migrations/20160920004320_second.cs b/src/NadekoBot/Migrations/20160920004320_second.cs new file mode 100644 index 00000000..7b417d43 --- /dev/null +++ b/src/NadekoBot/Migrations/20160920004320_second.cs @@ -0,0 +1,47 @@ +using System; +using System.Collections.Generic; +using Microsoft.EntityFrameworkCore.Migrations; + +namespace NadekoBot.Migrations +{ + public partial class second : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.CreateTable( + name: "Permission", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + Command = table.Column(nullable: true), + GuildConfigId = table.Column(nullable: true), + Module = table.Column(nullable: true), + State = table.Column(nullable: false), + Target = table.Column(nullable: true), + TargetType = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Permission", x => x.Id); + table.ForeignKey( + name: "FK_Permission_GuildConfigs_GuildConfigId", + column: x => x.GuildConfigId, + principalTable: "GuildConfigs", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateIndex( + name: "IX_Permission_GuildConfigId", + table: "Permission", + column: "GuildConfigId"); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "Permission"); + } + } +} diff --git a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs index 92d2ea09..06546b13 100644 --- a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs +++ b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs @@ -348,6 +348,30 @@ namespace NadekoBot.Migrations b.ToTable("ModulePrefixes"); }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Command"); + + b.Property("GuildConfigId"); + + b.Property("Module"); + + b.Property("State"); + + b.Property("Target"); + + b.Property("TargetType"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("Permission"); + }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => { b.Property("Id") @@ -537,6 +561,13 @@ namespace NadekoBot.Migrations .OnDelete(DeleteBehavior.Cascade); }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("Permissions") + .HasForeignKey("GuildConfigId"); + }); + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => { b.HasOne("NadekoBot.Services.Database.Models.BotConfig") diff --git a/src/NadekoBot/Modules/Permissions/Permissions.cs b/src/NadekoBot/Modules/Permissions/Permissions.cs index 5619ddf0..743f5a26 100644 --- a/src/NadekoBot/Modules/Permissions/Permissions.cs +++ b/src/NadekoBot/Modules/Permissions/Permissions.cs @@ -8,6 +8,8 @@ using Discord.Commands; using Discord.WebSocket; using NadekoBot.Services; using Discord; +using NadekoBot.Services.Database; +using NadekoBot.Services.Database.Models; namespace NadekoBot.Modules.Permissions { @@ -24,7 +26,18 @@ namespace NadekoBot.Modules.Permissions { var channel = (ITextChannel)imsg.Channel; - await channel.SendMessageAsync($"{command.Text} {action.Value} {user}"); + using (var uow = DbHandler.UnitOfWork()) + { + uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + { + TargetType = PermissionType.User, + Target = user.Id.ToString(), + Command = command.Text.ToLowerInvariant(), + State = action.Value, + }); + await uow.CompleteAsync(); + } + await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{command.Text}` command for `{user}` user."); } [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] @@ -33,7 +46,18 @@ namespace NadekoBot.Modules.Permissions { var channel = (ITextChannel)imsg.Channel; - await channel.SendMessageAsync($"{module.Name} {action.Value} {user}"); + using (var uow = DbHandler.UnitOfWork()) + { + uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + { + TargetType = PermissionType.User, + Target = user.Id.ToString(), + Module = module.Name.ToLowerInvariant(), + State = action.Value, + }); + await uow.CompleteAsync(); + } + await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{module.Name}` module for `{user}` user."); } } } diff --git a/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs b/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs index b313bf63..03f5fc8e 100644 --- a/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs @@ -101,7 +101,7 @@ namespace NadekoBot.Modules.Searches cachedStatuses.TryAdd(hitboxUrl, result); return result; case FollowedStream.FollowedStreamType.Twitch: - var twitchUrl = $"https://api.twitch.tv/kraken/streams/{Uri.EscapeUriString(stream.Username)}"; + var twitchUrl = $"https://api.twitch.tv/kraken/streams/{Uri.EscapeUriString(stream.Username)}?client_id=67w6z9i09xv2uoojdm9l0wsyph4hxo6"; if (checkCache && cachedStatuses.TryGetValue(twitchUrl, out result)) return result; using (var http = new HttpClient()) @@ -110,7 +110,7 @@ namespace NadekoBot.Modules.Searches } data = JObject.Parse(response); isLive = !string.IsNullOrWhiteSpace(data["stream"].ToString()); - result = new Tuple(isLive, isLive ? data["stream"]["viewers"].ToString() : "0"); + result = new Tuple(isLive, isLive ? data["stream"]["viewers"].ToString() : stream.Username); cachedStatuses.TryAdd(twitchUrl, result); return result; case FollowedStream.FollowedStreamType.Beam: @@ -225,7 +225,11 @@ namespace NadekoBot.Modules.Searches })); if (streamStatus.Item1) { - await channel.SendMessageAsync($"`Streamer {streamStatus.Item2} is online.`"); + await channel.SendMessageAsync($"`Streamer {username} is online with {streamStatus.Item2}.`"); + } + else + { + await channel.SendMessageAsync($"`Streamer {username} is offline.`"); } } catch diff --git a/src/NadekoBot/Services/Database/Models/GuildConfig.cs b/src/NadekoBot/Services/Database/Models/GuildConfig.cs index ada21e94..33180435 100644 --- a/src/NadekoBot/Services/Database/Models/GuildConfig.cs +++ b/src/NadekoBot/Services/Database/Models/GuildConfig.cs @@ -41,5 +41,8 @@ namespace NadekoBot.Services.Database.Models //currencyGeneration public ulong? GenerateCurrencyChannelId { get; set; } + + //permissions + public List Permissions { get; set; } } } diff --git a/src/NadekoBot/Services/Database/Models/Permission.cs b/src/NadekoBot/Services/Database/Models/Permission.cs new file mode 100644 index 00000000..9b1831a5 --- /dev/null +++ b/src/NadekoBot/Services/Database/Models/Permission.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace NadekoBot.Services.Database.Models +{ + public class Permission : DbEntity + { + public PermissionType TargetType { get; set; } + public string Command { get; set; } = null; + public string Module { get; set; } = null; + public bool State { get; set; } + public string Target { get; set; } + } + + public enum PermissionType + { + User, + Channel, + Role + } +} From 1a2d1398a7c0004da01ab1b9ea11d39b2d340f7b Mon Sep 17 00:00:00 2001 From: Kwoth Date: Thu, 22 Sep 2016 20:53:49 +0200 Subject: [PATCH 011/135] More work on permission system, fixes --- .../20160910180231_first.Designer.cs | 556 ------------------ .../Migrations/20160920004320_second.cs | 47 -- ...er.cs => 20160922170157_perms.Designer.cs} | 18 +- ...80231_first.cs => 20160922170157_perms.cs} | 34 +- .../NadekoSqliteContextModelSnapshot.cs | 14 +- .../Modules/Gambling/Commands/AnimalRacing.cs | 2 +- .../Games/Commands/PlantAndPickCommands.cs | 4 +- src/NadekoBot/Modules/Music/Music.cs | 2 +- .../Permissions/PermissionExtensions.cs | 121 ++++ .../Modules/Permissions/Permissions.cs | 43 +- .../Resources/CommandStrings.Designer.cs | 27 + src/NadekoBot/Resources/CommandStrings.resx | 9 + src/NadekoBot/Services/CommandHandler.cs | 70 ++- .../Services/Database/Models/Permission.cs | 18 +- .../Impl/GuildConfigRepository.cs | 1 + 15 files changed, 326 insertions(+), 640 deletions(-) delete mode 100644 src/NadekoBot/Migrations/20160910180231_first.Designer.cs delete mode 100644 src/NadekoBot/Migrations/20160920004320_second.cs rename src/NadekoBot/Migrations/{20160920004320_second.Designer.cs => 20160922170157_perms.Designer.cs} (98%) rename src/NadekoBot/Migrations/{20160910180231_first.cs => 20160922170157_perms.cs} (94%) create mode 100644 src/NadekoBot/Modules/Permissions/PermissionExtensions.cs diff --git a/src/NadekoBot/Migrations/20160910180231_first.Designer.cs b/src/NadekoBot/Migrations/20160910180231_first.Designer.cs deleted file mode 100644 index 1097f981..00000000 --- a/src/NadekoBot/Migrations/20160910180231_first.Designer.cs +++ /dev/null @@ -1,556 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using NadekoBot.Services.Database.Impl; - -namespace NadekoBot.Migrations -{ - [DbContext(typeof(NadekoSqliteContext))] - [Migration("20160910180231_first")] - partial class first - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { - modelBuilder - .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ItemId"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("BlacklistItem"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BufferSize"); - - b.Property("CurrencyGenerationChance"); - - b.Property("CurrencyGenerationCooldown"); - - b.Property("CurrencyName"); - - b.Property("CurrencyPluralName"); - - b.Property("CurrencySign"); - - b.Property("DontJoinServers"); - - b.Property("ForwardMessages"); - - b.Property("ForwardToAllOwners"); - - b.Property("RemindMessageFormat"); - - b.Property("RotatingStatuses"); - - b.HasKey("Id"); - - b.ToTable("BotConfig"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BaseDestroyed"); - - b.Property("CallUser"); - - b.Property("ClashWarId"); - - b.Property("Stars"); - - b.Property("TimeAdded"); - - b.HasKey("Id"); - - b.HasIndex("ClashWarId"); - - b.ToTable("ClashCallers"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("EnemyClan"); - - b.Property("GuildId"); - - b.Property("Size"); - - b.Property("StartedAt"); - - b.Property("WarState"); - - b.HasKey("Id"); - - b.ToTable("ClashOfClans"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("InternalTrigger"); - - b.Property("Modifier"); - - b.Property("UnitType"); - - b.HasKey("Id"); - - b.ToTable("ConversionUnits"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Currency"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Amount"); - - b.Property("Name"); - - b.Property("UserId"); - - b.HasKey("Id"); - - b.HasIndex("UserId") - .IsUnique(); - - b.ToTable("Donators"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("EightBallResponses"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildConfigId"); - - b.Property("GuildId"); - - b.Property("LastStatus"); - - b.Property("Type"); - - b.Property("Username"); - - b.HasKey("Id"); - - b.HasIndex("GuildConfigId"); - - b.ToTable("FollowedStream"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AutoAssignRoleId"); - - b.Property("AutoDeleteByeMessages"); - - b.Property("AutoDeleteGreetMessages"); - - b.Property("AutoDeleteGreetMessagesTimer"); - - b.Property("AutoDeleteSelfAssignedRoleMessages"); - - b.Property("ByeMessageChannelId"); - - b.Property("ChannelByeMessageText"); - - b.Property("ChannelGreetMessageText"); - - b.Property("DefaultMusicVolume"); - - b.Property("DeleteMessageOnCommand"); - - b.Property("DmGreetMessageText"); - - b.Property("ExclusiveSelfAssignedRoles"); - - b.Property("GenerateCurrencyChannelId"); - - b.Property("GreetMessageChannelId"); - - b.Property("GuildId"); - - b.Property("LogSettingId"); - - b.Property("SendChannelByeMessage"); - - b.Property("SendChannelGreetMessage"); - - b.Property("SendDmGreetMessage"); - - b.Property("VoicePlusTextEnabled"); - - b.HasKey("Id"); - - b.HasIndex("GuildId") - .IsUnique(); - - b.HasIndex("LogSettingId"); - - b.ToTable("GuildConfigs"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredLogChannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("LogSettingId"); - - b.HasKey("Id"); - - b.HasIndex("LogSettingId"); - - b.ToTable("IgnoredVoicePresenceCHannels"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelCreated"); - - b.Property("ChannelDestroyed"); - - b.Property("ChannelId"); - - b.Property("ChannelUpdated"); - - b.Property("IsLogging"); - - b.Property("LogUserPresence"); - - b.Property("LogVoicePresence"); - - b.Property("MessageDeleted"); - - b.Property("MessageReceived"); - - b.Property("MessageUpdated"); - - b.Property("UserBanned"); - - b.Property("UserJoined"); - - b.Property("UserLeft"); - - b.Property("UserPresenceChannelId"); - - b.Property("UserUnbanned"); - - b.Property("UserUpdated"); - - b.Property("VoicePresenceChannelId"); - - b.HasKey("Id"); - - b.ToTable("LogSettings"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("ModuleName"); - - b.Property("Prefix"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("ModulePrefixes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Status"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("PlayingStatus"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("AuthorId"); - - b.Property("AuthorName") - .IsRequired(); - - b.Property("GuildId"); - - b.Property("Keyword") - .IsRequired(); - - b.Property("Text") - .IsRequired(); - - b.HasKey("Id"); - - b.ToTable("Quotes"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("BotConfigId"); - - b.Property("Icon"); - - b.Property("Name"); - - b.HasKey("Id"); - - b.HasIndex("BotConfigId"); - - b.ToTable("RaceAnimals"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("IsPrivate"); - - b.Property("Message"); - - b.Property("ServerId"); - - b.Property("UserId"); - - b.Property("When"); - - b.HasKey("Id"); - - b.ToTable("Reminders"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("ChannelId"); - - b.Property("GuildId"); - - b.Property("Interval"); - - b.Property("Message"); - - b.HasKey("Id"); - - b.HasIndex("ChannelId") - .IsUnique(); - - b.ToTable("Repeaters"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("GuildId"); - - b.Property("RoleId"); - - b.HasKey("Id"); - - b.HasIndex("GuildId", "RoleId") - .IsUnique(); - - b.ToTable("SelfAssignableRoles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd(); - - b.Property("Author"); - - b.Property("Text"); - - b.HasKey("Id"); - - b.ToTable("TypingArticles"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("Blacklist") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => - { - b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") - .WithMany("Bases") - .HasForeignKey("ClashWarId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("EightBallResponses") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => - { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("FollowedStreams") - .HasForeignKey("GuildConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany() - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredChannels") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => - { - b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") - .WithMany("IgnoredVoicePresenceChannelIds") - .HasForeignKey("LogSettingId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") - .WithMany("ModulePrefixes") - .HasForeignKey("BotConfigId") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RotatingStatusMessages") - .HasForeignKey("BotConfigId"); - }); - - modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => - { - b.HasOne("NadekoBot.Services.Database.Models.BotConfig") - .WithMany("RaceAnimals") - .HasForeignKey("BotConfigId"); - }); - } - } -} diff --git a/src/NadekoBot/Migrations/20160920004320_second.cs b/src/NadekoBot/Migrations/20160920004320_second.cs deleted file mode 100644 index 7b417d43..00000000 --- a/src/NadekoBot/Migrations/20160920004320_second.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System; -using System.Collections.Generic; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace NadekoBot.Migrations -{ - public partial class second : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "Permission", - columns: table => new - { - Id = table.Column(nullable: false) - .Annotation("Autoincrement", true), - Command = table.Column(nullable: true), - GuildConfigId = table.Column(nullable: true), - Module = table.Column(nullable: true), - State = table.Column(nullable: false), - Target = table.Column(nullable: true), - TargetType = table.Column(nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_Permission", x => x.Id); - table.ForeignKey( - name: "FK_Permission_GuildConfigs_GuildConfigId", - column: x => x.GuildConfigId, - principalTable: "GuildConfigs", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateIndex( - name: "IX_Permission_GuildConfigId", - table: "Permission", - column: "GuildConfigId"); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "Permission"); - } - } -} diff --git a/src/NadekoBot/Migrations/20160920004320_second.Designer.cs b/src/NadekoBot/Migrations/20160922170157_perms.Designer.cs similarity index 98% rename from src/NadekoBot/Migrations/20160920004320_second.Designer.cs rename to src/NadekoBot/Migrations/20160922170157_perms.Designer.cs index c39b6fd1..737b3c23 100644 --- a/src/NadekoBot/Migrations/20160920004320_second.Designer.cs +++ b/src/NadekoBot/Migrations/20160922170157_perms.Designer.cs @@ -8,8 +8,8 @@ using NadekoBot.Services.Database.Impl; namespace NadekoBot.Migrations { [DbContext(typeof(NadekoSqliteContext))] - [Migration("20160920004320_second")] - partial class second + [Migration("20160922170157_perms")] + partial class perms { protected override void BuildTargetModel(ModelBuilder modelBuilder) { @@ -354,18 +354,18 @@ namespace NadekoBot.Migrations b.Property("Id") .ValueGeneratedOnAdd(); - b.Property("Command"); - b.Property("GuildConfigId"); - b.Property("Module"); + b.Property("PrimaryTarget"); + + b.Property("PrimaryTargetId"); + + b.Property("SecondaryTarget"); + + b.Property("SecondaryTargetName"); b.Property("State"); - b.Property("Target"); - - b.Property("TargetType"); - b.HasKey("Id"); b.HasIndex("GuildConfigId"); diff --git a/src/NadekoBot/Migrations/20160910180231_first.cs b/src/NadekoBot/Migrations/20160922170157_perms.cs similarity index 94% rename from src/NadekoBot/Migrations/20160910180231_first.cs rename to src/NadekoBot/Migrations/20160922170157_perms.cs index c24604f5..e892e494 100644 --- a/src/NadekoBot/Migrations/20160910180231_first.cs +++ b/src/NadekoBot/Migrations/20160922170157_perms.cs @@ -4,7 +4,7 @@ using Microsoft.EntityFrameworkCore.Migrations; namespace NadekoBot.Migrations { - public partial class first : Migration + public partial class perms : Migration { protected override void Up(MigrationBuilder migrationBuilder) { @@ -428,6 +428,30 @@ namespace NadekoBot.Migrations onDelete: ReferentialAction.Restrict); }); + migrationBuilder.CreateTable( + name: "Permission", + columns: table => new + { + Id = table.Column(nullable: false) + .Annotation("Autoincrement", true), + GuildConfigId = table.Column(nullable: true), + PrimaryTarget = table.Column(nullable: false), + PrimaryTargetId = table.Column(nullable: false), + SecondaryTarget = table.Column(nullable: false), + SecondaryTargetName = table.Column(nullable: true), + State = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Permission", x => x.Id); + table.ForeignKey( + name: "FK_Permission_GuildConfigs_GuildConfigId", + column: x => x.GuildConfigId, + principalTable: "GuildConfigs", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + migrationBuilder.CreateIndex( name: "IX_BlacklistItem_BotConfigId", table: "BlacklistItem", @@ -486,6 +510,11 @@ namespace NadekoBot.Migrations table: "ModulePrefixes", column: "BotConfigId"); + migrationBuilder.CreateIndex( + name: "IX_Permission_GuildConfigId", + table: "Permission", + column: "GuildConfigId"); + migrationBuilder.CreateIndex( name: "IX_PlayingStatus_BotConfigId", table: "PlayingStatus", @@ -541,6 +570,9 @@ namespace NadekoBot.Migrations migrationBuilder.DropTable( name: "ModulePrefixes"); + migrationBuilder.DropTable( + name: "Permission"); + migrationBuilder.DropTable( name: "PlayingStatus"); diff --git a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs index 06546b13..232314b2 100644 --- a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs +++ b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs @@ -353,18 +353,18 @@ namespace NadekoBot.Migrations b.Property("Id") .ValueGeneratedOnAdd(); - b.Property("Command"); - b.Property("GuildConfigId"); - b.Property("Module"); + b.Property("PrimaryTarget"); + + b.Property("PrimaryTargetId"); + + b.Property("SecondaryTarget"); + + b.Property("SecondaryTargetName"); b.Property("State"); - b.Property("Target"); - - b.Property("TargetType"); - b.HasKey("Id"); b.HasIndex("GuildConfigId"); diff --git a/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs b/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs index 7870fa6a..15ea002d 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs @@ -96,7 +96,7 @@ namespace NadekoBot.Modules.Gambling { try { - await raceChannel.SendMessageAsync($"🏁`Race is starting in 20 seconds or when the room is full. Type {NadekoBot.ModulePrefixes["Gambling"]}jr to join the race.`"); + await raceChannel.SendMessageAsync($"🏁`Race is starting in 20 seconds or when the room is full. Type {NadekoBot.ModulePrefixes[typeof(Gambling).Name]}jr to join the race.`"); var t = await Task.WhenAny(Task.Delay(20000, token), fullgame); Started = true; cancelSource.Cancel(); diff --git a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs index a6976739..689aea42 100644 --- a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs @@ -86,7 +86,7 @@ namespace NadekoBot.Modules.Games { var sent = await channel.SendFileAsync( GetRandomCurrencyImagePath(), - $"❗ A random { Gambling.Gambling.CurrencyName } appeared! Pick it up by typing `{NadekoBot.ModulePrefixes["Gambling"]}pick`") + $"❗ A random { Gambling.Gambling.CurrencyName } appeared! Pick it up by typing `{NadekoBot.ModulePrefixes[typeof(Games).Name]}pick`") .ConfigureAwait(false); plantedFlowers.AddOrUpdate(channel.Id, new List() { sent }, (id, old) => { old.Add(sent); return old; }); } @@ -148,7 +148,7 @@ namespace NadekoBot.Modules.Games IUserMessage msg; var vowelFirst = new[] { 'a', 'e', 'i', 'o', 'u' }.Contains(Gambling.Gambling.CurrencyName[0]); - var msgToSend = $"Oh how Nice! **{imsg.Author.Username}** planted {(vowelFirst ? "an" : "a")} {Gambling.Gambling.CurrencyName}. Pick it using {NadekoBot.ModulePrefixes["Games"]}pick"; + var msgToSend = $"Oh how Nice! **{imsg.Author.Username}** planted {(vowelFirst ? "an" : "a")} {Gambling.Gambling.CurrencyName}. Pick it using {NadekoBot.ModulePrefixes[typeof(Gambling.Gambling).Name]}pick"; if (file == null) { msg = await channel.SendMessageAsync(Gambling.Gambling.CurrencySign).ConfigureAwait(false); diff --git a/src/NadekoBot/Modules/Music/Music.cs b/src/NadekoBot/Modules/Music/Music.cs index 5675eff1..b2709a72 100644 --- a/src/NadekoBot/Modules/Music/Music.cs +++ b/src/NadekoBot/Modules/Music/Music.cs @@ -17,7 +17,7 @@ using NadekoBot.Services.Database; namespace NadekoBot.Modules.Music { - [NadekoModule("ClashOfClans", "!!")] + [NadekoModule("Music", "!!")] public partial class Music : DiscordModule { public static ConcurrentDictionary MusicPlayers = new ConcurrentDictionary(); diff --git a/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs b/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs new file mode 100644 index 00000000..f1c668c7 --- /dev/null +++ b/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs @@ -0,0 +1,121 @@ +using Discord; +using Discord.Commands; +using NadekoBot.Services.Database.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace NadekoBot.Modules.Permissions +{ + public static class PermissionExtensions + { + public static bool CheckPermissions(this IEnumerable permsEnumerable, IUserMessage message, Command command) + { + var perms = permsEnumerable as List ?? permsEnumerable.ToList(); + int throwaway; + return perms.CheckPermissions(message, command, out throwaway); + } + + public static bool CheckPermissions(this IEnumerable permsEnumerable, IUserMessage message, Command command, out int permIndex) + { + var perms = permsEnumerable as List ?? permsEnumerable.ToList(); + + for (int i = 0; i < perms.Count; i++) + { + var perm = perms[i]; + + var result = perm.CheckPermission(message, command); + + if (result == null) + { + continue; + } + else + { + permIndex = i + 1; + return result.Value; + } + } + permIndex = -1; //defaut behaviour + return true; + } + + //null = not applicable + //true = applicable, allowed + //false = applicable, not allowed + public static bool? CheckPermission(this Permission perm, IUserMessage message, Command command) + { + if (!((perm.SecondaryTarget == SecondaryPermissionType.Command && + perm.SecondaryTargetName == command.Text.ToLowerInvariant()) || + (perm.SecondaryTarget == SecondaryPermissionType.Module && + perm.SecondaryTargetName == command.Module.Name.ToLowerInvariant()))) + return null; + + switch (perm.PrimaryTarget) + { + case PrimaryPermissionType.User: + if (perm.PrimaryTargetId == message.Author.Id) + return perm.State; + break; + case PrimaryPermissionType.Channel: + if (perm.PrimaryTargetId == message.Channel.Id) + return perm.State; + break; + case PrimaryPermissionType.Role: + var guildUser = message.Author as IGuildUser; + if (guildUser == null) + break; + if (guildUser.Roles.Any(r => r.Id == perm.PrimaryTargetId)) + return perm.State; + break; + } + return null; + } + + public static string GetCommand(this Permission perm) + { + var com = NadekoBot.ModulePrefixes[typeof(Permissions).Name]; + switch (perm.PrimaryTarget) + { + case PrimaryPermissionType.User: + com += "u"; + break; + case PrimaryPermissionType.Channel: + com += "c"; + break; + case PrimaryPermissionType.Role: + com += "r"; + break; + } + + switch (perm.SecondaryTarget) + { + case SecondaryPermissionType.Module: + com += "m"; + break; + case SecondaryPermissionType.Command: + com += "c"; + break; + } + com += " " + perm.SecondaryTargetName + " " + (perm.State ? "enable" : "disable") + " "; + + switch (perm.PrimaryTarget) + { + case PrimaryPermissionType.User: + com += $"<@{perm.PrimaryTargetId}>"; + break; + case PrimaryPermissionType.Channel: + com += $"<#{perm.PrimaryTargetId}>"; + break; + case PrimaryPermissionType.Role: + com += $"<@&{perm.PrimaryTargetId}>"; + break; + } + + return com; + } + + } +} diff --git a/src/NadekoBot/Modules/Permissions/Permissions.cs b/src/NadekoBot/Modules/Permissions/Permissions.cs index 743f5a26..8a9357d3 100644 --- a/src/NadekoBot/Modules/Permissions/Permissions.cs +++ b/src/NadekoBot/Modules/Permissions/Permissions.cs @@ -20,6 +20,27 @@ namespace NadekoBot.Modules.Permissions { } + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task ListPerms(IUserMessage msg) + { + var channel = (ITextChannel)msg.Channel; + + string toSend = ""; + using (var uow = DbHandler.UnitOfWork()) + { + var perms = uow.GuildConfigs.For(channel.Guild.Id).Permissions; + + var i = 1; + toSend = String.Join("\n", perms.Select(p => $"`{(i++)}.` {p.GetCommand()}")); + } + + if (string.IsNullOrWhiteSpace(toSend)) + await channel.SendMessageAsync("`No permissions set.`").ConfigureAwait(false); + else + await channel.SendMessageAsync(toSend).ConfigureAwait(false); + } + [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task UsrCmd(IUserMessage imsg, Command command, PermissionAction action, IGuildUser user) @@ -30,14 +51,15 @@ namespace NadekoBot.Modules.Permissions { uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission { - TargetType = PermissionType.User, - Target = user.Id.ToString(), - Command = command.Text.ToLowerInvariant(), + PrimaryTarget = PrimaryPermissionType.User, + PrimaryTargetId = user.Id, + SecondaryTarget = SecondaryPermissionType.Command, + SecondaryTargetName = command.Text.ToLowerInvariant(), State = action.Value, }); - await uow.CompleteAsync(); + await uow.CompleteAsync().ConfigureAwait(false); } - await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{command.Text}` command for `{user}` user."); + await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{command.Text}` command for `{user}` user.").ConfigureAwait(false); } [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] @@ -50,14 +72,15 @@ namespace NadekoBot.Modules.Permissions { uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission { - TargetType = PermissionType.User, - Target = user.Id.ToString(), - Module = module.Name.ToLowerInvariant(), + PrimaryTarget = PrimaryPermissionType.User, + PrimaryTargetId = user.Id, + SecondaryTarget = SecondaryPermissionType.Module, + SecondaryTargetName = module.Name.ToLowerInvariant(), State = action.Value, }); - await uow.CompleteAsync(); + await uow.CompleteAsync().ConfigureAwait(false); } - await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{module.Name}` module for `{user}` user."); + await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{module.Name}` module for `{user}` user.").ConfigureAwait(false); } } } diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index 25136f16..b727a16e 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -3596,6 +3596,33 @@ namespace NadekoBot.Resources { } } + /// + /// Looks up a localized string similar to Lists whole permission chain with their indexes.. + /// + public static string listperms_desc { + get { + return ResourceManager.GetString("listperms_desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to `;lp`. + /// + public static string listperms_summary { + get { + return ResourceManager.GetString("listperms_summary", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to listperms lp. + /// + public static string listperms_text { + get { + return ResourceManager.GetString("listperms_text", resourceCulture); + } + } + /// /// Looks up a localized string similar to Lists all playing statuses with their corresponding number. **Bot Owner Only!**. /// diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index e43b132f..5425ea2f 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -2637,4 +2637,13 @@ cash $$ + + Lists whole permission chain with their indexes. + + + `;lp` + + + listperms lp + \ No newline at end of file diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index 493571ce..03863b8a 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -8,6 +8,9 @@ using Discord; using NLog; using System.Diagnostics; using Discord.Commands; +using NadekoBot.Services.Database; +using NadekoBot.Services.Database.Models; +using NadekoBot.Modules.Permissions; namespace NadekoBot.Services { @@ -33,11 +36,15 @@ namespace NadekoBot.Services var usrMsg = msg as IUserMessage; if (usrMsg == null) return Task.CompletedTask; + + var guild = (msg.Channel as ITextChannel)?.Guild; + var throwaway = Task.Run(async () => { var sw = new Stopwatch(); sw.Start(); - var t = await _commandService.Execute(usrMsg, usrMsg.Content, MultiMatchHandling.Best); + + var t = await ExecuteCommand(usrMsg, usrMsg.Content, guild, usrMsg.Author, MultiMatchHandling.Best); var command = t.Item1; var result = t.Item2; sw.Stop(); @@ -77,6 +84,67 @@ namespace NadekoBot.Services return Task.CompletedTask; } + + public async Task> ExecuteCommand(IUserMessage message, string input, IGuild guild, IUser user, MultiMatchHandling multiMatchHandling = MultiMatchHandling.Best) { + var searchResult = _commandService.Search(message, input); + if (!searchResult.IsSuccess) + return new Tuple(null, searchResult); + + var commands = searchResult.Commands; + for (int i = commands.Count - 1; i >= 0; i--) + { + var preconditionResult = await commands[i].CheckPreconditions(message); + if (!preconditionResult.IsSuccess) + { + if (commands.Count == 1) + return new Tuple(null, searchResult); + else + continue; + } + + var parseResult = await commands[i].Parse(message, searchResult, preconditionResult); + if (!parseResult.IsSuccess) + { + if (parseResult.Error == CommandError.MultipleMatches) + { + TypeReaderValue[] argList, paramList; + switch (multiMatchHandling) + { + case MultiMatchHandling.Best: + argList = parseResult.ArgValues.Select(x => x.Values.OrderByDescending(y => y.Score).First()).ToArray(); + paramList = parseResult.ParamValues.Select(x => x.Values.OrderByDescending(y => y.Score).First()).ToArray(); + parseResult = ParseResult.FromSuccess(argList, paramList); + break; + } + } + + if (!parseResult.IsSuccess) + { + if (commands.Count == 1) + return new Tuple(null, parseResult); + else + continue; + } + } + var cmd = commands[i]; + List perms; + //check permissions + if (guild != null) + { + using (var uow = DbHandler.UnitOfWork()) + { + perms = uow.GuildConfigs.For(guild.Id).Permissions; + } + int index; + if (!perms.CheckPermissions(message, cmd, out index)) + return new Tuple(null, SearchResult.FromError(CommandError.Exception, $"Permission error. Permission number {index} (`{(index != -1 ? perms[index - 1].GetCommand() : "default")}`)")); + } + + return new Tuple(commands[i], await commands[i].Execute(message, parseResult)); + } + + return new Tuple(null, SearchResult.FromError(CommandError.UnknownCommand, "This input does not match any overload.")); + } } public class CommandExecutedEventArgs diff --git a/src/NadekoBot/Services/Database/Models/Permission.cs b/src/NadekoBot/Services/Database/Models/Permission.cs index 9b1831a5..de342b6b 100644 --- a/src/NadekoBot/Services/Database/Models/Permission.cs +++ b/src/NadekoBot/Services/Database/Models/Permission.cs @@ -8,17 +8,25 @@ namespace NadekoBot.Services.Database.Models { public class Permission : DbEntity { - public PermissionType TargetType { get; set; } - public string Command { get; set; } = null; - public string Module { get; set; } = null; + public PrimaryPermissionType PrimaryTarget { get; set; } + public ulong PrimaryTargetId { get; set; } + + public SecondaryPermissionType SecondaryTarget { get; set; } + public string SecondaryTargetName { get; set; } + public bool State { get; set; } - public string Target { get; set; } } - public enum PermissionType + public enum PrimaryPermissionType { User, Channel, Role } + + public enum SecondaryPermissionType + { + Module, + Command + } } diff --git a/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs b/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs index 3ff0b7e6..be741701 100644 --- a/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs +++ b/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs @@ -29,6 +29,7 @@ namespace NadekoBot.Services.Database.Repositories.Impl public GuildConfig For(ulong guildId) { var config = _set.Include(gc => gc.FollowedStreams) + .Include(gc => gc.Permissions) .Include(gc => gc.LogSetting) .ThenInclude(ls=>ls.IgnoredChannels) .FirstOrDefault(c => c.GuildId == guildId); From 7181c2a6075e624c535ef54dfd99003a549db174 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Fri, 23 Sep 2016 10:23:54 +0200 Subject: [PATCH 012/135] Updated discord.net. More work on permissions --- discord.net | 2 +- .../Attributes/LocalizedDescription.cs | 4 +- .../Modules/Administration/Administration.cs | 52 ++--- .../Commands/AutoAssignRoleCommands.cs | 2 +- .../Commands/CrossServerTextChannel.cs | 4 +- .../Administration/Commands/LogCommand.cs | 10 +- .../Commands/MessageRepeater.cs | 6 +- .../Commands/PlayingRotateCommands.cs | 8 +- .../Commands/RatelimitCommand.cs | 2 +- .../Commands/SelfAssignedRolesCommand.cs | 12 +- .../Commands/ServerGreetCommands.cs | 16 +- .../Commands/VoicePlusTextCommands.cs | 4 +- .../Modules/ClashOfClans/ClashOfClans.cs | 18 +- .../Modules/Gambling/Commands/AnimalRacing.cs | 4 +- .../Gambling/Commands/DiceRollCommand.cs | 12 +- .../Modules/Gambling/Commands/DrawCommand.cs | 4 +- .../Gambling/Commands/FlipCoinCommand.cs | 4 +- src/NadekoBot/Modules/Gambling/Gambling.cs | 14 +- .../Modules/Games/Commands/LeetCommands.cs | 2 +- .../Games/Commands/PlantAndPickCommands.cs | 6 +- .../Modules/Games/Commands/PollCommands.cs | 4 +- .../Games/Commands/SpeedTypingCommands.cs | 4 +- .../Modules/Games/Commands/TriviaCommands.cs | 6 +- src/NadekoBot/Modules/Games/Games.cs | 8 +- src/NadekoBot/Modules/Help/Help.cs | 30 ++- src/NadekoBot/Modules/Music/Music.cs | 56 ++--- src/NadekoBot/Modules/NSFW/NSFW.cs | 16 +- .../Permissions/PermissionExtensions.cs | 16 +- .../Modules/Permissions/Permissions.cs | 217 +++++++++++++++++- src/NadekoBot/Modules/Pokemon/Pokemon.cs | 2 +- .../Searches/Commands/AnimeSearchCommands.cs | 4 +- .../Modules/Searches/Commands/CalcCommand.cs | 4 +- .../Modules/Searches/Commands/JokeCommands.cs | 10 +- .../Modules/Searches/Commands/LoLCommands.cs | 2 +- .../Searches/Commands/MemegenCommands.cs | 4 +- .../Modules/Searches/Commands/OsuCommands.cs | 6 +- .../Commands/PokemonSearchCommands.cs | 4 +- .../Commands/StreamNotificationCommands.cs | 12 +- .../Searches/Commands/UnitConversion.cs | 6 +- src/NadekoBot/Modules/Searches/Searches.cs | 40 ++-- .../Modules/Translator/Translator.cs | 4 +- .../Modules/Utility/Commands/InfoCommands.cs | 6 +- .../Modules/Utility/Commands/QuoteCommands.cs | 8 +- .../Modules/Utility/Commands/Remind.cs | 2 +- src/NadekoBot/Modules/Utility/Utility.cs | 18 +- .../Resources/CommandStrings.Designer.cs | 4 +- src/NadekoBot/Resources/CommandStrings.resx | 4 +- .../Services/Database/Models/Permission.cs | 4 +- 48 files changed, 460 insertions(+), 227 deletions(-) diff --git a/discord.net b/discord.net index b51408de..72131e69 160000 --- a/discord.net +++ b/discord.net @@ -1 +1 @@ -Subproject commit b51408def863ee5f4273478efa65eb50e4008487 +Subproject commit 72131e69f8ab39c4ed3c5002ed602c72ae83b506 diff --git a/src/NadekoBot/Attributes/LocalizedDescription.cs b/src/NadekoBot/Attributes/LocalizedDescription.cs index 470b6113..e05ec7c0 100644 --- a/src/NadekoBot/Attributes/LocalizedDescription.cs +++ b/src/NadekoBot/Attributes/LocalizedDescription.cs @@ -4,9 +4,9 @@ using System.Runtime.CompilerServices; namespace NadekoBot.Attributes { - public class LocalizedDescriptionAttribute : DescriptionAttribute + public class LocalizedRemarksAttribute : RemarksAttribute { - public LocalizedDescriptionAttribute([CallerMemberName] string memberName="") : base(Localization.LoadCommandString(memberName.ToLowerInvariant()+"_desc")) + public LocalizedRemarksAttribute([CallerMemberName] string memberName="") : base(Localization.LoadCommandString(memberName.ToLowerInvariant()+"_desc")) { } diff --git a/src/NadekoBot/Modules/Administration/Administration.cs b/src/NadekoBot/Modules/Administration/Administration.cs index 2d62e236..623ec387 100644 --- a/src/NadekoBot/Modules/Administration/Administration.cs +++ b/src/NadekoBot/Modules/Administration/Administration.cs @@ -60,7 +60,7 @@ namespace NadekoBot.Modules.Administration // Environment.Exit(0); //} - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.Administrator)] public async Task Delmsgoncmd(IUserMessage umsg) @@ -80,7 +80,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("❗`Stopped automatic deletion of successfull command invokations.`"); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] public async Task Setrole(IUserMessage umsg, IGuildUser usr, [Remainder] IRole role) @@ -98,7 +98,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] public async Task Removerole(IUserMessage umsg, IGuildUser usr, [Remainder] IRole role) @@ -115,7 +115,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] public async Task RenameRole(IUserMessage umsg, IRole roleToEdit, string newname) @@ -137,7 +137,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] public async Task RemoveAllRoles(IUserMessage umsg, [Remainder] IGuildUser user) @@ -155,7 +155,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] public async Task CreateRole(IUserMessage umsg, [Remainder] string roleName = null) @@ -176,7 +176,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] public async Task RoleColor(IUserMessage umsg, params string[] args) @@ -214,7 +214,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.BanMembers)] public async Task Ban(IUserMessage umsg, IGuildUser user) @@ -241,7 +241,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.BanMembers)] public async Task Softban(IUserMessage umsg, IGuildUser user, [Remainder] string msg = null) @@ -267,7 +267,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Kick(IUserMessage umsg, IGuildUser user, [Remainder] string msg = null) { @@ -295,7 +295,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.MuteMembers)] public async Task Mute(IUserMessage umsg, params IGuildUser[] users) @@ -318,7 +318,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.MuteMembers)] public async Task Unmute(IUserMessage umsg, params IGuildUser[] users) @@ -341,7 +341,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.DeafenMembers)] public async Task Deafen(IUserMessage umsg, params IGuildUser[] users) @@ -364,7 +364,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.DeafenMembers)] public async Task UnDeafen(IUserMessage umsg, params IGuildUser[] users) @@ -387,7 +387,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageChannels)] public async Task DelVoiChanl(IUserMessage umsg, [Remainder] IVoiceChannel voiceChannel) @@ -396,7 +396,7 @@ namespace NadekoBot.Modules.Administration await umsg.Channel.SendMessageAsync($"Removed channel **{voiceChannel.Name}**.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageChannels)] public async Task CreatVoiChanl(IUserMessage umsg, [Remainder] string channelName) @@ -406,7 +406,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync($"Created voice channel **{ch.Name}**, id `{ch.Id}`.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageChannels)] public async Task DelTxtChanl(IUserMessage umsg, [Remainder] ITextChannel channel) @@ -415,7 +415,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync($"Removed text channel **{channel.Name}**, id `{channel.Id}`.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageChannels)] public async Task CreaTxtChanl(IUserMessage umsg, [Remainder] string channelName) @@ -425,7 +425,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync($"Added text channel **{txtCh.Name}**, id `{txtCh.Id}`.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageChannels)] public async Task SetTopic(IUserMessage umsg, [Remainder] string topic = null) @@ -436,7 +436,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync(":ok: **New channel topic set.**").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageChannels)] public async Task SetChanlName(IUserMessage umsg, [Remainder] string name) @@ -449,7 +449,7 @@ namespace NadekoBot.Modules.Administration //delets her own messages, no perm required - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Prune(IUserMessage umsg) { @@ -462,7 +462,7 @@ namespace NadekoBot.Modules.Administration } // prune x - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(ChannelPermission.ManageMessages)] public async Task Prune(IUserMessage msg, int count) @@ -481,7 +481,7 @@ namespace NadekoBot.Modules.Administration } //prune @user [x] - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Prune(IUserMessage msg, IGuildUser user, int count = 100) { @@ -635,7 +635,7 @@ namespace NadekoBot.Modules.Administration //} - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.MentionEveryone)] public async Task MentionRole(IUserMessage umsg, params IRole[] roles) @@ -660,7 +660,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync(send).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Donators(IUserMessage umsg) { @@ -676,7 +676,7 @@ namespace NadekoBot.Modules.Administration } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Donadd(IUserMessage umsg, IUser donator, int amount) { diff --git a/src/NadekoBot/Modules/Administration/Commands/AutoAssignRoleCommands.cs b/src/NadekoBot/Modules/Administration/Commands/AutoAssignRoleCommands.cs index 1cde1716..b5aedcf4 100644 --- a/src/NadekoBot/Modules/Administration/Commands/AutoAssignRoleCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/AutoAssignRoleCommands.cs @@ -42,7 +42,7 @@ namespace NadekoBot.Modules.Administration }; } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] public async Task AutoAssignRole(IUserMessage umsg, [Remainder] IRole role = null) diff --git a/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs b/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs index 36b00e9e..5012a644 100644 --- a/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs +++ b/src/NadekoBot/Modules/Administration/Commands/CrossServerTextChannel.cs @@ -70,7 +70,7 @@ namespace NadekoBot.Modules.Administration // } //} - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] public async Task Jcsc(IUserMessage imsg, int token) @@ -84,7 +84,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync(":ok:").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] public async Task Lcsc(IUserMessage imsg) diff --git a/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs b/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs index 6cff7855..e04b9a46 100644 --- a/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs +++ b/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs @@ -482,7 +482,7 @@ namespace NadekoBot.Modules.Administration return channel; } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task LogServer(IUserMessage msg) { @@ -504,7 +504,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("`Logging disabled.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task LogIgnore(IUserMessage imsg) { @@ -527,7 +527,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync($"`Logging will no longer ignore {channel.Name} ({channel.Id}) channel.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task LogAdd(IUserMessage msg, [Remainder] string eventName) { @@ -597,7 +597,7 @@ namespace NadekoBot.Modules.Administration // } //} - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task UserPresence(IUserMessage imsg) { @@ -619,7 +619,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync($"`Stopped logging user presence updates.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task VoicePresence(IUserMessage imsg) { diff --git a/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs b/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs index 57c5fe9a..7902102c 100644 --- a/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs +++ b/src/NadekoBot/Modules/Administration/Commands/MessageRepeater.cs @@ -73,7 +73,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageMessages)] public async Task RepeatInvoke(IUserMessage imsg) @@ -90,7 +90,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("🔄 " + rep.Repeater.Message).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Repeat(IUserMessage imsg) { @@ -110,7 +110,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("`No message is repeating.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Repeat(IUserMessage imsg, int minutes, [Remainder] string message) { diff --git a/src/NadekoBot/Modules/Administration/Commands/PlayingRotateCommands.cs b/src/NadekoBot/Modules/Administration/Commands/PlayingRotateCommands.cs index 59baf3d4..3476b258 100644 --- a/src/NadekoBot/Modules/Administration/Commands/PlayingRotateCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/PlayingRotateCommands.cs @@ -86,7 +86,7 @@ namespace NadekoBot.Modules.Administration {"%queued%", () => Music.Music.MusicPlayers.Sum(kvp => kvp.Value.Playlist.Count).ToString()} }; - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task RotatePlaying(IUserMessage umsg) { @@ -106,7 +106,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("`Rotating playing status disabled.`"); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task AddPlaying(IUserMessage umsg, [Remainder] string status) { @@ -122,7 +122,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("`Added.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task ListPlaying(IUserMessage umsg) { @@ -144,7 +144,7 @@ namespace NadekoBot.Modules.Administration } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task RemovePlaying(IUserMessage umsg, int index) { diff --git a/src/NadekoBot/Modules/Administration/Commands/RatelimitCommand.cs b/src/NadekoBot/Modules/Administration/Commands/RatelimitCommand.cs index c127c439..fa606adb 100644 --- a/src/NadekoBot/Modules/Administration/Commands/RatelimitCommand.cs +++ b/src/NadekoBot/Modules/Administration/Commands/RatelimitCommand.cs @@ -84,7 +84,7 @@ namespace NadekoBot.Modules.Administration }; } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Slowmode(IUserMessage umsg, int msg = 1, int perSec = 5) { diff --git a/src/NadekoBot/Modules/Administration/Commands/SelfAssignedRolesCommand.cs b/src/NadekoBot/Modules/Administration/Commands/SelfAssignedRolesCommand.cs index 8a05ceea..8ecfd242 100644 --- a/src/NadekoBot/Modules/Administration/Commands/SelfAssignedRolesCommand.cs +++ b/src/NadekoBot/Modules/Administration/Commands/SelfAssignedRolesCommand.cs @@ -19,7 +19,7 @@ namespace NadekoBot.Modules.Administration public class SelfAssignedRolesCommands { - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] public async Task Asar(IUserMessage umsg, [Remainder] IRole role) @@ -49,7 +49,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync(msg.ToString()).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] public async Task Rsar(IUserMessage umsg, [Remainder] IRole role) @@ -70,7 +70,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync($":ok:**{role.Name}** has been removed from the list of self-assignable roles").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Lsar(IUserMessage umsg) { @@ -105,7 +105,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync(msg.ToString() + "\n\n" + removeMsg.ToString()).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] public async Task Tesar(IUserMessage umsg) @@ -124,7 +124,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("Self assigned roles are now " + exl); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Iam(IUserMessage umsg, [Remainder] IRole role) { @@ -182,7 +182,7 @@ namespace NadekoBot.Modules.Administration } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Iamnot(IUserMessage umsg, [Remainder] IRole role) { diff --git a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs index 53a5abd5..b462ebd5 100644 --- a/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/ServerGreetCommands.cs @@ -106,7 +106,7 @@ namespace NadekoBot.Modules.Administration return Task.CompletedTask; } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] public async Task GreetDel(IUserMessage umsg) @@ -128,7 +128,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("`Automatic deletion of greet messages has been disabled.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] public async Task Greet(IUserMessage umsg) @@ -151,7 +151,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("Greet announcements disabled.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] public async Task GreetMsg(IUserMessage umsg, [Remainder] string text) @@ -180,7 +180,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("Enable greet messsages by typing `.greet`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] public async Task GreetDm(IUserMessage umsg) @@ -202,7 +202,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("Greet announcements disabled.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] public async Task GreetDmMsg(IUserMessage umsg, [Remainder] string text) @@ -231,7 +231,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("Enable DM greet messsages by typing `.greetdm`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] public async Task Bye(IUserMessage umsg) @@ -254,7 +254,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("Bye announcements disabled.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] public async Task ByeMsg(IUserMessage umsg, [Remainder] string text) @@ -283,7 +283,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync("Enable bye messsages by typing `.bye`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageGuild)] public async Task ByeDel(IUserMessage umsg) diff --git a/src/NadekoBot/Modules/Administration/Commands/VoicePlusTextCommands.cs b/src/NadekoBot/Modules/Administration/Commands/VoicePlusTextCommands.cs index 75f4d649..e3a15e49 100644 --- a/src/NadekoBot/Modules/Administration/Commands/VoicePlusTextCommands.cs +++ b/src/NadekoBot/Modules/Administration/Commands/VoicePlusTextCommands.cs @@ -97,7 +97,7 @@ namespace NadekoBot.Modules.Administration private string GetChannelName(string voiceName) => channelNameRegex.Replace(voiceName, "").Trim().Replace(" ", "-").TrimTo(90, true) + "-voice"; - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageRoles)] [RequirePermission(GuildPermission.ManageChannels)] @@ -138,7 +138,7 @@ namespace NadekoBot.Modules.Administration await channel.SendMessageAsync(ex.ToString()).ConfigureAwait(false); } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageChannels)] [RequirePermission(GuildPermission.ManageRoles)] diff --git a/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs b/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs index c7e8e708..04ac67aa 100644 --- a/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs +++ b/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs @@ -51,7 +51,7 @@ namespace NadekoBot.Modules.ClashOfClans } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task CreateWar(IUserMessage umsg, int size, [Remainder] string enemyClan = null) { @@ -84,7 +84,7 @@ namespace NadekoBot.Modules.ClashOfClans await channel.SendMessageAsync($"❗🔰**CREATED CLAN WAR AGAINST {cw.ShortPrint()}**").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task StartWar(IUserMessage umsg, [Remainder] string number = null) { @@ -112,7 +112,7 @@ namespace NadekoBot.Modules.ClashOfClans SaveWar(war); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task ListWar(IUserMessage umsg, [Remainder] string number = null) { @@ -155,7 +155,7 @@ namespace NadekoBot.Modules.ClashOfClans await channel.SendMessageAsync(warsInfo.Item1[warsInfo.Item2].ToPrettyString()).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Claim(IUserMessage umsg, int number, int baseNumber, [Remainder] string other_name = null) { @@ -183,7 +183,7 @@ namespace NadekoBot.Modules.ClashOfClans } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task ClaimFinish1(IUserMessage umsg, int number, int baseNumber, [Remainder] string other_name = null) { @@ -191,7 +191,7 @@ namespace NadekoBot.Modules.ClashOfClans await FinishClaim(umsg, number, baseNumber, other_name, 1); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task ClaimFinish2(IUserMessage umsg, int number, int baseNumber, [Remainder] string other_name = null) { @@ -199,7 +199,7 @@ namespace NadekoBot.Modules.ClashOfClans await FinishClaim(umsg, number, baseNumber, other_name, 2); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task ClaimFinish(IUserMessage umsg, int number, int baseNumber, [Remainder] string other_name = null) { @@ -207,7 +207,7 @@ namespace NadekoBot.Modules.ClashOfClans await FinishClaim(umsg, number, baseNumber, other_name); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task EndWar(IUserMessage umsg, int number) { @@ -228,7 +228,7 @@ namespace NadekoBot.Modules.ClashOfClans warsInfo.Item1.RemoveAt(warsInfo.Item2); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Unclaim(IUserMessage umsg, int number, [Remainder] string otherName = null) { diff --git a/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs b/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs index 15ea002d..8e34016c 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs @@ -24,7 +24,7 @@ namespace NadekoBot.Modules.Gambling } public static ConcurrentDictionary AnimalRaces = new ConcurrentDictionary(); - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Race(IUserMessage umsg) { @@ -36,7 +36,7 @@ namespace NadekoBot.Modules.Gambling await channel.SendMessageAsync("🏁 `Failed starting a race. Another race is probably running.`"); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task JoinRace(IUserMessage umsg, int amount = 0) { diff --git a/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs index 95ab1cf8..10972871 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs @@ -21,7 +21,7 @@ namespace NadekoBot.Modules.Gambling { private Regex dndRegex { get; } = new Regex(@"(?\d+)d(?\d+)", RegexOptions.Compiled); - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Roll(IUserMessage umsg) { @@ -44,7 +44,7 @@ namespace NadekoBot.Modules.Gambling await channel.SendFileAsync(imageStream, "dice.png", $"{umsg.Author.Mention} rolled " + Format.Code(gen.ToString())).ConfigureAwait(false); } //todo merge into internallDndRoll and internalRoll - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Roll(IUserMessage umsg, string arg) { @@ -74,7 +74,7 @@ namespace NadekoBot.Modules.Gambling } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Roll(IUserMessage umsg, int num) { @@ -128,7 +128,7 @@ namespace NadekoBot.Modules.Gambling await channel.SendFileAsync(ms, "dice.png", $"{umsg.Author.Mention} rolled {values.Count} {(values.Count == 1 ? "die" : "dice")}. Total: **{values.Sum()}** Average: **{(values.Sum() / (1.0f * values.Count)).ToString("N2")}**").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Rolluo(IUserMessage umsg, string arg) { @@ -158,7 +158,7 @@ namespace NadekoBot.Modules.Gambling } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Rolluo(IUserMessage umsg, int num) { @@ -211,7 +211,7 @@ namespace NadekoBot.Modules.Gambling await channel.SendFileAsync(ms, "dice.png", $"{umsg.Author.Mention} rolled {values.Count} {(values.Count == 1 ? "die" : "dice")}. Total: **{values.Sum()}** Average: **{(values.Sum() / (1.0f * values.Count)).ToString("N2")}**").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task NRoll(IUserMessage umsg, [Remainder] string range) { diff --git a/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs index e7f36388..9a455ac5 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/DrawCommand.cs @@ -18,7 +18,7 @@ namespace NadekoBot.Modules.Gambling private static readonly ConcurrentDictionary AllDecks = new ConcurrentDictionary(); private const string cardsPath = "data/images/cards"; - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Draw(IUserMessage msg) { @@ -50,7 +50,7 @@ namespace NadekoBot.Modules.Gambling } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Shuffle(IUserMessage imsg) { diff --git a/src/NadekoBot/Modules/Gambling/Commands/FlipCoinCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/FlipCoinCommand.cs index c1888913..05096884 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/FlipCoinCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/FlipCoinCommand.cs @@ -19,7 +19,7 @@ namespace NadekoBot.Modules.Gambling private const string tailsPath = "data/images/coins/tails.png"; public FlipCoinCommands() { } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Flip(IUserMessage imsg, int count = 1) { @@ -47,7 +47,7 @@ namespace NadekoBot.Modules.Gambling await channel.SendFileAsync(imgs.Merge().ToStream(), $"{count} coins.png").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Betflip(IUserMessage umsg, int amount, string guess) { diff --git a/src/NadekoBot/Modules/Gambling/Gambling.cs b/src/NadekoBot/Modules/Gambling/Gambling.cs index 589441ac..df318cfd 100644 --- a/src/NadekoBot/Modules/Gambling/Gambling.cs +++ b/src/NadekoBot/Modules/Gambling/Gambling.cs @@ -33,7 +33,7 @@ namespace NadekoBot.Modules.Gambling } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Raffle(IUserMessage umsg, [Remainder] IRole role = null) { @@ -47,7 +47,7 @@ namespace NadekoBot.Modules.Gambling await channel.SendMessageAsync($"**Raffled user:** {usr.Username} (id: {usr.Id})").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Cash(IUserMessage umsg, [Remainder] IUser user = null) { @@ -65,7 +65,7 @@ namespace NadekoBot.Modules.Gambling await channel.SendMessageAsync($"{user.Username} has {amount} {config.CurrencySign}").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Give(IUserMessage umsg, long amount, [Remainder] IGuildUser receiver) { @@ -83,12 +83,12 @@ namespace NadekoBot.Modules.Gambling } //todo owner only - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public Task Award(IUserMessage umsg, long amount, [Remainder] IGuildUser usr) => Award(umsg, amount, usr.Id); - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Award(IUserMessage umsg, long amount, [Remainder] ulong usrId) { @@ -122,7 +122,7 @@ namespace NadekoBot.Modules.Gambling // await channel.SendMessageAsync($"{umsg.Author.Mention} successfully took {amount} {Gambling.CurrencyName}s from <@{usrId}>!").ConfigureAwait(false); //} - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task BetRoll(IUserMessage umsg, long amount) { @@ -172,7 +172,7 @@ namespace NadekoBot.Modules.Gambling await channel.SendMessageAsync(str).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Leaderboard(IUserMessage umsg) { diff --git a/src/NadekoBot/Modules/Games/Commands/LeetCommands.cs b/src/NadekoBot/Modules/Games/Commands/LeetCommands.cs index 63e4ca54..4f0f85af 100644 --- a/src/NadekoBot/Modules/Games/Commands/LeetCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/LeetCommands.cs @@ -12,7 +12,7 @@ namespace NadekoBot.Modules.Games { public partial class Games { - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Leet(IUserMessage umsg, int level, [Remainder] string text = null) { diff --git a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs index 689aea42..f2474d50 100644 --- a/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/PlantAndPickCommands.cs @@ -96,7 +96,7 @@ namespace NadekoBot.Modules.Games }); return Task.CompletedTask; } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Pick(IUserMessage imsg) { @@ -129,7 +129,7 @@ namespace NadekoBot.Modules.Games }); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Plant(IUserMessage imsg) { @@ -160,7 +160,7 @@ namespace NadekoBot.Modules.Games plantedFlowers.AddOrUpdate(channel.Id, new List() { msg }, (id, old) => { old.Add(msg); return old; }); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageMessages)] public async Task Gencurrency(IUserMessage imsg) diff --git a/src/NadekoBot/Modules/Games/Commands/PollCommands.cs b/src/NadekoBot/Modules/Games/Commands/PollCommands.cs index 711873d3..0f2c31e5 100644 --- a/src/NadekoBot/Modules/Games/Commands/PollCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/PollCommands.cs @@ -14,7 +14,7 @@ namespace NadekoBot.Modules.Games { public static ConcurrentDictionary ActivePolls = new ConcurrentDictionary(); - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Poll(IUserMessage umsg, [Remainder] string arg = null) { @@ -35,7 +35,7 @@ namespace NadekoBot.Modules.Games } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Pollend(IUserMessage umsg) { diff --git a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs index 7817a61a..b2b05d19 100644 --- a/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/SpeedTypingCommands.cs @@ -139,7 +139,7 @@ namespace NadekoBot.Modules.Games RunningContests = new ConcurrentDictionary(); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task TypeStart(IUserMessage msg) { @@ -160,7 +160,7 @@ namespace NadekoBot.Modules.Games } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task TypeStop(IUserMessage imsg) { diff --git a/src/NadekoBot/Modules/Games/Commands/TriviaCommands.cs b/src/NadekoBot/Modules/Games/Commands/TriviaCommands.cs index 63a8a820..8556ac00 100644 --- a/src/NadekoBot/Modules/Games/Commands/TriviaCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/TriviaCommands.cs @@ -17,7 +17,7 @@ namespace NadekoBot.Modules.Games { public static ConcurrentDictionary RunningTrivias = new ConcurrentDictionary(); - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Trivia(IUserMessage umsg, params string[] args) { @@ -44,7 +44,7 @@ namespace NadekoBot.Modules.Games await channel.SendMessageAsync("Trivia game is already running on this server.\n" + trivia.CurrentQuestion).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Tl(IUserMessage umsg) { @@ -57,7 +57,7 @@ namespace NadekoBot.Modules.Games await channel.SendMessageAsync("No trivia is running on this server.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Tq(IUserMessage umsg) { diff --git a/src/NadekoBot/Modules/Games/Games.cs b/src/NadekoBot/Modules/Games/Games.cs index 99083ae7..ea57db12 100644 --- a/src/NadekoBot/Modules/Games/Games.cs +++ b/src/NadekoBot/Modules/Games/Games.cs @@ -27,7 +27,7 @@ namespace NadekoBot.Modules.Games { } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Choose(IUserMessage umsg, [Remainder] string list = null) { @@ -41,7 +41,7 @@ namespace NadekoBot.Modules.Games await channel.SendMessageAsync(listArr[rng.Next(0, listArr.Length)]).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task _8Ball(IUserMessage umsg, [Remainder] string question = null) { @@ -54,7 +54,7 @@ namespace NadekoBot.Modules.Games 🎱 `8Ball Answers` __**{_8BallResponses.Shuffle().FirstOrDefault()}**__").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Rps(IUserMessage umsg, string input) { @@ -104,7 +104,7 @@ namespace NadekoBot.Modules.Games await channel.SendMessageAsync(msg).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Linux(IUserMessage umsg, string guhnoo, string loonix) { diff --git a/src/NadekoBot/Modules/Help/Help.cs b/src/NadekoBot/Modules/Help/Help.cs index 070b6930..40775a4e 100644 --- a/src/NadekoBot/Modules/Help/Help.cs +++ b/src/NadekoBot/Modules/Help/Help.cs @@ -9,6 +9,8 @@ using System; using System.IO; using System.Text; using Discord.WebSocket; +using System.Collections; +using System.Collections.Generic; namespace NadekoBot.Modules.Help { @@ -25,17 +27,17 @@ namespace NadekoBot.Modules.Help { } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Modules(IUserMessage umsg) { var channel = (ITextChannel)umsg.Channel; - await channel.SendMessageAsync("`List of modules:` \n• " + string.Join("\n• ", _commands.Modules.Select(m => m.Name)) + $"\n`Type \"-commands module_name\" to get a list of commands in that module.`") + await channel.SendMessageAsync("`List of modules:` ```xl\n• " + string.Join("\n• ", _commands.Modules.Select(m => m.Name)) + $"\n``` `Type \"-commands module_name\" to get a list of commands in that module.`") .ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Commands(IUserMessage umsg, [Remainder] string module = null) { @@ -46,7 +48,9 @@ namespace NadekoBot.Modules.Help return; var cmds = _commands.Commands.Where(c => c.Module.Name.ToUpperInvariant().StartsWith(module)) .OrderBy(c => c.Text) + .Distinct(new CommandTextEqualityComparer()) .AsEnumerable(); + var cmdsArray = cmds as Command[] ?? cmds.ToArray(); if (!cmdsArray.Any()) { @@ -64,7 +68,7 @@ namespace NadekoBot.Modules.Help await channel.SendMessageAsync($"`You can type \"-h command_name\" to see the help about that specific command.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task H(IUserMessage umsg, [Remainder] string comToFind = null) { @@ -88,11 +92,11 @@ namespace NadekoBot.Modules.Help if (alias != null) str += $" / `{ alias }`"; if (com != null) - await channel.SendMessageAsync(str + $@"{Environment.NewLine}**Desc:** {com.Description} + await channel.SendMessageAsync(str + $@"{Environment.NewLine}**Desc:** {com.Remarks} **Usage:** {com.Summary}").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Hgit(IUserMessage umsg) { @@ -108,7 +112,7 @@ namespace NadekoBot.Modules.Help helpstr.AppendLine("----------------|--------------|-------"); lastModule = com.Module.Name; } - helpstr.AppendLine($"`{com.Text}` {string.Join(" ", com.Aliases.Skip(1).Select(a=>"`"+a+"`"))} | {com.Description} | {com.Summary}"); + helpstr.AppendLine($"`{com.Text}` {string.Join(" ", com.Aliases.Skip(1).Select(a=>"`"+a+"`"))} | {com.Remarks} | {com.Summary}"); } helpstr = helpstr.Replace((await NadekoBot.Client.GetCurrentUserAsync()).Username , "@BotName"); #if DEBUG @@ -118,7 +122,7 @@ namespace NadekoBot.Modules.Help #endif } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Guide(IUserMessage umsg) { @@ -129,7 +133,7 @@ namespace NadekoBot.Modules.Help **Hosting Guides and docs can be found here**: ").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Donate(IUserMessage umsg) { @@ -143,4 +147,12 @@ Don't forget to leave your discord name or id in the message. **Thank you** ♥️").ConfigureAwait(false); } } + + public class CommandTextEqualityComparer : IEqualityComparer + { + public bool Equals(Command x, Command y) => x.Text == y.Text; + + public int GetHashCode(Command obj) => obj.Text.GetHashCode(); + + } } \ No newline at end of file diff --git a/src/NadekoBot/Modules/Music/Music.cs b/src/NadekoBot/Modules/Music/Music.cs index b2709a72..db9b285f 100644 --- a/src/NadekoBot/Modules/Music/Music.cs +++ b/src/NadekoBot/Modules/Music/Music.cs @@ -35,7 +35,7 @@ namespace NadekoBot.Modules.Music _google = google; } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public Task Next(IUserMessage umsg) { @@ -48,7 +48,7 @@ namespace NadekoBot.Modules.Music return Task.CompletedTask; } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public Task Stop(IUserMessage umsg) { @@ -64,7 +64,7 @@ namespace NadekoBot.Modules.Music return Task.CompletedTask; } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public Task Destroy(IUserMessage umsg) { @@ -77,7 +77,7 @@ namespace NadekoBot.Modules.Music return Task.CompletedTask; } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Pause(IUserMessage umsg) { @@ -94,7 +94,7 @@ namespace NadekoBot.Modules.Music await channel.SendMessageAsync("🎵`Music Player unpaused.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Queue(IUserMessage umsg, [Remainder] string query) { @@ -108,7 +108,7 @@ namespace NadekoBot.Modules.Music } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task SoundCloudQueue(IUserMessage umsg, [Remainder] string query) { @@ -122,7 +122,7 @@ namespace NadekoBot.Modules.Music } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task ListQueue(IUserMessage umsg, int page = 1) { @@ -155,7 +155,7 @@ namespace NadekoBot.Modules.Music await channel.SendMessageAsync(toSend + string.Join("\n", musicPlayer.Playlist.Skip(startAt).Take(15).Select(v => $"`{number++}.` {v.PrettyName}"))).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task NowPlaying(IUserMessage umsg) { @@ -170,7 +170,7 @@ namespace NadekoBot.Modules.Music $"{currentSong.PrettyCurrentTime()}").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Volume(IUserMessage umsg, int val) { @@ -186,7 +186,7 @@ namespace NadekoBot.Modules.Music await channel.SendMessageAsync($"🎵 `Volume set to {volume}%`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Defvol(IUserMessage umsg, [Remainder] int val) { @@ -205,7 +205,7 @@ namespace NadekoBot.Modules.Music await channel.SendMessageAsync($"🎵 `Default volume set to {val}%`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public Task Mute(IUserMessage umsg) { @@ -219,7 +219,7 @@ namespace NadekoBot.Modules.Music return Task.CompletedTask; } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public Task Max(IUserMessage umsg) { @@ -233,7 +233,7 @@ namespace NadekoBot.Modules.Music return Task.CompletedTask; } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Shuffle(IUserMessage umsg) { @@ -253,7 +253,7 @@ namespace NadekoBot.Modules.Music await channel.SendMessageAsync("🎵 `Songs shuffled.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Playlist(IUserMessage umsg, [Remainder] string playlist) { @@ -295,7 +295,7 @@ namespace NadekoBot.Modules.Music await msg.ModifyAsync(m => m.Content = "🎵 `Playlist queue complete.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task SoundCloudPl(IUserMessage umsg, [Remainder] string pl) { @@ -332,7 +332,7 @@ namespace NadekoBot.Modules.Music } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task LocalPl(IUserMessage umsg, [Remainder] string directory) { @@ -361,7 +361,7 @@ namespace NadekoBot.Modules.Music catch { } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Radio(IUserMessage umsg, string radio_link) { @@ -379,7 +379,7 @@ namespace NadekoBot.Modules.Music } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Local(IUserMessage umsg, [Remainder] string path) { @@ -391,7 +391,7 @@ namespace NadekoBot.Modules.Music } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Move(IUserMessage umsg) { @@ -403,7 +403,7 @@ namespace NadekoBot.Modules.Music await musicPlayer.MoveToVoiceChannel(voiceChannel); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Remove(IUserMessage umsg, int num) { @@ -423,7 +423,7 @@ namespace NadekoBot.Modules.Music await channel.SendMessageAsync($"🎵**Track {song.PrettyName} at position `#{num}` has been removed.**").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Remove(IUserMessage umsg, string all) { @@ -438,7 +438,7 @@ namespace NadekoBot.Modules.Music return; } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task MoveSong(IUserMessage umsg, [Remainder] string fromto) { @@ -474,7 +474,7 @@ namespace NadekoBot.Modules.Music } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task SetMaxQueue(IUserMessage umsg, uint size) { @@ -488,7 +488,7 @@ namespace NadekoBot.Modules.Music await channel.SendMessageAsync($"🎵 `Max queue set to {(size == 0 ? ("unlimited") : size + " tracks")}`"); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task ReptCurSong(IUserMessage umsg) { @@ -506,7 +506,7 @@ namespace NadekoBot.Modules.Music .ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task RepeatPl(IUserMessage umsg) { @@ -551,7 +551,7 @@ namespace NadekoBot.Modules.Music //} - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Goto(IUserMessage umsg, int time) { @@ -588,7 +588,7 @@ namespace NadekoBot.Modules.Music await channel.SendMessageAsync($"`Skipped to {minutes}:{seconds}`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task GetLink(IUserMessage umsg, int index = 0) { @@ -623,7 +623,7 @@ namespace NadekoBot.Modules.Music } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Autoplay(IUserMessage umsg) { diff --git a/src/NadekoBot/Modules/NSFW/NSFW.cs b/src/NadekoBot/Modules/NSFW/NSFW.cs index cbcfc15d..3b7a6e62 100644 --- a/src/NadekoBot/Modules/NSFW/NSFW.cs +++ b/src/NadekoBot/Modules/NSFW/NSFW.cs @@ -22,7 +22,7 @@ namespace NadekoBot.Modules.NSFW { } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Hentai(IUserMessage umsg, [Remainder] string tag = null) { @@ -41,7 +41,7 @@ namespace NadekoBot.Modules.NSFW await channel.SendMessageAsync(String.Join("\n\n", links)).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Danbooru(IUserMessage umsg, [Remainder] string tag = null) { @@ -55,7 +55,7 @@ namespace NadekoBot.Modules.NSFW await channel.SendMessageAsync(link).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Gelbooru(IUserMessage umsg, [Remainder] string tag = null) { @@ -69,7 +69,7 @@ namespace NadekoBot.Modules.NSFW await channel.SendMessageAsync(link).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Rule34(IUserMessage umsg, [Remainder] string tag = null) { @@ -83,7 +83,7 @@ namespace NadekoBot.Modules.NSFW await channel.SendMessageAsync(link).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task E621(IUserMessage umsg, [Remainder] string tag = null) { @@ -97,7 +97,7 @@ namespace NadekoBot.Modules.NSFW await channel.SendMessageAsync(link).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Cp(IUserMessage umsg) { @@ -106,7 +106,7 @@ namespace NadekoBot.Modules.NSFW await channel.SendMessageAsync("http://i.imgur.com/MZkY1md.jpg").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Boobs(IUserMessage umsg) { @@ -126,7 +126,7 @@ namespace NadekoBot.Modules.NSFW } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Butts(IUserMessage umsg) { diff --git a/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs b/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs index f1c668c7..bb131b14 100644 --- a/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs +++ b/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs @@ -49,8 +49,10 @@ namespace NadekoBot.Modules.Permissions { if (!((perm.SecondaryTarget == SecondaryPermissionType.Command && perm.SecondaryTargetName == command.Text.ToLowerInvariant()) || - (perm.SecondaryTarget == SecondaryPermissionType.Module && - perm.SecondaryTargetName == command.Module.Name.ToLowerInvariant()))) + ((perm.SecondaryTarget == SecondaryPermissionType.Module || perm.SecondaryTarget == SecondaryPermissionType.AllCommands) && + perm.SecondaryTargetName == command.Module.Name.ToLowerInvariant()) || + perm.SecondaryTarget == SecondaryPermissionType.AllModules || + (perm.SecondaryTarget == SecondaryPermissionType.AllCommands && perm.SecondaryTargetName == command.Module.Name.ToLowerInvariant()))) return null; switch (perm.PrimaryTarget) @@ -76,7 +78,7 @@ namespace NadekoBot.Modules.Permissions public static string GetCommand(this Permission perm) { - var com = NadekoBot.ModulePrefixes[typeof(Permissions).Name]; + var com = ""; switch (perm.PrimaryTarget) { case PrimaryPermissionType.User: @@ -98,6 +100,12 @@ namespace NadekoBot.Modules.Permissions case SecondaryPermissionType.Command: com += "c"; break; + case SecondaryPermissionType.AllCommands: + com = "a" + com + "c"; + break; + case SecondaryPermissionType.AllModules: + com = "a" + com + "m"; + break; } com += " " + perm.SecondaryTargetName + " " + (perm.State ? "enable" : "disable") + " "; @@ -114,7 +122,7 @@ namespace NadekoBot.Modules.Permissions break; } - return com; + return NadekoBot.ModulePrefixes[typeof(Permissions).Name] + com; } } diff --git a/src/NadekoBot/Modules/Permissions/Permissions.cs b/src/NadekoBot/Modules/Permissions/Permissions.cs index 8a9357d3..d35c8810 100644 --- a/src/NadekoBot/Modules/Permissions/Permissions.cs +++ b/src/NadekoBot/Modules/Permissions/Permissions.cs @@ -20,7 +20,7 @@ namespace NadekoBot.Modules.Permissions { } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task ListPerms(IUserMessage msg) { @@ -41,7 +41,7 @@ namespace NadekoBot.Modules.Permissions await channel.SendMessageAsync(toSend).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task UsrCmd(IUserMessage imsg, Command command, PermissionAction action, IGuildUser user) { @@ -62,7 +62,7 @@ namespace NadekoBot.Modules.Permissions await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{command.Text}` command for `{user}` user.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task UsrMdl(IUserMessage imsg, Module module, PermissionAction action, IGuildUser user) { @@ -82,5 +82,216 @@ namespace NadekoBot.Modules.Permissions } await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{module.Name}` module for `{user}` user.").ConfigureAwait(false); } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task RoleCmd(IUserMessage imsg, Command command, PermissionAction action, IRole role) + { + var channel = (ITextChannel)imsg.Channel; + + using (var uow = DbHandler.UnitOfWork()) + { + uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + { + PrimaryTarget = PrimaryPermissionType.Role, + PrimaryTargetId = role.Id, + SecondaryTarget = SecondaryPermissionType.Command, + SecondaryTargetName = command.Text.ToLowerInvariant(), + State = action.Value, + }); + await uow.CompleteAsync().ConfigureAwait(false); + } + await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{command.Text}` command for `{role}` role.").ConfigureAwait(false); + } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task RoleMdl(IUserMessage imsg, Module module, PermissionAction action, IRole role) + { + var channel = (ITextChannel)imsg.Channel; + + using (var uow = DbHandler.UnitOfWork()) + { + uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + { + PrimaryTarget = PrimaryPermissionType.Role, + PrimaryTargetId = role.Id, + SecondaryTarget = SecondaryPermissionType.Module, + SecondaryTargetName = module.Name.ToLowerInvariant(), + State = action.Value, + }); + await uow.CompleteAsync().ConfigureAwait(false); + } + await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{module.Name}` module for `{role}` role.").ConfigureAwait(false); + } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task ChnlCmd(IUserMessage imsg, Command command, PermissionAction action, ITextChannel chnl) + { + var channel = (ITextChannel)imsg.Channel; + + using (var uow = DbHandler.UnitOfWork()) + { + uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + { + PrimaryTarget = PrimaryPermissionType.Channel, + PrimaryTargetId = chnl.Id, + SecondaryTarget = SecondaryPermissionType.Command, + SecondaryTargetName = command.Text.ToLowerInvariant(), + State = action.Value, + }); + await uow.CompleteAsync().ConfigureAwait(false); + } + await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{command.Text}` command for `{chnl}` channel.").ConfigureAwait(false); + } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task ChnlMdl(IUserMessage imsg, Module module, PermissionAction action, ITextChannel chnl) + { + var channel = (ITextChannel)imsg.Channel; + + using (var uow = DbHandler.UnitOfWork()) + { + uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + { + PrimaryTarget = PrimaryPermissionType.Channel, + PrimaryTargetId = chnl.Id, + SecondaryTarget = SecondaryPermissionType.Module, + SecondaryTargetName = module.Name.ToLowerInvariant(), + State = action.Value, + }); + await uow.CompleteAsync().ConfigureAwait(false); + } + await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `{module.Name}` module for `{chnl}` channel.").ConfigureAwait(false); + } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task AllChnlMdls(IUserMessage imsg, PermissionAction action, ITextChannel chnl) + { + var channel = (ITextChannel)imsg.Channel; + + using (var uow = DbHandler.UnitOfWork()) + { + uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + { + PrimaryTarget = PrimaryPermissionType.Channel, + PrimaryTargetId = chnl.Id, + SecondaryTarget = SecondaryPermissionType.AllModules, + SecondaryTargetName = "*", + State = action.Value, + }); + await uow.CompleteAsync().ConfigureAwait(false); + } + await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL MODULES` for `{chnl}` channel.").ConfigureAwait(false); + } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task AllRoleMdls(IUserMessage imsg, PermissionAction action, IRole role) + { + var channel = (ITextChannel)imsg.Channel; + + using (var uow = DbHandler.UnitOfWork()) + { + uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + { + PrimaryTarget = PrimaryPermissionType.Role, + PrimaryTargetId = role.Id, + SecondaryTarget = SecondaryPermissionType.AllModules, + SecondaryTargetName = "*", + State = action.Value, + }); + await uow.CompleteAsync().ConfigureAwait(false); + } + await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL MODULES` for `{role}` role.").ConfigureAwait(false); + } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task AllUserMdls(IUserMessage imsg, PermissionAction action, IUser user) + { + var channel = (ITextChannel)imsg.Channel; + + using (var uow = DbHandler.UnitOfWork()) + { + uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + { + PrimaryTarget = PrimaryPermissionType.User, + PrimaryTargetId = user.Id, + SecondaryTarget = SecondaryPermissionType.AllModules, + SecondaryTargetName = "*", + State = action.Value, + }); + await uow.CompleteAsync().ConfigureAwait(false); + } + await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL MODULES` for `{user}` user.").ConfigureAwait(false); + } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task AllChnlCmds(IUserMessage imsg, Module module, PermissionAction action, ITextChannel chnl) + { + var channel = (ITextChannel)imsg.Channel; + + using (var uow = DbHandler.UnitOfWork()) + { + uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + { + PrimaryTarget = PrimaryPermissionType.Channel, + PrimaryTargetId = chnl.Id, + SecondaryTarget = SecondaryPermissionType.Command, + SecondaryTargetName = module.Name.ToLowerInvariant(), + State = action.Value, + }); + await uow.CompleteAsync().ConfigureAwait(false); + } + await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL COMMANDS` from `{module.Name}` module for `{chnl}` channel.").ConfigureAwait(false); + } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task AllRoleCmds(IUserMessage imsg, Module module, PermissionAction action, IRole role) + { + var channel = (ITextChannel)imsg.Channel; + + using (var uow = DbHandler.UnitOfWork()) + { + uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + { + PrimaryTarget = PrimaryPermissionType.Role, + PrimaryTargetId = role.Id, + SecondaryTarget = SecondaryPermissionType.AllCommands, + SecondaryTargetName = module.Name.ToLowerInvariant(), + State = action.Value, + }); + await uow.CompleteAsync().ConfigureAwait(false); + } + await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL COMMANDS` from `{module.Name}` module for `{role}` role.").ConfigureAwait(false); + } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task AllUserCmds(IUserMessage imsg, Module module, PermissionAction action, IUser user) + { + var channel = (ITextChannel)imsg.Channel; + + using (var uow = DbHandler.UnitOfWork()) + { + uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + { + PrimaryTarget = PrimaryPermissionType.User, + PrimaryTargetId = user.Id, + SecondaryTarget = SecondaryPermissionType.AllCommands, + SecondaryTargetName = module.Name.ToLowerInvariant(), + State = action.Value, + }); + await uow.CompleteAsync().ConfigureAwait(false); + } + await channel.SendMessageAsync($"{(action.Value ? "Allowed" : "Denied")} usage of `ALL COMMANDS` from `{module.Name}` module for `{user}` user.").ConfigureAwait(false); + } + } } diff --git a/src/NadekoBot/Modules/Pokemon/Pokemon.cs b/src/NadekoBot/Modules/Pokemon/Pokemon.cs index 31082944..870aa482 100644 --- a/src/NadekoBot/Modules/Pokemon/Pokemon.cs +++ b/src/NadekoBot/Modules/Pokemon/Pokemon.cs @@ -15,7 +15,7 @@ namespace NadekoBot.Modules.Games } //todo Dragon should PR this in - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Poke(IUserMessage umsg) { diff --git a/src/NadekoBot/Modules/Searches/Commands/AnimeSearchCommands.cs b/src/NadekoBot/Modules/Searches/Commands/AnimeSearchCommands.cs index dd96cf0e..15803201 100644 --- a/src/NadekoBot/Modules/Searches/Commands/AnimeSearchCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/AnimeSearchCommands.cs @@ -29,7 +29,7 @@ namespace NadekoBot.Modules.Searches _log = LogManager.GetCurrentClassLogger(); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Anime(IUserMessage umsg, [Remainder] string query) { @@ -43,7 +43,7 @@ namespace NadekoBot.Modules.Searches await channel.SendMessageAsync(result.ToString() ?? "`No anime found.`").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Manga(IUserMessage umsg, [Remainder] string query) { diff --git a/src/NadekoBot/Modules/Searches/Commands/CalcCommand.cs b/src/NadekoBot/Modules/Searches/Commands/CalcCommand.cs index 1f9f00dc..b1faf848 100644 --- a/src/NadekoBot/Modules/Searches/Commands/CalcCommand.cs +++ b/src/NadekoBot/Modules/Searches/Commands/CalcCommand.cs @@ -14,7 +14,7 @@ namespace NadekoBot.Modules.Searches [Group] public partial class Searches { - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public static async Task Calculate(IUserMessage msg, [Remainder] string expression) { @@ -41,7 +41,7 @@ namespace NadekoBot.Modules.Searches } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task CalcOps(IUserMessage msg) { diff --git a/src/NadekoBot/Modules/Searches/Commands/JokeCommands.cs b/src/NadekoBot/Modules/Searches/Commands/JokeCommands.cs index 4bacbb52..1df3fcea 100644 --- a/src/NadekoBot/Modules/Searches/Commands/JokeCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/JokeCommands.cs @@ -42,7 +42,7 @@ namespace NadekoBot.Modules.Searches _log.Warn("data/magicitems.json is missing. Magic items are not loaded."); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Yomama(IUserMessage umsg) { @@ -54,7 +54,7 @@ namespace NadekoBot.Modules.Searches } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Randjoke(IUserMessage umsg) { @@ -66,7 +66,7 @@ namespace NadekoBot.Modules.Searches } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task ChuckNorris(IUserMessage umsg) { @@ -78,7 +78,7 @@ namespace NadekoBot.Modules.Searches } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task WowJoke(IUserMessage umsg) { @@ -90,7 +90,7 @@ namespace NadekoBot.Modules.Searches await channel.SendMessageAsync(wowJokes[new NadekoRandom().Next(0, wowJokes.Count)].ToString()); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task MagicItem(IUserMessage umsg) { diff --git a/src/NadekoBot/Modules/Searches/Commands/LoLCommands.cs b/src/NadekoBot/Modules/Searches/Commands/LoLCommands.cs index 0dc758e3..d667b270 100644 --- a/src/NadekoBot/Modules/Searches/Commands/LoLCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/LoLCommands.cs @@ -32,7 +32,7 @@ namespace NadekoBot.Modules.Searches "Doesn't matter what you ban really. Enemy will ban your main and you will lose." }; - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Lolban(IUserMessage umsg) { diff --git a/src/NadekoBot/Modules/Searches/Commands/MemegenCommands.cs b/src/NadekoBot/Modules/Searches/Commands/MemegenCommands.cs index 43b6fbe4..ffccb71a 100644 --- a/src/NadekoBot/Modules/Searches/Commands/MemegenCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/MemegenCommands.cs @@ -15,7 +15,7 @@ namespace NadekoBot.Modules.Searches { public partial class Searches { - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Memelist(IUserMessage umsg) { @@ -29,7 +29,7 @@ namespace NadekoBot.Modules.Searches } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Memegen(IUserMessage umsg, string meme, string topText, string botText) { diff --git a/src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs b/src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs index fffe02e2..481e250b 100644 --- a/src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs @@ -25,7 +25,7 @@ namespace NadekoBot.Modules.Searches { _log = LogManager.GetCurrentClassLogger(); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Osu(IUserMessage umsg, string usr, string mode) { @@ -58,7 +58,7 @@ namespace NadekoBot.Modules.Searches } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Osub(IUserMessage umsg, [Remainder] string map) { @@ -95,7 +95,7 @@ namespace NadekoBot.Modules.Searches } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Osu5(IUserMessage umsg, string user, [Remainder] string mode) { diff --git a/src/NadekoBot/Modules/Searches/Commands/PokemonSearchCommands.cs b/src/NadekoBot/Modules/Searches/Commands/PokemonSearchCommands.cs index e090d09f..55885f7c 100644 --- a/src/NadekoBot/Modules/Searches/Commands/PokemonSearchCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/PokemonSearchCommands.cs @@ -38,7 +38,7 @@ namespace NadekoBot.Modules.Searches _log.Warn(PokemonAbilitiesFile + " is missing. Pokemon abilities not loaded."); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Pokemon(IUserMessage umsg, [Remainder] string pokemon = null) { @@ -59,7 +59,7 @@ namespace NadekoBot.Modules.Searches await channel.SendMessageAsync("`No pokemon found.`"); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task PokemonAbility(IUserMessage umsg, [Remainder] string ability = null) { diff --git a/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs b/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs index 03f5fc8e..7b250624 100644 --- a/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/StreamNotificationCommands.cs @@ -132,28 +132,28 @@ namespace NadekoBot.Modules.Searches return new Tuple(false, "0"); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageMessages)] public async Task Hitbox(IUserMessage msg, [Remainder] string username) => await TrackStream((ITextChannel)msg.Channel, username, FollowedStream.FollowedStreamType.Hitbox) .ConfigureAwait(false); - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageMessages)] public async Task Twitch(IUserMessage msg, [Remainder] string username) => await TrackStream((ITextChannel)msg.Channel, username, FollowedStream.FollowedStreamType.Twitch) .ConfigureAwait(false); - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] [RequirePermission(GuildPermission.ManageMessages)] public async Task Beam(IUserMessage msg, [Remainder] string username) => await TrackStream((ITextChannel)msg.Channel, username, FollowedStream.FollowedStreamType.Beam) .ConfigureAwait(false); - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task ListStreams(IUserMessage imsg) { @@ -179,7 +179,7 @@ namespace NadekoBot.Modules.Searches await channel.SendMessageAsync($"You are following **{streams.Count()}** streams on this server.\n\n" + text).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task RemoveStream(IUserMessage msg, [Remainder] string username) { @@ -207,7 +207,7 @@ namespace NadekoBot.Modules.Searches await channel.SendMessageAsync($":ok: Removed `{toRemove.Username}`'s stream ({toRemove.Type}) from notifications.").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task CheckStream(IUserMessage imsg, FollowedStream.FollowedStreamType platform, [Remainder] string username) { diff --git a/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs b/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs index 64422620..e4f19cba 100644 --- a/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs +++ b/src/NadekoBot/Modules/Searches/Commands/UnitConversion.cs @@ -96,7 +96,7 @@ namespace NadekoBot.Modules.Searches public List Units { get; set; } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task ConvertListE(IUserMessage msg) //extended and bugged list { @@ -115,7 +115,7 @@ namespace NadekoBot.Modules.Searches } await msg.ReplyLong(sb.ToString(), breakOn: new[] { "```xl", "\n" }); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task ConvertList(IUserMessage msg) { @@ -129,7 +129,7 @@ namespace NadekoBot.Modules.Searches } await msg.ReplyLong(sb.ToString(), breakOn: new[] { "```xl\n", "\n" }); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] public async Task Convert(IUserMessage msg, string origin, string target, decimal value) { var originUnit = Units.Find(x => x.Triggers.Select(y => y.ToLowerInvariant()).Contains(origin.ToLowerInvariant())); diff --git a/src/NadekoBot/Modules/Searches/Searches.cs b/src/NadekoBot/Modules/Searches/Searches.cs index da2fee95..cb886063 100644 --- a/src/NadekoBot/Modules/Searches/Searches.cs +++ b/src/NadekoBot/Modules/Searches/Searches.cs @@ -30,7 +30,7 @@ namespace NadekoBot.Modules.Searches _google = youtube; } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Weather(IUserMessage umsg, string city, string country) { @@ -51,7 +51,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 🌄 **Sunrise:** {obj["sunrise"]} 🌇 **Sunset:** {obj["sunset"]}").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Youtube(IUserMessage umsg, [Remainder] string query = null) { @@ -66,7 +66,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 await channel.SendMessageAsync(result).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Imdb(IUserMessage umsg, [Remainder] string query = null) { @@ -90,7 +90,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 await channel.SendMessageAsync(result.ToString()).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task RandomCat(IUserMessage umsg) { @@ -103,7 +103,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task RandomDog(IUserMessage umsg) { @@ -114,7 +114,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task I(IUserMessage umsg, [Remainder] string query = null) { @@ -144,7 +144,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Ir(IUserMessage umsg, [Remainder] string query = null) { @@ -176,7 +176,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Lmgtfy(IUserMessage umsg, [Remainder] string ffs = null) { @@ -190,7 +190,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 .ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Google(IUserMessage umsg, [Remainder] string terms = null) { @@ -204,7 +204,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 .ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Hearthstone(IUserMessage umsg, [Remainder] string name = null) { @@ -256,7 +256,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Ud(IUserMessage umsg, [Remainder] string query = null) { @@ -290,7 +290,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Hashtag(IUserMessage umsg, [Remainder] string query = null) { @@ -325,7 +325,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Catfact(IUserMessage umsg) { @@ -339,7 +339,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Revav(IUserMessage umsg, [Remainder] string arg = null) { @@ -356,7 +356,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 await channel.SendMessageAsync($"https://images.google.com/searchbyimage?image_url={usr.AvatarUrl}").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Revimg(IUserMessage umsg, [Remainder] string imageLink = null) { @@ -368,7 +368,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 await channel.SendMessageAsync($"https://images.google.com/searchbyimage?image_url={imageLink}").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Safebooru(IUserMessage umsg, [Remainder] string tag = null) { @@ -382,7 +382,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 await channel.SendMessageAsync(link).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Wiki(IUserMessage umsg, [Remainder] string query = null) { @@ -402,7 +402,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Clr(IUserMessage umsg, [Remainder] string color = null) { @@ -422,7 +422,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 await channel.SendFileAsync(img.ToStream(), $"{color}.png"); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Videocall(IUserMessage umsg, [Remainder] string arg = null) { @@ -445,7 +445,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Avatar(IUserMessage umsg, [Remainder] string mention = null) { diff --git a/src/NadekoBot/Modules/Translator/Translator.cs b/src/NadekoBot/Modules/Translator/Translator.cs index e974746a..4d66a7a6 100644 --- a/src/NadekoBot/Modules/Translator/Translator.cs +++ b/src/NadekoBot/Modules/Translator/Translator.cs @@ -16,7 +16,7 @@ namespace NadekoBot.Modules.Translator { } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Translate(IUserMessage umsg, string langs, [Remainder] string text = null) { @@ -44,7 +44,7 @@ namespace NadekoBot.Modules.Translator } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Translangs(IUserMessage umsg) { diff --git a/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs b/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs index 9993c1d3..1e4683e6 100644 --- a/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs +++ b/src/NadekoBot/Modules/Utility/Commands/InfoCommands.cs @@ -12,7 +12,7 @@ namespace NadekoBot.Modules.Utility { partial class Utility : DiscordModule { - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task ServerInfo(IUserMessage msg, string guild = null) { @@ -47,7 +47,7 @@ namespace NadekoBot.Modules.Utility await msg.Reply(sb.ToString()).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task ChannelInfo(IUserMessage msg, ITextChannel channel = null) { @@ -63,7 +63,7 @@ namespace NadekoBot.Modules.Utility await msg.Reply(toReturn).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task UserInfo(IUserMessage msg, IGuildUser usr = null) { diff --git a/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs b/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs index f2102c15..4995703e 100644 --- a/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs +++ b/src/NadekoBot/Modules/Utility/Commands/QuoteCommands.cs @@ -14,7 +14,7 @@ namespace NadekoBot.Modules.Utility { public partial class Utility { - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task ShowQuote(IUserMessage umsg, string keyword) { @@ -37,7 +37,7 @@ namespace NadekoBot.Modules.Utility await channel.SendMessageAsync("📣 " + quote.Text); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task AddQuote(IUserMessage umsg, string keyword, [Remainder] string text) { @@ -63,7 +63,7 @@ namespace NadekoBot.Modules.Utility } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task DeleteQuote(IUserMessage umsg, string keyword) { @@ -90,7 +90,7 @@ namespace NadekoBot.Modules.Utility await channel.SendMessageAsync("`Deleted a random quote.`"); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task DelAllQuotes(IUserMessage umsg, string keyword) { diff --git a/src/NadekoBot/Modules/Utility/Commands/Remind.cs b/src/NadekoBot/Modules/Utility/Commands/Remind.cs index ba48f1e9..2ecc2140 100644 --- a/src/NadekoBot/Modules/Utility/Commands/Remind.cs +++ b/src/NadekoBot/Modules/Utility/Commands/Remind.cs @@ -92,7 +92,7 @@ namespace NadekoBot.Modules.Utility } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Remind(IUserMessage umsg, string meorchannel, string timeStr, [Remainder] string message) { diff --git a/src/NadekoBot/Modules/Utility/Utility.cs b/src/NadekoBot/Modules/Utility/Utility.cs index 5ce18ef3..2614faea 100644 --- a/src/NadekoBot/Modules/Utility/Utility.cs +++ b/src/NadekoBot/Modules/Utility/Utility.cs @@ -23,7 +23,7 @@ namespace NadekoBot.Modules.Utility } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task WhosPlaying(IUserMessage umsg, [Remainder] string game = null) { @@ -43,7 +43,7 @@ namespace NadekoBot.Modules.Utility await channel.SendMessageAsync("```xl\n" + string.Join("\n", arr.GroupBy(item => (i++) / 3).Select(ig => string.Concat(ig.Select(el => $"• {el,-35}")))) + "\n```").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task InRole(IUserMessage umsg, [Remainder] string roles = null) { @@ -76,7 +76,7 @@ namespace NadekoBot.Modules.Utility await channel.SendMessageAsync(send).ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task CheckMyPerms(IUserMessage msg) { @@ -93,7 +93,7 @@ namespace NadekoBot.Modules.Utility await msg.Reply(builder.ToString()); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task UserId(IUserMessage msg, IGuildUser target = null) { @@ -101,20 +101,20 @@ namespace NadekoBot.Modules.Utility await msg.Reply($"Id of the user { usr.Username } is { usr.Id })").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] public async Task ChannelId(IUserMessage msg) { await msg.Reply($"This Channel's ID is {msg.Channel.Id}").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task ServerId(IUserMessage msg) { await msg.Reply($"This server's ID is {((ITextChannel)msg.Channel).Guild.Id}").ConfigureAwait(false); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Roles(IUserMessage msg, IGuildUser target = null) { @@ -130,7 +130,7 @@ namespace NadekoBot.Modules.Utility } } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task ChannelTopic(IUserMessage umsg) { @@ -143,7 +143,7 @@ namespace NadekoBot.Modules.Utility await channel.SendMessageAsync("`Topic:` " + topic); } - [LocalizedCommand, LocalizedDescription, LocalizedSummary, LocalizedAlias] + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task Stats(IUserMessage umsg) { diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index b727a16e..8f4f90f4 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -1671,7 +1671,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to commands. + /// Looks up a localized string similar to commands cmds. /// public static string commands_text { get { @@ -4209,7 +4209,7 @@ namespace NadekoBot.Resources { } /// - /// Looks up a localized string similar to modules. + /// Looks up a localized string similar to modules mdls. /// public static string modules_text { get { diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index 5425ea2f..31d4bda9 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -145,7 +145,7 @@ `-donate` or `~donate` - modules + modules mdls List all bot modules. @@ -154,7 +154,7 @@ `-modules` or `.modules` - commands + commands cmds List all of the bot's commands from a certain module. diff --git a/src/NadekoBot/Services/Database/Models/Permission.cs b/src/NadekoBot/Services/Database/Models/Permission.cs index de342b6b..6c620ecb 100644 --- a/src/NadekoBot/Services/Database/Models/Permission.cs +++ b/src/NadekoBot/Services/Database/Models/Permission.cs @@ -27,6 +27,8 @@ namespace NadekoBot.Services.Database.Models public enum SecondaryPermissionType { Module, - Command + Command, + AllCommands, + AllModules } } From 597b73d38c5c879aba4db74e341339ab24483872 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Mon, 26 Sep 2016 19:23:01 +0200 Subject: [PATCH 013/135] More permission stuff. MovePerm doesn't work, RemovePerm works, permission fixes. --- .../20160926144107_second.Designer.cs | 587 ++++++++++++++++++ .../Migrations/20160926144107_second.cs | 19 + .../Administration/Commands/LogCommand.cs | 54 +- .../Gambling/Commands/DiceRollCommand.cs | 2 + .../Permissions/PermissionExtensions.cs | 3 +- .../Modules/Permissions/Permissions.cs | 64 +- .../Resources/CommandStrings.Designer.cs | 108 ++++ src/NadekoBot/Resources/CommandStrings.resx | 36 ++ src/NadekoBot/Services/CommandHandler.cs | 2 +- .../Services/Database/Models/GuildConfig.cs | 2 +- 10 files changed, 843 insertions(+), 34 deletions(-) create mode 100644 src/NadekoBot/Migrations/20160926144107_second.Designer.cs create mode 100644 src/NadekoBot/Migrations/20160926144107_second.cs diff --git a/src/NadekoBot/Migrations/20160926144107_second.Designer.cs b/src/NadekoBot/Migrations/20160926144107_second.Designer.cs new file mode 100644 index 00000000..095ee7cf --- /dev/null +++ b/src/NadekoBot/Migrations/20160926144107_second.Designer.cs @@ -0,0 +1,587 @@ +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using NadekoBot.Services.Database.Impl; + +namespace NadekoBot.Migrations +{ + [DbContext(typeof(NadekoSqliteContext))] + [Migration("20160926144107_second")] + partial class second + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { + modelBuilder + .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ItemId"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("BlacklistItem"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BufferSize"); + + b.Property("CurrencyGenerationChance"); + + b.Property("CurrencyGenerationCooldown"); + + b.Property("CurrencyName"); + + b.Property("CurrencyPluralName"); + + b.Property("CurrencySign"); + + b.Property("DontJoinServers"); + + b.Property("ForwardMessages"); + + b.Property("ForwardToAllOwners"); + + b.Property("RemindMessageFormat"); + + b.Property("RotatingStatuses"); + + b.HasKey("Id"); + + b.ToTable("BotConfig"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BaseDestroyed"); + + b.Property("CallUser"); + + b.Property("ClashWarId"); + + b.Property("Stars"); + + b.Property("TimeAdded"); + + b.HasKey("Id"); + + b.HasIndex("ClashWarId"); + + b.ToTable("ClashCallers"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("EnemyClan"); + + b.Property("GuildId"); + + b.Property("Size"); + + b.Property("StartedAt"); + + b.Property("WarState"); + + b.HasKey("Id"); + + b.ToTable("ClashOfClans"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("InternalTrigger"); + + b.Property("Modifier"); + + b.Property("UnitType"); + + b.HasKey("Id"); + + b.ToTable("ConversionUnits"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Currency"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("Name"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Donators"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("EightBallResponses"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildConfigId"); + + b.Property("GuildId"); + + b.Property("LastStatus"); + + b.Property("Type"); + + b.Property("Username"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FollowedStream"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AutoAssignRoleId"); + + b.Property("AutoDeleteByeMessages"); + + b.Property("AutoDeleteGreetMessages"); + + b.Property("AutoDeleteGreetMessagesTimer"); + + b.Property("AutoDeleteSelfAssignedRoleMessages"); + + b.Property("ByeMessageChannelId"); + + b.Property("ChannelByeMessageText"); + + b.Property("ChannelGreetMessageText"); + + b.Property("DefaultMusicVolume"); + + b.Property("DeleteMessageOnCommand"); + + b.Property("DmGreetMessageText"); + + b.Property("ExclusiveSelfAssignedRoles"); + + b.Property("GenerateCurrencyChannelId"); + + b.Property("GreetMessageChannelId"); + + b.Property("GuildId"); + + b.Property("LogSettingId"); + + b.Property("SendChannelByeMessage"); + + b.Property("SendChannelGreetMessage"); + + b.Property("SendDmGreetMessage"); + + b.Property("VoicePlusTextEnabled"); + + b.HasKey("Id"); + + b.HasIndex("GuildId") + .IsUnique(); + + b.HasIndex("LogSettingId"); + + b.ToTable("GuildConfigs"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredLogChannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredVoicePresenceCHannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelCreated"); + + b.Property("ChannelDestroyed"); + + b.Property("ChannelId"); + + b.Property("ChannelUpdated"); + + b.Property("IsLogging"); + + b.Property("LogUserPresence"); + + b.Property("LogVoicePresence"); + + b.Property("MessageDeleted"); + + b.Property("MessageReceived"); + + b.Property("MessageUpdated"); + + b.Property("UserBanned"); + + b.Property("UserJoined"); + + b.Property("UserLeft"); + + b.Property("UserPresenceChannelId"); + + b.Property("UserUnbanned"); + + b.Property("UserUpdated"); + + b.Property("VoicePresenceChannelId"); + + b.HasKey("Id"); + + b.ToTable("LogSettings"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ModuleName"); + + b.Property("Prefix"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("ModulePrefixes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildConfigId"); + + b.Property("PrimaryTarget"); + + b.Property("PrimaryTargetId"); + + b.Property("SecondaryTarget"); + + b.Property("SecondaryTargetName"); + + b.Property("State"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("Permission"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Status"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("PlayingStatus"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AuthorId"); + + b.Property("AuthorName") + .IsRequired(); + + b.Property("GuildId"); + + b.Property("Keyword") + .IsRequired(); + + b.Property("Text") + .IsRequired(); + + b.HasKey("Id"); + + b.ToTable("Quotes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Icon"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("RaceAnimals"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("IsPrivate"); + + b.Property("Message"); + + b.Property("ServerId"); + + b.Property("UserId"); + + b.Property("When"); + + b.HasKey("Id"); + + b.ToTable("Reminders"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildId"); + + b.Property("Interval"); + + b.Property("Message"); + + b.HasKey("Id"); + + b.HasIndex("ChannelId") + .IsUnique(); + + b.ToTable("Repeaters"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildId"); + + b.Property("RoleId"); + + b.HasKey("Id"); + + b.HasIndex("GuildId", "RoleId") + .IsUnique(); + + b.ToTable("SelfAssignableRoles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.ToTable("TypingArticles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("Blacklist") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") + .WithMany("Bases") + .HasForeignKey("ClashWarId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("EightBallResponses") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FollowedStreams") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany() + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredChannels") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredVoicePresenceChannelIds") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") + .WithMany("ModulePrefixes") + .HasForeignKey("BotConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("Permissions") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RotatingStatusMessages") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RaceAnimals") + .HasForeignKey("BotConfigId"); + }); + } + } +} diff --git a/src/NadekoBot/Migrations/20160926144107_second.cs b/src/NadekoBot/Migrations/20160926144107_second.cs new file mode 100644 index 00000000..e79f9421 --- /dev/null +++ b/src/NadekoBot/Migrations/20160926144107_second.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using Microsoft.EntityFrameworkCore.Migrations; + +namespace NadekoBot.Migrations +{ + public partial class second : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + + } + } +} diff --git a/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs b/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs index e04b9a46..d9fd3d58 100644 --- a/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs +++ b/src/NadekoBot/Modules/Administration/Commands/LogCommand.cs @@ -60,7 +60,7 @@ namespace NadekoBot.Modules.Administration }, null, TimeSpan.FromSeconds(10), TimeSpan.FromSeconds(10)); - _client.MessageReceived += _client_MessageReceived; + //_client.MessageReceived += _client_MessageReceived; _client.MessageUpdated += _client_MessageUpdated; _client.MessageDeleted += _client_MessageDeleted; _client.UserBanned += _client_UserBanned; @@ -408,37 +408,37 @@ namespace NadekoBot.Modules.Administration return Task.CompletedTask; } - private Task _client_MessageReceived(IMessage imsg) - { - var msg = imsg as IUserMessage; - if (msg == null || msg.IsAuthor()) - return Task.CompletedTask; +// private Task _client_MessageReceived(IMessage imsg) +// { +// var msg = imsg as IUserMessage; +// if (msg == null || msg.IsAuthor()) +// return Task.CompletedTask; - var channel = msg.Channel as ITextChannel; - if (channel == null) - return Task.CompletedTask; +// var channel = msg.Channel as ITextChannel; +// if (channel == null) +// return Task.CompletedTask; - LogSetting logSetting; - if (!GuildLogSettings.TryGetValue(channel.Guild.Id, out logSetting) - || !logSetting.IsLogging - || !logSetting.MessageReceived) - return Task.CompletedTask; +// LogSetting logSetting; +// if (!GuildLogSettings.TryGetValue(channel.Guild.Id, out logSetting) +// || !logSetting.IsLogging +// || !logSetting.MessageReceived) +// return Task.CompletedTask; - ITextChannel logChannel; - if ((logChannel = TryGetLogChannel(channel.Guild, logSetting)) == null || logChannel.Id == imsg.Channel.Id) - return Task.CompletedTask; +// ITextChannel logChannel; +// if ((logChannel = TryGetLogChannel(channel.Guild, logSetting)) == null || logChannel.Id == imsg.Channel.Id) +// return Task.CompletedTask; - var task = Task.Run(async () => - { - var str = $@"🕔`{prettyCurrentTime}` **New Message** `#{channel.Name}` -👤`{msg.Author.Username}`: {msg.Resolve(userHandling: UserMentionHandling.NameAndDiscriminator)}"; - if (msg.Attachments.Any()) - str += $"{Environment.NewLine}`Attachements`: {string.Join(", ", msg.Attachments.Select(a => a.ProxyUrl))}"; - await logChannel.SendMessageAsync(str).ConfigureAwait(false); - }); +// var task = Task.Run(async () => +// { +// var str = $@"🕔`{prettyCurrentTime}` **New Message** `#{channel.Name}` +//👤`{msg.Author.Username}`: {msg.Resolve(userHandling: UserMentionHandling.NameAndDiscriminator)}"; +// if (msg.Attachments.Any()) +// str += $"{Environment.NewLine}`Attachements`: {string.Join(", ", msg.Attachments.Select(a => a.ProxyUrl))}"; +// await logChannel.SendMessageAsync(str).ConfigureAwait(false); +// }); - return Task.CompletedTask; - } +// return Task.CompletedTask; +// } private enum LogChannelType { Text, Voice, UserPresence }; private ITextChannel TryGetLogChannel(IGuild guild, LogSetting logSetting, LogChannelType logChannelType = LogChannelType.Text) diff --git a/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs index 10972871..24e2b4c5 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/DiceRollCommand.cs @@ -46,6 +46,7 @@ namespace NadekoBot.Modules.Gambling //todo merge into internallDndRoll and internalRoll [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] + [Priority(1)] public async Task Roll(IUserMessage umsg, string arg) { var channel = (ITextChannel)umsg.Channel; @@ -76,6 +77,7 @@ namespace NadekoBot.Modules.Gambling [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] + [Priority(2)] public async Task Roll(IUserMessage umsg, int num) { var channel = (ITextChannel)umsg.Channel; diff --git a/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs b/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs index bb131b14..30996f05 100644 --- a/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs +++ b/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs @@ -20,6 +20,7 @@ namespace NadekoBot.Modules.Permissions public static bool CheckPermissions(this IEnumerable permsEnumerable, IUserMessage message, Command command, out int permIndex) { + permsEnumerable = permsEnumerable.Reverse(); var perms = permsEnumerable as List ?? permsEnumerable.ToList(); for (int i = 0; i < perms.Count; i++) @@ -107,7 +108,7 @@ namespace NadekoBot.Modules.Permissions com = "a" + com + "m"; break; } - com += " " + perm.SecondaryTargetName + " " + (perm.State ? "enable" : "disable") + " "; + com += " " + (perm.SecondaryTargetName != "*" ? perm.SecondaryTargetName + " " : "") + (perm.State ? "enable" : "disable") + " "; switch (perm.PrimaryTarget) { diff --git a/src/NadekoBot/Modules/Permissions/Permissions.cs b/src/NadekoBot/Modules/Permissions/Permissions.cs index d35c8810..cccbc0c1 100644 --- a/src/NadekoBot/Modules/Permissions/Permissions.cs +++ b/src/NadekoBot/Modules/Permissions/Permissions.cs @@ -10,6 +10,7 @@ using NadekoBot.Services; using Discord; using NadekoBot.Services.Database; using NadekoBot.Services.Database.Models; +using Discord.API; namespace NadekoBot.Modules.Permissions { @@ -29,7 +30,7 @@ namespace NadekoBot.Modules.Permissions string toSend = ""; using (var uow = DbHandler.UnitOfWork()) { - var perms = uow.GuildConfigs.For(channel.Guild.Id).Permissions; + var perms = uow.GuildConfigs.For(channel.Guild.Id).Permissions.AsEnumerable().Reverse(); var i = 1; toSend = String.Join("\n", perms.Select(p => $"`{(i++)}.` {p.GetCommand()}")); @@ -41,6 +42,61 @@ namespace NadekoBot.Modules.Permissions await channel.SendMessageAsync(toSend).ConfigureAwait(false); } + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task RemovePerm(IUserMessage imsg, int index) + { + var channel = (ITextChannel)imsg.Channel; + try + { + Permission p; + using (var uow = DbHandler.UnitOfWork()) + { + var perms = uow.GuildConfigs.For(channel.Guild.Id).Permissions.AsEnumerable().ToList(); + p = perms[perms.Count - index]; + perms.RemoveAt(perms.Count - index); + uow.GuildConfigs.For(channel.Guild.Id).Permissions = perms; + await uow.CompleteAsync().ConfigureAwait(false); + } + await channel.SendMessageAsync($"`Removed permission \"{p.GetCommand()}\" from position #{index}.`").ConfigureAwait(false); + } + catch (ArgumentOutOfRangeException) + { + await channel.SendMessageAsync("`No command on that index found.`").ConfigureAwait(false); + } + } + + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] + [RequireContext(ContextType.Guild)] + public async Task MovePerm(IUserMessage imsg, int from, int to) + { + var channel = (ITextChannel)imsg.Channel; + if (!(from == to || from < 1 || to < 1)) + { + try + { + Permission toInsert; + using (var uow = DbHandler.UnitOfWork()) + { + var perms = uow.GuildConfigs.For(channel.Guild.Id).Permissions.AsEnumerable().ToList(); + toInsert = perms[perms.Count - from]; + perms.RemoveAt(perms.Count - from); + uow.GuildConfigs.For(channel.Guild.Id).Permissions = perms; + if (from < to) + to -= 1; + perms.Insert(perms.Count - to, toInsert); + await uow.CompleteAsync().ConfigureAwait(false); + } + await channel.SendMessageAsync($"`Moved permission \"{toInsert.GetCommand()}\" from #{from} to #{to}.`").ConfigureAwait(false); + return; + } + catch (Exception e) when (e is ArgumentOutOfRangeException || e is IndexOutOfRangeException) + { + } + } + await channel.SendMessageAsync("`Invalid index(es) specified.`").ConfigureAwait(false); + } + [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] public async Task UsrCmd(IUserMessage imsg, Command command, PermissionAction action, IGuildUser user) @@ -211,7 +267,7 @@ namespace NadekoBot.Modules.Permissions [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] - public async Task AllUserMdls(IUserMessage imsg, PermissionAction action, IUser user) + public async Task AllUsrMdls(IUserMessage imsg, PermissionAction action, IUser user) { var channel = (ITextChannel)imsg.Channel; @@ -242,7 +298,7 @@ namespace NadekoBot.Modules.Permissions { PrimaryTarget = PrimaryPermissionType.Channel, PrimaryTargetId = chnl.Id, - SecondaryTarget = SecondaryPermissionType.Command, + SecondaryTarget = SecondaryPermissionType.AllCommands, SecondaryTargetName = module.Name.ToLowerInvariant(), State = action.Value, }); @@ -274,7 +330,7 @@ namespace NadekoBot.Modules.Permissions [LocalizedCommand, LocalizedRemarks, LocalizedSummary, LocalizedAlias] [RequireContext(ContextType.Guild)] - public async Task AllUserCmds(IUserMessage imsg, Module module, PermissionAction action, IUser user) + public async Task AllUsrCmds(IUserMessage imsg, Module module, PermissionAction action, IUser user) { var channel = (ITextChannel)imsg.Channel; diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index 8f4f90f4..ffa02391 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -383,6 +383,60 @@ namespace NadekoBot.Resources { } } + /// + /// Looks up a localized string similar to Sets permission for all commands from a module for a specific user.. + /// + public static string allusrcmds_desc { + get { + return ResourceManager.GetString("allusrcmds_desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to `;auc Searches disable @Someone`. + /// + public static string allusrcmds_summary { + get { + return ResourceManager.GetString("allusrcmds_summary", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to allusrcmds auc. + /// + public static string allusrcmds_text { + get { + return ResourceManager.GetString("allusrcmds_text", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Sets permission for all modules for a specific user.. + /// + public static string allusrmdls_desc { + get { + return ResourceManager.GetString("allusrmdls_desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to `;aum enable @someone`. + /// + public static string allusrmdls_summary { + get { + return ResourceManager.GetString("allusrmdls_summary", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to allusrmdls aum. + /// + public static string allusrmdls_text { + get { + return ResourceManager.GetString("allusrmdls_text", resourceCulture); + } + } + /// /// Looks up a localized string similar to Queries anilist for an anime and shows the first result.. /// @@ -4271,6 +4325,33 @@ namespace NadekoBot.Resources { } } + /// + /// Looks up a localized string similar to Moves permission from one position to another.. + /// + public static string moveperm_desc { + get { + return ResourceManager.GetString("moveperm_desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to `;mp 2 4`. + /// + public static string moveperm_summary { + get { + return ResourceManager.GetString("moveperm_summary", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to moveperm mp. + /// + public static string moveperm_text { + get { + return ResourceManager.GetString("moveperm_text", resourceCulture); + } + } + /// /// Looks up a localized string similar to Moves a song from one position to another.. /// @@ -5108,6 +5189,33 @@ namespace NadekoBot.Resources { } } + /// + /// Looks up a localized string similar to Removes a permission from a given position. + /// + public static string removeperm_desc { + get { + return ResourceManager.GetString("removeperm_desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to `;rp 1`. + /// + public static string removeperm_summary { + get { + return ResourceManager.GetString("removeperm_summary", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to removeperm rp. + /// + public static string removeperm_text { + get { + return ResourceManager.GetString("removeperm_text", resourceCulture); + } + } + /// /// Looks up a localized string similar to Removes a playing string on a given number. **Bot Owner Only!**. /// diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index 31d4bda9..59917de7 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -2646,4 +2646,40 @@ listperms lp + + Sets permission for all commands from a module for a specific user. + + + `;auc Searches disable @Someone` + + + allusrcmds auc + + + Sets permission for all modules for a specific user. + + + `;aum enable @someone` + + + allusrmdls aum + + + Moves permission from one position to another. + + + `;mp 2 4` + + + moveperm mp + + + Removes a permission from a given position + + + `;rp 1` + + + removeperm rp + \ No newline at end of file diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index 03863b8a..5f6eb49f 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -137,7 +137,7 @@ namespace NadekoBot.Services } int index; if (!perms.CheckPermissions(message, cmd, out index)) - return new Tuple(null, SearchResult.FromError(CommandError.Exception, $"Permission error. Permission number {index} (`{(index != -1 ? perms[index - 1].GetCommand() : "default")}`)")); + return new Tuple(null, SearchResult.FromError(CommandError.Exception, $"Permission error. Permission number {index} (`{(index != -1 ? perms[perms.Count - index].GetCommand() : "default")}`)")); } return new Tuple(commands[i], await commands[i].Execute(message, parseResult)); diff --git a/src/NadekoBot/Services/Database/Models/GuildConfig.cs b/src/NadekoBot/Services/Database/Models/GuildConfig.cs index 33180435..30d7253a 100644 --- a/src/NadekoBot/Services/Database/Models/GuildConfig.cs +++ b/src/NadekoBot/Services/Database/Models/GuildConfig.cs @@ -43,6 +43,6 @@ namespace NadekoBot.Services.Database.Models public ulong? GenerateCurrencyChannelId { get; set; } //permissions - public List Permissions { get; set; } + public List Permissions { get; set; } = new List(); } } From 210ca07cde228443474965d39adfafd32d89dda1 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Tue, 27 Sep 2016 15:26:37 +0200 Subject: [PATCH 014/135] Work on permissions, added tests for permission linked list --- NadekoBot.sln | 7 + .../20160927023659_moar perms.Designer.cs | 596 + .../Migrations/20160927023659_moar perms.cs | 106 + .../NadekoSqliteContextModelSnapshot.cs | 19 +- .../Permissions/PermissionExtensions.cs | 109 +- .../Modules/Permissions/Permissions.cs | 42 +- src/NadekoBot/Services/CommandHandler.cs | 8 +- .../Services/Database/Models/GuildConfig.cs | 10 +- .../Services/Database/Models/Permission.cs | 3 + .../Services/Database/NadekoContext.cs | 7 + .../Impl/GuildConfigRepository.cs | 2 +- src/NadekoBot/Services/Database/UnitOfWork.cs | 2 +- src/tests/Tests.cs | 111 + .../netcoreapp1.0/Discord.Net.Commands.dll | Bin 0 -> 65024 bytes .../netcoreapp1.0/Discord.Net.Commands.pdb | Bin 0 -> 148992 bytes .../netcoreapp1.0/Discord.Net.Commands.xml | 26 + .../bin/Debug/netcoreapp1.0/Discord.Net.dll | Bin 0 -> 719360 bytes .../bin/Debug/netcoreapp1.0/Discord.Net.pdb | Bin 0 -> 1555968 bytes .../bin/Debug/netcoreapp1.0/Discord.Net.xml | 1129 ++ .../bin/Debug/netcoreapp1.0/NadekoBot.dll | Bin 0 -> 998400 bytes .../bin/Debug/netcoreapp1.0/NadekoBot.pdb | Bin 0 -> 1447424 bytes .../bin/Debug/netcoreapp1.0/tests.deps.json | 1101 ++ src/tests/bin/Debug/netcoreapp1.0/tests.dll | Bin 0 -> 6144 bytes src/tests/bin/Debug/netcoreapp1.0/tests.pdb | Bin 0 -> 1388 bytes .../tests.runtimeconfig.dev.json | 7 + .../netcoreapp1.0/tests.runtimeconfig.json | 8 + src/tests/project.json | 27 + src/tests/project.lock.json | 9841 +++++++++++++++++ src/tests/tests.xproj | 21 + 29 files changed, 13146 insertions(+), 36 deletions(-) create mode 100644 src/NadekoBot/Migrations/20160927023659_moar perms.Designer.cs create mode 100644 src/NadekoBot/Migrations/20160927023659_moar perms.cs create mode 100644 src/tests/Tests.cs create mode 100644 src/tests/bin/Debug/netcoreapp1.0/Discord.Net.Commands.dll create mode 100644 src/tests/bin/Debug/netcoreapp1.0/Discord.Net.Commands.pdb create mode 100644 src/tests/bin/Debug/netcoreapp1.0/Discord.Net.Commands.xml create mode 100644 src/tests/bin/Debug/netcoreapp1.0/Discord.Net.dll create mode 100644 src/tests/bin/Debug/netcoreapp1.0/Discord.Net.pdb create mode 100644 src/tests/bin/Debug/netcoreapp1.0/Discord.Net.xml create mode 100644 src/tests/bin/Debug/netcoreapp1.0/NadekoBot.dll create mode 100644 src/tests/bin/Debug/netcoreapp1.0/NadekoBot.pdb create mode 100644 src/tests/bin/Debug/netcoreapp1.0/tests.deps.json create mode 100644 src/tests/bin/Debug/netcoreapp1.0/tests.dll create mode 100644 src/tests/bin/Debug/netcoreapp1.0/tests.pdb create mode 100644 src/tests/bin/Debug/netcoreapp1.0/tests.runtimeconfig.dev.json create mode 100644 src/tests/bin/Debug/netcoreapp1.0/tests.runtimeconfig.json create mode 100644 src/tests/project.json create mode 100644 src/tests/project.lock.json create mode 100644 src/tests/tests.xproj diff --git a/NadekoBot.sln b/NadekoBot.sln index 48336ef6..aba14bf4 100644 --- a/NadekoBot.sln +++ b/NadekoBot.sln @@ -16,6 +16,8 @@ Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Discord.Net", "discord.net\ EndProject Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "Discord.Net.Commands", "discord.net\src\Discord.Net.Commands\Discord.Net.Commands.xproj", "{078DD7E6-943D-4D09-AFC2-D2BA58B76C9C}" EndProject +Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "tests", "src\tests\tests.xproj", "{14CBADA0-971C-44E3-B331-C7D01DD74F0B}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -34,11 +36,16 @@ Global {078DD7E6-943D-4D09-AFC2-D2BA58B76C9C}.Debug|Any CPU.Build.0 = Debug|Any CPU {078DD7E6-943D-4D09-AFC2-D2BA58B76C9C}.Release|Any CPU.ActiveCfg = Release|Any CPU {078DD7E6-943D-4D09-AFC2-D2BA58B76C9C}.Release|Any CPU.Build.0 = Release|Any CPU + {14CBADA0-971C-44E3-B331-C7D01DD74F0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {14CBADA0-971C-44E3-B331-C7D01DD74F0B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {14CBADA0-971C-44E3-B331-C7D01DD74F0B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {14CBADA0-971C-44E3-B331-C7D01DD74F0B}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution {45EC1473-C678-4857-A544-07DFE0D0B478} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2} + {14CBADA0-971C-44E3-B331-C7D01DD74F0B} = {04929013-5BAB-42B0-B9B2-8F2BB8F16AF2} EndGlobalSection EndGlobal diff --git a/src/NadekoBot/Migrations/20160927023659_moar perms.Designer.cs b/src/NadekoBot/Migrations/20160927023659_moar perms.Designer.cs new file mode 100644 index 00000000..d05622cc --- /dev/null +++ b/src/NadekoBot/Migrations/20160927023659_moar perms.Designer.cs @@ -0,0 +1,596 @@ +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using NadekoBot.Services.Database.Impl; + +namespace NadekoBot.Migrations +{ + [DbContext(typeof(NadekoSqliteContext))] + [Migration("20160927023659_moar perms")] + partial class moarperms + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { + modelBuilder + .HasAnnotation("ProductVersion", "1.0.0-rtm-21431"); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ItemId"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("BlacklistItem"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BotConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BufferSize"); + + b.Property("CurrencyGenerationChance"); + + b.Property("CurrencyGenerationCooldown"); + + b.Property("CurrencyName"); + + b.Property("CurrencyPluralName"); + + b.Property("CurrencySign"); + + b.Property("DontJoinServers"); + + b.Property("ForwardMessages"); + + b.Property("ForwardToAllOwners"); + + b.Property("RemindMessageFormat"); + + b.Property("RotatingStatuses"); + + b.HasKey("Id"); + + b.ToTable("BotConfig"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BaseDestroyed"); + + b.Property("CallUser"); + + b.Property("ClashWarId"); + + b.Property("Stars"); + + b.Property("TimeAdded"); + + b.HasKey("Id"); + + b.HasIndex("ClashWarId"); + + b.ToTable("ClashCallers"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashWar", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("EnemyClan"); + + b.Property("GuildId"); + + b.Property("Size"); + + b.Property("StartedAt"); + + b.Property("WarState"); + + b.HasKey("Id"); + + b.ToTable("ClashOfClans"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ConvertUnit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("InternalTrigger"); + + b.Property("Modifier"); + + b.Property("UnitType"); + + b.HasKey("Id"); + + b.ToTable("ConversionUnits"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Currency", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Currency"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Donator", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Amount"); + + b.Property("Name"); + + b.Property("UserId"); + + b.HasKey("Id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("Donators"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("EightBallResponses"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildConfigId"); + + b.Property("GuildId"); + + b.Property("LastStatus"); + + b.Property("Type"); + + b.Property("Username"); + + b.HasKey("Id"); + + b.HasIndex("GuildConfigId"); + + b.ToTable("FollowedStream"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AutoAssignRoleId"); + + b.Property("AutoDeleteByeMessages"); + + b.Property("AutoDeleteGreetMessages"); + + b.Property("AutoDeleteGreetMessagesTimer"); + + b.Property("AutoDeleteSelfAssignedRoleMessages"); + + b.Property("ByeMessageChannelId"); + + b.Property("ChannelByeMessageText"); + + b.Property("ChannelGreetMessageText"); + + b.Property("DefaultMusicVolume"); + + b.Property("DeleteMessageOnCommand"); + + b.Property("DmGreetMessageText"); + + b.Property("ExclusiveSelfAssignedRoles"); + + b.Property("GenerateCurrencyChannelId"); + + b.Property("GreetMessageChannelId"); + + b.Property("GuildId"); + + b.Property("LogSettingId"); + + b.Property("RootPermissionId"); + + b.Property("SendChannelByeMessage"); + + b.Property("SendChannelGreetMessage"); + + b.Property("SendDmGreetMessage"); + + b.Property("VoicePlusTextEnabled"); + + b.HasKey("Id"); + + b.HasIndex("GuildId") + .IsUnique(); + + b.HasIndex("LogSettingId"); + + b.HasIndex("RootPermissionId"); + + b.ToTable("GuildConfigs"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredLogChannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("LogSettingId"); + + b.HasKey("Id"); + + b.HasIndex("LogSettingId"); + + b.ToTable("IgnoredVoicePresenceCHannels"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.LogSetting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelCreated"); + + b.Property("ChannelDestroyed"); + + b.Property("ChannelId"); + + b.Property("ChannelUpdated"); + + b.Property("IsLogging"); + + b.Property("LogUserPresence"); + + b.Property("LogVoicePresence"); + + b.Property("MessageDeleted"); + + b.Property("MessageReceived"); + + b.Property("MessageUpdated"); + + b.Property("UserBanned"); + + b.Property("UserJoined"); + + b.Property("UserLeft"); + + b.Property("UserPresenceChannelId"); + + b.Property("UserUnbanned"); + + b.Property("UserUpdated"); + + b.Property("VoicePresenceChannelId"); + + b.HasKey("Id"); + + b.ToTable("LogSettings"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("ModuleName"); + + b.Property("Prefix"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("ModulePrefixes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("NextId"); + + b.Property("PrimaryTarget"); + + b.Property("PrimaryTargetId"); + + b.Property("SecondaryTarget"); + + b.Property("SecondaryTargetName"); + + b.Property("State"); + + b.HasKey("Id"); + + b.HasIndex("NextId") + .IsUnique(); + + b.ToTable("Permission"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Status"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("PlayingStatus"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Quote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AuthorId"); + + b.Property("AuthorName") + .IsRequired(); + + b.Property("GuildId"); + + b.Property("Keyword") + .IsRequired(); + + b.Property("Text") + .IsRequired(); + + b.HasKey("Id"); + + b.ToTable("Quotes"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BotConfigId"); + + b.Property("Icon"); + + b.Property("Name"); + + b.HasKey("Id"); + + b.HasIndex("BotConfigId"); + + b.ToTable("RaceAnimals"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Reminder", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("IsPrivate"); + + b.Property("Message"); + + b.Property("ServerId"); + + b.Property("UserId"); + + b.Property("When"); + + b.HasKey("Id"); + + b.ToTable("Reminders"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Repeater", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ChannelId"); + + b.Property("GuildId"); + + b.Property("Interval"); + + b.Property("Message"); + + b.HasKey("Id"); + + b.HasIndex("ChannelId") + .IsUnique(); + + b.ToTable("Repeaters"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.SelfAssignedRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("GuildId"); + + b.Property("RoleId"); + + b.HasKey("Id"); + + b.HasIndex("GuildId", "RoleId") + .IsUnique(); + + b.ToTable("SelfAssignableRoles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.TypingArticle", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Author"); + + b.Property("Text"); + + b.HasKey("Id"); + + b.ToTable("TypingArticles"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.BlacklistItem", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("Blacklist") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ClashCaller", b => + { + b.HasOne("NadekoBot.Services.Database.Models.ClashWar", "ClashWar") + .WithMany("Bases") + .HasForeignKey("ClashWarId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.EightBallResponse", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("EightBallResponses") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.FollowedStream", b => + { + b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") + .WithMany("FollowedStreams") + .HasForeignKey("GuildConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.GuildConfig", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany() + .HasForeignKey("LogSettingId"); + + b.HasOne("NadekoBot.Services.Database.Models.Permission", "RootPermission") + .WithMany() + .HasForeignKey("RootPermissionId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredChannels") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredVoicePresenceChannel", b => + { + b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") + .WithMany("IgnoredVoicePresenceChannelIds") + .HasForeignKey("LogSettingId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.ModulePrefix", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig", "BotConfig") + .WithMany("ModulePrefixes") + .HasForeignKey("BotConfigId") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => + { + b.HasOne("NadekoBot.Services.Database.Models.Permission", "Next") + .WithOne("Previous") + .HasForeignKey("NadekoBot.Services.Database.Models.Permission", "NextId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RotatingStatusMessages") + .HasForeignKey("BotConfigId"); + }); + + modelBuilder.Entity("NadekoBot.Services.Database.Models.RaceAnimal", b => + { + b.HasOne("NadekoBot.Services.Database.Models.BotConfig") + .WithMany("RaceAnimals") + .HasForeignKey("BotConfigId"); + }); + } + } +} diff --git a/src/NadekoBot/Migrations/20160927023659_moar perms.cs b/src/NadekoBot/Migrations/20160927023659_moar perms.cs new file mode 100644 index 00000000..b360ca7f --- /dev/null +++ b/src/NadekoBot/Migrations/20160927023659_moar perms.cs @@ -0,0 +1,106 @@ +using System; +using System.Collections.Generic; +using Microsoft.EntityFrameworkCore.Migrations; + +namespace NadekoBot.Migrations +{ + public partial class moarperms : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_Permission_GuildConfigs_GuildConfigId", + table: "Permission"); + + migrationBuilder.DropIndex( + name: "IX_Permission_GuildConfigId", + table: "Permission"); + + migrationBuilder.DropColumn( + name: "GuildConfigId", + table: "Permission"); + + migrationBuilder.AddColumn( + name: "NextId", + table: "Permission", + nullable: true); + + migrationBuilder.AddColumn( + name: "RootPermissionId", + table: "GuildConfigs", + nullable: true); + + migrationBuilder.CreateIndex( + name: "IX_Permission_NextId", + table: "Permission", + column: "NextId", + unique: true); + + migrationBuilder.CreateIndex( + name: "IX_GuildConfigs_RootPermissionId", + table: "GuildConfigs", + column: "RootPermissionId"); + + migrationBuilder.AddForeignKey( + name: "FK_GuildConfigs_Permission_RootPermissionId", + table: "GuildConfigs", + column: "RootPermissionId", + principalTable: "Permission", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + + migrationBuilder.AddForeignKey( + name: "FK_Permission_Permission_NextId", + table: "Permission", + column: "NextId", + principalTable: "Permission", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_GuildConfigs_Permission_RootPermissionId", + table: "GuildConfigs"); + + migrationBuilder.DropForeignKey( + name: "FK_Permission_Permission_NextId", + table: "Permission"); + + migrationBuilder.DropIndex( + name: "IX_Permission_NextId", + table: "Permission"); + + migrationBuilder.DropIndex( + name: "IX_GuildConfigs_RootPermissionId", + table: "GuildConfigs"); + + migrationBuilder.DropColumn( + name: "NextId", + table: "Permission"); + + migrationBuilder.DropColumn( + name: "RootPermissionId", + table: "GuildConfigs"); + + migrationBuilder.AddColumn( + name: "GuildConfigId", + table: "Permission", + nullable: true); + + migrationBuilder.CreateIndex( + name: "IX_Permission_GuildConfigId", + table: "Permission", + column: "GuildConfigId"); + + migrationBuilder.AddForeignKey( + name: "FK_Permission_GuildConfigs_GuildConfigId", + table: "Permission", + column: "GuildConfigId", + principalTable: "GuildConfigs", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + } + } +} diff --git a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs index 232314b2..039c2090 100644 --- a/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs +++ b/src/NadekoBot/Migrations/NadekoSqliteContextModelSnapshot.cs @@ -236,6 +236,8 @@ namespace NadekoBot.Migrations b.Property("LogSettingId"); + b.Property("RootPermissionId"); + b.Property("SendChannelByeMessage"); b.Property("SendChannelGreetMessage"); @@ -251,6 +253,8 @@ namespace NadekoBot.Migrations b.HasIndex("LogSettingId"); + b.HasIndex("RootPermissionId"); + b.ToTable("GuildConfigs"); }); @@ -353,7 +357,7 @@ namespace NadekoBot.Migrations b.Property("Id") .ValueGeneratedOnAdd(); - b.Property("GuildConfigId"); + b.Property("NextId"); b.Property("PrimaryTarget"); @@ -367,7 +371,8 @@ namespace NadekoBot.Migrations b.HasKey("Id"); - b.HasIndex("GuildConfigId"); + b.HasIndex("NextId") + .IsUnique(); b.ToTable("Permission"); }); @@ -537,6 +542,10 @@ namespace NadekoBot.Migrations b.HasOne("NadekoBot.Services.Database.Models.LogSetting", "LogSetting") .WithMany() .HasForeignKey("LogSettingId"); + + b.HasOne("NadekoBot.Services.Database.Models.Permission", "RootPermission") + .WithMany() + .HasForeignKey("RootPermissionId"); }); modelBuilder.Entity("NadekoBot.Services.Database.Models.IgnoredLogChannel", b => @@ -563,9 +572,9 @@ namespace NadekoBot.Migrations modelBuilder.Entity("NadekoBot.Services.Database.Models.Permission", b => { - b.HasOne("NadekoBot.Services.Database.Models.GuildConfig") - .WithMany("Permissions") - .HasForeignKey("GuildConfigId"); + b.HasOne("NadekoBot.Services.Database.Models.Permission", "Next") + .WithOne("Previous") + .HasForeignKey("NadekoBot.Services.Database.Models.Permission", "NextId"); }); modelBuilder.Entity("NadekoBot.Services.Database.Models.PlayingStatus", b => diff --git a/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs b/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs index 30996f05..7fded44f 100644 --- a/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs +++ b/src/NadekoBot/Modules/Permissions/PermissionExtensions.cs @@ -1,5 +1,6 @@ using Discord; using Discord.Commands; +using NadekoBot.Services.Database; using NadekoBot.Services.Database.Models; using System; using System.Collections.Generic; @@ -51,8 +52,8 @@ namespace NadekoBot.Modules.Permissions if (!((perm.SecondaryTarget == SecondaryPermissionType.Command && perm.SecondaryTargetName == command.Text.ToLowerInvariant()) || ((perm.SecondaryTarget == SecondaryPermissionType.Module || perm.SecondaryTarget == SecondaryPermissionType.AllCommands) && - perm.SecondaryTargetName == command.Module.Name.ToLowerInvariant()) || - perm.SecondaryTarget == SecondaryPermissionType.AllModules || + perm.SecondaryTargetName == command.Module.Name.ToLowerInvariant()) || + perm.SecondaryTarget == SecondaryPermissionType.AllModules || (perm.SecondaryTarget == SecondaryPermissionType.AllCommands && perm.SecondaryTargetName == command.Module.Name.ToLowerInvariant()))) return null; @@ -126,5 +127,109 @@ namespace NadekoBot.Modules.Permissions return NadekoBot.ModulePrefixes[typeof(Permissions).Name] + com; } + public static void Add(this Permission perm, Permission toAdd) + { + var last = perm; + while (last.Next != null) + { + last = last.Next; + } + + toAdd.Previous = last; + last.Next = toAdd; + toAdd.Next = null; + } + + public static void Insert(this Permission perm, int index, Permission toAdd) + { + if (index < 0) + throw new IndexOutOfRangeException(); + + if (index == 0) + { + perm.Previous = toAdd; + toAdd.Next = perm; + return; + } + + var atIndex = perm; + var i = 0; + while (i != index) + { + atIndex = atIndex.Next; + i++; + if (atIndex == null) + throw new IndexOutOfRangeException(); + } + var previous = atIndex.Previous; + + //connect right side + atIndex.Previous = toAdd; + toAdd.Next = atIndex; + + //connect left side + toAdd.Previous = previous; + previous.Next = toAdd; + } + + public static Permission RemoveAt(this Permission perm, int index) + { + if (index < 0) + throw new IndexOutOfRangeException(); + + if (index == 0) + { + perm.Next.Previous = null; + perm.Next = null; + return perm; + } + + var toRemove = perm; + var i = 0; + while (i != index) + { + toRemove = toRemove.Next; + i++; + if (toRemove == null) + throw new IndexOutOfRangeException(); + } + + toRemove.Previous.Next = toRemove.Next; + toRemove.Next.Previous = toRemove.Previous; + return toRemove; + } + + public static Permission GetAt(this Permission perm, int index) + { + if (index < 0) + throw new IndexOutOfRangeException(); + var temp = perm; + while (index > 0) { temp = temp?.Next; index--; } + if (temp == null) + throw new IndexOutOfRangeException(); + return temp; + } + + public static int Count(this Permission perm) + { + var i = 1; + var temp = perm; + while ((temp = temp.Next) != null) { i++; } + return i; + } + + public static IEnumerable AsEnumerable(this Permission perm) + { + do yield return perm; + while ((perm = perm.Next) != null); + } + + public static Permission GetRoot(this Permission perm) + { + Permission toReturn; + do toReturn = perm; + while ((perm = perm.Previous) != null); + return toReturn; + } } } diff --git a/src/NadekoBot/Modules/Permissions/Permissions.cs b/src/NadekoBot/Modules/Permissions/Permissions.cs index cccbc0c1..3c4e7c2e 100644 --- a/src/NadekoBot/Modules/Permissions/Permissions.cs +++ b/src/NadekoBot/Modules/Permissions/Permissions.cs @@ -30,7 +30,7 @@ namespace NadekoBot.Modules.Permissions string toSend = ""; using (var uow = DbHandler.UnitOfWork()) { - var perms = uow.GuildConfigs.For(channel.Guild.Id).Permissions.AsEnumerable().Reverse(); + var perms = uow.GuildConfigs.For(channel.Guild.Id).RootPermission.AsEnumerable().Reverse(); var i = 1; toSend = String.Join("\n", perms.Select(p => $"`{(i++)}.` {p.GetCommand()}")); @@ -52,10 +52,8 @@ namespace NadekoBot.Modules.Permissions Permission p; using (var uow = DbHandler.UnitOfWork()) { - var perms = uow.GuildConfigs.For(channel.Guild.Id).Permissions.AsEnumerable().ToList(); - p = perms[perms.Count - index]; - perms.RemoveAt(perms.Count - index); - uow.GuildConfigs.For(channel.Guild.Id).Permissions = perms; + var perms = uow.GuildConfigs.For(channel.Guild.Id).RootPermission; + p = perms.RemoveAt(perms.Count() - index); await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"`Removed permission \"{p.GetCommand()}\" from position #{index}.`").ConfigureAwait(false); @@ -78,13 +76,13 @@ namespace NadekoBot.Modules.Permissions Permission toInsert; using (var uow = DbHandler.UnitOfWork()) { - var perms = uow.GuildConfigs.For(channel.Guild.Id).Permissions.AsEnumerable().ToList(); - toInsert = perms[perms.Count - from]; - perms.RemoveAt(perms.Count - from); - uow.GuildConfigs.For(channel.Guild.Id).Permissions = perms; + var perms = uow.GuildConfigs.For(channel.Guild.Id).RootPermission; + var count = perms.Count(); + toInsert = perms.RemoveAt(count - from); if (from < to) to -= 1; - perms.Insert(perms.Count - to, toInsert); + perms.Insert(count - to, toInsert); + uow.GuildConfigs.For(channel.Guild.Id).RootPermission = perms; await uow.CompleteAsync().ConfigureAwait(false); } await channel.SendMessageAsync($"`Moved permission \"{toInsert.GetCommand()}\" from #{from} to #{to}.`").ConfigureAwait(false); @@ -105,7 +103,7 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { - uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission { PrimaryTarget = PrimaryPermissionType.User, PrimaryTargetId = user.Id, @@ -126,7 +124,7 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { - uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission { PrimaryTarget = PrimaryPermissionType.User, PrimaryTargetId = user.Id, @@ -147,7 +145,7 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { - uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission { PrimaryTarget = PrimaryPermissionType.Role, PrimaryTargetId = role.Id, @@ -168,7 +166,7 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { - uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission { PrimaryTarget = PrimaryPermissionType.Role, PrimaryTargetId = role.Id, @@ -189,7 +187,7 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { - uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission { PrimaryTarget = PrimaryPermissionType.Channel, PrimaryTargetId = chnl.Id, @@ -210,7 +208,7 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { - uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission { PrimaryTarget = PrimaryPermissionType.Channel, PrimaryTargetId = chnl.Id, @@ -231,7 +229,7 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { - uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission { PrimaryTarget = PrimaryPermissionType.Channel, PrimaryTargetId = chnl.Id, @@ -252,7 +250,7 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { - uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission { PrimaryTarget = PrimaryPermissionType.Role, PrimaryTargetId = role.Id, @@ -273,7 +271,7 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { - uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission { PrimaryTarget = PrimaryPermissionType.User, PrimaryTargetId = user.Id, @@ -294,7 +292,7 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { - uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission { PrimaryTarget = PrimaryPermissionType.Channel, PrimaryTargetId = chnl.Id, @@ -315,7 +313,7 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { - uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission { PrimaryTarget = PrimaryPermissionType.Role, PrimaryTargetId = role.Id, @@ -336,7 +334,7 @@ namespace NadekoBot.Modules.Permissions using (var uow = DbHandler.UnitOfWork()) { - uow.GuildConfigs.For(channel.Guild.Id).Permissions.Add(new Permission + uow.GuildConfigs.For(channel.Guild.Id).RootPermission.Add(new Permission { PrimaryTarget = PrimaryPermissionType.User, PrimaryTargetId = user.Id, diff --git a/src/NadekoBot/Services/CommandHandler.cs b/src/NadekoBot/Services/CommandHandler.cs index 5f6eb49f..c884c476 100644 --- a/src/NadekoBot/Services/CommandHandler.cs +++ b/src/NadekoBot/Services/CommandHandler.cs @@ -127,17 +127,17 @@ namespace NadekoBot.Services } } var cmd = commands[i]; - List perms; + Permission rootPerm; //check permissions if (guild != null) { using (var uow = DbHandler.UnitOfWork()) { - perms = uow.GuildConfigs.For(guild.Id).Permissions; + rootPerm = uow.GuildConfigs.For(guild.Id).RootPermission; } int index; - if (!perms.CheckPermissions(message, cmd, out index)) - return new Tuple(null, SearchResult.FromError(CommandError.Exception, $"Permission error. Permission number {index} (`{(index != -1 ? perms[perms.Count - index].GetCommand() : "default")}`)")); + if (!rootPerm.AsEnumerable().CheckPermissions(message, cmd, out index)) + return new Tuple(null, SearchResult.FromError(CommandError.Exception, $"Permission error. Permission number {index} (`{(index != -1 ? rootPerm.GetAt(rootPerm.Count() - index).GetCommand() : "default")}`)")); } return new Tuple(commands[i], await commands[i].Execute(message, parseResult)); diff --git a/src/NadekoBot/Services/Database/Models/GuildConfig.cs b/src/NadekoBot/Services/Database/Models/GuildConfig.cs index 30d7253a..7ae9b0d0 100644 --- a/src/NadekoBot/Services/Database/Models/GuildConfig.cs +++ b/src/NadekoBot/Services/Database/Models/GuildConfig.cs @@ -43,6 +43,14 @@ namespace NadekoBot.Services.Database.Models public ulong? GenerateCurrencyChannelId { get; set; } //permissions - public List Permissions { get; set; } = new List(); + public Permission RootPermission { get; set; } = new Permission() + { + Next = null, + Previous = null, + PrimaryTarget = PrimaryPermissionType.Role, + PrimaryTargetId = 0, + SecondaryTarget = SecondaryPermissionType.AllModules, + SecondaryTargetName = "*", + }; } } diff --git a/src/NadekoBot/Services/Database/Models/Permission.cs b/src/NadekoBot/Services/Database/Models/Permission.cs index 6c620ecb..ea20f61b 100644 --- a/src/NadekoBot/Services/Database/Models/Permission.cs +++ b/src/NadekoBot/Services/Database/Models/Permission.cs @@ -8,6 +8,9 @@ namespace NadekoBot.Services.Database.Models { public class Permission : DbEntity { + public Permission Previous { get; set; } = null; + public Permission Next { get; set; } = null; + public PrimaryPermissionType PrimaryTarget { get; set; } public ulong PrimaryTargetId { get; set; } diff --git a/src/NadekoBot/Services/Database/NadekoContext.cs b/src/NadekoBot/Services/Database/NadekoContext.cs index b2da1c17..b5ead5f0 100644 --- a/src/NadekoBot/Services/Database/NadekoContext.cs +++ b/src/NadekoBot/Services/Database/NadekoContext.cs @@ -181,6 +181,13 @@ namespace NadekoBot.Services.Database .IsUnique(); #endregion + #region Permission + var permissionEntity = modelBuilder.Entity(); + permissionEntity + .HasOne(p => p.Next) + .WithOne(p => p.Previous); + #endregion + #region LogSettings //var logSettingEntity = modelBuilder.Entity(); diff --git a/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs b/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs index be741701..17133bf4 100644 --- a/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs +++ b/src/NadekoBot/Services/Database/Repositories/Impl/GuildConfigRepository.cs @@ -29,7 +29,7 @@ namespace NadekoBot.Services.Database.Repositories.Impl public GuildConfig For(ulong guildId) { var config = _set.Include(gc => gc.FollowedStreams) - .Include(gc => gc.Permissions) + .Include(gc => gc.RootPermission) .Include(gc => gc.LogSetting) .ThenInclude(ls=>ls.IgnoredChannels) .FirstOrDefault(c => c.GuildId == guildId); diff --git a/src/NadekoBot/Services/Database/UnitOfWork.cs b/src/NadekoBot/Services/Database/UnitOfWork.cs index 7a4c9520..b2b84e3e 100644 --- a/src/NadekoBot/Services/Database/UnitOfWork.cs +++ b/src/NadekoBot/Services/Database/UnitOfWork.cs @@ -10,7 +10,7 @@ namespace NadekoBot.Services.Database { public class UnitOfWork : IUnitOfWork { - private NadekoContext _context; + public NadekoContext _context; private IQuoteRepository _quotes; public IQuoteRepository Quotes => _quotes ?? (_quotes = new QuoteRepository(_context)); diff --git a/src/tests/Tests.cs b/src/tests/Tests.cs new file mode 100644 index 00000000..1448b1a9 --- /dev/null +++ b/src/tests/Tests.cs @@ -0,0 +1,111 @@ +using NadekoBot.Modules.Permissions; +using NadekoBot.Services.Database.Models; +using System; +using System.Collections.Generic; +using System.Linq; +using Xunit; + +namespace Tests +{ + public class Tests + { + + private Permission GetRoot() + { + Permission root = new Permission(); + root.SecondaryTargetName = "Root"; + var cur = root; + for (var i = 1; i < 10; i++) + { + var p = new Permission(); + p.SecondaryTargetName = i.ToString(); + p.Previous = cur; + cur.Next = p; + cur = p; + } + return root; + } + [Fact] + public void CountTest() + { + var root = GetRoot(); + + Assert.Equal(10, root.Count()); + } + + [Fact] + public void AddTest() + { + var root = GetRoot(); + + root.Add(new Permission() { SecondaryTargetName = "Added" }); + + Assert.Equal(11, root.Count()); + + Assert.Equal("Added", root.AsEnumerable().Last().SecondaryTargetName); + } + + [Fact] + public void GetAtTest() + { + var root = GetRoot(); + Assert.Equal("Root", root.GetAt(0).SecondaryTargetName); + Assert.Equal("1", root.GetAt(1).SecondaryTargetName); + Assert.Equal("5", root.GetAt(5).SecondaryTargetName); + Assert.Equal("9", root.GetAt(9).SecondaryTargetName); + + Assert.Throws(typeof(IndexOutOfRangeException), () => { root.GetAt(-5); }); + Assert.Throws(typeof(IndexOutOfRangeException), () => { root.GetAt(10); }); + } + + [Fact] + public void InsertTest() { + + var root = GetRoot(); + + root.Insert(5, new Permission() { SecondaryTargetName = "in2" }); + + Assert.Equal(11, root.Count()); + Assert.Equal("in2", root.GetAt(5).SecondaryTargetName); + + root.Insert(0, new Permission() { SecondaryTargetName = "Inserted" }); + + root = root.Previous; + Assert.Equal("Inserted", root.SecondaryTargetName); + Assert.Equal(12, root.Count()); + Assert.Equal("Root", root.GetAt(1).SecondaryTargetName); + + Assert.Throws(typeof(IndexOutOfRangeException), () => { root.GetAt(12); }); + } + + [Fact] + public void RemoveAtTest() + { + var root = GetRoot(); + + var removed = root.RemoveAt(3); + + Assert.Equal("3", removed.SecondaryTargetName); + Assert.Equal(9, root.Count()); + + var temp = root.Next; + removed = root.RemoveAt(0); + + Assert.Equal(8, temp.Count()); + Assert.Equal(null, temp.Previous); + + Assert.Throws(typeof(IndexOutOfRangeException), () => { temp.RemoveAt(8); }); + Assert.Throws(typeof(IndexOutOfRangeException), () => { temp.RemoveAt(-1); }); + } + + [Fact] + public void TestGetRoot() + { + var root = GetRoot(); + + var random = root.GetAt(5).GetRoot(); + + Assert.Equal("Root", random.SecondaryTargetName); + } + } +} diff --git a/src/tests/bin/Debug/netcoreapp1.0/Discord.Net.Commands.dll b/src/tests/bin/Debug/netcoreapp1.0/Discord.Net.Commands.dll new file mode 100644 index 0000000000000000000000000000000000000000..45e99c5e3396e7d778f81669ffe9827373d65c4b GIT binary patch literal 65024 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%0A1B8!u2> zr&E6_2Vc!o-1^qG*S#LY+%CN(wV=UI~miR3Q63tVRns z-?-dpUgc8eE>4wAs#mGfo5|D7_FA)p+OzV#?q3d!QPV*%O~p!3uK9@O4Wxv)@k$W3 zgnG18sy-gR<#|7sZhRD2q5BKN1X;wQ$<=JV?7Z2$z*I1 zc9lj&8!6*CRlg%uu#wuON-J$sR3xUwqFeV{3@}vDY&fK)&4UBWetC=Ym)(de(qP*{ z-2fq$vwmYUPzXJWjVsN|fjSv%RvRX7Hx1Y}sUkP+&4_y<#(j>bKrs9Bw28HC3y}%LtI%;ZjN$TUb*K5eT(_=0$q7N!znq*i{P$#R(~{Dy!vJ{IKdb+RJb@*kdcb z08e5A276G0nUA@Z(z7|Oa*2#pscrV+N}ny6#O}C}RzEl!!b2YUPN`&@wsKTvd^&$?T>_STbaqc{K_;E?;QMfjC!crqARa*CwGW9Dd z4X8;{RfM7Uv4u}7O;T&;y3r0=h^?BP&8?*J93tAFy$1IbTy2JzlL`oUxf8XU^#o)Q zJyESxf<^*gz19vI^!5qJ?%vkG!e`)xcCF+#EyV6qLWzM^XM^WE)i6i`g#>%r`6W<0 z=1LHi!>R-jN#*01cPlBzfkFZjf1ecBYW`-F6pbTJ09rqUc&Ms>O>%u5gnY9al75zn z=CCuVkaZ`!ssv_SYyvPwgM(whi`5$3Y*K3-ZvydSr8TDlYUAWKR2VWZiOo=0xh6DG zT(XS0gHTto5uIRIt>d5v`jvnsX2EuXb{3kFRHP$E83ir-V3ky8sjMZ{{jYF?LX0{V zP^YkBi`>VZxnzx|-W$M2excIt1TDJ9yKn@Qj1HBDQ%&= zC07O1QmtmAtGUxb8{1F`grd0$Do7U$T3zBS$!L**-*vyW1>dnztJV!8co3?7tyyhI zdB^5MU}o&ZjHp(;JF&8T94`jP!OL&R8dj-ubXD@@tj;z(8(cC6y4vF=`)6<*VPo1b z$>{M`Mj<%e=(JkR5c|*siZenRwI)D>S)itJ280SlNeu#nq<|d*POlp&NMJWkdhBGc zq=Hl)TW)Nhpr?F$x>%C1N`Q90G|Eaxz>>x4rd^Oc-MM6pzn1(uj_HC>vT^938#NKD zh89Y4`7l`e8ii-w|@$rcl9FZLoj zj8=LXG4zY$Pbm~-Hj*`}4o=+0j@oVkv#SPpvm`Mg)SOSSCiNuTyX`3QGpx#=NJjb!=&@m5Bjq z(<3~JTY%g+k1e9MPST`*{}_*F-3fY0)VQJda*+uEvCt6Q1(7N>B(X<6;+g=athhtb zIUNV0v33m+E?IGjZM3&-i`8q|kWkTeA4}Ki00(=rIy79O8nhAaAmz;Z!#dqgJh16v z&oLBY!xUUJ(UhUM_CSLu4fF~fc%%>Fc%Ff(mc$70r$~Tsl8RzBby-0 z3Nd!}b98}`T7ACb*COl;tPwun#xW@D7PgDchA!-I?{R3FNGk3AE(O`arBn^P zYS@fg`odlcP9g5_KoRT}&z574LxA|eGzbh#7tIt>i%nRU_AQZiQvIO8V{Gym*KM#` z5Rx!M5@|u9TUU8zAx9JjK;y1WC0ML?;7J4TFH$7Vx=}Z57@?k1*9n+dCtDVfBE59VkN*I)3i zlNGbWKXd64ix^KIhlqVvtJkXSc&(fXO;D`Xs$ql!Y+J;IKVIWDrvj$H^B4^l0hqkV zz~oJIZ%UedrjWjLF3dFWwDK5GD|HRTfD%_~01&CkAs8{aP!nf755pJP)x#lOsfJAi zMh)#H2Q(Ml~e zwbG5+3HInbmYq6@Yo8(FGUi3xA-=&su3@$8M`!^X&!x@FU3&i}Ibi0(LTkSsC3QM0 zYNo15BokEDD+fjz5V@cxt)MtK52nx6A!JfEme>F` zx#dnOX=Y5Rr7>{MJGR4!UgG0G*$XRPV#GxuTwv7Yb4{IMwzvw`h!8=`*2nJtm2WN_ zo7IdfP1{1Y*-NWPA6xHsJzh0iC2=y?RWn~~;0yv|qeNQm_FA>f0k=Sl(Q3Vg7WnCn zHQbq7#cve_cpA2VcOEqHeGzxu5=KZFkUIYPsv+eUa0lOK@jE3isCoV-$FHBm8#4m5 zyM!Kyae$$qT4){OQ%6l3pAfJnS`+{q#8}5@y5B{?WJgeU7I9~BB>mU%4WEGio5-o| zb=|0dK_j4S06hnefU1RmO$^C_IRRf<>^ATqnGZ<&5IqaH(YOh01x$itMEJ&rP3jA{ zFu9FUaNviJk5M?q$8bkD%VZVXYUpmvAjLZ;-8O8j3B7wUk$87w;v9a}i9e>22&#V! z&Zv#qgmHgztbyAk$6SPudW#kgsKw3iu z{JzL(Ky_V1#>b`#Ex81_U@jr;pf@?pJYk=}e7OAZ{;4O|QCkz5TC#li!bDB@2wctG zj6fM9QoFg1(j#+?P`9c7TFV=tnzAN!Gzy(!v{>30u_ zKj_oCzj78M)6wlw|I52+rM6#`dpz2V9#w0OIKh1zpipZXJ%#$!!L><_B03Q(-@hWU z9`5Szuk9Asxn57&*4%GqTfjp(mM0kN{=NDZ#5U0*(n>_MShK%waBvN4+v~(AHglDGgfuE2wSM-h{U9g0T%%oOf&k?t_b)_G%tgAC@>l|tEAf4 z>A8_I(nkuYymj=aVv&jhJ`tc?KmqApS^|vAo*{}hAA?TOD)(*})%wpi;}3I@pr=S| zdMVXGQ$-YnbX(3*xhQD{Hsk=MqUBLTdmZjnII~Z$r}~rUJA)eXFx(|fNcUR;SK4S* zm8g>(0%no1rZFw$LDP{eD=ib!+cZwzQVV?dEX(YyX-=ftZy;>6xko+1>v*`~US9-ue6=|KS(u$erPW<77whH8aa>PO_iox3@UT@9ys~nd!cV)^29j>;AUm zWrquR5)gp==&ZMd@>oGh&3-jfP+sq@d?x30|K+R~I63dI_bKn3_mua9D}P=U{clKI;4iiF|@Sj(EC+(+5yz-Ee(%5-eHXLDB6z{Tql3vm0wH;@1;+O+C~NGt>YLdN&|z{blY*Fi3}aXJ5d!vDT%#;_E5DMtApPY*O0aSIb#>* z3T^S{`^VLm%|i9aGA}K$>?NMCu2I{8bikkos8>bQYTXw z2X!;O-?5pOZRR>Nf7|hT$7p?!DI&dw@_i=#yh*=c(lL|1X42m^>6c9UdqntmfnbrD ze~iqm&AeqZ4ou1zb@3(YeYW62Kc@FP6SM-~qZmCXnIt02?@eb$yu9n>fsppmqe(@V zeQf`IHWUfw$CIq|`~El^{D4pwc8cG$AU_cB`w8IveS$y6?!s2*vQwGioGe&ck2f$o zXnQt$K(wUy<#MD~^h< zp(9ouhLh}}3|0*%J&%7!^|IvZ#{Wm$oGZ2v$~zA^GhsJ2CK*S?Z2;PR5nxHle^hs0 zWc?$sCa^bRh;vw7Br>oLB}EBM^)KZYM`_Oe_52vzwb97Wl9(j7VWb z7e=KpstXw@WON}bg{&@&NddoJMr`9!7}tdfDd0EGSTiYwNnMzd!c5vmcnS}GNZ<#(-*xiF8nnJUVFOFBK-i?jOp$BGE-g;2&MD^ z5K9ktrZ-|>x4qujOmE6{12EUR?pK3#De#P((|&HM-ya?u^m zV4@?Lp}Y$KzTKe=7Di?$=Th&7;GP{fH<203WhaDgLbF4#SGg>0Oz+=dozhz6y!LcP zYg8_mrQh<}5X+L2qtW?oBnkn=G*ublh1VWd4*ZSL=eURK0*UD@oJ6=IaSI)3HZuwv z2_cLDmDhWFruQdODL!>PlgZ{lzSjmf-0V>eqM^S zqt^f)8ug0qXpZYv>fO=o*f^GhG=iqUID>%`2q4B`w6GSSATN#5Cwq$-_@>2!-r@l& zI95iEM(Q1O$}>>&dIvH6ZdVVo$N}$0p21We1_Q0=t$S|+kLgW@N_Vm6-$pyJ@84$I zeVI{w(x zuK=4}7$RpiW(bP2!%_kwYAaIALYHY9d*lmDmv$yHwk+V@pJPV*5tITWF@Fx}WM(Lt zrItCv&6La~`owtfN)W0@SU@m+Tyb!glH391(E;O428?97;k#ruX|NvrCt|_<+!d%!A(1?WQg{rj+P{gjx$)qh_Yw8ug!G7 z;B~+0RpIdWi~JyRz-Y`+n;pmKuc5(MX5?TVF{t-6Mgl7tb|O^8R)I0-F!cB794y&9 z6@^U6=eY>yu?U%Vv6v3QG(bLP@`(JIC2MYZ-S2QBdI4F=Z&^0oN+@T`U(5WG=8Cq1 z_Ip>f-?fS`Nu{tnyrug zGdW5oy*cT@W_o$c((l0tR=KNs+Vb#wbnwS#!3NQqxaIfR5LJ2G@cTA`Sk(F@b_n{# zA~p^T!+a#LJX{i5fbk7vOrE@3ho39{r#crKEQRbPpD_cC<1nX zy338E%MElH!Y^UKIcCQ)8JBJdZZ`v4lts7RBnePMSjRKH+s|dDsc%~9dinS0G-x&{ z$(L#Jbip_k0I##s)+5!u2@nG~MxlzsZmqlU-3#4HWc~G|HM@cXWal2G~Iujksj=!U04t9AwbL%xK1-l!*v7(mpl>*9EL} zx7Os38IunzX2xRj$1n;_K5=S)!v^Ab#&DL9A@>gejXNsYJhI)_GWmGH8`5XvG{t`c zY4ZCdWtjsnkVwigYZ&nu{!5KcDK=o4HK5s~o#6l>GM`zK0+o>@Y3-NXY+7=&eUg(> zESlMV$<6MNoSj%Kx!E}9^pEJIM|Ao|lu|q*hm)v>ML_j%AXM?nF}7K&Y}h?&Y?2Y~$Jk~QY?cAUHY>}9I-+9=Za^7R%t~C| z6V~XmQ8j^xhRI%)aYo$8FO`H)q}+|KzZPgTY~! zU$7-=7`{slBLKs4=2wPa_%HySp8=l!;}dr@&rmvbR)cnVchu#^e;r2zl6cc5T^Smk znZ)$FFY&9#uiqna`hbD9Lvr1hfThLS7m+!@&X`9QoeOeyU^YZUqX%<gcZVm0&RxKYS{|_5nTlk!NKZIldO~zHA7<79hHC&wguLAcyy+BH_^(eANtAu zLZTZKR#4r2-G~}F+wdmgZ?HtNUgt#qfDFODgQK8(jxBD+J#X5cH*~W+t6yWke@C7} z5mIMZ7{5PkYLAM?XNbmfbK)HcQSuD*l_C zW=@=taKHmMz2kt(`2ZvWGQI9w0B&(w^u@$O?kr*+XyxuRjje+m8AVV^u6A#*?<+C| z@rrRybA>Qz@|SG)V@(!!vnclDuvTx_P#OjSZ9A}>+|D!5K*WUrA37-E1Kjeo&8$om zMi7j7`Mh^DH=$hzoqln)Fr>q-n_dwDG~&Y%p@!Zd^k&=$MKTYYDSU}hz#uCgHWn}& z91jbI+0^2|5n;hSsC!5^hTi5ZF^}cvNQBj!DU2Z$>*aFX$h`!go}aWd-13UKeQMZ} znME;cDCZA_mo&oZ$!LZh|0G&J=cm=4J{qy%#B+15=a%#y&tAw!Fe9OWc@# z4GT2qZMjn*u=_1;8ollx<;M_rN%mWM>&=spj6xrT(&K6fL<5z#1=I)S3dX@4$i)`M zN)*!dvY3LJd5+tOndf8!B32{L-G(Wq8PUn@(Ze{>$1%iVhsW?ZCqeKIkc%w}x3k{j zbe_?bR~(wo>P&7r3t9kyZJw5EDvSj+TeCR?)>)jH4nZS590Y*lG-|o5Oaro+z;P)t%_f2_ zhv0&W+*g%`y{W6-ltFG{5J8Rz^%an9Hlmu2*GD<*>$(BL=2z?*g9;2g*gs+&z&Uaf zxk--thJgv{H!SKm&=Yafq+H*bv^#TH3Qupv#TFYhGU6?;9s|=hO-Tm!UK$DBTNW>N zNUuN-a#-cqs+sEvIZDKC%e=)YYZqfBb*W&VK)|j21>C}@A4@Fw6+R$VFgNlSBK;f= zu4PW5_x#*p{=@569W^e62QT6U8#3~pbEj9&;m*rO#SbeFm}kWvy)r*{M5%`zwP1&{ z4-42QAMW4#og(U29Cgp${p5~MdHu+uQV-yV@%CWHKGWbCdFV8}h8 zyhZ!|!7bjV1MWzbm!e=C7@+(28pk~LaDV!}PwEjz9r>v`*jqTwD}U62 zqaOUoj;VLq98*7Ymyh5aY9Cf{@FNMu1|H_dg98;VJiS8MQI_hS9r^1DNkP`)kksohSd%wg2(>+`qW<2fJV^15QXInmUHQ6eJ)(AHZBNTE}$76j*#VzMZIh5 zxmM*ON&P?m_s`|Ui<*po%Y0#XlKvpo4!7hiH^Y@$Z5{VY<8f9#dLPJRmhAhJdw^rQ zfcGlfx1H{e(Lx=(#arR6-KuLLI;Dw*Vb}%E`X}&tuHdL2Q`qM3$L>+&o>3dBgzr_{ zUbTTYjh<1bQ7+ltl?f5-c7{& zl6Zd#|LzuzKZjc0c@&|ZcU|e51f_wxHGBa`9nhrjrs2)XgP0zXHit29{qHF5x&aSx z@6=)RwKpub7{Lb&Z z+WszJ2p2OgT0G*!}|swB4`Es3{R9WBx}y<0xvGl|vNu;P+nh z!Ki_?@9s5wat#dKhHm`!o?Jm6@Urj!y@9dm1MTPtBFvoV-FI7p@4nl@*!TYV;MPE{ z_AlGp{vX^1Z&b1s{RhUs`SGjgNTplz`!g0kan4nz-@M?hG5x>V`CZQ{zs4%xhBF5@ zcJl0daW|@gT;pF;UMT-%SCJayZdA;@S=~wv>}~(8RLmaYym{uCCx2((ALrdTC0cvN zXEL8&H~RG3U;X{_c{iSH?fc)o^t`-TKhAsXh$!0JYTRS5ckJ};h4;6caMeF5#}zLg zGNZk#rvq+S^@Wcw8~4MZ_Z;xiTh=~x)57@5uk9gKxLX&qx!QkR@8^dW4*$|k{SRLE ziObFzddOQ>Z0NdMSIi!g`Q~c>6Gr~z*)z{tv!Up!&;IA%Cw(RxzqV>``|k#QsJYtz zV;97CezEF|(|O-?$cHKymrV1D|Un8@9|k|uJ&)A`CNX> z=$8lou6L&y&;5P&B?mtA>0j*emAe~MKy$VKFJ{j@^PRl%whOu+`Lj-6_~P>aB=_IE z8x((!&th}6|4%0`*yo`YU+8_}w6{lJbIn)EuWUK)&ON?zcY_LOuJ*s;m1CYhc-)Gf zLtoqYXlB86Z%q99)wk~k#oyzz*j(*@`cED>WYBMqKXc(77tLEe>4mE9`>lIej=4$_b^Y4H2Z%-Vz&tLZc>qma_ zf1Up|v+~fHyFu~y_$)S8`?ufk*CoA{pZA4xmrR}Xqr*lm9`?+KuHNG-cQ>ej=4$_T z1&6lF-ui{|?|tfzZC~xRa`NrBeZOQkDE=Ow#pY`NS>4B+wCaZMK6}Dh{Anw))-yGtPMWBdd0U;_vZUY_9g-?`MC1 z=kn|Cow=xO@5eqd@-Mwco_G1+J-%{xg9>P__Ww)Q-d`%Z>)jWszS8Tl%HJ)1aN!v@ zwb>1dzsF~>x!V7qKfLO?%bs3#(W5uLGjnqOuci+E!Rrh6_{!Z4DxkUAf7(O)u6U^T ztfB=AfAFbye$oHg9>w|3?gqu*& z`o4E;{>N$G&t5ZY_7}gp8x((!&th}6|IyFCymsa2&&~fq=f4ym^w~2{x~bcer}p^D z-3=k1ZPZ zuVer5$YDRf;ztYid25fa+})r8nydXc6}A3$LHFsO|Ig@?|MB>$J1<*%bF01Uzdfk^ z&wOj{a5q8w;L3HZx&q*+;F!2;c;)p>=`xi&R^d7i(ce2 zve8y}>8D>_SuZ;=Dqnv$WX-)r;m2>A7Rg_ducRwZ-RS{?Z;_4_WK7RUq6aOV9{%RY4 zm5IN?#6L54{6TvCi+%j=$GkND=FR@(((3u;HPzFnE}U07xs=>hSr?V0c?(kIQmP@P zDwC3RQA#_fOjAmWs*30A?DABbRCab*CRLRdS5}mi)s$6M?CcWF3)0%@;-_ z$MnCQ*V{%fC@r2}v(w8`YLnS{?IIaaZ6sv9OxPLHz@{TfSuYWGM(fygrj*T{S6;d+ zN>pu9+7)G*T)AsXR7EU$#-D^GYj9N-K)XN~@=*mW4D~^Ovk7Oe?i4q~A4v zxkl8~RF%y{=c%3^s;AYgr7oRcR#iHwv}$fywHh_$Z2kfl)n_8qTdSv6*-Wt5aG6Ls zcYRHatgNV^hy53;fyIMzuxsjI%6t~bRSS1bajR`&yQXB5ODWhT)w`x-RW`9*Q?f}_ zWtCNBHM^+M=DE~%P1zm+%^TfA#GA<-ZEIh*8G)kg;?|Jer{+_DXqG!tavA^9^GhW zpUlVKy!Gw!Pmf{lsJm1*!`pE5$NZ*h30LZ zEU9f9MKyenY=iqIS?J&Rx6ZeUpzHxrw2b_`0xjcrA@SS@Z6sf3^6i@$eCuo_dEbvX zGvv7pdIq=22S?HU(39l1uyYhGg0K%lqq^w>D*mf)o%xpfi0W*H^D70tQCoZ7I}0}L zBi^;p3`l+wCtmr5ylPj^`}u`;j}))k zTfFiMdDY&Yx6L1y4iK;Ufq3N?@~Y2!-mCvU>pJmjEQnWrA+P$4=Y68jh|%Ize-f|! zLSFR|&wIw1fB3O@)px`zzmQjb+w-=$ckVyMt3EGY`Gvgd$Da4;{eRO{yz1}bm0!rK zG3a^!(6`-d;?>v`ulzz@jUUfDZQ->o#H(>7UipQ*k|mz^#e?qYE?)I{@yajc)j0ON zHx2)jiC5!Xyz&cqB}+W-U)qj0ypl2Em0!p!8RmI!dhP3%Di4xl;+0>>t1;<$TYq%y z)8f@w6|ek4UdaN_`{_$dz9L@92=U4<`>$M3`|`6XWYg}jo3p7(@1hJRMP zl8@q*U&t#t<9P>uXw1RlmHZK}{6b#IUe7zbqNcTYC8NbFzmQjQ)ALTb?toLpD|sqj z`GvfayPkK}EwhTmD|swl`GveixOv`a%AE1yrK$|C{6b#INzc2i=V7sUB|m3?@(Xz- z-#zcr<9~a&cqRA6E5DFe^O)zo?dKo)ws>t2xi} zZvNBnP7<%?Lh;Hk#;`RRf zMTL21O<7o7Q##kgJ1A<|^68Ub`_9AXzA$c0uhyAwd|~wr*rN&2sAv$_k_;*DilYUj z94bF=@~aTCd5$Ar7UdstZVb(p^o)8N-m$pYJj7|<6|b)g#8{#@5G6?~5V4s+;!Rpd z$40HA{i3!}cY~X77mwtyjIWEX{2l@+t^YNnvJP@>I7*W^W*oB6oBnZ>J@s_g{u3%M zE1k$*DV|rvO|%bIA#S+HbC!IFnFS1!&hr3+`STStg%wlY47qUva2R1p<3Qc9y5zU5dMl|UtB9W}V<3*98Cm^-&OW<5m)9>rRvGfD|o&z3DyXp5?;F)w5{k{}DX&?LhLeP)9 z<+$6v5~qFWBH~VPm-+Kw-Z5iIINI5ZK#j4PpvKr-P-E-{P-E;%p!g3XUkIt>NRZ)` z3nGdzyj?0G-gk5KguTlJg^Y^$y@G$KCs2};i4EDzU8}JD5UtnLb6%8SO z^)+D^upjP+fJcHSf=7X~oxl3x0PL0EK-8>Tz`@vG29L(xiavQP_9@^{a3**hcrl1f zOD+LV1j`+M8C1IJ%X0rVcoKLp{aE(HK>45K@MMRlg2VA2#9|gyN>z)0#&i~&I-*(u7aW)RVmJUw? z6_3WC+%Eu61Ha_#kAw1m!QoFG{t86=CBFtIfPZoBe*>A{lKqimXMmkSg&zz~!hV9Y z(|uE8=ZaDE_mPm9Lcx=v?uI8%Au(;E;~gGApQo2$IxvzgGKpf^GFsY3Gt%Gh%{KsE z%|g~FY#yzf7fm$|dC`HyUk#NzoP*ziE)DT^qAy-!c)LW0!&62drk4grJbk03j;A*~ zrRXY01ROrkKE68~ui{&{mH2K6;+wyf_-y^;(F$!NNt?*b#llSx-OuRlvg`K@XaTg> z*cw1grTX71u2SgQso5WSACGeL|FHhW(&A2T-wH>vh}= zE_b`g)&0kmR+Lti6(dViy|01)xVdxZ*A&exFC|{hFDGqfzDxDNOk;hph345<`bWp) zyXhP?HqB>j@{Bc78N9xyIftpj%sq0KUHwK_!3;VtS`>XWx|-2&ZQ8%I{~#m28=(hf z*-ebf==DG53uBl9QZpHSq0H;>(*L>7Fsp2VsZX!_-{rWOms2x^aPxdPr~CJBstu`l zuQO`x5Uwv!?~S1yQiJr$E@_4|{F=d*GxwT-woUSx;l-;yWXl#y7cnO6LyQHZ=P(7B zzC#~O4uVU1PU|S&trlD4|{A4|t@!xaQmiqtJ^v`rWwy1B*_QWCmpJ*bLV-WNQ z(rAnq;Qko&Q|Pxr9R}zK+W$O&$6R88~@Kc{DyOX9GnE-bIz{3pNaiNa5DH? z=l%zfF_EYrp9L0z)4)?e#Xk-_7yD`8dEn^|uX6sX1G(P;o)13c+}AqyUx3qb-vCmU zWFvSX_zI}_N#6C7W9Wy6F}tJvV)CSgVg{i-c9Uj_@w$T56M7l94sdipL(6lL(&`Ld z(FV$l|DjPY^lUrdAI41W^#|!ZGQMA~ZEdVZR!${v<ZR^B<>%1?&H_o08?h`2RU^X#7i7DxOE6A3}`h7IHJ|;353LOx#MmO|5I&k%rc_ zieF<_`K|-~+VmNI+j7K_FP~)ST1ZA?M6yYUyp2A=*pa{N#BK0k5IK-Yrrrilb?y&< zw_{hi?gZC@%!$bp;N9S}pyGKI{1o=TIy+#DA0x8ZF*n<|=do+lmer?qvlZldH^IT2 zWcKF8tlvv0{9USm?J#QplidE#8W+w=0c&}UdfbeIiFTOL+KOsQM^w$OmKHeVXw<+| z4_rVHh4uVhqI{+(vko<=-yEdQsVvzJosNW=KO@tJ*f(j%@3`*mj&(2Bw=MGAr5QU3 zX6LnGxXZjnoh$!;2c@e01MClO2CW<$k8Def%*s`-s|oy~BKQCrwZGTnHn{S256byb z+J8|O*Z#pCuEN~|iP!sYO_%46XYu^1s?v%Y?WyF}_x*a{z`%ceS;eKwipKEv?+3SV z;q2b_bk+wlny{`?Y5n`v|Ldmimwqsv5_pqp@iz=c&mSNG^? zR5E^Gbfr|NF#Yg+1G*ObS6rAw38O59VJZkSWnNLS);x+6k=f9nO9D8VIA;*w>(ChN zuLf~ShBb~;clQ-e^%&BHTamT7bU5_`$?JUL$+nBz#TUfMt(oM(mbIs~s68#NU5b0l zeeL+%Cyr`YkvFB~&lc9JFqm&yFn>QrROh0Gz>2a|I+xvL-vqXdRL~;ADU9b+ecp!q z0^E_sQMn86+n{hOZSWvrY6x>9VX9pi-v(irTy4<6KWKxE#5s>Rr9*x`h*NFQAPnug zwKkaCR2z^+ODae*(6vEK+&SCeivzDFk{Lsn7;|ZyLNT;KBlzBReH5N zRlnN%TuC^E@qDT)`J)Y{vb=F!sT~{m2X)ns`0j$((~QQuv=!$*jl<-qtJAi>j?8XX z+&(@nb5YCW)fUOCac!SW?Z}R7|JL`(PFWJipqHnnmbzKy>qciC=gcYN8owEps+&!e z;TbZmFrLrPbB6_WQ(k#_X*CkSjDPr_g4lc`a0AW(HP7*yRH4PFGQE{efpu$O?x zf~vEj;FZq*YLNO(ZUc`8(YvD)z`LCPec&+c_k+scSDpKl;EC9GtS*NWT6Nr!HEtuf^TU&^VRBs>9Wg%y9CgIvxSG0!M-D6Pdc8f15KA`lvbcpl_Ky z3-zUigVV830xtk8VXH<%AqCDO6XDOMM&q0t(Z^$ zS4~SY=GXtW#qA!Q&+k*n`KK93suy$r%K>Y6g{w>ICJWS>ZL zp078*rqn#+&G#w)AAI?zR!-qL!iw2=ZqMARI#fD-T|b^aD8rnS8pd<>Up^h}>yIj( zIe+%-(kfo%GOxU7p%`~0P00$4E8Ays@1-LLlJ4Zj^V)urn-^Kg9AA*`yW6(Uy-!Zx zFfvH`Kr8ZqR5p7!)UT5jhae9QX)yk6UB{7c19eG1{xui(=X}=Z)7Dp<)?>)q5#GK? z-A#m7+G`;hsyNDL{Of+*BxnwlKr5hC&^l-X6loy-7mSkiLf$E##j%M{mhtT=bt>RDDS` zy(6C{S2+;<&WxN=IP9dM7hP0dSzJ_JJ;1D|)m|ab?D=Kowmeq14*kmTP&tPX<{kp- z%;cILwjQL5tNbCqed|cINoSwNe!L~38aKtq(M7ZpItlwR1@-Z1YH1K3VQ@0?LStEU zaZ~y={Yd$ej8vDB7OgWA^}+5j8vc2ixp8t&oct+Mdt9dW=DS$s{$n6-PX za51KCL#Bb8TJHMANJZ()$LSYOyZlG&o!A%ENGEGz4M1Fe4WPb7{xZ@Fw6Ui$YOEQ( z)YNrs`j?Un^-}3H(vc(^4geveOK99nhmik3P~(3PsPT`^XmtG%AalLZA;gE?qVb-n zeMlo&2FiUo*cJO1K{`q#-O zL>?h!_wrA7k7d-SI<_a}hNqfuie!g7c!b^60a~|Qp=EFC`y@$;% zjeMT~$Qmj8t!7BW>ovB0bL(HUOOlVo^1QZ9bMtDw6!O|OjEz2|?5ikVw-RqJlG;lj7C7(Y8hXT_4Sh10WgZ9it}-$&axYG7BFC$3RAf z;+O&1x{jlKe#=O-Nq)*`?ot0^Eo|aK-Wi=!bCK4R2ZEC3nuA)i*0wUU8}e9`-#}*S zxe6JL!x{$WjnKW&I%os58ES`+9srGn=0FLw0$K&Fg|^oaB_+0JBs!;%xy^$4yPV># zrU1q(SdS^(M#t;@y}tAk?&t^6H(WTcpD}k(E!Ob1Sayd`kp@;;g_C%cMnfL6*i4xe z|9E&dK+H?gYc786rK(-Su$N)?dXw;!?a)iErOeWs+7m~7cATur*0zdkTbcNLU1{wv zbDstC_d3Fj&v$jDS4QHhJWI|z3W?YI`~CEOVVx9Jm%8OO=VZ1%LVvx-%KNKK+q2i} z%4GL?4~z$9PR}GavK?OgpL)IPZSrT^GEVyd{WkJ)R{D|py7VH+Yxbi|UuO?CVf_>3 zgZOE8DM9x!`c6-WLqO>e$2j|mU?F_cYI=cZg3^O70(*lqK*A;$g9`UC@Nn#u!|XHO z3ew(;snKps9cso?TW;61Ww)y>t=HY{`E*3Hv%1ttbigCc@2=FaOj~$#-`49zYjLw} z6sK(~9dk7#)1NeHN~A-S-V0D24aTniLOGFDHqVsD>}?(m9*aA3i`lbejxc+cm7vO2 z4GzP<4x~Pk&w;~1D=P+K^Sa<}$=Wt!N)E!4sE+>;D4Dbh2ZuS4qB{@g=; z8pnPv9_9M<1uCF3r_-l@NCA!0NY-67rDx2%n0Eo-ufDDDPvNOBo-bSn=32{z`z-Zu z7O*lv$#xFL1aIf5uBn=@Yp1HFbX;tO$M~xlp+67gBWrkon;5iqYthKRh}#T`Tjil0 zq8lm8{ovU&sLCz*LbWxBv&^`+$ZG?`auN0m9lyq|#!1dRm~i=dYMRiWJf!l<=VKl5 zGUlSTZmw58)EC2WIso!=?y{z290gZY9EMe{~p&Jlesig+a|87 ziR-=**Zn!OxMgN>MP~6IGIf`9jN>aGBaVHe7K$T|qw%UArT-@Q5*FJBV$&aR(wL6c ziwUE-SwHs&)vMcpn(H(MRPSxEPX;MtqA?=(3qj4T>TgUQ3B@&Ys^kIP(yZ609wQgT zefHYXA}JD;FCWx- zQV*~LSO99>$9PY)u2((^9QFm3-XMos4^kJ&5K!_>&#g$FjR2X;%soKKv-7YY3EHtg zgF3+%lgH}+KuI6-`%>JGf=-1_z+Jt>%ZQ`kRV^xv?)5W*F`Y@ZOEk&-?uq?g1M%}`O=lY!xe0&uT|Jj9qu&D<9OE@W_L|+U1|$!>PUFu+?JQ%9 z!aSR;q=VBfbw|VKG|z8~oFU?Tf()ZCmh$$65@xm%p3k_*Y2V157W42o`%>q|$?CZF z$hdY&eC65Ql5cgZy|r6i-Q9I{F_h`HIKF#vEXs6SGUV3-$P zcso)up`D|^j_@iiA_ul;y@?Z>mr?~9k;M>@zXlb<-wi2H%eRsYCbeMgIH zu5WSew_7a#SqsT9zYcEi=E0GK^9G$b`>3ynV82VUT64g2koY}MI0rU$=PBIVe7}34 zD#!LeD`EBtx7df9nwBT`9?=x!6vZ}Ye?36SyF&0R$uscmRF0jDP4cMW9+94>m(g5O zg8Wzj-3Z+a?KQim2Gj(;-#_D$)STxHb9^>ISywwp!TsOuSx^0qv7_dJIVhpFl_%%Vpscr3S0@QU)%%!A9nSJ&w!7BxTW_@9(8=rgYYCjcXq&-E!+QC z<8J%HwzvNqw7s77eZMAb|3cHqQS?tY|0(Vb)b(go(8le5{kG@;1ZqPZ)Io#ie|(-b zU!DMu<{9b5jm<5%T~A&<4_*Z#L!_fy8Ddt;ndHv}wO`KE9m@TY+~-bBJvY$S^(7UV z_BQ3!7}hgTD*J(Wc)6lIA6pl3T1V*c=AJNM`iGY*tU1j5$6CYOeUXNK4*lU6$EQ|T ze`07ER9(nlbukTO4mEdV)c?dM-RwNvJAtxmy>UKvol8y!hk*(|(fQAEINM!CBb<=ekX>0F; zF47=O8Fr0L(e~_x8hOOC!JP;nCx0{>9}_dRqdW4Xjvwpy;%Cber}ZIOb{8b`Q~IpR z@FJ+W<7XiI5t4O@md5J)2ZO)B-qX4Fb~w=a4*`)e$$0RWpyse&fp#v?J+=bsw>z%d zTjGNJc2>atC`r^E8=#OfDzyCMGG_u);F=^T0N$|2+Tg z9{;9Q>f2s22ss*gzHsf+9M6PoEspRR@o-PEsk>VtZ@B*$uEQGNF;TzR{%26^nZcXX zO<`I;v8gMpW=yFM$}kp^2}tr>ZMlqgyk{HQ(#EuXf5Y}KcR|&b-u#;OKj}z6{>{r% z-N@IzLGC#>eSU;~fo_)S0Df$#E^M5+>tY^taXfqYx$0sK_3+|OstaG{JqgwRe*HJp z6+En7rnv00I2h5O^K|=BI3p*0INHmYFkBbHy%2`eaUWdj176;&$`KAdDf`PXoO@%w zSi`VhuMgAgO4yBI*m2co%+sB+qH+_~&vTMjGGW+mg#BZ~uzI6?8IM?0i8oBUBuDr| z3IArp@DuoaTp6EMYLNClIl?00v;PdkjxH~q%hPiDkc>~;=Y3<2@cD$75@NjUUCvoW zBp#j>`aQn2nnW=ZEttPO2*0lnADr>NLWIlU7q9mZWqT+`Lzx@8?_BxX($uXl+t?Pi zP@%S0K-tdnWi#SS&*e8Ew{Fe?jk-_u~; zNP2TB>v`??&&_)Py#8LV>e-I@+`Q;lNe@nmeY|#z=jLq(ZviJQp4X1)+`K5J=w|jk zfXag%zqxr2Y!t5@ueo{A0~^F^$7XKc_V6CY8ISUNFJ#AAoQ}^>=j;ft`V`$Qp^44C zMd_Z%=mbA=u7w;k_ZWMD$isxG+ni@<1%r&zwwN@^WHgu$P5^0R&YQk&_M7azl+NfV zIv2`^bgteD(%yvdaKq>8*Y@e$W$Qz{{TUUW*Y?Xe?XNLud;N!Xbkdi1>-ahUN#`*G zo;N6T8wy+q4TGja^PpwWz0g|dC1^9$sWs&6^uA_ueU!f-k6D(0JlG@Sd7C*1eLa9hzibT3&ZEGN4S+2_Ns?mIZ*3w4Iu za)cd5*q?=Ag9mZLu>Sl!OqX$-eJKn(j(ZYC6~$i1^7?{5%L>DuMA$!sVW}tXS=djg zR@;30IrS+wmp!clIdd}M|LnsD`huPx(DTsZ_5MwreZ8Nx-PZIB?MaL!FXiOrN%HcR z%d5Y0g{-XKlRz!iw?|Yof9ERnci&JlEb=E>-7iSPyDt%?{;ICfzu0}PSn;b(Mcbr* zz|UOf?rF4?uF)bNdz^eHu01cV{ZCwXf2MZ7Ozl0qFckN&zudMD4jA1{@Mbt|_EjP@ zPWJP^Bg>1bX>GfXe};??C!E4~KC`!jfLI2x1rUALh1cGW;$a?2>%qU*Lt(nYzXa+D z&kutzs=F{u@!S$qZ@yl9dc(-a-SBoMcBP~ARHQJhzI=!ib=@LQ?;X`UxmRE>aADL| zY!^2OW4>ym6w79saBB%Sgm72DcdQGidx%UU4Z`U;ck}U`K%V$KZ*zN65Y6QpJG5n7 z$Zzu=h1r?pp=|B&SpRR&)c!WE>zk>YV%jqu!zu`dwNYwD5d3+U=g4f!H5|m-^BjiD zlhI{6l24V%%US>IcPKwjA?-i;w0BUKRhml2>#{n}kO|Wn3C|{nYv-ukyok64Irco>*~y}_lR{I3D~V7~=KCYtBYb#Ln{*!zKN!2aM<;89>}ZU)-34Bhwk zI(2`3>t59uNI91vJ&fNIpkB`2FNghj+)5yY9c1EF{Ykg5GCNLXem?HHmnbukeCX#O zFyoNEWy(WeFz(c?xx=b@9|9kBX6~*^PO03~fmXfdIjUnpbS4vSl=D9WL~k?oE4;wD z&vfpWfaqsQIY`)KK8WsQp6^%u33l|Mq!y&@%=@3^elzyr*uM>)0{#j_E+qc}NjrH5 z91Xq;D&4jeRN=aSv_18&_p`UBP0@NVoFib@`OyT()^!J-CYM_eGh=BlyFINk-0^Gu z@)pj*F4kD zTF$(0*yj8EG!C_cmASdc6YIDJYb`4`bMsDww=cbO6LD&;(|0&z=0PQ_hZ5*EXf^Z< zv=Mq6>V!}n0F8%AAib31HfS~U4D<@5NiH863XO+Kpai-NS_7?zUWZyD2>U>L&40HB zT9UliGd8=dgmWE1T!sV@0z6WNs+2<-MkO0Uc9b{{4^$P zf8=`h6b>{^`%4F#iZTqB>d&tc?{eW(zurtD+&CZ3tr559ya*X(^h2M9&46t~pT?Q+ zoZAd(_#nz;T6y-Xf5<2^g1NdRQvycI_}1_ zm$tt-RH!!X@B7U>8Ts*EeuLdyT z{l1g#z{nhE!Tf!W@Poqe5MYLzzxL0Iq_f$l(+ulxpQe|$R<7ihw_TBKC!z6sUMov-^BxMX zKSR-cZskXAUabYg=Z>wch*KG&At;$C(*xcDR!_>qRLG9?`gcX`gPUZx4CxvX!Pqr2 zT5Ct-wOKo|el=@GtJ7;8sOJ%Tr}AHUwqrbYD-t^feLiUWq#f_s_H|*$X#H9u%=3|k zcVfzG$5_nT#F~)zD8oB6<+WoZPRCBjJJ9eRm-5+o=Ez z=JG}I$An?;BkV82u;xp;K6Jx<#?>}>gYfqg{x@Ox96H3N9O1q|xL3Cbms^K;)D*0t z4zY^xZ-n6k9YXufn@LlH{Xo$3HFeGro>hc*C8T3)|GhH%ejcwI>m775+OzTIi-mxSCpeJq?hCqPGLNszaxvhG-X#rJO@0!j2FlHv#8L|JjZN& z?YTz@alQieA>6NnI-#1hmzTyF)}zAcd}aVV`AkykAF6xRW3DhN_e5^Pyyv$VNw6gm zvCfHHJ+{c_H_sF&zmLz)OwQEq6W3mssa-;?;;uNo9;NqM$RKW0^B{G3vCEsO%N@|y zeE;?7j8XwH?JbzU^vmqRW===%;gIojoqm6rbguL1?4Z8p%j5O6{H$V*%s2h)uPAz$ zbRPBTG=sk8)AVz*od)$`D>XptXgPc#)Zw~^s{-zHZ-Hxq?M7kZs-he%yusWWe zMbLhJLp@LD8CDL)MkW$OXBttyBFAuN(xjtv42G%M$5wZeF0A}?bLnV*y9ajZz34>d zeB)S9;ZAUPDk#3wz}Hmj&oPt$^XNk{I38>!@RSE+DJZueF$j##t8b8U3KR%1BUg}mRSAyk3Dl3P2aM! zdI#=959P$9hfZNI@^8xth~Gm}8LiBWQ(3Bd@oNam$Qt7KbbMO5SO5L0kXPq4?KmG% z{VQH8yK?LA^tT53yOlq2Dwo1|(J#^8A4>Iiy%SSr1~jJ~dN_0!v<6xay$-dc5euPV z&@^Zsv;?{fdK7vNdL7btw!1<@pz%-%v^?;l-?*IkN_|_Unoel&6h0g8L9jwGe3g;R&Wt0-B0)cD1Vh(c9r*|;I~0!NAd#rG4Kyy!vA+c@vA;+ zv8!I|z#iaYa1yu#oCaPA>RCUB*tHfy-X~9k*Mi@3 z{@-`_J8(Jfe{y!RWsH?;ry!3;7`v5SdN1WLW7m5r?V0JZ%nN#V(MaQN-=}^tJK=M1 zv+q&&@2)fq{K=Cf#@INw{rTAE81t{}9rvd0-s?|GJpK3|>KMZ{d@UG+o&%iC^zt-dmdoLt@&$Bb1580+? zJjsjNiRlJo?oDR2<}-80!Nzfi=MLt9bncKot-2`#eLrOmaP<(Ub*Mg84#`LchjR!0 z+Vnl?(@e3(|FaIi2}-~IuCoKiSXryot&v@36Qs2Ky?OnfPXDZFqK}5{@9#ISlA|;G za{hnT$y>Jn*LPt4pGusJRb#&3(hxG2MKeLIElvo~a@PO-aEAJ&VLfWUMlwrnn;BbB zdyZ6tTQjx4DX4oQ$}H}fS$rNYOQOuub23XmQ*hOj*pfH&ym{{ZjHYx4)(fWn)wiC7 zR5yPHzr(oE@85$@;Hlp)gT7zr87fq z89quBp(iAlg7l4~4txsK8bk4@4xh$;C-^<^G3T!LEPNlkzAGxeGr(uCOLzDIIK#P@ zfIr0k5%4)sI>e8`)y{tid0vlw6sUMk2O0l~zA=E_l2ki)wb4(p>%9O!0~b5@>%a}z zzYG2njH#zzft|o#gI&Ov!NbAdg2#bM=R|NL_LIQhffJqkWbpUc%fMH_3h*_s5@dWP zUjh|=82w81G|}O7Q0~RxUvOXK?6-h)k>r!kPW2gM$KA2a7l#|W-esgacn4|)iLv_0 zH0L+iq29lCr1{;Moy*Qf51QrtY`E|pZB`#r&(IqEYUn!Xd`RC@?+6VrewGiRjOoVL zSh^u86i*({smUC}O}qYDabnu)Z8ez2aw2?}%yMMJJx$076Up8`AGjKzo6}e9`+xnO z$`={y-XMRn|7Lw{oZNT5{M^45Ch>azaPDvFJY-w$cIhs@^3f^S%VrO}y0j{NC9sjP zP3})4160m-5I@ad<_>e;J#LSm`)*+-MlMkv$!%XJ3tU}vG2!f=an#AZj2GiIrnE+` z+jEydbsDCz!KKkANaHkko@|CRw5CO#xi*STdnp+$jW+5BM!K)EfSPOc6Y44HgPqDZ z&k4et%*0N1%$^oiX6`+A0KbMiYQ9;sqFyC`!%ll8dY4FN@JNulGvBp71e}e%E4T#g z27Vem6kG*%2d$jdJA9WzQz5;}S9lII(b>J5ch~m~bceSR8e(Lf%3TQAc8Zk;V@M|5 z6YD{G#|CH5w!UL?jv?ldw*cNj(ePByx}HMIP}XP-6|)|C9nwZcC#WB^I~a`%f2J@; z1;(_pVE)pc*-sqj`uZ>(Dom&>na}r3bOF?S{nwsFDV_m@S6I&<%7d+q_vXG2x;^h3 z4$oxM_kEE6o%J3NU(bHLw>33v|7@b3?`}}f{$W6W({}r0jM_~y#^1H`-+)no=b=XrM`Odt_+i^7(sT zVc-1+>HTIa=_z0DC%wDuMAD#qn@R7rt)w^TeWuq&0}K7IQKUe4nh`=;wc5sYx`~Pcex-2IfFVc<+c4S_dd>74e!*H*Y=e-t>aK0YYj1h zT~nV2+s?W3E8e+LP0DNAD0jSClbjjVro6U(bH^**OWFBl?3#A*I`vTOqbT?s6&|_= zS_5r>HbL!~IQv24p%Q2bbQiP++SNwg%J2VKg{I-1#_p_TJDlqKm|g&^0Xu*>-@W^t z@brhs^Mo?LDIGABv(53|+wH$cW537e`;aX|?mKPLO-`i0ZKA9igRi-PC|FOsz42dY zJCc6iCTxH8TbXc zFWCQWMVa!Uq0o3}cQ*~%-_6;#1s#CBk?en%EKU0d=YM|u-$Mn6-}7uu&kLW~33W8r zotoCU;@o?7>AS{qt?_VMLH=0B7;~#D*ZaW_6VnmX6ZGVrO#)sD#|STMds=+XRaNT zx%Ok3l{tSMRdY5i&LWk{Dmg)w((P6rXA$z+hBWu76`nsN^IPGB|I8B`l+4Y?Fl zyw`$SOD+esmek&-+&>9QZlhPQhZZG|gN5L?o&QrHWlh*GHGA#o2`1c2U~k-C2K#`2 z1KIUU{spo>YtCcYy-PGG`h$9(n9|ezo};j9&5HtUzV*P+NshyQG^o8*@oAlP4E8ec zSWtVd$X>J8It;wl@!bTTi2Y{pBrrU$JsJBN+=qkDIR59r5!hb_M}ofrM}a+Q$kE^l zpwd4XJQe$Ja11yZ91ETUvhR=-gW{VF(k96qa6DKEa`KSWfM>hzwF!}0jFXADoD>xo&wJUburFnKXIR{ku^TA8;zZ9g;CRaH3I!O1Q&z90+)cVfmee602wpM zyP(F8E`16MLFKzIxD5M9XO}Fy8vE(sHQ)m0z8Pf9C9RNYroKVOUQz&F2Mz(R2SkTIXE zckX&G`d!#x1@8v;K>&RcYzr#>?hcOwm9OF8O5Eo-dmZ>`?AJIu!`>LXH>GFywfC>P z2z?>h$3xni>V;hEZFuc@Kri#VgW1176xo+=>~_x|NrJI^`Tdb={oMJ0_VFhMeA@e0 zSV=|6Pn{_o;oQtJ-MO7&{B_3A#oZC>Ol{ft7ZCTU&c6$?a*#PQ&^KXZIuk+JHW-?-}rZoh6lVo&F^~NAq{x_dz*cE#N3%)-a#V| z)4|;!>r7qyGZY)waquB^F*e^vlJ8^9Z~0pu*$;;X8+!+&xYALZoPcCJ+`WNJ-~E!Y zZKc^oBxA8cBVlTr0YNCAYcg7n zdF+SP6xQ!G>bzSf47)#JC4tg(8@{f{l-ZxTOs7F)e&EWk-)#tw?qS2b^`zDy%Sr1c z8ehELKiq@Z+Ipn9_npJNO=dk`ex|$Fc!n3DpXiu7?$s?tJ%|oH2-e196Sx)Z5H}h1n*AMvn(XrAPx8K zG-faRd`TEKd~cfaCm|F1&vV1UB#xi@moMK25;_dGzY&1{xaa4!Z500feHX8l)@dz< z5NG#@Cs*RS{o=(v;>AzIOG@G^56Yma*5+sG&dw|@%PiSHv*gS1(#PQC95HSO9u~(@ z9SsqViLNRj<`fI&FL};(p}kawXylyI;!7G1iYD*a61F9EF^u5DnAhf@-4-){PU0Sb zepN;l=)Gm=oMq;BHLD2w4X(jjZTF_RF{{|9(tL$C8<3 z!Td!|XQ%u8BMYiaBU0Xmbvk)2B!*n?)*bBTX4SuBGT#TQ9mgB`v$fC0wa<2|`z3C^ zp8N2v`dU6fp?rE7-5%j6MK%&mit$#660**SmbEuhE4X#9fBn$WQo(!hZz(zi|A@3qKq1r+L9$ z<3Uq$m>2*4MTM1U2>r^c(^sFHu=q9bui_LzZ&g=Vb+0h2;vH8pi{-WTC%X;&%c`ZE z+1IiwU+5$a{52;jto+nmVcg+-r1lN{%IaSgZ{|zQC!v2yX@gg)n|`6bA!<_QZ8;8G zj3R!XkF4#RIW4ZeHLm?tTz5cRR~9cmG+sO-zH)NB^wM}KA1d4&Uo}|ca`BflOFo{t z@{5_;>(wnyx?ay)qQYR#uweckM87#&}P&oq#r!bz+>ln02+9w<9 z7%K0?rsNKtud&?Gyx5&bYL$5}zmG(IC(l~>?aQL)_+>U*Fn`-qmW947V@fMZtN04B z(ROWFmQjw|XfTEGe13eE9YZG+6_`GUMJNZ!Kv} zC#}P=f7#_p{2Ct(oY-!)x+C9|YX{UA`j}=gUf~YMAbe=2qK>k+@OfFEj=yuE zcRk1ySTKJNCY>cd9j#GEmA2{?4-Xy|87imn7 z^7W^_MH!N4-Kbp=L=zmZUk~@i-cAAvqy0Ru{&HQ(BnKX($ei)PMS z#(+bxQ-)+Lcp7*Xcsh7BI3BzOqz;qMfD^&bfoFjCg6Or$ec+j(&QYd-B#&Iydqef! z&mN9+$GQ+wEvnCJPtpHAj^BEp=n>EvkR9h}i46TW-2ANDgLA7%i* zr$7pK3{(aUgZy5k-umdLyXk78L$WhsB`czZkp;_shVWLECPc1vT+& zPkto(v`7Gqtv7lm#c4e>ib=(}^6WE$daK zsdi8db{!IYANeDj=DVTjH0HaZHoq68akR|%HA0-OGt@ISD>mZc3Vs}X6y(e$`UXf^CSBr;)?g>j=rItU=yC7|;5We^f=_@y0hQ06f%FeOiesK_ zc^mvTcHJ44zsCD_uxp$@1?qg2ew3UDeh)kq{62U-NE*q9LDDeis4DNrunVsO6`%IP zp2dDQ_#9~K{5aa~B2rdA`7pm{HEQ>xa32C`4CfoZ4(u}I(O2@2f_dpVfX-u1gofj$ zvztQ4yMo^ei-f~;APqgsn#W0}9oyI!_G zGHDL@F*v}v4+hs`S1(2WE}H=U8arU(uRq5qA`c%*(^LnwI&_@s;D-{%%aY#^2Q22< zoVMUb?DGE|C|ROBY4rUbdq40Mus`@Jc$7oQ8u4i)%Ka4ZHE<;OM{u0;SDs(TJ`Ma6 zSR{9FCa7?8Whb5wgMY!EIQtTizGdbq#-(}wT6}ln{x|G*ftwI-d;fj!Ygq za6T>@raf*-L+4Cg(sn3>*XrE4@1sYt-qFxM)hDdJoLl$Ez#D#t$LhRsstc<8)R9Wn&eYZQw?Pj= zPeHFkExW)64TGjZ^PuI>Jw5Yk?vMyk1Ub#{T#IWo0n z1+`DI_N^OQP`5hD=-ne*TW>e@T<9{^bh9`+A|2ZC3E2Z1X= z#nYL%8CJ>I{0a!yf2MQM2$i{kM6Cd~Q9^l&IZ7s?*s%N+)dp5K9j(S;G2(RsDxpkP)E( zwf!kKFC&um>+f>O(5Ak1Aplyziz{9cs0PG9C03Hec)%i=G?vI`M&+I1^fCI4)00)7#{Q9aJsYAffM#TcZS@79R|y9+iw%0)DCZ} zlVT`CbT6I$8E7Naib~6ehCt(?8PEdgHt2(DT2e5t{|$A83}rWMoZUcE&{SKz|Hq%% z)Z_^FIN^R9hVzdz!Yg^=(_ED!>^BMfS{OFRdw*Zg5pFHv{<=lD-0%H;&=kl%2koNL z9z}L@7{1Yaf8T&nIvwLV@_bD_;}qWY3GW5jI%wjq1Zk;#kU?+dTEw2-~2Sw~tY zglX--yI>oqGs#w_| zlFrpWon|=O@@c+F^o5X>3AyKA&DG)gkd*_uc{Nw-d)hu;JMMGyBDRz8U9fhn=jPRX z9=_+_j@NB_7pxsW&Gjx=eM?z;_6^?!t2(q}D0iNi>yviuDEoS`V<7jtJ(-^1wfc_Y zwf#8vyFE4kw_{)2$7}my?st3U!yCSv-}a|C?PoD*Y5PT{2fTfQXJJ>!6Eh8ZkPJQr zy#&1twMQxG2aSSCpheJa(1XxAXalqvYDZ@KK*OPF&^%}vv=Uke?KSVe1|&NCdgT=t z-M&GzTpZ1I80F@ZM&JJ$5JwU{D%>1Myxu>2o;!V?M*pcr)tC71 zMQyLX6Ql9e?+c7~GUW`HPr(ZEm+$kZ$J23B{_X)=!7pC#uXQd~tw9Xx_hm)p^GiXc zb5c`#n&>AjiBro5)r;1+(#_%nGl%J7jpC489Shkysh7d3uVIjk=0}Yc&3)=u`-7|v z6)$Tc|9!B*=~{3Gezpwt=RjH9rb064ONpw6LLuAjnoRK>h@Cw&v+kS#(pGM*#p(>B zbLh653Tyqf3A^&Lav%9vowE~ty&p6Rn)U(f_qLRK|Egbl{afQjX1vqG_4{S|`RQ~Q z;}tyr-Q?YLbYDMKey*{CeF*Wn?iK01fijIzZhwGuKUMqos0()AzFp>WwvRd&m>b}_ z$B|o>G__aH{!aQ1&$XnX^8FI@V^@3iw!Cp#5BcO_Iqovr57F2aN{9%R$1=tiDvNoJ zw4ZZF&Y0&&M}y_~&voweKz^I&mMg(eW5>;WGq?);G4^V3y~E#uN=Nk~_sw7p_)l;? zco2D$|H0s8*n5JPgMC5qAMgApJDlS1JdpE(M8e}E-~-NGca9X_G2kNHPjYsWOO4&L zVb=$v`zdX8bH@DEvyuIc-997Po*lEJjbBG(o87ZH&e%J!TO@nqcRsg8mu<^^3vZN` zjF(aVY*F%R9&%~fUfE>oXGi{M{QI^3qb`C0K|~*Bd{nT>NY`LuE2?JOxQeG#W|b|l z^Q^+FKP!yq^Yd(vV4kh9pA9wR?3AsH-Sl27{Y~+N zMdZ?nTzR8>esc#oxiPLiORbejzLrUTpQ*h#Q~R8kvrFKy{UuKCN1+$#`FCT`ZzPtq zrZ74ZW8Lg)OD>UDbQa_sC>=`eCmretur0`5v)RYDGO7@_fw=g6<*vvp-PfqUYoWZ@ z_K!_p5O0_l`k~2-^ef36=~e2R%F96@l(YvSGZ$!IKOZ|sFi9cU39QeHa_jTbYm2<( zQ)t_!aoR7qE|GrkqziGWUf8ZSd13A` z`xkF4YVHG1hvU$ zY(sm^d)GiqyuJJ%=2)fQcryce^e;NJ`keXxU!&)g8?PNTF1#rsY)t1hVRv9Jntp2b zqTeJ!jU$_n-0OD90e{DPEW9?|-0y&rj8GX505zVqeu6aL&}Z%aJMGzN%=*6exGR`o zR6b`z&;n>Vv^yKMzi-0_T|p$vyg@(BE@ps*ZRpqklGWn%{^4`iO`VHq9@zf(wKY8d z&^ft`l`i)8Jo0<1&o7^=m#gx-8f*{0c)fo|w;zDaM6_E|11N9DZ;OsXe46)EN6ho) zH|O006yDeAI+sV}b!sk!|Cc_GW9<8bcObn6&nWuz=4mp=9BIM)MZRY@H%d=+qWeev z;1{p=_j&{pI<1qc((3u;RE)~CJ^GKU7rRGtaHgNv+k9Sihe$^Al{cs)*j3?lV=BJ-<<&-*0t>AaJG)>JZwy)QJuUO4KK+G7rrAd=?Oj^=! zY@GG?EM~xG`)8c?Yld68|3%(R9MXA^=_bGG5cCUkH@*kh7kdF{LbL3}S5!L6tIe_z@{YSa^f7nPK z-L5G;W9G%B#Wm(Vu;#tZULRONAcgh(p+1o7EGN7h5xxgy$8>{+XFN6!vD-Pa`PUeg zk-Qv-^zh^283dV(#>i^=`ipx|e^>ka{ol3xmYHP1{6*$ve?`T_#zXJ;un%4@-4^|b z$R!8E_k4`tY5CdgO8PgEAPdcVNHkBxJ>m&*vOMNvGs#PF?T6yp>2d9E>ShY3!?fOoc{glCJb2 z>{<)9X6Cl@a%Y2HKHQ;66{GUy)5nHFlc16hKz~#F`*vKTLSnQ};-hx(L zYAqZ~@DRV}3FoV(*014NcXPbEe4Ex)!Lj^27#X!N2!h`B+5%zY)3@S_|zpyI&22 z^8a<0{h4OKSj)c|Lp_goV<Yslj4xRsY<#z_U7SeM_9@USfo0)Gk zsxM!bG4CJS+Sx->XT0>~^o(~n@v00LfqsnW%*U1~j(l0Qj>~uD)|k*7A=G;EY{rD< z2zI9v)^f&Oc|RBXa_~IxKIi^L@OI)hZ|ZS({-g2l=l`zsC7BWn=I`~4owxEE&i{VB_nhPP{_iy> zhJKCjhWUM1<{qbMai4-rD4ijs@eG6ridyxs`4GS4NXS38+P-f|WBk;nWD|i^Zp~qK zF3o5zHGA1{$IPfWS(8cL;oQ>AsnTz48RN8W_Q&l;NQO19nNyJ!iQ?3FOb;)q3##% zOEmX08(vS8rj{Vtal zeLpoTN$a#QtsQt~qj5UYA7nJHy!kZgOl#(J^c=HHn9l!^&Lz#9&U%+lUz?oy`x(-? z!l$!?&xZJV^Lu(@TiOJ|bnYRY`+PbY)9>@WXFg4>KZrK6@?z_2_3#-ED<5+6B4fGR zaYXv8f|UumdE3AnKJQ`2b?#>?B&Q45g;##3LU!!My02kOxL%UXmWV-CnEe9DYUzUQ zLF9CB2GSFGyyY_|{dmhC0q1?PZh_^5AxZgxcG#_PLKb*$zAwAhYf#yKE#B&?; zDD)ikI@FR*)Cn2@jfYC0MbHXp6|@f80BwTW^rFu}W1+of`)i;jLHxX-wvy>?!Teo} ztay_SrT%5^e~hahJ$IgYO})|26n+h)FrKeDp8eQb9N~AQH0N#q9Rhn!;C0?Crb5r|t~0ri`w1=_<~Bur~-poD(Zc6s1`&s~lVV zj#PRFutoh^Uu8#^Ht+6cXK!N5;uggjzF<`QyG$)IOz(a*_W`(TUbjDa3iXzi#3S>V z1@m_)@%_u!6R-ZQysXq$m8q*GlxaNS6vp%Ux?+`^szABws)2t{S8IrKEOA~!oF}@y zPhVFJ!sMu{t?gN)bw%8MU&Pf_oKHFp>gsQq+HRS;12c8&8`O`V%c+jkTt)qS)#Wkb zvPAHhHFwc--;r;S7Y1-YVjITZKq-3;`QOTc`sXJ##F*=h(cGKQTN=e%4%u;5|1Hjaahn0jX#R)H`ic2hjcL|Z znv2z!G#B>*H5U&6wSH=C-pAM1tc!HVv#ohw%kjppG~a;in5w^Dskk>nGUU_D_nkqd zt+`b74ROX`?^X5%wZ`K--`p`63HHE$6j%VB=KLpuJ+V&%$!AgwGS-qCLHdz-ufpM= z_KvhKy9!jiUj<2nvgjR@_T6K4em3uH4mU{?xm75z3rrgJZVY!E5SGkV| zRqhkPYEb3796Sm80`O!|^)Vd09hCpw;0Wxhk5j-ef~1u^08+=vL!kIH?~KO2^?EvC zEA=#-kgCUy)LSV;sWJKnlH3~CpXS9@(Aw7GvS*qzXwXH_3g}*FEwlmJ1hqR19%vNw zzit@*>G>~hW{k$5H>;5^z3H^3o0#?gmTP#mqf8j?D}?L6MY!B+c)#zYap=t>gg-hA z-)IfL2u6)rh4FmNyKZmz?4cPPq}2}chH;u5ntbd5ZgJlKAo`%L`+c-3`T7n?OQ{nxCKHD6oVyyd#s_UZcg6uuKAqxrlYQpuO! z_Q~Ae7w>3z>)&T!`&I5T5kK*cP2;tFBlr3h{erWei&9?OzPWi1fj3<1&TxHR^){V3 zpaxnFt%BA;FF~83HuRZ7XgD+tng=a|RziD+r#AKL=vQ2raPFEz*i(I2H$Q4E zIvm~yA@O?uaR2?i&We=g_OJQvT@iogaIYzhc~>?$u%?W>p6&CxmG|v5>9bdO551_U+6#H|N}vx2Orkq~KHy@wGPi-)* z53(Ct4y}Y9gx6S$!KmNV9ER-vVl&BqpU!hR(&JII;obhbWb0hDiH~KRHx>~BI z&EyNXQ+ZlY#g)Ix82T4iR#ewi%`dLu(u(x2?SF4Y*6f*Uo`^fdXZU9cHSX%`EH=M! ziuQrV>Ia5>nMC=~+PW2}wKa2=<{b0=7U_9bKht}2KMGykK#%F7Ko~(E3N?HyV@&Pu z^?%>~eHG9dbgXRu)~@}f|4*nanO|O|{iUco(}yrieA+v(pQ$vJhA*Gr`?K1%O$2eDy@3oWKN07i8h>7%$j zIITXe9I9(?=x3+8V>^86E@=kb+ACAdy*O5dj6)IZxXp3}nc*^Yr` z#iesXBlBvz#n_P(H@7#ZXmIR1S~oZVq{Ghj3IF&sTuF zRuss^wC>6YT3TWSl>8KSC1KkTmNjiu>C({sQJfouEuL%F>&ol)tl7;te}Z5EjQWK#O0`qeq7PSvS%s_x&qJ&&gN|Hk7}H}d(}_n}E! zy|1jdw#I#BCT)GyxAoGMV(R|w#DI#gOmc0!lsa}Pq85Sz5no&!L5J>4I>(ZY_nC-;${`d~St3M0z$-Aocq5 z*{#+;uAhY|Lp|p+IXRz=eIxx3S>wE(j-gup{7?(`KGAbkA9_CD-~1tcCN^2~nLqme z7JHdoB_WADWS)^X^>(Lv-bvk9pZe6-#@~3^_)qOlefkHfPwyXp)8lvF#9MneJm;T0?al2`-W_0AK?#qF81dt}Vyx@8HuT(^{CG4AJlc_{X2;P;TA#2r@;$76@{ zRKoCJGKjvHC)ZN-c!mQ!{+5JjxW7d+b%+m~M=oo`Y*(i|*D=G@E9U}IhaRUy*J`3@2iqu z64tF(iDiF`;q*+-HKeUi16_ktZawCwtfRp$`GfRv(?k5a`bCedy^Ku{$78GkxWUqi0vLACsn2}1Ucyc(Pffiq zKh5Y8S5iKcd^@>VQ+_uaeF6Cc{FXjHNPao_L*&{Qv50@~V+=zQ>Cqznh-j4Q*k#;#XxI@AVp`Tb3POWSvnx063c9-WuAGX}n`b+mO!=tokj^J7ZxJGc~Y>n`dU!5epP zK@t7#1wry2un0%$2DgCw!7lI|cnuVv83ZL@7FY;YgN%kVV13V300`G!R(|Jw`G=diJ$CTu|btes(`Q{QF{)wacj^_!wX1&favy8_LlQn+~ zCz9XKmS|pgx|K5lOZk&HzN4S2`3+1$^84(On%_hH@_RCYBKf1nH{Gr+UB@6xdCgIp z|AaMFe!n?E^XnKh`8|>`mi!sUMe_HCYQCmO^QS12@*9uUd;^o6{C<6y=JV*I{N8}m zN&YgBe7E&?$Tu`!tz-rdmDkl_-6z zmA}p;EcGomyWD7Y*=F`=xB5p~Kkqg>yf{_m-ZMKqZ2jHFBrf$mX6?Vx>mP3A)^EAk zC44m#H6Ls3sIdO8n4sm;t-UW>z5C35`&j5j{vjqn$x~*Z1=jvnvs2dEb%l-3%{H#L zS$*5AA6e_ijW$m2nEY2dZ z&)c}wnBS+(4%eCAK5u@z&+PYr ze&1u`xxwtQ*zEqQwPUi``yOk@a2vlntR2(M-v(Rzr<%XMXzh62{A7BOw&QH`?}x3u zXPaNYW93g-yY9C3&oe)I*?vE4d4>7gW5cxG>E`cOn4h#8eYB1L^VZH98`syZz4w@( z++pL^G+pZ(ZTVf+{&veZnH`@oJB*y5{BN6GAG7)%Fh9P}{Hn>?b)(huwv8u;$8H?; z+spW~*=3E5L!H%IVg1fpe{VE9&$HimSbv^0JI^yaK5FeN ze)p!$7u&2I!%cpw{eIZ=zhnB+=0D<-g2&9S*I4{+GWna$uNGVWr0KiE@~q``=5He{ zuP}cbZ22?h|94wH$NDqg#{EU}Tfb-EJ{zY^X7{nC=O^ZOt;Rpk`gOMPJ!}5C&iXao z{Nh#f%SX+gcbL7iCjX}OANO1Q%ePs77MQ{`0Ke<1K&8+Vzy#^Db-ObQ_m>rsp2> z>#5ey4c3mkO#ge+&zSx-=7&$2ofgRi)P1X%}#e) z-fsFUEKgZJ&+K@cwR5!j_jT5;!IO(ihYl@rdofQL#PzP)o}i=$<`E_CBHZA?Q;LTc z7rE=P#h;SvVM?#1o}MN20XuvaTg&xYTrn7d{Yrx1Q?>lvLs@DvuTEl~VfV)Tn;r14UVBxiZoaAAaAE4B)1H`noRPmk-LHXAxp zwfrkd`dlJ^xWqK&N+yw)f>~fTSO_+QE#Q8z1MC7%gBQR{;9VenGq@k@0K32oAcHT}g1O)k@C4Wk_JdczTOc4lhk-F* zJ=hGkfcwD?unRm5UH~tFH$XA5HVTx0X<#|%26FNH7O)fS0ndR0;5Bd%j9}QtfhnLC z%ms3PXf@afZUIc z8bJ$K4!S`PxCPt^?gcx+9`GDE0E$>&M}To)3dn$3Fc&NW*Mp7VcCZ~h0-gYS!G0h& z$cBM2U=k<=v%qZ70oH@fU<-Hwyae6=?}B3H{!yR=Oas-R5zGfIU^(apw}3mrgJ36k z4jcflfrDTKYf>$k3l@Q8U?aF4Yz5oFUa%j$0^S00v3(dA115n|FbgaMOF#!$4>p4> zU$m>=a^z6xE*W-+rcB?39uLJ2Xb+G3FrW8 z!Fuq=luiodNSiSP#cqR#x{h|9i|gX|3BlADt+cX~lvyUjq%yTmMjsUNyjo_wS*atc ze^wA}An5r;@2tS_r_10!ImTZW%$m_APv6NaM`^d!bWWSfOs;gP+`EhP47CrH=vS(8 z`!Q5yN-N5ue#qK0G|26TmT5mK$|K&beei0T@n&-ST$!iOmDcujRWASOdH7Gac4w)7 zVyv%IgIVWgS7tlemRmMv7E5I++;>@{v772;Tcdu6-AB=9!Z(>%L4x3W&+Xgi?+qjw z{`C8g#{%+fYdjW5nXgn4=RT$m(A`n;uwJ7Uo5<;Kq(5ud*%xOs(lyZB(7oz&+65DEYI(=<8>+B>w~%Oaaf9mfRm??L4H z$1yf`nM7O0CF+-Y#u;x-Y%P@Y>v4Vfl9p?GYGUyw^~}t(cFxrL)1|Ta7yi;b{H2~h z6Zy9APs+nT$=bgRTY5hb{wcw%`Zetx%j()>zf65^+WU{vwI5mf9gm4q<+#TVdkC+b zxI5MB!XM%?JR>q+zRsXpa%Coanb=$_`Ukn#yJXdx&NgQ5T$w>8lg3AVd`o<(%!O{Z zB;OY;*S@40H;T(z(6$gzdeO)hqPD%TlQuBjutf{%3CizMDA zN;f&|?)!ItDA$<1x)p`GoP_OEy2_O?_&$zbadNrqgO(XDzU_JCI>n&CxkFg5mKkqs zU7LH9@b+FywA}bP{`G5#T))tM=U+>d$7G42xStL#;B$k`=gMPqxA>OHWII36?i|(I zSZS)KJT`a8oUSsteyZih&)nhLB|fG6;b&GuyD80Nhy^e6N+{FYx0Plxt&z+m#!&T$ zhjv~YKgUv<$q)}-&yr9kdJ)9;Uuh;oEO?nMq0Ag!U}{|{M)NXCGnrT%yb#J@173Vu z)-H2aS16}+lcPTGYh&=W!HM-n%ZxWR=RA$?3=Z^x;)agau6X~IrZO4)-uv5@!6M_P z(cFe%|FBPv$7Ex3yj(LI+=p*#x$zSVURRIfFMOP&JSH293z<(Vf?3f)vP{HPz0X-I z)W_55#M&~%#f5%c#rI3<9AYt%!H(YM;`c)mHrFz3S4C{z*xCoLmKks2cx<9;hntjS zctRUXTP9jt+VGqBnxHbeS&(nLv?t`pU;O+h^L~t<1IsSiN;=e|bZuK(%y)K#a?wUm zUYF8TW?8K7CHVBjgq^g^cw>EE?|5@JSn~BN&1CQwA7^hAkWre+;3rd58Sa^q)?_561_{@!bVmK#6wtB(`8Sfpc^e+^I` zla0-_;zuVtALDX`xtX`K(p07u8SgW-p$uzU>x$4hy`0ibE_S@q6Uyb7OT=|z0U!MO!9)2x1{@8pxn|b==KIUUBH~!ds{Gj76JRd8M z$r5M2ZQ@Ha@*J=oxfF3%i%obgvuzaKxD-;PU+pO$G`Dr500Z8;-PTh6e$ zv-n25E$KY`Y2{Cs#*TNSe%{{dbuB~7wLO{YsO@9$y`$wi3vxb&w9I&kA>YsI`{30w z<0XFlyde6f1+!$p>@8tg1m$XEq(^yF_G;|uWjoMgvi?9PTtR&smB(bUub&?dsH`4X zh*Y{JN2k(Fj(O6{%_pwVX>aF@^V}Il5@VUa!NP3*fFZux+>aCLxv$7Z>2ezbUHQ%Nco5I#KDJr9AHE5 zAL8>L>LU(9-q<=Lb)T8Xug~;x5L@$wKjqre_c?0HWaPZw&wJ7ym5ILxs&-PE+Nspp zUGEu49H>n0`GS@kKlb)Iwuk(^kNuTqGWe*Mk#hpo(fin6X(kg}$K{+rWpa-TwcPk) z=SnRhfAo=d@5@RvnV3)B8OqFVW!tJw{kmi1CrURteA4&lxlpe6{UW8A4F2f-cm#2y z{c-DfmY00HFiYr@N;kRINKWp{n_QpgCQ3KCrIBym;^cDAnYGM#nREU8vxK#VFQzTe zwq2X|JVSX*c3GsSS+cupY~PRj z9e?5TCFL<$V#kk<+^Mo?Kd-pY2@H-qqzk z#}nE?c~n;=apYxZhq4XJTUV~kcEqH;4VA}ab(hZm6!rKygkF&%3|nZ)t1 zD>r^()%WGWT>f6?4@y_Lw$i9=VjFE+@AC(xnGAm5ZM*}!l_b_(Ei>L&e9HBhl04@R zN;4Va)BEN6P$swUT5kNrrssbx55JZhe=H^!a!gaw$GL!(8-FY&cRK#UF{wNzOH6vd z7hlOFugzq7Uz^ETyrpAy7TJ#^?5t&~rv{t(F}c_A=H4sQGUJWeOX@f+Pu!no{+p#8 z-hYMv!vSkFq1$PfDSeD6O?6bYM*g_d%Usgk*}n1`lZyOa=_W_4dq3_@nXY+U*Jf(* zf?l7}O^&#aw{f_O$==5w(#GM|uS$I1+pN}==guoyruA1Q#^U%s#^QKiFR|$B-9f#_ z%l#vA-)=3lcE{SVi2fd*I3Ln7uR zzZ&08-FZ5S3CaR$AwyM{KTh^H+cp{$0GlAPvtRL zVm0n7qn)orA5ijRFFrcj`&Vo|Iq1rB=SD5l`m1C0%lX~tJkRJT&18sa-zHhhN8{`9 zkLvg~Da~YJ=a~0mgVA}O(NUVo#Eyxjf2U}ilZmxW>WaxQBSbPvGa3BA`{r}GGK@eZ zqcoGj7re|Yd^4tpNQz{XW-|DIpJS!XCrbRwVJ;hi`u=OV<1ej_>5%dwH~!Jak#U(K ziRo#psaWqO~hDNXf=oxRUUJQXG4Sj&tTpYi=(NX!(;Tp8P>&$mfwCKDSIiKl!r zN;8?*n8r&Ti5)A-`zJ+#ZM+uq5iK|V*gC&455JZxe>v;Ck74$U3hR%068WOiO)j?H z%R4JY_B;X23j40*#vfbnWpA;*__f^lW5?sOxE@y2$F(;tH+~|`$Hu*R__f^lU6e^{ z|NlvZPH+8<`xp~-#e`Mw~?rEQ0{R+wDMrA@*=^T~BXJHd-3>ijIUt$FG^ z1K+wRkDTnCAje0Va@!*B9}e@RguWY~@xP^9x%ChxdQw8}Z=p@?leT^D_hNOXg56s@ zTPoPT_n!*TUMxU+sQ~R?3ebL2fTry_CwL3nNgBiakP1HkMg67!Hnw;14D+%Xem0(A zw^r(_8!O71n?jF%|9$0`_XgxI|65DX3l7+rE+Ow%2bU05@C?!?vhKP%Hwr4t>lz!I zo7`#`)!nzQieNT=De2%qbX}aix+Ciz(!8|0y`w8gS2j1))it>Vo;rL#`qniy*y}X$ zz7%=C{c^WU>bkiivvf^&HfX4;EGw(4YOpH$(N*i-z7*d51JPvz7HP{gWg6=%s+&|> z;eJi~V7kuhT(xF(q^YT*z9v&sGr)e82k)A1+&Pf(QvZvT)zqic)s0on+O2+UxG30a zd;=OUxg{8BDyyijt1PYLz<^ZPehY(pKZqWG$t=>Y zOY7@u(v6MU;KI7j|6sc87HOobs-~f_vaxy7(84L}ZNGXO zv+`O(c4gbTd9AC1%F2fNvWij;a!G~tToTCjM@jO0L%(|FWxKjsugNy8?ar>0`%GPd z_)2qGxej1qU8O;ftt&f<2B6F4E9p>KLuID2xo&{AyCRrN{gULp?0)+c>2aSrE@Pf* zs4Vl-M?dyk9LV)8NpddMzb?Ji7M%htNe5LmP34uPRTcvM=xcNDvkzEb)5jP-3mK6z>dIitQLZ_`u7UVP{OJ%=*U((n zTv`zxF80%}i-J;{t4arAKYgmrcdV?us;Rkw>mHH{_bct@ci|f`kbXt}pl_so!3aKAnpETcb?W`X|a-&MSNv~t;uS?9D}broka zt2`D58XKA#wbz{>&^j;hcvpzpK5FZNr?1IsCvnHr%$W+y({R&jr z#xuh2u)joq2R^p`5l#%7Ne7j66`7{Sa9QYQT+ecQ5s7(seIT7lf6B-c1v2f_RLP55 zq{4lj>GTQT5-{+-p3@f8RaaJIsw(^eOJO}t!E77D%^yIId%Q{>0Gna&6=GVh(KeNp zXG&|*x=<9>dqFUZIFZ!C^@oA>PtW#EsoT*2#jNy=HBF7_hJomv9gMKKsPO~%>?Qhk znM@NwLvvkub#uc2&t3m4ctg7x{6YHU@~uQlx-2MbY+%xD_QTqb|1^ZLx#th*r|9*U zfSvwKP?fGLFKce*O1!4R<69M8_xK>O8roSeCp*m*K}}O-ctGN`Xi zH&tdD%;JUhHU~>Aj<$Y)`9JJ$Y>MJ}zG@=4E^TK3h4r2pyk_IEguLH4N?tc}9^F(| zm#JtP*m1+hLi-MAeN9|DQ+1`~>2z6Ry|ue=|K^AN8<4)}+|8+~PFGh|WU3oYRX;Iv zuG>3Ict4;nIZxECRaZA<(iwLjPwFY$x9RTqU-&-A`pNmP>f_dtb+=0br6wqAYO1eJ z*SouW{pp?)UcVbyUwfaYN{4fgnMzsW%1T*z8k_V|LqGkW7v38Mn6uVJY{Xjg;r3@o0Bm+UNqbaRq3n7NDI`fF}1B^0iYuEFbOM0yJ65^2yDE z_KY{4-OG}D8lN1JPDyb#2yVSP_}rD(@b_x=Rh>3g-dAF8H8Gkcxo1Z)=~ug4#y^Gq zU~cdT&%{f*pMCrK^#hymf~vaG%BF^JVlS-Y>|lx=^9|^lt?3AlafAAb#xm3m=s4iA z;0f)H{oBvIvPc&fU4jNK=+{*a=-g{ruo`xUc2x^*|N*k-18nuS}WAqNr z;{7FgpHg=B%tt#0+J#nmQcm^&pOc67r2=){2Tkv+h@ZsonFhg+pv|{B?X<%ElKZLh zEvYk&c2ths_Pz4$sC=~b(EN9zl5+A*C-rlAPBz|_?R({0O(XK?lW#DwWv)v}Ir&C| zKPF1j&0PTqawC@z4eZK&0Ujf>I0<>Qgp#2Kk zQ))7vHSx2Y_Wc_;*+*=?PSUk>-gRM=HNzwfu zmS>1GC25aC!?j&X(2o8tv@5L6ql2ICGdAjc|NS#@7T*@13tebs(0q*L((vh+9MeLW zM9rL-T#~l90IfY%C(}Zhq|VjQd^{v+vLC2#XOeb%tj?jqdz*ZvQs);7(Eb{lZ+lYi zD+S~pDj@eLG+R!{bKCMQXeHLTT-xQg{w$`C*ZjgHvH44AzVErTMc@5xOwRj;2&aNY z-%W84;pK8^k8c_Y&5t)zTbNS8IGB$Ju@bkOACT?V{(LI zm}HEaV{%E_$Dn=1xN~XfJ~8UUh(ueCDL^|8+61dJDL1nKZ9cSeX)q~QE(kt7Ch}dv zJ50j<1!#82BU_t?NoX%ZW9xdClC*=+rstu_cUCI%&@P9@bl_5MotNLb5?ZOzj>os` zPyFTbTfYSDv^=yYpgqzj?O(rrJrfq&-@EkT;KZ5sCw2box4#JO@AJ?W)A4WRp^f82 zpd$}$BeYBM(0&MwVR9+AE$_eo8)&|rqk?rajE#1_|Ncl0Cel`rq}4<7eNWPU3+=Hy za^K(^0FYhEm1A#bXmgB42!~00VmyuX7e$k_CD0ZcH=z+Gk=p_7PAl;?ke@=ETjIW} zC_h8{$lpSHyM(=?sIimor0-Co=Qtmuxehp93E-OI02AW^HlXBe!^nC`J?|V}2p#rr1 z(2lVl`#DyAO5cB0fcDD*v^NXT4np%bOX?dsCGw>tZ7Q^Uavz1}{Us@PJ~ZzyN!pdr zyv>rdo1xW;AxKHuQ_zl4Qcz;KWMZ?u1!(^a&HF@&2v`!iUqJJ7NQozq3+=bim?m8+ zv0O5tjh`B|WkP~BsQ~TF0<FjSXOI^8@sM9aJBI^4AGb`G zVG`N}(B_()w~sIg?F%!x_9Q<@Oi^JH+Fx?Ox711qn=lFOAT<7W3HJz-(57%e^t_eO z)i4R|J!p5D^U|F#3GI%W=)B6?P8fuCH#FbBB<(BEd^{v+4?#nvOG(;K3+Vf00lANy zmA{>*LR%^gCQZ}K{VPQqKFT?~(HN32Nm0+)d;`}?!UIfx3vI9blgK?=fcAE*PKGN?B3FDt zq%TSP2sD43o1~Q&kZXoE=U7#P3xsJ-Z3IcXHv`A%S-9K*5qNz8lWIG;F~b)Q*~>mFv)wISooy}t<(~_) z-Qf#BE#WinT`jrqv&?Ag3J$F*eg3w~wLW@o@X+h&_1wfE?@7#Pxi8Bc`p)nKL5tlG z@(&Xn^6psuhr98IzJ7h?w5uiZCM`J}n&chnu9nT9WVC9eQQv3-*NWAzx2oeTlzgAtUDA>g(eTyF=ec?~U=dE)Itl z^^oLyKZjmZ^x9rauNV0ay|$boY+u#c-n}j?I`rDYHz3=yT`l1cc^&f5>k7LeN6WDn zf)BkWzrOZ*-|cXy>f!@5T`f7UXdON^@u)rm6MbA=IEf@*4VK;pzyI~`f30Vr?lhEt zEXj$nrYY_OTL1RcKZ^YJ8R^tdfAH#M(*K=5zi8d=%Wk^hFV?<&-i&XIegAGQOwOF! zzVg~RE3aM^%v_1%cLg&!DV(|7ZT_>gV^!O=T5xrHN49Hb+gUAZ+)3uO?j*CzeOaod z)173lbSIfh`##BxopjD<(-*e7TI`S2@>#1+87QavaA@kxY9Ms4Tb=E6UDJ{yqO>d9 z+S#`J2r671+eG_Fs&(V&EPX`mnq8Z1V~33+(nDR&#rGo@I?SC^m0j-5;UlcHlUJjU zuu5hg*@fT;Yt8a5{Sj8#rmsL8A+0O8PGr+8f3B35Tn^_vo2%}ys^WvNwqHey`A$@F zSQRhx`*O%pY4~FuT|ca9Tm6ngT`lqXy^Gb?ojtLz*+%gp=f7)v+H{YWBi@)U{SxI7 z*W0O=9geu()t!1CcElCS(c%$Tx?=|$bl!=a0IceqIJ~ym` z;BU_T?Y5GCT=#wMt-AC)H(uo-xfXJH_>gn)<{I`)y zeQ$BoRUU5r5c!A6w{Y`S9v15444Hel!H>DQI+pwvK-F$@NYVKc|HuPC7eV(o@u?!H zLa2m%13%XQdrTKQ)(`PYyeK`v?k0{^(UdpEU&qIalM zo_{EB(40Smo%H7gn%%>+`8_eaml*?YO zld#J&%BN7ilQv~2pN8BXZ~z&pa|-2S$oHa4BUAy8N(DR;71V+{P!AeFBWME6;5;xJ%mL?v3&3134_pW?0`tKFa51<9ECiQ= zkAcg;BCr_z8Mqus{9OUA1XqD2pcO0yZD1M5f~&zbU^!?99|zZh4zL2O1gpSma2@Cb zU7#DR0iOV$1Z%-M@Snhc2G@fdz@LNv0(!uW;8Wn!U_ICXJ_Bw78^O)sv*5piTfio8 zEBGAP3~mFT2Y&%>2X}zK1YZDmg1f+9fiHqB;BN3G@ZZ2za1Z!v@HgOIa3AR{|5WP55bGz zN8rcc0Qd>`Dfk(93A_w`4t@b%0k48zf`0+8f!D#Wz^}m@;7#xw@Tc@2*8<~H%!l9< SPy+sx{$znaS>Qj81^x|QO*{4g literal 0 HcmV?d00001 diff --git a/src/tests/bin/Debug/netcoreapp1.0/Discord.Net.Commands.xml b/src/tests/bin/Debug/netcoreapp1.0/Discord.Net.Commands.xml new file mode 100644 index 00000000..4783bb54 --- /dev/null +++ b/src/tests/bin/Debug/netcoreapp1.0/Discord.Net.Commands.xml @@ -0,0 +1,26 @@ + + + + Discord.Net.Commands + + + + Provides aliases for a command. + + + The aliases which have been defined for the command. + + + Creates a new with the given aliases. + + + Sets priority of commands + + + The priority which has been set for the command + + + Creates a new with the given priority. + + + diff --git a/src/tests/bin/Debug/netcoreapp1.0/Discord.Net.dll b/src/tests/bin/Debug/netcoreapp1.0/Discord.Net.dll new file mode 100644 index 0000000000000000000000000000000000000000..fdc9e0e89a078d56f7cb8187f56f836277ecdd59 GIT binary patch literal 719360 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%0D2I*=SWbHn*D@A&7+d&(KD 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 literal 0 HcmV?d00001 diff --git a/src/tests/bin/Debug/netcoreapp1.0/Discord.Net.pdb b/src/tests/bin/Debug/netcoreapp1.0/Discord.Net.pdb new file mode 100644 index 0000000000000000000000000000000000000000..095b548c3ee9ce667678921b39b34f65c85e2808 GIT binary patch literal 1555968 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 rPWg)rS#snlP^3he3RP; + + + Discord.Net + + + +

Gets or sets the minimum log level severity that will be sent to the LogMessage event. + + + Returns a markdown-formatted string with bold formatting. + + + Returns a markdown-formatted string with italics formatting. + + + Returns a markdown-formatted string with underline formatting. + + + Returns a markdown-formatted string with strikethrough formatting. + + + Returns a markdown-formatted string with strikeout formatting. + + + Sanitizes the string, safely escaping any Markdown sequences. + + + The max time, in milliseconds, to wait for this request to complete. If null, a request will not time out. If a rate limit has been triggered for this request's bucket and will not be unpaused in time, this request will fail immediately. + + + C←S - Used to send most events. + + + C↔S - Used to keep the connection alive and measure latency. + + + C→S - Used to associate a connection with a token and specify configuration. + + + C→S - Used to update client's status and current game id. + + + C→S - Used to join a particular voice channel. + + + C→S - Used to ensure the guild's voice server is alive. + + + C→S - Used to resume a connection after a redirect occurs. + + + C←S - Used to notify a client that they must reconnect to another gateway. + + + C→S - Used to request members that were withheld by large_threshold + + + C←S - Used to notify the client that their session has expired and cannot be resumed. + + + C←S - Used to provide information to the client immediately on connection. + + + C←S - Used to reply to a client's heartbeat. + + + C→S - Used to request presence updates from particular guilds. + + + C→S - Used to associate a connection with a token. + + + C→S - Used to specify configuration. + + + C←S - Used to notify that the voice connection was successful and informs the client of available protocols. + + + C→S - Used to keep the connection alive and measure latency. + + + C←S - Used to reply to a client's heartbeat. + + + C←S - Used to provide an encryption key to the client. + + + C↔S - Used to inform that a certain user is speaking. + + + Creates a new REST/WebSocket discord client. + + + + + + + + + + + + Gets the current connection state of this client. + + + Gets the estimated round-trip latency, in milliseconds, to the gateway server. + + + Gets the bit rate of this converter. + + + Gets the bytes per sample. + + + Gets the maximum amount of channels this encoder supports. + + + Gets the input sampling rate of this converter. + + + Gets the number of samples per second for this stream. + + + Produces PCM samples from Opus-encoded audio. + PCM samples to decode. + Offset of the frame in input. + Buffer to store the decoded frame. + + + Gets the coding mode of the encoder. + + + Produces Opus encoded audio from PCM samples. + PCM samples to encode. + Buffer to store the encoded frame. + Length of the frame contained in outputBuffer. + + + Gets or sets whether Forward Error Correction is enabled. + + + Gets or sets whether Forward Error Correction is enabled. + + + Deletes this object and all its children. + + + Gets the unique identifier for this object. + + + Returns true if this object is getting live updates from the DiscordClient. + + + Returns a special string used to mention this object. + + + Gets when this object was created. + + + Updates this object's properties with its current state. + + + Gets a collection of all users in this channel. + + + Gets a user in this channel with the provided id. + + + Gets the recipient of all messages in this channel. + + + Closes this private channel, removing it from your channel list. + + + Adds a user to this group. + + + Leaves this group. + + + Gets the name of this channel. + + + Gets the position of this channel in the guild's channel list, relative to others of the same type. + + + Gets the guild this channel is a member of. + + + Creates a new invite to this channel. + The time (in seconds) until the invite expires. Set to null to never expire. + The max amount of times this invite may be used. Set to null to have unlimited uses. + If true, a user accepting this invite will be kicked from the guild after closing their client. + + + Returns a collection of all invites to this channel. + + + Gets a collection of permission overwrites for this channel. + + + Modifies this guild channel. + + + Gets the permission overwrite for a specific role, or null if one does not exist. + + + Gets the permission overwrite for a specific user, or null if one does not exist. + + + Removes the permission overwrite for the given role, if one exists. + + + Removes the permission overwrite for the given user, if one exists. + + + Adds or updates the permission overwrite for the given role. + + + Adds or updates the permission overwrite for the given user. + + + Gets a collection of all users in this channel. + + + Gets a user in this channel with the provided id. + + + Gets all messages in this channel's cache. + + + Sends a message to this message channel. + + + Sends a file to this text channel, with an optional caption. + + + Sends a file to this text channel, with an optional caption. + + + Gets a message from this message channel with the given id, or null if not found. + + + Gets the message from this channel's cache with the given id, or null if not found. + + + Gets the last N messages from this message channel. + + + Gets a collection of messages in this channel. + + + Gets a collection of pinned messages in this channel. + + + Bulk deletes multiple messages. + + + Broadcasts the "user is typing" message to all users in this channel, lasting 10 seconds. + + + Gets the current topic for this text channel. + + + Modifies this text channel. + + + Gets the bitrate, in bits per second, clients in this voice channel are requested to use. + + + Gets the max amount of users allowed to be connected to this channel at one time. A value of 0 represents no limit. + + + Modifies this voice channel. + + + Connects to this voice channel. + + + By default, only mentions will trigger notifications. + + + By default, all messages will trigger notifications. + + + Gets the name of this guild. + + + Gets the amount of time (in seconds) a user must be inactive in a voice channel for until they are automatically moved to the AFK voice channel, if one is set. + + + Returns true if this guild is embeddable (e.g. widget) + + + Gets the default message notifications for users who haven't explicitly set their notification settings. + + + Gets the level of mfa requirements a user must fulfill before being allowed to perform administrative actions in this guild. + + + Gets the level of requirements a user must fulfill before being allowed to post messages in this guild. + + + Returns the url to this guild's icon, or null if one is not set. + + + Returns the url to this guild's splash image, or null if one is not set. + + + Returns true if this guild is currently connected and ready to be used. Only applies to the WebSocket client. + + + Gets the id of the AFK voice channel for this guild if set, or null if not. + + + Gets the id of the the default channel for this guild. + + + Gets the id of the embed channel for this guild if set, or null if not. + + + Gets the id of the user that created this guild. + + + Gets the id of the region hosting this guild's voice channels. + + + Gets the IAudioClient currently associated with this guild. + + + Gets the built-in role containing all users in this guild. + + + Gets a collection of all custom emojis for this guild. + + + Gets a collection of all extra features added to this guild. + + + Gets a collection of all roles in this guild. + + + Modifies this guild. + + + Modifies this guild's embed. + + + Bulk modifies the channels of this guild. + + + Bulk modifies the roles of this guild. + + + Leaves this guild. If you are the owner, use Delete instead. + + + Gets a collection of all users banned on this guild. + + + Bans the provided user from this guild and optionally prunes their recent messages. + + + Bans the provided user id from this guild and optionally prunes their recent messages. + + + Unbans the provided user if it is currently banned. + + + Unbans the provided user id if it is currently banned. + + + Gets a collection of all channels in this guild. + + + Gets the channel in this guild with the provided id, or null if not found. + + + Creates a new text channel. + + + Creates a new voice channel. + + + Gets a collection of all invites to this guild. + + + Gets the role in this guild with the provided id, or null if not found. + + + Creates a new role. + + + Gets a collection of all users in this guild. + + + Gets the user in this guild with the provided id, or null if not found. + + + Gets the current user for this guild. + + + Downloads all users for this guild if the current list is incomplete. Only applies to the WebSocket client. + + + Removes all users from this guild if they have not logged on in a provided number of days or, if simulate is true, returns the number of users that would be removed. + + + Gets the name of this guild. + + + Returns the url to this guild's icon, or null if one is not set. + + + Returns true if the current user owns this guild. + + + Returns the current user's permissions for this guild. + + + Gets the unique identifier for this voice region. + + + Gets the name of this voice region. + + + Returns true if this voice region is exclusive to VIP accounts. + + + Returns true if this voice region is the closest to your machine. + + + Gets an example hostname for this voice region. + + + Gets an example port for this voice region. + + + Users have no additional MFA restriction on this guild. + + + Users must have MFA enabled on their account to perform administrative actions. + + + Users have no additional restrictions on sending messages to this guild. + + + Users must have a verified email on their account. + + + Users must fulfill the requirements of Low, and be registered on Discord for at least 5 minutes. + + + Users must fulfill the requirements of Medium, and be a member of this guild for at least 10 minutes. + + + Gets the unique identifier for this invite. + + + Gets the url used to accept this invite, using Code. + + + Gets the id of the the channel this invite is linked to. + + + Gets the id of the guild this invite is linked to. + + + Accepts this invite and joins the target guild. This will fail on bot accounts. + + + Gets the user that created this invite. + + + Returns true if this invite was revoked. + + + Returns true if users accepting this invite will be removed from the guild when they log off. + + + Gets the time (in seconds) until the invite expires, or null if it never expires. + + + Gets the max amount of times this invite may be used, or null if there is no limit. + + + Gets the amount of times this invite has been used. + + + Gets when this invite was created. + + + Returns true if this message was sent as a text-to-speech message. + + + Returns true if this message was added to its channel's pinned messages. + + + Returns the content for this message. + + + Gets the time this message was sent. + + + Gets the time of this message's last edit, if any. + + + Gets the channel this message was sent to. + + + Gets the author of this message. + + + Returns a collection of all attachments included in this message. + + + Returns a collection of all embeds included in this message. + + + Returns a collection of channel ids mentioned in this message. + + + Returns a collection of roles mentioned in this message. + + + Returns a collection of users mentioned in this message. + + + Gets the type of this system message. + + + Modifies this message. + + + Adds this message to its channel's pinned messages. + + + Removes this message from its channel's pinned messages. + + + Transforms this message's text into a human readable form, resolving mentions to that object's name. + + + Transforms this message's text into a human readable form, resolving mentions to that object's name. + + + Gets a blank ChannelPermissions that grants no permissions. + + + Gets a ChannelPermissions that grants all permissions for a given channelType. + + + Gets a packed value representing all the permissions in this ChannelPermissions. + + + If True, a user may create invites. + + + If True, a user may create, delete and modify this channel. + + + If True, a user may join channels. + + + If True, a user may send messages. + + + If True, a user may send text-to-speech messages. + + + If True, a user may delete messages. + + + If True, Discord will auto-embed links sent by this user. + + + If True, a user may send files. + + + If True, a user may read previous messages. + + + If True, a user may mention @everyone. + + + If True, a user may use custom emoji from other guilds. + + + If True, a user may connect to a voice channel. + + + If True, a user may speak in a voice channel. + + + If True, a user may mute users. + + + If True, a user may deafen users. + + + If True, a user may move other users between voice channels. + + + If True, a user may use voice-activity-detection rather than push-to-talk. + + + If True, a user may adjust permissions. This also implictly grants all other permissions. + + + Creates a new ChannelPermissions with the provided packed value. + + + Creates a new ChannelPermissions with the provided permissions. + + + Creates a new ChannelPermissions from this one, changing the provided non-null permissions. + + + Gets a blank GuildPermissions that grants no permissions. + + + Gets a GuildPermissions that grants all permissions. + + + Gets a packed value representing all the permissions in this GuildPermissions. + + + If True, a user may create invites. + + + If True, a user may ban users from the guild. + + + If True, a user may kick users from the guild. + + + If True, a user is granted all permissions, and cannot have them revoked via channel permissions. + + + If True, a user may create, delete and modify channels. + + + If True, a user may adjust guild properties. + + + If True, a user may join channels. + + + If True, a user may send messages. + + + If True, a user may send text-to-speech messages. + + + If True, a user may delete messages. + + + If True, Discord will auto-embed links sent by this user. + + + If True, a user may send files. + + + If True, a user may read previous messages. + + + If True, a user may mention @everyone. + + + If True, a user may use custom emoji from other guilds. + + + If True, a user may connect to a voice channel. + + + If True, a user may speak in a voice channel. + + + If True, a user may mute users. + + + If True, a user may deafen users. + + + If True, a user may move other users between voice channels. + + + If True, a user may use voice-activity-detection rather than push-to-talk. + + + If True, a user may change their own nickname. + + + If True, a user may change the nickname of other users. + + + If True, a user may adjust roles. + + + Creates a new GuildPermissions with the provided packed value. + + + Creates a new GuildPermissions with the provided permissions. + + + Creates a new GuildPermissions from this one, changing the provided non-null permissions. + + + Gets the unique identifier for the object this overwrite is targeting. + + + Gets the type of object this overwrite is targeting. + + + Gets the permissions associated with this overwrite entry. + + + Creates a new Overwrite with provided target information and modified permissions. + + + Gets a blank OverwritePermissions that inherits all permissions. + + + Gets a OverwritePermissions that grants all permissions for a given channelType. + + + Gets a OverwritePermissions that denies all permissions for a given channelType. + + + Gets a packed value representing all the allowed permissions in this OverwritePermissions. + + + Gets a packed value representing all the denied permissions in this OverwritePermissions. + + + If Allowed, a user may create invites. + + + If Allowed, a user may create, delete and modify this channel. + + + If Allowed, a user may join channels. + + + If Allowed, a user may send messages. + + + If Allowed, a user may send text-to-speech messages. + + + If Allowed, a user may delete messages. + + + If Allowed, Discord will auto-embed links sent by this user. + + + If Allowed, a user may send files. + + + If Allowed, a user may read previous messages. + + + If Allowed, a user may mention @everyone. + + + If Allowed, a user may use custom emoji from other guilds. + + + If Allowed, a user may connect to a voice channel. + + + If Allowed, a user may speak in a voice channel. + + + If Allowed, a user may mute users. + + + If Allowed, a user may deafen users. + + + If Allowed, a user may move other users between voice channels. + + + If Allowed, a user may use voice-activity-detection rather than push-to-talk. + + + If Allowed, a user may adjust permissions. This also implictly grants all other permissions. + + + Creates a new OverwritePermissions with the provided allow and deny packed values. + + + Creates a new ChannelPermissions with the provided permissions. + + + Creates a new OverwritePermissions from this one, changing the provided non-null permissions. + + + Gets the default user color value. + + + Gets the encoded value for this color. + + + Gets the red component for this color. + + + Gets the green component for this color. + + + Gets the blue component for this color. + + + Gets the color given to users of this role. + + + Returns true if users of this role are separated in the user list. + + + Returns true if this role is automatically managed by Discord. + + + Gets the name of this role. + + + Gets the permissions granted to members of this role. + + + Gets this role's position relative to other roles in the same guild. + + + Gets the id of the guild owning this role. + + + Modifies this role. + + + Kicks this user from this group. + + + Returns a private message channel to this user, creating one if it does not already exist. + + + A Guild-User pairing. + + + Gets when this user joined this guild. + + + Gets the nickname for this user. + + + Gets the guild-level permissions granted to this user by their roles. + + + Gets the guild for this guild-user pair. + + + Returns a collection of the roles this user is a member of in this guild, including the guild's @everyone role. + + + Gets the level permissions granted to this user to a given channel. + + + Kicks this user from this guild. + + + Modifies this user's properties in this guild. + + + Returns a private message channel to this user, creating one if it does not already exist. + + + Gets the game this user is currently playing, if any. + + + Gets the current status of this user. + + + Gets the email associated with this user. + + + Returns true if this user's email has been verified. + + + Returns true if this user has enabled MFA on their account. + + + Gets the url to this user's avatar. + + + Gets the per-username unique id for this user. + + + Gets the per-username unique id for this user. + + + Returns true if this user is a bot account. + + + Gets the username for this user. + + + Returns true if the guild has deafened this user. + + + Returns true if the guild has muted this user. + + + Returns true if this user has marked themselves as deafened. + + + Returns true if this user has marked themselves as muted. + + + Returns true if the guild is temporarily blocking audio to/from this user. + + + Gets the voice channel this user is currently in, if any. + + + Gets the unique identifier for this user's voice session. + + + Gets the unique identifier for this bucket. + + + Gets the name of this bucket. + + + Gets the amount of requests that may be sent per window. + + + Gets the length of this bucket's window, in seconds. + + + Gets the type of account this bucket affects. + + + Gets this bucket's parent. + + + Creates a new REST-only discord client. + + + Creates a new REST-only discord client. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets or sets the provider used to generate new REST connections. + + + Creates a new RPC discord client. + + + Creates a new RPC discord client. + + + + + + + + + Gets or sets the Discord client/application id used for this RPC connection. + + + Gets or sets the origin used for this RPC connection. + + + Gets or sets the time, in milliseconds, to wait for a connection to complete before aborting. + + + Gets or sets the provider used to generate new websocket connections. + + + Parses a provided user mention string. + + + Tries to parse a provided user mention string. + + + Parses a provided channel mention string. + + + Tries to parse a provided channel mention string. + + + Parses a provided role mention string. + + + Tries to parse a provided role mention string. + + + Gets the value for this paramter. + + + Returns true if this value has been specified. + + + Creates a new Parameter with the provided value. + + + Gets the shard id of this client. + + + Gets the current connection state of this client. + + + Gets the estimated round-trip latency, in milliseconds, to the gateway server. + + + Creates a new REST/WebSocket discord client. + + + Creates a new REST/WebSocket discord client. + + + + + + + + + + + + + + + + + + + + + + + + + + + Downloads the users list for all large guilds. + + + Downloads the users list for the provided guilds, if they don't have a complete list. + + + Gets or sets the time, in milliseconds, to wait for a connection to complete before aborting. + + + Gets or sets the id for this shard. Must be less than TotalShards. + + + Gets or sets the total number of shards for this application. + + + Gets or sets the number of messages per channel that should be kept in cache. Setting this to zero disables the message cache entirely. + + + + Gets or sets the max number of users a guild may have for offline users to be included in the READY packet. Max is 250. + + + + Gets or sets the type of audio this DiscordClient supports. + + + Gets or sets the provider used to generate new websocket connections. + + + diff --git a/src/tests/bin/Debug/netcoreapp1.0/NadekoBot.dll b/src/tests/bin/Debug/netcoreapp1.0/NadekoBot.dll new file mode 100644 index 0000000000000000000000000000000000000000..246ffe93a837c66cbe2f8a55c580408b7eee8052 GIT binary patch literal 998400 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

1WQIC{r~+wmAuLFV_D@^N=2r>vzGIe`ilt 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

@Yzsca^;x8)PSS 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

.*?
(.*?)( private static List MatchAll(string regex, string html, int i = 1) @@ -162,12 +163,12 @@ namespace NadekoBot.Modules.Searches.IMDB return Regex.Replace(inputString, @"<.*?>", string.Empty); } //Get URL Data - private static Task GetUrlDataAsync(string url) + private static async Task GetUrlDataAsync(string url) { using (var http = new HttpClient()) { - http.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1"); - return http.GetStringAsync(url); + http.AddFakeHeaders(); + return await http.GetStringAsync(url); } } } diff --git a/src/NadekoBot/Modules/Searches/Searches.cs b/src/NadekoBot/Modules/Searches/Searches.cs index e88656d3..5f676709 100644 --- a/src/NadekoBot/Modules/Searches/Searches.cs +++ b/src/NadekoBot/Modules/Searches/Searches.cs @@ -81,9 +81,10 @@ $@"🌍 **Weather for** 【{obj["target"]}】 if (movie.Status) result = movie.ToString(); else result = "Failed to find that movie."; } - catch + catch (Exception ex) { await channel.SendMessageAsync("Failed to find that movie.").ConfigureAwait(false); + _log.Warn(ex); return; } From 5243bf18aa2ac37d78b32af04c33e3cb845786f3 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Thu, 13 Oct 2016 02:32:30 +0200 Subject: [PATCH 133/135] Clash of clans saving commented out for now --- .../Modules/ClashOfClans/ClashOfClans.cs | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs b/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs index 89c77f11..ae5fc69a 100644 --- a/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs +++ b/src/NadekoBot/Modules/ClashOfClans/ClashOfClans.cs @@ -21,23 +21,23 @@ namespace NadekoBot.Modules.ClashOfClans static ClashOfClans() { - using (var uow = DbHandler.UnitOfWork()) - { - ClashWars = new ConcurrentDictionary>( - uow.ClashOfClans - .GetAllWars() - .Select(cw => { - if (cw == null || cw.Bases == null) - return null; - cw.Channel = NadekoBot.Client.GetGuild(cw.GuildId) - ?.GetTextChannel(cw.ChannelId); - cw.Bases.Capacity = cw.Size; - return cw; - }) - .Where(cw => cw?.Channel != null) - .GroupBy(cw => cw.GuildId) - .ToDictionary(g => g.Key, g => g.ToList())); - } + //using (var uow = DbHandler.UnitOfWork()) + //{ + // ClashWars = new ConcurrentDictionary>( + // uow.ClashOfClans + // .GetAllWars() + // .Select(cw => { + // if (cw == null || cw.Bases == null) + // return null; + // cw.Channel = NadekoBot.Client.GetGuild(cw.GuildId) + // ?.GetTextChannel(cw.ChannelId); + // cw.Bases.Capacity = cw.Size; + // return cw; + // }) + // .Where(cw => cw?.Channel != null) + // .GroupBy(cw => cw.GuildId) + // .ToDictionary(g => g.Key, g => g.ToList())); + //} } public ClashOfClans(ILocalization loc, CommandService cmds, ShardedDiscordClient client) : base(loc, cmds, client) { From c45b91392f71b0ebe2740f5b670af5d6cd8f1f32 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Thu, 13 Oct 2016 03:18:32 +0200 Subject: [PATCH 134/135] Fixed osu bugs --- src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs b/src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs index 0f02a9e1..d01528a2 100644 --- a/src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/OsuCommands.cs @@ -46,8 +46,10 @@ namespace NadekoBot.Modules.Searches http.AddFakeHeaders(); var res = await http.GetStreamAsync(new Uri($"http://lemmmy.pw/osusig/sig.php?uname={ usr }&flagshadow&xpbar&xpbarhex&pp=2&mode={m}")).ConfigureAwait(false); - res.Position = 0; - await channel.SendFileAsync(res, $"{usr}.png", $"`Profile Link:`https://osu.ppy.sh/u/{Uri.EscapeDataString(usr)}\n`Image provided by https://lemmmy.pw/osusig`").ConfigureAwait(false); + MemoryStream ms = new MemoryStream(); + res.CopyTo(ms); + ms.Position = 0; + await channel.SendFileAsync(ms, $"{usr}.png", $"`Profile Link:`https://osu.ppy.sh/u/{Uri.EscapeDataString(usr)}\n`Image provided by https://lemmmy.pw/osusig`").ConfigureAwait(false); } catch (Exception ex) { @@ -96,7 +98,7 @@ namespace NadekoBot.Modules.Searches [NadekoCommand, Usage, Description, Aliases] [RequireContext(ContextType.Guild)] - public async Task Osu5(IUserMessage umsg, string user, [Remainder] string mode) + public async Task Osu5(IUserMessage umsg, string user, [Remainder] string mode = null) { var channel = (ITextChannel)umsg.Channel; if (string.IsNullOrWhiteSpace(NadekoBot.Credentials.OsuApiKey)) From 4235b897f13d6aa6c5e066eb60dfb25369d7953f Mon Sep 17 00:00:00 2001 From: Kwoth Date: Thu, 13 Oct 2016 10:00:46 +0200 Subject: [PATCH 135/135] Fixed moneh abuse --- src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs | 5 ++++- src/NadekoBot/Modules/Gambling/Commands/FlipCoinCommand.cs | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs b/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs index 649fe8fa..bf29c2bf 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/AnimalRacing.cs @@ -47,8 +47,11 @@ namespace NadekoBot.Modules.Gambling amount = 0; if (amount > 0) - if(!await CurrencyHandler.RemoveCurrencyAsync((IGuildUser)umsg.Author, "BetRace", amount, true).ConfigureAwait(false)) + if (!await CurrencyHandler.RemoveCurrencyAsync((IGuildUser)umsg.Author, "BetRace", amount, true).ConfigureAwait(false)) + { try { await channel.SendMessageAsync($"{umsg.Author.Mention} You don't have enough {Gambling.CurrencyName}s.").ConfigureAwait(false); } catch { } + return; + } AnimalRace ar; diff --git a/src/NadekoBot/Modules/Gambling/Commands/FlipCoinCommand.cs b/src/NadekoBot/Modules/Gambling/Commands/FlipCoinCommand.cs index 5fb0ddf4..2383d5b9 100644 --- a/src/NadekoBot/Modules/Gambling/Commands/FlipCoinCommand.cs +++ b/src/NadekoBot/Modules/Gambling/Commands/FlipCoinCommand.cs @@ -59,7 +59,7 @@ namespace NadekoBot.Modules.Gambling if (amount < 1) return; - + // todo update this long userFlowers; using (var uow = DbHandler.UnitOfWork()) {

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