Документация DBHub - Написание скриптов на Perl |
Здравствуйте, гость ( Вход | Регистрация )
Документация DBHub - Написание скриптов на Perl |
20.10.2010, 18:08
Сообщение
#1
|
|
Наруто на аваторке Группа: Пользователи Сообщений: 2 606 Регистрация: 11.10.2008 Из: Харькова Пользователь №: 771 Спасибо сказали: 774 раза |
DB Hub принимает скрипты, написанные на перле. Для примера - смотрите скрипты. О том как программировать на перле, можете посомтреть здесь www.perl.com или здесь www.perldoc.com.
Все файлы в директории ".dbhub/scripts" с именами, заканчивающимися на ".pl" воспринимаются как скрипты во время запуска хаба и каждый раз при использовании команды !reloadscripts. Делая скрипты, полезно запускать хаб с опцией -d, что направит вывод хаба в консоль. Если Вы сделаете ошибки в скрипте, некоторые ошибки интерпертатора перл будут выведены в консоль, что может оказать существенную помощь в отладке. как только будеьте уверены, что скрипт работает как надо, можете запускать хаб как обычно в фоне. Опция -d толкьо для теста, поскольку некоторые специальные символы в $Lock или $Key псоледовательностях могут сделать терминал не пригодным. Ниже следует описание событий и функций, которые можно использовать в скриптах ( function(arg_1, arg_2, ..., arg_n) ). Аргумент - ник пользователя, представляется в виде строки. added_perm_ban(string banentry); Срабатывает, когда добавляется запись в banlist. added_temp_ban(string banentry, int time); Срабатывает, когда временный бан добавляется в banlist. Время бана выражено в секундах. added_perm_allow(string allowentry); Срабатывает, когда добавляется запись в allowlist. added_temp_allow(string allowentry, int time); Срабатывает, когда добавляется временная запись в allowlist. Время выражено в секундах. added_perm_nickban(string allowentry); Срабатывает, когда добавляется запись в nickbanlist. added_temp_nickban(string banentry int time); Срабатывает, когда добавляется временная запись в nickbanlist. Время выражено в секундах. kicked_user(string kicked_user, string kicking_user); Срабатывает, когда был кикнут пользователь. kicked_user - тот, кто был кикнут, а kicking_user - тот, кто кикнул. added_registered_user(string nick); Срабатывает, когдадобавляется запись в reglist о зарегистрированном пользователе. added_multi_hub(string hostname, int port); Срабатывает, когда подлинкованный хаб добавляется в linklist. started_redirecting(string hostname); Срабатывает, когда администратор перенаправляет всех пользователей. mass_message(string message); Срабатывает, когда администратор отправляет массовое сообщение (приватное сообщение всем). started_serving(); Срабатывает, когда запускается хаб. multi_hub_data_chunk_in(string data); Срабатывает, когда получены данные с подлинкованного хаба. attempted_connection(string hostname); Срабатывает, когда кто-то пытается подключиться к хабу. data_arrival(user_t user, string data); Срабатывает, когда пользователь посылает данные хабу, вероятно, одна из самых полезных функций. admin_connected(user_t user); Срабатывает, когда ADMIN заходит на хаб. chef_connected(user_t user); Срабатывает, когда CHEEF заходит на хаб. op_connected(user_t user); Срабатывает, когда OP заходит на хаб. kvip_connected(user_t user); Срабатывает, когда KVIP заходит на хаб. vip_connected(user_t user); Срабатывает, когда VIP заходит на хаб. reg_connected(user_t user); Срабатывает, когда REG заходит на хаб. prot_connected(user_t user); Срабатывает, когда PROTECTED заходит на хаб. new_user_connected(user_t user); Срабатывает, когда REGULAR заходит на хаб, т.е. после отправки $MyINFO хабу. user_disconnected(string nick); Срабатывает, когда пользователь уходит с хаба. hub_timer(); Срабатывает каждые ALARM_TIME секунд, по умолчанию параметр установлен в 15 минут. ------------------------------------------------------------------------------- Здесь представлены доступные функции выполняемые на виртуальном объекте odch. Тип user_t такой же как и в событиях выше. Эти функции используются для получения пользовательских атрибутов. string odch::get_ip(user_t user); Возвращает IP адрес пользователя как строку. string odch::get_hostname(user_t user); Возвращает имя хоста пользователя. string odch::get_version(user_t user); Возвращает версию клиента пользователя. string odch::get_description(user_t user); Возвращает описание пользователя. string odch::get_email(user_t user); Возвращает email пользователя. int odch::get_connection(user_t user); Возвращает тип соединения пользователя как целое число, соответственно: 28.8: 1, 33.6: 2, 56: 3, Satellite: 4 ISDN: 5, DSL: 6, Cable: 7, LAN(T1): 8, LAN(T3): 9. int odch::get_flag(user_t user); Возвращает флаг пользователя. int odch::get_share(user_t user); Возвращает величину шары пользователя в байтах. int odch::check_if_banned(user_t user); Возвращает 1, если пользователь в банлисте (banlist), и 0, если нет. int odch::check_if_allowed(user_t user); Возвращает 0, если пользователь находится в allowlist, и 0, если нет. odch::check_if_registered(string nick); Проверяет наличие ника в реглисте (reglist). Возвращает 0, если пользователя там нет, 1 если он PROTECTED, 2 если REG, 3 если VIP, 4 если KVIP, 5 если OP, 6 если CHEEF, 7 если ADMIN, и 8 если OWNER. ------------------------------------------------------------------------------- Функции для взаимодействия с пользователями. odch::data_to_user(user_t user, string data); Отправляет данные пользователю, например, личное сообщение: $To Nickname From: Scriptname $<scriptname> Message.| Примечание, это raw команда, клиенты не обрабатывают команду, если она не заканчивается на "|". odch::kick_user(user_t user); Кикнуть пользователя. odch::force_move_user(user_t user, string ip); Отправяет команду перенаправления пользователя, где ip - IP адрес или имя хоста, куда пользователь должен будет соедениться. ------------------------------------------------------------------------------- Эти функции используются для получения и изменения переменных конфиг файла. var odch::get_variable(string variable_name); Возвращает значение переменной из конфиг файла. Переменная может быть как числом так и строкой, взависимости от запрашиваемой переменной. Помимо переменных в конфиг файле, этой функцией можно получить ещё три переменных: working_dir, hub_uptime и total_share. working_dir - путь к корню хаба. По умолчанию, это домашняя директория пользователя. hub_uptime - аптайм хаба в секундах. total_share - величина всей шары на хабе в байтах. odch::set_variable(string variable, string value); Задаёт значение переменной в конфиг файле. Даже если типа переменной - число, необходимо посылать значение как строку, например: set_variable("max_users", "800"); ------------------------------------------------------------------------------- Функции для добавления и удаления записей из списков. odch::add_ban_entry(string banentry); Добавляет запись в banlist. odch::add_nickban_entry(string banentry); Добавляет запись в nickbanlist. odch::remove_ban_entry(string banentry); Удаляет запись из banlist. odch::remove_nickban_entry(string banentry); Удаляет запись из nickbanlist. odch::add_allow_entry(string allowentry); Добавляет запись в allowlist. odch::remove_allow_entry(string allowentry); Удаляет запись из allowlist. odch::add_reg_user(string nick, string password, int type); Добавляет аккаунт в reglist. Тип 0 для обычных зарегистрированных пользователей, 1 для OP, и 2 для OP Admins (OP с доступом к администраторским командам в чате). odch::remove_reg_user(string nick); Удалить пользователя из reglist. ------------------------------------------------------------------------------- Различные функции для взаимодействия с хабом. odch::data_to_all(string data); Отправить данные всем пользователям пользователям, например, сообщение в чате: <Botname> Message.| int odch::count_users(); Возвращает число подключенных к хабу пользователей. string odch::get_user_list(); Возвращает всех пользователей на хабе разделённых пробелами. odch::register_script_name(string nick); Регистрирует 'nick' как ник скрипта в никлисте, так пользователи смогу отправлять личное сообщение скрипту. Ник добавится в reglist со случайным паролем. Примечание, запись в реглисте не будет удалена после того, как скрипт будет выгружен или хаб остановится, это нужно будет делать в ручную. ------------------------------------------------------------------------------- Будте осторожны вводя odch имена функций, т.к. если Вы ошибётесь, вы не получите никакой информации об этом, и скрипт не будет работать. |
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
ВАЖНО: Вопросы Разработчикам Скриптов вопросы по скриптам (мелкие вопросы) |
1 049 | Wariner | 998 521 | 3.2.2019, 12:51 Посл. сообщение: MIKHAIL | |
ВАЖНО: Модули для скриптов RusHub | 26 | Setuper | 45 542 | 21.3.2017, 17:31 Посл. сообщение: Alexey | |
От: Вопросы Разработчикам Скриптов От темы с ID: 173 |
0 | MIKHAIL | 4 356 | 23.1.2015, 0:56 Посл. сообщение: MIKHAIL | |
От: Установка скриптов От темы с ID: 5657 |
0 | MIKHAIL | 4 824 | 29.7.2014, 23:37 Посл. сообщение: MIKHAIL | |
Установка скриптов Нужна помощь по установке |
2 | _wRz_ | 7 351 | 29.7.2014, 16:11 Посл. сообщение: Артём | |
От: Вопросы Разработчикам Скриптов От темы с ID: 173 |
29 | Wariner | 26 179 | 28.1.2014, 13:11 Посл. сообщение: Alexey | |
Ищу специалиста на позицию Perl (Lua) developer Московское представительство американской софтверной компании приглаша |
0 | Katteia | 5 862 | 25.10.2012, 15:33 Посл. сообщение: Katteia | |
Единая платформа для скриптов Обсуждения вопроса создания единой платформы скриптов |
5 | Enyby | 9 100 | 18.1.2012, 20:15 Посл. сообщение: Setuper | |
Переделка скриптов Прошу помощи |
47 | Fe(one)X | 41 679 | 26.12.2011, 15:04 Посл. сообщение: Ksan | |
Вопросы Разработчикам Скриптов с SQL вопросы по скриптам (мелкие вопросы) |
101 | Wariner | 62 998 | 6.12.2011, 0:34 Посл. сообщение: Enyby | |
ВАЖНО: Метод Быстрого Перевода Скриптов Под API_1 Самостоятельный быстрый перевод из API_2 ---> в API_1 |
30 | Setuper | 51 439 | 14.8.2011, 21:16 Посл. сообщение: Олешка | |
конфиг dbhub /u |
8 | Lamo | 14 587 | 14.8.2011, 7:36 Посл. сообщение: Lamo | |
От: Переделка скриптов От темы с ID: 4941 |
6 | Ksan | 9 748 | 12.8.2011, 11:33 Посл. сообщение: Ksan | |
пингер на perl . |
0 | Lamo | 8 149 | 5.8.2011, 23:30 Посл. сообщение: Lamo | |
ВАЖНО: Запросы Скриптов Ваши идеи по разработке скриптов под HeXHuB |
36 | Setuper | 49 672 | 16.5.2011, 9:40 Посл. сообщение: ANDRBEST |
|
Сейчас: 23.12.2024, 8:12 |