コード例 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="InlineReactionCallback"/> class.
 /// </summary>
 /// <param name="interactive">
 /// The interactive.
 /// </param>
 /// <param name="context">
 /// The context.
 /// </param>
 /// <param name="data">
 /// The data.
 /// </param>
 /// <param name="criterion">
 /// The criterion.
 /// </param>
 public InlineReactionCallback(
     InteractiveService interactive,
     SocketCommandContext context,
     ReactionCallbackData data,
     ICriterion <SocketReaction> criterion = null)
 {
     this.interactive = interactive;
     Context          = context;
     this.data        = data;
     Criterion        = criterion ?? new EmptyCriterion <SocketReaction>();
     Timeout          = data.Timeout ?? TimeSpan.FromSeconds(30);
 }
コード例 #2
0
 public InlineReactionCallback(
     InteractiveService interactive,
     SocketCommandContext context,
     ReactionCallbackData data,
     ICriterion <SocketReaction> criterion = null)
 {
     _interactive = interactive;
     Context      = context;
     _data        = data;
     Criterion    = criterion ?? new EmptyCriterion <SocketReaction>();
     Timeout      = data.Timeout;
 }
コード例 #3
0
        /// <summary>
        /// Sends a message with reaction callbacks
        /// </summary>
        /// <param name="context">
        /// The context.
        /// </param>
        /// <param name="reactionCallbackData">
        /// The callbacks.
        /// </param>
        /// <param name="fromSourceUser">
        /// The from source user.
        /// </param>
        /// <returns>
        /// The <see cref="Task"/>.
        /// </returns>
        public async Task <IUserMessage> SendMessageWithReactionCallbacksAsync(SocketCommandContext context,
                                                                               ReactionCallbackData reactionCallbackData, bool fromSourceUser = true)
        {
            var criterion = new Criteria <SocketReaction>();

            if (fromSourceUser)
            {
                criterion.AddCriterion(new EnsureReactionFromSourceUserCriterion());
            }

            var callback = new InlineReactionCallback(this, context, reactionCallbackData, criterion);
            await callback.DisplayAsync().ConfigureAwait(false);

            return(callback.Message);
        }