Exemplo n.º 1
0
        public async Task <IDiscordGuildUser> GetUserAsync(IDiscordGuild guild)
        {
            if (string.IsNullOrWhiteSpace(Argument))
            {
                return(null);
            }

            if (IsMention)
            {
                return(await guild.GetUserAsync(ulong.Parse(Argument
                                                            .TrimStart('<')
                                                            .TrimStart('@')
                                                            .TrimStart('!')
                                                            .TrimEnd('>'))));
            }
            else if (ulong.TryParse(Argument, out ulong id))
            {
                return(await guild.GetUserAsync(id));
            }
            return((await guild.GetUsersAsync())
                   .Where(x => x.Username.ToLower() == Argument.ToLower() ||
                          (x.Nickname?.ToLower() ?? "") == Argument.ToLower() ||
                          x.Username.ToLower() + "#" + x.Discriminator == Argument.ToLower())
                   .FirstOrDefault());
        }
Exemplo n.º 2
0
 public static string RemoveMentions(this ArgObject arg, IDiscordGuild guild)
 {
     return(Regex.Replace(arg.Argument, "<@!?(\\d+)>", (m) =>
     {
         return (guild.GetUserAsync(ulong.Parse(m.Groups[1].Value))).Result.Username;
     }, RegexOptions.None));
 }
Exemplo n.º 3
0
 public async Task <IDiscordUser> GetUserAsync(IDiscordGuild guild)
 {
     if (IsMention)
     {
         return(await guild.GetUserAsync(ulong.Parse(Argument
                                                     .TrimStart('<')
                                                     .TrimStart('@')
                                                     .TrimStart('!')
                                                     .TrimEnd('>'))));
     }
     else if (ulong.TryParse(Argument, out ulong id))
     {
         return(await guild.GetUserAsync(id));
     }
     return(await guild.GetUserAsync(Argument));
 }