From d0ecfc7928824deb81f460fabba08249accc583e Mon Sep 17 00:00:00 2001 From: Octol1ttle Date: Wed, 17 May 2023 00:18:12 +0500 Subject: [PATCH] =?UTF-8?q?Remora.Discord=20part=202=20out=20of=20?= =?UTF-8?q?=E2=88=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Octol1ttle --- Boyfriend.cs | 35 +- Boyfriend.csproj | 9 + EventResponders.cs | 102 ++- Extensions.cs | 52 +- Messages.Designer.cs | 1691 +++++++++++++++++------------------------- Messages.resx | 67 +- Messages.ru.resx | 73 +- Messages.tt-ru.resx | 75 +- 8 files changed, 946 insertions(+), 1158 deletions(-) diff --git a/Boyfriend.cs b/Boyfriend.cs index de0a7f7..6c1e2a5 100644 --- a/Boyfriend.cs +++ b/Boyfriend.cs @@ -1,13 +1,16 @@ -using System.Reflection; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; +using Remora.Discord.API.Abstractions.Gateway.Commands; using Remora.Discord.API.Abstractions.Objects; +using Remora.Discord.API.Objects; using Remora.Discord.Caching.Extensions; using Remora.Discord.Caching.Services; +using Remora.Discord.Gateway; using Remora.Discord.Gateway.Extensions; using Remora.Discord.Hosting.Extensions; +using Remora.Rest.Core; namespace Boyfriend; @@ -15,7 +18,8 @@ public class Boyfriend { public static ILogger Logger = null!; public static IConfiguration GuildConfiguration = null!; - private static readonly Dictionary ReflectionMessageCache = new(); + public static readonly AllowedMentions NoMentions = new( + Array.Empty(), Array.Empty(), Array.Empty()); public static async Task Main(string[] args) { var host = CreateHostBuilder(args).UseConsoleLifetime().Build(); @@ -48,9 +52,17 @@ public class Boyfriend { services.AddDiscordCaching(); services.Configure( - settings => { settings.SetAbsoluteExpiration(TimeSpan.FromDays(7)); }); + settings => { + settings.SetDefaultAbsoluteExpiration(TimeSpan.FromHours(1)); + settings.SetDefaultSlidingExpiration(TimeSpan.FromMinutes(30)); + settings.SetAbsoluteExpiration(TimeSpan.FromDays(7)); + settings.SetSlidingExpiration(TimeSpan.FromDays(7)); + }); - services.AddSingleton(); + services.AddTransient(); + + services.Configure( + options => options.Intents |= GatewayIntents.MessageContents); } ).ConfigureLogging( c => c.AddConsole() @@ -60,19 +72,6 @@ public class Boyfriend { } public static string GetLocalized(string key) { - var propertyName = key; - key = $"{Messages.Culture}/{key}"; - if (ReflectionMessageCache.TryGetValue(key, out var cached)) return cached; - - var toReturn = - typeof(Messages).GetProperty(propertyName, BindingFlags.NonPublic | BindingFlags.Static)?.GetValue(null) - ?.ToString(); - if (toReturn is null) { - Logger.LogError("Could not find localized property: {Name}", propertyName); - return key; - } - - ReflectionMessageCache.Add(key, toReturn); - return toReturn; + return Messages.ResourceManager.GetString(key, Messages.Culture) ?? key; } } diff --git a/Boyfriend.csproj b/Boyfriend.csproj index 9aff7e3..e7aa859 100644 --- a/Boyfriend.csproj +++ b/Boyfriend.csproj @@ -26,10 +26,19 @@ + + True + True + Messages.resx + + + ResXFileCodeGenerator + Messages.Designer.cs + diff --git a/EventResponders.cs b/EventResponders.cs index 767472b..c41e4f1 100644 --- a/EventResponders.cs +++ b/EventResponders.cs @@ -1,31 +1,121 @@ +using System.Drawing; +using Microsoft.Extensions.Logging; using Remora.Discord.API.Abstractions.Gateway.Events; +using Remora.Discord.API.Abstractions.Objects; using Remora.Discord.API.Abstractions.Rest; +using Remora.Discord.Caching; +using Remora.Discord.Caching.Services; +using Remora.Discord.Extensions.Embeds; +using Remora.Discord.Extensions.Formatting; using Remora.Discord.Gateway.Responders; using Remora.Results; +// ReSharper disable UnusedType.Global + namespace Boyfriend; -public class ReadyResponder : IResponder { +public class GuildCreateResponder : IResponder { private readonly IDiscordRestChannelAPI _channelApi; + private readonly IDiscordRestUserAPI _userApi; - public ReadyResponder(IDiscordRestChannelAPI channelApi) { + public GuildCreateResponder(IDiscordRestChannelAPI channelApi, IDiscordRestUserAPI userApi) { _channelApi = channelApi; + _userApi = userApi; } public async Task RespondAsync(IGuildCreate gatewayEvent, CancellationToken ct = default) { if (!gatewayEvent.Guild.IsT0) return Result.FromSuccess(); // is IAvailableGuild var guild = gatewayEvent.Guild.AsT0; - if (guild.GetConfigBool("SendReadyMessages").IsDefined(out var enabled) - && enabled - && guild.GetChannel("PrivateFeedbackChannel").IsDefined(out var channel)) { + Boyfriend.Logger.LogInformation("Joined guild \"{Name}\"", guild.Name); + + var channelResult = guild.ID.GetChannel("PrivateFeedbackChannel"); + if (!channelResult.IsDefined(out var channel)) return Result.FromSuccess(); + + var currentUserResult = await _userApi.GetCurrentUserAsync(ct); + if (!currentUserResult.IsDefined(out var currentUser)) return Result.FromError(currentUserResult); + + if (guild.GetConfigBool("ReceiveStartupMessages").IsDefined(out var shouldSendStartupMessage) + && shouldSendStartupMessage) { Messages.Culture = guild.GetCulture(); var i = Random.Shared.Next(1, 4); + var embed = new EmbedBuilder() + .WithTitle(Boyfriend.GetLocalized($"Beep{i}")) + .WithDescription(Messages.Ready) + .WithUserFooter(currentUser) + .WithCurrentTimestamp() + .WithColour(Color.Aqua) + .Build(); + + if (!embed.IsDefined(out var built)) return Result.FromError(embed); + return (Result)await _channelApi.CreateMessageAsync( - channel.ID, string.Format(Messages.Ready, Boyfriend.GetLocalized($"Beep{i}")), ct: ct); + channel, embeds: new[] { built }!, ct: ct); } return Result.FromSuccess(); } } + +public class MessageDeletedResponder : IResponder { + private readonly IDiscordRestAuditLogAPI _auditLogApi; + private readonly CacheService _cacheService; + private readonly IDiscordRestChannelAPI _channelApi; + private readonly IDiscordRestUserAPI _userApi; + + public MessageDeletedResponder( + IDiscordRestChannelAPI channelApi, IDiscordRestUserAPI userApi, CacheService cacheService, + IDiscordRestAuditLogAPI auditLogApi) { + _channelApi = channelApi; + _userApi = userApi; + _cacheService = cacheService; + _auditLogApi = auditLogApi; + } + + public async Task RespondAsync(IMessageDelete gatewayEvent, CancellationToken ct = default) { + if (!gatewayEvent.GuildID.IsDefined(out var guildId)) return Result.FromSuccess(); + + var channelResult = guildId.GetChannel("PrivateFeedbackChannel"); + if (!channelResult.IsDefined(out var channel)) return Result.FromSuccess(); + + var messageResult = await _cacheService.TryGetValueAsync( + new KeyHelpers.MessageCacheKey(gatewayEvent.ChannelID, gatewayEvent.ID), ct); + if (messageResult.IsDefined(out var message)) { + var auditLogResult = await _auditLogApi.GetGuildAuditLogAsync( + guildId, actionType: AuditLogEvent.MessageDelete, limit: 1, ct: ct); + if (!auditLogResult.IsDefined(out var auditLogPage)) return Result.FromError(auditLogResult); + + var auditLog = auditLogPage.AuditLogEntries.Single(); + if (!auditLog.Options.IsDefined(out var options)) + return Result.FromError(new ArgumentNullError(nameof(auditLog.Options))); + + var user = message.Author; + if (options.ChannelID == gatewayEvent.ChannelID + && DateTimeOffset.UtcNow.Subtract(auditLog.ID.Timestamp).TotalSeconds <= 2) { + var userResult = await _userApi.GetUserAsync(auditLog.UserID!.Value, ct); + if (!userResult.IsDefined(out user)) return Result.FromError(userResult); + } + + var embed = new EmbedBuilder() + .WithAuthor(string.Format(Messages.CachedMessageDeleted, message.Author)) + .WithTitle( + message.Author, + string.Format( + Messages.CachedMessageDeleted, + $"{message.Author.Username}#{message.Author.Discriminator:0000}")) + .WithDescription(Markdown.BlockCode(message.Content.SanitizeForBlockCode())) + .WithActionFooter(user) + .WithTimestamp(message.Timestamp) + .WithColour(Color.Crimson) + .Build(); + + if (!embed.IsDefined(out var built)) return Result.FromError(embed); + + return (Result)await _channelApi.CreateMessageAsync( + channel, embeds: new[] { built }, allowedMentions: Boyfriend.NoMentions, ct: ct); + } + + return (Result)messageResult; + } +} diff --git a/Extensions.cs b/Extensions.cs index 6605d44..216b346 100644 --- a/Extensions.cs +++ b/Extensions.cs @@ -1,7 +1,10 @@ using System.Globalization; using Microsoft.Extensions.Configuration; -using Remora.Discord.API.Abstractions.Gateway.Events; +using Remora.Discord.API; using Remora.Discord.API.Abstractions.Objects; +using Remora.Discord.API.Objects; +using Remora.Discord.Extensions.Embeds; +using Remora.Rest.Core; using Remora.Results; namespace Boyfriend; @@ -18,18 +21,49 @@ public static class Extensions { return value is not null ? Result.FromSuccess(value.Value) : Result.FromError(new NotFoundError()); } - public static Result GetChannel(this IGuildCreate.IAvailableGuild guild, string key) { - var value = Boyfriend.GuildConfiguration.GetValue($"GuildConfigs:{guild.ID}:{key}"); - if (value is null) return Result.FromError(new NotFoundError()); - - var match = guild.Channels.SingleOrDefault(channel => channel!.ID.Equals(value.Value), null); - return match is not null - ? Result.FromSuccess(match) - : Result.FromError(new NotFoundError()); + public static Result GetChannel(this Snowflake guildId, string key) { + var value = Boyfriend.GuildConfiguration.GetValue($"GuildConfigs:{guildId}:{key}"); + return value is not null + ? Result.FromSuccess(DiscordSnowflake.New(value.Value)) + : Result.FromError(new NotFoundError()); } public static CultureInfo GetCulture(this IGuild guild) { var value = Boyfriend.GuildConfiguration.GetValue($"GuildConfigs:{guild.ID}:Language"); return value is not null ? CultureInfoCache[value] : CultureInfoCache["en"]; } + + public static EmbedBuilder WithUserFooter(this EmbedBuilder builder, IUser user) { + var avatarUrlResult = CDN.GetUserAvatarUrl(user, imageSize: 256); + var avatarUrl = avatarUrlResult.IsSuccess + ? avatarUrlResult.Entity.AbsoluteUri + : CDN.GetDefaultUserAvatarUrl(user, imageSize: 256).Entity.AbsoluteUri; + + return builder.WithFooter(new EmbedFooter($"{user.Username}#{user.Discriminator:0000}", avatarUrl)); + } + + public static EmbedBuilder WithActionFooter(this EmbedBuilder builder, IUser user) { + var avatarUrlResult = CDN.GetUserAvatarUrl(user, imageSize: 256); + var avatarUrl = avatarUrlResult.IsSuccess + ? avatarUrlResult.Entity.AbsoluteUri + : CDN.GetDefaultUserAvatarUrl(user, imageSize: 256).Entity.AbsoluteUri; + + return builder.WithFooter( + new EmbedFooter($"{Messages.IssuedBy}:\n{user.Username}#{user.Discriminator:0000}", avatarUrl)); + } + + public static EmbedBuilder WithTitle(this EmbedBuilder builder, IUser avatarSource, string text) { + var avatarUrlResult = CDN.GetUserAvatarUrl(avatarSource, imageSize: 256); + + var avatarUrl = avatarUrlResult.IsSuccess + ? avatarUrlResult.Entity + : CDN.GetDefaultUserAvatarUrl(avatarSource, imageSize: 256).Entity; + + builder.Author = new EmbedAuthorBuilder(text, iconUrl: avatarUrl.AbsoluteUri); + return builder; + } + + public static string SanitizeForBlockCode(this string s) { + return s.Replace("```", "​`​`​`​"); + } } diff --git a/Messages.Designer.cs b/Messages.Designer.cs index ed4cc9e..348180b 100644 --- a/Messages.Designer.cs +++ b/Messages.Designer.cs @@ -11,46 +11,32 @@ namespace Boyfriend { using System; - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - public class Messages { + [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [System.Diagnostics.DebuggerNonUserCodeAttribute()] + [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Messages { - private static global::System.Resources.ResourceManager resourceMan; + private static System.Resources.ResourceManager resourceMan; - private static global::System.Globalization.CultureInfo resourceCulture; + private static System.Globalization.CultureInfo resourceCulture; - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] internal Messages() { } - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + internal static System.Resources.ResourceManager ResourceManager { get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Boyfriend.Messages", typeof(Messages).Assembly); + if (object.Equals(null, resourceMan)) { + System.Resources.ResourceManager temp = new System.Resources.ResourceManager("Boyfriend.Messages", typeof(Messages).Assembly); resourceMan = temp; } return resourceMan; } } - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { + [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)] + internal static System.Globalization.CultureInfo Culture { get { return resourceCulture; } @@ -59,1074 +45,723 @@ namespace Boyfriend { } } - /// - /// Looks up a localized string similar to Bah! . - /// - internal static string Beep1 { - get { - return ResourceManager.GetString("Beep1", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Bop! . - /// - internal static string Beep2 { - get { - return ResourceManager.GetString("Beep2", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Beep! . - /// - internal static string Beep3 { - get { - return ResourceManager.GetString("Beep3", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to I cannot ban users from this guild!. - /// - internal static string BotCannotBanMembers { - get { - return ResourceManager.GetString("BotCannotBanMembers", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to I cannot ban this user!. - /// - internal static string BotCannotBanTarget { - get { - return ResourceManager.GetString("BotCannotBanTarget", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to I cannot kick members from this guild!. - /// - internal static string BotCannotKickMembers { - get { - return ResourceManager.GetString("BotCannotKickMembers", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to I cannot kick this member!. - /// - internal static string BotCannotKickTarget { - get { - return ResourceManager.GetString("BotCannotKickTarget", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to I cannot manage this guild!. - /// - internal static string BotCannotManageGuild { - get { - return ResourceManager.GetString("BotCannotManageGuild", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to I cannot manage messages in this guild!. - /// - internal static string BotCannotManageMessages { - get { - return ResourceManager.GetString("BotCannotManageMessages", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to I cannot moderate members in this guild!. - /// - internal static string BotCannotModerateMembers { - get { - return ResourceManager.GetString("BotCannotModerateMembers", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to I cannot mute this member!. - /// - internal static string BotCannotMuteTarget { - get { - return ResourceManager.GetString("BotCannotMuteTarget", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to I cannot unmute this member!. - /// - internal static string BotCannotUnmuteTarget { - get { - return ResourceManager.GetString("BotCannotUnmuteTarget", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Deleted message from {0} in channel {1}: {2}. - /// - internal static string CachedMessageDeleted { - get { - return ResourceManager.GetString("CachedMessageDeleted", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Edited message in channel {0}: {1} -> {2}. - /// - internal static string CachedMessageEdited { - get { - return ResourceManager.GetString("CachedMessageEdited", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to I cannot use time-outs on other bots! Try to set a mute role in settings. - /// - internal static string CannotTimeOutBot { - get { - return ResourceManager.GetString("CannotTimeOutBot", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Not specified. - /// - internal static string ChannelNotSpecified { - get { - return ResourceManager.GetString("ChannelNotSpecified", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You need to specify an integer from {0} to {1} instead of {2}!. - /// - internal static string ClearAmountInvalid { - get { - return ResourceManager.GetString("ClearAmountInvalid", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You specified more than {0} messages!. - /// - internal static string ClearAmountTooLarge { - get { - return ResourceManager.GetString("ClearAmountTooLarge", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You specified less than {0} messages!. - /// - internal static string ClearAmountTooSmall { - get { - return ResourceManager.GetString("ClearAmountTooSmall", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Bans a user. - /// - internal static string CommandDescriptionBan { - get { - return ResourceManager.GetString("CommandDescriptionBan", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Deletes a specified amount of messages in this channel. - /// - internal static string CommandDescriptionClear { - get { - return ResourceManager.GetString("CommandDescriptionClear", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Shows this message. - /// - internal static string CommandDescriptionHelp { - get { - return ResourceManager.GetString("CommandDescriptionHelp", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Kicks a member. - /// - internal static string CommandDescriptionKick { - get { - return ResourceManager.GetString("CommandDescriptionKick", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Mutes a member. - /// - internal static string CommandDescriptionMute { - get { - return ResourceManager.GetString("CommandDescriptionMute", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Shows (inaccurate) latency. - /// - internal static string CommandDescriptionPing { - get { - return ResourceManager.GetString("CommandDescriptionPing", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Adds a reminder. - /// - internal static string CommandDescriptionRemind { - get { - return ResourceManager.GetString("CommandDescriptionRemind", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Allows you to change certain preferences for this guild. - /// - internal static string CommandDescriptionSettings { - get { - return ResourceManager.GetString("CommandDescriptionSettings", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Unbans a user. - /// - internal static string CommandDescriptionUnban { - get { - return ResourceManager.GetString("CommandDescriptionUnban", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Unmutes a member. - /// - internal static string CommandDescriptionUnmute { - get { - return ResourceManager.GetString("CommandDescriptionUnmute", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Command help:. - /// - internal static string CommandHelp { - get { - return ResourceManager.GetString("CommandHelp", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to I do not have permission to execute this command!. - /// - internal static string CommandNoPermissionBot { - get { - return ResourceManager.GetString("CommandNoPermissionBot", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You do not have permission to execute this command!. - /// - internal static string CommandNoPermissionUser { - get { - return ResourceManager.GetString("CommandNoPermissionUser", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Current settings:. - /// - internal static string CurrentSettings { - get { - return ResourceManager.GetString("CurrentSettings", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to {0}, welcome to {1}. - /// - internal static string DefaultWelcomeMessage { - get { - return ResourceManager.GetString("DefaultWelcomeMessage", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to I cannot mute someone for more than 28 days using timeouts! Either specify a duration shorter than 28 days, or set a mute role in settings. - /// - internal static string DurationRequiredForTimeOuts { - get { - return ResourceManager.GetString("DurationRequiredForTimeOuts", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Event {0} is cancelled!{1}. - /// - internal static string EventCancelled { - get { - return ResourceManager.GetString("EventCancelled", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Event {0} has completed! Duration:{1}. - /// - internal static string EventCompleted { - get { - return ResourceManager.GetString("EventCompleted", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to {0} has created event {1}! It will take place in {2} and will start <t:{3}:R>! \n {4}. - /// - internal static string EventCreated { - get { - return ResourceManager.GetString("EventCreated", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to {0}Event {1} will start <t:{2}:R>!. - /// - internal static string EventEarlyNotification { - get { - return ResourceManager.GetString("EventEarlyNotification", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to {0}Event {1} is starting at {2}!. - /// - internal static string EventStarted { - get { - return ResourceManager.GetString("EventStarted", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to ever. - /// - internal static string Ever { - get { - return ResourceManager.GetString("Ever", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Kicked {0}: {1}. - /// - internal static string FeedbackMemberKicked { - get { - return ResourceManager.GetString("FeedbackMemberKicked", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Muted {0} for{1}: {2}. - /// - internal static string FeedbackMemberMuted { - get { - return ResourceManager.GetString("FeedbackMemberMuted", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Unmuted {0}: {1}. - /// - internal static string FeedbackMemberUnmuted { - get { - return ResourceManager.GetString("FeedbackMemberUnmuted", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Deleted {0} messages in {1}. - /// - internal static string FeedbackMessagesCleared { - get { - return ResourceManager.GetString("FeedbackMessagesCleared", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Value of setting `{0}` is now set to {1}. - /// - internal static string FeedbackSettingsUpdated { - get { - return ResourceManager.GetString("FeedbackSettingsUpdated", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Banned {0} for{1}: {2}. - /// - internal static string FeedbackUserBanned { - get { - return ResourceManager.GetString("FeedbackUserBanned", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Unbanned {0}: {1}. - /// - internal static string FeedbackUserUnbanned { - get { - return ResourceManager.GetString("FeedbackUserUnbanned", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to This channel does not exist!. - /// - internal static string InvalidChannel { - get { - return ResourceManager.GetString("InvalidChannel", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You did not specify a member of this guild!. - /// - internal static string InvalidMember { - get { - return ResourceManager.GetString("InvalidMember", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to This role does not exist!. - /// - internal static string InvalidRole { - get { - return ResourceManager.GetString("InvalidRole", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Invalid setting value specified!. - /// - internal static string InvalidSettingValue { - get { - return ResourceManager.GetString("InvalidSettingValue", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You need to specify a user instead of {0}!. - /// - internal static string InvalidUser { - get { - return ResourceManager.GetString("InvalidUser", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Language not supported! Supported languages:. - /// - internal static string LanguageNotSupported { - get { - return ResourceManager.GetString("LanguageNotSupported", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Member is already muted!. - /// - internal static string MemberAlreadyMuted { - get { - return ResourceManager.GetString("MemberAlreadyMuted", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Member not muted!. - /// - internal static string MemberNotMuted { - get { - return ResourceManager.GetString("MemberNotMuted", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to ms. - /// - internal static string Milliseconds { - get { - return ResourceManager.GetString("Milliseconds", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You need to specify a reason to ban this user!. - /// - internal static string MissingBanReason { - get { - return ResourceManager.GetString("MissingBanReason", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You need to specify a reason to kick this member!. - /// - internal static string MissingKickReason { - get { - return ResourceManager.GetString("MissingKickReason", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You need to specify a guild member!. - /// - internal static string MissingMember { - get { - return ResourceManager.GetString("MissingMember", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You need to specify a reason to mute this member!. - /// - internal static string MissingMuteReason { - get { - return ResourceManager.GetString("MissingMuteReason", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You need to specify an integer from {0} to {1}!. - /// - internal static string MissingNumber { - get { - return ResourceManager.GetString("MissingNumber", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You need to specify reminder text!. - /// - internal static string MissingReminderText { - get { - return ResourceManager.GetString("MissingReminderText", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You need to specify a reason to unban this user!. - /// - internal static string MissingUnbanReason { - get { - return ResourceManager.GetString("MissingUnbanReason", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You need to specify a reason for unmute this member!. - /// - internal static string MissingUnmuteReason { - get { - return ResourceManager.GetString("MissingUnmuteReason", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You need to specify a user!. - /// - internal static string MissingUser { - get { - return ResourceManager.GetString("MissingUser", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to No. - /// - internal static string No { - get { - return ResourceManager.GetString("No", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Punishment expired. - /// - internal static string PunishmentExpired { - get { - return ResourceManager.GetString("PunishmentExpired", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to {0}I'm ready!. - /// internal static string Ready { get { return ResourceManager.GetString("Ready", resourceCulture); } } - /// - /// Looks up a localized string similar to Not specified. - /// - internal static string RoleNotSpecified { + internal static string CachedMessageDeleted { get { - return ResourceManager.GetString("RoleNotSpecified", resourceCulture); + return ResourceManager.GetString("CachedMessageDeleted", resourceCulture); } } - /// - /// Looks up a localized string similar to That setting doesn't exist!. - /// - internal static string SettingDoesntExist { + internal static string CachedMessageCleared { get { - return ResourceManager.GetString("SettingDoesntExist", resourceCulture); + return ResourceManager.GetString("CachedMessageCleared", resourceCulture); } } - /// - /// Looks up a localized string similar to Not specified. - /// - internal static string SettingNotDefined { + internal static string CachedMessageEdited { get { - return ResourceManager.GetString("SettingNotDefined", resourceCulture); + return ResourceManager.GetString("CachedMessageEdited", resourceCulture); } } - /// - /// Looks up a localized string similar to Automatically start scheduled events. - /// - internal static string SettingsAutoStartEvents { + internal static string DefaultWelcomeMessage { get { - return ResourceManager.GetString("SettingsAutoStartEvents", resourceCulture); + return ResourceManager.GetString("DefaultWelcomeMessage", resourceCulture); } } - /// - /// Looks up a localized string similar to Early event start notification offset. - /// - internal static string SettingsEventEarlyNotificationOffset { + internal static string Beep1 { get { - return ResourceManager.GetString("SettingsEventEarlyNotificationOffset", resourceCulture); + return ResourceManager.GetString("Beep1", resourceCulture); } } - /// - /// Looks up a localized string similar to Channel for event notifications. - /// - internal static string SettingsEventNotificationChannel { + internal static string Beep2 { get { - return ResourceManager.GetString("SettingsEventNotificationChannel", resourceCulture); + return ResourceManager.GetString("Beep2", resourceCulture); } } - /// - /// Looks up a localized string similar to Role for event creation notifications. - /// - internal static string SettingsEventNotificationRole { + internal static string Beep3 { get { - return ResourceManager.GetString("SettingsEventNotificationRole", resourceCulture); + return ResourceManager.GetString("Beep3", resourceCulture); } } - /// - /// Looks up a localized string similar to Event start notifications receivers. - /// - internal static string SettingsEventStartedReceivers { + internal static string CommandNoPermissionBot { get { - return ResourceManager.GetString("SettingsEventStartedReceivers", resourceCulture); + return ResourceManager.GetString("CommandNoPermissionBot", resourceCulture); } } - /// - /// Looks up a localized string similar to :(. - /// - internal static string SettingsFrowningFace { + internal static string CommandNoPermissionUser { get { - return ResourceManager.GetString("SettingsFrowningFace", resourceCulture); + return ResourceManager.GetString("CommandNoPermissionUser", resourceCulture); } } - /// - /// Looks up a localized string similar to Language. - /// - internal static string SettingsLang { - get { - return ResourceManager.GetString("SettingsLang", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Mute role. - /// - internal static string SettingsMuteRole { - get { - return ResourceManager.GetString("SettingsMuteRole", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Nothing changed! `{0}` is already set to {1}. - /// - internal static string SettingsNothingChanged { - get { - return ResourceManager.GetString("SettingsNothingChanged", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Prefix. - /// - internal static string SettingsPrefix { - get { - return ResourceManager.GetString("SettingsPrefix", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Channel for private notifications. - /// - internal static string SettingsPrivateFeedbackChannel { - get { - return ResourceManager.GetString("SettingsPrivateFeedbackChannel", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Channel for public notifications. - /// - internal static string SettingsPublicFeedbackChannel { - get { - return ResourceManager.GetString("SettingsPublicFeedbackChannel", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Receive startup messages. - /// - internal static string SettingsReceiveStartupMessages { - get { - return ResourceManager.GetString("SettingsReceiveStartupMessages", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Remove roles on mute. - /// - internal static string SettingsRemoveRolesOnMute { - get { - return ResourceManager.GetString("SettingsRemoveRolesOnMute", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Return roles on rejoin. - /// - internal static string SettingsReturnRolesOnRejoin { - get { - return ResourceManager.GetString("SettingsReturnRolesOnRejoin", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Send welcome messages. - /// - internal static string SettingsSendWelcomeMessages { - get { - return ResourceManager.GetString("SettingsSendWelcomeMessages", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Starter role. - /// - internal static string SettingsStarterRole { - get { - return ResourceManager.GetString("SettingsStarterRole", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Welcome message. - /// - internal static string SettingsWelcomeMessage { - get { - return ResourceManager.GetString("SettingsWelcomeMessage", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You cannot ban me!. - /// - internal static string UserCannotBanBot { - get { - return ResourceManager.GetString("UserCannotBanBot", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You cannot ban users from this guild!. - /// - internal static string UserCannotBanMembers { - get { - return ResourceManager.GetString("UserCannotBanMembers", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You cannot ban the owner of this guild!. - /// - internal static string UserCannotBanOwner { - get { - return ResourceManager.GetString("UserCannotBanOwner", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You cannot ban this user!. - /// - internal static string UserCannotBanTarget { - get { - return ResourceManager.GetString("UserCannotBanTarget", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You cannot ban yourself!. - /// - internal static string UserCannotBanThemselves { - get { - return ResourceManager.GetString("UserCannotBanThemselves", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You cannot kick me!. - /// - internal static string UserCannotKickBot { - get { - return ResourceManager.GetString("UserCannotKickBot", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You cannot kick members from this guild!. - /// - internal static string UserCannotKickMembers { - get { - return ResourceManager.GetString("UserCannotKickMembers", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You cannot kick the owner of this guild!. - /// - internal static string UserCannotKickOwner { - get { - return ResourceManager.GetString("UserCannotKickOwner", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You cannot kick this member!. - /// - internal static string UserCannotKickTarget { - get { - return ResourceManager.GetString("UserCannotKickTarget", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You cannot kick yourself!. - /// - internal static string UserCannotKickThemselves { - get { - return ResourceManager.GetString("UserCannotKickThemselves", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You cannot manage this guild!. - /// - internal static string UserCannotManageGuild { - get { - return ResourceManager.GetString("UserCannotManageGuild", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You cannot manage messages in this guild!. - /// - internal static string UserCannotManageMessages { - get { - return ResourceManager.GetString("UserCannotManageMessages", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You cannot moderate members in this guild!. - /// - internal static string UserCannotModerateMembers { - get { - return ResourceManager.GetString("UserCannotModerateMembers", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You cannot mute me!. - /// - internal static string UserCannotMuteBot { - get { - return ResourceManager.GetString("UserCannotMuteBot", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You cannot mute the owner of this guild!. - /// - internal static string UserCannotMuteOwner { - get { - return ResourceManager.GetString("UserCannotMuteOwner", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You cannot mute this member!. - /// - internal static string UserCannotMuteTarget { - get { - return ResourceManager.GetString("UserCannotMuteTarget", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You cannot mute yourself!. - /// - internal static string UserCannotMuteThemselves { - get { - return ResourceManager.GetString("UserCannotMuteThemselves", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to .... - /// - internal static string UserCannotUnmuteBot { - get { - return ResourceManager.GetString("UserCannotUnmuteBot", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You don't need to unmute the owner of this guild!. - /// - internal static string UserCannotUnmuteOwner { - get { - return ResourceManager.GetString("UserCannotUnmuteOwner", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You cannot unmute this user!. - /// - internal static string UserCannotUnmuteTarget { - get { - return ResourceManager.GetString("UserCannotUnmuteTarget", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You are muted!. - /// - internal static string UserCannotUnmuteThemselves { - get { - return ResourceManager.GetString("UserCannotUnmuteThemselves", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to This user is not banned!. - /// - internal static string UserNotBanned { - get { - return ResourceManager.GetString("UserNotBanned", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to I could not find this user in any guild I'm a member of! Check if the ID is correct and that the user was on this server no longer than 30 days ago. - /// - internal static string UserNotFound { - get { - return ResourceManager.GetString("UserNotFound", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Yes. - /// - internal static string Yes { - get { - return ResourceManager.GetString("Yes", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to You were banned by {0} in guild `{1}` for {2}. - /// internal static string YouWereBanned { get { return ResourceManager.GetString("YouWereBanned", resourceCulture); } } - /// - /// Looks up a localized string similar to You were kicked by {0} in guild `{1}` for {2}. - /// + internal static string PunishmentExpired { + get { + return ResourceManager.GetString("PunishmentExpired", resourceCulture); + } + } + + internal static string ClearAmountTooSmall { + get { + return ResourceManager.GetString("ClearAmountTooSmall", resourceCulture); + } + } + + internal static string ClearAmountTooLarge { + get { + return ResourceManager.GetString("ClearAmountTooLarge", resourceCulture); + } + } + + internal static string CommandHelp { + get { + return ResourceManager.GetString("CommandHelp", resourceCulture); + } + } + internal static string YouWereKicked { get { return ResourceManager.GetString("YouWereKicked", resourceCulture); } } - /// - /// Looks up a localized string similar to OK, I'll mention you on <t:{0}:f>. - /// + internal static string Milliseconds { + get { + return ResourceManager.GetString("Milliseconds", resourceCulture); + } + } + + internal static string MemberAlreadyMuted { + get { + return ResourceManager.GetString("MemberAlreadyMuted", resourceCulture); + } + } + + internal static string ChannelNotSpecified { + get { + return ResourceManager.GetString("ChannelNotSpecified", resourceCulture); + } + } + + internal static string RoleNotSpecified { + get { + return ResourceManager.GetString("RoleNotSpecified", resourceCulture); + } + } + + internal static string CurrentSettings { + get { + return ResourceManager.GetString("CurrentSettings", resourceCulture); + } + } + + internal static string SettingsLang { + get { + return ResourceManager.GetString("SettingsLang", resourceCulture); + } + } + + internal static string SettingsPrefix { + get { + return ResourceManager.GetString("SettingsPrefix", resourceCulture); + } + } + + internal static string SettingsRemoveRolesOnMute { + get { + return ResourceManager.GetString("SettingsRemoveRolesOnMute", resourceCulture); + } + } + + internal static string SettingsSendWelcomeMessages { + get { + return ResourceManager.GetString("SettingsSendWelcomeMessages", resourceCulture); + } + } + + internal static string SettingsMuteRole { + get { + return ResourceManager.GetString("SettingsMuteRole", resourceCulture); + } + } + + internal static string LanguageNotSupported { + get { + return ResourceManager.GetString("LanguageNotSupported", resourceCulture); + } + } + + internal static string Yes { + get { + return ResourceManager.GetString("Yes", resourceCulture); + } + } + + internal static string No { + get { + return ResourceManager.GetString("No", resourceCulture); + } + } + + internal static string UserNotBanned { + get { + return ResourceManager.GetString("UserNotBanned", resourceCulture); + } + } + + internal static string MemberNotMuted { + get { + return ResourceManager.GetString("MemberNotMuted", resourceCulture); + } + } + + internal static string SettingsWelcomeMessage { + get { + return ResourceManager.GetString("SettingsWelcomeMessage", resourceCulture); + } + } + + internal static string ClearAmountInvalid { + get { + return ResourceManager.GetString("ClearAmountInvalid", resourceCulture); + } + } + + internal static string FeedbackUserBanned { + get { + return ResourceManager.GetString("FeedbackUserBanned", resourceCulture); + } + } + + internal static string SettingDoesntExist { + get { + return ResourceManager.GetString("SettingDoesntExist", resourceCulture); + } + } + + internal static string SettingsReceiveStartupMessages { + get { + return ResourceManager.GetString("SettingsReceiveStartupMessages", resourceCulture); + } + } + + internal static string InvalidSettingValue { + get { + return ResourceManager.GetString("InvalidSettingValue", resourceCulture); + } + } + + internal static string InvalidRole { + get { + return ResourceManager.GetString("InvalidRole", resourceCulture); + } + } + + internal static string InvalidChannel { + get { + return ResourceManager.GetString("InvalidChannel", resourceCulture); + } + } + + internal static string DurationRequiredForTimeOuts { + get { + return ResourceManager.GetString("DurationRequiredForTimeOuts", resourceCulture); + } + } + + internal static string CannotTimeOutBot { + get { + return ResourceManager.GetString("CannotTimeOutBot", resourceCulture); + } + } + + internal static string EventCreated { + get { + return ResourceManager.GetString("EventCreated", resourceCulture); + } + } + + internal static string SettingsEventNotificationRole { + get { + return ResourceManager.GetString("SettingsEventNotificationRole", resourceCulture); + } + } + + internal static string SettingsEventNotificationChannel { + get { + return ResourceManager.GetString("SettingsEventNotificationChannel", resourceCulture); + } + } + + internal static string SettingsEventStartedReceivers { + get { + return ResourceManager.GetString("SettingsEventStartedReceivers", resourceCulture); + } + } + + internal static string EventStarted { + get { + return ResourceManager.GetString("EventStarted", resourceCulture); + } + } + + internal static string SettingsFrowningFace { + get { + return ResourceManager.GetString("SettingsFrowningFace", resourceCulture); + } + } + + internal static string EventCancelled { + get { + return ResourceManager.GetString("EventCancelled", resourceCulture); + } + } + + internal static string EventCompleted { + get { + return ResourceManager.GetString("EventCompleted", resourceCulture); + } + } + + internal static string Ever { + get { + return ResourceManager.GetString("Ever", resourceCulture); + } + } + + internal static string FeedbackMessagesCleared { + get { + return ResourceManager.GetString("FeedbackMessagesCleared", resourceCulture); + } + } + + internal static string FeedbackMemberKicked { + get { + return ResourceManager.GetString("FeedbackMemberKicked", resourceCulture); + } + } + + internal static string FeedbackMemberMuted { + get { + return ResourceManager.GetString("FeedbackMemberMuted", resourceCulture); + } + } + + internal static string FeedbackUserUnbanned { + get { + return ResourceManager.GetString("FeedbackUserUnbanned", resourceCulture); + } + } + + internal static string FeedbackMemberUnmuted { + get { + return ResourceManager.GetString("FeedbackMemberUnmuted", resourceCulture); + } + } + + internal static string SettingsNothingChanged { + get { + return ResourceManager.GetString("SettingsNothingChanged", resourceCulture); + } + } + + internal static string SettingNotDefined { + get { + return ResourceManager.GetString("SettingNotDefined", resourceCulture); + } + } + + internal static string FeedbackSettingsUpdated { + get { + return ResourceManager.GetString("FeedbackSettingsUpdated", resourceCulture); + } + } + + internal static string CommandDescriptionBan { + get { + return ResourceManager.GetString("CommandDescriptionBan", resourceCulture); + } + } + + internal static string CommandDescriptionClear { + get { + return ResourceManager.GetString("CommandDescriptionClear", resourceCulture); + } + } + + internal static string CommandDescriptionHelp { + get { + return ResourceManager.GetString("CommandDescriptionHelp", resourceCulture); + } + } + + internal static string CommandDescriptionKick { + get { + return ResourceManager.GetString("CommandDescriptionKick", resourceCulture); + } + } + + internal static string CommandDescriptionMute { + get { + return ResourceManager.GetString("CommandDescriptionMute", resourceCulture); + } + } + + internal static string CommandDescriptionPing { + get { + return ResourceManager.GetString("CommandDescriptionPing", resourceCulture); + } + } + + internal static string CommandDescriptionSettings { + get { + return ResourceManager.GetString("CommandDescriptionSettings", resourceCulture); + } + } + + internal static string CommandDescriptionUnban { + get { + return ResourceManager.GetString("CommandDescriptionUnban", resourceCulture); + } + } + + internal static string CommandDescriptionUnmute { + get { + return ResourceManager.GetString("CommandDescriptionUnmute", resourceCulture); + } + } + + internal static string MissingNumber { + get { + return ResourceManager.GetString("MissingNumber", resourceCulture); + } + } + + internal static string MissingUser { + get { + return ResourceManager.GetString("MissingUser", resourceCulture); + } + } + + internal static string InvalidUser { + get { + return ResourceManager.GetString("InvalidUser", resourceCulture); + } + } + + internal static string MissingMember { + get { + return ResourceManager.GetString("MissingMember", resourceCulture); + } + } + + internal static string InvalidMember { + get { + return ResourceManager.GetString("InvalidMember", resourceCulture); + } + } + + internal static string UserCannotBanMembers { + get { + return ResourceManager.GetString("UserCannotBanMembers", resourceCulture); + } + } + + internal static string UserCannotManageMessages { + get { + return ResourceManager.GetString("UserCannotManageMessages", resourceCulture); + } + } + + internal static string UserCannotKickMembers { + get { + return ResourceManager.GetString("UserCannotKickMembers", resourceCulture); + } + } + + internal static string UserCannotModerateMembers { + get { + return ResourceManager.GetString("UserCannotModerateMembers", resourceCulture); + } + } + + internal static string UserCannotManageGuild { + get { + return ResourceManager.GetString("UserCannotManageGuild", resourceCulture); + } + } + + internal static string BotCannotBanMembers { + get { + return ResourceManager.GetString("BotCannotBanMembers", resourceCulture); + } + } + + internal static string BotCannotManageMessages { + get { + return ResourceManager.GetString("BotCannotManageMessages", resourceCulture); + } + } + + internal static string BotCannotKickMembers { + get { + return ResourceManager.GetString("BotCannotKickMembers", resourceCulture); + } + } + + internal static string BotCannotModerateMembers { + get { + return ResourceManager.GetString("BotCannotModerateMembers", resourceCulture); + } + } + + internal static string BotCannotManageGuild { + get { + return ResourceManager.GetString("BotCannotManageGuild", resourceCulture); + } + } + + internal static string MissingBanReason { + get { + return ResourceManager.GetString("MissingBanReason", resourceCulture); + } + } + + internal static string MissingKickReason { + get { + return ResourceManager.GetString("MissingKickReason", resourceCulture); + } + } + + internal static string MissingMuteReason { + get { + return ResourceManager.GetString("MissingMuteReason", resourceCulture); + } + } + + internal static string MissingUnbanReason { + get { + return ResourceManager.GetString("MissingUnbanReason", resourceCulture); + } + } + + internal static string MissingUnmuteReason { + get { + return ResourceManager.GetString("MissingUnmuteReason", resourceCulture); + } + } + + internal static string UserCannotBanOwner { + get { + return ResourceManager.GetString("UserCannotBanOwner", resourceCulture); + } + } + + internal static string UserCannotBanThemselves { + get { + return ResourceManager.GetString("UserCannotBanThemselves", resourceCulture); + } + } + + internal static string UserCannotBanBot { + get { + return ResourceManager.GetString("UserCannotBanBot", resourceCulture); + } + } + + internal static string BotCannotBanTarget { + get { + return ResourceManager.GetString("BotCannotBanTarget", resourceCulture); + } + } + + internal static string UserCannotBanTarget { + get { + return ResourceManager.GetString("UserCannotBanTarget", resourceCulture); + } + } + + internal static string UserCannotKickOwner { + get { + return ResourceManager.GetString("UserCannotKickOwner", resourceCulture); + } + } + + internal static string UserCannotKickThemselves { + get { + return ResourceManager.GetString("UserCannotKickThemselves", resourceCulture); + } + } + + internal static string UserCannotKickBot { + get { + return ResourceManager.GetString("UserCannotKickBot", resourceCulture); + } + } + + internal static string BotCannotKickTarget { + get { + return ResourceManager.GetString("BotCannotKickTarget", resourceCulture); + } + } + + internal static string UserCannotKickTarget { + get { + return ResourceManager.GetString("UserCannotKickTarget", resourceCulture); + } + } + + internal static string UserCannotMuteOwner { + get { + return ResourceManager.GetString("UserCannotMuteOwner", resourceCulture); + } + } + + internal static string UserCannotMuteThemselves { + get { + return ResourceManager.GetString("UserCannotMuteThemselves", resourceCulture); + } + } + + internal static string UserCannotMuteBot { + get { + return ResourceManager.GetString("UserCannotMuteBot", resourceCulture); + } + } + + internal static string BotCannotMuteTarget { + get { + return ResourceManager.GetString("BotCannotMuteTarget", resourceCulture); + } + } + + internal static string UserCannotMuteTarget { + get { + return ResourceManager.GetString("UserCannotMuteTarget", resourceCulture); + } + } + + internal static string UserCannotUnmuteOwner { + get { + return ResourceManager.GetString("UserCannotUnmuteOwner", resourceCulture); + } + } + + internal static string UserCannotUnmuteThemselves { + get { + return ResourceManager.GetString("UserCannotUnmuteThemselves", resourceCulture); + } + } + + internal static string UserCannotUnmuteBot { + get { + return ResourceManager.GetString("UserCannotUnmuteBot", resourceCulture); + } + } + + internal static string BotCannotUnmuteTarget { + get { + return ResourceManager.GetString("BotCannotUnmuteTarget", resourceCulture); + } + } + + internal static string UserCannotUnmuteTarget { + get { + return ResourceManager.GetString("UserCannotUnmuteTarget", resourceCulture); + } + } + + internal static string EventEarlyNotification { + get { + return ResourceManager.GetString("EventEarlyNotification", resourceCulture); + } + } + + internal static string SettingsEventEarlyNotificationOffset { + get { + return ResourceManager.GetString("SettingsEventEarlyNotificationOffset", resourceCulture); + } + } + + internal static string UserNotFound { + get { + return ResourceManager.GetString("UserNotFound", resourceCulture); + } + } + + internal static string SettingsStarterRole { + get { + return ResourceManager.GetString("SettingsStarterRole", resourceCulture); + } + } + + internal static string CommandDescriptionRemind { + get { + return ResourceManager.GetString("CommandDescriptionRemind", resourceCulture); + } + } + + internal static string SettingsPublicFeedbackChannel { + get { + return ResourceManager.GetString("SettingsPublicFeedbackChannel", resourceCulture); + } + } + + internal static string SettingsPrivateFeedbackChannel { + get { + return ResourceManager.GetString("SettingsPrivateFeedbackChannel", resourceCulture); + } + } + + internal static string SettingsReturnRolesOnRejoin { + get { + return ResourceManager.GetString("SettingsReturnRolesOnRejoin", resourceCulture); + } + } + + internal static string SettingsAutoStartEvents { + get { + return ResourceManager.GetString("SettingsAutoStartEvents", resourceCulture); + } + } + + internal static string MissingReminderText { + get { + return ResourceManager.GetString("MissingReminderText", resourceCulture); + } + } + internal static string FeedbackReminderAdded { get { return ResourceManager.GetString("FeedbackReminderAdded", resourceCulture); } } - /// - /// Looks up a localized string similar to You need to specify when I should send you the reminder!. - /// internal static string InvalidRemindIn { get { return ResourceManager.GetString("InvalidRemindIn", resourceCulture); } } - /// - /// Looks up a localized string similar to Deleted message using cleanup from {0} in channel {1}: {2}. - /// - internal static string CachedMessageCleared { + internal static string IssuedBy { get { - return ResourceManager.GetString("CachedMessageCleared", resourceCulture); + return ResourceManager.GetString("IssuedBy", resourceCulture); } } } diff --git a/Messages.resx b/Messages.resx index 7e771ae..9b4eeda 100644 --- a/Messages.resx +++ b/Messages.resx @@ -98,49 +98,53 @@ - + - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - {0}I'm ready! - - - Deleted message from {0} in channel {1}: {2} - - + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + + + + I'm ready! + + + Deleted message by {0}: + + Cleared message from {0} in channel {1}: {2} - + Edited message in channel {0}: {1} -> {2} - + {0}, welcome to {1} - - Bah! - - - Bop! - + + Bah! + + + Bop! + - Beep! - + Beep! + I do not have permission to execute this command! @@ -474,4 +478,7 @@ You need to specify when I should send you the reminder! + + Issued by + diff --git a/Messages.ru.resx b/Messages.ru.resx index cd5fecd..9f454d9 100644 --- a/Messages.ru.resx +++ b/Messages.ru.resx @@ -98,49 +98,53 @@ - + - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - {0}Я запустился! - - - Удалено сообщение от {0} в канале {1}: {2} - - + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + + + + Я запустился! + + + Сообщение {0} удалено: + + Очищено сообщение от {0} в канале {1}: {2} - + Отредактировано сообщение в канале {0}: {1} -> {2} - + {0}, добро пожаловать на сервер {1} - - Бап! - - - Боп! - + + Бап! + + + Боп! + - Бип! - + Бип! + У меня недостаточно прав для выполнения этой команды! @@ -465,13 +469,16 @@ Автоматически начинать события - + Тебе нужно указать текст напоминания! - + Хорошо, я упомяну тебя <t:{0}:f> - + Нужно указать время, через которое придёт напоминание! + + Ответственный + diff --git a/Messages.tt-ru.resx b/Messages.tt-ru.resx index 88364b2..26ad51e 100644 --- a/Messages.tt-ru.resx +++ b/Messages.tt-ru.resx @@ -98,49 +98,53 @@ - + - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - {0}я родился! - - - вырезано сообщение от {0} в канале {1}: {2} - - + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, + PublicKeyToken=b77a5c561934e089 + + + + я родился! + + + сообщение {0} вырезано: + + вырезано сообщение (используя `!clear`) от {0} в канале {1}: {2} - + переделано сообщение от {0}: {1} -> {2} - + {0}, добро пожаловать на сервер {1} - - брах! - - - брох! - + + брах! + + + брох! + - брух! - + брух! + у меня прав нету, сделай что нибудь. @@ -256,7 +260,7 @@ {0}квест {1} начинается в {2}! - оъмъомоъемъъео(((( + оъмъомоъемъъео(((( квест {0} отменен!{1} @@ -465,13 +469,16 @@ автоматом стартить квесты - + для крафта напоминалки нужен текст - + вас понял, упоминание будет <t:{0}:f> - + шизоид у меня на часах такого нету + + ответственный +