Discord Database fonksiyonları

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Game Developer
Seçkin Üye
Katılım
23 Şub 2017
Mesajlar
430
Çözümler
2
Tepki puanı
70
Ödüller
8
9 HİZMET YILI
Discord'da benimde Database işlemlerinde kullandığım fonksiyonları buraya paylaşmak istedim faydalanmak isteyenler olabilir.

İyi günler...

Kullanılan Database: quick.db

Yapmanız gereken tek şey:
npm install quick.db
npm install ms
veya yarn kullanıyorsanız
yarn add quick.db
yarn add ms​




JavaScript:
var quick  = require('quick.db');
var tag      = new quick.table('tag');
var penal  = new quick.table('penal');
var user    = new quick.table('user');
var ms     = require('ms');
class Database {
   /**
    * Adding penal point to user and penal statistics to Author(Staff).
    * @param {number} PenalId Penal id
    * @param {Object} Member Member object.
    * @param {Object} Author Member which use this.
    * @param {string} Type Type of a penal
    * @param {string} Reason Reason of a penal
    * @param {number} Time Time of a penal as (milisecond)
    * @param {number} ThrownTime Thrown of a penal as (milisecond)
    * @param {number} EndTime End of a time as (milisecond)
    * @param {string} DataType Type of penal
    * @param {string} GuildId GuildID
    */
   static AddPenal(PenalId, Member, Author, Type, Reason, Time, ThrownTime, EndTime, DataType, GuildId){
      var PenalNo = PenalId;
      var _penal = {
        no: PenalNo,
        active: true,
        member: Member.id,
        author: Author.id,
        type: Type,
        reason: Reason,
        throwntime: ThrownTime,
        endtime: EndTime,
        removedBy: "There is nothing remove process!",
        time: Date.now()
      };
      user.set(`penal.${PenalNo}`, _penal);
      user.push(`member.${Member.id}.penals`, _penal);
      // Add temp-jail to user
      if(DataType == "tempjail"){
         penal.push(DataType, {id: Member.id, no: PenalNo, thrown_time: Date.now()+ms(Time)})
         user.add(`member.${Author.id}.jail`, 1);
         user.add(`member.${Member.id}.penalPoint`, 15);
      }
      // Add jail to user
      else if(DataType == "jail"){
        penal.push(`jail`, `j${Member.id}`)
        user.add(`member.${Author.id}.jail`, 1);
        user.add(`member.${Member.id}.penalPoint`, 20);
      }
      // Add ban to user
      else if(DataType == "ban"){
        user.add(`member.${Author.id}.ban`, 1);
        user.add(`member.${Member.id}.penalPoint`, 30);
      }
      // Add voice mute to user
      else if(DataType == "voiceMute"){
        penal.push(DataType, {id: Member.id,No: cezano, kalkmaZamani: Date.now()+ms(Time)})
        user.add(`member.${Author.id}.chatmute`, 1);
        user.add(`member.${Member.id}.penalPoint`, 10);
      }
      // Add chat mute to user
      else if(DataType == "chatMute"){
        penal.push(DataType, {id: Member.id,No: cezano, kalkmaZamani: Date.now()+ms(Time)})
        user.add(`member.${Author.id}.voicemute`, 1);
        user.add(`member.${Member.id}.penalPoint`, 10);
      }
      // Add warn to user
      else if(DataType == "warn"){
        user.add(`member.${Author.id}.warn`, 1);
        user.add(`member.${Member.id}.penalPoint`, 2);
      }
      quick.add(`penalno.${GuildId}`, 1);
    };
   
    static AddName(MemberId, Name, Age, StaffId, ProcessName){
      user.push(`member.${MemberId}.history`, {
         name: Name,
         age: Age,
         process: ProcessName,
         time: Date.now()
      });
      user.set(`member.${MemberId}.lastHistory`, {
         name: Name,
         age: Age,
      });
    }
    static UpdateName(MemberId, Name, Age, ProcessName){
       user.push(`member.${MemberId}.history`, {
          name: Name,
          age: Age,
          process: ProcessName,
          time: Date.now()
       })
    };
    static AddRegisterPoint(StaffId, Gender){
       user.add(`register.${StaffId}.${Gender}`, 1);
    }
    static GetMemberNames(MemberId){
       let NameHistory = user.get(`member.${MemberId.id}.history`);
       return NameHistory;
    }
    static SpecifyGender(MemberId, Gender){
       user.set(`member.${MemberId.id}.gender`, Gender);
    }
    static GetMemberGender(MemberId){
       let GetGender = user.get(`member.${MemberId}.gender`);
       return GetGender;
    }
    static SetMemberUnRegister(MemberId){
       user.delete(`member.${MemberId}.gender`);
       user.delete(`member.${MemberId}.lastHistory`);
    }
    static GetMemberLastName(MemberId){
       let LastName = user.get(`member.${MemberId.id}.lastHistory`);
       return LastName;
    }
    static GetRegisterPoints(){
       let RegisterPoints = user.get(`register`) || {};
       return RegisterPoints;
    }
    static GetRegisterPointFromSpecifyMember(MemberId){
      let RegisterPoint = user.get(`register.${MemberId.id}`);
      return RegisterPoint;
   }

    static GetMemberInformation(Member, TypeOfInformation){
         switch (TypeOfInformation) {
            case "Bans":
               user.get(`member.${Member.id}.ban`);
               break;
            case "Warns":
               user.get(`member.${Member.id}.warn`);
               break;
            case "VoiceMutes":
               user.get(`member.${Member.id}.voicemute`);
               break;
            case "ChatMutes":
               user.get(`member.${Member.id}.chatmute`);
               break;     
            case "Jails":
               user.get(`member.${Member.id}.jail`)
               break;  
            default:
               var error = new Error("Please select an type for information. **[Jails, Warns, Bans, VoiceMutes, ChatMutes]**");
               return error;
         }
    }
   /** Getting DATA's About Penal */
    static GetPenalPoint(Member){
       return user.fetch(`member.${Member.id}.penalPoint`);
    }
    static GetPenalNo(GuildId){
       return quick.get(`penalno.${GuildId}`);
    }
    static GetPenal(Member){
       return user.get(`member.${Member.id}.penals`);
    }
    static GetPenalInformation(PenalId){
       return user.fetch(`penal.${PenalId}`);
    }
   
    /** Remove records */
    static RemoveMemberRecord(Member){
       user.delete(`member.${Member}.penals`);
       user.delete(`member.${Member}.penalPoint`);
    }
    static GetVoiceMutes(){
       let VoiceMute = penal.get(`voiceMute`) || [];
       return VoiceMute;
    }
    static GetChatMutes(){
      let ChatMute = penal.get(`chatMute`) || [];
      return ChatMute;
    }
    static GetJails(){
      let Jails = penal.get(`jail`) || [];
      return Jails;
    }
    /** Banned TAGS Process */
    static GetBannedTag(){
      let BannedTags = penal.get(`bannedTags`) || [];
      return BannedTags;
    }
    static AddMemberToBannedTag(MemberId){
      return penal.push('bannedTags', `b${MemberId}`)
    }
    static RemoveMemberFromBannedTag(MemberId){
      let RemoveBannedTag = penal.get(`bannedTags`) || [];
      return penal.set(`bannedTags`, RemoveBannedTag.filter(Filter => !Filter.includes(MemberId.id)));
    }
    static RemoveChatMuteFromMember(PenalId,MemberId, StaffId){
      let ChatMutes = penal.get(`chatMute`) || [];
      penal.set(`chatMute`, ChatMutes.filter(Filter => Filter.id !== MemberId.id));
      user.set(`penal.${PenalId}.active`, false)
      user.set(`penal.${PenalId}.removedBy`, StaffId.id);
      user.set(`penal.${PenalId}.endtime`, Date.now());
    }
    static RemoveVoiceMuteFromMember(PenalId,MemberId, StaffId){
      let VoiceMutes = penal.get(`voiceMute`) || [];
      penal.set(`voiceMute`, VoiceMutes.filter(Filter => Filter.id !== MemberId.id));
      user.set(`penal.${PenalId}.active`, false)
      user.set(`penal.${PenalId}.removedBy`, StaffId.id);
      user.set(`penal.${PenalId}.endtime`, Date.now());
    }
    static RemoveJailFromMember(PenalId, MemberId, StaffId){
       let punishments = penal.get(`jail`) || [];
       let temp_punishments = penal.get(`tempjail`) || [];
       penal.set(`jail`, punishments.filter(Filter => !Filter.includes(MemberId.id)));
       penal.set(`tempjail`, temp_punishments.filter(Filter => Filter.id !== MemberId.id));
       user.set(`penal.${PenalId}.active`, false)
       user.set(`penal.${PenalId}.endtime`, Date.now())
       user.set(`penal.${PenalId}.removedby`, StaffId.id)
    }
    static RemoveBanFromMember(PenalId, StaffId){
      user.set(`penal.${PenalId}.active`, false);
      user.set(`penal.${PenalId}.endtime`, Date.now());
      user.set(`penal.${PenalId}.removedBy`, StaffId.id);
    }
    static CheckVoiceMute(PenalId, MemberId){
      let VoiceMutes = penal.get(`voiceMute`) || [];
      penal.set(`voiceMute`, VoiceMutes.filter(Filter => Filter.id !== MemberId.id));
      user.set(`penal.${PenalId}.active`, false)
      user.set(`penal.${PenalId}.endtime`, Date.now());
    }
    static async ScanPenal(){
      let BannedTags = ayarlar.yasakTaglar || [];
      let BannedTagMembers = cdb.get("bannedTags") || [];
      let TempPunishments = cdb.get("tempjail") || [];
      let VoiceMutes = cdb.get("voiceMute") || [];
      let ChatMutes = cdb.get("chatMute") || [];

      for(let penal of BannedTagMembers){
         let Member = client.guilds.cache.get(client.settings.Guild.ServerId).members.cache.get(penal.id);
         if(Member && BannedTags.some(Tag => Member.user.username.includes(Tag)) && !Member.roles.cache.has(client.settings.Roles.BannedTagRole)){
            await Member.roles.set(Member.roles.cache.has(client.settings.Roles.BoosterRole) ? [client.settings.Roles.BoosterRole, client.settings.Roles.BannedTagRole] : [client.settings.Roles.BannedTagRole]).catch();
         }
         if(Member && !BannedTags.some(Tag => Member.user.username.includes(Tag)) && Member.roles.cache.has(client.settings.Roles.BannedTagRole)){
            penal.set(`bannedTags`, BannedTagMembers.filter(Filter => !Filter.includes(Member.id)));
            await Member.defineRole(client.settings.Roles.BannedTagRole);
         }
      }
      for (let penal of TempPunishments) {
         let Member = client.guilds.cache.get(client.settings.Guild.ServerId).members.cache.get(penal.id);
         if (Date.now() >= penal.endtime) {
           penal.set("tempjail", TempPunishments.filter(Filter => Filter.id !== penal.id));
          
           if (Member && Member.roles.cache.has(client.settings.Roles.JailRole)) {
           let LastName = this.GetMemberLastName(Member);
           let Gender = this.GetMemberGender(Member);
          
           if(LastName || Gender) {
               if(Gender == "erkek" || Gender == "boy") {
                  Member.defineRole(client.settings.Roles.BoyRoles).then(() => {
                  if(Member.user.username.includes(client.settings.Guild.Tag)) return Member.roles.add(client.settings.Roles.TagRole)
                  })
               };
               if(Gender == "kadın" || Gender == "girl") {
                  Member.defineRole(client.settings.Roles.GirlRoles).then(() => {
                  if(Member.user.username.includes(client.settings.Guild.Tag)) Member.roles.add(client.settings.Roles.TagRole)
                  });
               }
             }
             else {
                Member.defineRole(client.settings.Roles.UnRegisterRole);
            }
         }
           user.set(`penal.${penal.no}.active`, false)
           user.set(`penal.${penal.no}.endtime`, Date.now())
         } else {
             if (Member && !Member.roles.cache.has(client.settings.Roles.JailRole)) Member.roles.set(Member.roles.cache.has(client.settings.Roles.BoosterRole) ? [client.settings.Roles.BoosterRole, client.settings.Roles.JailRole] : [client.settings.Roles.JailRole])
         };
       };
      for(let penal of ChatMutes){
         let Member = client.guilds.cache.get(client.settings.ServerId).members.cache.get(penal.id);
         if(Date.now() >= ceza.endtime){
            penal.set("chatMute", ChatMutes.filter(Filter => Filter.id !== penal.id));
            if(Member && Member.roles.cache.has(client.settings.Roles.ChatMuteHammer)){
               await member.roles.remove(client.settings.Roles.ChatMuteHammer);
            }
            user.set(`penal.${penal.no}.active`, false);
            user.set(`penal.${penal.no}.endtime`, Date.now());
         }
         else {
            if(Member && !Member.roles.cache.has(client.settings.Roles.ChatMuteHammer)){
               await Member.roles.add(client.settings.Roles.ChatMuteHammer);
            }
         }
      }
      for(let penal of VoiceMutes){
         let Member = client.guilds.cache.get(client.settings.ServerId).members.cache.get(penal.id);
         if(Date.now() >= ceza.endtime){
            penal.set("voiceMute", VoiceMutes.filter(Filter => Filter.id !== penal.id));
            if(Member){
               await Member.roles.remove(client.settings.Roles.VoiceMuteHammer)
            }
            if(Member && Member.voice.channel){
               await Member.voice.setMute(false);
            }
            user.set(`penal.${penal.no}.active`, false);
            user.set(`penal.${penal.no}.endtime`, Date.now());
         }
         else {
            if(Member){
               await Member.roles.add(client.settings.Roles.VoiceMuteHammer);
            }
         }
      }     
    };

    static DeleteMessage(MemberId){
      quick.delete(`messagecheck.${MemberId.id}`);
    };
    static AddMessage(MemberId){
      quick.add(`messagecheck.${MemberId.id}`, 1);
    };
    static CheckMessage(MemberId){
       let Check = quick.get(`messagecheck.${MemberId.id}`);
       return Check;
    };
    static AddMemberToTag(MemberId, StaffId, Active){
       tag.set(`tag.${MemberId.id}`, {
          check: Active,
          addedBy: StaffId.id,
          date: Date.now()
       });
    };
    static AddMemberToTagStaff(MemberId, StaffId){
      tag.set(`last.${StaffId.id}`, {
         who: MemberId.id,
         date: Date.now()
      });
      tag.add(`staff.${StaffId.id}`, 1);
   };
   static RemoveMemberFromTag(MemberId){
      let Check = tag.get(`tag.${MemberId.id}`);
      if(!Check) return;
      tag.subract(`staff.${Check.addedBy}`, 1);
      tag.delete(`tag.${MemberId.id}`);
   }
   static TagControl(MemberId){
      let Check = tag.get(`tag.${MemberId.id}`);
      return Check;
   }
   static TagControlStaff(StaffId) {
      let Check = tag.get(`staff.${StaffId.id}`) || 0;
        return Check;
    }
  static LastTagMemberControl(StaffId) {
      let Check = tag.get(`last.${StaffId.id}`) || {};
      return Check;
  }
  static RemoveStaff(MemberId){
      tag.delete(`last.${MemberId.id}`);
      tag.delete(`tag.${MemberId.id}`);
      user.delete(`register.${MemberId.id}`);
  }
  
}
module.exports = Database;
 
Son düzenleme:
~
Banlı Üye
Katılım
4 Şub 2020
Mesajlar
673
Çözümler
2
Tepki puanı
107
Ödüller
3
6 HİZMET YILI
Acaba benim gibi bilmeyen ve anlamayan cahiller için de görüntü eklemen mümkün mü ? nedir ne değildir gibi
 
sinnerman
Onaylı Üye
Katılım
4 Nis 2018
Mesajlar
147
Tepki puanı
11
Ödüller
8
Yaş
25
8 HİZMET YILI
ne için kullanılıyor bu
 
Uzman Üye
Katılım
7 Şub 2019
Mesajlar
158
Tepki puanı
14
Ödüller
5
Yaş
35
7 HİZMET YILI
bu kodları ne işimize yarayabilir?
 
Ultra Üye
Katılım
13 Ağu 2018
Mesajlar
1,504
Çözümler
3
Tepki puanı
64
Ödüller
10
Yaş
38
7 HİZMET YILI
bu javascript ne işe yarıyor? ve bu daha iyi uyumsuzlukta mı kullanılıyor?
 
Game Developer
Seçkin Üye
Katılım
23 Şub 2017
Mesajlar
430
Çözümler
2
Tepki puanı
70
Ödüller
8
9 HİZMET YILI
Acaba benim gibi bilmeyen ve anlamayan cahiller için de görüntü eklemen mümkün mü ? nedir ne değildir gibi
@mdhnn55 tabi ki kısa süre içerisinde ekleyeceğim.
Tam olarak ne işe yarıyor hocam
ne için kullanılıyor bu
bu kodları ne işimize yarayabilir?
Bu javascript kod'u eğer discord.js kullanıyorsanız yani discord botu kodluyorsanız quick.db adlı veritabanı modülü kullanılarak hazırlanmış bir Sınıftır. Bu sınıf sayesinde veritabanı işlemlerini kolay şekilde yapabilirsiniz kısacası işinizi çok çok azaltıyor.
bu javascript ne işe yarıyor? ve bu daha iyi uyumsuzlukta mı kullanılıyor?
@mueed786
I guess you're foreign because of that i will explain in english. if you not, sorry.

Now this is a javascript code like you said. It helps you for using 'quick.db' database module, which is very common and basic.
If you interested in discord bots it will help you a lot. There too much function, you see.
 
Uzman Üye
Katılım
7 Şub 2019
Mesajlar
158
Tepki puanı
14
Ödüller
5
Yaş
35
7 HİZMET YILI
@mdhnn55 tabi ki kısa süre içerisinde ekleyeceğim.



Bu javascript kod'u eğer discord.js kullanıyorsanız yani discord botu kodluyorsanız quick.db adlı veritabanı modülü kullanılarak hazırlanmış bir Sınıftır. Bu sınıf sayesinde veritabanı işlemlerini kolay şekilde yapabilirsiniz kısacası işinizi çok çok azaltıyor.

@mueed786
I guess you're foreign because of that i will explain in english. if you not, sorry.

Now this is a javascript code like you said. It helps you for using 'quick.db' database module, which is very common and basic.
If you interested in discord bots it will help you a lot. There too much function, you see.
yok kullanmıyorum ilerde işime yarayabilir belkide
 
~
Banlı Üye
Katılım
4 Şub 2020
Mesajlar
673
Çözümler
2
Tepki puanı
107
Ödüller
3
6 HİZMET YILI
@mdhnn55 tabi ki kısa süre içerisinde ekleyeceğim.



Bu javascript kod'u eğer discord.js kullanıyorsanız yani discord botu kodluyorsanız quick.db adlı veritabanı modülü kullanılarak hazırlanmış bir Sınıftır. Bu sınıf sayesinde veritabanı işlemlerini kolay şekilde yapabilirsiniz kısacası işinizi çok çok azaltıyor.

@mueed786
I guess you're foreign because of that i will explain in english. if you not, sorry.

Now this is a javascript code like you said. It helps you for using 'quick.db' database module, which is very common and basic.
If you interested in discord bots it will help you a lot. There too much function, you see.
İyiymiş kanka böyle diyince bizi de aydınlatmış oldun :) iyi forumlar
 
Süper Üye
Katılım
30 Nis 2016
Mesajlar
767
Çözümler
1
Tepki puanı
75
Ödüller
9
10 HİZMET YILI
hangi alanda işimize yarar hocam bu kodlar ve yarn olayı
 
Game Developer
Seçkin Üye
Katılım
23 Şub 2017
Mesajlar
430
Çözümler
2
Tepki puanı
70
Ödüller
8
9 HİZMET YILI
hangi alanda işimize yarar hocam bu kodlar ve yarn olayı
Kodu daha önceden de anlattım işlerini kolaylaştırıyor içerisinde bir çok fonksiyon bulunduruyor.
yarn'da modül kurmak için kullanılıyor tıpkı npm gibi örneğin eğer dotnet kullandıysan daha önce
dotnet add <package> gibi aynı şeyler.
 
Seçkin Üye
Katılım
3 Mar 2020
Mesajlar
409
Çözümler
4
Tepki puanı
51
Ödüller
6
6 HİZMET YILI
güzel olmuş, kullanana işe yarar
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Benzer Konular

Üst