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()) }); }
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()) }); }
private static void DeleteReactionMessage(ReactionMessage reactionMessage) { ReactionMessageCache.Remove(reactionMessage.Message.ToString()); }