לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 21-10-2005, 19:12
צלמית המשתמש של phntm
  phntm phntm אינו מחובר  
 
חבר מתאריך: 09.04.04
הודעות: 34
מי שתמיד רצה בוט לIRC בPHP

הנה לכם משהו לעזור להתחיל יותר מהר.
קוד PHP:
<?php
       define
('host','irc.nix.co.il');
    
define('port',6667);
    
define('nick','easybot');
    
define('user','easybot');
    
define('real','easybot');
    
define('debug',true);
    
$connected false;
    
set_time_limit(0);
    while (
true) {
        while (!
$connected) {
            
l("!! Connecting...");
            
$connected connect();
            if (!
$connectedsleep(1);
        }
        if (
$connected)
            
$connected fetch_and_wait();
    }
    function 
connect() {
        global 
$c;
        
$c = @fsockopen(host,port,$errcatch,$errstrcatch,5);
        if (!
$c) {
            
l("Error connecting: $errcatch $errstrcatch");
            return 
false;
        }
        
send("NICK ".nick);
        
send("USER ".user." localhost ".host." :".real);
        return 
true;
    }
    function 
send($line) {
        global 
$c;
        if (
debugl(">> $line");
        
fputs($c,$line."\r\n");
    }
    function 
parse($line) {
        if (
debugl("<< $line");
        if (
$line{0} == ':')
            list(
$source$command$params) = explode(' ',$line,3);
        else 
            list(
$command$params) = explode(' ',$line,2);
        if (!isset(
$source)) $source '';
        
$command "_$command";
        if (
function_exists($command)) $command($source,$params);
        elseif (
debugl("?< Unknown Command $command");
    }
    function 
fetch_and_wait() {
        global 
$c;
        
stream_set_timeout($c,1,0);
        
$res fgets($c10024);
        
$info stream_get_meta_data($c);
        if (
$info['timed_out']) return $c;
        
parse($res);
        return 
true;
    }
    function 
l($logline) {
        print 
"$logline\n";
    }
    function 
_ping($source$params) {
        
send("PONG $params");
    }
    function 
_notice($source$params) {
    }
    
?>

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #7  
ישן 23-10-2005, 13:08
צלמית המשתמש של phntm
  phntm phntm אינו מחובר  
 
חבר מתאריך: 09.04.04
הודעות: 34
בתגובה להודעה מספר 6 שנכתבה על ידי ישראל K שמתחילה ב "הצצתי לאחמ"כ בפונקציות..."

הקוד הוא תבנית כדי שיהיה קל להתחיל לבנות בוט שירוץ כתהליך ברקע כל כמעט כל שרת.
אני חושב שבגלל שכל התהליך הוא בוט לא חייבים לעשות אותו class אבל זה לא קשה להמיר את הקוד במבנה שלו.
הפוקנציות הריקות הם בשביל להראות איך להוסיף דברים לבוט, ושוב, זאת תבנית בלבד.
למשל אם אני רוצה לקבל הודעות מערוצים ומאנשים אני אוסיף פונקציה _privmsg.
הרבה אנשים ביקשו ממני הרבה פעמים להסביר איך לבנות תוכנית בPHP שתתחבר לIRC ולדעתי הקוד הזה עושה את זה לא רע.
אני מקווה שיהיה שימושי.

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 22:18

הדף נוצר ב 0.03 שניות עם 11 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2025 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר