Autenticação
Formato do token do bot e como enviá-lo na REST e no Gateway.
Toda a API de bot — REST e Gateway — usa um único token por aplicação. Não há API key separada nem escopos: o token é a identidade do bot.
Formato do token
nexbot_<token_id>.<segredo>, gerado na aba Bot e mostrado uma única vez. O NEX guarda apenas um hash do segredo, então não existe "ver o token de novo".
REST
Envie o token no cabeçalho Authorization com o esquema Bearer.
Cabeçalho HTTP
Authorization: Bearer nexbot_SEU_TOKENAtenção
O esquema
Bot (como no Discord) não é aceito: Authorization: Bot … responde 401.Gateway
No socket.io o token vai no objeto auth do handshake:
socket.io-client
const socket = io('https://nexapp.online', {
auth: { token: 'nexbot_SEU_TOKEN' },
});Rotas só de bot e rotas só de humano
- Tudo em
/api/bot/*exige token de bot — uma sessão humana recebe403. - Rotas de conta humana (DMs, amigos, grupos, chamadas, pagamentos, Pulse, loja, stories, segurança, conta) e o gerenciamento de aplicações (
/api/applications,/api/oauth2) recusam token de bot com403. - As rotas de servidor (
/api/servers/:serverId/…) aceitam o token de bot e aplicam as mesmas regras de membro e permissão que valem para humanos. É assim que um bot lista mensagens, reage ou fixa — veja Mensagens.
Rotacionar o token
Pelo portal (aba Bot) ou com a sessão do dono em POST /api/applications/:id/bot/token/rotate (20 por hora). Todos os tokens anteriores param de funcionar na hora para novas chamadas REST e novos handshakes.
Nota
Um socket que já estava conectado antes da rotação continua conectado até cair — a verificação acontece no handshake. Reconecte seu bot depois de rotacionar.
Erros
| Situação | Resposta |
|---|---|
| Cabeçalho ausente ou esquema diferente de Bearer | 401 Não autenticado |
| Token desconhecido, revogado ou rotacionado | 401 Token inválido ou expirado |
| Aplicação suspensa | 401 na REST; o Gateway recusa o handshake e derruba sockets abertos |
| Token de bot numa rota só de humano | 403 |
| Sessão humana numa rota /api/bot/* | 403 |
| Gateway sem token / token inválido | connect_error "Sem token" / "Token inválido" |