public static MessageItem ConvertToMessageItem(this IMessage msg) { var channel = (SocketGuildChannel)msg.Channel; var msgSum = new MessageSummary { MessageId = msg.Id, Author = msg.Author.Username, Content = msg.Content, Timestamp = msg.Timestamp.ToUnixTimeMilliseconds() }; var channelSum = new ChannelSummary { ChannelId = channel.Id, Name = channel.Name }; var guildSum = new GuildSummary { GuildId = channel.Guild.Id, Name = channel.Guild.Name }; return(new MessageItem { Channel = channelSum, Guild = guildSum, Message = msgSum }); }
// TODO: Check if message came from a channel registered as an AlertChannel or DMs, if not then ignore public async Task OnMessageReceived(SocketMessage msg) { var channel = (SocketGuildChannel)msg.Channel; var gSum = new GuildSummary { GuildId = channel.Guild.Id, Name = channel.Guild.Name }; var cSum = new ChannelSummary { ChannelId = channel.Id, Name = channel.Name }; var mSum = new MessageSummary { Author = msg.Author.Username, Content = msg.Content, MessageId = msg.Id, Timestamp = msg.Timestamp.ToUnixTimeMilliseconds() }; await _messageCache.StoreMessageAsync(new MessageItem { Guild = gSum, Channel = cSum, Message = mSum }); Console.WriteLine($"Guild Name: {channel.Guild.Name}, Channel Name: {channel.Name}"); Console.WriteLine($"{channel.Guild.Name.ToLower()}.{channel.Name.ToLower()} - {msg.Author.Username} ({msg.Timestamp.DateTime:g})"); Console.WriteLine(msg.Content); Console.WriteLine(); }