예제 #1
0
        public static ModixUser FromIGuildUser(IGuildUser user)
        {
            var ret = new ModixUser
            {
                Name       = user.GetFullUsername(),
                UserId     = user.Id,
                AvatarHash = user.GetAvatarUrl() ?? user.GetDefaultAvatarUrl()
            };

            return(ret);
        }
예제 #2
0
        public static ModixUser FromSocketGuildUser(SocketGuildUser user)
        {
            var ret = new ModixUser
            {
                Name       = $"{user.Username}#{user.Discriminator}",
                UserId     = user.Id,
                AvatarHash = user.GetAvatarUrl() ?? user.GetDefaultAvatarUrl()
            };

            return(ret);
        }
예제 #3
0
        public static ModixUser FromClaimsPrincipal(ClaimsPrincipal user)
        {
            if (user?.Identity?.Name == null)
            {
                return(null);
            }

            var ret = new ModixUser
            {
                Name   = user.Identity.Name,
                UserId = ulong.Parse(user.Claims.FirstOrDefault(d => d.Type == ClaimTypes.NameIdentifier).Value),
                Claims = user.Claims.Where(d => d.Type == ClaimTypes.Role).Select(d => d.Value).ToList()
            };

            return(ret);
        }