с течением времени структура файлов библиотеки
discord.js
менялась, и на данный момент (сейчас последняя версия —
discord.js@14.13.0
) в файле, к которому вы обращаетесь (
Constants.js
) не содержится объект
DefaultOptions
.
поэтому вы получаете ошибку, т.к
Discord.Constants.DefaultOptions
—
undefined
.
при попытке получить что-то у
undefined
(в вашем случае свойство
ws
,
undefined.ws
), возникает ошибка
Cannot read properties of undefined
.
сейчас статус «онлайн с телефона» боту можно установить следующим образом:
const {
DefaultWebSocketManagerOptions: {
identifyProperties
}
} = require("@discordjs/ws");
identifyProperties.browser = "Discord Android"; // или Discord iOS
обратите внимание: хоть этот способ и рабочий, официально он
не задокументирован.
в
Discord API Docs говорится, что значением свойства
browser
(которое изменяет код выше) должно быть
название библиотеки:

изменяя значение свойства на
Discord iOS
или
Discord Android
, мы можем получить статус «онлайн с телефона», несмотря на то, что этот подход не приветствуется ни
Discord API
, ни
discord.js
.