src/presence.ts, celui que le modèle vous a donné, et cette page est courte parce que le fichier l’est.
Le fichier
Le modèle affiche un texte libre, « Getting ready ». Remplacez le fichier :src/presence.ts
name et enregistrez à nouveau :
Le statut
'invisible' sert pour un bot qui travaille en arrière-plan et ne doit pas avoir l’air de quelqu’un à qui parler.
L’activité
type dit comment Discord la formule, name est le texte qui suit :
Un usage courant est un indice :
{ type: 'playing', name: '/help' } dit aux gens par où commencer. C’est tout ce qu’un bot peut régler : Discord laisse une personne afficher bien plus (une chanson, un jeu avec des détails), mais un bot n’a qu’un type, un nom, et une URL pour un stream.
Chacune son tour
Une ligne, c’est peu de place.activities en donne plusieurs, affichées l’une après l’autre : chacune reste pendant son for (30 secondes quand vous l’omettez, 5 secondes au minimum), puis la suivante arrive, et après la dernière, la première revient. Remplacez le fichier :
src/presence.ts
name est une fonction, pas un texte. Le bot l’exécute chaque fois que cette activité revient, et lui donne guilds, le nombre de serveurs où il est : la ligne suit votre bot à mesure qu’il grandit, sans toucher au fichier. Une fonction peut aussi être async et lire un store, et activities lui-même peut être une fonction qui donne toute la liste : le guide montre les deux.
Pourquoi for et pas « changer chaque seconde » ? Discord accepte 5 changements de présence par 20 secondes d’un bot. En dessous de 5 secondes, des changements seraient perdus : ChapterJS le refuse au chargement du fichier.
Points d’attention
- La présence est celle du bot, pas du serveur. Elle est la même dans chaque serveur où se trouve le bot. Raison de plus pour avoir une application de dev séparée : ce que vous essayez ici est affiché partout où est le bot.
- Discord accepte 5 changements par 20 secondes. Quand vous enregistrez plus vite que cela, seule la dernière présence est envoyée, quand elle peut l’être.
- Un fichier qui ne se charge pas est signalé avec ce qui ne va pas, et le bot garde la dernière présence qui fonctionnait. Supprimer le fichier remet le bot en ligne sans rien afficher.
- La présence vient uniquement du fichier. Vos commandes ne la règlent jamais : elles changent les données que lisent ses fonctions (un store, par exemple), et le tour suivant l’affiche.
- Une fonction qui lève une erreur est signalée une fois, avec sa ligne, et le bot garde le dernier texte qui fonctionnait.
Récapitulatif
presence({ status, activity })se déclare une fois, danssrc/presence.ts; l’enregistrer s’applique immédiatement.statusest la pastille ;activityest la ligne sous le nom, avec untypeet unname.activitiesen affiche plusieurs tour à tour, chacune pendant sonfor; unnamepeut être une fonction, exécutée chaque fois que son activité revient.- Une seule présence pour tout le bot, dans chaque serveur.
Les messages traduits
Répondre à chaque personne dans sa langue.
Guide : Présence
La même chose, en bref.