總結下面的內容: 您需要獲取以下資訊才能成功連線到網路. 伺服器:用於連線IRC的伺服器的域名,如chat.freenode.net 埠:在大多數情況下,這是6667號,但如果你不確定,請檢查你自己的IRC客戶端或網路的網站. <unk>稱:你的機器人應該使用的<unk>稱. 記住一些特殊字元通常是不允許的 (@#!~). 標識:當有人執行WHOIS時, 標識欄位會出現在<unk>號後面: <unk>號!ident@hostname GECOS: 這一欄位通常包含使用者的真實名稱或機器人的一般描述, 但你可以把任何你想要的東西放在裡面. 頻道:你通常希望你的機器人能在一個或多個頻道中存在. 在大多數網路上, 它們的前<unk>是"#", 最基本的方法是根據上面的配置名稱命名一些變數. 但是現在我們只會堅持絕對必要的東西. 要做到這一點, 您需要在指定埠上開啟伺服器的插座. 您還應該在此部分新增一些錯誤處理程式碼以防連線因任何原因失敗. 在這種情況下,PHP為我們提供了一些很好的函式來有效處理錯誤. 這意味著提供您的<unk>號,身份和GECOS伺服器, 不註冊與NickServ. 接下來是運輸返回和newline. 您必須按照圖所示的準確執行, 因為這正是IRC協議規範RFC1459所規定的. 必須指定中間的兩個引數 (在這種情況下, * 和 8), 但它們被伺服器忽略. 這兩個只在連線的伺服器之間使用, 而不是直接連線的客戶端. 如果不使用迴圈, 指令碼會立即終止, 為了保持連線, 你必須從伺服器上獲取資料, 檢查流中的任何輸入, 使用socket_read() 來獲取我們可用的任何資料. 如果有,我們會繼續做任何事情. 也可以將原始資料輸出到控制檯, 這很重要. 如果您不及時響應ping, 伺服器將斷開您的連線. 讓我們先處理這個問題. 伺服器傳送的ping是這樣的:ping:rajaniemi.freenode.net. 伺服器不需要在':'後加名字, 它可以提供任何它想要的. 你必須重複伺服器所說的, 我們有一個機器人連線到網路並響應ping, 對於人們看到和使用你的機器人, 它應該在一個<unk>道 (否則你必須告訴它回覆私人訊息). 為了做到這一點, 我們將檢查伺服器狀態程式碼376或422 376表示 MOTD (當天的訊息) 完成. 422表示沒有任何MOTD傳送. 伺服器在您連線時傳送的 MOTD, 但它是我們何時開始連線<unk>道的好指標. 你需要發出一個JOIN命令. 這個命令可以被一個或多個通道用逗號隔開. 需要注意的是, 伺服器所傳送的資料被空格劃分. 這樣我們就可以將資料分成兩部分, 並使用陣列索引來引用它. 現在是有趣的部分. 你的機器人加入了頻道, 讓我們建立一個名為 @moo 的示例命令. 注意訊息開始的偏移 (這適用於<unk>道和私人訊息). 它總是在同一個地方. 您可以通過將塊資料重新拼接 ($d) 來處理包含空格的命令. 這超出了這篇文章的範圍. 如果目標是一個<unk>道 (如#botters-test), 如果是私人資訊, 這部分將是你的機器人的<unk>稱! 你必須使用發件人的<unk>稱來回復, 而不是自己的<unk>稱 (否則你會和自己說話, 這只是愚蠢的). 您可以使用上述實現新增許多新功能. 許多其他命令可以傳送到IRC網路,  摘要:
收集連線的詳細資訊. 在指令碼中初始化配置. 連線到網路. 登記你的機器人. 使用迴圈從插座獲取資料. 寫一個ping處理器. 加入你的頻道. 響應<unk>道的訊息. 擴充套件你的機器人.