• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Discord.js ID

VPS Starter Arubacloud
0 głosów
1,208 wizyt
pytanie zadane 6 sierpnia 2020 w JavaScript przez Gucio.js Początkujący (390 p.)
zmienione kategorie 6 sierpnia 2020 przez ScriptyChris

Witam, stworzyłem komendę "skrzynka", która wysyła losowy embed z zawartością. Lecz chciałem później dodać funkcję, która sprawdza czy ta komenda została wysłana na odpowiednim kanale. I tak zrobiłem, lecz wyskakuje mi błąd Piszę na discord.js v12.2.0. Oto kod i błąd:

 

const { MessageEmbed, Message } = require("discord.js")

module.exports = {
     name: "skrzynka",
     cooldown: 5,

    run(client, args, message) {



      if (message.channel.id !== "738110972153167893") {
        return message.channel.send(":alert: Tą komendę można wykonać tylko na kanale <#738110972153167893> na serwerze __GRAMY NIE ŚPIMY__")
      }
      
      
        //  const embeda = new MessageEmbed()
        //  .setColor('RANDOM')
        //  .setAuthor("ZWYKŁA SKRZYNKA!")
        //  .setDescription("<a:8203_MinecraftChest:732573818803191869>  WOW! Awansujesz w otwieraniu skrzynek! <a:8203_MinecraftChest:732573818803191869>")
        //  .setFooter("Kolejne możliwe losowanie za: 1 dzień")
        //  .setTimestamp()

         const embedb = new MessageEmbed()
         .setColor('RANDOM')
         .setAuthor("ZWYKŁA SKRZYNKA!")
         .setDescription("<a:8203_MinecraftChest:732573818803191869>  WOW! Wylosowałeś aż 5000 <:FlashCoin:722161701415551059>! <a:8203_MinecraftChest:732573818803191869>")
         .setFooter("Kolejne możliwe losowanie za: 1 dzień")
        
         const embedc = new MessageEmbed()
         .setColor('RANDOM')
         .setAuthor("ZWYKŁA SKRZYNKA!")
         .setDescription("<a:8203_MinecraftChest:732573818803191869>  WOW! Wylosowałeś aż 1000 <:FlashCoin:722161701415551059>! <a:8203_MinecraftChest:732573818803191869>")
         .setFooter("Kolejne możliwe losowanie za: 1 dzień")
        
         const embedd = new MessageEmbed()
         .setColor('RANDOM')
         .setAuthor("ZWYKŁA SKRZYNKA!")
         .setDescription("<a:8203_MinecraftChest:732573818803191869>  WOW! Wylosowałeś aż 2000 <:FlashCoin:722161701415551059>! <a:8203_MinecraftChest:732573818803191869>")
         .setFooter("Kolejne możliwe losowanie za: 1 dzień")

         const embede = new MessageEmbed()
         .setColor('RANDOM')
         .setAuthor("ZWYKŁA SKRZYNKA!")
         .setDescription("<a:8203_MinecraftChest:732573818803191869>  WOW! Wylosowałeś VIPa lub jego równowartość <:FlashCoin:722161701415551059>! <a:8203_MinecraftChest:732573818803191869>")
         .setFooter("Kolejne możliwe losowanie za: 1 dzień")

         const embedf = new MessageEmbed()
         .setColor('RANDOM')
         .setAuthor("ZWYKŁA SKRZYNKA!")
         .setDescription("<a:8203_MinecraftChest:732573818803191869>  WOW! Wylosowałeś własną emotkę! Wyślij ją na <#718404003125526550> i oznacz @ Szefuńcio , a my ją dodamy!  <a:8203_MinecraftChest:732573818803191869>")
         .setFooter("Kolejne możliwe losowanie za: 1 dzień")
         
         const embedg = new MessageEmbed()
         .setColor('RANDOM')
         .setAuthor("ZWYKŁA SKRZYNKA!")
         .setDescription("<a:8203_MinecraftChest:732573818803191869>  WOW! Wylosowałeś @Posiadacz GucioBOT Premium! Zgłoś się do <@576444179958464522> <a:7080_verif_blue:736928552561147966>!  <a:8203_MinecraftChest:732573818803191869>")
         .setFooter("Kolejne możliwe losowanie za: 1 dzień")
         
         var facts = [embedb, embedc, embedd, embede, embedf];
         var fact = Math.floor(Math.random() * facts.length);
         message.channel.send(facts[fact]);

   }
 }

A oto błąd:

 

UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'id' of undefined
    at Object.run (C:\Users\Kamil1\Desktop\team\KamilBOT\commands\komendy\skrzynka.js:11:27)
    at Client.<anonymous> (C:\Users\Kamil1\Desktop\team\KamilBOT\index.js:49:17)
    at Client.emit (events.js:327:22)
    at MessageCreateAction.handle (C:\Users\Kamil1\Desktop\team\KamilBOT\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
    at Object.module.exports [as MESSAGE_CREATE] (C:\Users\Kamil1\Desktop\team\KamilBOT\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
    at WebSocketManager.handlePacket (C:\Users\Kamil1\Desktop\team\KamilBOT\node_modules\discord.js\src\client\websocket\WebSocketManager.js:386:31)
    at WebSocketShard.onPacket (C:\Users\Kamil1\Desktop\team\KamilBOT\node_modules\discord.js\src\client\websocket\WebSocketShard.js:436:22)
    at WebSocketShard.onMessage (C:\Users\Kamil1\Desktop\team\KamilBOT\node_modules\discord.js\src\client\websocket\WebSocketShard.js:293:10)
    at WebSocket.onMessage (C:\Users\Kamil1\Desktop\team\KamilBOT\node_modules\ws\lib\event-target.js:125:16)
    at WebSocket.emit (events.js:315:20)
(node:5320) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:5320) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

A tutaj część index.js z linijką 49:
 

    if (command) 
        command.run(client, message, args);

Bardzo proszę o pomoc, z góry dziękuję

1 odpowiedź

+1 głos
odpowiedź 6 sierpnia 2020 przez ScriptyChris Mędrzec (190,190 p.)
wybrane 6 sierpnia 2020 przez Gucio.js
 
Najlepsza

To w końcu Java, czy JavaScript? :)

Przyczyną błędu zdaje się być rozbieżna kolejność argumentów, jakie przyjmuje metoda run z parametrami z jakimi ją wołasz.

Linia 7:

  run(client, args, message) {

A wołasz jako:

command.run(client, message, args);

Zmienne message i args są zamienione kolejnością.

komentarz 6 sierpnia 2020 przez Gucio.js Początkujący (390 p.)
Ach no tak... Widocznie zapomniałem okularów założyć, dziękuję za pomoc

Podobne pytania

+1 głos
2 odpowiedzi 792 wizyt
pytanie zadane 4 września 2020 w JavaScript przez Gucio.js Początkujący (390 p.)
0 głosów
1 odpowiedź 982 wizyt
pytanie zadane 29 lipca 2020 w JavaScript przez Gucio.js Początkujący (390 p.)
0 głosów
1 odpowiedź 901 wizyt
pytanie zadane 23 lipca 2020 w JavaScript przez Samek2222 Początkujący (440 p.)

93,025 zapytań

141,990 odpowiedzi

321,292 komentarzy

62,371 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...