Otomatik soru cevaplama

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Seçkin Üye
Katılım
14 Şub 2019
Mesajlar
307
Tepki puanı
26
Ödüller
7
Yaş
38
7 HİZMET YILI
Elimde aşağıda ki gibi bir kod var oyunda chat kısmından gelen toplama çıkarma işlemlerini otomatik cevaplıyor fakat soru sistemi değişti elimde bütün sorulan sorular var fakat yeniden düzenlemede sıkıntı çektim python bilgim hiç yok kısa da bir kod elif ekleyerek sadace elimdeki soruları cevaplamasını nasıl sağlarım yardımcı olabilecek var mı kod satırlarının bir kısmı da fazlalık fakat nereleri silmem gerektiği konusund da pek fikrim yok farklı işlem ve cavaplamara da yervermişler sadece chat ten verdiğim soruyu cevaplayacak bir kod yapmak istedim yardımcı olursanız sevirim
from phBot import *
import phBotChat

import re
from time import sleep

def handle_chat(t, player, msg):
if len(player) == 0:
m = re.findall(r'(\d+)', msg)
if m and len(m) >= 2:

if msg.find('+') != -1 or msg.find(' x ') != -1:
result = int(m[0]) + int(m[1])
else:
result = int(m[0]) + int(m[1])

sleep(1.0)

log('Duman_Fan ***** %s' % str(result))
if msg.find('/answer') != -1:
phBotChat.All('/answer ' + str(result))
else:
phBotChat.All("!t" + str(result))
elif (player.find('HMDCRACK') != -1 or player.find('HMDCRACK') != -1) and msg.lower().find('HMDCRACK') != -1:
sleep(1.0)
phBotChat.All(player, str(get_character_data()['job_current_exp']))
elif player == 'HMDCRACK' or player == 'HMDCRACK' or player == 'HMDCRACK':
m = re.findall(r'(\d+)', msg)
if m:
if len(m) == 1:

sleep(1.0)

log('Duman_Fan ***** %s' % str(m[0]))
phBotChat.All(player, "Duman_Fan *****" + str(m[0]))

elif len(m) >= 2:

if msg.find('+') != -1 or msg.find(' x ') != -1:
result = int(m[0]) + int(m[1])
else:
result = int(m[0]) + int(m[1])

sleep(1.0)

log('Duman_Fan ***** %s' % str(result))
phBotChat.All(player, "Duman_Fan *****" + str(result))
elif msg.lower().find('kervankey') != -1:
sleep(1.0)
phBotChat.All(player, "Duman_Fan *****" + 'Kervankey')

log('[%s] Loaded' % __name__)




sorular da bunlar birkaç tanesini eklemeyi gösterebilirseniz sanırım gerisini ben yapabilirim (sorulardan bazıları yarım yamalak chat akışında öyle geçtiği için özellikle kaydettim)


6x6 isleminin sonucu nedir?

35 nerenin plakasidir?

turkiyenin baskenti hangi ilimizdir?

06 nerenin plakasidir?

bir gun kac saattir?

tavuklarin kac ayagi vardir?

bir yilda kac mevsim vardir?

01 nerenin plakasidir?

4x4 isleminin sonucu nedir?

bir insanda kac tane el parmagi vardir?

bir insanda kac tane ayak vardir?

su kac derecede kaynar?

adana ilimizin plaka kodu kactir?

2 2 islemin sonucu kactir?

10 5 isleminin sonucu nedir?

bir insanda kac tane kol vardir?

1x1 isleminin sonucu nedir?

365 gun 6 saat kac yila esittir?

bir saat kac dakikadir?

turkiye nin en kalabalik nufusa sahip sehri hangisidir?

07 nerenin plakasidir?

5 3 isleminin sonucu nedir?

stanbul un fethi kac tarihinde olmustur?

7x7 isleminin sonucu nedir?

atin yavrusuna ne denir?

bir insanda kac tane kol vardir?

10 10 isleminin sonucu nedir?

kac yilda bir subat ayi 29 ceker?

10x10 isleminin sonucu nedir?

bir destede kac eleman bulunur?

ulu onderimiz mustafa kemal in soyadi nedir?

bir insanda kac tane ayak parmagi vardir?

34 nerenin plakasidir?

ataturk hangi yilda olmustur?

anitkabir hangi ilimizdedir?

dunya nin uydusu nedir?

neklerin kac ayagi vardir?

5x5 isleminin sonucu nedir?

stanbul ilimizin plaka kodu kacti?

bir insanda kac tane kulak vardir?

ataturk hangi yilda dogmustur?

haftanin ilk gunu nedir?

bir insanda kac tane ayak vardir?

bir yilda kac ay vardir?

yavru vatan neresidir?

turkiyenin baskenti hangi ilimizdir?

2x2 isleminin sonucu nedir?

bir insanda kac tane goz vardir?

bir dakika kac saniyedir?

ankara ilimizin plaka kodu kactir?

zmir ilimizin plaka kodu kactir?

3x3 isleminin sonucu nedir?

8x8 isleminin sonucu nedir?

antalya ilimizin plaka kodu kactir?
 
Seçkin Üye
Katılım
22 Nis 2020
Mesajlar
308
Çözümler
2
Tepki puanı
16
Yaş
23
6 HİZMET YILI
bir yeri hatalı yapmışsındır inceleyip sana yazıcam özelden hocam .
 
Seçkin Üye
Katılım
14 Şub 2019
Mesajlar
307
Tepki puanı
26
Ödüller
7
Yaş
38
7 HİZMET YILI
bir yeri hatalı yapmışsındır inceleyip sana yazıcam özelden hocam .
şu an bu kod çalışmakta vereceğim kodu sadece el if yazarak ekledim şöyle ekleyeyim biryer yanlış konusuna kesinlikle katılıyorum :D , bota plugin olarak eklediğimde dosyayı açmıyor çünkü altta attığım rasgele eklediğim şekli



from phBot import *
import phBotChat

import re
from time import sleep

def handle_chat(t, player, msg):
if len(player) == 0:
m = re.findall(r'(\d+)', msg)
if m and len(m) >= 2:

if msg.find('stanbul ilimizin plaka kodu kacti?'):
result = 34


elif msg.find('6x6 isleminin sonucu nedir?'):
result = 36

elif msg.find('35 nerenin plakasidir?'):
result = izmir

elif msg.find('turkiyenin baskenti hangi ilimizdir?'):
result = ankara

elif msg.find('06 nerenin plakasidir?'):
result = ankara

elif msg.find('bir gun kac saattir?'):
result = 24

elif msg.find('tavuklarin kac ayagi vardir?'):
result = 2

elif msg.find('01 nerenin plakasidir?'):
result = adana

elif msg.find('bir yilda kac mevsim vardir?'):
result = 4

elif msg.find('4x4 isleminin sonucu nedir?'):
result = 16

elif msg.find('bir insanda kac tane el parmagi vardir?'):
result = 10

elif msg.find('bir insanda kac tane ayak vardir?'):
result = 2

elif msg.find('su kac derecede kaynar?'):
result = 100

elif msg.find('adana ilimizin plaka kodu kactir?'):
result = 01

elif msg.find('2 2 islemin sonucu kactir?'):
result = 4

elif msg.find('10 5 isleminin sonucu nedir?'):
result = 5

elif msg.find('bir insanda kac tane kol vardir?'):
result = 2

elif msg.find('1x1 isleminin sonucu nedir?'):
result = 1

elif msg.find('bir saat kac dakikadir?'):
result = 60

elif msg.find('365 gun 6 saat kac yila esittir?'):
result = 1

elif msg.find('turkiye nin en kalabalik nufusa sahip sehri hangisidir?'):
result = istanbul

elif msg.find('07 nerenin plakasidir?'):
result = antalya

elif msg.find('5 3 isleminin sonucu nedir?'):
result = 8

elif msg.find('stanbul un fethi kac tarihinde olmustur?'):
result = 1453

elif msg.find('7x7 isleminin sonucu nedir?'):
result = 49

elif msg.find('atin yavrusuna ne denir?'):
result = tay

elif msg.find('bir insanda kac tane kol vardir?'):
result = 2

elif msg.find('10 10 isleminin sonucu nedir?'):
result = 20

elif msg.find('kac yilda bir subat ayi 29 ceker?'):
result = 4

elif msg.find('10x10 isleminin sonucu nedir?'):
result = 100

elif msg.find('bir destede kac eleman bulunur?'):
result = 10

elif msg.find('ulu onderimiz mustafa kemal in soyadi nedir?'):
result = ataturk

elif msg.find('bir insanda kac tane ayak parmagi vardir?'):
result = 10

elif msg.find('34 nerenin plakasidir?'):
result = istanbul

elif msg.find('ataturk hangi yilda olmustur?'):
result = 1938

elif msg.find('anitkabir hangi ilimizdedir?'):
result = ankara

elif msg.find('dunya nin uydusu nedir?'):
result = ay

elif msg.find('neklerin kac ayagi vardir?'):
result = 4

elif msg.find('5x5 isleminin sonucu nedir?'):
result = 25

elif msg.find('stanbul ilimizin plaka kodu kacti?'):
result = 34

elif msg.find('bir insanda kac tane kulak vardir?'):
result = 2

elif msg.find('ataturk hangi yilda dogmustur?'):
result = 1881

elif msg.find('haftanin ilk gunu nedir?'):
result = pazartesi

elif msg.find('bir yilda kac ay vardir?'):
result = 12

elif msg.find('yavru vatan neresidir?'):
result = kibris

elif msg.find('turkiyenin baskenti hangi ilimizdir?'):
result = ankara

elif msg.find('2x2 isleminin sonucu nedir?'):
result = 4

elif msg.find('bir insanda kac tane goz vardir?'):
result = 2

elif msg.find('bir dakika kac saniyedir?'):
result = 60

elif msg.find('ankara ilimizin plaka kodu kactir?'):
result = 06

elif msg.find('zmir ilimizin plaka kodu kactir?'):
result = 35

elif msg.find('3x3 isleminin sonucu nedir?'):
result = 9

elif msg.find('8x8 isleminin sonucu nedir?'):
result = 64

elif msg.find('antalya ilimizin plaka kodu kactir?'):
result = 07

sleep(1.0)

log('Duman_Fan ***** %s' % str(result))
if msg.find('/answer') != -1:
phBotChat.All('/answer ' + str(result))
else:
phBotChat.All("!t" + str(result))
elif (player.find('HMDCRACK') != -1 or player.find('HMDCRACK') != -1) and msg.lower().find('HMDCRACK') != -1:
sleep(1.0)
phBotChat.All(player, str(get_character_data()['job_current_exp']))
elif player == 'HMDCRACK' or player == 'HMDCRACK' or player == 'HMDCRACK':
m = re.findall(r'(\d+)', msg)
if m:
if len(m) == 1:

sleep(1.0)

log('Duman_Fan ***** %s' % str(m[0]))
phBotChat.All(player, "Duman_Fan *****" + str(m[0]))

elif len(m) >= 2:

if msg.find('+') != -1 or msg.find(' x ') != -1:
result = int(m[0]) + int(m[1])
else:
result = int(m[0]) + int(m[1])

sleep(1.0)

log('Duman_Fan ***** %s' % str(result))
phBotChat.All(player, "Duman_Fan *****" + str(result))
elif msg.lower().find('kervankey') != -1:
sleep(1.0)
phBotChat.All(player, "Duman_Fan *****" + 'Kervankey')

log('[%s] Loaded' % __name__)
 
Uzman Üye
Katılım
19 Nis 2020
Mesajlar
298
Çözümler
6
Tepki puanı
38
Ödüller
4
6 HİZMET YILI
bunları soru cevap eşlerini barındıran elemanlardan oluşan bir listeye koy. Soru geldiğinde listede arayıp bulduğunda da yanındaki cevabı ekrana yazdır.
 
Uzman Üye
Katılım
1 May 2019
Mesajlar
259
Çözümler
1
Tepki puanı
14
Yaş
31
7 HİZMET YILI
Çok uğraştığın belli umarım emeğinin karşılığını alırsın
 
Seçkin Üye
Katılım
14 Şub 2019
Mesajlar
307
Tepki puanı
26
Ödüller
7
Yaş
38
7 HİZMET YILI
Çok uğraştığın belli umarım emeğinin karşılığını alırsın
hayatımda ilk defa python kodunu düzenlemeyi denedi malesef hiç bilgim yoktu elif yazıp denemekten başka şansım yoktu tam olarak satırların neye yaradığını da çözemedim o yüzden gerekli modifikasyonu yapamadım ://
Post automatically merged:

bu arada kodun ilk attığım şekli çalışmakta
 
Uzman Üye
Katılım
19 Nis 2020
Mesajlar
298
Çözümler
6
Tepki puanı
38
Ödüller
4
6 HİZMET YILI
select case gibi bir komutla mı
yok doğrudan listeye koy liste [] = (('6x6 isleminin sonucu nedir?' , 36 ), ('55 nerenin plakasıdır?' , 'Samsun'), ...) gibi
sonrasında kullanıcıdan aldığın degerde 'girdi' olsun
for i in liste:
if girdi == i[0]
print i[1]

hatalı yerler olabilir ama temel mantık bu şekilde
 
Seçkin Üye
Katılım
14 Şub 2019
Mesajlar
307
Tepki puanı
26
Ödüller
7
Yaş
38
7 HİZMET YILI
yok doğrudan listeye koy liste [] = (('6x6 isleminin sonucu nedir?' , 36 ), ('55 nerenin plakasıdır?' , 'Samsun'), ...) gibi
sonrasında kullanıcıdan aldığın degerde 'girdi' olsun
for i in liste:
if girdi == i[0]
print i[1]

hatalı yerler olabilir ama temel mantık bu şekilde
koddan hangi yerleri çıkaracağımı da tam çözemedim şu an apilerinin araştırıyorum mesela handle_chat i buldum


handle_chat(t, player, msg)

Called when a chat message is received. t is the type sent by the server.

All chat messages received are sent to this function. player can be None if it's not a private message.

gibi diğerlerinin de ne işe yaradığını çözmüş değilim önceki toplama işlemlerinin kodlarını tam silmediğim için sorun çıkarıyor sanırım
 

STU

Seçkin Üye
Katılım
6 Nis 2019
Mesajlar
309
Çözümler
2
Tepki puanı
12
Ödüller
3
Yaş
35
7 HİZMET YILI
Attığın kod benümde işime yaradı teşekkürler
 
Uzman Üye
Katılım
19 Nis 2020
Mesajlar
298
Çözümler
6
Tepki puanı
38
Ödüller
4
6 HİZMET YILI
koddan hangi yerleri çıkaracağımı da tam çözemedim şu an apilerinin araştırıyorum mesela handle_chat i buldum


handle_chat(t, player, msg)

Called when a chat message is received. t is the type sent by the server.

All chat messages received are sent to this function. player can be None if it's not a private message.

gibi diğerlerinin de ne işe yaradığını çözmüş değilim önceki toplama işlemlerinin kodlarını tam silmediğim için sorun çıkarıyor sanırım
İstersen yeni bir proje dosyasında konsol üzerinde gerçekleştir. Sonrasında bot bağlantılarını eklersin.
 
Süper Üye
Katılım
23 Nis 2020
Mesajlar
692
Çözümler
3
Tepki puanı
197
Yaş
27
6 HİZMET YILI
emeğinin karşılığını alman dileğiyle
 
Uzman Üye
Katılım
21 Eki 2018
Mesajlar
295
Tepki puanı
13
Ödüller
6
Yaş
26
7 HİZMET YILI
Okumak bile yarım saatimi aldı bazılarını arkadaşlarıma sorucam
 
Seçkin Üye
Katılım
14 Şub 2019
Mesajlar
307
Tepki puanı
26
Ödüller
7
Yaş
38
7 HİZMET YILI
Son düzenleme:
Süper Üye
Katılım
24 Nis 2020
Mesajlar
871
Çözümler
6
Tepki puanı
68
Ödüller
2
6 HİZMET YILI
Reis gerçekten çook sağol oyunlarda işime çok yarar eyw
 
✔️ϜϓſϞ✔️
Süper Üye
Katılım
13 May 2018
Mesajlar
871
Çözümler
2
Tepki puanı
97
Ödüller
9
8 HİZMET YILI
reıs cok ugrastınmı
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst