Пример #1
0
        public async Task RemoveFromQueueAsync()
        {
            QueueExtensions.GetPosition(Context.User.Id, out var order);
            if (order == null)
            {
                await ReplyAsync("Sorry, you are not in the queue, or your order is happening now.").ConfigureAwait(false);

                return;
            }

            order.SkipRequested = true;
            await ReplyAsync($"{Context.User.Mention} - Your order has been removed. Please note that you will not be able to rejoin the queue again for a while.").ConfigureAwait(false);
        }
Пример #2
0
        public async Task ViewQueuePositionAsync()
        {
            var position = QueueExtensions.GetPosition(Context.User.Id, out _);

            if (position < 0)
            {
                await ReplyAsync("Sorry, you are not in the queue, or your order is happening now.").ConfigureAwait(false);

                return;
            }

            var message = $"{Context.User.Mention} - You are in the order queue. Position: {position}.";

            if (position > 1)
            {
                message += $" Your predicted ETA is {QueueExtensions.GetETA(position)}.";
            }

            await ReplyAsync(message).ConfigureAwait(false);
        }