TravBot-v3/src/commands/fun/subcommands/eco-utils.ts

71 lines
2.3 KiB
TypeScript
Raw Normal View History

2020-12-15 01:44:28 +00:00
import $ from "../../../core/lib";
import {Storage} from "../../../core/structures";
import {User, Guild, TextChannel, DMChannel, NewsChannel} from "discord.js";
2020-12-15 11:15:28 +00:00
export const ECO_EMBED_COLOR = 0xf1c40f;
export function getMoneyEmbed(user: User): object {
2020-12-15 01:44:28 +00:00
const profile = Storage.getUser(user.id);
2020-12-15 01:44:28 +00:00
return {
embed: {
2020-12-15 11:15:28 +00:00
color: ECO_EMBED_COLOR,
2020-12-15 01:44:28 +00:00
author: {
name: user.username,
icon_url: user.displayAvatarURL({
format: "png",
dynamic: true
})
},
fields: [
{
name: "Balance",
2020-12-15 11:15:28 +00:00
value: $(profile.money).pluralise("Mon", "s")
2020-12-15 01:44:28 +00:00
}
]
}
};
}
2020-12-15 07:56:09 +00:00
export function getSendEmbed(sender: User, receiver: User, amount: number): object {
2020-12-15 01:44:28 +00:00
return {
embed: {
2020-12-15 11:15:28 +00:00
color: ECO_EMBED_COLOR,
2020-12-15 01:44:28 +00:00
author: {
name: sender.username,
icon_url: sender.displayAvatarURL({
format: "png",
dynamic: true
})
},
title: "Transaction",
2020-12-15 11:15:28 +00:00
description: `${sender.toString()} has sent ${$(amount).pluralise("Mon", "s")} to ${receiver.toString()}!`,
2020-12-15 01:44:28 +00:00
fields: [
{
name: `Sender: ${sender.username}#${sender.discriminator}`,
2020-12-15 11:15:28 +00:00
value: $(Storage.getUser(sender.id).money).pluralise("Mon", "s")
2020-12-15 01:44:28 +00:00
},
{
name: `Receiver: ${receiver.username}#${receiver.discriminator}`,
2020-12-15 11:15:28 +00:00
value: $(Storage.getUser(receiver.id).money).pluralise("Mon", "s")
2020-12-15 01:44:28 +00:00
}
],
footer: {
text: receiver.username,
icon_url: receiver.displayAvatarURL({
format: "png",
dynamic: true
})
}
}
};
}
2020-12-15 07:56:09 +00:00
export function isAuthorized(guild: Guild | null, channel: TextChannel | DMChannel | NewsChannel): boolean {
if (guild?.id === "637512823676600330" || process.argv[2] === "dev") return true;
2020-12-15 01:44:28 +00:00
else {
2020-12-15 07:56:09 +00:00
channel.send("Sorry, this command can only be used in Monika's emote server.");
2020-12-15 01:44:28 +00:00
return false;
}
}