Python IRC Client

1
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, я в конечном итоге оперирую себя Вместо того, чтобы давать другому другому пользователю, я не уверен, что мне нужно изменить в переменной "nick". Я Я буду признателен, если кто-то может мне помочь.. спасибо.

Теги:

2 ответа

3
Лучший ответ

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

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

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

1

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

G'Luck!

Supybot Sourceforge

Ещё вопросы

Сообщество Overcoder
Наверх
Меню