diff --git a/.gitignore b/.gitignore index 67d693a9..1effb8cb 100644 --- a/.gitignore +++ b/.gitignore @@ -10,21 +10,6 @@ obj/ # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs -**/Bin/Release/ -**/Bin/PRIVATE/ -!**/Bin/Debug/opus.dll -!**/Bin/Debug/libsodium.dll -!**/Bin/Debug/Nito.AsyncEx.Enlightenment.dll -!**/Bin/Debug/Nito.AsyncEx.dll -!**/Bin/Debug/WebSocket4Net.dll -!**/Bin/Debug/sqlite3.dll -!**/Bin/Debug/credentials_example.json -NadekoBot/bin/debug/*.* -NadekoBot/bin/debug/data/permissions -NadekoBot/bin/debug/data/incidents -NadekoBot/bin/debug/data/musicdata -NadekoBot/bin/NadekoRelease/*.* -!NadekoBot/bin/Debug/data/currency_images/* Tests/bin # NuGet Packages diff --git a/src/NadekoBot/Attributes/LocalizedCommand.cs b/src/NadekoBot/Attributes/LocalizedCommand.cs index b145c820..fb371a6e 100644 --- a/src/NadekoBot/Attributes/LocalizedCommand.cs +++ b/src/NadekoBot/Attributes/LocalizedCommand.cs @@ -1,10 +1,6 @@ using Discord.Commands; using NadekoBot.Services; -using System; -using System.Collections.Generic; -using System.Linq; using System.Runtime.CompilerServices; -using System.Threading.Tasks; namespace NadekoBot.Attributes { diff --git a/src/NadekoBot/Attributes/LocalizedDescription.cs b/src/NadekoBot/Attributes/LocalizedDescription.cs index 65aaa802..f9b4a945 100644 --- a/src/NadekoBot/Attributes/LocalizedDescription.cs +++ b/src/NadekoBot/Attributes/LocalizedDescription.cs @@ -1,10 +1,6 @@ using Discord.Commands; using NadekoBot.Services; -using System; -using System.Collections.Generic; -using System.Linq; using System.Runtime.CompilerServices; -using System.Threading.Tasks; namespace NadekoBot.Attributes { diff --git a/src/NadekoBot/Attributes/LocalizedSummary.cs b/src/NadekoBot/Attributes/LocalizedSummary.cs index d2a7f10f..9ded83bc 100644 --- a/src/NadekoBot/Attributes/LocalizedSummary.cs +++ b/src/NadekoBot/Attributes/LocalizedSummary.cs @@ -1,10 +1,6 @@ using Discord.Commands; using NadekoBot.Services; -using System; -using System.Collections.Generic; -using System.Linq; using System.Runtime.CompilerServices; -using System.Threading.Tasks; namespace NadekoBot.Attributes { diff --git a/src/NadekoBot/Modules/DiscordModule.cs b/src/NadekoBot/Modules/DiscordModule.cs index aeac5d11..cb0a5f66 100644 --- a/src/NadekoBot/Modules/DiscordModule.cs +++ b/src/NadekoBot/Modules/DiscordModule.cs @@ -1,10 +1,6 @@ using Discord; using Discord.Commands; using NadekoBot.Services; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; namespace NadekoBot.Modules { diff --git a/src/NadekoBot/Modules/Games/Commands/LeetCommands.cs b/src/NadekoBot/Modules/Games/Commands/LeetCommands.cs index 90ff1ba9..0f5bf1ba 100644 --- a/src/NadekoBot/Modules/Games/Commands/LeetCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/LeetCommands.cs @@ -1,7 +1,6 @@ using Discord; using Discord.Commands; using NadekoBot.Attributes; -using NadekoBot.Classes; using NadekoBot.Extensions; using System.Text; using System.Threading.Tasks; diff --git a/src/NadekoBot/Modules/Games/Commands/PollCommands.cs b/src/NadekoBot/Modules/Games/Commands/PollCommands.cs index 3684adc1..ef447afd 100644 --- a/src/NadekoBot/Modules/Games/Commands/PollCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/PollCommands.cs @@ -1,7 +1,6 @@ using Discord; using Discord.Commands; using NadekoBot.Attributes; -using NadekoBot.Classes; using System; using System.Collections.Concurrent; using System.Collections.Generic; diff --git a/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs b/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs index f5c41df6..2aed794d 100644 --- a/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs +++ b/src/NadekoBot/Modules/Games/Commands/Trivia/TriviaGame.cs @@ -1,6 +1,4 @@ using Discord; -using Discord.Commands; -using NadekoBot.Classes; using NadekoBot.Extensions; using System.Collections.Concurrent; using System.Collections.Generic; diff --git a/src/NadekoBot/Modules/Games/Commands/TriviaCommands.cs b/src/NadekoBot/Modules/Games/Commands/TriviaCommands.cs index 1f4d62f7..fbba1be2 100644 --- a/src/NadekoBot/Modules/Games/Commands/TriviaCommands.cs +++ b/src/NadekoBot/Modules/Games/Commands/TriviaCommands.cs @@ -1,7 +1,6 @@ using Discord; using Discord.Commands; using NadekoBot.Attributes; -using NadekoBot.Classes; using NadekoBot.Modules.Games.Commands.Trivia; using System; using System.Collections.Concurrent; diff --git a/src/NadekoBot/Modules/Help/HelpModule.cs b/src/NadekoBot/Modules/Help/HelpModule.cs new file mode 100644 index 00000000..566994c6 --- /dev/null +++ b/src/NadekoBot/Modules/Help/HelpModule.cs @@ -0,0 +1,140 @@ +using Discord.Commands; +using NadekoBot.Extensions; +using System.Linq; +using Discord; +using NadekoBot.Services; +using System.Threading.Tasks; +using NadekoBot.Attributes; +using System; +using System.IO; +using System.Text; + +namespace NadekoBot.Modules.Help +{ + [Module("-", AppendSpace = false)] + public partial class HelpModule : DiscordModule + { + public string HelpString { + get { + var str = "To add me to your server, use this link -> \n"; + return str + String.Format(str, NadekoBot.Credentials.ClientId); + } + } + public HelpModule(ILocalization loc, CommandService cmds, IBotConfiguration config, IDiscordClient client) : base(loc, cmds, config, client) + { + } + + [LocalizedCommand, LocalizedDescription, LocalizedSummary] + [RequireContext(ContextType.Guild)] + public async Task Modules(IMessage imsg) + { + var channel = imsg.Channel as IGuildChannel; + + await imsg.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.`") + .ConfigureAwait(false); + } + + [LocalizedCommand, LocalizedDescription, LocalizedSummary] + [RequireContext(ContextType.Guild)] + public async Task Commands(IMessage imsg, [Remainder] string module) + { + var channel = imsg.Channel as IGuildChannel; + + module = module?.Trim().ToUpperInvariant(); + if (string.IsNullOrWhiteSpace(module)) + return; + var cmds = _commands.Commands.Where(c => c.Module.Name.ToUpperInvariant() == module) + .OrderBy(c => c.Text) + .AsEnumerable(); + var cmdsArray = cmds as Command[] ?? cmds.ToArray(); + if (!cmdsArray.Any()) + { + await imsg.Channel.SendMessageAsync("That module does not exist.").ConfigureAwait(false); + return; + } + if (module != "customreactions" && module != "conversations") + { + //todo aliases + await imsg.Channel.SendTableAsync("`List Of Commands:`\n", cmdsArray, el => $"{el.Text,-15}").ConfigureAwait(false); + } + else + { + await imsg.Channel.SendMessageAsync("`List Of Commands:`\n• " + string.Join("\n• ", cmdsArray.Select(c => $"{c.Text}"))); + } + await imsg.Channel.SendMessageAsync($"`You can type \"-h command_name\" to see the help about that specific command.`").ConfigureAwait(false); + } + + [LocalizedCommand, LocalizedDescription, LocalizedSummary] + [RequireContext(ContextType.Guild)] + public async Task Help(IMessage imsg, [Remainder] string comToFind) + { + var channel = imsg.Channel as IGuildChannel; + + comToFind = comToFind?.ToLowerInvariant(); + if (string.IsNullOrWhiteSpace(comToFind)) + { + await (await (imsg.Author as IGuildUser).CreateDMChannelAsync()).SendMessageAsync(HelpString).ConfigureAwait(false); + return; + } + var com = _commands.Commands.FirstOrDefault(c => c.Text.ToLowerInvariant() == comToFind); + + //todo aliases + if (com != null) + await imsg.Channel.SendMessageAsync($@"**__Help for:__ `{com.Text}`** +**Desc:** {com.Description} +**Usage:** {com.Summary}").ConfigureAwait(false); + } + + [LocalizedCommand, LocalizedDescription, LocalizedSummary] + [RequireContext(ContextType.Guild)] + public async Task Hgit(IMessage imsg) + { + var helpstr = new StringBuilder(); + + var lastModule = ""; + foreach (var com in _commands.Commands) + { + if (com.Module.Name != lastModule) + { + helpstr.AppendLine("\n### " + com.Module.Name + " "); + helpstr.AppendLine("Command and aliases | Description | Usage"); + helpstr.AppendLine("----------------|--------------|-------"); + lastModule = com.Module.Name; + } + //todo aliases + helpstr.AppendLine($"`{com.Text}` | {com.Description} | {com.Summary}"); + } + helpstr = helpstr.Replace((await NadekoBot.Client.GetCurrentUserAsync()).Username , "@BotName"); +#if DEBUG + File.WriteAllText("../../../docs/Commands List.md", helpstr.ToString()); +#else + File.WriteAllText("commandlist.md", helpstr.ToString()); +#endif + } + + [LocalizedCommand, LocalizedDescription, LocalizedSummary] + [RequireContext(ContextType.Guild)] + public async Task Guide(IMessage imsg) + { + var channel = imsg.Channel as IGuildChannel; + + await imsg.Channel.SendMessageAsync( +@"**LIST OF COMMANDS**: +**Hosting Guides and docs can be found here**: ").ConfigureAwait(false); + } + + [LocalizedCommand, LocalizedDescription, LocalizedSummary] + [RequireContext(ContextType.Guild)] + public async Task Donate(IMessage imsg) + { + var channel = imsg.Channel as IGuildChannel; + + await imsg.Channel.SendMessageAsync( +$@"You can support the 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. + +**Thank you** ♥️").ConfigureAwait(false); + } + } +} \ No newline at end of file diff --git a/src/NadekoBot/Modules/NSFW/NSFWModule.cs b/src/NadekoBot/Modules/NSFW/NSFWModule.cs index a91bc0bf..3e36374e 100644 --- a/src/NadekoBot/Modules/NSFW/NSFWModule.cs +++ b/src/NadekoBot/Modules/NSFW/NSFWModule.cs @@ -8,7 +8,6 @@ using System.Threading.Tasks; using NadekoBot.Services; using System.Net.Http; using System.Text.RegularExpressions; -using System.Collections.Generic; using System.Xml.Linq; namespace NadekoBot.Modules.NSFW @@ -16,9 +15,6 @@ namespace NadekoBot.Modules.NSFW [Module("~", AppendSpace = false)] public class NSFWModule : DiscordModule { - - private readonly Random rng = new Random(); - public NSFWModule(ILocalization loc, CommandService cmds, IBotConfiguration config, IDiscordClient client) : base(loc, cmds, config, client) { } @@ -117,7 +113,7 @@ namespace NadekoBot.Modules.NSFW JToken obj; using (var http = new HttpClient()) { - obj = JArray.Parse(await http.GetStringAsync($"http://api.oboobs.ru/boobs/{rng.Next(0, 9380)}").ConfigureAwait(false))[0]; + obj = JArray.Parse(await http.GetStringAsync($"http://api.oboobs.ru/boobs/{ new Random().Next(0, 9880) }").ConfigureAwait(false))[0]; } await imsg.Channel.SendMessageAsync($"http://media.oboobs.ru/{ obj["preview"].ToString() }").ConfigureAwait(false); } @@ -138,7 +134,7 @@ namespace NadekoBot.Modules.NSFW JToken obj; using (var http = new HttpClient()) { - obj = JArray.Parse(await http.GetStringAsync($"http://api.obutts.ru/butts/{rng.Next(0, 3373)}").ConfigureAwait(false))[0]; + obj = JArray.Parse(await http.GetStringAsync($"http://api.obutts.ru/butts/{ new Random().Next(0, 3873) }").ConfigureAwait(false))[0]; } await imsg.Channel.SendMessageAsync($"http://media.obutts.ru/{ obj["preview"].ToString() }").ConfigureAwait(false); } diff --git a/src/NadekoBot/Modules/Searches/Commands/IMDB/ImdbScraper.cs b/src/NadekoBot/Modules/Searches/Commands/IMDB/ImdbScraper.cs index 12b5dae6..b922d1a5 100644 --- a/src/NadekoBot/Modules/Searches/Commands/IMDB/ImdbScraper.cs +++ b/src/NadekoBot/Modules/Searches/Commands/IMDB/ImdbScraper.cs @@ -1,12 +1,8 @@ using NadekoBot.Modules.Searches.Commands.Models; using System; -using System.Collections; using System.Collections.Generic; -using System.IO; using System.Linq; -using System.Net; using System.Net.Http; -using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; diff --git a/src/NadekoBot/Modules/Searches/Commands/MemegenCommands.cs b/src/NadekoBot/Modules/Searches/Commands/MemegenCommands.cs index 9e77523a..9c253098 100644 --- a/src/NadekoBot/Modules/Searches/Commands/MemegenCommands.cs +++ b/src/NadekoBot/Modules/Searches/Commands/MemegenCommands.cs @@ -1,5 +1,4 @@ using Discord.Commands; -using NadekoBot.Classes; using Newtonsoft.Json; using System; using System.Collections.Generic; diff --git a/src/NadekoBot/Modules/Searches/Commands/Models/SearchPokemon.cs b/src/NadekoBot/Modules/Searches/Commands/Models/SearchPokemon.cs index 01123fa0..5bafd0d2 100644 --- a/src/NadekoBot/Modules/Searches/Commands/Models/SearchPokemon.cs +++ b/src/NadekoBot/Modules/Searches/Commands/Models/SearchPokemon.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System.Collections.Generic; namespace NadekoBot.Modules.Searches.Commands.Models { diff --git a/src/NadekoBot/Modules/Searches/Commands/Models/WikipediaApiModel.cs b/src/NadekoBot/Modules/Searches/Commands/Models/WikipediaApiModel.cs index eb07fe88..b064b1ca 100644 --- a/src/NadekoBot/Modules/Searches/Commands/Models/WikipediaApiModel.cs +++ b/src/NadekoBot/Modules/Searches/Commands/Models/WikipediaApiModel.cs @@ -1,9 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; - -namespace NadekoBot.Modules.Searches.Commands.Models +namespace NadekoBot.Modules.Searches.Commands.Models { public class WikipediaApiModel { diff --git a/src/NadekoBot/Modules/Searches/Commands/Models/WoWJoke.cs b/src/NadekoBot/Modules/Searches/Commands/Models/WoWJoke.cs index 30354b1c..590da6be 100644 --- a/src/NadekoBot/Modules/Searches/Commands/Models/WoWJoke.cs +++ b/src/NadekoBot/Modules/Searches/Commands/Models/WoWJoke.cs @@ -1,9 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; - -namespace NadekoBot.Modules.Searches.Commands.Models +namespace NadekoBot.Modules.Searches.Commands.Models { public class WoWJoke { diff --git a/src/NadekoBot/Modules/Searches/SearchesModule.cs b/src/NadekoBot/Modules/Searches/SearchesModule.cs index 927474dc..0d698220 100644 --- a/src/NadekoBot/Modules/Searches/SearchesModule.cs +++ b/src/NadekoBot/Modules/Searches/SearchesModule.cs @@ -4,19 +4,15 @@ using NadekoBot.Modules.Searches.Commands.IMDB; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; -using System.Collections.Generic; -using System.IO; using System.Linq; using System.Net.Http; using NadekoBot.Services; using System.Threading.Tasks; using NadekoBot.Attributes; using NadekoBot.Extensions; -using Discord.API; using System.Text.RegularExpressions; using System.Net; using NadekoBot.Modules.Searches.Commands.Models; -using Google.Apis.YouTube.v3; namespace NadekoBot.Modules.Searches { @@ -306,7 +302,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 http.DefaultRequestHeaders.Add("X-Mashape-Key", NadekoBot.Credentials.MashapeKey); res = await http.GetStringAsync($"https://tagdef.p.mashape.com/one.{Uri.EscapeUriString(arg)}.json").ConfigureAwait(false); } - + try { var items = JObject.Parse(res); @@ -355,7 +351,7 @@ $@"🌍 **Weather for** 【{obj["target"]}】 if (string.IsNullOrWhiteSpace(usrStr)) return; - var usr = (await channel.Guild.GetUsersAsync()).Where(u=>u.Username.ToUpperInvariant() == usrStr).FirstOrDefault(); + var usr = (await channel.Guild.GetUsersAsync()).Where(u => u.Username.ToUpperInvariant() == usrStr).FirstOrDefault(); if (usr == null || string.IsNullOrWhiteSpace(usr.AvatarUrl)) return; @@ -495,5 +491,4 @@ $@"🌍 **Weather for** 【{obj["target"]}】 return false; } } -} - +} \ No newline at end of file diff --git a/src/NadekoBot/Modules/Trello/TrelloModule.cs b/src/NadekoBot/Modules/Trello/TrelloModule.cs new file mode 100644 index 00000000..da52c749 --- /dev/null +++ b/src/NadekoBot/Modules/Trello/TrelloModule.cs @@ -0,0 +1,145 @@ +//using Discord.Modules; +//using Manatee.Trello; +//using Manatee.Trello.ManateeJson; +//using NadekoBot.Extensions; +//using NadekoBot.Modules.Permissions.Classes; +//using System; +//using System.Collections.Generic; +//using System.Linq; +//using System.Timers; +//using Action = Manatee.Trello.Action; +////todo rewrite +//namespace NadekoBot.Modules.Trello +//{ +// internal class TrelloModule : DiscordModule +// { +// private readonly Timer t = new Timer { Interval = 2000 }; +// public override string Prefix { get; } = NadekoBot.Config.CommandPrefixes.Trello; + +// public override void Install(ModuleManager manager) +// { + +// var client = manager.Client; + +// var serializer = new ManateeSerializer(); +// TrelloConfiguration.Serializer = serializer; +// TrelloConfiguration.Deserializer = serializer; +// TrelloConfiguration.JsonFactory = new ManateeFactory(); +// TrelloConfiguration.RestClientProvider = new Manatee.Trello.WebApi.WebApiClientProvider(); +// TrelloAuthorization.Default.AppKey = NadekoBot.Creds.TrelloAppKey; +// //TrelloAuthorization.Default.UserToken = "[your user token]"; + +// Discord.Channel bound = null; +// Board board = null; + +// List last5ActionIDs = null; +// t.Elapsed += async (s, e) => +// { +// try +// { +// if (board == null || bound == null) +// return; //do nothing if there is no bound board + +// board.Refresh(); +// var cur5Actions = board.Actions.Take(board.Actions.Count() < 5 ? board.Actions.Count() : 5); +// var cur5ActionsArray = cur5Actions as Action[] ?? cur5Actions.ToArray(); + +// if (last5ActionIDs == null) +// { +// last5ActionIDs = cur5ActionsArray.Select(a => a.Id).ToList(); +// return; +// } + +// foreach (var a in cur5ActionsArray.Where(ca => !last5ActionIDs.Contains(ca.Id))) +// { +// await bound.Send("**--TRELLO NOTIFICATION--**\n" + a.ToString()).ConfigureAwait(false); +// } +// last5ActionIDs.Clear(); +// last5ActionIDs.AddRange(cur5ActionsArray.Select(a => a.Id)); +// } +// catch (Exception ex) +// { +// Console.WriteLine("Timer failed " + ex.ToString()); +// } +// }; + +// manager.CreateCommands("", cgb => +// { + +// cgb.AddCheck(PermissionChecker.Instance); + +// cgb.CreateCommand(Prefix + "bind") +// .Description("Bind a trello bot to a single channel. " + +// "You will receive notifications from your board when something is added or edited." + +// $" **Bot Owner Only!**| `{Prefix}bind [board_id]`") +// .Parameter("board_id", Discord.Commands.ParameterType.Required) +// .Do(async e => +// { +// if (!NadekoBot.IsOwner(e.User.Id)) return; +// if (bound != null) return; +// try +// { +// bound = e.Channel; +// board = new Board(e.GetArg("board_id").Trim()); +// board.Refresh(); +// await imsg.Channel.SendMessageAsync("Successfully bound to this channel and board " + board.Name); +// t.Start(); +// } +// catch (Exception ex) +// { +// Console.WriteLine("Failed to join the board. " + ex.ToString()); +// } +// }); + +// cgb.CreateCommand(Prefix + "unbind") +// .Description($"Unbinds a bot from the channel and board. **Bot Owner Only!**| `{Prefix}unbind`") +// .Do(async e => +// { +// if (!NadekoBot.IsOwner(e.User.Id)) return; +// if (bound == null || bound != e.Channel) return; +// t.Stop(); +// bound = null; +// board = null; +// await imsg.Channel.SendMessageAsync("Successfully unbound trello from this channel.").ConfigureAwait(false); + +// }); + +// cgb.CreateCommand(Prefix + "lists") +// .Alias(Prefix + "list") +// .Description($"Lists all lists, yo ;) **Bot Owner Only!**| `{Prefix}list`") +// .Do(async e => +// { +// if (!NadekoBot.IsOwner(e.User.Id)) return; +// if (bound == null || board == null || bound != e.Channel) return; +// await imsg.Channel.SendMessageAsync("Lists for a board '" + board.Name + "'\n" + string.Join("\n", board.Lists.Select(l => "**• " + l.ToString() + "**"))) +// .ConfigureAwait(false); +// }); + +// cgb.CreateCommand(Prefix + "cards") +// .Description($"Lists all cards from the supplied list. You can supply either a name or an index. **Bot Owner Only!**| `{Prefix}cards index`") +// .Parameter("list_name", Discord.Commands.ParameterType.Unparsed) +// .Do(async e => +// { +// if (!NadekoBot.IsOwner(e.User.Id)) return; +// if (bound == null || board == null || bound != e.Channel || e.GetArg("list_name") == null) return; + +// int num; +// var success = int.TryParse(e.GetArg("list_name"), out num); +// List list = null; +// if (success && num <= board.Lists.Count() && num > 0) +// list = board.Lists[num - 1]; +// else +// list = board.Lists.FirstOrDefault(l => l.Name == e.GetArg("list_name")); + + +// if (list != null) +// await imsg.Channel.SendMessageAsync("There are " + list.Cards.Count() + " cards in a **" + list.Name + "** list\n" + string.Join("\n", list.Cards.Select(c => "**• " + c.ToString() + "**"))) +// .ConfigureAwait(false); +// else +// await imsg.Channel.SendMessageAsync("No such list.") +// .ConfigureAwait(false); +// }); +// }); +// } +// } +//} diff --git a/src/NadekoBot/NadekoBot.cs b/src/NadekoBot/NadekoBot.cs index a315cf34..2995215f 100644 --- a/src/NadekoBot/NadekoBot.cs +++ b/src/NadekoBot/NadekoBot.cs @@ -1,11 +1,9 @@ using Discord; using Discord.Commands; using Discord.WebSocket; -using NadekoBot.Modules.Utility; using NadekoBot.Services; using NadekoBot.Services.Impl; using System; -using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Threading.Tasks; diff --git a/src/NadekoBot/Properties/AssemblyInfo.cs b/src/NadekoBot/Properties/AssemblyInfo.cs index f3f55757..7f939e99 100644 --- a/src/NadekoBot/Properties/AssemblyInfo.cs +++ b/src/NadekoBot/Properties/AssemblyInfo.cs @@ -1,5 +1,4 @@ using System.Reflection; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following diff --git a/src/NadekoBot/Resources/CommandStrings.Designer.cs b/src/NadekoBot/Resources/CommandStrings.Designer.cs index e3fe9537..c1790e81 100644 --- a/src/NadekoBot/Resources/CommandStrings.Designer.cs +++ b/src/NadekoBot/Resources/CommandStrings.Designer.cs @@ -2759,6 +2759,33 @@ namespace NadekoBot.Resources { } } + /// + /// Looks up a localized string similar to Sends a readme and a guide links to the channel.. + /// + public static string guide_desc { + get { + return ResourceManager.GetString("guide_desc", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to `-readme` or `-guide`. + /// + public static string guide_summary { + get { + return ResourceManager.GetString("guide_summary", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to readme. + /// + public static string guide_text { + get { + return ResourceManager.GetString("guide_text", resourceCulture); + } + } + /// /// 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.. /// @@ -4892,33 +4919,6 @@ namespace NadekoBot.Resources { } } - /// - /// Looks up a localized string similar to Sends a readme and a guide links to the channel.. - /// - public static string readme_desc { - get { - return ResourceManager.GetString("readme_desc", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to `-readme` or `-guide`. - /// - public static string readme_summary { - get { - return ResourceManager.GetString("readme_summary", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to readme. - /// - public static string readme_text { - get { - return ResourceManager.GetString("readme_text", resourceCulture); - } - } - /// /// Looks up a localized string similar to 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.. /// diff --git a/src/NadekoBot/Resources/CommandStrings.resx b/src/NadekoBot/Resources/CommandStrings.resx index 0f76b053..10d9f8e2 100644 --- a/src/NadekoBot/Resources/CommandStrings.resx +++ b/src/NadekoBot/Resources/CommandStrings.resx @@ -135,15 +135,6 @@ `-hgit` - - readme - - - Sends a readme and a guide links to the channel. - - - `-readme` or `-guide` - donate @@ -2619,4 +2610,13 @@ `trello cards index` + + Sends a readme and a guide links to the channel. + + + `-readme` or `-guide` + + + readme + \ No newline at end of file diff --git a/src/NadekoBot/Services/IBotConfiguration.cs b/src/NadekoBot/Services/IBotConfiguration.cs index 27deda7c..4b6a9898 100644 --- a/src/NadekoBot/Services/IBotConfiguration.cs +++ b/src/NadekoBot/Services/IBotConfiguration.cs @@ -1,8 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +using System.Collections.Generic; namespace NadekoBot.Services { diff --git a/src/NadekoBot/Services/IBotCredentials.cs b/src/NadekoBot/Services/IBotCredentials.cs index efd3c9db..33d8c3d2 100644 --- a/src/NadekoBot/Services/IBotCredentials.cs +++ b/src/NadekoBot/Services/IBotCredentials.cs @@ -1,14 +1,10 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace NadekoBot.Services +namespace NadekoBot.Services { public interface IBotCredentials { + string ClientId { get; } string Token { get; } string GoogleApiKey { get; } + } } diff --git a/src/NadekoBot/Services/ILocalization.cs b/src/NadekoBot/Services/ILocalization.cs index 9b18f0a7..892278da 100644 --- a/src/NadekoBot/Services/ILocalization.cs +++ b/src/NadekoBot/Services/ILocalization.cs @@ -1,10 +1,4 @@ -using System; -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; - -namespace NadekoBot.Services +namespace NadekoBot.Services { public interface ILocalization { diff --git a/src/NadekoBot/Services/IYoutubeService.cs b/src/NadekoBot/Services/IYoutubeService.cs index 3e49f0fa..bf511f00 100644 --- a/src/NadekoBot/Services/IYoutubeService.cs +++ b/src/NadekoBot/Services/IYoutubeService.cs @@ -1,6 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; +using System.Collections.Generic; using System.Threading.Tasks; namespace NadekoBot.Services diff --git a/src/NadekoBot/Services/Impl/BotConfiguration.cs b/src/NadekoBot/Services/Impl/BotConfiguration.cs index e25338c5..8d6c17b0 100644 --- a/src/NadekoBot/Services/Impl/BotConfiguration.cs +++ b/src/NadekoBot/Services/Impl/BotConfiguration.cs @@ -1,7 +1,4 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; +using System.Collections.Generic; using System.Threading.Tasks; namespace NadekoBot.Services.Impl diff --git a/src/NadekoBot/Services/Impl/BotCredentials.cs b/src/NadekoBot/Services/Impl/BotCredentials.cs index bb67b907..0ef1c6a2 100644 --- a/src/NadekoBot/Services/Impl/BotCredentials.cs +++ b/src/NadekoBot/Services/Impl/BotCredentials.cs @@ -1,20 +1,19 @@ using System; using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace NadekoBot.Services.Impl { public class BotCredentials : IBotCredentials { + public string ClientId { get; } + public string GoogleApiKey { get { throw new NotImplementedException(); } } - public IEnumerable MashapeKey { get; internal set; } + public IEnumerable MashapeKey { get; } public string Token { get { diff --git a/src/NadekoBot/Services/Impl/Localization.cs b/src/NadekoBot/Services/Impl/Localization.cs index 3d36e0da..719274b6 100644 --- a/src/NadekoBot/Services/Impl/Localization.cs +++ b/src/NadekoBot/Services/Impl/Localization.cs @@ -1,9 +1,4 @@ using System; -using System.Collections; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Resources; namespace NadekoBot.Services { diff --git a/src/NadekoBot/Services/Impl/YoutubeService.cs b/src/NadekoBot/Services/Impl/YoutubeService.cs index fba52274..31655950 100644 --- a/src/NadekoBot/Services/Impl/YoutubeService.cs +++ b/src/NadekoBot/Services/Impl/YoutubeService.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Text; using System.Threading.Tasks; using Google.Apis.YouTube.v3; using Google.Apis.Services; diff --git a/src/NadekoBot/_Extensions/Extensions.cs b/src/NadekoBot/_Extensions/Extensions.cs index 982f8b14..c8da875f 100644 --- a/src/NadekoBot/_Extensions/Extensions.cs +++ b/src/NadekoBot/_Extensions/Extensions.cs @@ -50,15 +50,20 @@ namespace NadekoBot.Extensions return list.ToArray(); } - public static Task SendTableAsync(this IMessageChannel ch, IEnumerable items, Func howToPrint, int columns = 3) + public static Task SendTableAsync(this IMessageChannel ch, string seed, IEnumerable items, Func howToPrint, int columns = 3) { var i = 0; - return ch.SendMessageAsync($@"```xl + return ch.SendMessageAsync($@"{seed}```xl {string.Join("\n", items.GroupBy(item => (i++) / columns) .Select(ig => string.Concat(ig.Select(el => howToPrint(el)))))} ```"); } + public static Task SendTableAsync(this IMessageChannel ch, IEnumerable items, Func howToPrint, int columns = 3) + { + return ch.SendTableAsync("", items, howToPrint, columns); + } + public static async Task ShortenUrl(this string url) { if (string.IsNullOrWhiteSpace(NadekoBot.Credentials.GoogleApiKey)) return url; diff --git a/src/NadekoBot/_Modules/Help/Commands/HelpCommand.cs b/src/NadekoBot/_Modules/Help/Commands/HelpCommand.cs deleted file mode 100644 index 2d396866..00000000 --- a/src/NadekoBot/_Modules/Help/Commands/HelpCommand.cs +++ /dev/null @@ -1,127 +0,0 @@ -using Discord.Commands; -using NadekoBot.Extensions; -using NadekoBot.Modules; -using NadekoBot.Modules.Permissions.Classes; -using System; -using System.IO; -using System.Linq; -using System.Text.RegularExpressions; -using System.Threading.Tasks; - -namespace NadekoBot.Classes.Help.Commands -{ - internal class HelpCommand : DiscordCommand - { - public Func HelpFunc() => async e => - { - var comToFind = e.GetArg("command")?.ToLowerInvariant(); - if (string.IsNullOrWhiteSpace(comToFind)) - { - await e.User.Send(HelpString).ConfigureAwait(false); - return; - } - await Task.Run(async () => - { - var com = NadekoBot.Client.GetService().AllCommands - .FirstOrDefault(c => c.Text.ToLowerInvariant().Equals(comToFind) || - c.Aliases.Select(a => a.ToLowerInvariant()).Contains(comToFind)); - - var str = ""; - var alias = com.Aliases.FirstOrDefault(); - if (alias != null) - str = $" / `{ com.Aliases.FirstOrDefault()}`"; - if (com != null) - await imsg.Channel.SendMessageAsync($@"**__Help for:__ `{com.Text}`**" + str + $"\n**Desc:** {new Regex(@"\|").Replace(com.Description, "\n**Usage:**", 1)}").ConfigureAwait(false); - }).ConfigureAwait(false); - }; - public static string HelpString { - get { - var str = !string.IsNullOrWhiteSpace(NadekoBot.Creds.ClientId) && !NadekoBot.Config.DontJoinServers - ? String.Format("To add me to your server, use this link -> \n", NadekoBot.Creds.ClientId) - : ""; - return str + String.Format(NadekoBot.Config.HelpString, NadekoBot.Config.CommandPrefixes.Help); - } - } - - public static string DMHelpString => NadekoBot.Config.DMHelpString; - - public Action DoGitFunc() => e => - { - string helpstr = -$@"######For more information and how to setup your own NadekoBot, go to: -######You can donate on patreon: -######or paypal: `nadekodiscordbot@gmail.com` - -#NadekoBot List Of Commands "; - - - string lastCategory = ""; - foreach (var com in NadekoBot.Client.GetService().AllCommands) - { - if (com.Category != lastCategory) - { - helpstr += "\n### " + com.Category + " \n"; - helpstr += "Command and aliases | Description | Usage\n"; - helpstr += "----------------|--------------|-------\n"; - lastCategory = com.Category; - } - helpstr += PrintCommandHelp(com); - } - helpstr = helpstr.Replace(NadekoBot.BotMention, "@BotName"); - helpstr = helpstr.Replace(" |", " | ").Replace("**Usage**:", " | ").Replace("**Description:**", " | ").Replace("\n|", " | \n"); -#if DEBUG - File.WriteAllText("../../../commandlist.md", helpstr); -#else - File.WriteAllText("commandlist.md", helpstr); -#endif - }; - - internal override void Init(CommandGroupBuilder cgb) - { - cgb.CreateCommand(Module.Prefix + "h") - .Alias(Module.Prefix + "help", NadekoBot.BotMention + " help", NadekoBot.BotMention + " h", "~h") - .Description($"Either shows a help for a single command, or PMs you help link if no arguments are specified. | `{Prefix}h !m q` or just `{Prefix}h` ") - .Parameter("command", ParameterType.Unparsed) - .Do(HelpFunc()); - cgb.CreateCommand(Module.Prefix + "hgit") - .Description($"Generates the commandlist.md file. **Bot Owner Only!** | `{Prefix}hgit`") - .AddCheck(SimpleCheckers.OwnerOnly()) - .Do(DoGitFunc()); - cgb.CreateCommand(Module.Prefix + "readme") - .Alias(Module.Prefix + "guide") - .Description($"Sends a readme and a guide links to the channel. | `{Prefix}readme` or `{Prefix}guide`") - .Do(async e => - await imsg.Channel.SendMessageAsync( -@"**Wiki with all info**: - -**WINDOWS SETUP GUIDE**: - -**LINUX SETUP GUIDE**: - -**LIST OF COMMANDS**: ").ConfigureAwait(false)); - - cgb.CreateCommand(Module.Prefix + "donate") - .Alias("~donate") - .Description($"Instructions for helping the project! | `{Prefix}donate` or `~donate`") - .Do(async e => - { - await imsg.Channel.SendMessageAsync( -$@"You can support the 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. - -**Thank you** ♥️").ConfigureAwait(false); - }); - } - - private static string PrintCommandHelp(Command com) - { - var str = "`" + com.Text + "`"; - str = com.Aliases.Aggregate(str, (current, a) => current + (", `" + a + "`")); - str += " **Description:** " + com.Description + "\n"; - return str; - } - - public HelpCommand(DiscordModule module) : base(module) { } - } -} diff --git a/src/NadekoBot/_Modules/Help/HelpModule.cs b/src/NadekoBot/_Modules/Help/HelpModule.cs deleted file mode 100644 index 88adae4c..00000000 --- a/src/NadekoBot/_Modules/Help/HelpModule.cs +++ /dev/null @@ -1,73 +0,0 @@ -using Discord.Commands; -using Discord.Modules; -using NadekoBot.Classes; -using NadekoBot.Classes.Help.Commands; -using NadekoBot.Extensions; -using NadekoBot.Modules.Permissions.Classes; -using System.Linq; - -namespace NadekoBot.Modules.Help -{ - internal class HelpModule : DiscordModule - { - - public HelpModule() - { - commands.Add(new HelpCommand(this)); - } - - public override string Prefix { get; } = NadekoBot.Config.CommandPrefixes.Help; - - - - public override void Install(ModuleManager manager) - { - manager.CreateCommands("", cgb => - { - cgb.AddCheck(PermissionChecker.Instance); - commands.ForEach(com => com.Init(cgb)); - - cgb.CreateCommand(Prefix + "modules") - .Alias(".modules") - .Description($"List all bot modules. | `{Prefix}modules` or `.modules`") - .Do(async e => - { - await imsg.Channel.SendMessageAsync("`List of modules:` \n• " + string.Join("\n• ", NadekoBot.Client.GetService().Modules.Select(m => m.Name)) + $"\n`Type \"{Prefix}commands module_name\" to get a list of commands in that module.`") - .ConfigureAwait(false); - }); - - cgb.CreateCommand(Prefix + "commands") - .Alias(".commands") - .Description($"List all of the bot's commands from a certain module. | `{Prefix}commands` or `.commands`") - .Parameter("module", ParameterType.Unparsed) - .Do(async e => - { - var module = e.GetArg("module")?.Trim().ToLower(); - if (string.IsNullOrWhiteSpace(module)) - return; - var cmds = NadekoBot.Client.GetService().AllCommands - .Where(c => c.Category.ToLower() == module) - .OrderBy(c=>c.Text) - .AsEnumerable(); - var cmdsArray = cmds as Command[] ?? cmds.ToArray(); - if (!cmdsArray.Any()) - { - await imsg.Channel.SendMessageAsync("That module does not exist.").ConfigureAwait(false); - return; - } - if (module != "customreactions" && module != "conversations") - { - await imsg.Channel.SendMessageAsync("`List Of Commands:`\n" + SearchHelper.ShowInPrettyCode(cmdsArray, - el => $"{el.Text,-15}{"[" + el.Aliases.FirstOrDefault() + "]",-8}")) - .ConfigureAwait(false); - } - else - { - await imsg.Channel.SendMessageAsync("`List Of Commands:`\n• " + string.Join("\n• ", cmdsArray.Select(c => $"{c.Text}"))); - } - await imsg.Channel.SendMessageAsync($"`You can type \"{Prefix}h command_name\" to see the help about that specific command.`").ConfigureAwait(false); - }); - }); - } - } -} diff --git a/src/NadekoBot/_Modules/Trello/TrelloModule.cs b/src/NadekoBot/_Modules/Trello/TrelloModule.cs deleted file mode 100644 index 9a2622e4..00000000 --- a/src/NadekoBot/_Modules/Trello/TrelloModule.cs +++ /dev/null @@ -1,145 +0,0 @@ -using Discord.Modules; -using Manatee.Trello; -using Manatee.Trello.ManateeJson; -using NadekoBot.Extensions; -using NadekoBot.Modules.Permissions.Classes; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Timers; -using Action = Manatee.Trello.Action; - -namespace NadekoBot.Modules.Trello -{ - internal class TrelloModule : DiscordModule - { - private readonly Timer t = new Timer { Interval = 2000 }; - public override string Prefix { get; } = NadekoBot.Config.CommandPrefixes.Trello; - - public override void Install(ModuleManager manager) - { - - var client = manager.Client; - - var serializer = new ManateeSerializer(); - TrelloConfiguration.Serializer = serializer; - TrelloConfiguration.Deserializer = serializer; - TrelloConfiguration.JsonFactory = new ManateeFactory(); - TrelloConfiguration.RestClientProvider = new Manatee.Trello.WebApi.WebApiClientProvider(); - TrelloAuthorization.Default.AppKey = NadekoBot.Creds.TrelloAppKey; - //TrelloAuthorization.Default.UserToken = "[your user token]"; - - Discord.Channel bound = null; - Board board = null; - - List last5ActionIDs = null; - t.Elapsed += async (s, e) => - { - try - { - if (board == null || bound == null) - return; //do nothing if there is no bound board - - board.Refresh(); - var cur5Actions = board.Actions.Take(board.Actions.Count() < 5 ? board.Actions.Count() : 5); - var cur5ActionsArray = cur5Actions as Action[] ?? cur5Actions.ToArray(); - - if (last5ActionIDs == null) - { - last5ActionIDs = cur5ActionsArray.Select(a => a.Id).ToList(); - return; - } - - foreach (var a in cur5ActionsArray.Where(ca => !last5ActionIDs.Contains(ca.Id))) - { - await bound.Send("**--TRELLO NOTIFICATION--**\n" + a.ToString()).ConfigureAwait(false); - } - last5ActionIDs.Clear(); - last5ActionIDs.AddRange(cur5ActionsArray.Select(a => a.Id)); - } - catch (Exception ex) - { - Console.WriteLine("Timer failed " + ex.ToString()); - } - }; - - manager.CreateCommands("", cgb => - { - - cgb.AddCheck(PermissionChecker.Instance); - - cgb.CreateCommand(Prefix + "bind") - .Description("Bind a trello bot to a single channel. " + - "You will receive notifications from your board when something is added or edited." + - $" **Bot Owner Only!**| `{Prefix}bind [board_id]`") - .Parameter("board_id", Discord.Commands.ParameterType.Required) - .Do(async e => - { - if (!NadekoBot.IsOwner(e.User.Id)) return; - if (bound != null) return; - try - { - bound = e.Channel; - board = new Board(e.GetArg("board_id").Trim()); - board.Refresh(); - await imsg.Channel.SendMessageAsync("Successfully bound to this channel and board " + board.Name); - t.Start(); - } - catch (Exception ex) - { - Console.WriteLine("Failed to join the board. " + ex.ToString()); - } - }); - - cgb.CreateCommand(Prefix + "unbind") - .Description($"Unbinds a bot from the channel and board. **Bot Owner Only!**| `{Prefix}unbind`") - .Do(async e => - { - if (!NadekoBot.IsOwner(e.User.Id)) return; - if (bound == null || bound != e.Channel) return; - t.Stop(); - bound = null; - board = null; - await imsg.Channel.SendMessageAsync("Successfully unbound trello from this channel.").ConfigureAwait(false); - - }); - - cgb.CreateCommand(Prefix + "lists") - .Alias(Prefix + "list") - .Description($"Lists all lists, yo ;) **Bot Owner Only!**| `{Prefix}list`") - .Do(async e => - { - if (!NadekoBot.IsOwner(e.User.Id)) return; - if (bound == null || board == null || bound != e.Channel) return; - await imsg.Channel.SendMessageAsync("Lists for a board '" + board.Name + "'\n" + string.Join("\n", board.Lists.Select(l => "**• " + l.ToString() + "**"))) - .ConfigureAwait(false); - }); - - cgb.CreateCommand(Prefix + "cards") - .Description($"Lists all cards from the supplied list. You can supply either a name or an index. **Bot Owner Only!**| `{Prefix}cards index`") - .Parameter("list_name", Discord.Commands.ParameterType.Unparsed) - .Do(async e => - { - if (!NadekoBot.IsOwner(e.User.Id)) return; - if (bound == null || board == null || bound != e.Channel || e.GetArg("list_name") == null) return; - - int num; - var success = int.TryParse(e.GetArg("list_name"), out num); - List list = null; - if (success && num <= board.Lists.Count() && num > 0) - list = board.Lists[num - 1]; - else - list = board.Lists.FirstOrDefault(l => l.Name == e.GetArg("list_name")); - - - if (list != null) - await imsg.Channel.SendMessageAsync("There are " + list.Cards.Count() + " cards in a **" + list.Name + "** list\n" + string.Join("\n", list.Cards.Select(c => "**• " + c.ToString() + "**"))) - .ConfigureAwait(false); - else - await imsg.Channel.SendMessageAsync("No such list.") - .ConfigureAwait(false); - }); - }); - } - } -} diff --git a/src/NadekoBot/bin/Debug/netcoreapp1.0/Discord.Net.Commands.dll b/src/NadekoBot/bin/Debug/netcoreapp1.0/Discord.Net.Commands.dll deleted file mode 100644 index ff977cfc..00000000 Binary files a/src/NadekoBot/bin/Debug/netcoreapp1.0/Discord.Net.Commands.dll and /dev/null differ diff --git a/src/NadekoBot/bin/Debug/netcoreapp1.0/Discord.Net.Commands.pdb b/src/NadekoBot/bin/Debug/netcoreapp1.0/Discord.Net.Commands.pdb deleted file mode 100644 index 5714ebba..00000000 Binary files a/src/NadekoBot/bin/Debug/netcoreapp1.0/Discord.Net.Commands.pdb and /dev/null differ diff --git a/src/NadekoBot/bin/Debug/netcoreapp1.0/Discord.Net.Commands.xml b/src/NadekoBot/bin/Debug/netcoreapp1.0/Discord.Net.Commands.xml deleted file mode 100644 index 0c38bcc6..00000000 --- a/src/NadekoBot/bin/Debug/netcoreapp1.0/Discord.Net.Commands.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - Discord.Net.Commands - - - - diff --git a/src/NadekoBot/bin/Debug/netcoreapp1.0/Discord.Net.dll b/src/NadekoBot/bin/Debug/netcoreapp1.0/Discord.Net.dll deleted file mode 100644 index 6c092ad8..00000000 Binary files a/src/NadekoBot/bin/Debug/netcoreapp1.0/Discord.Net.dll and /dev/null differ diff --git a/src/NadekoBot/bin/Debug/netcoreapp1.0/Discord.Net.pdb b/src/NadekoBot/bin/Debug/netcoreapp1.0/Discord.Net.pdb deleted file mode 100644 index ee65f8ec..00000000 Binary files a/src/NadekoBot/bin/Debug/netcoreapp1.0/Discord.Net.pdb and /dev/null differ diff --git a/src/NadekoBot/bin/Debug/netcoreapp1.0/Discord.Net.xml b/src/NadekoBot/bin/Debug/netcoreapp1.0/Discord.Net.xml deleted file mode 100644 index 7f12ec11..00000000 --- a/src/NadekoBot/bin/Debug/netcoreapp1.0/Discord.Net.xml +++ /dev/null @@ -1,1112 +0,0 @@ - - - - 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. - - - 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. - - - Gets the time of this message's last edit, if any. - - - 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 type of this message. - - - 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. - - - 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 things like mentions to that object's name. - - - Transforms this message's text into a human readable form, resolving things like 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 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 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 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 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 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 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 if 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 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. - Decreasing this may reduce CPU usage while increasing login time and network usage. - - - - 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/NadekoBot/bin/Debug/netcoreapp1.0/NadekoBot.deps.json b/src/NadekoBot/bin/Debug/netcoreapp1.0/NadekoBot.deps.json deleted file mode 100644 index 51efd2bc..00000000 --- a/src/NadekoBot/bin/Debug/netcoreapp1.0/NadekoBot.deps.json +++ /dev/null @@ -1,163 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETCoreApp,Version=v1.0", - "signature": "52eb77cc5a8d5f8cf4a40bc5cbf2392e380f956a" - }, - "compilationOptions": {}, - "targets": { - ".NETCoreApp,Version=v1.0": { - "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": "1.0.0-dev", - "Discord.Net.Commands": "1.0.0-dev", - "System.Resources.ResourceWriter": "4.0.0-beta-22816" - }, - "runtime": { - "NadekoBot.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.PlatformAbstractions/1.0.0": { - "runtime": { - "lib/netstandard1.3/Microsoft.Extensions.PlatformAbstractions.dll": {} - } - }, - "Microsoft.NETCore.Platforms/1.0.2-beta-24410-01": {}, - "Newtonsoft.Json/9.0.1": { - "dependencies": { - "System.Runtime.Serialization.Primitives": "4.1.1" - }, - "runtime": { - "lib/netstandard1.0/Newtonsoft.Json.dll": {} - } - }, - "System.Net.WebSockets/4.0.0": { - "runtime": { - "lib/netstandard1.3/System.Net.WebSockets.dll": {} - } - }, - "System.Net.WebSockets.Client/4.0.1-beta-24410-01": { - "dependencies": { - "Microsoft.NETCore.Platforms": "1.0.2-beta-24410-01", - "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.Resources.ResourceWriter/4.0.0-beta-22816": { - "runtime": { - "lib/aspnetcore50/System.Resources.ResourceWriter.dll": {} - } - }, - "System.Runtime.Serialization.Primitives/4.1.1": { - "runtime": { - "lib/netstandard1.3/System.Runtime.Serialization.Primitives.dll": {} - } - }, - "Discord.Net/1.0.0-dev": { - "dependencies": { - "Newtonsoft.Json": "9.0.1", - "System.Net.WebSockets.Client": "4.0.1-beta-24410-01", - "System.Runtime.Serialization.Primitives": "4.1.1" - }, - "runtime": { - "Discord.Net.dll": {} - } - }, - "Discord.Net.Commands/1.0.0-dev": { - "dependencies": { - "Discord.Net": "1.0.0-dev" - }, - "runtime": { - "Discord.Net.Commands.dll": {} - } - } - } - }, - "libraries": { - "NadekoBot/1.0.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "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.PlatformAbstractions/1.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-zyjUzrOmuevOAJpIo3Mt5GmpALVYCVdLZ99keMbmCxxgQH7oxzU58kGHzE6hAgYEiWsdfMJLjVR7r+vSmaJmtg==" - }, - "Microsoft.NETCore.Platforms/1.0.2-beta-24410-01": { - "type": "package", - "serviceable": true, - "sha512": "sha512-uc/pGYdE4sVy3OovFF8hg79MvCxptzICxn0jdA6WusGWZa7VieqFoZYc+a6bHUVhMI0s/7SfBriux0RUq+PpbA==" - }, - "Newtonsoft.Json/9.0.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-U82mHQSKaIk+lpSVCbWYKNavmNH1i5xrExDEquU1i6I5pV6UMOqRnJRSlKO3cMPfcpp0RgDY+8jUXHdQ4IfXvw==" - }, - "System.Net.WebSockets/4.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-2KJo8hir6Edi9jnMDAMhiJoI691xRBmKcbNpwjrvpIMOCTYOtBpSsSEGBxBDV7PKbasJNaFp1+PZz1D7xS41Hg==" - }, - "System.Net.WebSockets.Client/4.0.1-beta-24410-01": { - "type": "package", - "serviceable": true, - "sha512": "sha512-IOqAcR7k+3LwNI6aL7qN61HcCOA9X4MM9LbrZhDeNbeB/IeWTk7zpeb7kh3d7H678s7ndIqN6a7okO8dAAfcYQ==" - }, - "System.Resources.ResourceWriter/4.0.0-beta-22816": { - "type": "package", - "serviceable": true, - "sha512": "sha512-Q6wpzkZjop1J+WJXl9H0OgXQvxDQxMkqA43AVENNW4SlTzIT8rFW7tum54xYZy3QCMKK8gIfOnVqA6VbgXRq1Q==" - }, - "System.Runtime.Serialization.Primitives/4.1.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-HZ6Du5QrTG8MNJbf4e4qMO3JRAkIboGT5Fk804uZtg3Gq516S7hAqTm2UZKUHa7/6HUGdVy3AqMQKbns06G/cg==" - }, - "Discord.Net/1.0.0-dev": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "Discord.Net.Commands/1.0.0-dev": { - "type": "project", - "serviceable": false, - "sha512": "" - } - } -} \ No newline at end of file diff --git a/src/NadekoBot/bin/Debug/netcoreapp1.0/NadekoBot.dll b/src/NadekoBot/bin/Debug/netcoreapp1.0/NadekoBot.dll deleted file mode 100644 index 73139e28..00000000 Binary files a/src/NadekoBot/bin/Debug/netcoreapp1.0/NadekoBot.dll and /dev/null differ diff --git a/src/NadekoBot/bin/Debug/netcoreapp1.0/NadekoBot.pdb b/src/NadekoBot/bin/Debug/netcoreapp1.0/NadekoBot.pdb deleted file mode 100644 index 5fc37e87..00000000 Binary files a/src/NadekoBot/bin/Debug/netcoreapp1.0/NadekoBot.pdb and /dev/null differ diff --git a/src/NadekoBot/bin/Debug/netcoreapp1.0/NadekoBot.runtimeconfig.dev.json b/src/NadekoBot/bin/Debug/netcoreapp1.0/NadekoBot.runtimeconfig.dev.json deleted file mode 100644 index 36715434..00000000 --- a/src/NadekoBot/bin/Debug/netcoreapp1.0/NadekoBot.runtimeconfig.dev.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "runtimeOptions": { - "additionalProbingPaths": [ - "C:\\Users\\Kwoth\\.nuget\\packages" - ] - } -} \ No newline at end of file diff --git a/src/NadekoBot/bin/Debug/netcoreapp1.0/NadekoBot.runtimeconfig.json b/src/NadekoBot/bin/Debug/netcoreapp1.0/NadekoBot.runtimeconfig.json deleted file mode 100644 index 887e9dd9..00000000 --- a/src/NadekoBot/bin/Debug/netcoreapp1.0/NadekoBot.runtimeconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "runtimeOptions": { - "framework": { - "name": "Microsoft.NETCore.App", - "version": "1.0.0" - } - } -} \ No newline at end of file diff --git a/src/NadekoBot/bin/Debug/netcoreapp1.0/Strings.resx b/src/NadekoBot/bin/Debug/netcoreapp1.0/Strings.resx deleted file mode 100644 index 0ec6108d..00000000 --- a/src/NadekoBot/bin/Debug/netcoreapp1.0/Strings.resx +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 1 - 1 - - - 2 - 3 - - \ No newline at end of file