2009-07-08 2 views
10

Я хочу построить бот, который в основном выполняет следующие действия:IRC Python Bot: Лучший способ

  1. Слушает в комнату и взаимодействует с пользователями и побудит их PM бот.
  2. Как только пользователь подключил бот к клиенту, используя различные методы ИИ.

Должен ли я использовать библиотеку IRC или Sockets в python или мне нужно больше рамки бота.

Что вы хотите сделать?

Спасибо!

Вот код, который я использую в настоящее время, однако, я не получил его на работу.

#!/usr/bin/python 
import socket 
network = 'holmes.freenet.net' 
port = 6667 
irc = socket.socket (socket.AF_INET, socket.SOCK_STREAM) 
irc.connect ((network, port)) 
irc.send ('NICK PyIRC\r\n') 
irc.send ('USER PyIRC PyIRC PyIRC :Python IRC\r\n') 
irc.send ('JOIN #pyirc\r\n') 
irc.send ('PRIVMSG #pyirc :Can you hear me?\r\n') 
irc.send ('PART #pyirc\r\n') 
irc.send ('QUIT\r\n') 
irc.close() 
+2

Я близок к завершению пакета IRC для Python, который может помочь вам. Я буду иметь его здесь: http://ircutils.evanfosmark.com/ –

+0

Удивительный! Благодаря! Я буду помнить об этом! –

ответ

12

Используйте Twisted или Asynchat, если хотите иметь нормальный дизайн. Можно просто сделать это с помощью сокетов, но зачем делать это с нуля?

+0

Я только что проверил Twisted и нашел его в разделе IM. Спасибо за ссылку. С чем именно помогает Асинчат? –

+0

Сетевой код. – Unknown

7

Если вы хотите иметь методы искусственного интеллекта участвуют, то я предлагаю вам посмотреть на AIML пакет для Python. Это та же самая технология, что и боты ALICE.

+1

Спасибо, что подняли голову на пакете AIML! –

2

Я сделал (очень дрянной, и в течение длительного времени реорганизован) IRC bot используя irclib. Документация не соответствует действительности, но она избавляет вас от необходимости делать все, что сокет подключения и т. Д., Что я не хочу иметь дело. К каждому его собственное, хотя.

2

Используйте существующую библиотеку IRC вместо того, чтобы выполнять протокол самостоятельно.

5

Если вы хотите создать часть ИИ, зачем вообще писать весь код, необходимый для подключения IRC?

Предлагаю использовать SupyBot, и просто напишите свой AI-код в качестве плагина для него. Существует достаточно понятная документация и множество примеров кода для поиска. Кроме того, он поставляется с приличным количеством плагинов для всех видов использования, которые могут дополнять ваш ИИ.

3

Как я ответив ~ 2 лет спустя, я пишу это только для Googlers :-P

Просто попробуйте мой «Еще еще один бесполезный IRC Bot» здесь https://github.com/julienpalard/yauib позволяет вам кодировать каждую особенность бота используя любой язык, который вы хотите.

Смежные вопросы