Python IRC Client - PullRequest
       4

Python IRC Client

1 голос
/ 07 февраля 2010
import socket
from time import strftime

time = strftime("%H:%M:%S")

irc = 'irc.tormented-box.net'
port = 6667
channel = '#test'
sck = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sck.connect((irc, port))
print sck.recv(4096)
sck.send('NICK supaBOT\r\n')
sck.send('USER supaBOT supaBOT supaBOT :supaBOT Script\r\n')
sck.send('JOIN ' + channel + '\r\n')
while True:
    data = sck.recv(4096)
    if data.find('PING') != -1:
       sck.send('PONG ' + data.split() [1] + '\r\n')
    elif data.find ( 'PRIVMSG' ) != -1:
       nick = data.split ( '!' ) [ 0 ].replace ( ':', '')
       if data.find('!op') != -1:
       sck.send('MODE #test +o ' + nick + '\r\n')

Когда я пытаюсь использовать ник в IRC, я в конечном итоге работаю вместо того, чтобы дать + o другому пользователю, я не уверен, что мне нужно изменить в переменной "ник" Буду признателен, если кто-то может мне помочь .. спасибо.

Ответы [ 2 ]

3 голосов
/ 07 февраля 2010

Вам действительно нужно переосмыслить, как вы пытаетесь анализировать сообщения; как я могу сказать "ха-ха! opvned PRIVMSG", чтобы получить ops. (Для всех остальных: PRIVMSG является частью протокола IRC, о котором пользователи обычно не говорят.)

Тем не менее, я не вижу ошибки в вашем текущем коде, но вы изменили то, что вы на самом деле используете, когда вы отправили в SO (посмотрите, как отступ в последней строке неправильный, это не будет работать совсем). Вы случайно изменили что-то еще важное?

Установите себе какую-нибудь консоль отладки с необработанным IRC-трафиком; это будет очень ценно. Запись в простой файл работает (убедитесь, что вы сбросили его, а затем вы можете использовать «tail --follow», чтобы просмотреть его во время работы вашего бота). Затем вы можете добавить свои собственные сообщения отладки, которые помогут вам отладить подобные проблемы. (Например, вы должны включить repr (ник) и repr (данные), чтобы увидеть, что происходит.)

1 голос
/ 13 февраля 2010

Вас может заинтересовать проект Supybot, это бот IRC, написанный на Python, и очень легко создавать свои собственные плагины, большая часть этой дополнительной работы уже сделана для вас, так что вы можете просто беспокоиться о тех функциях, которые вы хотите.

G'Luck!

Supybot Sourceforge

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...