Задать вопрос
@Nikich31989

Как исправить ошибку «TypeError: Cannot read properties of undefined (reading 'ws')»?

Я сделал код, но почему-то мне выдаёт ошибку "TypeError: Cannot read properties of undefined (reading 'ws')".

const Discord = require('discord.js');
Discord.Constants.DefaultOptions.ws.properties.$browser = "Discord Android"
const Client = new Discord.client();

Client.on('ready', () => {
  console.log('the bot is online')
})

Client.login('ticket')
  • Вопрос задан
  • 139 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
Alexandre888
@Alexandre888 Куратор тега discord.js
Javascript-разработчик
с течением времени структура файлов библиотекиdiscord.js менялась, и на данный момент (сейчас последняя версия — discord.js@14.13.0) в файле, к которому вы обращаетесь (Constants.js) не содержится объект DefaultOptions.

поэтому вы получаете ошибку, т.к Discord.Constants.DefaultOptionsundefined.
при попытке получить что-то у 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 (которое изменяет код выше) должно быть название библиотеки:

64fc595121210396656954.png
изменяя значение свойства на Discord iOS или Discord Android, мы можем получить статус «онлайн с телефона», несмотря на то, что этот подход не приветствуется ни Discord API, ни discord.js.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы