myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> 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


Спасибо сказали:
Go to the top of the page
+Quote Post
Ksan
сообщение 20.10.2010, 20:39
Сообщение #2


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Осталось только скрипт ещё добавить, и всё будет хорошо..
Go to the top of the page
+Quote Post
Артём
сообщение 20.10.2010, 20:45
Сообщение #3


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 606
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 774 раза




Цитата(Ksan @ 20.10.2010, 20:39) *
Осталось только скрипт ещё добавить, и всё будет хорошо..

так лучше? big_smile.gif
Забылся просто))
Go to the top of the page
+Quote Post
cronyx
сообщение 23.10.2010, 22:37
Сообщение #4


Абсолютный новичок


Группа: Пользователи
Сообщений: 1
Регистрация: 21.10.2010
Пользователь №: 7 932
Спасибо сказали: 0 раз




Спс, полезная фишка big_smile.gif
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Сейчас: 23.11.2024, 1:49