public JSBannedUser(ObjectInstance prototype, IBan user, String script) : base(prototype.Engine, ((ClrFunction)prototype.Engine.Global["BannedUser"]).InstancePrototype) { this.PopulateFunctions(); this.parent = user; this.ScriptName = script; }
public static Task DeleteAsync(this IBan ban, IRestRequestOptions options = null, CancellationToken cancellationToken = default) { var client = ban.GetRestClient(); return(client.DeleteBanAsync(ban.GuildId, ban.User.Id, options, cancellationToken)); }
/// <summary> /// Вычисляет валидность айбана /// </summary> /// <param name="iban">Международный банковский номер счета</param> /// <returns></returns> private int _GetCheckSum(IBan iban) { if (string.IsNullOrEmpty(iban.CheckSum)) { iban.CheckSum = "00"; } string input = iban.BBan + iban.CountryCode + iban.CheckSum; string output = string.Empty; for (int i = 0; i < input.Length; i++) { if (output.Length < 9) { output += input[i]; } else { output = (int.Parse(output) % 97).ToString() + input[i]; } } var res = int.Parse(output) % 97; return(res); }
/// <summary> /// Преобразовывает Банковский идентификационный код и код страны в числовое представление /// </summary> /// <param name="iban">Международный банковский номер счета</param> /// <returns></returns> public IBan ConvertToNumber(IBan iban) { var copied = (IBan)iban.Clone(); copied.BBan = ToNumber(iban.BBan); copied.CountryCode = ToNumber(iban.CountryCode); return(copied); }
private void CacheBan(object key, IBan ban) { CacheInstance(key, ban); var userKey = KeyHelpers.CreateUserCacheKey(ban.User.ID); Cache(userKey, ban.User); }
public EmbedBuilder ToEmbedBuilder(IBan discordBan, TimedActions?unbanAction) { var embedBuilder = new EmbedBuilder() .WithAuthor(discordBan.User) .WithColor(Color.Red) .WithDescription(discordBan.Reason) .WithFooter("Ban-Info"); if (unbanAction is { })
public EphemeralUser WithBanData(IBan ban) { if (ban is null) { return(this); } IsBanned = true; BanReason = ban.Reason; return(this); }
public async Task UnbanAsync([Summary("The user to unban")] IUser target) { IBan bannedUsers = await Context.Guild.GetBansAsync() as IBan; IUser banneduser = bannedUsers.User; if (banneduser.Equals(target)) { await Context.Guild.RemoveBanAsync(target); await Context.Channel.SendMessageAsync($"Unbanned user: {target}."); } }
public void BasicRooterTest() { // Create an instance to test: IBan iban1 = new IBan("123456789100001987654321"); // Define a test input and output value: bool expectedResult = true; // Run the method under test: bool realResult = iban1.Palindrome(iban1.IBAN); // Verify the result: Assert.AreEqual(expectedResult, realResult); }
public async static Task OnUserBanned(SocketUser user, SocketGuild guild) { Logging.BannedUser(user, guild); try { IBan ban = guild.GetBanAsync(user) as IBan; await user.CreateDMChannelAsync(); await user.SendMessageAsync($"You were banned from the Terraria Builders Community for reason: {ban.Reason} | In case of interest to appeal this ban, do this at https://terrariabuilders.com/community"); await Task.CompletedTask; } catch { await Task.CompletedTask; } return; }
public IBan Generate(string mfo, string accountNumber) { if (!ibanHelper.CheckInputData(mfo, accountNumber)) { return(new IBan()); } var iban = new IBan { Mfo = mfo, AccountNumber = ibanHelper.CompleteAccountNumber(accountNumber) }; iban.BBan = ibanHelper.GetBBan(iban); iban.CheckSum = ibanCheckSum.Get(ibanHelper.ConvertToNumber(iban)); iban.Iban = ibanHelper.GetIban(iban); return(iban); }
/// <summary> /// Конвертирует строку в обьект <see cref="IBan"/> /// </summary> /// <param name="iban"></param> /// <returns></returns> public IBan ConvertStringToIban(string iban) { if (iban.Length != StandartIbanLength) { return(new IBan()); } var _iban = new IBan { CountryCode = iban.Substring(0, 2), CheckSum = iban.Substring(2, 2), Iban = iban, Mfo = iban.Substring(4, StandartMfoLength), AccountNumber = iban.Substring(4 + StandartMfoLength, StandartAccountNumberLength) }; _iban.BBan = GetBBan(_iban); return(_iban); }
/// <summary> /// Caches a value. Certain instance types may have specializations which cache more than one value from the /// instance. /// </summary> /// <param name="key">The cache key.</param> /// <param name="instance">The instance.</param> /// <typeparam name="TInstance">The instance type.</typeparam> public void Cache <TInstance>(object key, TInstance instance) where TInstance : class { Action cacheAction = instance switch { IWebhook webhook => () => CacheWebhook(key, webhook), ITemplate template => () => CacheTemplate(key, template), IIntegration integration => () => CacheIntegration(key, integration), IBan ban => () => CacheBan(key, ban), IGuildMember member => () => CacheGuildMember(key, member), IGuildPreview preview => () => CacheGuildPreview(key, preview), IGuild guild => () => CacheGuild(key, guild), IEmoji emoji => () => CacheEmoji(key, emoji), IInvite invite => () => CacheInvite(key, invite), IMessage message => () => CacheMessage(key, message), IChannel channel => () => CacheChannel(key, channel), _ => () => CacheInstance(key, instance) }; cacheAction(); }
/// <summary> /// Возвращает комбинацию банковского кода и номера клиента /// </summary> /// <param name="iban">Международный банковский номер счета</param> /// <returns></returns> public string GetBBan(IBan iban) => iban.Mfo + iban.AccountNumber;
public BanViewModel Adapt(IBan ban) { var result = new BanViewModel(ban.UnbanTime, ban.PlayerName, ban.CreatorName, ban.DurationInSeconds, ban.Reason, ban.PlayerId); return(result); }
public bool Check(IBan iban) => _GetCheckSum(iban) == 1;
public string Get(IBan iban) => (98 - _GetCheckSum(iban)).ToString("00");
/// <summary> /// Возвращает Международный банковский номер счета /// </summary> /// <param name="iban">Международный банковский номер счета</param> /// <returns></returns> public string GetIban(IBan iban) => iban.CountryCode + iban.CheckSum + iban.BBan;
public static string GetString(this IBan ban) => $"{ban.User.Tag}: {ban.Reason}";