Editing Neutron

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search

Warning: The database has been locked for maintenance, so you will not be able to save your edits right now. You may wish to copy and paste your text into a text file and save it for later.

The administrator who locked it offered this explanation: MediaWiki upgrading

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
{{Bot
+
* Веб-сайт: http://ejabberd.jabber.ru/neutron
|            name = Neutron <!-- название -->
+
* Язык программирования: [[Python]]
|            logo = <!-- логотип -->
+
* Jabber-библиотека: [[xmpppy]]
<!--      Общая информация          -->
+
----
|              url = [http://ejabberd.jabber.ru/neutron ejabberd.jabber.ru/neutron] <!-- адрес -->
+
Хороший бот на Python, умеющий опросы, rss-фиды, и много интересных вещей. Бот очень удобен для быстрого создания других ботов с нужной функциональностью. Можно достаточно легко расширить возможности плагинами.  
|        language = {{Lang|b|Python}} <!-- язык -->
+
|          library = {{Lib|xmpppy}} <!-- jabber-библиотека -->
+
|          license = {{GPL}} <!-- лицензия -->
+
|        developer = [http://mikemintz.com/ Майк&nbsp;Минтц (Mike&nbsp;Mintz)] <!-- разработчик -->
+
<!--       Характеристики  -->
+
|            i18n = нет <!-- мультиязычность -->
+
|            disco = нет <!-- информация в диско -->
+
|            adhoc = нет <!-- Ad-Hoc команды -->
+
|          plugins = да <!-- расширяется ли он плагинами -->
+
}}
+
'''Neutron''' - бот на [[Python]], умеющий проводить опросы, показывать [[RSS]]-фиды, а также ряд других действий. Удобен для быстрого создания других ботов с нужной функциональностью. Функциональность может быть легко расширена плагинами.  
+
  
 
== Разделение прав ==
 
== Разделение прав ==
В управлении ботом принят следующий метод разделения прав. Каждая команда имеет свой минимальный уровень доступа для запуска команды. Это число от 0 до 100. [[JID]] владельца получает уровень доступа 100, неизвестные JID-ы получают уровень доступа 0. Владелец может выставить любой уровень доступа для JID-а с помощью команды <tt>!set_access</tt>, он запоминается и будет сохраняться после перезапуска бота.
+
В боте принят следующий метод разделения прав. Каждая команда имеет свой минимальный уровень доступа для запуска команды. Это число от 0 до 100. JID владельца получает уровень доступа 100, неизвестные JID-ы получают уровень доступа 0. Владелец может выставить любой уровень доступа для JID-а с помощью команды !set_access, он запоминтся и будет сохранятся через перезапуски.  
  
Минимальный уровень доступа команд меняется через редактирование кода плагинов.
+
Команда !commands использует установленный уровень доступа для JID-а и не показывает команды, которые пользователь не сможет запустить.  
 
+
Команда <tt>!commands</tt> использует установленный уровень доступа для JID-а и не показывает команды, которые пользователь не сможет запустить.
+
  
 
== Плагины ==
 
== Плагины ==
Располaгаются в каталоге <tt>plugins</tt>. Каждый файл — это отдельный плагин. Чтобы запретить подгрузку какого-нибудь плагина, нужно изменить в нём первую строчку, она является индикатором, что его можно подгружать.
 
  
 
=== Официальные ===
 
=== Официальные ===
Плагины <tt>access_plugin.py</tt>, <tt>admin.py</tt>, <tt>help_plugin.py</tt> обеспечивают минимальную функциональность (права, администрирование, справка). Без плагина <tt>presence_plugin.py</tt> не будет работать подписка. Остальные плагины можно удалять по необходимости.
 
 
 
{| class="standard"
 
{| class="standard"
! Имя файла || Использует<br/>Интернет || Описание  
+
! Имя файла || Использует интернет || Описание  
 
|-
 
|-
| access_plugin.py || нет || Системный плагин. Управляет уровнем доступа пользователей.
+
| access_plugin.py || нет || Системный плагин. Управляет уровнем доступа пользователей
 
|-
 
|-
| admin_plugin.py || нет || Функции администратора бота.
 
|-
 
| babel_plugin.py || да || Переводчик между языками. Использует внешние ресурсы для перевода.
 
|-
 
| chat_plugin.py || нет || Простой чат с пользователем, если он обращается к боту, но не передает команду. По умолчанию выключен.
 
|-
 
| dict_plugin.py || да || Дает определение слову используя www.dict.org
 
|-
 
| dns_plugin.py || да || Запрос в DNS
 
|-
 
| domain_plugin.py || да || Запрос в базу данных WHOIS
 
|-
 
| eliza_plugin.py || нет || Чат-бот Элиза
 
|-
 
| fact_plugin.py || нет || Расшифровка кода страны и кода химического элемента
 
|-
 
| freshmeat_plugin.py || да || Информация о программе на freshmeat.net
 
|-
 
| google_plugin.py  || да || Поиск слова, [[XEP]]-а и проверка орфографии через google.com
 
|-
 
| help_plugin.py || нет || Справка по командам
 
|-
 
| log_plugin.py || нет || Записывает все сообщения в лог файлы в формате HTML
 
|-
 
| presence_plugin.py || нет || Отвечает на запросы подписки и отправляет свои
 
|-
 
| python_plugin.py || нет || Выполнение Python и Shell команд
 
|-
 
| query_plugin.py || нет || Запросы и заполнение локальной базы определений
 
|-
 
| quote_plugin.py || да || Возвращает случайную цитату или фортунку
 
|-
 
| rss_plugin.py || да || Работа с RSS-фидами
 
|-
 
| sg_plugin.py || нет || Собирает статистику с Jabber-серверов по протоколу определенному в [http://www.xmpp.org/extensions/xep-0039.html XEP-0039]
 
|-
 
| stock_plugin.py || да || Информация об акциях с finance.yahoo.com
 
|-
 
| temperature_plugin.py || нет || Конвертирует температуру между шкалой Цельсия и шкалой Фаренгейта
 
|-
 
| time_plugin.py || нет || Возвращает текущее время на компьютере, на котором запущен бот
 
|-
 
| userinfo_plugin.py || нет || Возвращает [[vCard]] пользователя и ответы на различные [[iq|iq-запросы]]
 
|-
 
| vote_plugin.py || нет || Голосование
 
|-
 
| weather_plugin.py || да || Погода
 
 
|}
 
|}
  
 
== Команды ==
 
== Команды ==
Каждая команда зависит от своего плагина, удаление плагина соответственно удаляет команду. Чтобы удалить избранную команду, не удаляя плагин целиком, откройте файл с плагином, найдите в конце строчку, которая её регистрирует в боте и закомментируйте её или повысьте минимальный уровень доступа до 100.
 
 
 
{| class="standard"
 
{| class="standard"
 
! Команда || Уровень доступа || Плагин || Описание  
 
! Команда || Уровень доступа || Плагин || Описание  
Line 97: Line 32:
 
| !set_access <jid> <level> || 100 || access_plugin.py || Установить уровень доступа для указанного JID-а
 
| !set_access <jid> <level> || 100 || access_plugin.py || Установить уровень доступа для указанного JID-а
 
|-
 
|-
| !join <groupchat> [nick] || 100 || admin_plugin.py.py || Войти в конференцию
 
|-
 
| !leave [groupchat] || 100 || admin_plugin.py.py || Покинуть конференцию
 
|-
 
| !msg <jid> <message> || 100 || admin_plugin.py.py || Послать сообщение на указанный JID
 
|-
 
| !say <message> || 100 || admin_plugin.py.py || Послать сообщение в текущий чат/конференцию
 
|-
 
| !restart || 100 || admin_plugin.py.py || Перезапуск
 
|-
 
| !exit || 100 || admin_plugin.py.py || Выход
 
|-
 
| !babel <from> <to> <phrase> || 0 || babel_plugin.py.py || Перевод используя Altavista BabelFish
 
|-
 
| !translate <from> <to> <phrase> || 0 || babel_plugin.py.py || Перевод используя Translate.ru
 
|-
 
| !esperanto <phrase> || 0 || babel_plugin.py.py || Перевод фразы с эсперанто на английский используя lingvo.org
 
|-
 
| !babelize <from> <trought> <phrase> || 0 || babel_plugin.py.py || Перевод фразы туда обратно.
 
|-
 
| !define <word> || 0 || dict_plugin.py || Дает определение слову используя www.dict.org
 
|-
 
| !dns <host/IP> || 0 || dns_plugin.py || Отправляет запрос на DNS-сервер и возвращает результат.
 
|-
 
| !domain <domain> || 0 || domain_plugin.py || Отправляет запрос в базу данных WHOIS и возвращает результат.
 
|-
 
| !element <code> || 0 || fact_plugin.py || Дает расшифровку коду химического элемента
 
|-
 
| !tld <location/TLD> || 0 || fact_plugin.py ||Возвращает код страны или страну соответствующую коду
 
 
|}
 
|}
{{todo|список сделан не до конца}}
+
 
 
== Зависимости ==
 
== Зависимости ==
* Интерпретатор языка [[Python]]
+
* [[ru:Python]]
* Библиотека [[xmpppy]]
+
* [[xmpppy]]
 +
{{todo|доделать}}
  
 
== Ответвления ==
 
== Ответвления ==
 
На основе этого бота было сделано:  
 
На основе этого бота было сделано:  
 
* [[FtpSpider]] &mdash; бот, который сообщает об изменениях на FTP сервере.
 
* [[FtpSpider]] &mdash; бот, который сообщает об изменениях на FTP сервере.
 +
 +
[[Category:Bot]]

Please note that all contributions to JaWiki (Jabber/XMPP wiki) may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see JaWiki (Jabber/XMPP wiki):Copyrights for details). Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)