@skybloxsystems/ticket-bot
Version:
43 lines (37 loc) • 2.25 kB
JavaScript
const Discord = require("discord.js");
const router = require('express').Router();
module.exports = (app, config, themeConfig) => {
router.get('/', async (req, res) => {
let customThemeOptions;
if(themeConfig.customThemeOptions) {
customThemeOptions = await themeConfig.customThemeOptions.index({req: req, res: res, config: config});
}
res.render('index', {
req: req,
themeConfig: req.themeConfig,
bot: config.bot,
customThemeOptions: customThemeOptions || {}
});
});
if (!config.invite) config.invite = {};
router.get('/invite', (req, res) => {
const scopes = config.invite.scopes || ["bot"];
if (req.query.g) {
return res.redirect(`https://discord.com/oauth2/authorize?client_id=${config.invite.clientId || config.bot.user.id}&scope=${scopes.join('%20')}&permissions=${config.invite.permissions || '0'}${config.invite.redirectUri ? `&response_type=code&redirect_uri=${config.invite.redirectUri}` : ''}${config.invite.otherParams || ''}&guild_id=${req.query.g}`);
}
res.redirect(`https://discord.com/oauth2/authorize?client_id=${config.invite.clientId || config.bot.user.id}&scope=${scopes.join('%20')}&permissions=${config.invite.permissions || '0'}${config.invite.redirectUri ? `&response_type=code&redirect_uri=${config.invite.redirectUri}` : ''}${config.invite.otherParams || ''}`);
});
config.supportServer ? null : config.supportServer = {};
router.get(`${config.supportServer.slash || '/support-server'}`, (req, res) => {
if (!config.supportServer.inviteUrl) return res.send({
error: true,
message: "No inviteUrl defined (discord-dashboard config.supportServer)."
});
if (!config.supportServer.inviteUrl.toLowerCase().startsWith('https://discord.gg/') && !config.supportServer.inviteUrl.toLowerCase().startsWith('https://discord.com/')) return res.send({
error: true,
message: "Invite url should start with 'https://discord.gg/' or 'https://discord.com/'."
});
res.redirect(config.supportServer.inviteUrl);
});
return router;
}