NOVO 📢 Oferta de lançamento limitada: até 70% de desconto no seu primeiro mês, em todos os jogos!Ver planos

Como definir variáveis de ambiente e segredos para o seu bot do Discord

Hospedagem de bot do DiscordUpdated Oct 29, 20266 min read

Coloque as chaves e configurações do seu bot na página Bot, seção Ambiente: adicione-as uma a uma ou cole o seu arquivo .env inteiro, marque Manter este valor em segredo para senhas e chaves e depois reinicie o bot. Seu código as lê como qualquer variável de ambiente.

Por que aqui e não em um arquivo

  • Os valores salvos aqui são guardados criptografados pelo painel, não nos arquivos do seu servidor. Eles não aparecem em Files, por SFTP nem em backups.
  • Um valor secreto nunca é mostrado de novo, nem para você nem para quem você der acesso: a lista mostra pontos e os últimos quatro caracteres.
  • Você pode compartilhar o seu código, ou colocá-lo no GitHub, sem vazar uma chave.

Adicione uma variável

  1. Abra o servidor do seu bot no painel, depois a página Bot, seção Ambiente.
  2. Em Adicionar uma variável, digite o Nome, por exemplo OPENAI_API_KEY, e o Valor.
  3. Manter este valor em segredo é marcado sozinho para nomes que parecem segredos (terminados em KEY, TOKEN, SECRET, PASSWORD e parecidos, ou uma URL de banco de dados). Marque ou desmarque conforme precisar.
  4. Clique em Adicionar variável.
  5. A seção diz As mudanças valem na próxima vez que o bot iniciar. Se o bot estiver rodando, clique em Reiniciar agora.

O card Variáveis de ambiente com três variáveis, uma marcada como Segredo e exibida como pontos, e o formulário Adicionar uma variável abaixo.

Cole um arquivo .env inteiro

  1. Clique em Colar um arquivo .env.
  2. Cole o conteúdo do seu .env. Nada é enviado ainda: a janela lista os nomes encontrados, com um selo Segredo nos que serão salvos como segredos.
  3. Os nomes que o painel não aceita são marcados como Ignorada: o token do bot com qualquer um dos seus nomes (DISCORD_TOKEN, TOKEN, BOT_TOKEN, DISCORD_BOT_TOKEN), GIT_TOKEN, as configurações do tipo do seu bot (elas ficam na seção Código), nomes do sistema como PATH e nomes que mudam como um runtime inicia, como PYTHONPATH, NODE_PATH ou qualquer um que comece com LD_. Uma nota diz onde cada um deve ficar. As linhas que ele não consegue ler são listadas com o número da linha.
  4. Clique no botão de importar, por exemplo Importar 6 variáveis. As linhas ignoradas ficam fora da contagem.

As formas usuais do .env funcionam: KEY=value, export KEY=value, comentários e valores entre aspas simples, como 'single', ou duplas, como "double" (aspas duplas podem ocupar várias linhas). Se um nome aparece duas vezes, vale o último.

A janela Colar um arquivo .env com linhas coladas, uma linha DISCORD_TOKEN marcada como Ignorada com a nota de que o token vai na seção Discord, um selo Segredo em uma senha e o botão Importar.

Leia as variáveis no seu código

LinguagemCódigo
Node.js, Bunprocess.env.OPENAI_API_KEY
Pythonos.environ["OPENAI_API_KEY"]
JavaSystem.getenv("OPENAI_API_KEY")
C#Environment.GetEnvironmentVariable("OPENAI_API_KEY")
DenoDeno.env.get("OPENAI_API_KEY")
Goos.Getenv("OPENAI_API_KEY")
Ruststd::env::var("OPENAI_API_KEY")

Seu código já usa dotenv ou python-dotenv? Ele continua funcionando: essas bibliotecas não sobrescrevem uma variável que já está definida, então os valores do painel valem mais do que um arquivo .env esquecido.

Mude ou remova uma variável

  • Um valor simples tem Editar; um segredo tem Substituir. Um segredo começa vazio porque o valor dele nunca é enviado de volta: digite o novo valor e clique em Salvar.
  • Remover pergunta Remover OPENAI_API_KEY?; confirme com Remover variável. O bot deixa de ter a variável no próximo início.

Regras e limites

  • Um nome tem letras, dígitos e sublinhados, até 64 caracteres, e não começa com um dígito.
  • Um valor tem até 4 KB. Um bot pode ter até 50 variáveis.
  • Os nomes que o próprio painel define são recusados com ... is set by PlayNHost and cannot be changed here.: os nomes do token (DISCORD_TOKEN, TOKEN, BOT_TOKEN, DISCORD_BOT_TOKEN), GIT_TOKEN, PATH, HOME, NODE_OPTIONS, nomes que começam com SERVER_ ou PNH_ e as configurações do tipo do seu bot, como MAIN_FILE.
  • Os nomes que mudam como um runtime ou o shell inicia são recusados em Adicionar uma variável com ... controls how the bot starts and cannot be set here. (um .env colado os marca como Ignorada), por exemplo PYTHONPATH, NODE_PATH, JAVA_TOOL_OPTIONS ou qualquer um que comece com LD_, NPM_CONFIG_, PIP_ ou GIT_.

Seu token do Discord chega ao seu código sem nenhuma variável sua, como DISCORD_TOKEN e também como TOKEN, BOT_TOKEN e DISCORD_BOT_TOKEN. É por isso que esses nomes não podem ser definidos aqui.

Um bot pronto não tem uma lista própria de variáveis: as chaves dele são campos fixos no card Credenciais desta seção. Uma chave sem a qual o bot não consegue iniciar mostra Obrigatório, e até ela ser definida o card Configurar seu bot em Visão geral mantém Iniciar bot desativado e leva até aqui com Abrir Ambiente: Como mudar as configurações de um bot pronto.

Relacionados: Como manter o token do seu bot do Discord seguro, Como usar um banco de dados com seu bot do Discord.

Seu bot já está em outro lugar? Traga-o para nós

NOSSOS ÚLTIMOS ARTIGOS