"Невозможно прочитать свойство 'name' из null" при попытке прочитать имя сервера - PullRequest
0 голосов
/ 13 марта 2019

Когда я делаю console.log(message.guild.name), он работает нормально, давая мне имя гильдии, в которой было сказано сообщение. Однако по какой-то причине при запуске этого кода во время DMing пользователя выдается следующая ошибка:

(узел: 36816) UnhandledPromiseRejectionWarning: TypeError: Невозможно прочитать свойство 'name' из null '

1 Ответ

2 голосов
/ 13 марта 2019

A Канал DM не входит в гильдию, поэтому к нему не может быть прикреплена гильдия

Вам необходимо проверить свойство message.channel.type, чтобы определить, к какому типу канала оно относится.является.Сообщение может приходить с любого из этих типов каналов TextChannel (он же текстовый канал гильдии), DMChannel или GroupDMChannel

Если посмотреть на channel.type, то появится одна из следующих опций:

  • dm - канал DM
  • group - канал группы DM
  • text - текстовый канал гильдии
  • voice - голосовой канал гильдии
  • category - канал категории гильдии

Как вы могли бы сделать это:

switch (message.channel.type) {
    case 'text':
        // Do guild stuff
        break;

    case 'dm':
    case 'group':
        // Do DM stuff
        break;

    default:
        // Do stuff on unexpected channel
        break;
}
...