Hello. I’m trying to create an API that connects to my bot’s dashboard, but when I try to access the api page, it doesn’t work. I’ve created the dashboard with express.js, and all the other methods are firing. Here’s the one that doesn’t work:
app.get("/api/:action", async function(req, res) {
let apicodes = await db.fetch(`apicodes`)
console.log('1')
let action = req.params.action
if (apicodes) {
console.log('2')
if (apicodes.keys.includes(req.query.key)) {
if (apicodes.secrets.includes(req.query.secret)) {
if (action) {
if (action === 'check') {
let check = await db.fetch(`gban_${req.params.userid}`)
if (check) {
res.send(check)
} else {
res.send('Not Banned')
}
} else {
if (action === 'ban') {
let user = req.query.userid,
reason = req.query.reason,
evidence = req.query.evidence,
moderator = req.query.moderator,
requester = req.query.botid;
let request = {type: 'ban', userID: user, reason: reason, evidence: evidence, moderator: moderator, botid: requester, status: 'Not checked'}
await db.set(`banrequests_${requester}`)
} else {
if (action === 'unban') {
let user = req.query.userid,
reason = req.query.reason,
moderator = req.query.moderator,
requester = req.query.botid;
let request = {type: 'unban', userID: user, reason: reason, moderator: moderator, botid: requester, status: 'Not checked'}
await db.set(`banrequests_${requester}`)
} else {
if (action === 'editban') {
if (req.query.reason) {
let user = req.query.userid,
reason = req.query.reason,
moderator = req.query.moderator,
requester = req.query.botid;
let request = {type: 'editban', userID: user, reason: reason, moderator: moderator, botid: requester, status: 'Not checked'}
await db.set(`banrequests_${requester}`)
} else {
if (req.query.evidence) {
let user = req.query.userid,
evidence = req.query.evidence,
moderator = req.query.moderator,
requester = req.query.botid;
let request = {type: 'editban', userID: user, evidence: evidence, moderator: moderator, botid: requester, status: 'Not checked'}
await db.set(`banrequests_${requester}`)
}
}
} else {
if (action === 'requests') {
let requester = req.query.botid
let requests = await db.fetch(`banrequests_${requester}`)
if (requests) {
res.send(requests)
} else {
res.send('No requests.')
}
} else {
if (action === 'checkcon') {
res.status(200).send('OK.')
}
}
}
}
}
}
} else {
console.log('2')
res.send('Invalid API call method.')}//.status(401)
} else res.send('Invalid API auth secret.')//.status(401)
} else res.send('Invalid API auth key.')//.status(401)
} else res.send('API code check broken')//.status(401)
});
Can someone please help me?