Seguir usuários na voz do Discord com o OpenClaw
Uma presença que acompanha pessoas selecionadas, os três modos de entrada, o pipeline STT-TTS, as sessões e os alvos do modo agent-proxy, o controle de execuções por voz em tempo real e o ajuste do barge-in para salas com muito eco
Em uma configuração pessoal ou de operador, o comportamento natural da voz é o bot estar onde você estiver. O modo de acompanhamento do OpenClaw faz o bot de voz do Discord acompanhar usuários selecionados enquanto eles passam de um canal de voz para outro: ele entra quando um usuário seguido entra em um canal permitido, se move quando esse usuário se move e sai quando ele se desconecta. Veja a configuração e suas regras, como ela se compara aos outros modos de entrada, o pipeline de áudio, como as sessões de voz correspondem às sessões e aos alvos do agente, o que uma execução delegada entende quando você fala com ela e o ajuste para salas que ouvem a própria reprodução.
Regras de acompanhamento
- A lista de usuários seguidos aceita IDs de usuário do Discord brutos ou com prefixo e normaliza ambos; a flag de ativação fica ligada por padrão quando a lista está configurada e pode ser desligada para manter a lista sem acompanhamento automático; e a lista controla apenas a presença na voz, sem conceder acesso de fala nem autoridade de proprietário, que vêm dos donos de comandos e dos usuários e cargos do servidor ou do canal.
- Se vários usuários seguidos estão no mesmo servidor e o ativo sai, o bot vai para o canal de outro usuário acompanhado antes de sair do servidor, e, quando vários se movem ao mesmo tempo, vale o evento de estado de voz mais recente; a lista de canais permitidos continua valendo, então um usuário seguido em um canal não permitido é ignorado e a sessão passa para outro ou sai.
- Eventos de estado de voz perdidos são reconciliados na inicialização e em um intervalo limitado, com amostragem dos servidores configurados e um teto de consultas REST por rodada, então listas muito grandes podem levar mais de um intervalo para convergir; um bot movido pelo Discord ou por um admin reconstrói sua sessão e mantém a posse do acompanhamento quando o destino é permitido, e uma recuperação de criptografia que sai e volta ao mesmo canal também a mantém.
- Três modos de entrada: acompanhamento, para configurações pessoais ou de operador em que o bot deve estar na voz quando você estiver; entrada automática, para salas fixas, com a flag de ocupação quando o bot deve estar presente apenas enquanto houver humanos; e o comando de entrada manual, para salas avulsas em que uma presença automática seria surpreendente.
followUsers controla apenas a presença na voz. Ele não concede acesso de fala nem autoridade de proprietário; configure commands.ownerAllowFrom e os usuários e cargos do servidor ou do canal separadamente.
Pipeline e sessões
A recepção de voz decodifica com o codec Opus em WebAssembly incluído, a reprodução em tempo real codifica PCM estéreo bruto de 48 kilohertz em Opus com o mesmo pacote, e a reprodução de arquivos ou de streams de provedores passa antes por uma transcodificação com ffmpeg. No pipeline STT-TTS, o PCM capturado vira um arquivo WAV temporário, a configuração de áudio de mídia cuida da transcrição, a captura em lote respeita o maior limite de entrada de áudio aplicável e interrompe capturas grandes demais com um aviso, em vez de transcrever áudio parcial, a transcrição passa pela entrada e pelo roteamento do Discord enquanto o modelo de resposta roda sob uma política de saída de voz que oculta a ferramenta de TTS do agente e pede texto, o modelo de voz substitui apenas esse modelo de resposta, e o bloco de TTS de voz é mesclado por cima do global, com provedores de streaming alimentando o player diretamente. Sem um bloco de sessão de agente, cada canal de voz ganha a própria sessão roteada, o modelo em tempo real é apenas a interface de entrada, pedidos substantivos vão para o agente configurado, e uma transcrição final produzida sem a ferramenta de consulta força a consulta como alternativa. Um alvo com um ID de canal ou o ID puro roteia a voz pela sessão desse canal de texto, e uma forma de DM ou de usuário, pela sessão dessa mensagem direta, com o agente supervisor ainda livre para usar suas ferramentas de mensagem, inclusive para enviar uma mensagem separada no Discord quando essa for a ação certa.
Controle de execução e eco
- Enquanto uma execução delegada está ativa, transcrições de voz autorizadas a dar comandos são tratadas como controle da execução em andamento antes de iniciar outro turno: frases como “status”, “cancela isso”, “usa a correção menor” ou “quando terminar, confere também os testes” são classificadas como status, cancelamento, direcionamento ou continuação, e o resultado é respondido em voz alta para que quem falou saiba se o pedido foi atendido; uma consulta cancelada registra cancelamento em vez de falha, chamadas de ferramenta atrasadas do provedor recebem o mesmo cancelamento terminal, e a sessão continua disponível para o próximo pedido.
- Para um modelo que ouve a própria reprodução por um microfone aberto, o exemplo para muito eco impede que o provedor se interrompa automaticamente com o áudio bruto de entrada, enquanto o barge-in deixa que eventos de início de fala do Discord e o áudio do falante ativo cancelem respostas, e um limite mínimo de fim de áudio, quinhentos milissegundos no exemplo, trata sinais muito precoces como provável eco, para que o modelo não seja cortado no primeiro quadro de reprodução.
- A documentação lista as linhas de log esperadas: a entrada com a voz, o supervisor, o modo de sessão e os modelos; a ponte em tempo real iniciando com suas flags de resposta automática, interrupção e barge-in; turnos de falantes abrindo e fechando com contagens de bytes; fala obsoleta descartada com o motivo; reprodução terminando, entrando em buffer e parando; consultas solicitadas e respondidas; fala exata enfileirada e desenfileirada quando o player fica ocioso; barge-in detectado e solicitado; e interrupções do modelo solicitadas, truncadas, confirmadas ou ignoradas como eco.
O OpenClaw em canais de voz do Discord é toda a superfície de voz em que esses modos vivem, e o OpenClaw no Discord, o canal e os intents de que ele precisa.
A voz como superfície de controle
A parte interessante do modo de acompanhamento não é o acompanhamento em si, mas o que ele possibilita: um agente que está na sala quando você está, que você pode direcionar, cancelar ou consultar no meio de uma execução só falando, e cujas respostas voltam no mesmo canal. Direcionar uma execução ativa do OpenClaw é o equivalente em texto dessas frases faladas de controle de execução, e o artigo sobre as sessões do OpenClaw explica as sessões roteadas que uma forma de alvo seleciona.
Na Diali
Na Diali, o modo de acompanhamento faz parte do mesmo bloco de voz autogerenciado que o resto da voz do Discord, enquanto o próprio bot do Discord é conectado pelo painel; as regras de presença se aplicariam sem alteração assim que a voz fosse ativada. O OpenClaw hospedado na Diali é o assistente, e a página de segurança da Diali descreve a fronteira ao redor dele.
- Acompanhamento, entrada automática ou entrada manual: três jeitos de entrar em uma sala.
- A presença não concede nada; donos e cargos continuam decidindo.
- Status, cancelamento, direcionamento e continuação, tudo por voz.
Pare de ler sobre isso e crie o seu
Configure um agente, escolha um canal e coloque-o para trabalhar dentro do app que você já deixa aberto.
