login  Naam:   Wachtwoord: 
Registreer je!
 Nota's op tutorial:

Tutorials > PHP > IRC-bot in PHP (Sockets)
Pagina:

Reacties op de tutorial IRC-bot in PHP (Sockets)


Offline  nemesiskoen
Gepost op: 08 juli 2006 - 13:22
Gouden medaille

PHP expert


  1. socket_write($socket,$data."\r\n";

Moet daar niet nog een haakje staan?

Offline  finduilas
Gepost op: 08 juli 2006 - 13:25
PHP gevorderde

Ja nemesiskoen
En er zijn nog deze fouten:
  1. $u = 'Google zoeken: http://www.google.be/search?q='.urlencode($zoekstring));

moet
  1. $u = 'Google zoeken: http://www.google.be/search?q='.urlencode($zoekstring);

&
  1. schrijf('NOTICE '.nickname($eData[0]).' : '.$u;

moet
  1. schrijf('NOTICE '.nickname($eData[0]).' : '.$u);

Offline  Maarten
Gepost op: 08 juli 2006 - 13:29
Erelid

Ohja juist, het is omdat ik die zooi nog iets anders heb op m'n eigen bot, en dat ik het merendeel heb moeten herschrijven om het minder complex te maken.. en bij die google zooi heb ik die $u niet, maar zet ik dat gelijk op 1 lijn, maar dan is de SiMa layout weer naar de ... zal het even wijzigen 

edit: bij deze 

Offline  webstab
Gepost op: 08 juli 2006 - 14:45
PHP ver gevorderde

Maar door dat in een while-loopje te steken. Vraag dat dan niet veel van uw server? (computer) of valt dat nog mee?

Offline  Maarten
Gepost op: 08 juli 2006 - 15:56
Erelid

Nope Dat is zeer weinig, don't worry.

Offline  StijnH
Gepost op: 08 juli 2006 - 21:38
Nieuw lid

Citaat:
Je ziet dat we als hostname 0 geven. Normaal gezien moet je hier je eigen IP ingeven, maar dit is niet altijd evident als je een dynamisch IP hebt. In de meeste gevallen werkt 0. Als dit niet werkt, geef dan je netwerk-ip in als je in een netwerk zit, en je normaal IP als je pc rechtsreeks aan het internet hangt.


  1. <?php
  2. $config['hostname'] = 0;
  3. ?>


Veranderen in

  1. <?php
  2. $config['hostname'] = $_SERVER['SERVER_ADDR'];
  3. ?>

Offline  Maarten
Gepost op: 08 juli 2006 - 23:28
Erelid

Onzin.

[SERVER_ADDR] => 127.0.0.1

Kan je dus niks mee aanvangen.

Offline  Richard
Gepost op: 09 juli 2006 - 08:11
Crew algemeen

Juist murfy:

_SERVER["SERVER_ADDR"] 195.238.74.74

ik zie het^^

Offline  StijnH
Gepost op: 09 juli 2006 - 11:38
Nieuw lid

Van php.net
Citaat:
'SERVER_ADDR'
The IP address of the server under which the current script is executing.


Moest het zijn wat jij zegt, kun je er inderdaad niets mee aanvangen, dan zou die variable zelfs totaal nutteloos zijn. Dat is ie dus niet 

Tuurlijk, als je er via localhost naar toe gaat zal hij 127.0.0.1 geven, omdat dat het ip van de localhost is. Maar laat het eens echo'en op een andere server, en je krijgt het ip van de server.

Nog 1 iets.
Ik heb alles in een php-pagina gezet die jij in je tutorial zette. Maar er gebeurt niets. Als ik via cmd hem laad, dan doet ie ook niets.
Kan het zijn dat dit gebeurt omdat je helemaal niet verbind met de server? Je zet wel wat er moet gebeuren als hij niet kan verbinden, maar je verbind niet, dacht ik.
Of zit ik fout?

Offline  Maarten
Gepost op: 09 juli 2006 - 13:52
Erelid

@Hierboven: op een externe server werkt dat dan misschien wel, maar er zijn veel mensen die die dingen op localhost draaien, en als ik daar dan die variabele zou zetten krijg ik tig comments dat het niet werkt.

En wat betreft dat connecten:
  1. <?php
  2. if(!socket_connect($socket,$config['server'],$config['poort'])) {
  3. die('Fatale fout tijdens connecteren met server');
  4. // In dit geval is er mogelijks een probleem met de server (bestaat niet, downtime,...)
  5. }
  6. ?>
Daar wordt toch geconnect lijkt me..

Offline  StijnH
Gepost op: 09 juli 2006 - 13:58
Nieuw lid

Dan ligt het aan mij. Heb je msn?

Offline  Maarten
Gepost op: 09 juli 2006 - 14:10
Erelid

Ja, en die krijg je niet.

Ik ben nu even bezig met de code uit die tutorial opnieuw te testen voor de zekerheid. Moment.

Blijkbaar moet er toch iets misgegaan zijn in m'n testproces, aangezien het inderdaad niet klopte. Ik heb de stukken code even herdaan, en er een voorbeeld bij gezet wat hier foutloos werkte.

Offline  StijnH
Gepost op: 09 juli 2006 - 15:54
Nieuw lid

Ik heb je werkend voorbeeld even geprobeerd.

Uit cmd:
Socket aangemaakt
Verbinding gekoppeld aan hostname
Verbinden...

Warning: socket_read(): unable to read from socket[0]: de bewerking is voltooid.
in d:\xampp\htdocs\desst-bot\murfbot.php on line 35

Ben je zeker dat die op windows werkt?

EDIT
in de versie die je eerst gaf (voor je het werkende voorbeeld er bij zette) heb ik eens die @ voor socket_read weggedaan. Dan komt dezelfde error voor.

Offline  Maarten
Gepost op: 09 juli 2006 - 16:46
Erelid

Ik heb hem daarnet hier getest op Windows en hij werkt.

Offline  Maarten
Gepost op: 09 juli 2006 - 20:08
Erelid

Het moet zijn dat jouw php geen sockets ondersteunt.. Google.

Offline  StijnH
Gepost op: 09 juli 2006 - 20:32
Nieuw lid

Murfy, ik kan geen problemen hebben met sockets want andere bots die sockets gebruiken werken probleemloos.. ik wou gewoon die van jou gebruiken omdat ie eenvoudig is.

Mss heb je ergens toch nog een fout in je voorbeeld gepost, kun je me anders eens de werkende die op jou pc staat mailen?

Offline  Maarten
Gepost op: 09 juli 2006 - 20:52
Erelid

De werkende die op mijn pc staat staat bij puntje 4 in de tutorial.

Offline  Wim
Gepost op: 08 augustus 2006 - 12:48
Crew algemeen

heb ik je dit stuk code niet ooit doorgestuurd in de vorm van een bot voor linuxmasters? 

Offline  Zain
Gepost op: 03 september 2006 - 17:55
Nieuw lid

hmm, ik heb het geprobeerd, maar ik krijg de volgende error;

  1. Fatal error: Function name must be a string in c:\wamp\www\phpbot.php on line 18


ik heb hem uitgeprobeerd in de browser ( handig om syntax errors e.d. te vinden vind ik ) en dat kreeg ik dus.

als ik het via de console probeer, opent ie phpbot.php in kladblok- maar draait hem niet

wat is er aan de hand? alvast bedankt 

Offline  Ch0coschijt
Gepost op: 03 september 2006 - 21:11
HTML interesse

je moet dan ff c:\wamp\php\php.exe c:\wamp\www\phpbot.php
om hem te openen in een consolse

Offline  Zain
Gepost op: 03 september 2006 - 21:19
Nieuw lid

hmm,

  1. Fatal error: Call to undefined function socket_create() in C:\wamp\www\phpbot.ph
  2. p on line 15


wat ik toch erg raar vind, ik heb alle extensies vrijwel openstaan, en heb de socket extensie nog ervoor gechecked. erg raar

Offline  Godlord
Gepost op: 18 november 2006 - 00:15
PHP gevorderde

Ik ga hier eens wat mee doen klinkt best interresant... En het is zelfs mogelijk om nog verder te gaan dan gewone MIRC taal  

Offline  mitshell
Gepost op: 31 januari 2007 - 16:17
Nieuw lid

  1. @echo off
  2. C:\webserver\xampp\php\php.exe -f "bot2.php"

opslaan als .bat file

Offline  bubbles
Gepost op: 14 april 2007 - 13:42
Nieuw lid

Als ik hem uitvoer via cmd zegt hij.
Fatal error: all to undefined function socket_create() in C:\wamp\php\bot.php on line 11.
Ik heb php 5 dus daar kan het niet aan liggen.

Offline  Sc0tTy
Gepost op: 16 juli 2007 - 11:05
PHP interesse

Citaat:
[I][B]webstab[/B] schreef op 08 juli 2006 - 14:45[/I]

Maar door dat in een while-loopje te steken. Vraag dat dan niet veel van uw server? (computer) of valt dat nog mee?


Citaat:
[I][B]Murfy[/B] schreef op 08 juli 2006 - 15:56[/I]

NopeĀ Dat is zeer weinig, don't worry.


Hier gebruikt het constant 100% CPU usage , weet iemand hier een beter alternatief voor ?

Offline  Wim
Gepost op: 19 augustus 2007 - 15:43
Crew algemeen

scoty: dat is niet waar. Dan heb je waarschijnlijk ergens een leak oid

deze bot zal trouwens af en toe nog een timeout geven. Beter is om de datavariabele binnen de while-lus te defineren, en de while-lus als parameter gewoon TRUE meegeven; dus:

while(TRUE)
{

}

deze while-lus zal nooit stoppen, buiten met break;, exit(), of die()

Offline  tomie94
Gepost op: 15 januari 2008 - 19:06
PHP interesse

ik wil die google functie gebruiken. maar als ik die erin zet en hem uitvoer dan logt de bot uit.

Ook werk dat ping en pong nij mij niet...

Offline  anoop
Gepost op: 17 januari 2008 - 18:00
Lid

wimmarien schreef:
scoty: dat is niet waar. Dan heb je waarschijnlijk ergens een leak oid

deze bot zal trouwens af en toe nog een timeout geven. Beter is om de datavariabele binnen de while-lus te defineren, en de while-lus als parameter gewoon TRUE meegeven; dus:

while(TRUE)
{

}

deze while-lus zal nooit stoppen, buiten met break;, exit(), of die()


heb dit ervan gemaakt:
while(TRUE) {
$data = socket_read($socket,65000,PHP_NORMAL_READ);
en de rest

eerst ging de bot weg na 2x iets zeggen, nu gaat dat wel goed, maar nog steeds na 5-8 minuten is die weg...
iemand die me met dat kan helpen?



Offline  Nautjuh
Gepost op: 23 januari 2008 - 00:17
Nieuw lid

Hallo,

Zo ver is het een goed script, maar zou je me kunnen helpen met het 1 en het ander namelijk:
Ik wil dat het verbinding maakt met me server,
Een lijst maakt van de servers die dan gelinked zijn,
De totale userload uitvogelt,
En aantal kanalen (misschien een lijst (met een link naar een applet))
En dan alle info in een MySQL database propt.
Aangezien me kennis gelimiteerd is kan ik dat niet uitvogelen hoe of wat.

Alle hulp word gewaardeerd, behalve "Google is you're friend"  

Dank jullie wel,
- Rob de Jonge

Offline  tomie94
Gepost op: 01 maart 2008 - 16:59
PHP interesse

ik gebruik dit script en het werkt goed.

Alleen ik heb de nick van de bot geregristeerd. iemand een idee hoe je je met de bot kan aanmelden(normaal /msg NickServ IDENTIFY pass)

Offline  markpieper
Gepost op: 02 september 2008 - 21:46
HTML beginner

Zeer late reactie:

PRIVMSG NickServ :IDENTIFY pass

Offline  Tumie
Gepost op: 07 januari 2009 - 17:52
Nieuw lid

bij mij werkt de functie "schrijf" om een of andere reden niet.. alles werkt (is getest) behalve die functie,,

Offline  pekeltje
Gepost op: 14 februari 2010 - 21:39
Nieuw lid

Ik heb het werkende voorbeeld overgenomen en werkt goed.

Echter als ik het google gedeelte toevoeg krijg ik het niet werkend.
De bot blijft gewoon maar hij reageerd niet.

Hoe kan ik dit oplossen?

Pagina:

Enkel aanvullende informatie is welkom. Geen prijzende of afkeurende reacties.
 
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.139s