43 lines
1.7 KiB
TypeScript
43 lines
1.7 KiB
TypeScript
import { DiscordenoMessage } from '@discordeno';
|
|
|
|
import dbClient from 'db/client.ts';
|
|
|
|
import { failColor, generateApiStatus } from 'src/commandUtils.ts';
|
|
import utils from 'src/utils.ts';
|
|
|
|
export const status = async (message: DiscordenoMessage) => {
|
|
// Get status of guild from the db
|
|
let errorOut = false;
|
|
const guildQuery = await dbClient
|
|
.query(`SELECT active, banned FROM allowed_guilds WHERE guildid = ? AND channelid = ?`, [message.guildId, message.channelId])
|
|
.catch((e0) => {
|
|
utils.commonLoggers.dbError('status.ts:16', 'query', e0);
|
|
message
|
|
.send({
|
|
embeds: [
|
|
{
|
|
color: failColor,
|
|
title: 'Failed to check API rolls status for this guild.',
|
|
description: 'If this issue persists, please report this to the developers.',
|
|
},
|
|
],
|
|
})
|
|
.catch((e: Error) => utils.commonLoggers.messageSendError('status.ts:23', message, e));
|
|
errorOut = true;
|
|
});
|
|
if (errorOut) return;
|
|
|
|
// Check if we got an item back or not
|
|
if (guildQuery.length > 0) {
|
|
// Check if guild is banned from using API and return appropriate message
|
|
if (guildQuery[0].banned) {
|
|
message.send(generateApiStatus(true, false)).catch((e: Error) => utils.commonLoggers.messageSendError('status.ts:32', message, e));
|
|
} else {
|
|
message.send(generateApiStatus(false, guildQuery[0].active)).catch((e: Error) => utils.commonLoggers.messageSendError('status.ts:34', message, e));
|
|
}
|
|
} else {
|
|
// Guild is not in DB, therefore they are blocked
|
|
message.send(generateApiStatus(false, false)).catch((e: Error) => utils.commonLoggers.messageSendError('status.ts:38', message, e));
|
|
}
|
|
};
|