38 lines
1.6 KiB
TypeScript
38 lines
1.6 KiB
TypeScript
import { dbClient } from '../../db.ts';
|
|
import {
|
|
// Discordeno deps
|
|
DiscordenoMessage,
|
|
} from '../../../deps.ts';
|
|
import { failColor, generateApiStatus } from '../../commandUtils.ts';
|
|
import utils from '../../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));
|
|
}
|
|
};
|