Javascript 无法使用外部函数模块“.setActivity()”

Javascript 无法使用外部函数模块“.setActivity()”,javascript,node.js,function,discord.js,eval,Javascript,Node.js,Function,Discord.js,Eval,我试图设置bot的.setActivity(),但它似乎不起作用,不过,如果我使用eval命令进行设置,它实际上会设置并起作用。这是因为我尝试调用外部函数模块吗 文件 要点: 占位符(客户端,字符串){ const owner=client.users.cache.get(client.config.admin.owner.id); 如果(字符串类型==“字符串”){ 返回字符串 .replace(/%totalCommands%/g,client.commands.array().len

我试图设置bot的
.setActivity()
,但它似乎不起作用,不过,如果我使用
eval
命令进行设置,它实际上会设置并起作用。这是因为我尝试调用外部函数模块吗


文件

  • 要点:
占位符(客户端,字符串){
const owner=client.users.cache.get(client.config.admin.owner.id);
如果(字符串类型==“字符串”){
返回字符串
.replace(/%totalCommands%/g,client.commands.array().length)
.replace(/%clientName%/g,client.name)
.replace(/%clientId%/g,client.user.id)
.replace(/%clientDescription/g,client.package.description)
.replace(/%clientUsername%/g,client.user.username)
.replace(/%clientTag%/g,client.user.tag)
.replace(/%clientDevName%/g,client.dev.name)
.replace(/%clientdevhelp%/g,client.dev.helpers.join(“,”))
.replace(/%clientDefaultPrefix%/g,client.def.prefix)
.replace(/%clientGuildCount%/g,client.guilds.cache.size)
.replace(/%clientChannelCount%/g,client.channels.cache.size)
.replace(/%clientPackageName%/g,client.package.name)
.replace(/%clientVersion%/g,client.package.version)
.replace(/%clientLicense%/g,client.package.license)
.replace(/%clientAvatarURL%/g,client.avatar)
.replace(/%clientRepository%/g,client.package.repository)
.replace(/%clientAuthor%/g,client.package.author)
.replace(/%ClientOwnerName%/g,owner.username)
.replace(/%clientOwnerTag%/g,owner.tag)
.replace(/%clientOwnerID%/g,owner.id)
.replace(/%clientMainFile%/g,client.package.main)
.replace(/%clientOwnerAvatarURL%/g,owner.avatarURL()| | owner.defaultAvatarURL)
.replace(/%clientOriginalAuthor%/g,client.package.original\u author);
}否则{
返回字符串;
}
}
  • 就绪的事件处理程序

const Discord=require('Discord.js');
const Essentials=require(“../utils/Essentials.js”);
module.exports={
名称:“就绪”,//事件名称
异步执行(
客户端、事件
) {
让活动={};
异步函数setActv(){
activity.type=client.config.client.presence.activity.default.name;
activity.status=client.config.client.presence.activity.status;
activity.name=await Essentials.placeHolder(client,client.config.client.presence.activity.default.name);
client.user.setActivity(activity.name{
类型:activity.type
});
client.user.setStatus(activity.status);
}
client.footer=Essentials.placeHolder(client,client.config.client.settings.footer);
试一试{
//每30秒设置一次活动
setInterval(异步()=>{
等待setActv().catch(err=>Essentials.log(客户端,错误))
}, 5000);
}捕获(错误){
日志(客户端,错误);
}
//机器人就绪日志//
console.log(
`以${client.user.tag}身份登录。\n`
+`有${client.users.cache.size}个用户和/或机器人联机。\n`
+`${client.user.tag}已连接到:\n${client.guilds.cache
.map(g=>g.name)
.join(“,”}`
);
}
};
  • 主bot文件:
client.events=newdiscord.Collection();
var eventFiles=fs
.readdirSync(`./resources/events`)
.filter(file=>file.endsWith(“.js”);
for(事件文件的var文件){
var event=require(`./resources/events/${file}`);
client.events.set(event.name,event);
log(`Loading event handler for event“${event.name}”);
}
client.on(“ready”,async()=>{
const event=client.events.get(“准备”);
如果(事件){
试一试{
等待事件。执行(
客户端、事件
)
}捕捉(错误){
Essentials.log(客户端,错误)
}
} 
});
  • 评估命令:
const Discord=require('Discord.js');
const Essentials=require(“../utils/Essentials.js”)
module.exports={
id:“eval”,
名称:“Eval”,//命令名
description:“一个用于Discord的简单评估工具。”,//命令说明
别名:[“evl”,“ev”],//命令别名
类别:“公用事业”,
冷却时间:5000,//命令冷却时间
示例:[“eval message.author.id”,“eval process.cwd()”],//命令示例
用法:[“”],//命令用法
权限:[“发送消息”、“读取消息历史记录”],//命令权限
memberPermissions:[“发送邮件”、“读取邮件历史记录”、“管理服务器”],//用户必须具有这些权限
admin:true,//命令仅为admin
异步执行(客户端、命令、消息、参数、身份验证、通道、行会){//函数异步执行()
//命令从这里开始
试一试{
让evaled=eval(args.join(“”);
if(typeof evaled!=“string”)evaled=require(“util”).inspect(evaled);
const avtr=message.author.avatarURL()| | message.author.defaultAvatarURL;
const embed=new Discord.MessageEmbed()
.setAuthor(client.name,client.avatar)
.setTitle(command.name)
.setTimestamp()文件
.setColor(client.color.default)
.addField(“**Input**”,“``+args.join”(““”+”````'))
.addField(“**Result**,'``+Essentials.clean(evaled)+'```)
.setFooter(`${message.author.username}evaled`,avtr);
message.channel.send(嵌入);
}捕捉(错误){
常量嵌入=Essentials.errorEmbed(err);
send((嵌入),{split:true});
}
}
};

我尝试了很多组合,从实际将其放在事件处理程序之外,直接到
bot.js
,直到实际使用
eval()
,上面显示的是我当前的代码。没有抛出错误代码,
ready.js
中的所有其他组件都正常工作,包括
client.footer=…
,除了设置活动外,我是否遗漏了什么?

请显示相关代码,