public async Task <DiscordMessage> ReplyEditWithReply(DiscordMessage message, string text, bool add = false, bool isCancellable = false, Action <InteractivityResult <DiscordMessage> > replyHandler = null, Func <DiscordMessage, bool> replyPredicate = null) { _recentMessage = await ReplyEdit(message, text, add : add, isCancellable : isCancellable); if (replyPredicate == null) { replyPredicate = ResponsePredicate; } if (!_options.AcceptAnyUser) { var result = await message.GetNextMessageAsync(predicate : replyPredicate); _messages.Add(result.Result); _recentMessage = result.Result; replyHandler.Invoke(result); } else { var result = await Bot.Interactivity.WaitForMessageAsync(replyPredicate); _messages.Add(result.Result); _recentMessage = result.Result; replyHandler.Invoke(result); } return(_recentMessage); }