public async Task SendMessageReport(Cacheable <IMessage, ulong> cache, ISocketMessageChannel channel) { SocketGuildChannel socketChannel = (SocketGuildChannel)channel; var db = new BotBaseContext(); var config = db.ServerConfig.AsQueryable().Where(s => s.ServerId == socketChannel.Guild.Id).FirstOrDefault(); if (config != null && config.MessageId != 0) { IGuild server = bot.GetGuild(config.ServerId); ITextChannel sendChannel = await server.GetTextChannelAsync(config.MessageId); var message = await cache.GetOrDownloadAsync(); var embed = new JifBotEmbedBuilder(); embed.Title = "A message has been deleted"; if (message != null) { embed.Description = "\"" + message.Content + "\""; embed.AddField("in " + channel.Name, "sent by: " + message.Author); embed.ThumbnailUrl = message.Author.GetAvatarUrl(); } else { embed.AddField("in " + channel.Name, "message unknown"); } await sendChannel.SendMessageAsync("", false, embed.Build()); } }
public async Task AnnounceLeftUser(SocketGuildUser user) { Console.WriteLine("User " + user.Username + " Left " + user.Guild.Name); var db = new BotBaseContext(); var config = db.ServerConfig.AsQueryable().Where(s => s.ServerId == user.Guild.Id).FirstOrDefault(); if (config != null && config.LeaveId != 0) { IGuild server = user.Guild; ITextChannel channel = await server.GetTextChannelAsync(config.LeaveId); var embed = new JifBotEmbedBuilder(); embed.ThumbnailUrl = user.GetAvatarUrl(); embed.Title = $"**{user.Username} Left The Server:**"; embed.Description = $"**User:**{user.Mention}"; await channel.SendMessageAsync("", false, embed.Build()); } }