Merge branch 'dev'

merge-requests/13/head
Matthew 2020-06-16 22:35:34 -04:00
commit f233bd3b12
No known key found for this signature in database
GPG Key ID: F841AB9BF496C194
1 changed files with 11 additions and 1 deletions

View File

@ -1,7 +1,7 @@
/* eslint-disable no-case-declarations */ /* eslint-disable no-case-declarations */
/* eslint-disable no-continue */ /* eslint-disable no-continue */
/* eslint-disable no-await-in-loop */ /* eslint-disable no-await-in-loop */
import { Message } from 'eris'; import { Message, TextableChannel, Textable } from 'eris';
import { Client, Command, RichEmbed } from '../class'; import { Client, Command, RichEmbed } from '../class';
export default class Page extends Command { export default class Page extends Command {
@ -64,6 +64,12 @@ export default class Page extends Command {
} }
} }
public logPage(sender: { number: string, user?: string }, recipient: { number: string, user?:string }, code: string): void {
const chan = <TextableChannel> this.client.guilds.get(this.client.config.guildID).channels.get('722636436716781619');
chan.createMessage(`***\`${sender.number} (${sender.user ? sender.user : ''})\` sent a page to \`${recipient.number} (${recipient.user ? recipient.user : ''})\` with code \`${code}\`.***`);
this.client.util.signale.log(`PAGE | TO: ${recipient.number}, FROM: ${sender.number}, code: ${code}`);
}
public async page(recipientNumber: string, senderNumber: string, code: string, message: Message): Promise<{status: boolean, message: string}> { public async page(recipientNumber: string, senderNumber: string, code: string, message: Message): Promise<{status: boolean, message: string}> {
try { try {
const senderEntry = await this.client.db.PagerNumber.findOne({ num: senderNumber }); const senderEntry = await this.client.db.PagerNumber.findOne({ num: senderNumber });
@ -112,13 +118,17 @@ export default class Page extends Command {
} }
for (const id of recipientEntry.discordIDs) { for (const id of recipientEntry.discordIDs) {
const recipient = this.client.guilds.get(this.client.config.guildID).members.get(recipientEntry.individualAssignID);
const sender = this.client.guilds.get(this.client.config.guildID).members.get(senderEntry.individualAssignID); const sender = this.client.guilds.get(this.client.config.guildID).members.get(senderEntry.individualAssignID);
const chan = await this.client.getDMChannel(id); const chan = await this.client.getDMChannel(id);
if (!chan) continue; if (!chan) continue;
this.logPage({ number: senderNumber, user: `${sender.username}#${sender.discriminator}` }, { number: recipientNumber, user: `${recipient.username}#${recipient.discriminator}` }, code);
chan.createMessage(`__**Page**__\n**Recipient PN:** ${recipientNumber}\n**Sender PN:** ${senderNumber} (${sender ? `${sender.username}#${sender.discriminator}` : ''})\n**Initial Command:** https://discordapp.com/channels/${message.guild.id}/${message.channel.id}/${message.id} (<#${message.channel.id}>)\n\n**Pager Code:** ${code} (${this.local.codeDict.get(code)})`); chan.createMessage(`__**Page**__\n**Recipient PN:** ${recipientNumber}\n**Sender PN:** ${senderNumber} (${sender ? `${sender.username}#${sender.discriminator}` : ''})\n**Initial Command:** https://discordapp.com/channels/${message.guild.id}/${message.channel.id}/${message.id} (<#${message.channel.id}>)\n\n**Pager Code:** ${code} (${this.local.codeDict.get(code)})`);
} }
for (const email of recipientEntry.emailAddresses) { for (const email of recipientEntry.emailAddresses) {
const recipient = this.client.guilds.get(this.client.config.guildID).members.get(recipientEntry.individualAssignID);
const sender = this.client.guilds.get(this.client.config.guildID).members.get(senderEntry.individualAssignID); const sender = this.client.guilds.get(this.client.config.guildID).members.get(senderEntry.individualAssignID);
this.logPage({ number: senderNumber, user: `${sender.username}#${sender.discriminator}` }, { number: recipientNumber, user: `${recipient.username}#${recipient.discriminator}` }, code);
await this.client.util.transporter.sendMail({ await this.client.util.transporter.sendMail({
from: '"LOC Paging System" <internal@libraryofcode.org>', from: '"LOC Paging System" <internal@libraryofcode.org>',
to: email, to: email,