const {PermissionFlagsBits, ChannelType} = require("discord.js");
const fs = require('fs')
const client = global.client;
const bomGameStateFile = 'bomGameState.json';
let bomGameState = {
currentNumber: 0,
lastUserId: '',
lastMessage: null,
lastNumberMessage: null,
};
if (fs.existsSync(bomGameStateFile)) {
bomGameState = JSON.parse(fs.readFileSync(bomGameStateFile, 'utf8'));
}
const gameChannelId = '1270280504406441985';
client.on('messageCreate', async message => {
if (message.channel.id !== gameChannelId) return;
if (message.author.bot) return;
const isBom = message.content.trim().toLowerCase() === 'bom';
const userNumber = parseInt(message.content.trim());
if (message.author.id === bomGameState.lastUserId) {
const warningMessage = await message.channel.send('Üst üste sayı yazamazsınız!');
await message.delete();
setTimeout(() => warningMessage.delete(), 3000);
return;
}
if (bomGameState.currentNumber % 5 === 0) {
if (!isBom) {
const errorMessage = await message.channel.send('> 5 ve katları ile oynanıyor. Patladınız!');
await message.delete();
setTimeout(() => errorMessage.delete(), 3000);
return;
}
bomGameState.lastUserId = message.author.id;
bomGameState.lastMessage = message;
bomGameState.lastNumberMessage = null;
bomGameState.currentNumber++;
} else {
if (bomGameState.lastMessage && bomGameState.lastMessage.content.trim().toLowerCase() === 'bom') {
const previousNumber = bomGameState.lastNumberMessage ? parseInt(bomGameState.lastNumberMessage.content.trim()) : 0;
if (userNumber === previousNumber + 2) {
bomGameState.lastUserId = message.author.id;
bomGameState.lastMessage = message;
bomGameState.lastNumberMessage = message;
bomGameState.currentNumber = userNumber;
await message.react('');
} else {
const incorrectMessage = await message.channel.send('> Yanlış sayı girdiniz!');
await message.delete();
setTimeout(() => incorrectMessage.delete(), 3000);
}
} else {
if (userNumber === bomGameState.currentNumber + 1) {
bomGameState.lastUserId = message.author.id;
bomGameState.lastMessage = message;
bomGameState.lastNumberMessage = message;
bomGameState.currentNumber = userNumber;
await message.react('');
} else {
const incorrectMessage = await message.channel.send('> Yanlış sayı girdiniz!');
await message.delete();
setTimeout(() => incorrectMessage.delete(), 3000);
}
}
}
fs.writeFileSync(bomGameStateFile, JSON.stringify(bomGameState, null, 2));
});
#bom oyunu
1 messages · Page 1 of 1 (latest)