hatalar

options:
  bot: &b&lSibnoBot
  prefix: &b&lSibnoBot &8»
  oto_ban_sure: 30 days

# ==========================================
#        1. BÖLÜM: SOHBET KONTROLÜ
# ==========================================
on chat:
  if {susturma_bitis::%player's uuid%} is set:
      if {susturma_bitis::%player's uuid%} is greater than now:
          cancel event
          set {_kalan} to difference between {susturma_bitis::%player's uuid%} and now
          send " " to player
          send "{@prefix} &c&lSUSMUŞ DURUMDASIN!" to player
          send "{@prefix} &eKonuşmanın açılmasına kalan: &f%{_kalan}%" to player
          send " " to player
          stop
      else:
          delete {susturma_bitis::%player's uuid%}

  set {_m::*} to message split at " "
  loop {_m::*}:
      if loop-value is "aq" or "amk" or "piç" or "sik" or "göt" or "sg" or "oç" or "yavşak":
          cancel event
          execute console command "sustur %player% Küfür/Argo 1sa"
          stop

# ==========================================
#        2. BÖLÜM: YASAKLAMA SİSTEMİ
# ==========================================
on join:
  if {yasakli::%player's uuid%} is set:
      if now < {yasakli_bitis::%player's uuid%}:
          kick player because "{@prefix} %nl%&cSunucudan Uzaklaştırıldın! %nl% %nl%&eSebep: &f%{yasakli_sebep::%player's uuid%}% %nl%&eBitiş: &f%{yasakli_bitis::%player's uuid%}%"
      else:
          delete {yasakli::%player's uuid%}
          delete {yasakli_bitis::%player's uuid%}

command /yasakla [<offlineplayer>] [<text>] [<text>]:
  permission: sibno.ban
  permission message: "{@prefix} &cBu komutu kullanmak için yetkin yok! &7&o(sibno.ban)"
  trigger:
      if arg-1 is set:
          set {_sure} to {@oto_ban_sure}
          set {_sure_yazi} to "30 Gün (Varsayılan)"
          
          if arg-3 is set:
              set {_sure_yazi} to arg-3
              if arg-3 is "1GÜN":
                  set {_sure} to 1 day
              else if arg-3 is "5GÜN":
                  set {_sure} to 5 days
              else if arg-3 is "1HAFTA":
                  set {_sure} to 7 days
              else if arg-3 is "2HAFTA":
                  set {_sure} to 14 days
              else if arg-3 is "1AY":
                  set {_sure} to 30 days
              else if arg-3 is "2AY":
                  set {_sure} to 60 days
              else if arg-3 is "3AY":
                  set {_sure} to 90 days
              else if arg-3 is "1YIL":
                  set {_sure} to 365 days
              else if arg-3 is "SINIRSIZ":
                  set {_sure} to 36500 days
              else:
                  set {_parsed} to arg-3 parsed as time span
                  if {_parsed} is set:
                      set {_sure} to {_parsed}

          set {yasakli::%arg-1's uuid%} to true
          set {yasakli_bitis::%arg-1's uuid%} to now
          add {_sure} to {yasakli_bitis::%arg-1's uuid%}
          set {yasakli_sebep::%arg-1's uuid%} to arg-2 ? "Kural İhlali"
          set {yasakli_ip::%arg-1's uuid%} to ip of arg-1
          
          if arg-1 is online:
              kick arg-1 because "{@prefix} &cSunucudan Yasaklandın!%nl%&eSüre: &f%{_sure_yazi}%"
          
          broadcast " "
          broadcast "                &c&lBAN DUYURU"
          broadcast "&8&m+-------------------------------------------+"
          broadcast " &eSuçlu: &f%arg-1% &7| &eSüre: &f%{_sure_yazi}%"
          broadcast " &eİşlem: &cSunucudan Yasaklama"
          broadcast " &eSebep: &7%arg-2%"
          broadcast "&8&m+-------------------------------------------+"

command /yasak_kaldır [<text>]:
  permission: sibno.unban
  permission message: "{@prefix} &cBu komutu kullanmak için yetkin yok! &7&o(sibno.unban)"
  trigger:
      if arg-1 is not set:
          send "{@prefix} &eYasaklı Listesi:"
          loop {yasakli::*}:
              send "&8- &f%loop-index%"
      else:
          set {_p} to arg-1 parsed as offline player
          delete {yasakli::%{_p}'s uuid%}
          delete {yasakli_bitis::%{_p}'s uuid%}
          send "{@prefix} &a%arg-1% yasağı kaldırıldı."

# ==========================================
#        3. BÖLÜM: UYARI & SUSTURMA
# ==========================================
command /uyarı [<offlineplayer>] [<text>]:
  permission: sibno.warn
  permission message: "{@prefix} &cBu komutu kullanmak için yetkin yok! &7&o(sibno.warn)"
  trigger:
      if arg-1 is set:
          add 1 to {uyari_puani::%arg-1's uuid%}
          broadcast "{@prefix} &e%arg-1% &7uyarıldı! &8(&e%{uyari_puani::%arg-1's uuid%}%/3&8) &7Sebep: &f%arg-2%"
          if {uyari_puani::%arg-1's uuid%} >= 3:
              set {uyari_puani::%arg-1's uuid%} to 0
              execute console command "sustur %arg-1% 3/3_Limit 1sa"

command /sustur [<offlineplayer>] [<text>] [<text>]:
  permission: sibno.mute
  permission message: "{@prefix} &cBu komutu kullanmak için yetkin yok! &7&o(sibno.mute)"
  trigger:
      if arg-1 is not set:
          send "{@prefix} &cKullanım: /sustur <oyuncu> <sebep> <süre>"
          stop
      if arg-2 is not set:
          send "{@prefix} &eLütfen bir sebep girin."
          stop
      if arg-3 is not set:
          send "{@prefix} &eLütfen bir süre girin."
          stop

      set {_s} to arg-3
      if {_s} contains "sn":
          replace all "sn" with " seconds" in {_s}
      else if {_s} contains "dk":
          replace all "dk" with " minutes" in {_s}
      else if {_s} contains "sa":
          replace all "sa" with " hours" in {_s}
      else if {_s} contains "g":
          replace all "g" with " days" in {_s}
      else:
          replace all "h" with " hours" in {_s}
          replace all "m" with " minutes" in {_s}
          replace all "s" with " seconds" in {_s}

      set {_b} to {_s} parsed as time span
      if {_b} is not set:
          send "{@prefix} &cHatalı süre formatı! &7Örn: 1sa, 30dk"
          stop

      set {susturma_bitis::%arg-1's uuid%} to now
      add {_b} to {susturma_bitis::%arg-1's uuid%}
      
      broadcast " "
      broadcast "                &c&lCEZA DUYURU"
      broadcast "&8&m+-------------------------------------------+"
      broadcast " &eYetkili: &b&l%player% &7| &eSuçlu: &f%arg-1%"
      broadcast " &eİşlem: &fSusturma &7| &eSüre: &f%arg-3%"
      broadcast " &eSebep: &7%arg-2%"
      broadcast "&8&m+-------------------------------------------+"

command /susturma_kaldır [<offlineplayer>]:
  aliases: /unmute
  permission: sibno.unmute
  permission message: "{@prefix} &cBu komutu kullanmak için yetkin yok! &7&o(sibno.unmute)"
  trigger:
      if arg-1 is set:
          delete {susturma_bitis::%arg-1's uuid%}
          send "{@prefix} &a%arg-1% adlı oyuncunun susturması kaldırıldı."
      else:
          send "{@prefix} &eKullanım: /susturma_kaldır <isim>"

# ==========================================
#    4. BÖLÜM: TAB TAMAMLAMA
# ==========================================
on tab complete of "/sustur":
  set tab completions for position 1 to all players
  set tab completions for position 2 to "Küfür", "Argo", "Hakaret", "Reklam" and "Spam"
  set tab completions for position 3 to "5dk", "10dk", "1sa" and "1g"

on tab complete of "/yasakla":
  set tab completions for position 1 to all players
  set tab completions for position 2 to "<sebep>"
  set tab completions for position 3 to "1GÜN", "5GÜN", "1HAFTA", "2HAFTA", "1AY", "2AY", "3AY", "1YIL" and "SINIRSIZ"