예제 #1
0
        /// <summary>
        /// Collects reactions on a specific message.
        /// </summary>
        /// <param name="m">Message to colelct reactions on.</param>
        /// <param name="timeoutoverride">Override timeout period.</param>
        /// <returns></returns>
        public async Task <ReadOnlyCollection <Reaction> > CollectReactionsAsync(DiscordMessage m, TimeSpan?timeoutoverride = null)
        {
            var timeout    = timeoutoverride ?? Config.Timeout;
            var collection = await ReactionCollector.CollectAsync(new ReactionCollectRequest(m, timeout));

            return(new ReadOnlyCollection <Reaction>(collection.ToList()));
        }
        /// <summary>
        /// Collects reactions on a specific message.
        /// </summary>
        /// <param name="m">Message to collect reactions on.</param>
        /// <param name="timeoutoverride">Override timeout period.</param>
        /// <returns></returns>
        public async Task <ReadOnlyCollection <Reaction> > CollectReactionsAsync(DiscordMessage m, TimeSpan?timeoutoverride = null)
        {
            if (!Utilities.HasReactionIntents(this.Client.Configuration.Intents))
            {
                throw new InvalidOperationException("No reaction intents are enabled.");
            }

            var timeout    = timeoutoverride ?? this.Config.Timeout;
            var collection = await ReactionCollector.CollectAsync(new ReactionCollectRequest(m, timeout)).ConfigureAwait(false);

            return(new ReadOnlyCollection <Reaction>(collection.ToList()));
        }