De toute façon de rendre ce code discord.js plus compact?

voix
0

Création d' un robot à l' aide discord.js appelé « bot xok » Im en utilisant ce code pour définir un nombre aléatoire, et l'image attribuée à ce numéro sera affiché, mais après la marque 30, le code devient une longue quantité intense quand je suis sûr il peut être raccourci,

exports.run = async (client, message, args, level) => {  
xokNum = Math.round(Math.random()*53)

switch(xokNum){
    case(1):
        message.channel.send({
        files:['D:/XokBotApp/xokBot/xokVariations/resized/xokAngryR.png']
         })
        break
    case(2):
        message.channel.send({
        files:['D:/XokBotApp/xokBot/xokVariations/resized/xokCreepyR.png']
         })
        break;

    case (3):
        message.channel.send({
        files:['D:/XokBotApp/xokBot/xokVariations/resized/xokCursed.png']
         })
         break;
    case (4):
        message.channel.send({
        files:['D:/XokBotApp/xokBot/xokVariations/resized/xokinator.gif']
         })
         break;
    case (5):
        message.channel.send({
        files:['D:/XokBotApp/xokBot/xokVariations/resized/xokLink.png']
         })
        break;
    case (6):
        message.channel.send({
        files:['D:/XokBotApp/xokBot/xokVariations/resized/xokMinion.png']
         })            
        break;

ECT

Créé 13/01/2020 à 22:05
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
0

Si renommer les images est une option que vous pouvez utiliser l' interpolation de chaîne:

message.channel.send({
   files:[`D:/XokBotApp/xokBot/xokVariations/resized/${xokNum}.png`]
})

Où vos images seraient nommées 1.png, 2.png, 3.png, etc. Faites attention aux caractères de la chaîne enserrant, le caractère `est nécessaire.

Créé 13/01/2020 à 22:12
source utilisateur

voix
4

Je le ferais comme ceci:

exports.run = async (client, message, args, level) => {  
const xokNum = Math.round(Math.random()*53);
const messages = {
    1: 'D:/XokBotApp/xokBot/xokVariations/resized/xokAngryR.png',
    2: 'D:/XokBotApp/xokBot/xokVariations/resized/xokAngryR.png',
    3: 'D:/XokBotApp/xokBot/xokVariations/resized/xokCursed.png'
};

message.channel.send({ files: messages[xokNum] });

Vous pouvez aussi utiliser un tableau au lieu d'un objet et utiliser l'index au lieu de la clé.
EDIT Si vous souhaitez utiliser un tableau, vous devez réduire l'indice par un comme celui - ci:messages[xokNum-1]

Créé 13/01/2020 à 22:14
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more