Example #1
0
 public static string RemoveMentions(this string arg, IDiscordGuild guild)
 {
     return(Regex.Replace(arg, "<@!?(\\d+)>", (m) =>
     {
         return guild.GetMemberAsync(ulong.Parse(m.Groups[1].Value)).Result.Username;
     }, RegexOptions.None));
 }
Example #2
0
 public static async Task <IDiscordGuildUser> FindUserByIdAsync(IDiscordGuild guild, string id)
 {
     if (ulong.TryParse(id, out ulong userId))
     {
         return(await guild.GetMemberAsync(userId));
     }
     throw new InvalidEntityException("id");
 }
Example #3
0
        public static async Task <IDiscordGuildUser> FindUserByMentionAsync(IDiscordGuild guild, string id)
        {
            if (!Mention.TryParse(id, out var mention))
            {
                throw new InvalidEntityException("user");
            }

            if (mention.Type == MentionType.USER ||
                mention.Type == MentionType.USER_NICKNAME)
            {
                return(await guild.GetMemberAsync(mention.Id));
            }
            throw new InvalidEntityException("user");
        }
Example #4
0
        public async Task ReasonAsync(IDiscordGuild guild, MessageContext context, int id, [Remaining] string reason)
        {
            var warning = await _warningRepository.GetAsync(id);

            if (warning == null)
            {
                context.Response.AddError(_localizer["Moderation.Warn.NotFound"].WithToken("id", id));
                return;
            }

            var user = await guild.GetMemberAsync(warning.UserId);

            warning.Reason = reason;

            await _warningRepository.UpdateAsync(warning);

            await _consoleService.UpdateWarningMessageAsync(context, warning, user, context.User);
        }