Added Database Table for detected bad chat messages and add them automatically if the profanity filter detects something.

This commit is contained in:
Vari
2024-07-23 20:54:34 +02:00
parent 4e81dec317
commit b411a34189
7 changed files with 185 additions and 5 deletions

View File

@@ -3,20 +3,37 @@
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Http\Requests\Api\Moderation\CheckChatMessageRequest;
use App\Http\Requests\Api\Player\CheckUsernameRequest;
use App\Http\Responses\Api\Player\CheckUsernameResponse;
use Illuminate\Http\Request;
use App\Models\Admin\BadChatMessage;
use App\Models\User\User;
use ConsoleTVs\Profanity\Builder;
use Illuminate\Support\Facades\Auth;
class ModerationController extends Controller
{
public function checkUsername(CheckUsernameRequest $request)
public function checkUsername(CheckUsernameRequest $request): mixed
{
return json_encode(new CheckUsernameResponse($request->userId, $request->username));
}
public function checkChatMessage()
public function checkChatMessage(CheckChatMessageRequest $request): mixed
{
return ['message' => 'TEst'];
$checker = Builder::blocker($request->message);
if($checker->clean())
return response('{}');
$this->logBadMessage(Auth::user(), $request->message);
return response('Bad Message >:(');
}
public function logBadMessage(User $user, string $message): void {
$badMessage = new BadChatMessage();
$badMessage->user()->associate($user);
$badMessage->message = $message;
$badMessage->save();
}
}