private async Task Client_UserBanned(SocketUser user, SocketGuild guild) { RestBan ban = await guild.GetBanAsync(user); RestAuditLogEntry logEntry = await GetAuditLogEntry(guild); if (logEntry.Action != ActionType.Ban) { return; } BanAuditLogData data = (BanAuditLogData)logEntry.Data; string targetUsername = "******" + user + "** _(" + user.Id + ")_"; string adminUsername = "******" + logEntry.User + "**"; string msg = targetUsername + " was banned by " + adminUsername + "\nReason: " + (string.IsNullOrEmpty(ban.Reason) ? "No reason provided." : ban.Reason); foreach (SocketTextChannel channel in Global.SECURITY_CHANNELS) { if (channel.Guild.Id == guild.Id) { await SendSecurityLog(msg, new Color(255, 0, 0), channel, logEntry.Id.ToString(), logEntry.User.GetAvatarUrl()); break; } } }
private async Task OnUserBanned(SocketUser user, SocketGuild server) { var banData = server.GetBanAsync(user.Id); var banningUser = GetBanningUserFromAuditLog(server, user.Id); var banReason = banData.Result.Reason ?? StringConstants.NoReasonGiven; _banningService.StoreBan( banData.Result.User.Id, banData.Result.User.Username, banningUser.Id, banningUser.Username, 0, banReason ); try { var dmChannel = await user.GetOrCreateDMChannelAsync(); dmChannel.SendMessageAsync($"You have been banned from **{server.Name}**. This ban is permanent."); } catch (Exception e) { Logger.Write($"Failed to send ban notification to {user.Username}: {e.Message}"); } Logger.Write($"[OnUserBanned] {banningUser.Username} banned {user.Username} for {banReason}"); }
private async Task CheckCaseEntities(SocketGuild guild, ILiteCollection <CaseEntity> collection) { var caseEntites = collection.Find(entity => entity.GuildId == guild.Id); foreach (var entity in caseEntites) { switch (entity.CaseType) { case CaseType.Ban: try { var ban = await guild.GetBanAsync(entity.UserId); if (ban == null) { throw new Exception(); } } catch { await guild.AddBanAsync(entity.UserId, 0, entity.Reason); } break; } } }
private async Task OnUserBanned(SocketUser user, SocketGuild guild) { if (!Active || !Android.Active) { return; } if (guild.Id != Android.GuildID) { return; } string banReason = ""; try { var ban = await guild.GetBanAsync(user); banReason = " for " + (string.IsNullOrWhiteSpace(ban.Reason) ? "no reason" : ("\"" + ban.Reason + "\"")); } catch (Exception) { Console.WriteLine("Failed to get ban reason for " + user.Username); } await Append($"{user.Username}#{user.Discriminator} banned on {DateTime.UtcNow}{banReason}"); await Task.CompletedTask; }
private async Task UserBaned(SocketUser arg1, SocketGuild arg2) { try { var guild = ConstVariables.CServer[arg2.Id]; RestBan banned = await arg2.GetBanAsync(arg1); EmbedBuilder builder = new EmbedBuilder(); Random ran = new Random(); builder.WithFooter(arg2.Name, arg2.IconUrl) .WithTitle("Бан") .WithColor(ConstVariables.InfoColor); switch (ran.Next(0, 5)) { case 0: { builder.WithImageUrl("https://media.discordapp.net/attachments/462236317926031370/517352024640323584/ban_2.gif"); break; } case 1: { builder.WithImageUrl("https://media.discordapp.net/attachments/462236317926031370/517352068328194059/ban_3.gif?width=405&height=475"); break; } case 2: { builder.WithImageUrl("https://media.discordapp.net/attachments/462236317926031370/517352083226230794/ban_1.gif"); break; } default: { builder.WithImageUrl("https://media.discordapp.net/attachments/462236317926031370/464149984619528193/tumblr_oda2o7m3NR1tydz8to1_500.gif"); break; } } builder.WithDescription($"Пользователь: {arg1.Mention} - забанен") .AddField($"Причина", banned.Reason ?? "неуказанно", true); ConstVariables.CServer[arg2.Id].EndUser = arg1.Id; await guild.GetDefaultChannel().SendMessageAsync("", false, builder.Build()); ConstVariables.Logger.Info($"is func 'Ban' is Guild '{arg2.Name}' is user '{arg1.Username}#{arg1.Discriminator}' is Admin '{banned.User}' is Reason '{banned.Reason}'"); } catch (Exception e) { ConstVariables.Logger.Error($"is func 'Ban' is Guild '{arg2.Name}' is user '{arg1.Username}#{arg1.Discriminator}' is error '{e}'"); } }
public static async Task UserBanned(SocketUser user, SocketGuild guild) { Console.WriteLine("ReceivedBanEvent"); if ((await guild.GetBanAsync(user.Id)).Reason.Contains(DiscordBot.client.CurrentUser.Id.ToString()) == false) { BanInfo banInfo = new BanInfo() { Source = "Ban Event", Reason = (await guild.GetBanAsync(user.Id)).Reason, UserId = user.Id, Username = user.Username, UserDiscriminator = user.Discriminator, UserNickname = guild.GetUser(user.Id).Nickname, UserCreationDate = user.CreatedAt, JoinDate = guild.GetUser(user.Id).JoinedAt }; await DiscordBot.SendBanMessage(banInfo); } }
public static async Task <RestBan> FindBanAsync(this SocketGuild guild, IUser user) { try { return(await guild.GetBanAsync(user)); } catch (HttpException ex) when(ex.DiscordCode == (int)DiscordJsonCodes.UnknownBan) { return(null); } }
private async Task _client_UserBanned(SocketUser user, SocketGuild guild) { if (GuildSettings.GetGuildSettings(guild).SendLeaveMessage) { var r = await guild.GetBanAsync(user); var channel = GuildSettings.GetGuildSettings(guild).TestCommandChannel; _ = channel.SendMessageAsync($"{user.Mention} left the party :) {r.Reason}"); } await Task.CompletedTask; }
private async Task OnUserBanned(SocketUser userBanned, SocketGuild guild) { var guildId = await _servers.GetEventLogChannel(guild.Id); var banAsync = await guild.GetBanAsync(userBanned); var reason = banAsync.Reason; if (_client.GetChannel(guildId) is ISocketMessageChannel logChannel) { await logChannel.SendMessageAsync($"{userBanned.Mention} has been banned from {guild.Name} " + $"at {DateTime.Now} with reason : {reason}!"); } }
private async Task LogUserBanned(SocketUser user, SocketGuild guild) { RestBan ban = await guild.GetBanAsync((IUser)user); var embed = new EmbedBuilder() .WithTitle("User Banned") .WithColor(Color.DarkRed) .WithCurrentTimestamp() .WithDescription($"User: {user.Username}\nUser ID: {user.Id}\nBot User: {isBotUser(user)}" + $"\nReason for ban: ```{((ban?.Reason != null) ? ban?.Reason : "No reason given")}```").Build(); if (Global.userEventLogChannel != null) { await Global.userEventLogChannel.SendMessageAsync(embed : embed); } }
private async Task Client_UserBanned(SocketUser user, SocketGuild guild) { string banReason = ""; try { var ban = await guild.GetBanAsync(user); banReason = " for " + (string.IsNullOrWhiteSpace(ban.Reason) ? "no reason" : ("\"" + ban.Reason + "\"")); } catch (Exception) { Console.WriteLine("Failed to get ban reason for " + user.Username); } await Append($"{user.Username}#{user.Discriminator} banned on {DateTime.Now.ToString()}{banReason}"); await Task.CompletedTask; }
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 static async Task UserBanned(SocketUser socketUser, SocketGuild socketGuild) { //Insert banned users into the database by using INSERT IGNORE List <(string, string)> queryParams = new List <(string id, string value)>() { ("@issuedTo", socketUser.Id.ToString()), ("@issuedBy", DiscordBot.Bot.CurrentUser.Id.ToString()), ("@inGuild", socketGuild.Id.ToString()), ("@reason", socketGuild.GetBanAsync(socketUser.Id).GetAwaiter().GetResult().Reason), ("@date", DateTime.Now.ToString("u")) }; DatabaseActivity.ExecuteNonQueryCommand( "INSERT IGNORE INTO " + "bans(issuedTo,issuedBy,inGuild,banDescription,dateIssued) " + "VALUES (@issuedTo, @issuedBy, @inGuild, @reason, @date);", queryParams); //end. }
private async Task ShardOnUserBanned(SocketUser user, SocketGuild socketGuild) { GuildBson guild = await this.database.LoadRecordsByGuildId(socketGuild.Id); if (GetRestTextChannel(this.shard, guild.UserBannedEvent, out RestTextChannel restTextChannel)) { RestBan ban = await socketGuild.GetBanAsync(user.Id); List <EmbedFieldBuilder> fields = new() { new EmbedFieldBuilder { Name = "Username", Value = user.Username }, new EmbedFieldBuilder { Name = "User Id", Value = user.Id }, new EmbedFieldBuilder { Name = "Ban reason", Value = ban.Reason } }; EmbedBuilder embedBuilder = new() { Color = Color.Red, Fields = fields, ImageUrl = user.GetAvatarUrl(), Footer = new EmbedFooterBuilder { Text = $"Banned on {DateTime.UtcNow} UTC" } }; await restTextChannel.SendMessageAsync("", false, embedBuilder.Build()); } } } }
public virtual Task <RestBan> GetBanAsync(IUser user, RequestOptions?options) { return(_socketGuild.GetBanAsync(user, options)); }