我在discord.js制作机器人。如何制作重启机器人的命令?
答案 0 :(得分:4)
您可以使用public function __construct( Notification $notification , User $user) {
$this->notification = $notification;
$this->user = $user;
}
public function build() {
$notification = $this->notification;
return $this
->from( [
'address' => \env( 'MAIL_DEFAULT_SENDER' ),
'name' => \env( 'APP_NAME' )
] )
->view( 'email.notification.ready' , [
'user' => $this->user
]);
}
方法重置机器人,然后再次调用client.destroy()
。尝试这样的事情:
.login
如果您在机器人中设置了一个准备好的监听器,您将看到// set message listener
client.on('message', message => {
switch(message.content.toUpperCase()) {
case '?RESET':
resetBot(message.channel);
break;
// ... other commands
}
});
// Turn bot off (destroy), then turn it back on
function resetBot(channel) {
// send channel a message that you're resetting bot [optional]
channel.send('Resetting...')
.then(msg => client.destroy())
.then(() => client.login(<your bot token here>));
}
事件触发两次。我建立了一个像这样的现成听众:
ready
答案 1 :(得分:2)
我的答案是使用注释中所述的类似Heroku的方法,但是我相信有一种方法可以在js代码中使用批处理文件启动bot,然后调用它,然后使用客户端。 destroy();
我不确定您应该使用什么,但是请考虑从您的机器人内部运行批处理文件。