Add hang up as a command

This commit is contained in:
Dragon Fire
2020-05-16 10:25:34 -04:00
parent 7ed0ce5bc4
commit cd3ca222c8
4 changed files with 31 additions and 3 deletions
+2 -1
View File
@@ -136,7 +136,7 @@ in the appropriate channel's topic to use it.
## Commands
Total: 417
Total: 419
### Utility:
@@ -582,6 +582,7 @@ Total: 417
### Phone:
* **admin-phone:** Starts an admin phone call with a server. (Owner-Only)
* **hang-up:** Hangs up the current phone call.
* **phone-book:** Looks up phone-enabled servers.
* **phone:** Starts a phone call with a random server.
+27
View File
@@ -0,0 +1,27 @@
const Command = require('../../structures/Command');
module.exports = class HangUpCommand extends Command {
constructor(client) {
super(client, {
name: 'hang-up',
group: 'phone',
memberName: 'hang-up',
description: 'Hangs up the current phone call.',
guildOnly: true
});
}
async run(msg) {
const origin = client.phone.find(call => call.origin.id === msg.channel.id);
const recipient = client.phone.find(call => call.recipient.id === msg.channel.id);
if (!origin && !recipient) return msg.reply('☎️ This channel is not in a phone call.');
const call = origin || recipient;
if (!call.active) return msg.reply('☎️ This call is not currently active.');
if (call.ownerOrigin && !this.client.isOwner(msg.author)) {
return msg.reply('☎️ You cannot hang up in an admin call.');
}
const nonQuitter = msg.channel.id === call.origin.id ? call.recipient : call.origin;
await call.hangup(nonQuitter);
return null;
}
};
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "xiao",
"version": "114.10.3",
"version": "114.11.0",
"description": "Your personal server companion.",
"main": "Xiao.js",
"scripts": {
+1 -1
View File
@@ -61,7 +61,7 @@ module.exports = class PhoneCall {
send(channel, msg, hasText, hasImage, hasEmbed) {
if (msg.content && msg.content.toLowerCase() === 'hang up') {
if (this.ownerOrigin && channel.id === this.origin.id) {
if (this.ownerOrigin && channel.id === this.origin.id && !this.client.isOwner(msg.author)) {
return this.recipient.send('☎️ You cannot hang up in an admin call.');
}
return this.hangup(channel);