Class: IRC Bot

Door Tom K, 14 jaar geleden, 3.289x bekeken

Sinds 09-03-2009 staat hier een nieuwe versie online in verband met veiligheidsproblemen!

Ik heb voor eigen gebruik een irc chat bot gemaakt, waarvan ik dacht dat jullie dit ook wel nodig kunnen hebben. Deze bot zal, wanneer mijn computer aanstaat draaien op irc.chatfactory.net/#devhouse.

Vereisten
Om deze chat bot te gebruiken heb je het volgende nodig:

  • PHP5.3 of hoger(dit heb je nodig in verband met gebruik van closures
  • Ondesteuning voor Sockets


Tip

Ik raad je aan om deze bot niet op een webserver te laten draaien, maar te laten draaien in CMD(Windows) of Terminal(Linux).

Veranderingen

In de nieuwe versie(geplaatst op 09-03-09) zijn een aantal belangrijke veranderingen die zorgen voor de veiligheid van de bot toegevoegd, zo dien je je nu in te loggen in plaats van te activeren. Ook zijn een aantal kleine foutjes opgelost.

Gebruik

Hoe deze bot gebruikt dient te worden is onder de code te vinden.

Gesponsorde koppelingen

PHP script bestanden

  1. class-irc-bot

 

Er zijn 6 reacties op 'Class irc bot'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Han eev
Han eev
14 jaar geleden
 
0 +1 -0 -1
Ziet er goed uit, maar ik denk dat je er even bij moet vermelden dat $functie - function ($1,$2) {}; alleen werkt in PHP5.3 of hoger
edit: ik zie dat het er al bij stond, overheen gelezen :S
Terence Hersbach
Terence Hersbach
14 jaar geleden
 
0 +1 -0 -1
goed gebruik gemaakt van de closures! ben blij dat er mensen zijn die al vooruit kijken. Ik denk dat de class op sommige punten nog wel verbeterd kan worden, zoals meerdere servers verbinden (dat je bijvoorbeeld ook op meerdere servers tegelijk een bericht kan sturen) of dat je in plaats van een functie een set functies toe kan voegen door er bijv. een class aan te koppelen (dat je die als plugin voor jouw script kan gebruiken).

Offscript;
al met namespaces, goto, late static binding en de andere dingetjes gespeeld?
Toby hinloopen
toby hinloopen
14 jaar geleden
 
0 +1 -0 -1
wat zijn closures nou weer? :P
*google't*
Pieter van Linschoten
Pieter van Linschoten
14 jaar geleden
 
0 +1 -0 -1
Nice..

Quote:
PAS OP2: Ik raad het ten strengste af om dit script op een webserver te draaien, aangezien er een 'oneindige' loop in zit. Het beste is het om hem in CMD/Terminal te draaien


Ik ben zo ook een keer aan het expirimenteren geslagen connectie via irc. Had op een gegeven moment de hosting beheerder op m'n dak.

edit: Oeps, Ik was aan het bumpen.

Ik vraag me af: Als je deze bot nu aan laat staan, en iemand anders gaat onder jouw naam in jouw kanaal, wordt diegene dan als owner aangemerkt?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$function
= function($class, $data)
{

    $wachtwoord        = trim(array_pop(explode('!login',$data[4])));  
    $gebruiker        = $this->nickname($data[0]);
    if($wachtwoord    == 'PASSWORD'){
        $class->write('PRIVMSG '.$gebruiker.' : Je bent succesvol ingelogd');
        $class->setOwner($this->nickname[$data[0]]);
    }
else {
        $class->write('PRIVMSG '.$gebruiker.' : Verkeerde wachtwoord');
    }
};


$bot->addAction('login', $function);
?>

Is iets in deze trant dan niet veiliger? (moet je natuurlijk wel via privebericht inloggen
Tom K
Tom K
14 jaar geleden
 
0 +1 -0 -1
het een en ander verbeterd/gewijzigd, zo nu ook de methode voor inloggen.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen


14 jaar geleden
 
0 +1 -0 -1
Als jij bent ingelogd, en je krijgt een ping timeout, dan kan ik jou nick nemen, en dan ben ik ingelogd.
Ik vind dit ook niet echt een class, meer een samengeraapt zooitje. Sowieso is het een samengeraapt zooitje, want wie weet er nou wat er in $eData zit?
Ik gebruik liever Net_SmartIRC dan deze troep.

Verder zou ik eigenlijk nooit een echte bot in php willen hebben, omdat php d'r niet voor gemaakt is om constant te draaien. Het geheugen zal vroeg of laat vol lopen, ook als je hem via cli doet.
Gebruik liever een echte programeertaal en geen scripttaal.

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. class-irc-bot

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.