33 lines
1.4 KiB
TypeScript
33 lines
1.4 KiB
TypeScript
import { TextChannel } from 'eris';
|
|
import { Server } from '..';
|
|
import { Route, RichEmbed } from '../../class';
|
|
|
|
export default class Webhook extends Route {
|
|
constructor(server: Server) {
|
|
super(server, { path: '/wh', deprecated: false, maintenance: false });
|
|
}
|
|
|
|
public bind() {
|
|
this.router.post('/s1', async (req, res) => {
|
|
try {
|
|
if (req.headers.authorization !== this.server.security.keys.iv.toString('base64')) return res.status(401).json({ code: this.constants.codes.UNAUTHORIZED, message: this.constants.codes.UNAUTHORIZED });
|
|
const embed = new RichEmbed();
|
|
embed.setTitle('Service Request');
|
|
embed.setDescription(req.body.url);
|
|
embed.setColor('#FF00FF');
|
|
embed.addField('Ticket Number', req.body.key, true);
|
|
embed.addField('Reporter', req.body.reporter, true);
|
|
embed.addField('Status', req.body.status, true);
|
|
embed.addField('Summary', req.body.summary);
|
|
embed.setFooter(this.server.client.user.username, this.server.client.user.avatarURL);
|
|
embed.setTimestamp();
|
|
const chan = <TextChannel> this.server.client.getChannel('580950455581147146');
|
|
chan.createMessage({ embed });
|
|
return res.status(200).json({ code: this.constants.codes.SUCCESS, message: this.constants.codes.SUCCESS });
|
|
} catch (err) {
|
|
return this.handleError(err, res);
|
|
}
|
|
});
|
|
}
|
|
}
|