diff --git a/Xiao.js b/Xiao.js index cca684e2..7b08ebf5 100644 --- a/Xiao.js +++ b/Xiao.js @@ -62,9 +62,10 @@ client.on('message', async 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; + const call = origin || recipient; + if (!call.active) return; try { - if (origin) await origin.send(origin.recipient, msg); - if (recipient) await recipient.send(recipient.origin, msg); + await call.send(origin ? call.recipient : call.origin, msg); } catch (err) { return; // eslint-disable-line no-useless-return } diff --git a/package.json b/package.json index aaca1653..c83ad82e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "xiao", - "version": "110.10.0", + "version": "110.10.1", "description": "Your personal server companion.", "main": "Xiao.js", "scripts": { diff --git a/structures/phone/PhoneCall.js b/structures/phone/PhoneCall.js index bdccce55..4c4fa0ac 100644 --- a/structures/phone/PhoneCall.js +++ b/structures/phone/PhoneCall.js @@ -32,19 +32,22 @@ module.exports = class PhoneCall { } async decline(validation) { - const directMsg = validation === 0 ? 'didn\'t answer...' : 'declined the call...'; this.client.phone.delete(this.id); - await this.origin.send(`☎️ **${this.recipient.guild.name}** ${directMsg}`); + await this.hangup('declined', validation); return this; } - async hangup(nonQuitter) { + async hangup(nonQuitter, validation) { this.active = false; clearTimeout(this.timeout); this.client.phone.delete(this.id); if (nonQuitter === 'time') { await this.origin.send('☎️ Call ended due to inactivity.'); await this.recipient.send('☎️ Call ended due to inactivity.'); + } else if (nonQuitter === 'declined') { + const directMsg = validation === 0 ? 'didn\'t answer...' : 'declined the call...'; + await this.origin.send(`☎️ **${this.recipient.guild.name}** ${directMsg}`); + await this.recipient.send('☎️ Declined the call.'); } else { const quitter = nonQuitter.id === this.origin.id ? this.recipient : this.origin; await nonQuitter.send(`☎️ **${quitter.guild.name}** hung up.`);