コード例 #1
0
        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);
        }