geekbot/Geekbot.net/Lib/Logger/SimpleConextConverter.cs

71 lines
2.8 KiB
C#
Raw Normal View History

2018-04-30 23:44:19 +02:00
using Discord.Commands;
2017-12-29 01:00:31 +01:00
using Discord.WebSocket;
namespace Geekbot.net.Lib.Logger
2017-12-29 01:00:31 +01:00
{
public class SimpleConextConverter
{
public static MessageDto ConvertContext(ICommandContext context)
{
2018-04-30 23:44:19 +02:00
return new MessageDto
2018-02-20 09:34:26 +01:00
{
2018-04-30 23:44:19 +02:00
Message = new MessageDto.MessageContent
2018-02-20 09:34:26 +01:00
{
Content = context.Message.Content,
Id = context.Message.Id.ToString(),
Attachments = context.Message.Attachments.Count,
ChannelMentions = context.Message.MentionedChannelIds.Count,
UserMentions = context.Message.MentionedUserIds.Count,
RoleMentions = context.Message.MentionedRoleIds.Count
},
2018-04-30 23:44:19 +02:00
User = new MessageDto.IdAndName
2018-02-20 09:34:26 +01:00
{
Id = context.User.Id.ToString(),
Name = $"{context.User.Username}#{context.User.Discriminator}"
},
2018-04-30 23:44:19 +02:00
Guild = new MessageDto.IdAndName
2018-02-20 09:34:26 +01:00
{
Id = context.Guild?.Id.ToString(),
Name = context.Guild?.Name
2018-02-20 09:34:26 +01:00
},
2018-04-30 23:44:19 +02:00
Channel = new MessageDto.IdAndName
2018-02-20 09:34:26 +01:00
{
Id = context.Channel?.Id.ToString() ?? context.User.Id.ToString(),
Name = context.Channel?.Name ?? "DM-Channel"
2018-02-20 09:34:26 +01:00
}
};
2017-12-29 01:00:31 +01:00
}
2018-08-26 17:54:26 +02:00
public static MessageDto ConvertSocketMessage(SocketMessage message, bool isPrivate = false)
2017-12-29 01:00:31 +01:00
{
2018-08-26 17:54:26 +02:00
SocketGuildChannel channel = isPrivate ? null : (SocketGuildChannel) message.Channel;
2018-04-30 23:44:19 +02:00
return new MessageDto
2017-12-29 01:00:31 +01:00
{
2018-04-30 23:44:19 +02:00
Message = new MessageDto.MessageContent
2017-12-29 01:00:31 +01:00
{
Content = message.Content,
Id = message.Id.ToString(),
Attachments = message.Attachments.Count,
ChannelMentions = message.MentionedChannels.Count,
UserMentions = message.MentionedUsers.Count,
RoleMentions = message.MentionedRoles.Count
},
2018-04-30 23:44:19 +02:00
User = new MessageDto.IdAndName
2017-12-29 01:00:31 +01:00
{
Id = message.Author.Id.ToString(),
Name = $"{message.Author.Username}#{message.Author.Discriminator}"
},
2018-04-30 23:44:19 +02:00
Guild = new MessageDto.IdAndName
2017-12-29 01:00:31 +01:00
{
Id = channel?.Guild?.Id.ToString(),
Name = channel?.Guild?.Name
2017-12-29 01:00:31 +01:00
},
2018-04-30 23:44:19 +02:00
Channel = new MessageDto.IdAndName
2017-12-29 01:00:31 +01:00
{
Id = channel?.Id.ToString() ?? message.Author.Id.ToString(),
Name = channel?.Name ?? "DM-Channel"
2018-04-30 23:44:19 +02:00
}
2017-12-29 01:00:31 +01:00
};
}
}
}