13-11-2026, 23:23
TS3 ServerQuery ile Python bot Ders 2: Kaçış karakterleri ve clientlist#1
TS3 sorgu protokolünde boşluk ve bazı özel karakterler doğrudan yazılamaz; kaçış (escape) kurallarına göre kodlanır.
Kaçış tablosu
Python fonksiyonları
Cevabı ayrıştırmak
Birden fazla kayıt | ile ayrılır, alanlar boşlukla ayrılır:
client_type=1 olan kayıtlar query bağlantılarıdır (botlar); gerçek kullanıcıları ayırmak için filtreleyin.
Kaçış tablosu
- boşluk → \s
- / → \/
- | → \p
- \ → \\
- yeni satır → \n
Python fonksiyonları
KOD
KACIS = [("\\", "\\\\"), ("/", "\\/"), (" ", "\\s"), ("|", "\\p"), ("\n", "\\n")]
def kodla(metin):
for a, b in KACIS:
metin = metin.replace(a, b)
return metin
def coz(metin):
for a, b in reversed(KACIS):
metin = metin.replace(b, a)
return metinCevabı ayrıştırmak
Birden fazla kayıt | ile ayrılır, alanlar boşlukla ayrılır:
KOD
def ayristir(cevap):
govde = cevap.split("\nerror id=")[0].strip()
kayitlar = []
for parca in govde.split("|"):
d = {}
for alan in parca.split(" "):
if "=" in alan:
k, v = alan.split("=", 1)
d[k] = coz(v)
kayitlar.append(d)
return kayitlar
for k in ayristir(gonder(s, "clientlist")):
if k.get("client_type") == "0":
print(k["clid"], k["client_nickname"])client_type=1 olan kayıtlar query bağlantılarıdır (botlar); gerçek kullanıcıları ayırmak için filtreleyin.
Kaçış kurallarını uygulamazsanız boşluk içeren bir mesaj veya kanal adı komutu bozar ve invalid parameter hatası alırsınız.
HepOyuncu.com — DDoS korumalı CS 1.6 · CS2 & CS:GO · TeamSpeak 3 sunucu kiralama