Rehber Discord.js | ip komutu | ip-ayarla, ip-sıfırla, ip komutları | Konuya gir!

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Dhutusthur

Somon Balığı Selam Vermeye Geldi
Katılım
22 Aralık 2019
Mesajlar
17
Elmaslar
6
Puan
0

Discord:

iAli#8886

Merhaba, arkadaşlar bugün sizlere yapmış olduğum Discord bot komutunu paylaşacağım. Komutun ismi ip şu şekilde kullanılıyor.
Prefixiniz ile birlikte ip yazıyorsunuz. Örnek kullanım: l!ip bu komutu yazınca gönderilecek mesajı ayarlamak için prefixiniz ile birlikle ip-ayarla yazıyorsunuz.
Örnek kullanım: l!ip-ayarla yazıyorsunuz, Fotoğraf ile göstermek gerekirse;
örnek1.PNG


örnek2.PNG


Birde ip-sıfırla komutu bulunmakta tekrardan fotoğraf ile belirtmek gerekirse;

örnek3.PNG


Şimdi de kodlarını paylaşmak kaldı kodlar komutlar klasörüne atılacaktır.
ip-ayarla komutu;
JavaScript:
const Discord = require('discord.js');
const ayarlar = ("./ayarlar.json")
const db = require('quick.db')
const prefix = ayarlar.prefix;

exports.run = async(client, message, args) => {
  if(!message.member.hasPermission("ADMINISTRATOR")) return message.reply("Bu komutu kullanabilmek için gerekli yetkiye sahip değilsiniz.")
  var filter = m => m.author.id === message.author.id;
                const embeddcb = new Discord.RichEmbed()
        .setColor("#FF0066")
        .setDescription(`IP'nizi yazınız.`)
  message.channel.send(embeddcb).then(msg => {
  message.channel.awaitMessages(filter, {
    max: 1,
    time: 20000,
    errors: ['time']
    }).then(collected => {
    let ip = collected.first().content
        const embed = new Discord.RichEmbed()
        .setColor("#FF0066")
        .setTitle("Başarılı,")
        .setDescription(`IP **${ip}** olarak ayarlandı!`)
        message.channel.send(embed)
    db.set(`${message.guild.id}_mcip`, `${ip}`)
})
})
}
exports.conf = {
    aliases: ['ip-ayarla']
}
exports.help = {
    name: "ıp-ayarla"
}

ip komutu;
JavaScript:
const Discord = require('discord.js');
const db = require('quick.db');


exports.run = async (client, message) => {
    if(!db.get(`${message.guild.id}_mcip`)){
        message.channel.send("İp ayarlanmamış!")
        return;
    }

  var ip = db.fetch(`${message.guild.id}_mcip`)
  const emebd = new Discord.RichEmbed()
  .setDescription(`**${ip}**`)
  .setTitle("Sunucu ip;")
  .setColor("#92DDEC")
message.channel.send(emebd)
}

exports.conf = {
  aliases: []
}

exports.help = {
  name: "ip"
}

ip-sıfırla komutu;
JavaScript:
const Discord = require('discord.js');
const db = require('quick.db');

exports.run = async(client, message, args) => {
    if(!message.member.hasPermission("ADMINISTRATOR")) return message.reply("Bu komutu kullanabilmek için gerekli yetkiye sahip değilsiniz.")
  db.delete(`${message.guild.id}_mcip`)
  message.channel.send("IP komutu başarıyla sıfırlandı.")

}
exports.conf = {
  aliases: []
}

exports.help = {
  name: "ip-sıfırla"
}

İletişim adreslerim;
Discord: iAli#8886
 
Son düzenleme:
Ellerine sağlık. Tam olarak senden beklendiği gibi mükemmel ^^
 
Ellerinize sağlık.
 
ufacık bir variable için quickdb kullanılmaz diye düşünüyorum. fs kullanıp json dosyasında replace edebilirdin.

bot sunucuya girdiğinde ona ait bir değer oluşturup içine ipyi girebilirdin.
 
ufacık bir variable için quickdb kullanılmaz diye düşünüyorum. fs kullanıp json dosyasında replace edebilirdin.
Haklısınız, ancak aklıma quick.db kullanmak geldi ve bende quick.db kullandım. Yakın zamanda fs'e geçireceğim. Yorum için teşekkürler.
 
Haklısınız, ancak aklıma quick.db kullanmak geldi ve bende quick.db kullandım. Yakın zamanda fs'e geçireceğim. Yorum için teşekkürler.
Quick.db veya fs yerine sqlite kullanmanı tavsiye ederim.
Yapabileceklerinin sınırı azalıyor en azından.
 
Quick.db veya fs yerine sqlite kullanmanı tavsiye ederim.
Yapabileceklerinin sınırı azalıyor en azından.
Quick.db sqlite formatında kaydediyor. Zaten quick.db yi çalıştırmak için sqlite indirmek gerek :)

Ek olarak şunu eklemek istiyorum @Dhutusthur
İp komudu aşağıdaki gibi olmalı, aksi takdirde id_mcip verisi olmadığında konsola hata vericektir. Aşağıdaki kodla hata vermesini önleyebilirsin :)

JavaScript:
const Discord = require('discord.js');
const db = require('quick.db');


exports.run = async (client, message) => {
    if(!db.get(`${message.guild.id}_mcip`)){
        message.channel.send("İp ayarlanmamış!")
        return;
    }
   
  var ip = db.fetch(`${message.guild.id}_mcip`)
  const emebd = new Discord.RichEmbed()
  .setDescription(`**${ip}**`)
  .setTitle("Sunucu ip;")
  .setColor("#92DDEC")
message.channel.send(emebd)
}

exports.conf = {
  aliases: []
}

exports.help = {
  name: "ip"
}
 
Son düzenleme:
Quick.db sqlite formatında kaydediyor. Zaten quick.db yi çalıştırmak için sqlite indirmek gerek :)

Ek olarak şunu eklemek istiyorum @Dhutusthur
İp komudu aşağıdaki gibi olmalı, aksi takdirde id_mcip verisi olmadığında konsola hata vericektir. Aşağıdaki kodla hata vermesini önleyebilirsin :)

JavaScript:
const Discord = require('discord.js');
const db = require('quick.db');


exports.run = async (client, message) => {
    if(!db.get(`${message.guild.id}_mcip`)){
        message.channel.send("İp ayarlanmamış!")
        return;
    }
  
  var ip = db.fetch(`${message.guild.id}_mcip`)
  const emebd = new Discord.RichEmbed()
  .setDescription(`**${ip}**`)
  .setTitle("Sunucu ip;")
  .setColor("#92DDEC")
message.channel.send(emebd)
}

exports.conf = {
  aliases: []
}

exports.help = {
  name: "ip"
}
Teşekkür ederim, konu güncellendi.
 
çok basit komut var bunları kullanmak saçma

client.on('message', msg => {
if (msg.content.toLowerCase() === '!ip') {
msg.reply('Play.JesteriaNW.Com ');
}
});
 
çok basit komut var bunları kullanmak saçma

client.on('message', msg => {
if (msg.content.toLowerCase() === '!ip') {
msg.reply('Play.JesteriaNW.Com ');
}
});
Evet komut zaten basit. Benim paylaştığım daha gelişmiş bir komut.
 
gelişmiş değil de sadece dikkat çekmek gibi geldi gözüme

basit komutlar varken insanları yormak olmaz
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst