Esempio n. 1
0
        public async Task <Unit> Handle(RestrictChannelCommand request, CancellationToken cancellationToken)
        {
            await _moderationService.RestrictChannelAccess(request.GuildId, request.UserId, request.ChannelId);

            await AddActiveChannelRestrict(request, cancellationToken);
            await AddActionLog(request, cancellationToken);

            var message = $"Your access to the {request.ChannelName} channel has been restricted for {request.TimeSpan.Humanize()}.\n\nAdditional comments: {request.Comments}";
            await _directMessageService.SendMessageAsync(request.GuildId, request.UserId, message);

            await _dbContext.SaveChangesAsync(cancellationToken);

            return(Unit.Value);
        }