Installation
Installer le paquet
npm install @fca.gg/glyph
Préparer le projet
npx glyph setup
Cette commande :
- crée le dossier
emojis/; - propose de générer un fichier
glyph.config.jsavec la configuration par défaut ; - ajoute
emojis/list.jsonau.gitignore; - ajoute
emojis/emojis.d.tsauincludede votretsconfig.json.
Configurer
Glyph lit sa configuration dans glyph.config.js à la racine du projet :
import dotenv from 'dotenv';
dotenv.config();
const config = {
emojisDir: './emojis', // dossier des images
fileIndex: true, // génère list.json et emojis.d.ts
botToken: process.env.TOKEN, // jeton du bot Discord
apiBaseUrl: process.env.DISCORD_API, // racine de l'API (non définie : Discord)
};
export default config;
emojisDir(défaut :'./emojis') : dossier des images d'emojis.fileIndex(défaut :true) : génère les fichiers d'indexlist.jsonetemojis.d.ts.botToken: jeton du bot. Sans jeton,glyph buildne peut que mettre à jour les types.apiBaseUrl(défaut :https://discord.com/api/v10) : racine de l'API Discord.
Une option laissée à undefined (ou vide) garde sa valeur par défaut au lieu de l'effacer : une variable d'environnement absente donne Discord, pas une URL cassée.
Sans fichier de configuration
Sans glyph.config.js, Glyph lit ces variables d'environnement :
TOKEN: jeton du bot ;EMOJIS_DIR: dossier des emojis ;DISCORD_API: racine de l'API.
Dès que glyph.config.js existe, ces variables ne sont plus lues automatiquement. Le fichier étant du JavaScript, il peut les reprendre lui-même, comme dans l'exemple ci-dessus.
Gardez le jeton hors du dépôt, par exemple dans un fichier .env :
TOKEN=votre_jeton_de_bot
Passer par un proxy ou un simulateur
apiBaseUrl décide où les emojis sont envoyés. Deux raisons de la changer :
- un proxy REST, quand toute l'application passe par lui pour partager les limites de débit ou observer le trafic : Glyph doit suivre le même chemin plutôt que le contourner ;
- un simulateur de Discord pendant les tests, pour ne pas toucher aux vrais emojis de l'application, visibles sur tous les serveurs du bot.
DISCORD_API=http://localhost:7070/api/v10 npx glyph build
Quand la racine n'est pas Discord, glyph build l'affiche : une ligne visible évite d'envoyer vers un proxy sans le savoir. Une barre oblique finale en trop est retirée automatiquement.