所以我開始從頭開始編寫一個簡單的程序Python的IRC機器人(即原始套接字),我試圖找出設計它的最佳途徑。做一個Python IRC機器人的正確方法?
平時我有一個大醇」,而()循環坐在那兒,推動從套接字接收數據到緩衝區,然後我將使用一個巨大的if/else語句通過字符串進行掃描(使用正則表達式)找出如何處理它。我有一種感覺,我不應該這樣做,因爲它感覺很糟糕。
我決定做正則表達式的字典及其關聯的含義,例如
regexes = {"^PING: (.+)": "incomming_ping",
"more regex": "more meanings"}
只是使用for/in循環來搜索文本並找出哪個正則表達式匹配它。我已經得到了這麼多,我第一個想到的就是「好吧,我可以讓每個'程序'在特定的正則表達式匹配到一個函數時被調用,並根據它的意義調用適當的函數。 m或者使用了一個大量的if/else語句,我不想這麼做,或者我可以使用某種Pythonic的'eval',它會立即觸發警鐘。
無論哪種方式我搞砸了,我想不出一種方法來完成面向對象的操作(目前我不打算這麼做,不要問爲什麼)。
有沒有想法?
這就是我怎麼https://github.com/mouuff/MouBot – mou 2012-10-13 20:48:59
我知道你「從零開始」之稱,但你可能想看看Supybot如果你還沒有。它用Python編寫,旨在進行擴展。 – 2012-12-30 11:50:51