我有一个名为userUpdate.js的discord.js事件,该事件的参数为client,oldUser, newUser
我尝试过
var log = client.guilds.channels.find(ch => ch.name.includes('log')) ;
if (!log) return;
if (!log.permissionsFor(client.user).has(["SEND_MESSAGES","EMBED_LINKS"])) return;
但是我得到的是未定义频道
log.send("message here");
答案 0 :(得分:1)
您不确定,因为您尝试在公会集合中查找频道。
对于不和谐的v11版本
let log = client.channels.find(ch => ch.name.includes('log')) ;
if (!log) return;
if (!log.permissionsFor(client.user).has(["SEND_MESSAGES","EMBED_LINKS"])) return;
对于不和谐的v12版本
let log = client.channels.cache.find(ch => ch.name.includes('log')) ;
if (!log) return;
if (!log.permissionsFor(client.user).has(["SEND_MESSAGES","EMBED_LINKS"])) return;
更好地使用该频道ID
let logChannel = client.channels.get("ID")
if (!logChannel) return;
if (!logChannel.permissionsFor(client.user).has(["SEND_MESSAGES","EMBED_LINKS"])) return;
对于v12,将
client.channels.get("ID")
替换为client.channels.cache.get("ID")