Integração com Telegram

This commit is contained in:
Halbe Bruno
2025-12-05 21:20:31 -03:00
parent 1e761ea3d8
commit 81dd696d0b
8 changed files with 409 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ namespace App\Controllers;
use App\Models\Order;
use App\Services\OrderProcessor;
use App\Services\TelegramService;
use App\Utils\View;
class OrderController
@@ -99,6 +100,16 @@ class OrderController
$processor = new OrderProcessor();
$count = $processor->process($orderId, $type, $_FILES['csv_file']['tmp_name']);
// Send Telegram Notification
$telegramService = new TelegramService();
$typeLabel = ($type === 'block') ? 'Bloqueio' : (($type === 'unblock') ? 'Desbloqueio' : $type);
$telegramService->sendOrderNotification([
'id' => $orderId,
'title' => $title,
'type' => $typeLabel
], $count);
$_SESSION['flash_success'] = "Ordem criada com sucesso! $count domínios processados.";
View::redirect('/admin/orders');

View File

@@ -0,0 +1,58 @@
<?php
namespace App\Controllers;
use App\Models\Setting;
use App\Services\TelegramService;
use App\Utils\View;
class SettingsController
{
public function index()
{
$settingModel = new Setting();
$settings = $settingModel->getAll();
View::render('layouts.admin', [
'title' => 'Configurações',
'content' => __DIR__ . '/../../resources/views/admin/settings/index.php',
'settings' => $settings
]);
}
public function update()
{
$settingModel = new Setting();
foreach ($_POST as $key => $value) {
$settingModel->set($key, $value);
}
$_SESSION['flash_success'] = "Configurações atualizadas com sucesso!";
View::redirect('/admin/settings');
}
public function testTelegram()
{
header('Content-Type: application/json');
$telegramService = new TelegramService();
// Use sendOrderNotification to test with the configured template
$response = $telegramService->sendOrderNotification([
'id' => '12345',
'title' => 'Teste de Integração',
'type' => 'Teste'
], 999);
$result = json_decode($response, true);
if ($result && isset($result['ok']) && $result['ok']) {
echo json_encode(['success' => true, 'message' => 'Mensagem enviada com sucesso!']);
} else {
$error = $result['description'] ?? 'Erro desconhecido ao contatar API do Telegram.';
echo json_encode(['success' => false, 'message' => 'Falha ao enviar: ' . $error]);
}
exit;
}
}