(Praca w Javascript discord.js)

Staram się, aby użytkownicy mogli używać poleceń tylko z mojego kanału #commands. Mam ten kod na początku polecenia.

  if (msg === prefix + 'DAILY') {

   if (msg.channel.id === '29124657224757826') {

Codzienne polecenie działało idealnie, zanim spróbowano sprawić, by działało tylko w jednym kanale. Oto komunikat o błędzie, który otrzymuję wraz z drugim wierszem:

  if (msg.channel.id === '394615572257570826') {
                    ^
TypeError: Cannot read property 'id' of undefined

Wydaje mi się, że potrzebuję tylko zmiennej channel.id, więc jak mam ją ustawić? Jeśli to nie jest poprawka, to co jest? Z góry dziękuję.

0
QuestionerK 16 grudzień 2019, 10:01
2
Twoja zmienna msg wydaje się być ciągiem, może Message.content, a nie obiektem Message
 – 
Michel Feldheim
16 grudzień 2019, 10:16
1
Jak powiedział @MichelFeldheim, musisz użyć msg.content zamiast tylko msg. To może w jakiś sposób nadal działało, ale pochrzaniło kod i tak czy inaczej, w ten sposób jest to lepsza praktyka.
 – 
Kenzoid
19 grudzień 2019, 10:22

1 odpowiedź

Jak powiedział komentarz, pierwsza linia w obsłudze poleceń musi być msg.content, a nie tylko komunikat. Innym problemem jest brak definicji msg. Założę się, że to dlatego, że twój program obsługi poleceń nie jest msg, ale jest czymś innym, jak wiadomość. Oparty na innym podobnym problemie, który pochodzi z tego

To, co chciałbyś zrobić, to znaleźć kanał za pomocą msg.guild.channels.find(). Mam pytanie, co próbujesz zrobić po wierszu 2, w którym szukasz kanału pasującego do identyfikatora, co może dać ci lepsze zrozumienie

0
Creeper55k 7 styczeń 2020, 17:44