Во всяком случае, чтобы сделать этот discord.js код более компактным?

голоса
0

Создание бота с помощью discord.js называемого «XOK ботом» Im , используя этот код , чтобы установить случайное число, и образом , присвоенный этот номер будет отображаться, однако после 30 знака, код становится длинным, напряженная сумма , когда я уверен , он может быть сокращен,

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

Задан 14/01/2020 в 00:05
источник пользователем
На других языках...                            


2 ответов

голоса
0

Если переименование изображений варианта можно использовать интерполяцию строки:

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

Где ваши изображения будут называться 1.png, 2.png, 3.png и т.д. Обратите внимание на вмещающей строке символы, требуется символ `.

Ответил 14/01/2020 в 00:12
источник пользователем

голоса
4

Я хотел бы сделать это следующим образом:

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

В качестве альтернативы вы можете использовать массив вместо объекта и использовать индекс вместо ключа.
EDIT Если вы хотите использовать массив, вам нужно уменьшить индекс по одному , как это:messages[xokNum-1]

Ответил 14/01/2020 в 00:14
источник пользователем

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