public async Task IssueBanFor(string username, string channelToBanFrom, string systemReason)
        {
            var suspensionsForUser = await suspensionRepository.GetSuspensionsForUser(username).ConfigureAwait(false);

            var suspensionsForUserInChannel = suspensionsForUser.Where(x => string.Equals(x.ChannelOfOrigin, channelToBanFrom, StringComparison.OrdinalIgnoreCase));

            if (suspensionsForUserInChannel.Any(x => x.SuspensionType == SuspensionType.Ban && !x.InvalidSuspension && x.Audited))
            {
                logger.LogInformation("{arg} has already been banned from {arg2}", username, channelToBanFrom);
                return;
            }

            client.BanUser(username, channelToBanFrom, systemReason);
        }