Laravel wrapper for AI SpamDetector – protect your contact forms from spam and bots using OpenAI GPT. This package provides seamless Laravel integration for intelligent spam filtering with minimal setup.
- 🧠 AI-based spam detection using OpenAI GPT
- ⚡️ Lightweight and efficient
- 🛠️ Simple configuration with
.env
composer require your-vendor/laravel-ai-spamdetectorYou can configure the package in two ways:
Add the following to your .env file:
AI_SPAMDETECTOR_OPENAI_API_KEY=your-openai-api-key
AI_SPAMDETECTOR_OPENAI_ORGANIZATION=openai-organization-id
AI_SPAMDETECTOR_OPENAI_PROJECT=your-openai-project-id # Optional
AI_SPAMDETECTOR_OPENAI_BASE_URI=api.openai.com/v1 # Optional, defaults to OpenAI API
AI_SPAMDETECTOR_OPENAI_MODEL=gpt-4 # Optional, default is gpt-4💡 If you already have
OPENAI_API_KEYdefined in your project, it will be used automatically — no need to duplicate it. Available fallback variables:
OPENAI_API_KEYOPENAI_ORGANIZATIONOPENAI_PROJECTOPENAI_BASE_URIOPENAI_MODEL
If you need more control, publish the configuration file:
php artisan vendor:publish --provider="Isapp\LaravelAiSpamdetector\SpamDetectorServiceProvider"use Illuminate\Http\Request;
use Isapp\AiSpamdetector\SpamDetector;
public function index (Request $request, SpamDetector $spamDetector)
{
$request->validate([
'name' => 'required|string|max:255',
'email' => 'required|string|max:255',
'message' => 'required|string|max:255',
]);
$formData = new \Isapp\AiSpamdetector\FormData(
name: $request->input('name'),
email: $request->input('email'),
message: $request->input('message'),
userAgent: $request->header('User-Agent')
);
$isNotSpam = $spamDetector->analyze($formData);
if ($isNotSpam) {
// Process the form submission
} else {
// Handle spam detection
}
}use Illuminate\Http\Request;
use Isapp\LaravelAiSpamdetector\Facades\SpamDetector;
public function index (Request $request)
{
$request->validate([
'name' => 'required|string|max:255',
'email' => 'required|string|max:255',
'message' => 'required|string|max:255',
]);
$formData = new \Isapp\AiSpamdetector\FormData(
name: $request->input('name'),
email: $request->input('email'),
message: $request->input('message'),
userAgent: $request->header('User-Agent')
);
$isNotSpam = SpamDetector::analyze($formData);
if ($isNotSpam) {
// Process the form submission
} else {
// Handle spam detection
}
}Please, submit bugs or feature requests via the Github issues.
Pull requests are welcomed!
Thanks!
This project is open-sourced software licensed under the MIT License.
You are free to use, modify, and distribute it in your projects, as long as you comply with the terms of the license.
Maintained by ISAPP and ISAP OÜ.
Check out our software development services at isap.me.
