Spuštění Discord bota v Pythonu (discord.py)
Jak nahrát Discord bota v Pythonu na hosting, připravit requirements.txt pro discord.py a nastavit start soubor v panelu.
Bot napsaný v discord.py rozjedeš na hostingu stejně snadno jako na svém počítači – s tím rozdílem, že poběží nonstop. Potřebuješ soubory bota, requirements.txt a nastavený start soubor.
1. Připrav requirements.txt
Soubor requirements.txt obsahuje seznam knihoven, které bot potřebuje. Každá na samostatném řádku:
discord.py
python-dotenv
Pokud chceš zafixovat verze, vypiš si je lokálně příkazem pip freeze a do souboru zkopíruj jen balíčky, které bot opravdu používá. Ujisti se, že verze Pythonu na serveru odpovídá požadavkům discord.py.
2. Ukázka minimálního bota
import os
import discord
from dotenv import load_dotenv
load_dotenv()
intents = discord.Intents.default()
intents.message_content = True
client = discord.Client(intents=intents)
@client.event
async def on_ready():
print(f"Přihlášen jako {client.user}")
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content == "!ping":
await message.channel.send("Pong!")
client.run(os.getenv("DISCORD_TOKEN"))
Token se načítá ze souboru .env – nikdy ho nepiš přímo do kódu. Více v návodu Bezpečné uložení tokenu.
3. Nahraj soubory
- Otevři panel dash.coldhost.eu a svůj bot server.
- Přes správce souborů nebo SFTP nahraj hlavní soubor (např.
main.py),requirements.txt,.enva další moduly. - Nenahrávej virtuální prostředí (
venv,.venv) ani__pycache__.
4. Nastav start soubor
V sekci Startup zadej do proměnné pro hlavní / start soubor název souboru, kterým bot začíná – například main.py nebo bot.py. Python šablony v Pterodactylu obvykle při startu samy nainstalují balíčky z requirements.txt; zkontroluj ve startup proměnných, že je název souboru s požadavky vyplněný správně. Pokud panel nabízí výběr verze Pythonu, vyber podporovanou verzi.
Po každé změně requirements.txt bota restartuj, aby se nové knihovny nainstalovaly.
5. Spuštění a řešení chyb
Klikni na Start a sleduj konzoli. Když vše funguje, uvidíš výpis z on_ready. Nejčastější problémy:
ModuleNotFoundError– knihovna chybí vrequirements.txt.LoginFailure: Improper token– neplatný token nebo nenačtený.env.PrivilegedIntentsRequired– v Developer Portalu u bota zapni potřebné intents (např. Message Content Intent).
Píšeš v JavaScriptu? Postup pro discord.js najdeš v návodu Discord bot v Node.js.
Pořád si nevíš rady? Rádi pomůžeme.