Difference between revisions of "JabberBot"

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search
(новая библиотека :))
 
m (Reverted edits by 199.119.142.171 (talk) to last revision by Cblp.su)
 
(5 intermediate revisions by 5 users not shown)
Line 1: Line 1:
==Описание==
+
{{Library
'''JabberBot''' -- маленькая библиотека на [[Python]], оболочка для [[xmpppy]], которая позволяет быстро и легко создавать маленьких ботов, выполняющих одну задачу, но делающих это хорошо. Томасу Перлу (Thomas Perl), автору этого проекта, идея пришла после изучения примера для библиотеки xmpppy. Он решил доделать код и оформить его в виде класса, упростив таким образом создание простых ботов.
+
|            name=JabberBot
 +
|              url=http://thpinfo.com/2007/python-jabberbot/
 +
|          author=Thomas Perl
 +
|        language={{Lang|l|Python}}
 +
|          license=GNU GPLv3
 +
|          roster=да
 +
}}
  
 +
'''JabberBot''' — маленькая [[библиотека]] на [[Python]], оболочка для [[xmpppy]], которая позволяет быстро и легко создавать маленьких ботов, выполняющих одну задачу, но делающих это хорошо. Томасу Перлу (Thomas Perl), автору этого проекта, идея пришла после изучения примера для библиотеки xmpppy. Он решил доделать код и оформить его в виде класса, упростив таким образом создание простых ботов.
  
 
== Использование ==
 
== Использование ==
  
 +
Краткая инструкция:
 
# Импортируйте библиотеку: from jabberbot import JabberBot
 
# Импортируйте библиотеку: from jabberbot import JabberBot
 
# Наследуйте класс JabberBot в своем классе
 
# Наследуйте класс JabberBot в своем классе
# Добавьте методы начинающиеся с bot_, это будущие команды бота. (например, метод def bot_displayid( self, mess, args)); вызывается командой displayid и должен вернуть или строку, которая потом будет отправлена пользователю или None)
+
# Добавьте методы начинающиеся с bot_, это будущие команды бота.
# Создайте экземпляр своего класса, передав JID и пароль в качестве параметров
+
#: Например, метод bot_displayid(self, mess, args) вызывается командой displayid и должен вернуть или строку, которая потом будет отправлена пользователю, или None.
# Вызовите метод serve_forever()
+
# Создайте экземпляр своего класса, передав [[JID]] и пароль в качестве параметров.
 +
# Вызовите метод serve_forever().
 
# С помощью метода send() вы можете отправлять сообщения отдельным пользователям.
 
# С помощью метода send() вы можете отправлять сообщения отдельным пользователям.
  
==Пример==
+
== Пример ==
 
+
  
 
  from jabberbot import JabberBot
 
  from jabberbot import JabberBot
Line 47: Line 55:
 
http://thpinfo.com/2007/python-jabberbot/jabberbot-screenshot.png
 
http://thpinfo.com/2007/python-jabberbot/jabberbot-screenshot.png
  
==Зависимости ==
+
== Зависимости ==
 +
 
 
* [[xmpppy]]
 
* [[xmpppy]]
  
 
==Ссылки==
 
==Ссылки==
 +
 
* [http://thpinfo.com/2007/python-jabberbot/ Сайт]
 
* [http://thpinfo.com/2007/python-jabberbot/ Сайт]
[[Category:Library]][[Category:Python_Library]]
 

Latest revision as of 23:01, 20 December 2016

JabberBot
Информация
Адрес: http://thpinfo.com/2007/python-jabberbot/
Автор: Thomas Perl
Язык: Python
Лицензия: GNU GPLv3
Реализация стандартов
Ростер: да
Использование
Программы, использующие JabberBot

JabberBot — маленькая библиотека на Python, оболочка для xmpppy, которая позволяет быстро и легко создавать маленьких ботов, выполняющих одну задачу, но делающих это хорошо. Томасу Перлу (Thomas Perl), автору этого проекта, идея пришла после изучения примера для библиотеки xmpppy. Он решил доделать код и оформить его в виде класса, упростив таким образом создание простых ботов.

Использование[edit]

Краткая инструкция:

  1. Импортируйте библиотеку: from jabberbot import JabberBot
  2. Наследуйте класс JabberBot в своем классе
  3. Добавьте методы начинающиеся с bot_, это будущие команды бота.
    Например, метод bot_displayid(self, mess, args) вызывается командой displayid и должен вернуть или строку, которая потом будет отправлена пользователю, или None.
  4. Создайте экземпляр своего класса, передав JID и пароль в качестве параметров.
  5. Вызовите метод serve_forever().
  6. С помощью метода send() вы можете отправлять сообщения отдельным пользователям.

Пример[edit]

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()

Пример работы:

jabberbot-screenshot.png

Зависимости[edit]

Ссылки[edit]