Editing Neutron
From JaWiki (Jabber/XMPP wiki)
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 | {{Bot | ||
− | | | + | | name=Neutron |
− | | | + | | url=http://ejabberd.jabber.ru/neutron |
− | + | | language=[[Python]] | |
− | + | | library=[[xmpppy]] | |
− | | | + | | license=[[GPL]] |
− | | | + | | i18n=нет |
− | | | + | | disco=нет |
− | + | | plugins=да | |
− | + | | adhoc=нет | |
− | | | + | }}[[Category:Python]][[Category:Python_Bot]][[Category:xmpppy]][[Category:GPL]] |
− | | | + | Хороший бот на Python, умеющий опросы, rss-фиды, и много интересных вещей. Бот очень удобен для быстрого создания других ботов с нужной функциональностью. Можно достаточно легко расширить возможности плагинами. |
− | | | + | |
− | | | + | |
− | }} | + | |
− | + | ||
== Разделение прав == | == Разделение прав == | ||
− | В | + | В боте принят следующий метод разделения прав. Каждая команда имеет свой минимальный уровень доступа для запуска команды. Это число от 0 до 100. JID владельца получает уровень доступа 100, неизвестные JID-ы получают уровень доступа 0. Владелец может выставить любой уровень доступа для JID-а с помощью команды !set_access, он запоминтся и будет сохранятся через перезапуски. |
+ | |||
+ | Минимальный уровень доступа команд меняется через редактирование кода плагинов | ||
+ | |||
+ | Команда !commands использует установленный уровень доступа для JID-а и не показывает команды, которые пользователь не сможет запустить. | ||
− | |||
− | |||
== Плагины == | == Плагины == | ||
− | + | Распологаются в каталоге plugins. Каждый файл, это отдельный плагин. Чтобы запретить подгрузку какого-нибудь плагина, нужно изменить в нем первую строчку, она является индикатором, что его можно подгружать. | |
=== Официальные === | === Официальные === | ||
− | Плагины | + | Плагины access_plugin.py, admin.py, help_plugin.py обеспечивают минимальную функциональность (права, администрирование, справка). Без плагина presence_plugin.py не будет работать подписка. Остальные плагины можно удалять по необходимости. |
− | {| class="standard" | + | {| class="standard" border="1" cellspacing="0" |
! Имя файла || Использует<br/>Интернет || Описание | ! Имя файла || Использует<br/>Интернет || Описание | ||
|- | |- | ||
Line 38: | Line 36: | ||
| babel_plugin.py || да || Переводчик между языками. Использует внешние ресурсы для перевода. | | babel_plugin.py || да || Переводчик между языками. Использует внешние ресурсы для перевода. | ||
|- | |- | ||
− | | chat_plugin.py || нет || Простой чат с пользователем, если он обращается к боту | + | | chat_plugin.py || нет || Простой чат с пользователем, если он обращается к боту но не передает команду. По-умолчанию выключен. |
|- | |- | ||
| dict_plugin.py || да || Дает определение слову используя www.dict.org | | dict_plugin.py || да || Дает определение слову используя www.dict.org | ||
|- | |- | ||
− | | dns_plugin.py || да || Запрос в DNS | + | | dns_plugin.py || да || Запрос в [[ru:DNS|DNS]] |
|- | |- | ||
− | | domain_plugin.py || да || Запрос в базу данных | + | | domain_plugin.py || да || Запрос в базу данных [[ru:Whois|Whois]] |
|- | |- | ||
| eliza_plugin.py || нет || Чат-бот Элиза | | eliza_plugin.py || нет || Чат-бот Элиза | ||
Line 52: | Line 50: | ||
| freshmeat_plugin.py || да || Информация о программе на freshmeat.net | | freshmeat_plugin.py || да || Информация о программе на freshmeat.net | ||
|- | |- | ||
− | | google_plugin.py || да || Поиск слова, | + | | google_plugin.py || да || Поиск слова, JEP-а и проверка орфографии через google.com |
|- | |- | ||
| help_plugin.py || нет || Справка по командам | | help_plugin.py || нет || Справка по командам | ||
Line 68: | Line 66: | ||
| rss_plugin.py || да || Работа с RSS-фидами | | rss_plugin.py || да || Работа с RSS-фидами | ||
|- | |- | ||
− | | sg_plugin.py || нет || Собирает статистику с | + | | sg_plugin.py || нет || Собирает статистику с jabber-серверов по протоколу определенному в [http://www.xmpp.org/extensions/xep-0039.html XEP-0039] |
|- | |- | ||
| stock_plugin.py || да || Информация об акциях с finance.yahoo.com | | stock_plugin.py || да || Информация об акциях с finance.yahoo.com | ||
Line 74: | Line 72: | ||
| temperature_plugin.py || нет || Конвертирует температуру между шкалой Цельсия и шкалой Фаренгейта | | temperature_plugin.py || нет || Конвертирует температуру между шкалой Цельсия и шкалой Фаренгейта | ||
|- | |- | ||
− | | time_plugin.py || нет || Возвращает текущее время на компьютере | + | | time_plugin.py || нет || Возвращает текущее время на компьютере на котором запущен бот |
|- | |- | ||
− | | userinfo_plugin.py || нет || Возвращает | + | | userinfo_plugin.py || нет || Возвращает vcard пользователя и ответы на различные IQ-запросы |
|- | |- | ||
| vote_plugin.py || нет || Голосование | | vote_plugin.py || нет || Голосование | ||
Line 86: | Line 84: | ||
Каждая команда зависит от своего плагина, удаление плагина соответственно удаляет команду. Чтобы удалить избранную команду, не удаляя плагин целиком, откройте файл с плагином, найдите в конце строчку, которая её регистрирует в боте и закомментируйте её или повысьте минимальный уровень доступа до 100. | Каждая команда зависит от своего плагина, удаление плагина соответственно удаляет команду. Чтобы удалить избранную команду, не удаляя плагин целиком, откройте файл с плагином, найдите в конце строчку, которая её регистрирует в боте и закомментируйте её или повысьте минимальный уровень доступа до 100. | ||
− | {| class="standard" | + | {| class="standard" border="1" cellspacing="0" |
! Команда || Уровень доступа || Плагин || Описание | ! Команда || Уровень доступа || Плагин || Описание | ||
|- | |- | ||
Line 105: | Line 103: | ||
| !say <message> || 100 || admin_plugin.py.py || Послать сообщение в текущий чат/конференцию | | !say <message> || 100 || admin_plugin.py.py || Послать сообщение в текущий чат/конференцию | ||
|- | |- | ||
− | | !restart || 100 || admin_plugin.py.py || Перезапуск | + | | !restart || 100 || admin_plugin.py.py || Перезапуск |
|- | |- | ||
− | | !exit || 100 || admin_plugin.py.py || Выход | + | | !exit || 100 || admin_plugin.py.py || Выход |
|- | |- | ||
− | | !babel <from> <to> <phrase> || 0 || babel_plugin.py.py || Перевод используя | + | | !babel <from> <to> <phrase> || 0 || babel_plugin.py.py || Перевод используя Altavist BabelFish |
|- | |- | ||
| !translate <from> <to> <phrase> || 0 || babel_plugin.py.py || Перевод используя Translate.ru | | !translate <from> <to> <phrase> || 0 || babel_plugin.py.py || Перевод используя Translate.ru | ||
Line 119: | Line 117: | ||
| !define <word> || 0 || dict_plugin.py || Дает определение слову используя www.dict.org | | !define <word> || 0 || dict_plugin.py || Дает определение слову используя www.dict.org | ||
|- | |- | ||
− | | !dns <host/IP> || 0 || dns_plugin.py || Отправляет запрос на DNS | + | | !dns <host/IP> || 0 || dns_plugin.py || Отправляет запрос на DNS сервер и возвращает результат. |
|- | |- | ||
− | | !domain <domain> || 0 || domain_plugin.py || Отправляет запрос в базу данных | + | | !domain <domain> || 0 || domain_plugin.py || Отправляет запрос в базу данных Whois и возвращает результат. |
|- | |- | ||
| !element <code> || 0 || fact_plugin.py || Дает расшифровку коду химического элемента | | !element <code> || 0 || fact_plugin.py || Дает расшифровку коду химического элемента | ||
Line 127: | Line 125: | ||
| !tld <location/TLD> || 0 || fact_plugin.py ||Возвращает код страны или страну соответствующую коду | | !tld <location/TLD> || 0 || fact_plugin.py ||Возвращает код страны или страну соответствующую коду | ||
|} | |} | ||
− | + | ||
== Зависимости == | == Зависимости == | ||
− | * | + | * [[Python]] |
− | * | + | * [[xmpppy]] |
== Ответвления == | == Ответвления == | ||
На основе этого бота было сделано: | На основе этого бота было сделано: | ||
* [[FtpSpider]] — бот, который сообщает об изменениях на FTP сервере. | * [[FtpSpider]] — бот, который сообщает об изменениях на FTP сервере. |