myDC.ru

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

 
История благодарностей участнику Vizunchik. Спасибо сказали: 93
Дата поста: В теме: За сообщение: Спасибо сказали:
21.1.2012, 22:18 Мафия
игра Мафия для Verlihub

Название: mafia v.1.069
Автор: dimajak
Перевод под Verlihub: Vizunchik
Протестировано удачно на версии: Verlihub 1.0.0 build Fri Jan 06 2012
Оригинальный скрипт под PtokaX: http://mydc.ru/index.html?showtopic=4764&a...ost&p=38119
Описание:
Известная психологическая игра "Мафия".
При отсутствии какой-либо помощи, однозначных ответов по вопросам правил игры, их реализации и пр. придумал свои правила, простейшие, т.е. Мирные, Мафия и Комиссар. Процентное соотношение настраивается в скрипте.
Также настраиваются временные интервалы для регистрации в игру, для голосования.
Баллы за игру суммируются и сохраняются в файл. В данном варианте победившая команда получает по 10 баллов.
Надо будет пересмотреть, например, проголосовавший за "посадку" другого игрока получает 1 балл, оставшиеся в живых +5.

Большое Спасибо Setuper за помощь с переводом
KT315, CrazyKiller, dimajak
11.1.2012, 22:44 TopicChanger
Управление топиком | АвтоТопик

Название скрипта: TopicChanger
Версия скрипта: 1.1
Автор: Tsd
Дата: 07.03.2011
Перевод под Verlihub: Vizunchik
Протестировано удачно на версии: Verlihub 1.0.0 build Fri Jan 06 2012
Описание скрипта: Скрипт меняет топик хаба.
1. Основная функция - в полночь просматривает таблицу с праздниками, если находит, то меняет топик из таблицы.
2. Если не находит - выводит в топик описание хаба из настроек, при этом если появилось сообщение в чате от пользователей - меняет топик с выводом общего подсчёта сообщений в чате.
3. Если был выставлен топик кем-то (поздравления с днём рождения и т.п.) - топик не меняется до полуночи.
4. Если топик удалён - топик меняется с выводом общего подсчёта сообщений в чате.
5. Количество сообщений записывается в файл.
6. Праздники в таблице отредактируйте сами под свою страну, в таблице основные Российские и Латвийские.

Что необходимо перед запуском скрипта:
Создаём папку MessCount в папке scripts PtokaX.
Я создал вручную файл MessCount.dat в папке MessCount, хотя может и не нужно, как утверждает Ksan (aka Trans).
nafig
16.12.2011, 18:51 HubBanner
Графический баннер хаба
Код
cd /usr/ports
make search key="graphics/gd"
npocToNIK
10.12.2011, 0:45 Голосование "Опросы"
Скрипт для проведения опросов

Название: Голосование "Опросы"
Версия: 1.5
Автор: Madman
Русский перевод: dimetrius
Перевод под Verlihub: Vizunchik
Протестировано удачно на версии: Verlihub 1.0.0 build dom dic 04 2011
Описание: Скрипт создаёт Опрос или Голосование
Некоторые фишки скрипта:
Есть возможность юзеру выбрать несколько вариантов ответа!
При создании нового опроса каждый подключенный участник получает личное сообщение с предложением проголосовать
Если опрос создан ранее, а человек только сейчас подключился, то он так же получает уведомление с предложением проголосовать
Вы всегда сможете узнать чего хотят от вас ваши пользователи
dj_crazy_joker
7.12.2011, 21:10 Скрипт антимат и антиреклама с базой в Mysql
Есть маленькое предложение. Просто я сам не достаточно силён для этого.
Скрипт антимат и антиреклама с базой в Mysql
Проверяет Чат/Лички/Ники/
Отдельной таблицей для матов, рекламы, и запретов для ника + исключения для мата рекламы и ников
Возможности скрипта настраиваемые в самом скрипте
1) Постоянный бан
2) Временный бан на N часов минут итд
3) За определенное предупреждение бан + сообщение проходит в чат и заменяется именно запрещённое слово
+ с отправкой в ОпЧат сама сообщение и отдельно выделение найденного запрещённого слово, например в скобках
4) можно просто оповещение в ОпЧат

Новинки покажу через примеры
Добавляем мы слово например через команду " !antiaddmat слово " но в мускул будет добавляться расширенное по типу [CcСс][LlлЛ][ОоОо][VvВв][ОоОо]
также и антиреклама
также и удаление запретов и исключений
Данный скрипт облегчит управление стрипта кто сидит через удалёнку
darkangel17, CrazyKiller
3.12.2011, 0:23 HubBanner
Графический баннер хаба

Название: HubBanner
Версия: 2.01
Автор: alex82
Перевод под Verlihub: Vizunchik
Для работы скрипта требуются:1)Библиотека Lua-GD; 2)Apache (или любой другой веб-сервер)
Описание: Скрипт генерирует изображение, содержащее информацию о количестве юзеров на хабе, общей шаре, времени работы хаба, и.т.д.

Раскрывающийся текст










KT315, CrazyKiller, npocToNIK, wolf night, dj_crazy_joker
28.11.2011, 19:02 Скрипт приветствия Motd
Скрипт приветствия Motd

Название скрипта: welcome
Версия скрипта: 1.3
Автор: Vizunchik
Библиотека:Для работы нужен плагин Stats от Verlihub
Основан на данном скрипте http://mydc.ru/topic5001.html
Описание: Скрипт выдаёт при входе юзеру информацию о хабе и его данные как ник ип шара. Так же есть возможность выводить данную статистику с помощью команды через меню.


Настройки скрипта:
Код
--Ниже находится то, что можно настраивать
local sOnUserLogin = false            -- Отпровляет информаций при входе юзеру( false запретить / true разрешишь)
local sMenu = "Меню хаба"            -- Название меню
local sMenuOn = false                -- Включить либо Выключить Меню ( false - Выключить / true - Включить)
local sMenuMinClass = 0                -- Минимальный класс пользователей, которым доступен меню 0,1,2,3,4,5,10
local sOnStatsPlugin = true            -- Используете ли вы плагин Stats( false - нет / true - да)
local sMenuCmd = "stathab"            -- Команда для вывода приветствия
local sAdminContact = "Email: Укажите в настройках"    -- Контактные данные которые будут в приветствии

iSetup = {-- Ниже укажите дату "рождения" вашего хаба
    year = 2010,    --[[ Год ]]        month = 2,    --[[ Месяц ]]
    day = 24,        --[[ День ]]    hour = 23,    --[[ Часы ]]
    min = 45,        --[[ Минуты ]]    sec = 00    --[[ Секунды ]]
}
--Выше находится то, что можно настраивать

Пример выводящего сообщения
Код
    ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
    ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ Добро пожаловать на хаб ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
    ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
    ¤ Название хаба:                « Ufanet DC++ »
    ¤ Владелец хаба:                « Akvilon »
    ¤ Описание хаба:                « Локальный хаб для абонентов ОАО Ufanet »
    ¤ Категория хаба:                « Всё в одном »
    ¤ Топик хаба:                « Общее количество сообщений чата: 8036 »
    ¤ Возраст хаба:                « 1 год 10 месяцев 21 день 5 часов 40 минут  »
    ¤ Последний рестарт хаба:            « 08.01.2012    18:44:31  »
    ¤ Непрерывное время работы хаба:        « 7 дней 17 часов 41 минута  »
    ¤ Контактные данные с Администрацией:    « Email: Укажите в настройках »
    ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
    ¤ Время на сервере :            « 12:25:32    Сегодня: 16.01.2012 »
    ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
    ¤ Сейчас на хабе:                « 36 / 149 Пользователей(ля) »
    ¤ Всего пользователей:            « 149 было 2012.01.09. - 21:12:16 »
    ¤ Сейчас шара хаба:            « 19,36 TB / 33,82 TB »
    ¤ Всего шара:                « 33,82 TB было 2012.01.09. - 18:11:54 »
    ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
    ¤ Ваш Ник:                « Akvilon »            
    ¤ Ваш IP адрес:                « 10.8.3.5 »
    ¤ Ваша Шара:                « 19,47 GB »
    ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
Nickolya, CrazyKiller, Romchik
3.11.2011, 22:40 TopSeach
Скрипт ведёт статистику поисковых запросов.

Название скрипта: TopSeach
Версия скрипта: 2.1
Автор: Wariner
Перевод под Verlihub: Vizunchik
Описание: Скрипт ведёт статистику поисковых запросов. Можно посмотреть как общий топ, так и топ по категориям(музыка, архивы и т.д.)
dj_crazy_joker
25.10.2011, 0:31 Dalliance ; старое название "Anekdot+BashOrg"
Скрипт выдаёт Анекдоты , Цитаты с с BashOrg , Интересные факты .

Название скрипта: dalliance ; старое "Anekdot+BashOrg"
Версия скрипта: 2.0
Автор: Vizunchik
Библиотека: для работы скрипта требуется библиотека LuaSocket
Описание: Скрипт выдаёт через меню случайные анекдоты и цитаты с башорга, а также автоматический выводит в чат по определённому времени.
Подправил:
  • Словесный "понос" в анекдотах
  • Вывод анекдотов оформил
  • И мелкие штрихи в самом коде
  • 17.10.2011
  • Добавил сообщение о том что проблемы с получением анекдота либо цитаты
  • И удалил не нужное
  • Обновил до 2.0
  • Исправил вывод башорга
  • Добавил интересные факты


Настройки скрипта:
Код
--Ниже находится то, что можно настраивать
local sBotName = ""                    -- Имя бота. Если "" то имя основного бота хаба.
local sMenu = "Меню хаба"            -- Название меню
local sMenuOn = false                -- Включить либо Выключить Меню ( false - Выключить / true - Включить)
local sMinClass = 0                    -- Минимальный класс пользователей, которым доступен меню
local sCmdAnekdot = "анекдот"        -- команда для вывода Анекдотов
local sCmdBashOrg = "башорг"        -- команда для вывода Цитат с BashOrg
local sCmdFacts = "факты"            -- команда для вывода Интересных Фактов
local sAnekdotMaxTimer = 60*5        -- Минимальный интервал запросов (в секундах)
local sBashOrgMaxTimer = 60*5        -- Минимальный интервал запросов (в секундах)
local sFactsMaxTimer = 60*5            -- Минимальный интервал запроса Интересных Фактов (в секундах)
local sAnekdotChatPM = true            -- Отправлять Анекдот в чат всем или в личку юзеру ( false - отправлять в приват / true - отправлять в чат)
local sAnekdotChatUser = false        -- Отправлять Анекдот в чат только юзеру или в чат всем ( false - отправлять в чат только юзеру / true - отправлять в чат всем)
local sBashOrgChatPM = true            -- Отправлять Цитат с BashOrg в чат или в личку ( false - отправлять в приват / true - отправлять в чат)
local sBashOrgChatUser = false        -- Отправлять Цитат с BashOrg в чат только юзеру или в чат всем( false - отправлять в чат только юзеру/ true - отправлять в чат всем)
local sFactsChatPM = true            -- Отправлять Интересных Фактов в чат или в личку ( false - отправлять в приват / true - отправлять в чат)
local sFactsChatUser = true            -- Отправлять Интересных Фактов в чат только юзеру или в чат всем( false - отправлять в чат только юзеру/ true - отправлять в чат всем)
local AutoAnekdot = false            -- Автоматический вывод Анекдотов ( false запретить / true разрешишь)
local AutoBashOrg = false            -- Автоматический вывод Цитат с BashOrg ( false запретить / true разрешишь)
local AutoFacts = true                -- Автоматический вывод Интересных Фактов ( false запретить / true разрешишь)
local sLocMan = "-"                    -- Символ-заполнитель верхней и нижней строк
local sManLoc = 75*4                -- Кол-во символов-заполнителей верхней и нижней строк. Нужно подобрать, если будет изменен символ-заполнитель.
local sTimeOut = 5                    -- Таймаут ожидания загрузки страницы (чтобы хаб не подвисал), в секундах
local sAutoTimeAnekdot = {            -- Время для автоматической отправки Анекдотов
                        "00:00:00","03:00:00","06:00:00","09:00:00","11:00:00","15:00:00","18:00:00","21:00:00",}            
local sAutoTimeBashOrg = {            -- Время для автоматической отправки Цитат с bash.org.ru
                        "01:30:00","04:30:00","07:30:00","10:30:00","12:30:00","16:30:00","19:30:00","22:30:00",}
local sAutoTimeFacts = {            -- Время для автоматической отправки Цитат с bash.org.ru
                        "01:00:00","02:30:00","05:30:00","9:30:00",}
--Выше находится то, что можно настраивать
wolf night, DEN 007, доктор ливси
14.2.2011, 17:13 chat-pm-blok

Название скрипта: Блокировка чата и личные сообщения
Автор: Nickolya
Описание: Блокировка чата и личные сообщения на определённое время после входа .
Но личные сообщения можно будет писать опам и админам без ограничения после входа
Saymon21, YoriK
12.2.2011, 13:47 Сборщик магнет-ссылок
сбор и выдача магнет-ссылок по категориям

Название скрипта: Сборщик магнет-ссылок
Версия скрипта: 2.4
Автор: Serx Dreamer
Перевод под Verlihub: Vizunchik ps Akvilon
Описание: Магнет-ссылки сохраняются в файл под категорями в зависимости от расширения файла на который они были даны.
Захватываются все магнет-ссылки в сообщении под разными номерами.
Магнет-ссылки не дублируются из-за проверки по хэшу файла.
Производится очистка старых собранных магнет-ссылок по времени или по команде (доступ к команде определяется по указанным профилям).
Можно удалять по 1 магнет-ссылке по команде. (доступ к команде определяется по указанным профилям).
Магнет-ссылки выводятся при подключении тем никам которые не отказались от этого. (настраивается -кол-во выводимых магнет-ссылок или отключение этого).
Выводятся по командам вариантами: все, из интервала, последние (указываем кол-во) и все или последние в категории, от ника или за дату.
Просмотр ников дававших собранные магнет-ссылки.
Сообщение о произошедшей очистке отсылается указанным профилям в чат или в приват или отключается.
Возможна очистка базы от удаленных вручную записей (при пропущенных номерах в базе скрипт выдает ошибки).

не забываем указывать путь в скрипте до файла
Код
MagnetFile = "/etc/verlihub/scripts/CollMag/Magnets.tbl" --файл сохранения магнет-ссылок
NicksFile = "/etc/verlihub/scripts/CollMag/ExceptNicks.tbl" --файл сохранения ников, которым не нужно показывать магнет-ссылки при входе


Большое спасибо за помощь с переводом Nickolya
Nickolya, KT315, Saymon21
16.1.2011, 2:05 Русификация
Делюсь русской версией не гарантирую что будет хорошо работать
Вот только что установил себе с установкой проблем не было хаб запускается
можете тестить жду очень много комментарий still_dreaming.gif
Nickolya, Herurg
12.1.2011, 1:57 Kulinar
Кулинарные рецепты

Название скрипта: Kulinar
Версия скрипта: 1.0
Автор: Tsd © 09.2010
Перевод под Verlihub: Vizunchik ps Akvilon
Описание: Скрипт выдаёт через меню случайный кулинарный рецепт с сайта http://kniga-receptov.net/.

Для работы скрипта требуется библиотека LuaSocket
Nickolya
12.1.2011, 1:54 SMS_Cost
для определения стоимости SMS на короткие номера

Название: SMS_Cost.lua
Платформа: Verlihub
Версия: 1.0
API: API 2
Автор: Ksan (aka Trans)
Перевод под Verlihub: Vizunchik ps Akvilon
Библиотека: для работы скрипта требуется библиотека LuaSocket
Описание: Скрипт для проверки стоимости SMS на короткие номера. Сами знаете, что иногда объявленная сумма в реале оборачивается невероятным размером, так что проверить никогда не лишне.

Nickolya, Saymon21
7.1.2011, 19:13 Weather
Вывод прогноз погоды

Название: Weather
Описание скрипта: Выводит в чат Прогноз погоды
Переписан под Verlihub: Vizunchik ps Akvilon
Библиотека: Для работы скрипта требуется библиотека LuaSocket
Изменения:
  • Добавил возможность для вывода погоды для нескольких городов
  • По просьбам перевёл дни недели и месяцы
  • Улучшил способ добавления городов
  • Теперь меню автоматический будет создаваться по таблице городов

Настройки скрипта:
Код
--Ниже находится то, что можно настраивать
local sBotName = ""                        -- Имя бота. Если "" то имя основного бота хаба.
local sMenu = "Меню хаба\\Погода\\"        -- Название меню
local sMenuOn = false                    -- Включить либо Выключить Меню ( false - Выключить / true - Включить)
local sMinClass = 1                        -- Минимальный класс пользователей, которым доступен меню
local sCmdWeat = "погода"                 -- Команда для получения погоды
local iExpireTimeSuccess = 60*60*6        -- 6 часов Время обновления в случае удачного получения данных
local iExpireTimeFail = 60*30            -- 1 минута - Интервал повторения попыток, если получить данные не удалось
local lVirScriptMaxTimer = 60*5            -- минимальный интервал повторного запроса (в секундах)
local sUpChar="•"                        -- Символ-заполнитель верхней и нижней строк
local iUpChar = 75*4                    -- Кол-во символов-заполнителей верхней и нижней строк. Нужно подобрать, если будет изменен символ-заполнитель.
local sMidChar = ""                        -- Символ-заполнитель для разделителя. У меня убрано, т.к. мне кажется, что мешает.
local iMidChar = 152                    -- Кол-во символов-заполнителей разделителя. Нужно подобрать, если будет изменен символ-заполнитель.
tCities = {                             -- Здесь вы пишите Ваш город и код города.
    ["Уфа"] = "28722",
    ["Ишимбай"] = "99741",
    ["Нефтекамск"] = "99975",
    ["Оренбург"] = "35121",
    ["Орск"] = "35138",
    ["Октябрьский"] = "28429",
    ["Салават"] = "99418",
    ["Стерлитамак"] = "28825",
}
--Выше находится то, что можно настраивать


Код
[20:12:17] <Погода>
•••••••••••••••••••••••••••••••••••••••••••••••ПРОГНОЗ ПОГОДЫ••••••••••••••••••••••••••••••••••••••••••••••
Уфа: День 17 Ноября, Четверг    Пасмурно, температура -5..-7 С, давление 741..743 мм рт.ст., ветер Западный, 3 м/с
Уфа: Вечер 17 Ноября, Четверг    Пасмурно, температура -9..-11 С, давление 741..743 мм рт.ст., ветер Южный, 3 м/с
Уфа: Ночь 18 Ноября, Пятница    Пасмурно, температура -7..-9 С, давление 738..740 мм рт.ст., ветер Южный, 6 м/с
Уфа: Утро 18 Ноября, Пятница    Пасмурно, температура -6..-8 С, давление 734..736 мм рт.ст., ветер Южный, 6 м/с
•••••••••••••••••••••••••••••••••••••••••••••••ПРОГНОЗ ПОГОДЫ••••••••••••••••••••••••••••••••••••••••••••••


В файле codes_for_towns.txt коды городов
Nickolya, hatab
7.1.2011, 19:06 VerliTV
Программа телепередач

Название скрипта: VerliTV
Автор: Dmitry "Doxtur" Andreev
Портирование под PtokaX: alex82
Обратное портирование под Verlihub:Vizunchik ps Akvilon
Описание: Скрипт отображает программу телепередач для указанных каналов (в качестве источника информации используется Яндекс-Телепрограмма).
Для работы скрипта требуется библиотека LuaSocket

Большое спасибо Nickolya за подправку недочётов
Nickolya
17.12.2010, 23:11 Script's Verlihub
Script's Verlihub
вот часы http://mydc.ru/topic3618.html
вот информер
CrazyKiller, TaGG
13.12.2010, 1:54 Вывод последний N сообщений чата при входе
Verlihub

Название: n_message.lua
Версия Lua: 5.1
Описание скрипта: Скрипт выводит N количество последний сообщений в опчат опам и админам
Код
NumberOfMessages = 10
в данном случай 10 последних сообщений

Название: n_chatmessage.lua
Версия Lua: 5.1
Описание скрипта: Скрипт выводит N количество последний сообщений в чат при входе всем пользователям
Код
NumberOfMessages = 10
в данном случай 10 последних сообщений
Nickolya
13.12.2010, 1:45 confignotify.lua
Скрипт для логирование исправлений в конфиге хаба

Название: confignotify.lua
Версия Lua: 5.1
Описание скрипта: При изменениях в конфигураций хаба в опчат сообщается кто изменил и какой параметр
Nickolya
13.12.2010, 1:36 Мини калькулятор
Verlihub

Название: Мини калькулятор
Версия Lua: 5.1
Описание скрипта: калькулятор есть калькулятор умеет вычитать складывать делить и умножать
Примеры ?cal 2+2 ?cal 2-2 ?cal 2*2 ?cal 2/2
Ну ?cal это естественна команда
Nickolya, PomanoB
12.12.2010, 15:57 Запросы на скрипты
Код
VH:SendPMToAll(string.format("Последние 10 сообщений:\n")..GetMessages(), botname, 3, 10)

а если так
Lyucyfer
12.12.2010, 15:31 Запросы на скрипты
Раскрывающийся текст
Код
LastTenMessages = {}
NumberOfMessages = 10

_, botname = VH:GetConfig("config", "hub_security")

function VH_OnParsedMsgChat(nick, data)
    if (string.find(data, "^[%.%+!]")) then
        -- we start with a command
    else
        nowdate = os.date("%X")
        AddMessage("["..nowdate.."] <"..nick..">"..data..string.format("\n"))
    end  
    return 1
end

function AddMessage(message)
    if (NumberOfMessages == 0) then
        LastTenMessages[1] = message
        NumberOfMessages = 1
    elseif (NumberOfMessages < 10) then
        NumberOfMessages = NumberOfMessages + 1
        LastTenMessages[NumberOfMessages] = message
    elseif (NumberOfMessages == 10) then
         for i = 1, 19, 1 do
            LastTenMessages[i] = LastTenMessages[i+1]
        end
        LastTenMessages[10] = message
    end
end

function GetMessages()
    if (NumberOfMessages == 0) then
        return ""
    else
        TempString = ""
        for i = 1, NumberOfMessages, 1 do
            TempString = TempString.."   "..LastTenMessages[i] -- fixd
        end
        return TempString
    end
end

function VH_OnUserLogin(nick)
    local class=GetClass(nick)
      if class >= 3 then
    --SendMessageToUser(string.format("Последние 10 сообщений:\n")..GetMessages(), nick, botname)
    VH:SendDataToUser("$To: "..botname.." From: "..botname.." $<"..botname..">"string.format("Последние 10 сообщений:\n")..GetMessages()"|",botname)
      end
    return 1
end

function SendMessageToUser(data, nick, from)
    result, err = VH:SendDataToUser("<"..from.."> "..data.."|", nick)
    return 1
end

function GetClass(nick)
    res, class=VH:GetUserClass(nick)
    if res and class then
        return class
    else
         return false
    end
end


Пробуй так
Lyucyfer
12.12.2010, 12:23 Запросы на скрипты
Раскрывающийся текст
Код
LastTenMessages = {}
NumberOfMessages = 10

_, botname = VH:GetConfig("config", "hub_security")

function VH_OnParsedMsgChat(nick, data)
    if (string.find(data, "^[%.%+!]")) then
        -- we start with a command
    else
        nowdate = os.date("%X")
        AddMessage("["..nowdate.."] <"..nick..">"..data..string.format("\n"))
    end  
    return 1
end

function AddMessage(message)
    if (NumberOfMessages == 0) then
        LastTenMessages[1] = message
        NumberOfMessages = 1
    elseif (NumberOfMessages < 10) then
        NumberOfMessages = NumberOfMessages + 1
        LastTenMessages[NumberOfMessages] = message
    elseif (NumberOfMessages == 10) then
         for i = 1, 19, 1 do
            LastTenMessages[i] = LastTenMessages[i+1]
        end
        LastTenMessages[10] = message
    end
end

function GetMessages()
    if (NumberOfMessages == 0) then
        return ""
    else
        TempString = ""
        for i = 1, NumberOfMessages, 1 do
            TempString = TempString.."   "..LastTenMessages[i] -- fixd
        end
        return TempString
    end
end

function VH_OnUserLogin(nick)
    local class=GetClass(nick)
      if class >= 3 then
    SendMessageToUser(string.format("Последние 10 сообщений:\n")..GetMessages(), nick, botname)
      end
    return 1
end

function SendMessageToUser(data, nick, from)
    result, err = VH:SendDataToUser("<"..from.."> "..data.."|", nick)
    return 1
end

function GetClass(nick)
    res, class=VH:GetUserClass(nick)
    if res and class then
        return class
    else
         return false
    end
end


Должно работать
Lyucyfer
7.12.2010, 23:25 Показ список онлайн пользователей и мониторинг чата на сайте
Verlihub

Название: UserList-1.3.lua web_site.lua
Версия Lua: 5.1
Авторы: Hellkeepa Kurupt
Описание скрипта: с помощью данных скрипт вы сможете сделать мониторинг основного чата и вывод списка онлайн пользователей на сайте.
Мониторинг основного чата можно регулировать какое количество последних сообщений будет выводиться на сайте, а также время генераций страницы.

Настройка скрипта:
В скрипте web_site.lua вам надо будет отредактировать 4 строчки под себя
-- Путь сохранение генераций чата
ChatFile = "/usr/local/www/apache22/data/hub/chat.php";

-- Ссылка на генерацию чата
WebSite = "http://localhost/hub/";

-- Сколько последних строк будет в генераций
NbrHisto = 50;

-- Интервал обновления в секундах (300 = 5mn)
maxTicks = 300;
Nickolya, PomanoB, Saymon21
29.11.2010, 22:16 Антипорно
Verlihub

Название: Антипорно
Версия Lua: 5.1
Описание скрипта: Скрипт для запрета порно на хабе. Может использоваться также для запрета вирусов и любых других нежелательных файлов.
Автор: Shurik
Сайт: http://verlihub.aliki.ru/forum/viewtopic.php?t=601
Nickolya, KT315, Saymon21
30.10.2010, 13:08 Помогите
было бы неплохл !
Код
function Main ()
    _, botname =  VH:GetConfig("config", "hub_security")
end

function VH_OnParsedMsgChat(nick, data)
    local _, class=VH:GetUserClass(nick)
    if (class and class ==  0) then
       VH:SendDataToUser("<"..botname.."> Зарегистрируйтесь и Вы сможете отправлять сообщения в чат|", nick)
        return 0
    end
    return 1
end


вот тебе если хочешь ещё им чат запретить и оставить использование команд
Streter, Music
3.10.2010, 16:43 Команда Verlihub
???
Зато плохо курил этот форум http://mydc.ru/topic1816.html
Lamo
18.9.2010, 17:50 Webstats
API2 | Веб-статистика для хаба
Раскрывающийся текст
Код
-- WebStats v 0.3.0.2 (Версия для VerliHub)

local iTime=20 --время в минутах для обновления

local sHostDB="127.0.0.1"
local sNameDB="verlihub"
local sUserDB=""
local sPassDB=""
local sPrefixTable="ws_"

_G.string.dbformat = function(self, ...)
  local t = {...}
  for k, v in _G.ipairs(t) do
    t[k] = _G.tostring(v):gsub("(['\\\"])", "\\%1")--'"
  end
  return self:format(_G.unpack(t))
end

function Main()
    assert(VH:SQLQuery("SET sql_mode='';"))
    assert(VH:SQLQuery(
("CREATE TABLE IF NOT EXISTS %susers ("..
"ip VARCHAR(16) NOT NULL, "..
"nick VARCHAR(32) NOT NULL, "..
"description VARCHAR(128) NOT NULL, "..
"profile TINYINT NOT NULL, "..
"email VARCHAR(30) NOT NULL, "..
"login_time BIGINT UNSIGNED NOT NULL,"..
"disconnect_time BIGINT UNSIGNED NOT NULL, "..
"online_time BIGINT UNSIGNED NOT NULL, "..
"share_size BIGINT UNSIGNED NOT NULL, "..
"hubs TINYINT UNSIGNED NOT NULL, "..
"slots TINYINT UNSIGNED NOT NULL, "..
"client VARCHAR(15) NOT NULL, "..
"client_version VARCHAR(15) NOT NULL, "..
"tag VARCHAR(32) NOT NULL, "..
"UNIQUE (nick))"):format(sPrefixTable)))
    assert(VH:SQLQuery(
("CREATE TABLE IF NOT EXISTS `%shubs` ("..
  "`id` int(16) unsigned NOT NULL AUTO_INCREMENT,"..
  "`addr` text NOT NULL,"..
  "`port` int(6) unsigned NOT NULL DEFAULT '411',"..
  "`users` int(16) unsigned NOT NULL,"..
  "`share` bigint(20) unsigned NOT NULL,"..
  "`last_online` int(10) unsigned NOT NULL,"..
  "`name` text NOT NULL,"..
  "`online` int(1) unsigned NOT NULL,"..
  "`type` text NOT NULL,"..
  "PRIMARY KEY (`id`))"
):format(sPrefixTable)))

    assert(VH:SQLQuery(
("CREATE TABLE IF NOT EXISTS %sprofiles ("..
"profile_number TINYINT NOT NULL,"..
"profile_name VARCHAR(32) NOT NULL, "..
"UNIQUE (profile_number))"
):format(sPrefixTable)))
    local tProfiles = {"Reg","VIP","OP","Cheef","Master","Master","Master","Master","Master","Admin"}
    local sQSP = ("INSERT INTO %sprofiles (profile_number, profile_name) VALUES "):format(sPrefixTable)
    for i = 0,10 do
        sQSP = sQSP.."("..i..", '"..(tProfiles[i] or "UnReg").."'), "
    end
    sQSP = sQSP.."(-1, 'UnReg') ON DUPLICATE KEY UPDATE profile_name = VALUES(profile_name)"
    assert(VH:SQLQuery(sQSP))

    assert(VH:SQLQuery(
("CREATE TABLE IF NOT EXISTS %shub ("..
"version VARCHAR(16) NOT NULL,"..
"topic VARCHAR(128) NOT NULL,"..
"uptime BIGINT UNSIGNED NOT NULL,"..
"max_user INT UNSIGNED NOT NULL,"..
"user INT UNSIGNED NOT NULL,"..
"ops INT UNSIGNED NOT NULL,"..
"max_share BIGINT UNSIGNED NOT NULL,"..
"share BIGINT UNSIGNED NOT NULL)"
):format(sPrefixTable)))

    local res,cur = VH:SQLQuery(("SELECT * FROM %shub"):format(sPrefixTable))
    local row = VH:SQLFetch(0)
    if not row then
    assert(VH:SQLQuery(
            ("INSERT %shub SET "..
            "uptime = 0,"..
            "max_user = 0,"..
            "user = 0,"..
            "ops = 0,"..
            "max_share = 0,"..
            "share = 0"
            ):format(sPrefixTable)))
    end
end
OnStartup=Main

function isOp(user)
    if GetUsrClass(user) >= 3 then return true end
    return false
end -- проверка на Op -- OP check
function GetCurTopic()
    local _,curtop=VH:GetConfig("config", "hub_desc")
    return curtop or ""
end --получить текущий топик --getting current topic
function GetOPs()
    local UsrTab={}
    local _, OnlineUsers = VH:GetNickList()
    for name in OnlineUsers:gmatch("(%S-)%$%$") do
        if isOp(name)==true then table.insert(UsrTab,name) end
    end
    return UsrTab
end

TimerCount = iTime*60 -- количество секунд для триггера таймера -- Quantity of seconds for the timer trigger
CurrentTickCount = 0 -- счетчик тиков -- The counter of tics
TickIncrement = 1 -- приращение за тик -- Increment for a tic
starttime=os.time()
function VH_OnTimer()
    CurrentTickCount = CurrentTickCount + TickIncrement
    if CurrentTickCount < TimerCount then return end
    CurrentTickCount = 0
    TickIncrement = 0

    local sVersion = '0.9.8e-r2'
    local sTopic = GetCurTopic()
    local iMaxUser
    local iMaxShare
    local _,iUser = VH:GetUsersCount()
    local _,iShare = VH:GetTotalShareSize()
    local iUptime = os.time()-starttime
    local iOps=#GetOPs()
    local res,cur = VH:SQLQuery(("SELECT max_user,max_share FROM %shub"):format(sPrefixTable))
    local _,max_user,max_share = VH:SQLFetch(0)

    iMaxUser = tonumber(max_user)
    iMaxShare = tonumber(max_share)
    
    iShare = iShare / (1024 * 1024)
    
    if iMaxUser < iUser then
        iMaxUser = iUser
    end

    if iMaxShare < iShare then
        iMaxShare = iShare
    end
    
    if not sTopic then
        sTopic = "NO-TOPIC"
    end
        
    assert(VH:SQLQuery(("UPDATE %shub SET "..
"version =  '%s',"..
"topic =  '%s',"..
"uptime =  %d,"..
"max_user =  %d,"..
"user =  %d,"..
"ops =  %d,"..
"max_share = %d, "..
"share =  %d"
):dbformat(sPrefixTable,sVersion,sTopic,iUptime,iMaxUser,iUser,iOps,iMaxShare,iShare)))
    -- cur:close()

    collectgarbage("collect")
    TickIncrement = 1
end --таймер Verlihub --timer

function GetUsrClass(user)
    local ucr, usercl = VH:GetUserClass(user)
    usercl=tonumber(usercl) or 0
    if usercl==-1 then usercl=0 end
    return usercl
end -- получение класса пользователя -- getting user class
function GetIP(user)
    local _,tmpIP = VH:GetUserIP(user)
    return tmpIP or ""
end --получить IP пользователя (строка) --getting user IP
function GetMyInfo(user)
    local _,sMyinfo = VH:GetMyINFO(user)
    return sMyinfo or ""
end --получить полный MyINFO --getting user MyINFO
function GetHubs(user)
    local a1,a2,a3=(GetMyInfo(user) or ""):match("<.-H:(%d+)/(%d+)/(%d+).->")
    return (a1 or 0)+(a2 or 0)+(a3 or 0)
end
function VH_OnUserLogin(user)
    local sEmail = (GetMyInfo(user) or "NONE"):match("%$MyINFO $ALL %S+.-%$.-%$.-%$(.-)%$") or "NONE"
    local sDescription = (GetMyInfo(user) or ""):match("%$MyINFO $ALL %S+ (.-)[<%$]") or ""
    local sClientVersion = (GetMyInfo(user) or ""):match("%$MyINFO $ALL %S+.-<.-V:(%S+)[,%$]") or ""
    local sTag = (GetMyInfo(user) or ""):match("%$MyINFO $ALL %S+.-(<.->)") or ""
    local iShareSize = tonumber((GetMyInfo(user) or ""):match("(%d+)%$$") or 0)

    assert(VH:SQLQuery(
("INSERT INTO %susers ("..
"ip, `nick`, `description`, `profile`, `email`, login_time, share_size, hubs, slots, `client`, `client_version`, `tag`"..
") VALUES ('%s', '%s', '%s', %d, '%s', %d, %d, %d, %d, '%s', '%s', '%s')"..
" ON DUPLICATE KEY UPDATE "..
"`ip` = VALUES(`ip`), `profile` = VALUES(`profile`), `email` = VALUES(`email`), `login_time` = VALUES(`login_time`), "..
"`share_size` = VALUES(`share_size`), `hubs` = VALUES(`hubs`), `slots` = VALUES(`slots`), `client` = VALUES(`client`), `tag` = VALUES(`tag`)"
):dbformat(sPrefixTable, GetIP(user), user, sDescription, GetUsrClass(user), sEmail, os.time(), iShareSize, GetHubs(user), tonumber((GetMyInfo(user) or ""):match("<.-S:(%d+).->") or 0), (GetMyInfo(user) or ""):match("%$MyINFO $ALL %S+.-<(.-)V:%S+") or "???", sClientVersion, sTag)))

    VH:SQLQuery("UPDATE "..sPrefixTable.."users SET "..
"`share_size` = "..iShareSize.." WHERE `nick` LIKE '"..user:gsub("[\\'\"]","\\%1").."'"
) --заплатка


end

function VH_OnUserLogout(user)
    assert(VH:SQLQuery(
("UPDATE %susers SET disconnect_time = %d, online_time = online_time + (disconnect_time - login_time) WHERE nick = '%s'"    
):dbformat(sPrefixTable, os.time() ,user)))
end

на
PomanoB, Saymon21, foXDEvil
5.8.2010, 15:27 mainbot-0.9.2.[g10]
Много функциональный бот

Название: mainbot-0.9.2.[g10]
Описание: Много функциональный бот. Очень схожий бот на HUBBABOT
Офф сайт бота http://mainbot.googlecode.com
Milena, WINS
5.8.2010, 15:19 anti-kick.lua
Анти массовый кик

Название: anti-kick.lua
Описание: Скрипт препятствует массовым кикам
Milena, Saymon21

2 страниц V   1 2 >
RSS Сейчас: 7.2.2012, 14:44