feat: media via AI, text via NormalBot only, ai_for_media toggle
- Text/interactive/button messages → NormalBot only, never escalates to AI - Image/audio/video/document → AiBot.processMedia() if ai_for_media enabled, else falls back to category greeting menu - AiBot.processMedia() uses permission_type context so AI acknowledges uploads for perm 3 and redirects others to their menu - WpWebhook.handleMedia now calls BotRouter so the bot responds to media - Admin UI: checkbox toggle "Procesar imágenes y archivos con IA" in AI tab - categoryMenuFallback() extracted in BotRouter as shared helper Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
4d7dd0f306
commit
6f799c3829
@@ -2362,6 +2362,7 @@ HTML;
|
||||
$greetingVal = self::h($config['greeting'] ?? '');
|
||||
$fallbackVal = self::h($config['fallback'] ?? '');
|
||||
$aiPromptVal = self::h($config['ai_prompt'] ?? '');
|
||||
$aiForMediaChecked = ($config['ai_for_media'] ?? true) ? 'checked' : '';
|
||||
$aiModelVal = self::h($config['ai_model'] ?? 'gpt-4o-mini');
|
||||
$aiTempVal = self::h((string)($config['ai_temperature'] ?? 0.7));
|
||||
$aiProviderVal = self::h($config['ai_provider'] ?? '');
|
||||
@@ -2618,6 +2619,16 @@ HTML;
|
||||
<textarea name="ai_prompt" rows="4" placeholder="Eres un asistente virtual de {$cName}...">{$aiPromptVal}</textarea>
|
||||
<div style="font-size:11px;color:#7a8291;margin-top:3px">Instrucciones que define el comportamiento de la IA</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label style="display:flex;align-items:center;gap:10px;cursor:pointer">
|
||||
<input type="checkbox" name="ai_for_media" value="1" {$aiForMediaChecked}>
|
||||
<span>Procesar imágenes y archivos con IA</span>
|
||||
</label>
|
||||
<div style="font-size:11px;color:#7a8291;margin-top:3px">
|
||||
Cuando el usuario envía imagen, audio o documento, la IA analiza el contenido según los permisos del usuario.
|
||||
Si está desactivado, el bot muestra el menú de categoría directamente.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ─── GENERAL ──────────────────────────────────────────────────────── -->
|
||||
|
||||
Reference in New Issue
Block a user