Esempio n. 1
0
        public static void CreateCustomReactionMessage(BotCommandContext context, IUserMessage message, CustomReactionAction defaultAction, bool allowMultipleReactions = false, int timeout = 300000, Action onTimeout = null)
        {
            var reactionMessage = new ReactionMessage(context, message, defaultAction, allowMultipleReactions);

            ReactionMessageCache.Add(message.Id.ToString(), reactionMessage, new CacheItemPolicy {
                SlidingExpiration = TimeSpan.FromMilliseconds(timeout), RemovedCallback = onTimeout == null ? null : (CacheEntryRemovedCallback)(_ => onTimeout())
            });
        }
Esempio n. 2
0
        public static void CreateReactionMessage(BotCommandContext context, IUserMessage message, Dictionary <string, ReactionAction> actions, bool allowMultipleReactions = false, int timeout = 300000, Action onTimeout = null)
        {
            foreach (string e in actions.Keys)
            {
                message.AddReactionAsync(Emote.TryParse(e, out Emote emote) ? emote : (IEmote) new Emoji(e));
            }

            var reactionMessage = new ReactionMessage(context, message, actions, allowMultipleReactions);

            ReactionMessageCache.Add(message.Id.ToString(), reactionMessage, new CacheItemPolicy {
                SlidingExpiration = TimeSpan.FromMilliseconds(timeout), RemovedCallback = onTimeout == null ? null : (CacheEntryRemovedCallback)(_ => onTimeout())
            });
        }
Esempio n. 3
0
 private static void DeleteReactionMessage(ReactionMessage reactionMessage)
 {
     ReactionMessageCache.Remove(reactionMessage.Message.ToString());
 }