#bom oyunu

1 messages · Page 1 of 1 (latest)

stable wasp
#
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('![emote_true](https://cdn.discordapp.com/emojis/1267980322734342278.webp?size=128 "emote_true")');
            } 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('![emote_true](https://cdn.discordapp.com/emojis/1267980322734342278.webp?size=128 "emote_true")');
            } 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));
});
#

olmuyor delirecem en sonda

#

eğer bom yazılıysa ondan öcneki mesajın +2 sini yazması gerek ya onu yapamıyom

#

sıfırlıyor