cron [bot] запуск команд

Здесь обсуждаются графические оболочки, боты, языковые файлы и другие дополнения к CommFort 4.
Fantomas
Сообщения: 8
Зарегистрирован: 22:27, 18.09.2008

cron [bot] запуск команд

Сообщение Fantomas »

Бот-приложение для запуска комманд (сообщение в канал, смена темы и т.д.) по расписанию
Первая тестовая версия
Конфигурационный файл (cron.txt) состоит из строк, каждая из которых описывает команду, которая будет запускаться по расписанию. Каждая строка состоит из 6 полей, поля отделяются друг от друга пробелом. Поля имеют следующее назначение:

1. Минуты (0-59)
2. Часы (0-23)
3. День месяца (1-31)
4. Месяц в году (1-12)
5. День недели (1-7)
6. Команда, которая будет запущена

Каждое из первых 5 полей может быть записано несколькими способами:

1. Символом * (означает любое значение)
2. Списком через запятую (1,2,3)
3. Диапазоном через тире (1-31)
4. Шагом значений диапазона (например */2 означает через_раз)
Команды:
comm_msg('канал', 'текст') - опубликовать сообщение
comm_status('канал', 'статус') - опубликовать состояние
comm_ban(тип_ограничения, тип_идентификации, тип_анонимности, время_бана, 'идентификация', 'канал', 'причина')

Типы ограничения:
0 - Запретить доступ к чату;
1 - Запретить доступ к каналу;
2 - Запретить публикацию в канале;
3 - Запретить публикацию картинок;
4 - Запретить публикацию объявлений.

Типы идентификации:
0 - учётная запись;
1 - IP-адрес;
2 - диапазон IP-адресов (пример: 192.168.0.0-192.168.0.255).

Типы анонимности:
0 - обычное ограничение;
1 - анонимное ограничение.

Идентификация:
учётная запись либо IP-адрес, либо диапазон IP-адресов

comm_theme('канал', 'тема') - смена темы канала

comm_welcome('канал', 'приветствие') - смена приветствия

comm_privatemsg('пользователь', 'ip', 'текст') - опубликовать сообщение в приват

comm_privatestatus('пользователь', 'ip', 'статус') - опубликовать соостояние в приват

comm_privateclose('пользователь', 'ip') - закрыть приват

comm_channelclose('канал') - закрыть канал

comm_channelcreate(режим, 'канал') - создать канал
Режимы:
0 - не отображать в списке каналов (вход для всех);
1 - отображать в списке каналов (вход для всех);
2 - не отображать в списке каналов (вход только по приглашению);
3 - отображать в списке каналов (вход только по приглашению).
скачать: http://multi-up.com/22156/
Аватара пользователя
Hell_Excalibur
Сообщения: 570
Зарегистрирован: 16:17, 24.10.2007
Откуда: Оттуда :)
Контактная информация:

Re: cron [bot] запуск команд

Сообщение Hell_Excalibur »

Тема, завтра попробую утром, эх жаль без перезагрузки сервера никак :( Убьют за рестарт...
Подпись...
Аватара пользователя
ЯROSLOVE
Сообщения: 404
Зарегистрирован: 05:04, 12.01.2008
Откуда: Владивосток

Re: cron [bot] запуск команд

Сообщение ЯROSLOVE »

Извиняюсь, но не работает. Не понятно вообще - подключается бот или только пытается, никакого интерфейса нет или лога. Пробовал ежеминутные сообщения вывести - тишина полная.
И вопрос по папке data, что это?
Fantomas
Сообщения: 8
Зарегистрирован: 22:27, 18.09.2008

Re: cron [bot] запуск команд

Сообщение Fantomas »

ЯROSLOVE писал(а):Извиняюсь, но не работает. Не понятно вообще - подключается бот или только пытается, никакого интерфейса нет или лога. Пробовал ежеминутные сообщения вывести - тишина полная.
И вопрос по папке data, что это?
Если зеленая иконка в трее, значит работает.
Покажите вашу запись в файле cron.txt
Аватара пользователя
Padonag
Сообщения: 240
Зарегистрирован: 03:53, 11.09.2008
Откуда: Хабаровский край
Контактная информация:

Re: cron [bot] запуск команд

Сообщение Padonag »

работает ...но вот отсутсвие интерфейса нерадует...чтобы исправить челибо надо вырубать бота и править файлик..
Добрый герой - тупая сволочь. Он не способен оценить размах замысла злого гения
Fantomas
Сообщения: 8
Зарегистрирован: 22:27, 18.09.2008

Re: cron [bot] запуск команд

Сообщение Fantomas »

Padonag писал(а):работает ...но вот отсутсвие интерфейса нерадует...чтобы исправить челибо надо вырубать бота и править файлик..
не надо вырубать
Fantomas
Сообщения: 8
Зарегистрирован: 22:27, 18.09.2008

Re: cron [bot] запуск команд

Сообщение Fantomas »

ЯROSLOVE писал(а):И вопрос по папке data, что это?
там небольшой интерпретатор, например чтобы бот выводил каждые 5 минут новую цитату с сайта баш.орг.ру в канал main можно написать такой скриптик:

Код: Выделить всё

<?
$url = 'http://bash.org.ru/rss';
$hndl = fopen($url, 'r');
$contents = '';
while (!feof($hndl)) {
  $contents .= fread($hndl, 8192);
}
fclose($hndl);
preg_match_all("/<title>(.*?)<\/title>/", $contents, $titles, PREG_PATTERN_ORDER);
preg_match_all("/<description><!\[CDATA\[(.*?)\]\]><\/description>/", $contents, $desc, PREG_PATTERN_ORDER);
$i=rand(0, count($titles[1]));
$desc[1][$i]=str_replace('<br>', chr(13), $desc[1][$i]);
comm_msg('main', htmlspecialchars_decode($desc[1][$i]));
?>
сохранить его в папку с программой под названием bash.txt и в cron.txt вписать такую строчку:

Код: Выделить всё

*/5 * * * * require_once('bash.txt')
LLV
Сообщения: 1
Зарегистрирован: 20:20, 10.09.2008

Re: cron [bot] запуск команд

Сообщение LLV »

Fantomas, как сделать чтобы было несколько RSS лент и они менялись с помощью темы канала.
т.е есть 3 адресса:

http://bash.org.ru/rss
http://img.lenta.ru/r/EX/import.rss
http://www.securitylab.ru/_Services/Export/RSS/

и в зависимости от темы bash.org.ru, lenta.ru, securitylab.ru... включались эти ленты?
Аватара пользователя
CraSTI
Сообщения: 89
Зарегистрирован: 20:08, 03.02.2006
Откуда: Орехово-зуево
Контактная информация:

Re: cron [bot] запуск команд

Сообщение CraSTI »

а все понял понял!!! +)))))
Аватара пользователя
CraSTI
Сообщения: 89
Зарегистрирован: 20:08, 03.02.2006
Откуда: Орехово-зуево
Контактная информация:

Re: cron [bot] запуск команд

Сообщение CraSTI »

LLV писал(а):Fantomas, как сделать чтобы было несколько RSS лент и они менялись с помощью темы канала.
т.е есть 3 адресса:

http://bash.org.ru/rss
http://img.lenta.ru/r/EX/import.rss
http://www.securitylab.ru/_Services/Export/RSS/

и в зависимости от темы bash.org.ru, lenta.ru, securitylab.ru... включались эти ленты?
я думаю можно сделать так. Создать текстовик в нем написать.

Код: Выделить всё

<?
$url = 'http://img.lenta.ru/r/EX/import.rss';    --------- ССЫЛКУ
$hndl = fopen($url, 'r');
$contents = '';
while (!feof($hndl)) {
  $contents .= fread($hndl, 8192);
}
fclose($hndl);
preg_match_all("/<title>(.*?)<\/title>/", $contents, $titles, PREG_PATTERN_ORDER);
preg_match_all("/<description><!\[CDATA\[(.*?)\]\]><\/description>/", $contents, $desc, PREG_PATTERN_ORDER);
$i=rand(0, count($titles[1]));
$desc[1][$i]=str_replace('<br>', chr(13), $desc[1][$i]);
comm_msg('КАНАЛ', htmlspecialchars_decode($desc[1][$i]));     ----------- КАНАЛ
?>
а в cron дописать

Код: Выделить всё

*/5 * * * * require_once('ИМЯ_ФАЙЛА')
кстати если хочешь сделать рамку для RSS редактируй след.
открой скрипт для RSS дальше найди строку

Код: Выделить всё

comm_msg('КАНАЛ', htmlspecialchars_decode($desc[1][$i]));
и сверху и снизу напиши типа

Код: Выделить всё

comm_msg('КАНАЛ', '*****************');
получается:

Код: Выделить всё

comm_msg('КАНАЛ, '*****************');
comm_msg('КАНАЛ', htmlspecialchars_decode($desc[1][$i]));
comm_msg('КАНАЛ', '*****************');
Результат:
[0:22:02] Пряничек (N/A): *****************
[0:22:02] Пряничек (N/A): miks: где твой роут джек?
jack: and don't you come back no more no more no more
[0:22:02] Пряничек (N/A): *****************
MARVELtm
Сообщения: 134
Зарегистрирован: 14:14, 28.08.2008

Re: cron [bot] запуск команд

Сообщение MARVELtm »

хорошую прогромуленку смастерили, спасибо! есть тока одно "но" =) хотелось бы файл cron.txt изменять не отключая бота(и вообще бот ли это :!: ) , т.е. прям из клиента! (допустим в привате)
Аватара пользователя
ЯROSLOVE
Сообщения: 404
Зарегистрирован: 05:04, 12.01.2008
Откуда: Владивосток

Re: cron [bot] запуск команд

Сообщение ЯROSLOVE »

Перепробовал кучу портов, бот согласен работать только на изначально забитым в ини порту.
* * * * * comm_msg('main', 'Всем привет!') - по идее должен ежеминутно выводить сообщение. Молчит падонак.
Аватара пользователя
ЯROSLOVE
Сообщения: 404
Зарегистрирован: 05:04, 12.01.2008
Откуда: Владивосток

Re: cron [bot] запуск команд

Сообщение ЯROSLOVE »

Заработал бот с пятого перезапуска. Вообще, на 4-м комфорте почти все боты и плагины работают непредсказуемо. Низкий поклон и слова благодарности Fantomasу - незаменимая и очень нужная вещь его бот.
Аватара пользователя
CraSTI
Сообщения: 89
Зарегистрирован: 20:08, 03.02.2006
Откуда: Орехово-зуево
Контактная информация:

Re: cron [bot] запуск команд

Сообщение CraSTI »

ЯROSLOVE писал(а):Перепробовал кучу портов, бот согласен работать только на изначально забитым в ини порту.
* * * * * comm_msg('main', 'Всем привет!') - по идее должен ежеминутно выводить сообщение. Молчит падонак.
Я понял. вроде как работает пока что все получается
Стоит 3 бота Мафия Бот с поддержкой плагинов + плагины (OpenSource)--ПОГОДА Cron


Нет, работает все нормально !!!!!

Код: Выделить всё

* * * * * comm_msg('test', 'тест')
----------------доп. инфа.------------------------------
Да, есть проблема с запуском стольких ботов не без этого:)
1.Cron ругался сильно когда я его кинул в папку на другом диск путь такой -d:\commfort\comm_cron- отказывался запусть скрипт баш.орг
-Решение проблемы положил на диск C:\comm_cron Заработал
2.Cron ругался на порты так как не может работать с ботом который выдавал погоду
-Решение проблемы я созда копию UDPAddons.ini и назвал ее 1UDPAddons.ini
затем выставляю порты: файл UDPAddons.ini работал у меня с comm_cron с портом 44445 а файл 1UDPAddons.ini работал с ботом погоды с портом 6556 затем в боте погоды выставляю настройку на файл 1UDPAddons.ini и бот погоды будет работать отдельно не кому не мешая:)
Viper
Сообщения: 13
Зарегистрирован: 16:04, 29.06.2007

Re: cron [bot] запуск команд

Сообщение Viper »

Благодарю тебя ДОБРЫЙ человек!!!!! как раз то что мне нужно!!!!!
Вот сейчас набиваю бота чтобы он каждый день выводил какой праздник, прикольно будет, кто захочет потом скину!!!
Закрыто