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: | ||
− | + | * Веб-сайт: http://ejabberd.jabber.ru/neutron | |
− | + | * Язык программирования: [[Python]] | |
− | + | * Jabber-библиотека: [[xmpppy]] | |
− | + | ---- | |
− | + | Хороший бот на 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" | ||
− | ! Имя файла || Использует | + | ! Имя файла || Использует Интернет || Описание |
|- | |- | ||
| access_plugin.py || нет || Системный плагин. Управляет уровнем доступа пользователей. | | access_plugin.py || нет || Системный плагин. Управляет уровнем доступа пользователей. | ||
Line 38: | Line 29: | ||
| 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 || нет || Чат-бот Элиза | ||
|- | |- | ||
| fact_plugin.py || нет || Расшифровка кода страны и кода химического элемента | | fact_plugin.py || нет || Расшифровка кода страны и кода химического элемента | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
+ | |||
== Команды == | == Команды == | ||
Line 105: | Line 65: | ||
| !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 79: | ||
| !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 87: | ||
| !tld <location/TLD> || 0 || fact_plugin.py ||Возвращает код страны или страну соответствующую коду | | !tld <location/TLD> || 0 || fact_plugin.py ||Возвращает код страны или страну соответствующую коду | ||
|} | |} | ||
− | + | ||
== Зависимости == | == Зависимости == | ||
− | * | + | * [[ru:Python]] |
− | * | + | * [[xmpppy]] |
+ | {{todo|доделать}} | ||
== Ответвления == | == Ответвления == | ||
На основе этого бота было сделано: | На основе этого бота было сделано: | ||
* [[FtpSpider]] — бот, который сообщает об изменениях на FTP сервере. | * [[FtpSpider]] — бот, который сообщает об изменениях на FTP сервере. | ||
+ | |||
+ | [[Category:Bot]] |