V každém případě, aby se tento discord.js kód kompaktnější?

hlasů
0

Vytvoření bot pomocí discord.js zvané „xok bot“ Im pomocí tohoto kódu nastavit náhodné číslo, a obraz přiřazeny na toto číslo se zobrazí, ale po 30 známka, kód se stává dlouhý, namáhavý částka když jsem si jistý, to může být zkrácena,

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

Položena 13/01/2020 v 22:05
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
0

Pokud přejmenování snímků je možnost můžete použít interpolaci řetězec:

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

Kde se vaše snímky budou pojmenovány 1.png, 2.png, 3.png, atd. Dávejte pozor na uzavíracích znaků řetězce, je zapotřebí `charakter.

Odpovězeno 13/01/2020 v 22:12
zdroj uživatelem

hlasů
4

Já bych to takhle:

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

Případně můžete použít pole namísto objektu a použít index namísto klíče.
EDIT Chcete-li použít pole, je třeba snížit index jedním takto:messages[xokNum-1]

Odpovězeno 13/01/2020 v 22:14
zdroj uživatelem

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