Difference between revisions of "JabberBot"
From JaWiki (Jabber/XMPP wiki)
m (мелочи, мелкие исправления) |
m |
||
Line 3: | Line 3: | ||
| url=http://thpinfo.com/2007/python-jabberbot/ | | url=http://thpinfo.com/2007/python-jabberbot/ | ||
| author=Thomas Perl | | author=Thomas Perl | ||
− | | language=Python | + | | language={{Lang|l|Python}} |
| license=GNU GPLv3 | | license=GNU GPLv3 | ||
| roster=да | | roster=да | ||
Line 62: | Line 62: | ||
* [http://thpinfo.com/2007/python-jabberbot/ Сайт] | * [http://thpinfo.com/2007/python-jabberbot/ Сайт] | ||
− | |||
− | |||
− | |||
− |
Revision as of 12:05, 8 July 2009
JabberBot | |
---|---|
Информация | |
Адрес: | http://thpinfo.com/2007/python-jabberbot/ |
Автор: | Thomas Perl |
Язык: | Python |
Лицензия: | GNU GPLv3 |
Реализация стандартов | |
Ростер: | да |
Использование | |
Программы, использующие JabberBot |
JabberBot — маленькая библиотека на Python, оболочка для xmpppy, которая позволяет быстро и легко создавать маленьких ботов, выполняющих одну задачу, но делающих это хорошо. Томасу Перлу (Thomas Perl), автору этого проекта, идея пришла после изучения примера для библиотеки xmpppy. Он решил доделать код и оформить его в виде класса, упростив таким образом создание простых ботов.
Contents
Использование
Краткая инструкция:
- Импортируйте библиотеку: from jabberbot import JabberBot
- Наследуйте класс JabberBot в своем классе
- Добавьте методы начинающиеся с bot_, это будущие команды бота.
- Например, метод bot_displayid(self, mess, args) вызывается командой displayid и должен вернуть или строку, которая потом будет отправлена пользователю, или None.
- Создайте экземпляр своего класса, передав JID и пароль в качестве параметров.
- Вызовите метод serve_forever().
- С помощью метода send() вы можете отправлять сообщения отдельным пользователям.
Пример
from jabberbot import JabberBot import datetime class SystemInfoJabberBot(JabberBot): def bot_serverinfo( self, mess, args): """Displays information about the server""" version = open('/proc/version').read().strip() loadavg = open('/proc/loadavg').read().strip() return '%s\n\n%s' % ( version, loadavg, ) def bot_time( self, mess, args): """Displays current server time""" return str(datetime.datetime.now()) def bot_rot13( self, mess, args): """Returns passed arguments rot13'ed""" return args.encode('rot13') def bot_whoami( self, mess, args): """Tells you your username""" return mess.getFrom() username = 'my-jabberid@jabberserver.example.org' password = 'my-password' bot = SystemInfoJabberBot(username,password) bot.serve_forever()
Пример работы: