Spaces:
Running
Running
const { Events } = require('discord.js'); | |
const { getFirestore } = require('firebase-admin/firestore'); | |
const { getNumberConverter } = require("../number-converters/get-converter.js"); | |
module.exports = { | |
name: Events.MessageCreate, | |
async execute(e) { | |
if (e.author.bot) return; | |
if (e.author.system) return; | |
const db = getFirestore(); | |
const channel = e.channelId; | |
const id = `${e.guildId}-${channel}`; | |
const doc = db.doc(`channels/${id}`); | |
const rawData = await doc.get(); | |
if (!rawData.exists) return; | |
const data = rawData.data(); | |
const converter = getNumberConverter(data.mode); | |
const nextNum = data.num + 1; | |
const result = converter.checkNumber(nextNum, e.content); | |
if (result === 2) { | |
if (data.lastUser === e.author.id) { | |
data.num = 0; | |
data.lastUser = ""; | |
await doc.set(data); | |
e.react("β"); | |
await e.reply("One user can't count twice in a row, restart."); | |
} else { | |
data.num = nextNum; | |
data.lastUser = e.author.id; | |
await doc.set(data); | |
e.react("β "); | |
} | |
} else if (result === 1) { | |
data.num = 0; | |
data.lastUser = ""; | |
await doc.set(data); | |
e.react("β"); | |
await e.reply("You failed, restart"); | |
} | |
} | |
} |