Kod EKONOMİ SİSTEMİ

!Edip#0170
Katılım
1 Eyl 2021
Mesajlar
170
Tepkime puanı
106
Şehir
İzmir
Adım 1: Veritabanını Seçme + Temel Botu Oluşturma

JavaScript:
//Hızlı, güvenilir ve verileri yerel olarak depolayan enmap kullanalım!
const Enmap = require("enmap");
const Discord = require("discord.js"); //Müşterimizi oluşturmak için buna ihtiyacımız var!
const client = new Discord.Client();
//Veritabanını Oluştur
client.economy = new Enmap({ name: "Economy" });
//Bot çevrimiçi olduğunda oturum açın!
client.on("ready", () => {
  client.user.setActivity(`Economy | botlands.com`, { type: "PLAYING" });
  console.log(`${client.user.tag} oturum açıldı..`);
})
//Bot'ta oturum açın
client.login("TOKENİNİZİ BURADA YAPIŞTIRIN");

Adım 2: Komutlar için Kod ekleyerek oluşturma!
Sadece aşağıya ekleyin

JavaScript:
const prefix = "!";
client.on("message", () => {
  if(!message.guild || message.author.bot) return;
  //ARGS Komutunu al
  const args = message.content.slice(prefix.length).trim().split(" ");
  const cmd = args.shift().toLowerCase();
  //mesaj önekle başlamazsa geri dön
  if(!message.content.startsWith(prefix)) return;
  //kullanıcıyı cmd'ler için alın (bunu her cmd'ye de yapıştırın!)
  let user = message.mentions.members.filter(m=>m.guild.id == message.guild.id)?.first()?.user || message.author;
  //veritabanı verilerini sağlayın (bunu her cmd'ye de yapıştırın!)
  client.economy.ensure(`${message.guild.id}-${user.id}`, {
    user: user.id,  work: 0, balance: 0, bank: 0, daily: 0,
  })
  //verileri alın (bunu her cmd'ye de yapıştırın!)
  const data = client.economy.get(`${message.guild.id}-${user.id}`);

  //Günlük Komut
  if(cmd == "daily") {
    //bekleme süresindeyse, hata döndür
    if(data.daily !== 0 && 86400000 - (Date.now() - data.daily) > 0)
      return message.reply(`:x: Günlük ödülünüzü zaten topladınız!`);
    //değilse, RANDOM miktarda PARA ekleyin
    else {
      let amountarray = [300, 350, 400, 340, 360, 350, 355, 345, 365, 350, 340, 360, 325, 375];
      //Rastgele bir miktar Para alın ve yere yatırın!
      let amount = Math.floor( amountarray[Math.floor((Math.random() * amountarray.length))] );
      //Parayı bu sunucuda Kullanıcının Bakiyesine ekleyin
      client.economy.math(`${message.guild.id}-${message.author.id}`, "+", amount, "balance")
      //cooldown için geçerli saati db'ye ayarlayın
      client.economy.set(`${message.guild.id}-${message.author.id}`, Date.now(), "daily")
      //Bilgi Mesajını geri gönder
      return message.reply(`${amount} Para Topladınız`);
    }
  }
})

Adım 3: Daha fazla Komut Ekleme!
Sadece onları son KOMUT'un altına ekleyin

JavaScript:
 //Denge komutu
  if(cmd == "bal" || cmd == "balance") {
    //return information
    return message.reply(`**\`${user.tag}\`** cüzdanınızda \`${data.balance} Coins\` Banka hesabınızda \`${data.bank} Coins\` var!`)
  }

JavaScript:
 //İş Komutu
  if(cmd == "work") {
    //bekleme süresindeyse, hata döndür
    if(data.work !== 0 && 86400000 - (Date.now() - data.work) > 0)
      return message.reply(`:x: Çalışma ödülünüzü zaten topladınız!`);
    //değilse, RANDOM miktarda PARA ekleyin
    else {
      let amountarray = [30, 35, 40, 34, 36, 35, 35, 34, 36, 35, 34, 36, 32, 37];
      //Rastgele bir miktar Para alın ve yere yatırın
      let amount = Math.floor( amountarray[Math.floor((Math.random() * amountarray.length))] );
      //İş listesi
      let replies = ['Programcı', 'İnşaatçı', 'Garson', 'Kombi', 'Şef', 'Tamirci', "Fahişe", "Striptizci", "Dansçı", "Çekmece", "Avukat", "Ajan", "Süpermen" , "Moderatör", "Oyuncu"]
      //rastgele bir iş işi bul
      let result = replies[ Math.floor((Math.random() * replies.length)) ];
      //Parayı bu sunucuda Kullanıcının Bakiyesine ekleyin
      client.economy.math(`${message.guild.id}-${message.author.id}`, "+", amount, "balance")
      //cooldown için geçerli saati db'ye ayarlayın
      client.economy.set(`${message.guild.id}-${message.author.id}`, Date.now(), "work")
      //Bilgi Mesajını geri gönder
      return message.reply(`${result} olarak çalışarak ${amount} Jeton Topladınız`);
    }
  }

JavaScript:
//para yatırma komutu
  if(cmd == "deposit") {
      //veritabanı verilerini sağlayın (bunu her cmd'ye de yapıştırın!)
      client.economy.ensure(`${message.guild.id}-${message.author.id}`, {
        user: user.id,  work: 0, balance: 0, bank: 0, daily: 0,
      })
      //miktarı al
      let amount = Number(args[0]);
      //negatif miktar veya 0 ise
      if(amount <= 0)
        return message.channel.send(`❌ HATA | Bankanıza Negatif Tutarlı Para Ya da Para Yatıramazsınız`;
      //miktar çok büyükse
      if(amount > data.balance)
        return message.channel.send(`❌ HATA | Cüzdanınızda olduğundan daha fazla Para yatıramazsınız`);
      //bankaya ekle
      client.economy.math(`${message.guild.id}-${message.author.id}`, "+", amount, "bank")
      //Cüzdandan kaldır
      client.economy.math(`${message.guild.id}-${message.author.id}`, "-", amount, "balance")
      //verileri al
      data = client.economy.get(`${message.guild.id}-${message.author.id}`)
      //mesajı göster
      return message.reply(`Bankanıza **\`${amount} Coin\`** yatırdınız`)
      );
  }
 

Aventia

Aventia | Yasin
Moderator
aventia
Katılım
11 Kas 2021
Mesajlar
3,692
Tepkime puanı
1,048
Şehir
Samsun
Eline sağlık. :bot_developer:
 
Coverro#6666
Katılım
25 Ocak 2022
Mesajlar
198
Tepkime puanı
50
Adım 1: Veritabanını Seçme + Temel Botu Oluşturma

JavaScript:
//Hızlı, güvenilir ve verileri yerel olarak depolayan enmap kullanalım!
const Enmap = require("enmap");
const Discord = require("discord.js"); //Müşterimizi oluşturmak için buna ihtiyacımız var!
const client = new Discord.Client();
//Veritabanını Oluştur
client.economy = new Enmap({ name: "Economy" });
//Bot çevrimiçi olduğunda oturum açın!
client.on("ready", () => {
  client.user.setActivity(`Economy | botlands.com`, { type: "PLAYING" });
  console.log(`${client.user.tag} oturum açıldı..`);
})
//Bot'ta oturum açın
client.login("TOKENİNİZİ BURADA YAPIŞTIRIN");

Adım 2: Komutlar için Kod ekleyerek oluşturma!
Sadece aşağıya ekleyin

JavaScript:
const prefix = "!";
client.on("message", () => {
  if(!message.guild || message.author.bot) return;
  //ARGS Komutunu al
  const args = message.content.slice(prefix.length).trim().split(" ");
  const cmd = args.shift().toLowerCase();
  //mesaj önekle başlamazsa geri dön
  if(!message.content.startsWith(prefix)) return;
  //kullanıcıyı cmd'ler için alın (bunu her cmd'ye de yapıştırın!)
  let user = message.mentions.members.filter(m=>m.guild.id == message.guild.id)?.first()?.user || message.author;
  //veritabanı verilerini sağlayın (bunu her cmd'ye de yapıştırın!)
  client.economy.ensure(`${message.guild.id}-${user.id}`, {
    user: user.id,  work: 0, balance: 0, bank: 0, daily: 0,
  })
  //verileri alın (bunu her cmd'ye de yapıştırın!)
  const data = client.economy.get(`${message.guild.id}-${user.id}`);

  //Günlük Komut
  if(cmd == "daily") {
    //bekleme süresindeyse, hata döndür
    if(data.daily !== 0 && 86400000 - (Date.now() - data.daily) > 0)
      return message.reply(`:x: Günlük ödülünüzü zaten topladınız!`);
    //değilse, RANDOM miktarda PARA ekleyin
    else {
      let amountarray = [300, 350, 400, 340, 360, 350, 355, 345, 365, 350, 340, 360, 325, 375];
      //Rastgele bir miktar Para alın ve yere yatırın!
      let amount = Math.floor( amountarray[Math.floor((Math.random() * amountarray.length))] );
      //Parayı bu sunucuda Kullanıcının Bakiyesine ekleyin
      client.economy.math(`${message.guild.id}-${message.author.id}`, "+", amount, "balance")
      //cooldown için geçerli saati db'ye ayarlayın
      client.economy.set(`${message.guild.id}-${message.author.id}`, Date.now(), "daily")
      //Bilgi Mesajını geri gönder
      return message.reply(`${amount} Para Topladınız`);
    }
  }
})

Adım 3: Daha fazla Komut Ekleme!
Sadece onları son KOMUT'un altına ekleyin

JavaScript:
 //Denge komutu
  if(cmd == "bal" || cmd == "balance") {
    //return information
    return message.reply(`**\`${user.tag}\`** cüzdanınızda \`${data.balance} Coins\` Banka hesabınızda \`${data.bank} Coins\` var!`)
  }

JavaScript:
 //İş Komutu
  if(cmd == "work") {
    //bekleme süresindeyse, hata döndür
    if(data.work !== 0 && 86400000 - (Date.now() - data.work) > 0)
      return message.reply(`:x: Çalışma ödülünüzü zaten topladınız!`);
    //değilse, RANDOM miktarda PARA ekleyin
    else {
      let amountarray = [30, 35, 40, 34, 36, 35, 35, 34, 36, 35, 34, 36, 32, 37];
      //Rastgele bir miktar Para alın ve yere yatırın
      let amount = Math.floor( amountarray[Math.floor((Math.random() * amountarray.length))] );
      //İş listesi
      let replies = ['Programcı', 'İnşaatçı', 'Garson', 'Kombi', 'Şef', 'Tamirci', "Fahişe", "Striptizci", "Dansçı", "Çekmece", "Avukat", "Ajan", "Süpermen" , "Moderatör", "Oyuncu"]
      //rastgele bir iş işi bul
      let result = replies[ Math.floor((Math.random() * replies.length)) ];
      //Parayı bu sunucuda Kullanıcının Bakiyesine ekleyin
      client.economy.math(`${message.guild.id}-${message.author.id}`, "+", amount, "balance")
      //cooldown için geçerli saati db'ye ayarlayın
      client.economy.set(`${message.guild.id}-${message.author.id}`, Date.now(), "work")
      //Bilgi Mesajını geri gönder
      return message.reply(`${result} olarak çalışarak ${amount} Jeton Topladınız`);
    }
  }

JavaScript:
//para yatırma komutu
  if(cmd == "deposit") {
      //veritabanı verilerini sağlayın (bunu her cmd'ye de yapıştırın!)
      client.economy.ensure(`${message.guild.id}-${message.author.id}`, {
        user: user.id,  work: 0, balance: 0, bank: 0, daily: 0,
      })
      //miktarı al
      let amount = Number(args[0]);
      //negatif miktar veya 0 ise
      if(amount <= 0)
        return message.channel.send(`❌ HATA | Bankanıza Negatif Tutarlı Para Ya da Para Yatıramazsınız`;
      //miktar çok büyükse
      if(amount > data.balance)
        return message.channel.send(`❌ HATA | Cüzdanınızda olduğundan daha fazla Para yatıramazsınız`);
      //bankaya ekle
      client.economy.math(`${message.guild.id}-${message.author.id}`, "+", amount, "bank")
      //Cüzdandan kaldır
      client.economy.math(`${message.guild.id}-${message.author.id}`, "-", amount, "balance")
      //verileri al
      data = client.economy.get(`${message.guild.id}-${message.author.id}`)
      //mesajı göster
      return message.reply(`Bankanıza **\`${amount} Coin\`** yatırdınız`)
      );
  }
kolay gelsin
 

Konuyu 0 kişi okuyor. (0 kayıtlı üye ve 0 ziyaretçi)

Benzer konular

  • Bilgi