From fbf06ede237d5c4844a399b8ee6f446d824c6934 Mon Sep 17 00:00:00 2001 From: Kwoth Date: Wed, 5 Oct 2016 05:09:44 +0200 Subject: [PATCH] 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