Wie dem auch sei, um diese discord.js Code kompakter?

stimmen
0

Einen Bot Erstellen discord.js namens „Xok bietet“ Ich bin mit mit diesem Code , um eine Zufallszahl zu setzen, und die auf die Nummer zugeordnet Bildes nach der 30 Markierung angezeigt, jedoch wird, wird der Code eines langer, anstrengender Betrag , wenn im sicher es kann verkürzt werden,

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

Veröffentlicht am 14/01/2020 um 00:05
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
0

Wenn die Bilder umbenennen eine Option können Sie String - Interpolation verwendet werden :

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

Wo Ihre Bilder 1.png benannt werden würde, 2.png, 3.png usw. Achten Sie auf die Zeichenfolge Zeichen einschließt, wird die `Zeichen erforderlich.

Beantwortet am 14/01/2020 um 00:12
quelle vom benutzer

stimmen
4

Ich würde es tun, wie folgt:

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] });

Alternativ können Sie ein Array anstelle eines Objekts verwenden und den Index anstelle des Schlüssels verwenden.
EDIT Wenn Sie ein Array verwenden möchten, müssen Sie den Index durch einen so reduzieren:messages[xokNum-1]

Beantwortet am 14/01/2020 um 00:14
quelle vom benutzer

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