dcj-linker, Трансляция общего чата и (или) лички с dc++ хаба в Jabber и обратно. |
Здравствуйте, гость ( Вход | Регистрация )
dcj-linker, Трансляция общего чата и (или) лички с dc++ хаба в Jabber и обратно. |
20.10.2010, 19:16
Сообщение
#1
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
Трансляция общего чата и (или) лички с dc++ хаба в Jabber и обратно. Скрипт является универсальным (т.е. рабоатет на всех хабах), написан на perl под unix/linux.
Для работы требуются сам perl, и модули Net::DirectConnect, Net::Jabber, String::SetUTF8, Text::Iconv и IPC::ShareLite для него. В текущей версии (0.1) реализованы следующие возможности: отправка сообщений в общий чат dc-хаба из jabber и обратно; отправка личных сообщений из jabber конкретным пользователям на хабе и обратно; добавление неограниченного числа пользователей для трансляции чата/лички; включение/отключение чата/лички для каждого пользователя по отдельности; В личке у dc/jabber бота доступны следующие команды: !help - данная справка !info - о программе !ping - поросто проверка, жив ли бот !mycfg - просмотреть свои настройки !savecfg - сохранить конфиг в файл !loadcfg - загрузить конфиг из файла Последние две - только для хозяина бота. Конфиг пользователя включает в себя следующие параметры: dc_user = Имя_юзера_на_хабе jid = jabber-логин@jabber.server chat = 1 (включить/отключить трансляцию общего чата хаба в jabber) pm = 1 (включить/отключить трансляцию лички с хаба в jabber) dc_offline = 1 (пока не реализовано) Если указана единица (1) - опция включена, ноль (0) - отключена. Если включена личка (pm=1), можно отправлять ЛС, используя специальный формат. Чтобы отправить личку с dc-хаба кому-нибудь в jabber, необходимо в приват jabber-бота отправить сообщение вида: "<юзер> сообщение" (без кавычек), а чтобы отправить ЛС из jabber кому-нибудь на dc-хаб, нужно использовать такой формат: "юзер: сообщение" (без кавычек). Хозяин бота может отправлять из jabber'а команды хаб-ботам (т.е. сообещение без префикса "<юзер>"). Например, чтобы отправить команду !help хаб-боту Security из jabber'а, нужно использовать следующую конструкцию: !bot Security !help Конфиг каждого пользователя записывается в конфигурационный файл dcj-linker.conf (находится рядом с самим скриптом) (каждый юзер в новой строке) в следующем виде: < user="Имя_юзера_на_хабе" jid="jabber-login@jabber.server" chat="1" pm="1" dc_offline="1" > Замечания. Команда !savecfg Вам не должна понадобиться, сделана она на будущее. Напротив, !loadcfg может пригодиться после изменения файла конфигурации при работающем скрипте, например, при добавлении нового пользователя или изменении каких-либо параметров. В этом случае, перезапуск скрипта не понадобится. Чтобы данный скрипт корректно работал с русскоязычными никами (или другими, не составленных из латинских букв, цифр и некоторых других символов), необходимо подправить установленный модуль Net::DirectConnect. Для этого найдите файл "DirectConnect.pm", например, у меня он находится здесь: "/usr/lib64/perl5/vendor_perl/5.8.8/Net/DirectConnect.pm". Откройте его в любом текстовом редакторе и найдите строку next unless /\w/; измените "\w" на "\S": next unless /\S/; После этого кириллические ники должны будут работать нормально. Ниже представлен пример конфигурационного файла dcj-linker.conf с некоторыми комментариями. # Конфигурационный файл скрипта dcj-linker. # Настройки #Адрес хаба dc_host=127.0.0.1 #Порт хаба dc_port=411 #Имя бота на хабе bot_name=JabberBot #Пароль бота на хабе bot_pass=botpassword #Описание бота на хабе bot_description=Соединяю всё хорошее:-) #Почтовый адрес бота bot_email=jabberbot@e-mail.server #Логин и сервер хозяина jabber-бота j_admin_login=adminjbot j_admin_server=jabber.server #Ник хозяина бота на хабе dc_admin_bot=AdminJBot #Логин, сервер, порт, пароль, ресурс бота на jabber сервере jbot_username=jabberbot jbot_server=jabber.server jbot_port=5222 jbot_password=jbotpassword jbot_resource=www.dcadmins.org #Максимальное число попыток подключения к хабу dc_reconnect=7 #Пауза между попытками подключения к хабу dc_reconnect_timeout=4 #Максимальное число попыток подключения к jabber серверу j_reconnect=7 #Пауза между попытками подключения к jabber серверу j_reconnect_timeout=4 #Кодировка, используемая на хабе dchub_code=cp1251 #Кодировка в jabber (всегда utf8) jabber_code=utf8 #Ники ботов на хабе, для отправки им сообщений (команд) без префиксов hub_bot=Security hub_bot=OpChat # База юзеров < user="AdminJBot" jid="adminjbot@jabber.server" chat="1" pm="1" dc_offline="1" > < user="user" jid="user@jabber.server" chat="1" pm="1" dc_offline="0" > dcj_linker_v0.1.7z ( 6.5 килобайт ) Кол-во скачиваний: 22 Сообщение отредактировал Saymon21 - 19.2.2012, 0:17 |
|
|
20.10.2010, 20:39
Сообщение
#2
|
|
Белый Волк Группа: Пользователи Сообщений: 1 723 Регистрация: 11.9.2008 Из: г.Томск Пользователь №: 516 Спасибо сказали: 657 раз |
Осталось только скрипт ещё добавить, и всё будет хорошо..
|
|
|
20.10.2010, 20:45
Сообщение
#3
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
|
|
|
23.10.2010, 22:37
Сообщение
#4
|
|
Абсолютный новичок Группа: Пользователи Сообщений: 1 Регистрация: 21.10.2010 Пользователь №: 7 932 Спасибо сказали: 0 раз |
Спс, полезная фишка
|
|
|
|
Сейчас: 23.11.2024, 1:49 |