---
title: "Automatické moderovanie — Reviews for Laravel | Roundly"
description: "Preverujte nové aj upravené recenzie vstavaným filtrom zakázaných slov alebo vlastným ReviewModerator — schváliť, zamietnuť, ponechať."
url: https://roundly-consulting.com/sk/open-source/navody/reviews-for-laravel/automaticke-moderovanie
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Reviews for Laravel](https://roundly-consulting.com/sk/open-source/navody/reviews-for-laravel.md)

# Automatické moderovanie

Každá nová recenzia, ktorá nie je vynútene schválená — a každá úprava hodnotenia, nadpisu či textu recenzie (pozrite Úpravy a mazanie) — prejde nakonfigurovaným ReviewModerator. Ten vráti ModerationOutcome: schváliť, zamietnuť (s voliteľným dôvodom) alebo ponechať na neskôr. Predvolený NullModerator vždy odpovie pending, recenzie si teda ponechajú predvolený stav.

## Filter zakázaných slov

Pribalený WordListModerator bez závislostí automaticky zamietne každú recenziu, ktorej nadpis alebo text obsahuje zakázané slovo — ako celé slovo, bez ohľadu na veľkosť písmen a v akomkoľvek písme, takže idiót či дурак zachytí rovnako ako scam. Čisté recenzie ostanú čakať na bežné schválenie:

```php
// config/reviews.php
'moderator' => RoundlyConsulting\Reviews\Moderation\WordListModerator::class,
'moderation' => ['banned_words' => ['spam', 'scam']],
```

Alebo zoznam ponechajte v prostredí:

```bash
REVIEWS_BANNED_WORDS=spam,scam,casino
```

Položka s medzerou alebo interpunkciou (rip off, f\*ck) sa rozdelí na slová rovnako ako text a hľadá sa ako súvislý sled slov: What a rip off a f\*ck this sa zamietnu, ripoff a trip offer nie. Položka bez jediného slova (\*\*\*) sa ignoruje.

Zamietnutá recenzia dostane ako meta.rejection\_reason preložiteľnú správu reviews::messages.review.banned\_word.

## Vlastný moderátor

Implementujte kontrakt a zaregistrujte ho cez konfiguračný kľúč moderator. Vytvára sa z kontajnera, takže funguje aj injektovanie cez konštruktor:

```php
use RoundlyConsulting\Reviews\Contracts\ReviewModerator;
use RoundlyConsulting\Reviews\DataTransferObjects\ModerationOutcome;
use RoundlyConsulting\Reviews\Models\Review;

final class TrustedBuyerModerator implements ReviewModerator
{
    public function moderate(Review $review): ModerationOutcome
    {
        if (str_contains((string) $review->content, 'http')) {
            return ModerationOutcome::reject('Links are not allowed');
        }

        if ($review->verified && $review->rating !== null) {
            return ModerationOutcome::approve();
        }

        return ModerationOutcome::pending();   // leave it for a human
    }
}

// config/reviews.php
'moderator' => App\Reviews\TrustedBuyerModerator::class,
```

- ModerationOutcome::approve() — okamžite schválené, nastaví sa approved\_at.
- ModerationOutcome::reject('dôvod') — zamietnuté, dôvod sa uloží do meta.rejection\_reason.
- ModerationOutcome::pending() — ponechané v default\_status na posúdenie človekom.

Moderátor vidí celú, ešte neuloženú recenziu: $review->author a $review->reviewable sú už priradené a $review->exists odlíši vytvorenie (false) od úpravy (true, getOriginal() drží predchádzajúce hodnoty). Zamietnuté recenzie a odpovede vlastníka sa znova nemoderujú.

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/reviews-for-laravel.md)
