add calculations to counting game

This commit is contained in:
Corwin 2023-09-12 09:29:54 +02:00
parent 6a44272760
commit fd8450dc91

View file

@ -2,6 +2,7 @@ const Discord = require("discord.js");
const countSchema = require("../../database/models/countChannel"); const countSchema = require("../../database/models/countChannel");
const count = require("../../database/models/count"); const count = require("../../database/models/count");
const math = require('mathjs');
module.exports = async (client) => { module.exports = async (client) => {
client client
@ -9,11 +10,20 @@ module.exports = async (client) => {
if (message.author.bot || message.channel.type === Discord.ChannelType.DM) return; if (message.author.bot || message.channel.type === Discord.ChannelType.DM) return;
if ( if (
isNaN(message.content) ||
message.attachments.size > 0 || message.attachments.size > 0 ||
message.type == Discord.MessageType.ChannelPinnedMessage message.type == Discord.MessageType.ChannelPinnedMessage
) )
return; return;
var content = message.content.toLowerCase();
if(isNaN(content)) {
try {
const result = math.evaluate(content);
content = result;
} catch (error) {
return;
}
}
const data = await countSchema.findOne({ const data = await countSchema.findOne({
Guild: message.guild.id, Guild: message.guild.id,
@ -42,7 +52,7 @@ module.exports = async (client) => {
console.log(error); console.log(error);
} }
} else { } else {
if (message.content == countData.Count) { if (content == countData.Count) {
message.react(client.emotes.normal.check); message.react(client.emotes.normal.check);
countData.User = message.author.id; countData.User = message.author.id;
countData.Count += 1; countData.Count += 1;
@ -68,7 +78,7 @@ module.exports = async (client) => {
} }
} }
} else if (data) { } else if (data) {
if (message.content == 1) { if (content == 1) {
message.react(client.emotes.normal.check); message.react(client.emotes.normal.check);
new count({ new count({
@ -86,7 +96,18 @@ module.exports = async (client) => {
client client
.on("messageDelete", async (message) => { .on("messageDelete", async (message) => {
try { try {
if (isNaN(message.content) || message.author.bot) return; if (message.author.bot) return;
var content = message.content.toLowerCase();
if(isNaN(content)) {
try {
const result = math.evaluate(content);
content = result;
} catch (error) {
return;
}
}
const data = await countSchema.findOne({ const data = await countSchema.findOne({
Guild: message.guild.id, Guild: message.guild.id,
@ -96,10 +117,10 @@ module.exports = async (client) => {
if (data && countData) { if (data && countData) {
let lastCount = countData.Count - 1; let lastCount = countData.Count - 1;
if (message.content == lastCount) { if (content == lastCount) {
client.simpleEmbed( client.simpleEmbed(
{ {
desc: `**${message.author.tag}**: ${message.content}`, desc: `**${message.author.tag}**: ${content}`,
}, },
message.channel message.channel
); );