Php İle Bot Yapmak

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    Abizittin bunu yazdı:
    -----------------------------

    geçen seneden bu yana değişen bişey yok yani zumsuk :)

    çok sağlam bi algoritma lazım sana


    ----------------------------- 

     

    puauhauhua aynen :D baba ben kafaya koydum akıllı sistemler üstüne.Yapıcam bunuda.

    & pesi : saolasın

    & gVeR : baba direk öyle değilde sanırım database kullanıcam.Yine sanıyorum access il bağlayacağım bu sefer :) Hiç olmadı aspden devam.

    ---

    Çok istiyordum dagon.somee.com da editör hariç portal tamamen bana aittir.O portalda akıllı birşeyler yapacaktım ki nickmatör geldi aklıma ve ona yöneldim.Php ile.Portalda kişinin kötülük hanesi olacaktı.Normal işleyişe ters giden birşeyler yaptığında +1 eklenecek 5 te süreli banlanacak.Tekrar yaparsa süresiz banlanacaktı.Haber onayları, forumda yeni konu falan bir çok algoritma ile denetlenip eskiden varmıymış , benzer varmı bakılacak benzer varsa bunlar var benzeyebilir deyip olsun devam diye tekrar yollanacaktı.

    Yani admin orda sadece bekleyecek site kendi kendine işleyecekti.Çok farklı fikirlerde var sdece bunlar değil fakat tam konsantremi nickmatöre verdim.Çokta güzel olacaktı millet sitesini yazacak daha sonra sitelerdn index alınacaktı.Belli aralıklarla.archive.org gibi tarihsel bakılabilecekti.Yine aynı indexler biraz dha dallanıp budaklanacak ve zamanı geldimi nickmatörün altında 3 seçenek lacaktı

    1-nick ara
    2-site görüntüsü ara
    3-arama yap

    böylece hem toplist tarzı, hem arşiv, hem nick kaydedici hemde arama motoru olacaktı.Yardım istemedim kimseden kendim yapayım diye.Bu yüzden baya bi yük düşüyordu.Altından kalkabilirim diye düşünürken pat üniversiteyi kazandım.Orda arkadaşlar dışarısı falan derken hepsi kaldı.Laptop götdüm eski bir tanede ara ara çalışayım diyorum fakat pardus yüklü tamamen.Linuxta php ile uğraşamıyorum grafik tarafım sıfır ve frontpage bana çok yardımcı oluyordu.

    Neyse fazla dağıtmayayım.Kısacası aklımda çok proje vardı fakat bir çoğu şimdilik rafa kaldırıldı.Kaç senedir gördüğümde birşey var ki işlenmeyen demir pas tutar :-/ 8 aydır elimi kodlara sürmüyorum aklımda az birşey kalmış.Belki yine bi php portal yapıp hatırlayabilirm :D 

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    cagilgurbuz
    cagilgurbuz's avatar
    Kayıt Tarihi: 22/Eylül/2007
    Erkek
    aklıma karabasan geldi :)

    The pain you feel today is the strength you feel tomorrow.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    arkadaşlar bir tane yapayım dedim yaptım

    www.tarcan.somee.com/tarcan.rar

    Şimdi burada sorunum şu ;

    naberyazdığımızda ii senden vs.. vs.. diyor

    fakat geldim naber yazdığımızda işin içine geldim katılıyor ve benim herşey bozuluyor.

    Pesinin bota baktım o kısmını anlayamadım çok karışık geldi.Şöyle mantık kısmını anlatack biri varsa sevinirim.Şu sorunu çözünce inş php için kurucam :D

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    pesimistzombie
    pesimistzombie's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    geldim naber cümlesi içinde, database deki anahtarları tek tek aratıcaksın.. aspde bu instr olarak yapılır php yi bilmiyorum. DB deki anahtar örneğin geldim olsun.. sen bu kelimeyi çektiğin cümle içinde var mı yokmu aratıcan varsa cevap verdircen yoksa anlamadım filan dedirtcen.. 

    hem geldim hem naber anahtarları varsa eğer db de öncelik en düşük idye aittir mesela geldim anahtarı id 1 olsun naber anahtarı id 2 olsun bot direk geldim anahtarına cevap verir. Burda da senin bota kelime eklerkenki kabiliyetin yatar :D

     


    :|
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    pesimistzombie bunu yazdı:
    -----------------------------

    geldim naber cümlesi içinde, database deki anahtarları tek tek aratıcaksın.. aspde bu instr olarak yapılır php yi bilmiyorum. DB deki anahtar örneğin geldim olsun.. sen bu kelimeyi çektiğin cümle içinde var mı yokmu aratıcan varsa cevap verdircen yoksa anlamadım filan dedirtcen.. 

    hem geldim hem naber anahtarları varsa eğer db de öncelik en düşük idye aittir mesela geldim anahtarı id 1 olsun naber anahtarı id 2 olsun bot direk geldim anahtarına cevap verir. Burda da senin bota kelime eklerkenki kabiliyetin yatar :D

     


    -----------------------------

    hoba göründüğünden daha karışıkmış şimdi bunu ayarlayayım :D

    peki  nasıl yapıcam kafam karıştı ciden

    örneğin selam nabıyorsun gönderildi

    instr(yazi)=request("yazi")

    yazi yı böyle yapıp mı sqldan çektiricez.Yoo bu sefer olmaz :S pff 

    Yardım :D cidden kafam kitlendi.

    Edit:

    Pesi senin bottada o var sanırım ;

    Önce elle temel bir kaç harf giriyoruz ve senin botta anahtarda var mı yokmu bakıyoruz.Eğer varsa dbden cevaplardan rastgele alıyoruz :S

    Biraz uzun olabilir.Bunun direği yokmu.Mesela direk kutucuktan aldığımız veriyi anahtarda arıyoruz bulursa içinde cevap gösteriyoruz

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    :@

    Nasıl iş bu çözemedim ya gönderdiğim yazıların içinden dbde anahtar kelimeler varmı diye bakacak altı üstü.Fakat düşünce yapısına göre sözcüğü dbde aramak değil dbdeki sözcüğü aratmak gibi ters birşey oluyor...

  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    pesimistzombie
    pesimistzombie's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    o kadar şey yazdım bağlantı koptu ve uçtu :/

    neyse olay şu

     

    sql ile tabloya bağlanırsın

      tablodaki anahtarları döngüyle listelersin

        listeletme esnasında anahtarı cümle içinde aratırsın varsa cevap verdirirsin yoksa başka cevap verdirirsin 

      listeletmeye devam edersin (next loop döngüsü) 

    bağlantıyı kesersin

     

    olay bu :/ şimdi eğer sadece tek kelime requestten gelseydi ona göre eşleştirme yapabilirdin ancak cümle yazdığın için cümle içinde anahtarları aratman eğer varsa cevaplardan birini yollatman eğer yoksa  başka cevap yollatman gerekiyor.


    :|
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    pesimistzombie bunu yazdı:
    -----------------------------

    o kadar şey yazdım bağlantı koptu ve uçtu :/

    neyse olay şu

     

    sql ile tabloya bağlanırsın

      tablodaki anahtarları döngüyle listelersin

        listeletme esnasında anahtarı cümle içinde aratırsın varsa cevap verdirirsin yoksa başka cevap verdirirsin 

      listeletmeye devam edersin (next loop döngüsü) 

    bağlantıyı kesersin

     

    olay bu :/ şimdi eğer sadece tek kelime requestten gelseydi ona göre eşleştirme yapabilirdin ancak cümle yazdığın için cümle içinde anahtarları aratman eğer varsa cevaplardan birini yollatman eğer yoksa  başka cevap yollatman gerekiyor.


    -----------------------------

    saolasın :D biraz karışıkmış ama deneyeyim.

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    pesimistzombie
    pesimistzombie's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    asp scriptini anlatayım mesela.. randomlar şaşırttı seni sanırım bak olay şudur

     


    if botcuk(lcase(input))="bot" or botcuk(lcase(input))="robot" or botcuk(lcase(input))=""&botcuk(lcase(botadi))&"" then


    fonk="botmod"
    RANDOMIZE
    LowestNumber = 1
    HighestNumber = 5
    RandomNumber = Int((HighestNumber-LowestNumber+1)*Rnd+LowestNumber)
    SELECT Case RandomNumber
    Case 1
    sanalbot = "efendim arkadaşım?"
    Case 2
    sanalbot = "Efendim (uye) ?"
    Case 3
    sanalbot = "Evet?"
    Case 4
    sanalbot = "efendim?"
    Case 5
    sanalbot = "söyle (uye)"
    End Select

    ' buraya kadar yazma amacım şuydu; kullanıcı sadece botun ismini, sadece robot, sadece bot yazarsa ona göre karşılık cevap ver.. aslında bu gereksiz 


    else

    ' burdan sonrası eğer kullanıcı yukarda bahsettiklerimi yazmamışsa cümle yazmıştır muhtemelen o yüzden;


    set slt_kelime=bagbot.Execute("select * from bot")   ' tabloya bağlanıyorum 

     

    if not slt_kelime.eof then 'eğer tablo boş değilse bişeyler kayıtlı demektir kayıtlıysa işleme devam edelim
    fonk="botmod" ' sadece bot cevap verdi şeklinde bir tetikleme gerek yok aslında ama ben koymuşum.

    RANDOMIZE
    LowestNumber = 1
    HighestNumber = 9
    RandomNumber = Int((HighestNumber-LowestNumber+1)*Rnd+LowestNumber)
    SELECT Case RandomNumber
    Case 1
    sanalbot = "katılıyorum (uye) :D"
    Case 2
    sanalbot = "anlamadım (uye)?"
    Case 3
    sanalbot = "hiç bi fikrim yok (uye)"
    Case 4
    sanalbot = "anlayamadım (uye) özürdilerim :("
    Case 5
    sanalbot = "söylediğini anlayamadım (uye)?"
    Case 6
    sanalbot = "(uye) ne dediğini anlamadım ? :D"
    Case 7
    sanalbot = "çay kahve ister misin ? :P"
    Case 8
    sanalbot = ":D :P"
    Case 9
    sanalbot = ""&input&" demekle neyi kastettin (uye) ?"
    End Select


    end if

    'buraya kadar amaç aslında tablo boş değilse ancak aradığım kelimeyi bulamazsam bu cevapları versin geçsin anlamında yazılmış şeylerdir..

     

    Do While Not slt_kelime.eof ' eğer tablo boş değilse anahtarları listeletelim.. olay burda aslında gerisi fasa fiso 

    anahtar = botcuk(lcase(slt_kelime("anahtar"))) ' o an listelenen anahtar ve üzerine çeşitli filtreler uygulamışım sebebi bot daha zekalı olsun diye..
    botid = slt_kelime("id") ' dbdeki id numarasını almışım burda


    karakter=Array(anahtar) 'burada anahtarı array e atıyorum daha iyi bulabilsin diye 
    For Each krtr In karakter 'döngüye sokuyorum 


    if instr(botcuk(lcase(input)),krtr)>0 Then ' eğer input yani cümle içinde anahtar varsa yakaladıysam  
    fonk="botmod" ' yine bot bişiler yazdı tetikleyicisi


    RANDOMIZE
    LowestNumber = 1
    HighestNumber = 5
    RandomNumber = Int((HighestNumber-LowestNumber+1)*Rnd+LowestNumber)
    SELECT Case RandomNumber
    Case 1
    sanalbot = slt_kelime("cevap1")
    Case 2
    sanalbot = slt_kelime("cevap2")
    Case 3
    sanalbot = slt_kelime("cevap3")
    Case 4
    sanalbot = slt_kelime("cevap4")
    Case 5
    sanalbot = slt_kelime("cevap5")
    End Select

    ' burada random olarak 5 tane cevap vermişim db den çekip bastırıyorum..


    end if
    if fonk="botmod" Then exit for
    Next
    slt_kelime.movenext
    Loop
    slt_kelime.close
    Set slt_kelime=Nothing
    end if
    end if


    gerisi döngüleri kapama vs vs 

     

    ben bunu biraz daha geliştirdiydim aslında..

    http://rapidshare.com/files/265894016/PesiBotv2.rar

    hediyem olsun :d ruh.asp kısmını incele biraz daha derli toplu  

     


    :|
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    heh bende

    yazi=request("yazi")
    set cek = bag.Execute("select * from lag where anahtar like '%" & yazi & "%'")
    do while (not cek.eof)
    if instr(cek("cevap"),yazi) then
    response.write
    end if
    rec.movenext
    Loop

    bu nasıl oalcak diyecektim tam .Eyw saolasın.

    Benimki böyleydi asp buda;

    http://www.tarcan.somee.com/tarcan.rar

    saolasın uğraştığın için hemen inceliyorum

    edit:

    problem tamamen instr kullanımı dolayısıyla cümle içindekini tabloda buldurmada olmuş.Onlarıda hallederim.

    ayrıca ne diyorlar bunlar diye merak edenler : http://www.dagon.somee.com/pesibot/sohbet.asp

    buraya bakabilir :)

Toplam Hit: 4646 Toplam Mesaj: 42