@beret.27/discord-app-emojis
v1.3.5
Published
Discord application emoji manager pour Node.js and discord.js
Downloads
401
Maintainers
Readme
@beret.27/discord-app-emojis
Module npm pour gerer, synchroniser et reparer les emojis d'application Discord avec Node.js et discord.js. (ReadMe fait par IA, des bugs sont possibles, si le cas présent : merci de me contacter via discord : levraiberet)
Installation
npm install @beret.27/discord-app-emojisAPI
getemoji(name, options)getallemoji({ name })getemojinumber()
Creation du module
const { createEmojiModule } = require('@beret.27/discord-app-emojis');Tu peux l'initialiser de 2 facons:
1) Avec client Discord.js (recommande)
const emoji = await createEmojiModule({
client, // client discord.js deja connecte
emojiDir: './emojis',
createDirIfMissing: true,
normalizeUploads: true,
normalizeSize: 128,
normalizeFormat: 'png',
cacheTtlMs: 30000,
timeoutMs: 20000,
syncOnInit: true,
log: true, // mode logs
logLevels: ['info', 'warn', 'error'],
logEvents: ['sync-init-start', 'sync-init-done', 'create', 'update', 'delete'],
}).init();2) Avec token (+ appId optionnel)
const emoji = await createEmojiModule({
token: process.env.DISCORD_BOT_TOKEN,
appId: process.env.DISCORD_APP_ID, // optionnel
emojiDir: './emojis',
createDirIfMissing: true,
log: false,
}).init();getemoji(name, options)
Retourne <:name:id> ou <a:name:id>.
Options:
update(boolean):- cree l'emoji si absent et fichier local present
- met a jour si la comparaison visuelle locale/distante differe
delete(boolean):- supprime l'emoji distant de ce nom
default(string):- fallback en cas d'erreur / non trouve
Compat:
uploadest toujours accepte comme alias deupdate.
Exemple:
const v = await emoji.getemoji('yes', {
update: true,
delete: false,
default: '❓',
});getallemoji({ name })
Retourne tous les emojis, ou seulement ceux dont le nom contient name.
const all = await emoji.getallemoji({ name: 'para' });getemojinumber()
Retourne le nombre total d'emojis app du bot.
const count = await emoji.getemojinumber();Parametres
createEmojiModule(options):
client(Discord.Client) optionneltoken(string) optionnel siclientfourniappId(string) optionnelemojiDir(string) optionnel (defaut./emojis)createDirIfMissing(boolean) defauttruetimeoutMs(number) timeout API/CDN (defaut20000)cacheTtlMs(number) expiration cache en ms (defaut30000)refreshOnMiss(boolean) refetch si nom absent du cache (defauttrue)syncOnInit(boolean) resynchronise les emojis locaux au demarragesyncOnInitMode(string)missing-onlyouupdate-allsyncConcurrency(number) nombre max de traitements en paralleleupdateStrategy(string)missing-onlyoustrict-remote-hashsyncDefault(string) fallback utilise pendant le sync initnormalizeUploads(boolean) normalise les images avant upload Discord (defautfalse)normalizeSize(number) taille cible de normalisation (defaut128)normalizeFormat(string) format ciblepng|webp|jpeg(defautpng)normalizeCacheDir(string) dossier disque pour stocker les images converties (defaut./emojis/.discord-cache)log(boolean) active les logs du modulelogLevels(string[]) filtre par niveau (debug/info/warn/error)logEvents(string[]) filtre par type d'event (create,update,delete, etc.)logger(objet type console) optionnel
Reparer des emojis renommes / inverses
Si les noms existent encore sur le bot mais pointent vers le mauvais visuel, utilise:
const emoji = await createEmojiModule({
client,
emojiDir: './emojis',
syncOnInit: true,
syncOnInitMode: 'update-all',
updateStrategy: 'strict-remote-hash',
syncConcurrency: 8,
}).init();Ce mode compare visuellement le local et le distant, puis recree l'emoji si le contenu ne correspond pas.
Quand normalizeUploads est active, le module cree aussi un cache disque des images converties dans .discord-cache pour eviter les reconversions et reduire la latence.
Structure
Le code est decoupe dans src/fonction/ avec 1 responsabilite par fichier.
