Limitações conhecidas
O que a plataforma de bots ainda não faz, verificado no código atual.
Tudo abaixo foi verificado no código atual.
- Sessões do gateway ficam na memória de um único processo da API. Se a API roda em várias instâncias, um bot só recebe os eventos gerados pela instância à qual ele está conectado (os eventos são espelhados do mesmo processo que atende a requisição). Reiniciar a API derruba as conexões (código 1012) e perde interações em andamento.
- Sem retomada nem reenvio de eventos. O que acontecer enquanto o bot está desconectado não é entregue depois; só o estado atual vem nos
GUILD_CREATE. - Limites de taxa dos bots também são por processo (memória), não compartilhados entre instâncias.
- Eventos limitados. Há mensagens (criar, editar, apagar), reações, canais, entrada e saída de membros, entrada e saída do bot em servidores e interações. Não há eventos de digitação, cargos, atualização de membros ou presença de outros (os eventos
VOICE_*existem só para bots dentro de um canal de voz). - Sem mensagens diretas e sem amizade para bots. Rotas
/socialsão proibidas a bots, e bots não entram por convite: só por autorização do dono (403em/guild-invites). - Componentes limitados a botões e menus de escolha (sem menus de usuário, cargo ou canal) e modais só com campos de texto. Botões de link só aceitam
https. - Só comandos de barra com opções simples. Não há autocompletar dinâmico, comandos de contexto (menu de usuário ou mensagem) nem permissões por comando.
- Anexos só pelo fluxo de envio (
init→PUT→complete, veja Enviar imagens e arquivos): não há envio por URL (a API não baixa arquivos de outros sites), o limite é fixo em 100 MB por arquivo, anexos não entram em respostas efêmeras nem são alterados porPATCH .../messages/:m(só pela edição@originalde interações), e bots não anexam em mensagens diretas. - Reações: a rota alterna e não existe remoção de reações de terceiros.
- Sem threads.
- Menções em embeds não notificam.
<@id>,<@&id>e<#id>emdescriptionefields[].valueaparecem como chips, mas não geram badge nem contagem de menções (só obodynotifica). Emtitle,author,footerefields[].nameeles viram texto literal. - Interações guardadas só na memória por 15 minutos (limpeza a cada minuto); respostas efêmeras só chegam a quem estiver com o app aberto e somem ao recarregar.
- Um bot por aplicativo, e a conta do bot não pode ser dona de servidores de forma suportada. Atenção: hoje a rota
POST /guildsnão bloqueia contas de bot (comportamento não intencional que deve ser fechado); não conte com isso. - A URL de interações precisa ser https e pública (endereços locais não funcionam), então para testar na sua máquina use o gateway.
- Envio de avatar e banner do aplicativo depende do armazenamento de imagens da instalação estar configurado; sem ele o portal responde que o envio está indisponível.