Declare requirements explicitly
List discord.py and production dependencies in requirements.txt. Use compatible version ranges or pinned versions instead of relying on an undeclared local environment.
Package a Python Discord bot with requirements.txt, a direct startup command and secrets supplied through the runtime environment.
List discord.py and production dependencies in requirements.txt. Use compatible version ranges or pinned versions instead of relying on an undeclared local environment.
A command such as python main.py gives the runtime a clear lifecycle and makes crash output easier to understand.
Keep the Discord token out of main.py, .env files and uploaded archives. Fail clearly when a required environment value is missing.
Use the persistent storage allocation only for data that must survive a restart, and maintain an independent copy of anything important.
The dependency list travels with the project.
One explicit entry point starts the bot process.
os.environ supplies the secret outside source code.
Tracebacks and diagnostic logs remain available for debugging.
The production design records the process exit, keeps the relevant logs visible and retries with backoff so a broken bot cannot restart in a tight loop forever. Repeated failures move the bot into a crashed state for diagnosis instead of hiding the problem. The current panel only simulates this flow.
The plan model includes one backup per bot on Free, three on Plus and five on Pro, with intended retention of 7, 30 and 45 days respectively. A backup is a recovery aid, not permanent archival storage. Keep an independent copy of important code and data. The production restore workflow must be tested before these limits are represented as operational.
Read the backup termsNot yet. The current dashboard is a frontend prototype with local mock data. Do not enter a real Discord token, private repository or production file. Live Botkeep API, provisioning, authentication, database and payment integrations are not connected.
Choose Node.js or Python, bring a GitHub repository or ZIP, and review the exact limits before the beta opens.