Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz
  • 0

Problem z Discord.js


whitets

Pytanie

Opublikowano

Cześć, mam problem z kodem

const Discord = require("discord.js");
const c = require("../botconfig.json");
const errors = require("../utils/errors.js");

module.exports.run = async (bot, message, args) => {

    let oneUser = message.guild.member(message.mentions.users.first() || message.guild.members.get(args[0]));
    if(!oneUser) return errors.cantfindUser(message.channel);

    if (args[1] === 'x') {

        let loveNumber = Math.floor((Math.random() * 100) + 1);
        let twoUser = message.guild.member(message.mentions.users.first() || message.guild.members.get(args[2]));
        if(!twoUser) return errors.cantfindUser(message.channel);

        let loveEmbed = new Discord.RichEmbed()
            .setAuthor("Susi ", bot.avatarURL)
            .setDescription("percent of love")
            .setColor(c.susicolor)
            .addField("Score:", `${oneUser} loves in ${loveNumber}% ${twoUser}`)
            .setFooter("Susi© by Whitets", bot.user.displayAvatarURL);

        message.channel.send(loveEmbed);

      }
      if (args[0] === "help" || args[1] !== "x") {

        message.channel.send("Usage: " + c.prefix + "love <username> x <username>");

      }
};

module.exports.help = {
  name:"love"
};

Gdy wpiszę komendę wyskakują mi dwie te same osoby, a nie te które oznaczyłem

https://imgur.com/a/hGan3Yo

1 odpowiedź na to pytanie

Rekomendowane odpowiedzi

Opublikowano

Nic dziwnego. 

message.mentions.users.first()

zwraca pierwszy element, w tym przypadku pierwszą oznaczoną osobę. Tak na szybko powinno załatwić sprawę zostawienie w if'ach samego 

message.guild.members.get(args[0])
//oraz
message.guild.members.get(args[2])

Alternatywnie można byłoby się bawić 

//funkcja
.map()
//lub
.array()
//na kolekcji
message.mentions.users

 Ale z racji, że znasz liczbę argumentów pierwsze rozwiązanie jest po prostu szybsze.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...