Votre bot dépend de bibliothèques que vous n'avez pas écrites. Le serveur n'en a aucune tant qu'on ne lui dit pas lesquelles, et le fichier qui le lui dit est justement celui qu'on oublie d'envoyer.
Quel fichier vous faut-il
| Langage | Fichier | Installé avec |
|---|---|---|
| Node.js | package.json | npm install |
| Python | requirements.txt | pip install -r requirements.txt |
Le générer à partir de ce que vous avez
En Node, package.json existe déjà si vous avez lancé npm install avec --save, ce qui est le comportement par défaut. Vérifiez que chaque bibliothèque que vous faites require ou import figure sous dependencies.
En Python, pip freeze > requirements.txt écrit tout ce qui est dans votre environnement courant. Sans environnement virtuel, ce fichier contiendra la moitié de votre système : élaguez-le aux bibliothèques réellement importées.
Un package.json minimal pour un bot discord.js
{
"name": "mon-bot",
"version": "1.0.0",
"main": "index.js",
"type": "module",
"dependencies": {
"discord.js": "^14.14.1",
"dotenv": "^16.4.5"
}
}"discord.js": "*" signifie « ce qu'il y a de plus récent aujourd'hui ». Une version majeure peut arriver entre deux redémarrages et casser votre bot sans que vous ayez rien changé. ^14 autorise les correctifs mais pas les ruptures, et c'est ce que vous voulez.
C'est pourquoi le premier est lent et pas les suivants : les paquets sont mis en cache. Si vous ajoutez une dépendance, l'ajouter au manifeste et redémarrer constitue tout le processus ; on n'envoie pas la bibliothèque.
La console montre l'installation terminée sans lignes ERR!, et le bot se connecte ensuite.