EM ANDAMENTO
Resumo técnico
O NEXUS Discord integra o painel à plataforma Discord por meio de Webhooks de Entrada e Bot API v10, permitindo enviar mensagens, embeds e notificações operacionais para canais e servidores. O plugin oferece configuração dupla (webhook ou bot), auditoria de disparos com cache de canais, comandos slash /discord e notificação automática de tarefas, com mascaramento de credenciais e teste de conexão integrado.
Escopo executado
- Registro do plugin em
plugin.php:registerTab('discord', tab.php)com íconemessage-square(categoria Comunicação),registerDoc('discord', doc.md)e 11 ações de API viaregisterApiAction. - Banco de dados: tabelas MySQL
discord_history(id, type, target, message_preview, status, http_code, response_data, task_id, created_at) ediscord_cache(kind, query_key, data, status, updated_at com UNIQUEuk_kind_key) — criadas comCREATE TABLE IF NOT EXISTSemdiscord_install(); sem install.sql. - Configuração centralizada em
discord_settings(viaDB::getConfig): webhook_url, bot_token, application_id, default_channel_id, guild_id, bot_username, bot_avatar_url e togglesauto_notify_tasks/auto_notify_alerts;discord_public_config()expõe apenas valores mascarados (discord_mask_secret). - Envio via Webhook (
discord_send_webhook): POST com?wait=true, payload content + embeds,username/avatar_urlcustom por disparo, timeouts cURL (5s connect / 12s total) e registro completo no histórico. - Envio via Bot API v10 (
discord_send_bot_message): POST em/channels/{id}/messagescomAuthorization: Bot, modo híbrido emdiscord_send_message(modoautousa bot quando channel_id + token estão configurados). - Consultas do Bot:
discord_get_bot_info()(/users/@me) ediscord_get_channels()(/guilds/{id}/channelsfiltrando tipos 0, 5 e 15) com cache TTL de 1 hora (DISCORD_CACHE_TTL) para evitar rate-limits. - Teste de conexão (
discord_test_connection): valida webhook (embed Blurple de teste) e/ou autenticação do bot, retornando detalhes por modo. - Status e histórico:
discord_status(totais, sucessos, erros e modo — Webhook, Bot API v10 ou Híbrido),discord_history(limite 1–100) ediscord_history_clear(TRUNCATE). - Fast Responses: manifesto
fastr.jsoncom/discord(status,ping/test,send <mensagem>) ediscord_fastr_suggestpara sugestões. - Intel Hub:
nx_intel_register_enricher('discord', ['_text'], 'discord_intel_enrich', 50)— expõe o canal de notificação como configurado/desconfigurado. - Interface (
tab.php, 731 linhas): 4 abas (Enviar, Histórico, Bot/Canais, Configurações) com 4 KPIs (Disparos Totais, Sucessos, Erros, Modo) e indicador online/desconectado. - Auto-Dispatch de tarefas:
discord_handle_task_event()conectado ao core viawebhook_async.php— embeds automáticos paratask.created,task.updated(início, revisão e conclusão) etask.deleted, com cor por estado, destaque de prioridade crítica (🚨 vermelho), link direto para a tarefa (SITE_URL+/index.php?view=) e respeito aos togglesauto_notify_tasks/auto_notify_alerts. - Gerador de convite OAuth2: action
discord_invite_url+discord_generate_invite_url()— URL de autorização com permissões 277025507392 (mensagens, embeds, threads, histórico, menções, reações) e scopesbot+applications.commands, atualizada em tempo real na aba Bot/Canais. - Tool MCP
nexus_discord_send_message: exposta nonexus-mcp-server(schema content/title/description/color/channel_id/task_id) chamando a actiondiscord_sendvia Bearer — agentes de IA enviam alertas operacionais diretamente. - Presets rápidos na aba Enviar: modelos prontos (Incidente de Segurança, Deploy/Release, Standup Diário, Manutenção e Teste de Tarefa) que preenchem o formulário com um clique.
- Alertas críticos de segurança do CI podem usar webhook Discord via
notify.php(notifications.discord_webhook_url).
Stack e ferramentas
- PHP 8 backend (sem framework) + MySQL (
discord_history,discord_cache) - Discord API v10 (Bot) + Webhooks de Entrada
- Alpine.js + Tailwind CSS (aba com 4 abas, KPIs e formulários)
- Plugin API interno: PluginManager tabs/docs/actions +
fastr.json+ intel enricher - cURL com timeouts e autenticação via Bearer token da API NEXUS
Tags operacionais
- Discord
- Notificações
- Webhooks
- Bot API
- Mensagens
- Alertas
- Comunicação
- Plugin NEXUS
Resultado operacional
- Dois modos de envio: Webhook de entrada (rápido, sem bot) ou Bot API v10 (canais de servidores), com modo híbrido automático.
- Auditoria completa: cada disparo registra código HTTP, preview, payload de resposta e task_id opcional em
discord_history. - Histórico operacional: consulta com limite e limpeza via API, sem acúmulo de dados.
- Comandos slash:
/discord status,/discord pinge/discord send <mensagem>direto no terminal Fastr. - Segurança: credenciais mascaradas na UI e nas respostas da API; timeouts cURL curtos; cache TTL para evitar rate-limits.
- Prontidão verificável: teste de conexão integrado valida webhook e bot antes de uso em produção.
Andamento no GitHub (issues)
Painel em tempo real com as issues mais recentes do repositório.
live feed
abrir issues no githubcarregando andamento...
não foi possivel carregar as issues agora. abra no github pelo link acima.
Resultados reais
O NEXUS Discord integra o painel à plataforma Discord por meio de Webhooks de Entrada e Bot API v10, permitindo enviar mensagens, embeds e notificações operacionais para canais e servidores. O plugin oferece configuração dupla (webhook ou bot), auditoria de disparos com cache de canais, comandos slash /discord e notificação automática de tarefas, com mascaramento de credenciais e teste de conexão integrado.
Arquitetura e organização
- PHP 8
- MySQL
- Alpine.js
- Tailwind CSS
- Discord API v10
- Plugin NEXUS
Execução e operação
O projeto segue fluxo reprodutível de execução com validação técnica em ambiente de produção/similar.
Screenshots
Falar sobre este projeto
Aplique este modelo no seu ambiente e acelere a entrega com consistência técnica.