示例#1
0
        public static LavaQueue <T> AddFirst <T>(this LavaQueue <T> queue, T item) where T : IQueueObject
        {
            LinkedList <T> items = (LinkedList <T>)queue.GetType().GetField("_linked", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(queue);

            items.AddFirst(item);
            return(queue);
        }
        private static Embed GetRefreshedQueue(IEmbed previousEmbed, LavaQueue queue)
        {
            EmbedBuilder builder = previousEmbed.ToEmbedBuilder();

            AddQueueInfo(builder, queue);
            builder.WithCurrentTimestamp();

            return(builder.Build());
        }
        private static void AddQueueInfo(EmbedBuilder builder, LavaQueue queue)
        {
            string queueStr = queue?.ToString();

            builder.Fields[4].Value = string.IsNullOrEmpty(queueStr) ? "-" : queueStr;
        }
示例#4
0
 public static LavaQueue <T> SetValue <T>(this LavaQueue <T> queue, IEnumerable <T> values) where T : IQueueObject
 {
     queue.GetType().GetField("_linked", BindingFlags.Instance | BindingFlags.NonPublic).SetValue(queue, values);
     return(queue);
 }