Editing FtpSpider
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 2: | Line 2: | ||
| name=FtpSpider | | name=FtpSpider | ||
| url=[http://mediazona.ru/forum/index.php?automodule=blog&blogid=164&showentry=5022 запись в блоге] | | url=[http://mediazona.ru/forum/index.php?automodule=blog&blogid=164&showentry=5022 запись в блоге] | ||
− | | language= | + | | language=[[Python]] |
− | | library= | + | | library=[[xmpppy]] |
− | | license= | + | | license=[[GPL]] |
| i18n=да | | i18n=да | ||
| disco=нет | | disco=нет | ||
| plugins=да | | plugins=да | ||
| adhoc=нет | | adhoc=нет | ||
− | }} | + | }}[[Category:Python]][[Category:Python_Bot]][[Category:xmpppy]][[Category:GPL]] |
− | Бот является ответвлением (форком) [[Neutron|Нейтрона]]. Основное предназначение | + | |
+ | Бот является [[fork|ответвлением]] (форком) [[Neutron|Нейтрона]]. Основное предназначение — следить за деревом файлов на определенном [[FTP]]-сервере и сообщать пользователями о тех изменениях, которые их интересуют. | ||
Исходный код можно получить из [https://svn.jrudevels.org/ftpspider/ SVN-репозитария] или скачать [http://jrudevels.org/index.php?pg=downloads.php&dir=ftpspider стабильную версию]. | Исходный код можно получить из [https://svn.jrudevels.org/ftpspider/ SVN-репозитария] или скачать [http://jrudevels.org/index.php?pg=downloads.php&dir=ftpspider стабильную версию]. | ||
== Алгоритм == | == Алгоритм == | ||
− | Бот работает по следующему алгоритму: периодически производится сканирование FTP-сервера | + | Бот работает по следующему алгоритму: периодически производится сканирование FTP-сервера -- создается снимок дерева файлов. Далее определяется разница по сравнению с предыдущим снимком. Из этой разницы для каждого пользователя отдельно выбираются интересующие его изменения и полученный отчет отправляется на его [[JID]]. |
Сам бот состоит из двух частей: | Сам бот состоит из двух частей: | ||
* Первая часть является постоянно запущенным ботом, созданным на основе бота neutron. Он принимает команды, общается с пользователями, сохраняет настройки и рассылает отчеты. | * Первая часть является постоянно запущенным ботом, созданным на основе бота neutron. Он принимает команды, общается с пользователями, сохраняет настройки и рассылает отчеты. | ||
− | * Вторая часть | + | * Вторая часть -- многопоточный FTP сканер. Он создает снимок, высчитывает разницу и статистику и полученные данные отправляет боту. |
Line 25: | Line 26: | ||
== Команды == | == Команды == | ||
=== Работа со списками === | === Работа со списками === | ||
− | * '''list''' | + | * '''list''' -- просмотреть списки. (Include -- то, что интересно. Exclude -- то что надо пропустить) |
− | * '''add''' | + | * '''add''' -- добавить полный URL или его часть в список Include |
− | * '''exclude''' | + | * '''exclude''' -- добавить полный URL или его часть в список Exclude |
− | * '''del''' | + | * '''del''' -- удалить адрес. Можно указать сам URL или его номер из !list |
− | * '''clear (all, include, exclude)''' | + | * '''clear (all, include, exclude)''' -- очистить все или какой-то из фильтров отдельно. |
=== Личные предпочтения === | === Личные предпочтения === | ||
− | * '''show''' | + | * '''show''' -- в каком виде высылать url: |
− | ** unquoted | + | ** unquoted -- неэкранированный |
− | ** quoted | + | ** quoted -- экранированный (по-умолчанию) |
− | ** full | + | ** full -- полный (по-умолчанию) |
− | ** path | + | ** path -- только путь без сервера |
− | * '''mode''' | + | * '''mode''' -- в каком виде вы предпочитаете получать информацию: |
− | ** message | + | ** message -- простое сообщение |
− | ** chat | + | ** chat -- в чате (по-умолчанию) |
− | ** headline | + | ** headline -- как новость (должен поддерживать клиент) |
− | * '''filter''' | + | * '''filter''' -- тип информации: |
− | ** add | + | ** add -- то, что добавленно (по-умолчанию) |
− | ** del | + | ** del -- то, что удалено |
− | ** all | + | ** all -- и то и другое |
=== Работа со статистикой === | === Работа со статистикой === | ||
− | * '''stats''' | + | * '''stats''' -- показать статистику, собранную во время последнего обхода, и режим вашей подписки на неё |
− | * '''stats <param>''' | + | * '''stats <param>''' -- изменить режим подписки: |
− | ** full | + | ** full -- получать полную статистику, как её показывает !stats без параметров |
− | ** brief | + | ** brief -- получать сокращенный вариант |
− | ** none | + | ** none -- не получать статистику (по-умолчанию) |
=== Помощь === | === Помощь === | ||
− | * '''commands''' | + | * '''commands''' -- список команд |
− | * '''help''' | + | * '''help''' -- справка с примерами |
=== Остальное === | === Остальное === | ||
− | * '''quote''' | + | * '''quote''' -- экранировать переданный адрес (один!) |
− | * '''unquote''' | + | * '''unquote''' -- разэкранировать переданные адреса (сколько угодно) |
− | * '''test''' | + | * '''test''' -- выслать пример сообщения и статистики для проверки настроек команд !mode, !filter, !show, !stats |
− | * '''unregister''' | + | * '''unregister''' -- удалить себя из базы и больше ничего не получать |
== FtpSpider и FtpInfo == | == FtpSpider и FtpInfo == | ||
− | Бот по сути является | + | Бот по сути является "серверной" реализацией известной программы [http://www.ftpinfo.ru/ FtpInfo], точнее не её полностью, а той части, которая показывает изменения на FTP. Принцип работы тот же самый, но данная серверная реализация имеет следующие плюсы и минусы по сравнению с клиентской: |
Плюсы: | Плюсы: | ||
Line 74: | Line 75: | ||
* Нельзя запустить сканирование вручную когда хочется. | * Нельзя запустить сканирование вручную когда хочется. | ||
− | Кроме того, я не учитываю, что у программы FtpInfo есть другие возможности, которых пока нет у бота: поиск в | + | Кроме того, я не учитываю, что у программы FtpInfo есть другие возможности, которых пока нет у бота: поиск в просканиированных файлах и т.п. |
== Смотри также == | == Смотри также == | ||
Line 83: | Line 84: | ||
* [https://svn.jrudevels.org/ftpspider/ репозитарий] | * [https://svn.jrudevels.org/ftpspider/ репозитарий] | ||
* [http://jrudevels.org/index.php?pg=downloads.php&dir=ftpspider стабильные версии] | * [http://jrudevels.org/index.php?pg=downloads.php&dir=ftpspider стабильные версии] | ||
+ | |||
+ | [[Category:Bot]] |