Hoe dan ook om dit discord.js code compacter te maken?

stemmen
0

Het creëren van een bot met behulp van discord.js genaamd xok bot Im met behulp van deze code om een willekeurig nummer in te stellen, en met de met dat nummer afbeelding wordt weergegeven, maar na de 30 mark, de code wordt een lange, inspannende bedrag wanneer im zeker het kan worden verkort,

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

De vraag is gesteld op 14/01/2020 om 00:05
bron van user
In andere talen...                            


2 antwoorden

stemmen
0

Als het hernoemen van de beelden is een optie die je zou kunnen gebruiken snaar interpolatie:

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

Waar uw foto's zou worden genoemd 1.png, 2.png, 3.png, enz. Let op de omsluitende reeks tekens, wordt de 'gewenste karakter.

antwoordde op 14/01/2020 om 00:12
bron van user

stemmen
4

Ik zou het doen als dit:

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

Als alternatief kunt u een array gebruiken in plaats van een object en gebruik maken van de index in plaats van de sleutel.
EDIT Als u een array wilt gebruiken, moet u om de index te verminderen door één als volgt uit:messages[xokNum-1]

antwoordde op 14/01/2020 om 00:14
bron van user

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