Complete documentation for Seerror platform - API references, setup guides, deployment instructions, and more
This documentation hub contains everything you need to get started with Seerror platform, from quick start guides to advanced deployment configurations.
What you'll find here:
💡 Tip: Use the sidebar navigation to quickly jump to any section. All documentation is organized by category for easy access.
Fastest way to get started with Seerror platform. Learn the basics and run your first security audit.
Topics covered:
Complete guide to setting up environment variables and configuration for Seerror.
Topics covered:
Configure OpenAI API key for AI-powered features and chat functionality.
What you'll learn:
Configure Razorpay payment gateway for subscription and payment processing.
What you'll learn:
Configure email services (Gmail SMTP, SendGrid, etc.) for notifications and communications.
Available guides:
Configure Google Firestore database for user data, credits, and application state.
What you'll learn:
Configure SEO settings, meta tags, structured data, and search engine optimization.
What you'll learn:
Complete guide to deploying Seerror backend to production environments.
What you'll learn:
Pre-deployment checklist and steps to ensure successful deployment.
Checklist items:
Deploy backend to Vercel platform with step-by-step instructions.
What you'll learn:
Deploy using Docker containers with comprehensive setup instructions.
What you'll learn:
Learn about the orchestrator system that provides 3-6x performance improvement through parallel execution.
What you'll learn:
Complete changelog of all changes, optimizations, and improvements to the backend.
Includes:
Instructions for running the backend application locally and in production.
What you'll learn:
Solutions to common errors, issues, and troubleshooting steps for Seerror platform.
Common issues covered:
Testing guides for webhooks, community chat, and other features.
Available testing guides:
Complete REST API reference for Seerror website security and SEO analysis platform.
Base URL:
https://seerror-backend.fly.dev
All API requests should be made to the base URL above. See the Endpoints section for detailed API documentation.
The API uses authentication via API keys. Contact us to get your API key for production use.
Authentication uses API keys passed in the Authorization header:
Authorization: Bearer YOUR_API_KEY
Contact us to get your API key for production use.
All API requests should be made to:
https://seerror-backend.fly.dev
/inspect
Complete website analysis with configurable audits. Returns comprehensive security, SEO, and performance analysis.
| Parameter | Type | Required | Description |
|---|---|---|---|
url |
string | Yes | The website URL to analyze (must include http:// or https://) |
audits |
object | No | Configuration object for which audits to run |
audits.security |
boolean | No | Enable security audit (default: true) |
audits.seo |
boolean | No | Enable SEO audit (default: true) |
audits.performance |
boolean | No | Enable performance audit (default: true) |
const response = await fetch('https://seerror-backend.fly.dev/inspect', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
url: 'https://example.com',
audits: {
security: true,
seo: true,
performance: true
}
})
});
const data = await response.json();
console.log(data);
import requests
url = 'https://seerror-backend.fly.dev/inspect'
payload = {
'url': 'https://example.com',
'audits': {
'security': True,
'seo': True,
'performance': True
}
}
response = requests.post(url, json=payload)
data = response.json()
print(data)
curl -X POST https://seerror-backend.fly.dev/inspect \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"audits": {
"security": true,
"seo": true,
"performance": true
}
}'
$url = 'https://seerror-backend.fly.dev/inspect';
$data = [
'url' => 'https://example.com',
'audits' => [
'security' => true,
'seo' => true,
'performance' => true
]
];
$options = [
'http' => [
'header' => "Content-Type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($data)
]
];
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
$response = json_decode($result, true);
print_r($response);
{
"security_score": 85,
"seo_score": 92,
"performance_score": 78,
"vulnerabilities": [...],
"seo_issues": [...],
"performance_metrics": {...},
...
}
/chat
AI chat assistant for website analysis queries. Ask questions about your website's security, SEO, or performance.
| Parameter | Type | Required | Description |
|---|---|---|---|
message |
string | Yes | Your question or message to the AI assistant |
url |
string | No | Website URL for context (optional) |
const response = await fetch('https://seerror-backend.fly.dev/chat', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
message: 'What are the main security issues on my website?',
url: 'https://example.com'
})
});
const data = await response.json();
console.log(data.response);
import requests
url = 'https://seerror-backend.fly.dev/chat'
payload = {
'message': 'What are the main security issues on my website?',
'url': 'https://example.com'
}
response = requests.post(url, json=payload)
data = response.json()
print(data['response'])
curl -X POST https://seerror-backend.fly.dev/chat \
-H "Content-Type: application/json" \
-d '{
"message": "What are the main security issues on my website?",
"url": "https://example.com"
}'
$url = 'https://seerror-backend.fly.dev/chat';
$data = [
'message' => 'What are the main security issues on my website?',
'url' => 'https://example.com'
];
$options = [
'http' => [
'header' => "Content-Type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($data)
]
];
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
$response = json_decode($result, true);
echo $response['response'];
/health
Check API health status and system metrics. Useful for monitoring and uptime checks.
const response = await fetch('https://seerror-backend.fly.dev/health');
const data = await response.json();
console.log(data);
import requests
url = 'https://seerror-backend.fly.dev/health'
response = requests.get(url)
data = response.json()
print(data)
curl https://seerror-backend.fly.dev/health
$url = 'https://seerror-backend.fly.dev/health';
$result = file_get_contents($url);
$response = json_decode($result, true);
print_r($response);
/advanced-scan
Deep scanning with configurable depth and scope. More comprehensive analysis than standard inspection.
| Parameter | Type | Required | Description |
|---|---|---|---|
url |
string | Yes | The website URL to scan |
depth |
integer | No | Scanning depth (1-5, default: 3) |
scope |
string | No | Scan scope: 'full', 'security', 'seo', 'performance' |
/reset
Reset chat memory and conversation history. Clears the AI assistant's context.
const response = await fetch('https://seerror-backend.fly.dev/reset', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
}
});
const data = await response.json();
console.log(data);
import requests
url = 'https://seerror-backend.fly.dev/reset'
response = requests.post(url)
data = response.json()
print(data)
curl -X POST https://seerror-backend.fly.dev/reset \
-H "Content-Type: application/json"
$url = 'https://seerror-backend.fly.dev/reset';
$options = [
'http' => [
'header' => "Content-Type: application/json\r\n",
'method' => 'POST'
]
];
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
$response = json_decode($result, true);
print_r($response);
Seerie is not just a chatbot — it's a life-like AI partner that learns incredibly fast, understands you deeper, has emotional responses, and gives technical + emotional + practical guidance together.
Key Features:
Sign up at seerror.com and get your API key from the dashboard.
Add this script before the closing </body> tag:
<!-- Add before </body> tag -->
<script>
(function() {
var seriee = window.seerie = window.seerie || [];
seriee.apiKey = 'YOUR_API_KEY_HERE';
var script = document.createElement('script');
script.async = true;
script.src = 'https://cdn.seerror.com/seerie-chatbot.js';
var firstScript = document.getElementsByTagName('script')[0];
firstScript.parentNode.insertBefore(script, firstScript);
})();
</script>
Customize the chatbot appearance and behavior:
<script>
window.seerieConfig = {
apiKey: 'YOUR_API_KEY_HERE',
position: 'bottom-right',
primaryColor: '#00ff88',
theme: 'dark',
greeting: 'Hello! I\'m Seerie, your AI partner.'
};
</script>
For React, Vue, Angular, or other JavaScript frameworks:
npm install @seerror/seerie-chatbot
import SeerieChatbot from '@seerror/seerie-chatbot';
const chatbot = new SeerieChatbot({
apiKey: 'YOUR_API_KEY_HERE',
container: '#chatbot-container',
config: {
primaryColor: '#00ff88',
theme: 'dark'
}
});
chatbot.init();
Seerie works on a wide range of platforms and frameworks:
Enterprise-grade features for large organizations:
Additional resources for Seerie:
For more information, visit the Seerie page:
View Seerie PageSeerror Bot is an advanced Discord voice channel management bot that automates the process of muting members and controlling camera settings when they join voice channels. It's perfect for servers that need to maintain order during meetings, classes, or events where participants should start muted.
Key Features:
💡 Tip: By default, all voice channels are locked (auto-mute enabled). Unlock specific channels to make them work like normal voice channels where members can speak freely.
1. Clone or download the repository
2. Install dependencies:
pip install -r requirements.txt
3. Create a .env file with your Discord token:
DISCORD_TOKEN=your_discord_bot_token_here
4. Run the bot:
python bot.py
When inviting the bot to your server, ensure it has the following permissions:
Required Intents:
💡 Tip: Type / in Discord to see all slash commands with autocomplete! The bot supports both slash commands (/command) and prefix commands (!command).
| Command | Slash Command | Description | Permission |
|---|---|---|---|
!settings |
/settings |
View current bot settings for the server | Admin/Assigned Admin |
!toggle_automute |
/toggle_automute |
Turn auto-mute feature ON/OFF | Admin/Assigned Admin |
!toggle_autocam |
/toggle_autocam |
Turn auto camera-off feature ON/OFF | Admin/Assigned Admin |
!enable |
/enable |
Enable bot for this server | Admin/Assigned Admin |
!disable |
/disable |
Disable bot for this server | Admin/Assigned Admin |
| Command | Slash Command | Description | Permission |
|---|---|---|---|
!unlock_channel [channel] |
/unlock_channel [channel] |
Unlock a voice channel (no auto-mute, free like normal) | Admin/Assigned Admin |
!lock_channel [channel] |
/lock_channel [channel] |
Lock a voice channel (enable auto-mute) | Admin/Assigned Admin |
!unlocked_channels |
/unlocked_channels |
Show all unlocked voice channels | Admin/Assigned Admin |
Note: When using slash commands, you'll see voice channel suggestions with autocomplete! Leave the channel parameter empty to use your current channel.
| Command | Slash Command | Description | Permission |
|---|---|---|---|
!mute <member> |
/mute <member> |
Mute a specific member | Admin/Assigned Admin/Allowed Member |
!unmute <member> |
/unmute <member> |
Unmute a specific member | Admin/Assigned Admin/Allowed Member |
!camon [member] |
/camon [member] |
Turn camera/audio ON for member (defaults to yourself) | Admin/Assigned Admin/Allowed Member |
!camoff [member] |
/camoff [member] |
Turn camera/audio OFF for member (defaults to yourself) | Admin/Assigned Admin/Allowed Member |
!voiceonly [member] |
- | Enable voice but disable video for member | Admin/Assigned Admin/Allowed Member |
!videooff [member] |
- | Turn video off, keep voice on | Admin/Assigned Admin/Allowed Member |
!videoon [member] |
- | Enable voice (member can turn video on) | Admin/Assigned Admin/Allowed Member |
| Command | Slash Command | Description | Permission |
|---|---|---|---|
!assign_admin <member> |
/assign_admin <member> |
Assign admin permissions to a member | Discord Admin Only |
!unassign_admin <member> |
- | Remove admin permissions from a member | Discord Admin Only |
!assigned_admins |
- | Show all assigned admins | Admin/Assigned Admin |
| Command | Slash Command | Description | Permission |
|---|---|---|---|
!allow <member> |
/allow <member> |
Allow member to use mute/camera commands | Admin/Assigned Admin |
!remove <member> |
/remove <member> |
Remove member from allowed list | Admin/Assigned Admin |
!allowed |
- | Show all allowed members | Admin/Assigned Admin |
| Command | Slash Command | Description | Permission |
|---|---|---|---|
!help_bot |
/help |
Show comprehensive help message with all commands | Everyone |
How it works:
Example Usage:
# Unlock the channel you're currently in
/unlock_channel
# Unlock a specific channel (with autocomplete suggestions!)
/unlock_channel #Casual Chat
# Lock a channel (re-enable auto-mute)
/lock_channel #Casual Chat
# See all unlocked channels
/unlocked_channels
The bot uses a tiered permission system:
The bot automatically creates a settings.json file to store configuration. Settings are managed per server and include:
auto_mute: Enable/disable automatic muting (default: true)auto_camera_off: Enable/disable automatic camera-off (default: true)enabled_servers: List of server IDs where the bot is enabledunlocked_channels: Dictionary mapping server IDs to lists of unlocked channel IDsInitial Setup:
/settings or !settings to view current configuration/ in Discord to see all available commands with autocomplete!The bot is configured for deployment on Fly.io:
iwr https://fly.io/install.ps1 -useb | iex (Windows)flyctl auth loginflyctl secrets set DISCORD_TOKEN=your_tokenflyctl deployThe bot includes a Dockerfile for containerized deployment:
# Build the image
docker build -t seerror-bot .
# Run the container
docker run -d --env-file .env --name seerror-bot seerror-bot
/settings to view current configuration/toggle_automute or /toggle_autocam if needed/ to see all available commands with autocomplete!# Unlock the channel you're currently in
/unlock_channel
# Unlock a specific channel (with autocomplete suggestions!)
/unlock_channel #Casual Chat
# Lock a channel (re-enable auto-mute)
/lock_channel #Casual Chat
# See all unlocked channels
/unlocked_channels
Result: Members joining unlocked channels can speak immediately (like normal voice channel). Members joining locked channels will be automatically muted.
/ in any channel/settings/toggle_automute (if disabled)/unlocked_channels - unlocked channels don't auto-mute/allowedFor more information, visit the full Discord Bot page:
View Full Discord Bot PageNote: Discord bots cannot directly control video cameras. The bot uses mute/unmute as the closest available method and sends notifications to members when video control is requested.
All errors are returned in JSON format with appropriate HTTP status codes:
{
"detail": "Error message description"
}
| Code | Description |
|---|---|
200 |
Success |
400 |
Bad Request - Invalid parameters |
401 |
Unauthorized - Invalid or missing API key |
429 |
Too Many Requests - Rate limit exceeded |
500 |
Internal Server Error |
Contact us to get your API key and start integrating Seerror into your applications.