Pon las claves y los ajustes de tu bot en la página Bot, sección Entorno: añádelos uno a uno o pega todo tu archivo .env, marca Mantener este valor en secreto para contraseñas y claves, y reinicia el bot. Tu código los lee como cualquier variable de entorno.
Por qué aquí y no en un archivo
- Los valores guardados aquí los almacena cifrados el panel, no en los archivos de tu servidor. No aparecen en Files, ni por SFTP, ni en los backups.
- Un valor secreto nunca se vuelve a mostrar, ni a ti ni a nadie a quien des acceso: la lista muestra puntos y sus últimos cuatro caracteres.
- Puedes compartir tu código, o ponerlo en GitHub, sin filtrar una clave.
Añade una variable
- Abre tu servidor de bots en el panel, luego la página Bot, sección Entorno.
- En Añadir una variable, escribe el Nombre, por ejemplo
OPENAI_API_KEY, y el Valor. - Mantener este valor en secreto se marca solo con los nombres que parecen secretos (que terminan en
KEY,TOKEN,SECRET,PASSWORDy similares, o una URL de base de datos). Márcalo o desmárcalo según necesites. - Pulsa Añadir variable.
- La sección dice Los cambios se aplican la próxima vez que se inicie el bot. Si el bot está en marcha, pulsa Reiniciar ahora.

Pega un archivo .env entero
- Pulsa Pegar un archivo .env.
- Pega el contenido de tu
.env. Todavía no se envía nada: el diálogo lista los nombres que encontró, con una insignia Secreto en los que guardará como secretos. - Los nombres que el panel no acepta se marcan como Omitida: el token del bot con cualquiera de sus nombres (
DISCORD_TOKEN,TOKEN,BOT_TOKEN,DISCORD_BOT_TOKEN),GIT_TOKEN, los ajustes propios del tipo de tu bot (están en la sección Código), nombres del sistema comoPATH, y nombres que cambian cómo arranca un entorno de ejecución, comoPYTHONPATH,NODE_PATHo cualquiera que empiece porLD_. Una nota dice dónde van. Las líneas que no puede leer en absoluto se listan con su número de línea. - Pulsa el botón de importar, por ejemplo Importar 6 variables. Las líneas omitidas no cuentan.
Funcionan las formas habituales de .env: KEY=value, export KEY=value, comentarios, y valores entre comillas simples ('single') o dobles ("double", que pueden ocupar varias líneas). Si un nombre aparece dos veces, gana el último.

Léelas en tu código
| Lenguaje | Código |
|---|---|
| Node.js, Bun | process.env.OPENAI_API_KEY |
| Python | os.environ["OPENAI_API_KEY"] |
| Java | System.getenv("OPENAI_API_KEY") |
| C# | Environment.GetEnvironmentVariable("OPENAI_API_KEY") |
| Deno | Deno.env.get("OPENAI_API_KEY") |
| Go | os.Getenv("OPENAI_API_KEY") |
| Rust | std::env::var("OPENAI_API_KEY") |
¿Tu código ya usa dotenv o python-dotenv? Sigue funcionando: esas librerías no sobrescriben una variable que ya está definida, así que los valores del panel ganan a un archivo .env que hayas dejado.
Cambia o quita una
- Un valor normal tiene Editar; un secreto tiene Reemplazar. Un secreto empieza vacío porque su valor nunca se devuelve: escribe el valor nuevo y pulsa Guardar.
- Quitar pregunta ¿Quitar OPENAI_API_KEY?; confirma con Quitar variable. El bot ya no la tendrá en su próximo inicio.
Reglas y límites
- Un nombre son letras, dígitos y guiones bajos, hasta 64 caracteres, y no empieza por un dígito.
- Un valor admite hasta 4 KB. Un bot puede tener hasta 50 variables.
- Los nombres que define el propio panel se rechazan con
... is set by PlayNHost and cannot be changed here.: los nombres del token (DISCORD_TOKEN,TOKEN,BOT_TOKEN,DISCORD_BOT_TOKEN),GIT_TOKEN,PATH,HOME,NODE_OPTIONS, los nombres que empiezan porSERVER_oPNH_, y los ajustes propios del tipo de tu bot, comoMAIN_FILE. - Los nombres que cambian cómo arranca un entorno de ejecución o el shell se rechazan en Añadir una variable con
... controls how the bot starts and cannot be set here.(un.envpegado los marca como Omitida), por ejemploPYTHONPATH,NODE_PATH,JAVA_TOOL_OPTIONSo cualquiera que empiece porLD_,NPM_CONFIG_,PIP_oGIT_.
Tu token de Discord llega a tu código sin que tengas que poner ninguna variable, como DISCORD_TOKEN y también como TOKEN, BOT_TOKEN y DISCORD_BOT_TOKEN. Por eso esos nombres no se pueden definir aquí.
Un bot listo para usar no tiene una lista propia de variables: sus claves son campos fijos de la tarjeta Credenciales de esta sección. Una clave sin la que el bot no puede iniciarse muestra Obligatorio, y mientras no se defina, la tarjeta Configura tu bot del Resumen mantiene desactivado Iniciar bot y enlaza aquí con Abrir Entorno: Cómo cambiar los ajustes de un bot listo para usar.
Relacionado: Cómo mantener seguro el token de tu bot de Discord, Cómo usar una base de datos con tu bot de Discord.



