/// <summary> /// Sends a message with reaction callback /// </summary> /// <param name="context"></param> /// <param name="callbacks"></param> /// <param name="fromSourceUser"></param> /// <returns></returns> public async Task <IUserMessage> SendMessageWithReactionCallbacksAsync(SocketCommandContext context, ReactionCallbackData callbacks, bool fromSourceUser = true) { var criterion = new Criteria <SocketReaction>(); if (fromSourceUser) { criterion.AddCriterion(new EnsureReactionFromSourceUserCriterion()); } var callback = new InlineReactionCallback(new InteractiveService(Discord.GetShardFor(context.Guild)), context, callbacks, criterion); await callback.DisplayAsync().ConfigureAwait(false); return(callback.Message); }
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); }
/// <summary> /// Sends a Message with reaction callback /// </summary> /// <param name="context"></param> /// <param name="callbacks"></param> /// <param name="fromSourceUser"></param> /// <returns></returns> public async Task <IUserMessage> SendMessageWithReactionCallbacksAsync(SocketCommandContext context, ReactionCallbackData callbacks, bool fromSourceUser = true) { if (callbacks.Text == null) { throw new Exception("Input text must not be null. Use an empty string instead."); } var criterion = new Criteria <SocketReaction>(); if (fromSourceUser) { criterion.AddCriterion(new EnsureReactionFromSourceUserCriterion()); } var callback = new InlineReactionCallback(new InteractiveService(Discord.GetShardFor(context.Guild)), context, callbacks, criterion); await callback.DisplayAsync().ConfigureAwait(false); return(callback.Message); }