Я разрабатываю бота с диссонансом. js, который использует такие вещи, как msg.member.hasPermission("ADMINISTRATOR")
или msg.member.roles.cache.has(teacherRoleID)
. Все работало нормально, пока я не попробовал webhooks. Добавив эти две строки:
client.on('ready', () => {
client.user.setStatus("online")
client.user.setActivity("!help", {
type: "PLAYING",
});
superConsole(`Logged in as ${client.user.tag} in ${client.guilds.size} guilds!`);
const hook = new Discord.WebhookClient("ID", "secret token"); // THESE
hook.send("I am now alive!"); // LINES
});
(кстати superConsole - это функция) С тех пор программа больше не работала и всегда возвращала одинаковые ошибки: (node:20736) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'hasPermission' of null
& (node:20736) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'roles' of null
Когда я удаляю эти 2 строки для webhook, он снова работает. Почему? Я не понимаю.
Права доступа и роль находятся в прослушивателе сообщений:
client.on('message', async msg => {
if (msg.member.hasPermission('ADMINISTRATOR') {
// some stuff here
}
if (msg.member.roles.cache.has(teacherRoleID) {
// some stuff here
}
});