public static async void Warn(DiscordClient client, DiscordMember moderator, DiscordGuild guild, DiscordMember member, string reason) { //if (!UserList.Users.ContainsKey(member.Id)) User.Create(member.Id); var id = RandomString.NextString(6); var date = DateTime.Now; var message = await guild.GetChannel(Bot.BotSettings.ModlogChannel).SendMessageAsync ("**Предупреждение**\n\n" + $"**От:** {moderator}\n" + $"**Кому:** {member}\n" + $"**Дата:** {date}\n" + $"**ID предупреждения:** {id}\n" + $"**Количество предупреждений:** {WarnSQL.GetForUser(member.Id).Count + 1}\n" + $"**Причина:** {reason}"); //await message.CreateReactionAsync(DiscordEmoji.FromName(client, ":pencil2:")); //await message.CreateReactionAsync(DiscordEmoji.FromName(client, ":no_entry:")); var warn = WarnSQL.Create(id, member.Id, moderator.Id, reason, date, message.Id); try { await member.SendMessageAsync("Вы получили предупреждение от модератора " + $"**{moderator.Username}#{moderator.Discriminator}**. Причина: {reason}. " + $"ID предупреждения: `{id}`"); } catch (UnauthorizedException) { //user can block the bot } }
public async Task Warn(CommandContext ctx, DiscordUser user, [RemainingText] string reason = "Не указана") { if (!Bot.IsModerator(ctx.Member)) { await ctx.RespondAsync($"{Bot.BotSettings.ErrorEmoji} У вас нет доступа к этой команде!"); return; } var id = RandomString.NextString(6); var warnsCount = WarnSQL.GetForUser(user.Id).Count + 1; var message = await ctx.Guild.GetChannel(Bot.BotSettings.ModlogChannel).SendMessageAsync ("**Предупреждение**\n\n" + $"**От:** {ctx.User}\n" + $"**Кому:** {user.Username}#{user.Discriminator}\n" + $"**Дата:** {DateTime.Now}\n" + $"**ID предупреждения:** {id}\n" + $"**Количество предупреждений:** {warnsCount}\n" + $"**Причина:** {reason}"); WarnSQL.Create(id, user.Id, ctx.Member.Id, reason, DateTime.Now, message.Id); await ctx.RespondAsync($"{Bot.BotSettings.OkEmoji} Успешно выдано предупреждение {user.Username}#{user.Discriminator}! Количество предупреждений: **{warnsCount}**"); }