Herkese merhaba. Uzatmadan geçeyim ben Python ile oyun sunucusu yapıyorum ve isim engellemesi yapmak istiyorum. Engelleme mantığı şöyle JSON dosyası içerisinden kötü bir söz alacak mesela "ksöz" ve eğer kullanıcı isminin içerisindeyse fail paketi gönderiyor. Evet yaptığım sistem çalışıyor fakat bir şey sormak istiyorum. Eğer ki kullanıcı ismini "ksöz" yaparsa paket gönderiyor fakat "ksöz1" yaptığı zaman fail paket göndermiyor veya "ksözsf a" bunun hakkında yardımcı olabilir misiniz?
Kod:
if self.username not in self.bannednames['bannedusernames']:
database işlemleri.
else:
AvatarNameChangeFailedMessage(self.client, self.player).send()
Herkese merhaba. Uzatmadan geçeyim ben Python ile oyun sunucusu yapıyorum ve isim engellemesi yapmak istiyorum. Engelleme mantığı şöyle JSON dosyası içerisinden kötü bir söz alacak mesela "ksöz" ve eğer kullanıcı isminin içerisindeyse fail paketi gönderiyor. Evet yaptığım sistem çalışıyor fakat bir şey sormak istiyorum. Eğer ki kullanıcı ismini "ksöz" yaparsa paket gönderiyor fakat "ksöz1" yaptığı zaman fail paket göndermiyor veya "ksözsf a" bunun hakkında yardımcı olabilir misiniz?
Kod:
if self.username not in self.bannednames['bannedusernames']:
database işlemleri.
else:
AvatarNameChangeFailedMessage(self.client, self.player).send()
if self.bannednames['bannedusernames'] not in self.username:
TypeError: 'in <string>' requires string as left operand, not list
Öyle yapamıyorum hata alıyorum dün araştırdım fakat bulamadım çözüm.
if self.bannednames['bannedusernames'] not in self.username:
TypeError: 'in <string>' requires string as left operand, not list
Öyle yapamıyorum hata alıyorum dün araştırdım fakat bulamadım çözüm.
Belirlenen kötü kelimeyi split ile bölüp öyle işlem yapın. Eğer belirlenen söz split edilip oluşan listedeki eleman sayısı 1 den büyük ise bu kelime vardır ve engellenir yoksa devam edilir.
Örnek kod;
Python:
k_adı = "ksözsf a"
bölündü = k_adı.split("ksöz")
if len(bölündü) > 1:
print("yasaklı kelime geçiyor")
else:
print("yasaklı kelime yok")