mirror of
https://github.com/syuilo/ai.git
synced 2024-11-22 13:17:59 +00:00
Improve AI
This commit is contained in:
parent
97ff5cae05
commit
cca9c7bc03
|
@ -95,6 +95,8 @@ export default class ServerModule implements IModule {
|
||||||
|
|
||||||
this.ai.post({
|
this.ai.post({
|
||||||
text: reason == 'cpu' ? serifs.REBOOT_SCHEDULED_CPU : serifs.REBOOT_SCHEDULED_MEM
|
text: reason == 'cpu' ? serifs.REBOOT_SCHEDULED_CPU : serifs.REBOOT_SCHEDULED_MEM
|
||||||
|
}).then(post => {
|
||||||
|
this.ai.subscribeReply(this, 'reboot', false, post.id);
|
||||||
});
|
});
|
||||||
|
|
||||||
this.rebootTimer = setTimeout(() => {
|
this.rebootTimer = setTimeout(() => {
|
||||||
|
@ -109,6 +111,26 @@ export default class ServerModule implements IModule {
|
||||||
}, 1000 * 50);
|
}, 1000 * 50);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public onReplyThisModule = (msg: MessageLike) => {
|
||||||
|
if (msg.text == null) return;
|
||||||
|
|
||||||
|
if (msg.text.includes('やめ')) {
|
||||||
|
if (msg.user.isAdmin) {
|
||||||
|
msg.reply(serifs.REBOOT_CANCEL_REQUESTED_ACCEPT);
|
||||||
|
|
||||||
|
this.ai.post({
|
||||||
|
text: serifs.REBOOT_CANCELED
|
||||||
|
});
|
||||||
|
|
||||||
|
this.cancelReboot();
|
||||||
|
} else {
|
||||||
|
msg.reply(serifs.REBOOT_CANCEL_REQUESTED_REJECT);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.ai.unsubscribeReply(this, 'reboot');
|
||||||
|
}
|
||||||
|
|
||||||
public onMention = (msg: MessageLike) => {
|
public onMention = (msg: MessageLike) => {
|
||||||
if (msg.text && msg.text.includes('再起動しないで')) {
|
if (msg.text && msg.text.includes('再起動しないで')) {
|
||||||
if (msg.user.isAdmin) {
|
if (msg.user.isAdmin) {
|
||||||
|
@ -118,12 +140,7 @@ export default class ServerModule implements IModule {
|
||||||
text: serifs.REBOOT_CANCELED
|
text: serifs.REBOOT_CANCELED
|
||||||
});
|
});
|
||||||
|
|
||||||
clearTimeout(this.rebootTimer);
|
this.cancelReboot();
|
||||||
clearTimeout(this.rebootTimerSub);
|
|
||||||
|
|
||||||
setTimeout(() => {
|
|
||||||
this.preventScheduleReboot = false;
|
|
||||||
}, 1000 * 60 * 3);
|
|
||||||
} else {
|
} else {
|
||||||
msg.reply(serifs.REBOOT_CANCEL_REQUESTED_REJECT);
|
msg.reply(serifs.REBOOT_CANCEL_REQUESTED_REJECT);
|
||||||
}
|
}
|
||||||
|
@ -132,4 +149,14 @@ export default class ServerModule implements IModule {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private cancelReboot = () => {
|
||||||
|
clearTimeout(this.rebootTimer);
|
||||||
|
clearTimeout(this.rebootTimerSub);
|
||||||
|
|
||||||
|
// 10分間延期
|
||||||
|
setTimeout(() => {
|
||||||
|
this.preventScheduleReboot = false;
|
||||||
|
}, 1000 * 60 * 10);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue