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); }
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); }