我目前有一个工作脚本,该脚本根据发布者输入的参数分配角色。 我要做的是让漫游器将消息发送到本地通道,以便发布者知道它已正常工作,然后将消息发送到另一个通道,以欢迎将角色分配到服务器的用户。这就是我所拥有的:
const { client } = require('../main.js');
module.exports = {
name: 'roles',
description: "This is the command to give new recruits their role!",
args: true,
usage: '<department> <@user>',
execute(message, args){
//variables are defined here
const channel = client.channels.cache.get('the channel id');
message.delete(); //This deletes the posters command message
if (!message.mentions.users.size){
return message.channel.send('Please make sure to tag someone!');
else if(args[0] === 'bcso'){
user.roles.add(bcso);
user.roles.add(member);
user.roles.add(whitelist)
user.roles.remove(leoR);
message.channel.send(`${user} is now a full member of the BCSO`);
channel.send('Message goes here');
}
//rest of my code
但是我在控制台中遇到的错误是:“ TypeError:无法读取未定义的属性'channels'”
仅需确认我已设置了高级代码处理程序,因此此代码位于其自己文件中的commands文件夹内。
想法?
答案 0 :(得分:0)
似乎未定义导入的client
。可能是因为您未正确将其导出到main.js
文件中。
幸运的是,您可以简单地使用消息来查找频道。为此,您需要将client.channels.cache.get('the channel id');
更改为message.client.channels.cache.get('ID HERE');