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 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
+ | |||
== Команды == | == Команды == | ||
Line 105: | Line 57: | ||
| !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 118: | Line 70: | ||
|- | |- | ||
| !define <word> || 0 || dict_plugin.py || Дает определение слову используя www.dict.org | | !define <word> || 0 || dict_plugin.py || Дает определение слову используя www.dict.org | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
− | + | ||
== Зависимости == | == Зависимости == | ||
− | * | + | * [[ru:Python]] |
− | * | + | * [[xmpppy]] |
+ | {{todo|доделать}} | ||
== Ответвления == | == Ответвления == | ||
На основе этого бота было сделано: | На основе этого бота было сделано: | ||
* [[FtpSpider]] — бот, который сообщает об изменениях на FTP сервере. | * [[FtpSpider]] — бот, который сообщает об изменениях на FTP сервере. | ||
+ | |||
+ | [[Category:Bot]] |