Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Kорзина _ От: Экзекутор (ekzekutor)

Автор: Setuper 24.2.2009, 13:27

Функционал скрипта достаточный, однако написан скрипт не лучшим образом с точки зрения оптимальной работы. Почти в каждой функции проверяется платформа хаба, что не слабо грузит (если посчитать столько лишних действий делается при том или ином событии, то получается внушительная цифра). Скрипт не тестил, однако не думаю, что он работает быстро, так как структура написания оставляет желать лучшего.

Автор: Phazeus 24.2.2009, 18:15

Ну проверено, работает довольно быстро, вполне себе нравится big_smile.gif Структура нормальная big_smile.gif Поделись своими практическими соображениями, если не трудно, в таком случае big_smile.gif
Спасибо

Автор: Setuper 24.2.2009, 18:35

Я так понимаю, что ты автор скрипта?

Огрехи в оптимизации обычно сказываются, когда на хабе народу за тысячу (или даже за несколько тысяч).

Первое что бросилось в глаза в данном скрипте - это проверка в функциях на использование той или иной платформы (имеются ввиду функции на подобии PMToUser, PMToAll и тд.). Лучше сделать так: написать 2 файла (например verli.lua и ptokax.lua). В одном файле пишутся API функции verli, во втором API функции ptokax. В основном исполняемом файле вместо этих функций написать код:

Код
if Core then
  if loadfile(ptokax.lua) then
    dofile(ptokax.lua)
  end
else
  if loadfile(verli.lua) then
    dofile(verli.lua)
  end
end
в данном случае нужные функции будут загружаться в зависимости от платформы хаба и нагрузка на проверку по части исполнения той или иной функции исчезнет. Для большей читаемости кода всё же советую раздробить на большее количество файлов (и самому буде легче разобраться что и где).

Автор: Wariner 24.2.2009, 18:37

а почему такой выбор верли + птока? редко бывают такие скрипты!

Автор: Phazeus 24.2.2009, 19:35

Цитата(Setuper @ 24.2.2009, 19:35) *
Я так понимаю, что ты автор скрипта?

Огрехи в оптимизации обычно сказываются, когда на хабе народу за тысячу (или даже за несколько тысяч).

Первое что бросилось в глаза в данном скрипте - это проверка в функциях на использование той или иной платформы (имеются ввиду функции на подобии PMToUser, PMToAll и тд.). Лучше сделать так: написать 2 файла (например verli.lua и ptokax.lua). В одном файле пишутся API функции verli, во втором API функции ptokax. В основном исполняемом файле вместо этих функций написать код:
Код
if Core then
  if loadfile(ptokax.lua) then
    dofile(ptokax.lua)
  end
else
  if loadfile(verli.lua) then
    dofile(verli.lua)
  end
end
в данном случае нужные функции будут загружаться в зависимости от платформы хаба и нагрузка на проверку по части исполнения той или иной функции исчезнет. Для большей читаемости кода всё же советую раздробить на большее количество файлов (и самому буде легче разобраться что и где).


Спасибо за идею big_smile.gif
Ну я просто пользовался и Птокой и Верлихабом, на винде и Линуксе. Поэтому создал этот скрипт под себя big_smile.gif Каких-то тормозов не заметил. Народа 500-600 человек. Функции тоже добавлялись по мере надобности big_smile.gif Так что приветствуются любая критика и предложения и нет ограничений на использование идей проекта big_smile.gif

Автор: Setuper 24.2.2009, 22:19

Интересно чем обусловлен переход с verli на ptokax? Вроде как, сев на верли, с него уже не слезают, так как впечатляет производительность, скорость и возможность работы с бд.

Автор: Phazeus 24.2.2009, 22:39

Да нет, просто у меня знакомые, которые работают с Птокой на Винде. Верли на серваке... Вобщем, была надобность иметь и для Птоки и для Верли бота big_smile.gif И чтобы не писать параллельно одно и тоже для разных серверов, решил объединить и писать универсально. Сейчас вот доработать скрипт, усовершенствовать, будет удобно. По твоему совету сделаю локализацию в виде отдельных файлов-плагинов. Так очень удобно добавлять любые локализации других хабов. Так что, есть перспектива big_smile.gif

Автор: Setuper 27.2.2009, 13:39

Ну этим ты никого не удивил. Данный приём работает в каждом втором скрипте.

Автор: Phazeus 27.2.2009, 14:27

Цитата(Setuper @ 27.2.2009, 14:39) *
Ну этим ты никого не удивил. Данный приём работает в каждом втором скрипте.

Ну я не видел таких "вторых" скриптов big_smile.gif Посмотри сначала что это ;) Хотя может я отстал от жизни big_smile.gif
Например для тогго, чтобы сделать просто команду, например, получения прикола с башорга, надо добавить просто триггер и одну строчку ответа на него big_smile.gif И у тебя готов цитатник башорга с форматированием и получением в ПМ текста запрошенной цитаты и тому подобное big_smile.gif

Например, пример для цитатника башорга:
Создать триггер с шаблоном:
^[%%%+!]баш_[%%%d]$
Добавить ему ответ:
{class:1:Команда только для зарегистрированных}{var:Q="%s(%d+)"}{repl:&quot;="'" &lt;="<" &gt;=">" <br%s/>="\n" <br>="\n"}{url:http://bash.org.ru/quote/[Q],1,,"<div>[^<].-</div>"<div>([^<].-)</div>"\n%1\n}{exit}
И всё big_smile.gif По команде !баш <номер> в ПМ от Экзекутора будет приходить эта цитата big_smile.gif Ну это как пример....

Автор: MEXAHuK 1.3.2009, 7:26

совет от человека помучившимся со скриптами достаточно много: раздели бота чисто для верлика и чисто птоки(у меня 800 юзерей и хаб начал заметно подвисать). не иди путём Jashka который создаёт изумительные скрипты для двух api сразу и которые имеют изумительные баги.
скрипт у тебя норм.
upd
и ещё: у меня на хабе 9 профилей. и из-за этого на хабе не показываются менюшки (совсем) можешь тут примерно сказать что и как нужно сделать чтобы меню были?
у меня вот такие профили

Код
pAdmin = {    --Профили, имеющие доступ к статистике IP/ников
    [0] = 1,    -- =[админ]=
    [1] = 1,    -- =[заместитель админа]=
    [2] = 1,    -- =[старший ОП]=
    [3] = 1,    -- =[младший ОП]=
    [4] = 1,    -- =[Старший вип]=
    [5] = 1,    -- =[младший вип]=
    [6] = 1,    -- =[админ других ресурсов]=
    [7] = 1,    -- =[сервер]=
    [8] = 1,    -- =[Отличившийся]=
    [9] = 1,    -- =[зарегенный]=
        [-1] = 0,       
   }


upd2 при следующих доработках/модификациях можно писать какие конкретно функции изменены? я просто целиком и полностью выдрал из бота всё что связано с верликом

Автор: Артём 1.3.2009, 14:25

beat_brick.gif там столько папок что и не понятно что куда вкидовать.... shocked.gif

Автор: Setuper 1.3.2009, 16:01

Всего 3 папки. Это разве много?

Автор: Phazeus 1.3.2009, 19:01

Цитата(MEXAHuK @ 1.3.2009, 8:26) *
совет от человека помучившимся со скриптами достаточно много: раздели бота чисто для верлика и чисто птоки(у меня 800 юзерей и хаб начал заметно подвисать). не иди путём Jashka который создаёт изумительные скрипты для двух api сразу и которые имеют изумительные баги.
скрипт у тебя норм.
upd
и ещё: у меня на хабе 9 профилей. и из-за этого на хабе не показываются менюшки (совсем) можешь тут примерно сказать что и как нужно сделать чтобы меню были?
у меня вот такие профили
Код
pAdmin = {    --Профили, имеющие доступ к статистике IP/ников
    [0] = 1,    -- =[админ]=
    [1] = 1,    -- =[заместитель админа]=
    [2] = 1,    -- =[старший ОП]=
    [3] = 1,    -- =[младший ОП]=
    [4] = 1,    -- =[Старший вип]=
    [5] = 1,    -- =[младший вип]=
    [6] = 1,    -- =[админ других ресурсов]=
    [7] = 1,    -- =[сервер]=
    [8] = 1,    -- =[Отличившийся]=
    [9] = 1,    -- =[зарегенный]=
        [-1] = 0,       
   }


upd2 при следующих доработках/модификациях можно писать какие конкретно функции изменены? я просто целиком и полностью выдрал из бота всё что связано с верликом

Как я понял у Вас Птока?
Тогда придётся подкорректировать сами функции:

Код
function UsrClassConvert(usercl)
    usercl=tonumber(usercl) or -1
    if localization == "verlihub" then
        if usercl==-1 then usercl=0 end
        return usercl
    elseif localization == "ptokax04" then
        if usercl==0 or usercl==1 then
            return 10
        elseif usercl==-1 then
            return 0
        elseif usercl==2 then
            return 5
        elseif usercl==3 then
            return 3
        elseif usercl==4 then
            return 2
        elseif usercl==5 then
            return 1
        end
    end
    return usercl
end --конвертация класса пользователя в/из 10-бальную шкалу

Вот тут ты для каждого профиля возвращаешь аналог в стиле верлихаб. Тоесть для админа (класс 0) ты вернёшь 10, тоесть у Экзекутора основные классы в стиле верлихаб: 0 (унрег), 1 (рег), 2 (вип) 3 (оп) 5 (мастер) 10 (админ). Ты свои профили продумай к каким категориям отнести и переделай эту функцию под себя. Если возникнут проблемы, пиши мне тут или в асю 233-560-855.
Код
function isVip(user)
    if localization == "verlihub" then
        if GetUsrClass(user) == 2 then return true end
    elseif localization == "ptokax04" then
        if RegMan.GetReg(user) and UsrClassConvert(RegMan.GetReg(user).iProfile)==2 then return true end
    end
    return false
end -- проверка на VIP

Тут проверка на ВИП. Измени число 2 на нудный тебе класс с правами ВИП. В стиле верлихаб. Точнее, эту функцию не нужно будет переделывать (проверь, соответствует ли код этому), если ты переделаешь конвертацию (первую функцию). Аналогично при необходимости посмотри:
function isModer(user) и function isMaster(user)
Листинг кода верных процедур: Тут для Модера преобразованный класс 4 или выше, а для мастера 5 или выше. Если устраивает, то проверь код процедуры:
Код
function isModer(user)
    if localization == "verlihub" then
        if GetUsrClass(user) >= 5 and GetUsrClass(user) < 10 then return true end
    elseif localization == "ptokax04" then
        if RegMan.GetReg(user) and UsrClassConvert(RegMan.GetReg(user).iProfile)>=4 then return true end
    end
    return false
end -- проверка на Moder
function isMaster(user)
    if localization == "verlihub" then
        if GetUsrClass(user) == 10 then return true end
    elseif localization == "ptokax04" then
        if RegMan.GetReg(user) and UsrClassConvert(RegMan.GetReg(user).iProfile)>=5 then return true end
    end
    return false
end -- проверка на Master (битовое)

Далее найди авторегистрацию пользователей. У меня при авторегистрации регистрирует с профилем 5. Тоесть Рег у меня под индексом 5. Замени на нужный тебе (на 9). Найди блок
-----------------------------регистрация---------------------------------------------->>>
найди строчку RegMan.AddReg(curUser, sPas, 5) и замени на RegMan.AddReg(curUser, sPas, 9)

Далее отредактируй таблицу разрешений в файлах меню BotMenu.lua и HubMenu.lua там у каждой команды в таблице ["PROFILES"]={ идёт перечень классов, которым эта команда разрешена. Добавь классы в соответствии со своими и тогда будет работать меню как положено big_smile.gif

Автор: Артём 1.3.2009, 20:56

Цитата(Артём @ 1.3.2009, 14:25) *
beat_brick.gif там столько папок что и не понятно что куда вкидовать.... shocked.gif

shocked.gif 3???Их не три....а куда вложить PXLuaSocket-2.0.2.rar ?
Я не могу понять как поставть... what.gif

Автор: Wariner 1.3.2009, 21:18

Цитата(Артём @ 1.3.2009, 20:56) *
shocked.gif 3???Их не три....

Ну либо у нас с Setuper`ом массовые глюки либо их там действительно 3 beat_brick.gif

Автор: MEXAHuK 1.3.2009, 21:32

http://mydc.ru/r/?http://user2340.html, хочется материться да не буду... можно сделать норм рабочий скрипт исключительно для птоки? я из-за подобной муры(верли стиль профилей) отказался от множества скриптов. твой сскрипт интересен но и его я вынужден выкинуть. будь добр переделай. я бы сам но у тебя получится лучше.

Автор: Артём 1.3.2009, 22:17

Цитата(Wariner @ 1.3.2009, 21:18) *
Ну либо у нас с Setuper`ом массовые глюки либо их там действительно 3 beat_brick.gif

ИХ не 3!!! Ekzekutor (папка,а в той папке скрипты и 2е папка),ЗаглушкаНеизвестныхКомандПтоки.lua,Ekzekutor.lua и наконецто архив PXLuaSocket-2.0.2.rar который я не могу понять куда втулить нада.... eyes_droped.gif

Автор: mariner 1.3.2009, 22:21

Цитата(MEXAHuK @ 1.3.2009, 21:32) *
http://mydc.ru/r/?http://user2340.html, хочется материться да не буду... можно сделать норм рабочий скрипт исключительно для птоки? я из-за подобной муры(верли стиль профилей) отказался от множества скриптов. твой сскрипт интересен но и его я вынужден выкинуть. будь добр переделай. я бы сам но у тебя получится лучше.


я вот не понимаю, люди делают кросплатформенный скрипт, а тебе лень даже подумать -_-. Чо то ты дерзкий.

Автор: Wariner 1.3.2009, 22:27

продолжаем оффтопить(позже я это уберу)!
2Артём считаем главная папка Ekzekutor - раз, подпапки txt - два welcome - три. Всё остальное это часть скрипта и текстовые файлы!!! Вообще не понимаю зачем настаивать на своём если не прав...

Автор: Phazeus 1.3.2009, 22:57

Цитата(Артём @ 1.3.2009, 21:56) *
shocked.gif 3???Их не три....а куда вложить PXLuaSocket-2.0.2.rar ?
Я не могу понять как поставть... what.gif

Содержимое архива с LuaSocket распаковать просто в папку с Птокой. Всё что есть, просто распаковать и всё big_smile.gif У экзектора только одна папка (по умолчанию Ekzekutor), где хранится всё что касается его big_smile.gif LuaSocket это не часть Экзекутора, это просто то, что требуется в наличии в Птоке для его работы. В инструкции описано в разделе Установка big_smile.gif

Цитата(MEXAHuK @ 1.3.2009, 22:32) *
http://mydc.ru/r/?http://user2340.html, хочется материться да не буду... можно сделать норм рабочий скрипт исключительно для птоки? я из-за подобной муры(верли стиль профилей) отказался от множества скриптов. твой сскрипт интересен но и его я вынужден выкинуть. будь добр переделай. я бы сам но у тебя получится лучше.

Прости, но не могу, специально делал именно кроссплатформенный, так как такая нужда есть big_smile.gif Если тебе интересно, но хочешь именно униплатформу, то пиши мне в асю, решим твою пробелму big_smile.gif Кстати, если так нужно, можно просто найти в скрипте все участки с if localization == ... и удалить условие и лишний код. относяцийся к другой локализации, оставив лишь участок условия нужный. Будет некроссплатформенный big_smile.gif
Кстати, потом планирую кроссплатформенность сделать более удобной и правильной, как было тут мне предложено и что я учёл. Так что пока жду предложений по функционалу и работе самого скрипта, чтобы сразу потом в финальную версию 2.0 всё внести.

Автор: Артём 2.3.2009, 0:11

Цитата(Wariner @ 1.3.2009, 22:27) *
продолжаем оффтопить(позже я это уберу)!
2Артём считаем главная папка Ekzekutor - раз, подпапки txt - два welcome - три. Всё остальное это часть скрипта и текстовые файлы!!! Вообще не понимаю зачем настаивать на своём если не прав...

мы не поняли друг друга bad_smile.gif

Цитата(Phazeus @ 1.3.2009, 22:57) *
Содержимое архива с LuaSocket распаковать просто в папку с Птокой. Всё что есть, просто распаковать и всё big_smile.gif У экзектора только одна папка (по умолчанию Ekzekutor), где хранится всё что касается его big_smile.gif LuaSocket это не часть Экзекутора, это просто то, что требуется в наличии в Птоке для его работы. В инструкции описано в разделе Установка big_smile.gif

feel_good.gif Большое спасибо за пояснение,запустить получилось big_smile.gif

Автор: MEXAHuK 2.3.2009, 7:35

mariner, я не дерзкий. просто я уже часов 5 пытаюсь переделать скрипт чтобы там была человеческая система профилей. кросс платформенный скрипт жрёт достаточно много процессорного времени - а это роскошь.

Phazeus, с if localization == ... я разобрался в первые 10 минут после того как скачал скрипт. но верликовский стиль профилей - это убиство...

Автор: Wariner 2.3.2009, 10:40

Цитата(MEXAHuK @ 2.3.2009, 7:35) *
жрёт достаточно много процессорного времени

а мне казалось скрипты жрут токо оперативу.....

Автор: mariner 2.3.2009, 10:53

вообще - то любая программа ест как оперативку, так и проц. PS MEXAHuK, что там у тя за помоина, что ей скрипт на луа завешивает?

Автор: MEXAHuK 2.3.2009, 12:44

ладно. фиг с ней с кроссплатформенностью.
но как быть с профилями?! anger.gif

Автор: Phazeus 2.3.2009, 17:06

Цитата(MEXAHuK @ 2.3.2009, 13:44) *
ладно. фиг с ней с кроссплатформенностью.
но как быть с профилями?! anger.gif

Ну я же написал выше, как переделать под нужные профили. Ты сделал как я написал?))) Я вроде написал понятно big_smile.gif

Про ресурсы. Как уже было сказано, тут на кроссплатформенность уходят лишь проверки "if localization ==", базы хранятся в памяти и попутно сохраняются на диск. Тоесть база при запуске хранится и обрабатывается в оперативке, а на винт просто сохраняется. Тоесть оперативку скрипт жрёт. Но вроде не сильно, у меня примерно 800 килобайт при 500 пользователях... Тоесть, жумаю, не так критично, если будет и 1000 пользователей, будет около мегабайта, наверное big_smile.gif

Автор: MEXAHuK 2.3.2009, 18:52

ты малость не то написал, а я малость не то сказал. так вот: как настроивать файлы HubMenu.lua и BotMenu.lua ??

Автор: Phazeus 2.3.2009, 18:59

Цитата(MEXAHuK @ 2.3.2009, 19:52) *
ты малость не то написал, а я малость не то сказал. так вот: как настроивать файлы HubMenu.lua и BotMenu.lua ??

Ну там видишь, у каждой команды есть таблица разрешений. Тоесть какому профилю ты хочешь разрешить команду, добавляй его в таблицу. Ну какие у тебя профили. У меня эти менюшки рассчитаны на 6 профилей, у тебя будут больше, не написал я проги для редактирования. Хочу в 2.0 версии написать прогу с конфигуратором. Понятно как делать? Если снова не понятно, то пиши в личку или в аську big_smile.gif

Автор: MEXAHuK 2.3.2009, 20:05

ПИШИ СКОРЕЙ КОНФИГУРАТОР!

Автор: Phazeus 11.3.2009, 9:01

ВНИМАНИЕ, НОВАЯ ВЕРСИЯ!!! 1.9.9x
1.9.9x
Доработана функция isVip(user) (теперь ВИП-классом автоматически считается первый класс выше РЕГа и ниже Оператора)
Исправлена функция проверки рекламы в общий чат (багфикс)
Добавлена функция просмотра пароля произвольного пользователя
Исправлена функция уведомления о командах, уведомления получают в том случае, если использующий команду не старше по классу того, кто уведомление получет (разрешения по классам) (багфикс и модификация)
Введено заполнение базы типов аккаунтов при первом запуске скрипта из базы сервера
Добавлен флаг {menuname} в файлы меню, заменяющийся на название пункта меню скрипта
Добавлено автоматическое определение класса для автоматической регистрации пользователей
Изменён режим антирекламы 3 типа (пользователь, который пишет запрещённую рекламу, теперь видит, как будто бы его сообщение доходит в чат, но на самом деле его видит только он)
Изменена процедура определения ВИП-класса. Теперь это первый класс после класса оператора (автоматическое определение)
Исправлен баг заглушки общего чата на PtokaX (багфикс)
Исправлен небольшой баг в системе прощения жалоб (багфикс)
Исправлена процедура изменения профиля (багфикс)
Устранена привязка к профилям внутри скрипта (и стиль Verlihub для PtokaX)
Исправлен баг при выходе пользователя, который жаловался (не было сброса его жалобы) (багфикс)
Добавлен автоматический поиск файла меню Хаба текущей локализации и его переименования, если он не был обнаружен при запуске скрипта
Блоки локализации вынесены в отдельные файлы, ускорена работа скрипта

Лучше удалить старую версию. Тестируем!!! Готовимся к релизу big_smile.gif
Ссылка в первом сообщении топика.

Автор: Severskline 11.3.2009, 18:02

Бот отличный, идея интересная - ждем.
Лишь бы с профилями у себя не перемудрить..... если что - буду стучать в аську (как в прошлый раз) boss.gif

Автор: Phazeus 14.3.2009, 14:20

Можно следить за обновлениями из самого скрипта!

Чтобы проверить, не вышла ли новая версия скрипта и посмотреть информацию, создайте триггер:

Код
^[%%%+!]ekzekutor%_update

И добавьте ответ для него:
Код
{class:1:Команда только для Администрации}{url:http://www.phazasoft.somee.com/ekzekutor/version.txt,,,".+"(.+)"\n%1}{exit}

По команде !ekzekutor_update Вам в личку придёт сообщение с информацией о последней версии.
Номер класса после флага {class: приведён для Птоки (разрешены классы не ниже 1, тоесть 0 и 1). Для Верлихаба поставьте классы по желанию, например 5 (разрешит классы от 5 и выше).

Автор: Phazeus 17.3.2009, 3:22

ВНИМАНИЕ, БАГФИКС!!!
В файле verlihub.lua в папке бота исправьте функцию:

Код
function GetAllRegs()
    UsrTab={}
    res,c = VH:SQLQuery("SELECT `nick`,`class` FROM `reglist` ORDER BY `class`;")
    if res then
    for i=0, c-1 do
        res, usr, uclass = VH:SQLFetch(i)
        if res then UsrTab[usr]=uclass end
    end
    return UsrTab
end --получение таблицы со всеми зарегистрированными пользователями ([user]=class)

на
Код
function GetAllRegs()
    UsrTab={}
    res,c = VH:SQLQuery("SELECT `nick`,`class` FROM `reglist` ORDER BY `class`;")
    if res then
        for i=0, c-1 do
            res, usr, uclass = VH:SQLFetch(i)
            if res then UsrTab[usr]=uclass end
        end
    end
    return UsrTab
end --получение таблицы со всеми зарегистрированными пользователями ([user]=class)

Это касается только локализации VerliHub. Менять пока скрипт я не буду, так как готовлю новую версию, релиз 2.0. Поэтому замените эту функцию сами big_smile.gif

Автор: Phazeus 18.3.2009, 18:51

Ищутся бета-тестеры на версию 2.0RCx big_smile.gif стучитесь в контакты big_smile.gif

Автор: Phazeus 23.3.2009, 17:24

Готова финальная версия, пререлиз.
Пока документации нет, напишу, как проверим всё big_smile.gif Приглашаю потестировать. Старые версии удалить надо будет big_smile.gif

Автор: Nickolya 24.3.2009, 9:57

Странно, но по ссылке выше - ошибка.

Цитата
Невозможно найти удалённый сервер
Выкладывайте здесь скрипты для удобства...

Автор: Phazeus 24.3.2009, 16:17

да удалили аккаунт мой, выложу тут, только без документации пока. Пишите мне в аську или джаббер. Финальный будет с документацией, просто много писать там...

Автор: Phazeus 26.3.2009, 18:37

Версия 2.0RC7 вышла. Поправлен плагин комнат и некоторые другие мелочи.

Автор: Phazeus 31.3.2009, 7:16

Вышла версия 2.0RC8
Думаю всё. Это должно стать финальной версией. Мануал и полное руководство пока не написал big_smile.gif

Автор: Setuper 31.3.2009, 12:07

Финальная версия не может быть RC big_smile.gif

Автор: Phazeus 1.4.2009, 12:22

Ну так это пререлиз big_smile.gif Пока что окончательно проверяем на баги big_smile.gif И я пока пишу мануал. Как напишу, всё проверим окончательно, выдам уже окончательный релиз big_smile.gif 2.0.0 без RC big_smile.gif Так что тестируйте, пишите, пожелания, замечания, всё. Очень буду признателен всем big_smile.gif А если ещё и пожертвуете на развитие... big_smile1.gif

Снова версия новая! big_smile1.gif
2.0RC9

Автор: TheHacker 7.4.2009, 23:58

Как в последней версии бота в Птока 0.4.1.1 правильно настроить права доступа к меню хаба и бота ?
Для простых "смертных" все юзеры с зелеными иконками ботов. Доступ ко ВСЕМ функциям имеют обычные зарегистрированные юзеры. Хотя меню прописано доступным только админу? Что делать ?
P.S. ОС Виста х64 русс, PtokaX 0.4.1.1 GUI 32 бит
eyes_droped.gif

Автор: Severskline 8.4.2009, 4:56

ищи файл Ekzekutor/HubMenu.lua.ptokax04
здесь в зависимости от каждого профиля дается разрешение или запрет к командам скрипта

Автор: TheHacker 8.4.2009, 18:11

Цитата(Severskline @ 8.4.2009, 5:56) *
....


это я сделал, но в первый раз запускал с дефолтными настройками )
а сейчас пролазил все меню, настроил права доступа, результат ноль. только пользователь регится, ему становятся доступны ВСЕ пункты меню. after_boom.gif
сколько не перезапускал хаб, результат тот же, вот и хотел узнать может где еще эти настройки после первого запуска остались ? и их стоит удалить ?

я уже не знаю что думать eyes_droped.gif

Автор: Phazeus 10.4.2009, 17:08

Цитата(TheHacker @ 8.4.2009, 0:58) *
Как в последней версии бота в Птока 0.4.1.1 правильно настроить права доступа к меню хаба и бота ?
Для простых "смертных" все юзеры с зелеными иконками ботов. Доступ ко ВСЕМ функциям имеют обычные зарегистрированные юзеры. Хотя меню прописано доступным только админу? Что делать ?
P.S. ОС Виста х64 русс, PtokaX 0.4.1.1 GUI 32 бит
eyes_droped.gif

Для Птоки меню бота рассчитаны на 6 профилей (NetFounder, Master, Moderator, Operator, VIP, Reg). Если профили другие и нет желания сделать такие, то придётся переделать разрешения в файлах меню.

ВЫШЕЛ ФИНАЛЬНЫЙ РЕЛИЗ!
Имеется мануал.
СКАЧАТЬ

Автор: TheHacker 10.4.2009, 17:15

Цитата(Phazeus @ 10.4.2009, 18:08) *
Для Птоки меню бота рассчитаны на 6 профилей (NetFounder, Master, Moderator, Operator, VIP, Reg). Если профили другие и нет желания сделать такие, то придётся переделать разрешения в файлах меню.



я так и сделал, но первый раз запускал с дефолтными настройками, потом перелазил ВСЕ меню, и перенастроил на 4 профильный конфиг, но ситуация не изменилась, обычные реги видели ВСЕХ зелеными ботами, и имели доступ ко ВСЕМ меню electric_shock.gif

качаю финал, почитаю мануал и попробую переставить хаб с нуля.
still_dreaming.gif

кто нибудь может скинуть 6 профильный конфиг для Птохи 0.4.1.1 ?
extreme_sexy_girl.gif

Автор: Phazeus 10.4.2009, 17:41

А что кидать, создай в том порядке, как показано big_smile.gif Это просто big_smile.gif
СКРИНШОТ:


и задай им разрешения. Права "сверху вниз" по убыванию идут big_smile.gif

Автор: TheHacker 10.4.2009, 17:53

да просто не понятно что может делать модератор, того чего не должен делать ОП, так же непонятно как ограничить Мастера, по сравнению с владельцем хаба (НетФаундером)

можно получить файлик Profiles.xml посмотреть как разграничить этих самих пользователей, просто не очень понятно, привык к 4 профильному меню.

embarrassed.gif

Автор: Phazeus 10.4.2009, 18:54

У меня сейчас они все одинаковые в правах на полигоне big_smile1.gif Ну сделай мастера и нетфайндера с полными правами big_smile.gif Модератора с оператором big_smile.gif А там разграничишь по мере надобности big_smile.gif

Автор: TheHacker 11.4.2009, 23:38

ну вроде перешел на 6 профильный конфиг и меню стало более вменяемо, но есть пара вопросов. Вот например плагин объявлений кладет текст объяв в отдельный файл Аноунсментс, удобно править в ручную. Но правила и Фак зачем - то лезут в основное меню horror.gif можно в следующей версии подправить чтобы также складывали в отдельный файл пункты правил и хелпа ?
shame.gif

и как их подправить сейчас ? Пункты лежат в тексте, но недоступны по команде вызова.
scorn.gif

Автор: Phazeus 12.4.2009, 3:47

Кстати, Объявления лучше вручную не править, они хранятся в таблице в формате LUA, поэтому вручную можно запороть файл big_smile.gif Лучше добавлять из чата командой.
А вот про правила и фак я не понял. Имеется в виду команды Птоки? Так это они должны быть в папке texts птоки самой, если я про то подуал. А в меню - это просто произвольное меню Хаба (файл HubMenu.lua). Можно создать аналогичные текстовые файлы в виде имя_команды.txt и кинуть в папку txt Экзекутора. У Экзекутора более высокй приоритет по сравнению с Птокой и они будут вываливаться в приват, их содержимое.
А справки по командам, которые показываются, когда написать экзекутору в приват, хранятся в самих файлах меню big_smile.gif
Так что не совсем понял вопрос, поточнее, если можно ;)

Автор: TheHacker 12.4.2009, 10:01

В ручную наоборот лучше править, только потом надо выбирать команду перезагрузки скриптов, иначе, при вводе через команды правки, не понимает вводимые знаки форматирования "\n" или/и "\t". С форматом новостей я разобрался, получается довольно симпотный отформатированный текст.



С правилами разобрался. Спасибо still_dreaming.gif
Действительно добавив в папку texts внутри папки Экза необходимые файлы, все заработало. Кстати в маниле вроде этого не написано? embarrassed.gif

И на последок, что изменилось с версии РК 9 и финалом, у меня в финале перестали прикольные скрипты работать типа мяса, старварса и симпсонов, в версии РК они стояли чуть ли не в самом низу списка скриптов, а сейчас приходится их ставить выше Экза unhappy.gif как бы их подружить снова extreme_sexy_girl.gif

Автор: Phazeus 12.4.2009, 15:52

Ну там много что менялось, я не вёлисторию изменений на бета-версии. А вот что касается других скриптов, то тут ничего не должно было измениться. Возможно заглушка неизвестных команд Птоки стоит выше них. Её нужно опустить вниз самый.
Кстати, при некоторрых условиях не которые скрипты могут и не работать, если после экзекутора идут, из-за особенностей самого экзекутора (например функции незаметного гага и проч.). Поэтому такие скрипты придётся вверх по приоритету ставить. А лучше всего переписать их в виде плагина под Экзекутор.
В Мануале про текстовые файлы написано big_smile.gif

Автор: TheHacker 12.4.2009, 17:34

Ну пока незнаю как их в виде плагина написать :( , может по позже, сейчас потренируюсь на антипорно перехватчике поиска, переписываю его в виде плагина для Экза. Если получится примусь и за скрипт подмен ников, а-ля Мяссо и т.п.

what.gif

Спасибо за помощь, бот супер !!! victory.gif

Автор: Phazeus 13.4.2009, 3:24

Супер! Стучи в аську, если что! Помогу сделать плагин big_smile.gif

Автор: Николай Гулин 15.4.2009, 19:34

Вопросик по плагину Комнат.
Экзекутор работает нормально под птохой 0,4,1,1
но вот проблема с плагином комнат, у операторов Модераторов и Хозяина нет прав создавать комнаты а у зарегеного пользователя есть, пытался изменить класс пользователя , результат у админа появился список управления комнатами а у пользователей он остался и они могут правит все.

что нужно сделать что бы права управления комнатами остались только у админа и модераторов

заранее благодарю за ответ

Автор: DEL 15.4.2009, 19:52

чет что так ["LastMsgType"]=1 что так ["LastMsgType"]=0 всеравно в личку приходит и при количесвте псят ["LastMsgCount"]=50 всеравно десять :(

я может чет нипонял?

Автор: Phazeus 16.4.2009, 15:56

Цитата(Николай Гулин @ 15.4.2009, 20:34) *
Вопросик по плагину Комнат.
Экзекутор работает нормально под птохой 0,4,1,1
но вот проблема с плагином комнат, у операторов Модераторов и Хозяина нет прав создавать комнаты а у зарегеного пользователя есть, пытался изменить класс пользователя , результат у админа появился список управления комнатами а у пользователей он остался и они могут правит все.

что нужно сделать что бы права управления комнатами остались только у админа и модераторов

заранее благодарю за ответ

Возможно у Вас профили не такие, на какие рассчитаны файлы Меню. Посмотрите справку, на какие профили и в каком порядке рассчитано меню по умолчанию. Или переделайте все файлы меню big_smile.gif Но проще профили сделать big_smile.gif

Цитата(DEL @ 15.4.2009, 20:52) *
чет что так ["LastMsgType"]=1 что так ["LastMsgType"]=0 всеравно в личку приходит и при количесвте псят ["LastMsgCount"]=50 всеравно десять :(

я может чет нипонял?

Это делается через меню:
Главное меню - Специальные команды - Последние сообщения
или соответствующей командой. Или меняется в файле Config.cfg но лучше пользоваться командами big_smile.gif



ВНИМАНИЕ!!! Вышла версия 2.0.1
Подробный лог изменений относительно версии 2.0.0 в дистрибутиве.
Добавлена локализация для сервера Eximius
Подробности в первом сообщении топика.

Автор: DEL 16.4.2009, 19:28

Спасибо, разобрался. Буду разглядывать дальше big_smile.gif

Автор: Setuper 16.4.2009, 19:47

Ну и к чему этот Eximius. Им никто не пользуется.

Автор: Phazeus 16.4.2009, 21:21

Ну пользуется один мой знакомый big_smile1.gif Поэтому и локаль написал big_smile.gif Она ж не мешает big_smile.gif

Автор: steppnov 17.4.2009, 10:51

подскажите а как отключить функцию замены смайлов ???
а то народ жалуеться уже все плагины перерыл найти не могу

Автор: Setuper 17.4.2009, 11:58

Да уж... Скрипт бесспорно многофункциональный, однако написан, я думаю, не лучшим образом.

Автор: Cramac 17.4.2009, 13:34

сделал профили как по мануалу, но что то не работает словарь. Пишет что только для рег юзверею...
хотя юзверь зареген и тип профиля 5(REG) у него.

Что не так?

П.С. И можно сделать чтоб объявление выводилось не раз в хх минут а при входе пользователя?

Автор: Phazeus 17.4.2009, 16:33

Вся проблема во флаге:
{class:1:Команда только для зарегистрированных}
Это для Верлихаба big_smile.gif На Птоке надо поменять номер класса рега на тот, который стоит (по инструкции 5)

Цитата(steppnov @ 17.4.2009, 11:51) *
подскажите а как отключить функцию замены смайлов ???
а то народ жалуеться уже все плагины перерыл найти не могу

А при чём тут Экзекутор? big_smile.gif Или как? Это, наверное, автозамена под номером 70:

Код
70.    Замена: <...>. Флаг поиска внутри адреса: 0 Шаблоны:
        [%p!-/:-@][%p!-/:-@][%p!-/:-@][%p!-/:-@][%p!-/:-@][%p!-/:-@]+


Это сделано как антифлуд от многочисленных символов подряд. Более 5 штук. Это имеется в виду?

Цитата(Setuper @ 17.4.2009, 12:58) *
Да уж... Скрипт бесспорно многофункциональный, однако написан, я думаю, не лучшим образом.

А есть предложения?)))

Автор: ko_tav 19.4.2009, 20:06

А что такое "Словарь" ( в описании слова в личку) разъясните кто нить пожалуста

Автор: Phazeus 20.4.2009, 2:50

Это триггер и боттриггер. Он получает слова и с Яндекс.словари посылает толкование big_smile.gif Просто толковый словарь. Триггер срабатывает на +словарь слово или слово в личку роботу Словарь (это бот-робот).
Как пример показаны big_smile.gif

Автор: TheHacker 20.4.2009, 21:41

при запуске 2.0.1 вроде все нормально, делаю юзера, перезагружюсь регом, даю права владельца (0) больше не коннектится, бот говорит "ошибка распаковки"

beat_plaster.gif

Можно сделать нормальный плагин для регистрации, с нормальным обычным меню, для регистрации пользователей, на основе 2.0 ? чтобы можно было заменить существующий, без перестановки всего бота ?
Или например поменять только плагин регистрации ? Не меняя всего бота ?

Автор: Phazeus 22.4.2009, 4:48

Плагин авторегистрации и управления аккаунтом не менялся с версии 2.0.0 shocked.gif
Должно всё работать, не понял я про распаковку...
И про меню не понял. Если можно, поподробнее, в чём дело big_smile.gif

Автор: TheHacker 22.4.2009, 22:57


вот захожу в это меню, чтоб регнуть пользователя с профилем

почему то доступно меню на 3 профиля
1 -ОП, 2-ВИП, 3 - рег (хотя конфиг хаба на 6 профилей) horror.gif
но самое интересное потом, выбираю любой профиль и в ответ получаю
*** Ошибка, профиля с таким именем не найдено

хоть выбираю команду через меню, хоть ввожу руками, результат одинаков, ОПы не могут регать юзерей, только юзеры сами через менюху
unhappy.gif



насчет кривой работы 2.0.1
чистая база, регов вообще нет !
создал пользователя, хаб не останавливая, дал ему профиль владельца в настройках хаба, перезашел на хаб
бот выдает "ошибка распаковки" и отключает
scorn.gif

вот и непонятно почему так ?

да и еще проблемма с акками непонятная в полночь ;-)
[00:00:10] <•OpChat•> <•Экзекутор•> *** 04/23/09 00:00:10 В скрипте произошла ошибка: ...tka bazy.AccountsType and cleaning/ptokax04/Vars.lua:13: attempt to compare string with number

Автор: Phazeus 23.4.2009, 5:18

1. Про регистрацию по типам, когда пишет, что профиль с таким именем не найден (там менюшка неверная в плане примера, не обращай внимания), надо писать не номер профиля, а его имя. Например Reg (чтобы зарегать юзера с профилем рега).

2. Не понял. Никакой "ошибки распаковки" бот выдавать не может О_о Нет такой ошибки у него. Ты сделай скриншот ошибки чтоли big_smile.gif Наверное проблемы с Птокой самой... У меня нет проблем таких и у народа вроде тоже больше ни у кого не было big_smile.gif

3. Это работает очистка базы аккаунтов регов хаба от устаревших аккаунтов. Выруби пока эту функцию, рано ещё, ты на Экзекуторе сидишь не так давно, а он юзает на Птоке собственную базу.
Кстати, такой ошибки быть не должно О_о. Что-то тама у тя не то... ops.gif

Автор: Phazeus 24.4.2009, 5:16

Кстати, на счёт ошибки при изменении периода очистки устаревших аккаунтов, там и правда бага была, в версии 3 плагина исправлено.
Скачать можно исправленный плагин тут:
[attachment=2245:Typi_akk...cleaning.rar]

Автор: TheHacker 29.4.2009, 17:54

still_dreaming.gif
спасибо с обновленным плагином баз аккаунтов, "полуночная" проблема пропала, акки подчищает
victory.gif

вопрос, насчет 2.0.1, можно как нибудь безболезненно обновить с 2.0.0 +фикс акков ? без перенастройки всех плагинов ?
там вроде база акков в другом месте? а остальные плаги можно поверх перезаписать? или vars.lua файлы плагов трогать нельзя ?
или большого смысла для обновления пока нет ?
вроде все работает :smile2:

и насчет триггеров?
если я из скрипта болтуна типа "бабы Клавы" просто фразы и ответы повтыкаю ничего страшного не будет ?
или нужен специальный синтаксис для фраз и ответов ?
или Экз сам преобразует фразы в шаблоны ?
честно читал манилу, но немного запутался
confuse.gif

Автор: Setuper 29.4.2009, 18:36

Почитал файл описания. Цитирую:

Цитата
Как видите, внутри таблицы команды ["testcommand"] содержатся три метатаблицы: профилей (["PROFILES"]), команд (["COMMANDS"]) и строка справки по команде (["HELP"]).

Что-то я не вижу метатаблиц! Если не знаешь что такое метатаблица, зачем используешь этот термин? Или ты думаешь, что метатаблица - это подтаблица таблицы? Если ты действительно так думаешь, то ты ошибаешься. Услышав термин "метатаблица", стоило узнать что это такое, а не предполагать.

В данном случае мететаблиц тут нет, поэтому используй термины таблицы и подтаблицы, но не метатаблицы.

Автор: IIIyrik 30.4.2009, 20:58

Подскажите всё настроил и тут вылезла ошибка Функция отправки информационного приветствия отключена, так как не обнаружен соответствующий файл.
Где можно подправить просто неахато настраивать всё заново. Спасибо!

Автор: Phazeus 1.5.2009, 6:37

Информационные приветствия представляют из себя обычный LUA скриптик и находятся в папке welcome внутри папки бота и имеют название в виде: имя_локализации.lua
Если такого файла нет, то не будет приветствия big_smile.gif Просто помести из дистрибутива файлы приветствия по умолчанию в эту папку (они там в дистрибутиве по умолчанию есть). Можно изменить этот файл (если знаешь как на LUA), как нужно big_smile.gif

Цитата(TheHacker @ 29.4.2009, 18:54) *
вопрос, насчет 2.0.1, можно как нибудь безболезненно обновить с 2.0.0 +фикс акков ? без перенастройки всех плагинов ?
там вроде база акков в другом месте? а остальные плаги можно поверх перезаписать? или vars.lua файлы плагов трогать нельзя ?
или большого смысла для обновления пока нет ?
вроде все работает :smile2:

Можно, помотри лог изменений, с версии 2.0.0 ведётся подробный лог изменений, где написано, что и как именно менялось big_smile.gif
Тут вот, например, есть последние логи:


Цитата
и насчет триггеров?
если я из скрипта болтуна типа "бабы Клавы" просто фразы и ответы повтыкаю ничего страшного не будет ?
или нужен специальный синтаксис для фраз и ответов ?
или Экз сам преобразует фразы в шаблоны ?
честно читал манилу, но немного запутался
confuse.gif

Сам триггер задаётся по правилу "кратких" шаблонов. Ответы можно просто текстом обычным (будет просто в чат кидать случайный ответ из имеющихся (или в приват, если это ПМ-триггер). В ответе могут быть специальные флаги. Про это в Мануале написано вкратце big_smile.gif
Тоесть краткий шаблон самого триггера бот сам преобразует через движок кратких шаблонов в шаблон(ы) LUA.
Если что не понятно, то могу конкретно показать на примерах.
Кстати, можешь зайти на мой тестовый полигон с Экзекутором

и я покажу что и как сделать. Там же куча примеров big_smile.gif

Автор: IIIyrik 2.5.2009, 19:04

Столкнулся с небольшой проблемой .Когда нажимаю отправить личное сообщение всем пользователям мне пишет что Неверный формат команды.Как это можно исправить?

Автор: Phazeus 3.5.2009, 0:42

Покажи где это, что именно пишет и что это за команда big_smile.gif

Автор: IIIyrik 3.5.2009, 14:20

Вбиваю такое сообщение Запущен сервер трансляции Radio Record периодически буду включать своё радио! Для того чтобы слушать качаем плейлист http://mydc.ru/r/?http://10.100.64.165/Radio%20IIIyrika.M3U.И вот что бот пишет

 

Автор: Phazeus 3.5.2009, 19:07

Ааааа, это меню Хаба просто я с ошибклой команду написал big_smile.gif Копипаст меня погубит big_smile.gif
Открой меню хаба HubMenu.lua, найди там команду

Код
["massmsg"]={
    ["PROFILES"]={
        ["ptokax04"]={
            [0]=1,
            [1]=1,
            [2]=1,
        },
    },
    ["HELP"]="<сообщение>                        - Отправить личное сообщение всем пользователям",
    ["COMMANDS"]={
        "{menuname}Сообщения\\Отправить личное сообщение всем пользователям$<%[mynick]> {prefix}changerank %[line:Введите своё сообщение]",
    },
},

И исправь строку команды на:
"{menuname}Сообщения\\Отправить личное сообщение всем пользователям$<%[mynick]> {prefix}massmsg %[line:Введите своё сообщение]",

big_smile.gif

Автор: Phazeus 5.5.2009, 1:01

Не забывайте проверять обновления. Последнее от 05.05.2009 03:00 big_smile.gif
Логи изменений в дистрибутиве или тут, если доступно:

Автор: Phazeus 9.5.2009, 18:29

Вышла новая версия: 2.0.2 (подробнее в первом сообщении топика)

Автор: Chis 10.5.2009, 20:14

прикольно, поестим на днях у себя

Автор: Setuper 14.5.2009, 0:13

Удалены все ссылки на бота, пока из него не будет убрана вредная, не этическая функциональность!

hell_boy.gif

Автор: Phazeus 14.5.2009, 1:05

Цитата(Setuper @ 14.5.2009, 1:13) *
Удалены все ссылки на бота, пока из него не будет убрана вредная, не этическая функциональность!

hell_boy.gif


Не понял waaaht.gif
Это что, зависть модератора или что? Какая ещё "неэтическая" функциональность? Попрошу объясниться и как можно подробнее.

Автор: mariner 14.5.2009, 1:15

неужто бот логирует лички?

Автор: Setuper 14.5.2009, 1:29

Именно!

А вообще за такое дело вешается предупреждение!

Автор: Phazeus 14.5.2009, 5:08

Эта функция по умолчанию неактивна. И не является неэтичной и нужна для служебного пользования. Это не является неэтичной функцией. Так что не делайте из мухи слона.

Тем более к боту это никакого отношения не имеет. Это плагин. Удали из дистрибутива плагин и всё. А бот тут вообще ни при чём.

Удалил плагин лога вообще. Будите без логов сидеть.

Автор: mariner 14.5.2009, 6:46

Да я и сидел ез логов, мне как то пофиг.

Автор: Setuper 14.5.2009, 15:28

Ну вот... Так то лучше.
И из описания ещё бы желательно убрать всё про пм
Если так нравится читать чужие лички, то сам используй, но не распространяй!
Если я знаю, что на хабе палят лички, то я обхожу стороной такой хаб. Использовать фильтры - пожалуйста, но логировать - нет!

Автор: Phazeus 15.5.2009, 5:20

Во-первых, если у некоторых персон нездоровые ассоциации со служебной функцией, используемой когда это действительно необходимо (при возникновении проблеи, когда надо выяснить присчину крэша, по просьбе пользователей разобраться и т.д.) (таких примеров куча) - то это личная проблема этих персон. Мне, например, и в голову бы не пришло подумать, что кто-то будет сидеть и читать служебные логи для развлечения. Это уже "по Фрейду"...

Тем более делал по просьбам пользователей, не для себя. Это Ваше спасибо за то, что делаю бесплатно свободный софт...

Кстати, Верлик и Эксимиус такую функцию вообще встроенную имеют. Так что лог ПМ и шпионство ничего общего не имеют. А если кому0то больше нечего делать, как читать чужие лички (ну это надо быть совсем нездоровым на голову), то он всё равно способ найдёт.

Вот так то.

Кстати, например телефонные разговоры все (даже по сотовому) записываются. Вы не знали? И что, думаете это делается ради развлечения ненормальных извращенцев в лице инженеров связи на АТС? Нет. Это объективная необходимость при возникновении ЧП (того или иного рода).
Это из той же оперы.

Автор: Setuper 15.5.2009, 11:40

Все мы тут работаем на добровольной основе, не ты один!
По поводу выявления крыша, то в скриптах подобного рода должна быть системе дебага. В данном скрипте она напрочь отсутствует, поэтому ты и придумываешь какие-то способы выявления багов.

Люди бывают разные, именно поэтому не надо распространять скрипты, логирующие лички всем подряд.
АТС логирует, однако, ты же себе не можешь поставить АТС для того чтобы палить чужие разговоры.

Скрипт не спорю - хорош. Система плагинов - тоже замечательно.

Автор: Phazeus 20.5.2009, 4:08

Последняя модификация: 22.05.2009

Автор: Serhio 20.5.2009, 19:54

ясно будем пытаться big_smile.gif

И еще вопрос. Словарь это что такое ?

Автор: Phazeus 20.5.2009, 21:27

Словарь - это простой пример БотТриггера. Он с Яндекс.Словари берёт слова и показывает big_smile.gif

Автор: mnoils 23.5.2009, 14:47

still_dreaming.gif

Автор: Phazeus 24.5.2009, 4:29

Получил в приват вот это:

Цитата
Прошу не размещать ссылки на сайты, на которых имеется какая-либо информация по логированию личек, в частности, на которых можно найти плагин логирования к твоему боту! Или ты хочешь чтобы тема вообще отправилась в корзину?

Во-первых, всем особо неадекватным было подробно расписано, что проблема с "неэтичностью" есть только в их воображении. Что нож не является неэтичным только потому, что им можно убивать. Поэтому если будет продолжаться эта неадекватная возьня вокруг реально полезного плагина логирования сообщений, я удалю эту тему с этого форума и лишу этот ресурс чести иметь у себя этого бота. Я не шучу и выношу последнее китайское предупреждение.

Автор: Severskline 24.5.2009, 7:29

Phazeus, прав на все 100%.
Проблема этичности содержится не в самом скрипте, а в голове админа хаба, использующего не по назначению функциональные возможности скрипта.
По-умолчанию логирование отключено и задумано только для служебного пользования - не запускай эту функцию или удали, если нет уверенности в адекватности и дееспособности в себе и в своих админах, опов.
Запретом и удалением данного скрипта "проблема головы нездоровых админов" не будет разрешена.
Это не лечиться. Все зависит от этического воспитания и нравственных убеждений человека, использующего этот скрипт.
Phazeus, спасибо за скрипт! Если удалишь тему, то дай знать на каком ресурсе тебя искать.

Автор: Wariner 24.5.2009, 9:36

2Phazeus: ты не прав! если до этого не дойти своей головой, то вряд ли кто то переубедит....
и ты не прав дважды ибо удаление скрипта с этого форума ничем ему не навредит, а только покажет твою неадекватность по отношению к другим людям!

Цитата(Severskline @ 24.5.2009, 8:29) *
Это не лечиться. Все зависит от этического воспитания и нравственных убеждений человека, использующего этот скрипт.

И как ты себе это представляешь? Т.е. у него высокие этические и моральные убеждения и он будет читать только спамы, а на все остальные сообщения закрывать глаза?! ухахахахахахаха, БРЕД, ИМХО!!!

Автор: Setuper 24.5.2009, 12:42

Тут не идёт речь об использовании подобного рода скриптов. Тут идёт речь о не распространении!!!

Ещё раз говорю, что для обнаружения багов нужно делать в скрипте дебагер, который будет отлавливать спорные моменты. С антирекламой должен справляться фильтр.

Те же самые "русские" слова автора я видел на зарубежном форуме - итог вынесение предупреждения о закрытии доступа к форуму. С зарубежными нашими коллегами я полностью согласен, если кто-то считает, что логирование личек должно существовать на хабе, то у этих людей не все дома!

Существование данной темы на данном форуме возможно только при условии отсутствия логирования и всякой информации об этом!!!

Автор: sheriff02 24.5.2009, 15:12

Хм...Ну не согласен я....Господа.Заходят к нам несколько человек с "вражеского" спамерского хаба - с динамик ип и меняют ники.И понеслась в личку спамить всем свой хаб. Благо с последних версий срабатывает извещение о работе антирекламы в личках бот Phazeus'a.И при этом ботов запускают.Так что на хаб валится по 300 юзеров + от каждого фиктивных.А блок по входу с одного ип не включить - есть регион с проксёй.Но вобщем то канал отлично выдерживает, но выпалить людей с динамик ип и никами с потолка тяжело.А вот в личке они договариваются обычно.Для этого мне и НУЖЕН лог привата.Он хранится всего один день.Дальше его крон удаляет.Но вот произошедшее за этот день, жалобы какие в случае нужды можно разобрать.Спамеров удаётся найти и при нужде принять меры через провайдера.Видя там ип и остальное.И доступ к пмлогу есть только у админов.Так что я считаю крайне нужная функция.Я уж молчу про хулиганов в личку и возможность проверит катит ли бочку юзер на другого или уто-то чудит.А что читать то особо в личках - кроме спорных вопросов там на 98% дай слот...дай слот...

Автор: Wariner 24.5.2009, 15:55

для особо внимательных:

Цитата(Setuper @ 24.5.2009, 13:42) *
Тут не идёт речь об использовании подобного рода скриптов. Тут идёт речь о не распространении!!!

и так же тут не идёт речь будет разрешено или не будет! Вопрос закрыт! С этим плагином скрипт будет удалён с форума!!!

Автор: Phazeus 24.5.2009, 16:11

Поддержка бота на этом ресурсе закрыта.

За ботом и обновлениями на другие ресурсы.

С Уважением к пользователям.

Автор: Nickolya 24.5.2009, 23:17

Устроили тут срач, вообще непорядок! Давайте решим вопрос по-хорошему чтоли? Хотя бы ради года форуму big_smile.gif

Так вот, от лица главного админа, тобишь меня, прошу продолжать поддержку бота на форуме, ввиду его понятной полезности, универсальности, функциональности и так далее... feel_good.gif

Конечно с тем но, что этот плагин будет отсутствовать в архиве. Думаю кому надо наберут название бота в поисковике и поимеют полную версию, или же можно попросить автора дать им плагин. Попробую от себя еще раз объяснить причину этой просьбы: вся проблема в том, что есть хабы куда ты заходишь и качаешь, хорошо, там этот функционал будет просто бесполезной вещью, дай слот и какие-то другие посторонние разговоры нам не интересны. Теперь другая сторона монеты: есть тематические или местные хабы, где каждый знает другого, где в полноценной форме организовано сообщество людей, со своими трениями и радостями, друзьями и врагами, группами и так далее. Так вот, моя неприязнь этой фишке как раз выразила себя когда такой скрипт попал в чужие руки, да, он был моего пера, из 10 строк, но работал как надо big_smile.gif Человек его установил на свой хаб, не такой уж и большой, но на котором общалось почти 100% населения. И прочитав чей-то разговор, он зашел под ником одного из собеседников и позабавился издевательствами и прочим (пароль для админа - не проблема). Потом было много криков и прочей неприятной лабуды... Долго это все разруливали пока в конце концов народ не ушел на другой хаб.
Конечно вся моральная сторона - как используется данная возможность, но давать ее всем крайне опасно. Почему для получения оружия надо столько справок? Сначала хотят знать что ты не псих - потом уже дают разрешение big_smile.gif С интернетом конечно все не так, тут нет никаких справок и скорость распространения информации просто невероятна. Так что решением видится нераспространение такого контента в паблике, тобишь общем доступе, а кому надо - тот достанет всеравно.

Надеюсь я буду услышан и понят. Будьте лояльнее, прошу Вас! Добрее, чище, светлее... big_smile.gif
С многоуважаемого Phazeus'а снимаю предупреждения, прошу вернуть поддержку и понять всю суть проблемы. big_smile.gif

При положительном исходе думаю стоит почистить тему от всего ненужного флуда... Или вынести в отдельное обсуждение как историю. Второй вариант считаю предпочтительнее.


Peace, your adm N.

Автор: Setuper 24.5.2009, 23:38

Я прошу автора на всех форумах, и вообще везде не распространять плагин с логированием личек. Как говорится, юзай сам, но не распространяй.

Действительно, "близкие люди" могут попросить у автора непосредственно, однако давать плагин кому попало не следует!

Автор: Otshelnik-Fm 27.5.2009, 20:40

Автор обиделся и ушел. Жаль конечно... Если бы знали когда "приручали" атом что из этого выйдет...

Автор: Phazeus 12.6.2009, 1:29

Продолжаю поддержку Экзекутора тут big_smile.gif

Плагин лога по умолчанию не включен в дистрибутив. Теперь, если активен лог ПМ, при входе пользователи получают соответствующее уведомление. Так что лишний раз ради развлечений, думаю, никто его использовать не будет. А "нормальные" админы в служебных целях будут использовать, но при этом пользователи будут об этом знать. Хорошая была идея с уведомлением...


Вышла новая версия: 2.0.3. Небольшие багфиксы, новые функции. Обновлены и дополнены плагины.

Автор: KRAVA 21.6.2009, 18:27

А у меня такой вопрос:
Юзер не зарегистрированный на хабе видит главное меню но не видит все возможности управления ботом, но стоит зарегистрироваться и доступно все
[18:23:34] <•Моск•> KLAVA33 щёлкает рубильником и отключает общий Чат.
[18:24:06] <•Моск•> KLAVA33 щёлкает рубильником и снова включает общий Чат.
Как можно ограничить доступность для всех юзеров кроме мастера?

Автор: Severskline 23.6.2009, 18:07

Настрой права на доступ по профилям в файлах HubMenu.lua и BotMenu.lua

Автор: KRAVA 23.6.2009, 22:26

а точнее что и где?

Автор: Arcanum 5.7.2009, 13:36

вопрос наперёд (сам пока не пробовал): под фрибсд (птока 411) бот нормально работает или нет?
автору д/з: сделать не только выбор работы бота под различными хабами но и под различными ОСями

Автор: Gild 6.7.2009, 17:23

Спасибо за бота, понравился. Возник такой вопрос, а можно к боту прикрутить доп. информацио о пользователях такого рода:
сколько раз банили/глушили, за что и когда
автовременной накопительный бан по числу нарушений
информация о айпишке - какие ники входили с нее
информация о нике - с каких айпишек входили с этих ников

Просто сейчас именно этого не хватает...

Автор: Severskline 6.7.2009, 19:13

Arcanum, работает нормально

Автор: leonss 7.7.2009, 15:29

Подскажите, как сделать, чтобы, когда пользователи нецензурно выражались, маты высвечивались в отдельно окне? Эта функция была, но после переустановки бота пропала, получается, так что бот просо скрывает нецензурные выражения. И укажите путь к папке где находится •Словарь• ?

Автор: Vizunchik 8.7.2009, 13:13

народ сможете убрать излишки из бота и сделать под VerliHub

Автор: Отшельник 8.7.2009, 18:13

Цитата(Vizunchik @ 8.7.2009, 13:13) *
народ сможете убрать излишки из бота и сделать под VerliHub

laughing.gif .....
----------------------------------------------- Конфигурация -------------------------------------------->>>
--<<>><<>><<>><<>> текущая версия API: <<>><<>><<>><<>> (задать значение)
localization = "verlihub" -- (возможные значения: "verlihub", "ptokax04", "eximius")
--<<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>>
Он как на птоку так и на верли и ещё какойто eximius (хотя я не могу понять что это big_smile1.gif )

Автор: Tarantul13 9.7.2009, 0:00

после того как юзеры регестрируються у них сразу появляеться ряд возможностей пример был выше вкл\выкл общий чат --ненашол в указаных скриптах,дальше реги могут удалять регистрации тож странно но ненашол прав на удаление.вот список что я отключить у регов несмог (если есть способ опиши пожалуйсто) :Шпионы,обязательные ники,спец команды( в них вкл\выкл общего чата),замены(реги могут изменять заменяемые слова(сорь за каламбур)),удолять добовлять тригерры и многое многое другое.
P/S: сам бот очень кульный мне понравился Автор красаава beat_brick.gif

Автор: aspirin 9.7.2009, 1:04

Цитата(Tarantul13 @ 9.7.2009, 0:00) *
после того как юзеры регестрируються у них сразу появляеться ряд возможностей пример был выше вкл\выкл общий чат --ненашол в указаных скриптах,дальше реги могут удалять регистрации тож странно но ненашол прав на удаление.вот список что я отключить у регов несмог (если есть способ опиши пожалуйсто) :Шпионы,обязательные ники,спец команды( в них вкл\выкл общего чата),замены(реги могут изменять заменяемые слова(сорь за каламбур)),удолять добовлять тригерры и многое многое другое.
P/S: сам бот очень кульный мне понравился Автор красаава beat_brick.gif

Зайди в птоку менеджер профилей и раставь их в таком порядке:
NetFounder
Master
Moderator
Operator
VIP
Reg

Автор: Tarantul13 9.7.2009, 21:09

есть у кого антимат с большем количеством слов и чтоб реагировало если слова через пробел написаны а то слово Х*й меняет а вот х * й неменяет?и как отключить словарь?

Автор: aspirin 10.7.2009, 2:45

Цитата(Tarantul13 @ 9.7.2009, 21:09) *
есть у кого антимат с большем количеством слов и чтоб реагировало если слова через пробел написаны а то слово Х*й меняет а вот х * й неменяет?и как отключить словарь?

Шаблонов антимата там достаточно, бот не рассчитан на умышленный обход иначе будут ложные срабатывания.
Словарь удаляется так: специальные команды, роботы, удалить. big_smile.gif

Автор: leonss 10.7.2009, 20:21

Цитата(leonss @ 7.7.2009, 16:29) *
Подскажите, как сделать, чтобы, когда пользователи нецензурно выражались, маты высвечивались в отдельно окне? Эта функция была, но после переустановки бота пропала, получается, так что бот просо скрывает нецензурные выражения. И укажите путь к папке где находится •Словарь• ?



Подскажите? Я дмаю для вас это не проблема...

Автор: aspirin 11.7.2009, 3:08

Цитата
Подскажите, как сделать, чтобы, когда пользователи нецензурно выражались, маты высвечивались в отдельно окне?
Насколько я знаю бот это не поддерживает...
Цитата
И укажите путь к папке где находится •Словарь• ?
Ekzekutor\PLUGINS\BotTrigs.lua и Ekzekutor\PLUGINS\BotList

Автор: Артём 12.7.2009, 11:21

Цитата(KRAVA @ 12.7.2009, 10:14) *
<•Моск•> Невозможно зайти на хаб. Ваше имя вызывает раздражение у сервера...

laughing.gif .... laughing.gif бот жжжоТ)))Тестил скрипт, но такого некогда невыдавало.

Автор: KRAVA 12.7.2009, 23:58

<•Моск•>
===== Список плохих ников: =====
===========================================

А все равно банит новых пользователей.
Переставить что ли бота заново big_smile.gif

Автор: leonss 15.7.2009, 3:48

Новая проблемма появилась, пропало меню плагинов, меню бота, меню хаба и тд.Как вернуть подскажите?

Автор: Cramac 18.7.2009, 11:33

Проблема с регистрацией пользователей.
Не могу удалить пользователя, он зарегился, а базе был, потом через бота удалил, экзекутор показывает что его нет в базе, но пользователя все равно спрашивает пароль на вход в хаб.
Как исправить?

Удалось удалить заядя в подменю "пользователь" и там выбрать удалить регистрацию.
А можно ли дать пользователям самим удалять себя? или менять пароль

Автор: anonimNO 22.7.2009, 1:03

спасибо за бота

Автор: Артём 25.7.2009, 1:57

У меня вопрос к создателю бота,где находится код и всё что нужно для работы "Жалобы" ? (пожаловатся на юзера и простить юзера).
Подскажите плиз,очень нада или дайте у кого есть отдельно такая вещица still_dreaming.gif Зарание Спасибо

Автор: DePuTaTiG 1.8.2009, 13:07

ребят! помогите пожалуйста! чет я не вдупляю куда что как кидать чтоб установить этого бота(

Автор: Артём 1.8.2009, 13:55

DePuTaTiG В архиве есть помощь по установке и настройке...

Автор: DePuTaTiG 1.8.2009, 17:08

я не могу найти там куда распаковывать)) я наверно ослеп) подскажи пожалуйста!)

Автор: Артём 1.8.2009, 17:20

папка Ekzekutor,скрипт Ekzekutor и ЗаглушкаНеизвестныхКомандПтоки.lua в папку script,а PXLuaSocket-2.0.2.rar нада извлечь в папку где находится PtokaX.exe...Пробуй.

Автор: DePuTaTiG 1.8.2009, 20:48

спс огромное)

Автор: DePuTaTiG 2.8.2009, 11:01

блииин теперь я чет не пойму как ботом пользоваться? как менюшку вызывать? )))

Автор: Артём 2.8.2009, 14:43

Цитата(DePuTaTiG @ 2.8.2009, 11:01) *
блииин теперь я чет не пойму как ботом пользоваться? как менюшку вызывать? )))

laughing.gif .... поставь галочку напротив скрипта,а потом перезайди на хаб и будет тебе менюшка. big_smile.gif

Автор: DePuTaTiG 4.8.2009, 12:44

Благодарю victory.gif

Автор: _Михаил_ 20.8.2009, 11:48

Цитата(Setuper @ 25.5.2009, 0:38) *
Я прошу автора на всех форумах, и вообще везде не распространять плагин с логированием личек. Как говорится, юзай сам, но не распространяй.


Что-то я не понимаю волнений по поводу логирования личек... ptokaX 4.1.1 сама ведет подробные логи чата и личек в том числе...

Автор: MEXAHuK 21.8.2009, 20:09

не понимаю я народ... то что в интенете - это бесполезный трёп. а если действительно люди захотят посекретничать то уж всяка не через ДЦ...

Автор: FurLion 25.8.2009, 11:59

Команда !kick проходит в общий чат и не работает, остальные теги работают, подскажите как истправить?

Автор: Setuper 27.8.2009, 0:20

Смотрите описание протокола NMDC, для того, чтобы понять как происходит кик пользователя big_smile.gif

Автор: aspirin 27.8.2009, 13:56

Цитата(Setuper @ 27.8.2009, 0:20) *
Смотрите описание протокола NMDC, для того, чтобы понять как происходит кик пользователя big_smile.gif

Посмотрел однако странно всегда пользовался командой is kicking НИК because: ПРИЧИНА а тут на те... big_smile1.gif

Автор: aspirin 27.8.2009, 18:47

Цитата(Setuper @ 27.8.2009, 16:20) *
"is kicking НИК because: ПРИЧИНА" - это всего лишь уведомление о кике.
А непосредственно за кик отвечает команда протокола $Kick

Теперь понятно! big_smile.gif

Автор: SCALOlaz 27.8.2009, 22:31

Итак. Перечитал полфорума... помню сам сливал чат-румы здесь, а где именно не нашел. Зная что они включены в Экзекутор, пишу чтобы прочёл автор.

В списке пользователей колонки в таком порядке: Ник, Шара, Описание... и т.д.

В колонке "Шара", делаем отображение количества юзеров публичных комнат

Делал на примере Чат-комнат в.1.3.3, под Птоху 4.1.1, думаю при желании переделаете под все три сервера.

Файл Rooms.lua, функция function Main(). В самый конец дописываем:

Код
    TmrMan.AddTimer(5000,"InRoomsUsers")

Тут возможны варианты, но 5 сек вполне то самое что нужно.

Далее, в любом месте, хоть в конце файла:
Код
function InRoomsUsers()
    for RoomZ in pairs(Rooms) do    -- По списку комнат
        if MySettings["RoomsList"][RoomZ][1]=="1" then   -- Если комната публичная, проводим подсчет
            local InRoomsData = 1              -- Просто значение для неважных данных MyINFO
            local InRoomUsers = 0
            for human in pairs(Rooms[RoomZ]) do
                tsIP = GetIP(human) or ""
                if tsIP and #tsIP>6 then
                if human ~= "*-==zz==~:-ЗАПЕРТО-:~==zz==-*" then InRoomUsers=InRoomUsers+1 end
                end
            end
            Core.SendToAll("$MyINFO $ALL "..RoomZ.." "..MySettings["RoomsList"][RoomZ][2].."<"..InRoomsData.." V:"..InRoomsData..",M:".."A"..",H:"..InRoomsData..",S:"..InRoomsData..">$ $"..InRoomUsers.."$"..MySettings["botemail"].."$"..InRoomUsers.."$")
        end
    end
end


Вуаля.

Автор: aspirin 28.8.2009, 10:20

SKALOlaz Не уверен то что здесь появляется автор бота, но одно знаю точно иногда работает тестовый полигон автора по этому адресу dchub://phazasoft.mine.nu

Автор: Al-j® 3.9.2009, 18:54

Цитата
[21:52:16 | 10.3.2.160] <Al-J®> античность
[21:52:18] <•Словарь•>
••• Античность ••• (БСЭ)
- Античность - , термин, восходящий к лат. antiquitas — древность, старина; в широком смысле слова он вполне равнозначен русскому «древность», чаще имеет особое употребление — в том же значении «древность», но …

••• Античность ••• (Словарь Ушакова)
АНТИ'ЧНОСТЬ, и, мн. нет, ж. 1. Греко-римский мир, его культура. 2. Отвлеч. сущ. к античный. А. позы…

••• Античность ••• (Общественные науки)
- Античность - - совокупность проявлений культуры древних греков и римлян, которые с эпохи Возрождения принято было считать классическими. лат. Anticuus - древний Античная культура…


Надо над словарём поработать
А в остальном не плохой бот (ну или я ещё не везде полазил big_smile.gif )

Автор: Артём 3.9.2009, 20:56

Цитата(aspirin @ 28.8.2009, 10:20) *
Не уверен то что здесь появляется автор бота...

ты прав))) он пост выложил и пропал)) bad_smile.gif ,а с ошибками боритесь как хотите...

Автор: MEXAHuK 7.9.2009, 19:44

Автор скрипта! копай в сторону плагина кармы (кармабот) и выбора ОПа по карме и сдлеай поласта чтобы было всё шоколадно!))))

Автор: Snipo 14.9.2009, 19:41

Народ помогите разобраться:
Хаб на линуксе (федора 8). Хаб PtokaX 0.4.1.1.
При запуске вылезает ошибка говорящая что не найдены файлы (socket.lua*) относящиеся к папке Libs (файл идёт в комплекте PXLuaSocket-2.0.2). Я так понимаю что проблема с путями*.

Действую Согласно инструкции: необходимо заметить, что в локализации PtokaX скрипт использует пакет LuaSocket 2.0.2 (он есть в дистрибутиве скрипта). Файлы и папки этого пакета из архива надо разместить в папке с исполнительным файлом сервера PtokaX.exe. Иду дальше и вижу что есть папка libs и пихаю теперь их туда. Результат не изменился.

И сам вопрос: где указывается путь к socket.lua и другим файлам папки.

Спасибо за содействие, готов отписаться более детализировано по проблеме, если возникнут предположения или идеи.

Спасибо

Автор: MEXAHuK 27.9.2009, 10:27

почитай вот http://mydc.ru/topic539.html и подумай.
лично я уже неделю думаю. может ты додумаешься раньше меня?

Автор: IvanRs 29.9.2009, 23:52

Народ , 401899266 потучитесь мне в аську , нужно помощь по скриптам , отблагодарю ...

Автор: DriverZX-10 5.10.2009, 14:33

Ребят,где в экзекуторе что надо редакнуть чтобы в информации при заходе на хаб наряду с максимум пользователей выводилось и максимальная шара на хабе? Это чтоб не юзать ещё одного скрипта на хабе типа RecordBot.
Спасиб!

Автор: SAG 5.10.2009, 16:12

не работает "словарь", при посыле слово боту в личку в ответ приходит просто ник бота - "Словарь" и ничего более. Хаб PtokaX 0.4.1.1 , может поменять нужно что-то в коде? Подскажите плиз!!!

Автор: DriverZX-10 5.10.2009, 16:42

а в чём смысл вообще этого словаря? какие его функции? я ему пишу в приват слова-ноль эмоций...

Автор: aspirin 1.11.2009, 23:17

Однако и правда старый триггер к боту •Словарь•, не работает.
Нужно обновлять!

Автор: aspirin 24.11.2009, 10:29

Триггеры/добавить триггер/шаблон

Код
^[%%%+!]словарь_[%%%S]

В ответы данного триггера добавляем этот текст
Код
{class:1:Команда только для зарегистрированных}{var:W="^%S+%s+(.+)"}{repl:</?b>=" " &#x300;="`" &#x301;="'"}{url:http://slovari.yandex.ru/search.xml?text=[W]&st_translate=0,1,utf8,"<span%s+class%=.title.><a.->.-</a>.-<span%s+class%=.source.>.-</span></span><div%s+class%=.description.>.-</div>"<span%s+class%=.title.><a.->(.-)</a>.-<span%s+class%=.source.>(.-)</span></span><div%s+class%=.description.>(.-)</div>"\n\t••• %1 ••• (%2)\n%3\n}{exit}

Далее идём в Бот-триггеры добавляем триггер боту •словарь• его шаблон
Код
^$-To:_[%%%S]_From:_[%%%S]_$-<[%%%S]>_[%%%S]

В ответы этого бот-триггера вписываем
Код
{class:1:Команда только для зарегистрированных}{var:W=".To:%s%S+%sFrom:%s%S+%s.<%S+>%s(.+)"}{repl:</?b>=" " &#x300;="`" &#x301;="'"}{url:http://slovari.yandex.ru/search.xml?text=[W]&st_translate=0,1,utf8,"<span%s+class%=.title.><a.->.-</a>.-<span%s+class%=.source.>.-</span></span><div%s+class%=.description.>.-</div>"<span%s+class%=.title.><a.->(.-)</a>.-<span%s+class%=.source.>(.-)</span></span><div%s+class%=.description.>(.-)</div>"\n\t••• %1 ••• (%2)\n%3\n}{exit}

Получили рабочий словарь, перед тем как все это делать нужно удалить старые триггеры к этому боту!!!

Автор: Definite 25.11.2009, 19:25

Отличный бот народ я особо вобщене шаю в скриптах по этому попрошу помоч почему там команды такие как бан кик и т д доступны обычному пользовотелю можно ли это исправить и как? буду блогодарен

Автор: Wariner 25.11.2009, 21:20

нужно правильно настроить скрипт под свои профили!

Автор: Кто-то_из_вне... 16.12.2009, 14:10

[13:07:30] root: [ Lua ERROR ] /etc/verlihub/scripts/Ekzekutor.lua:849: attempt to call global 'GetUsrClass' (a nil value)
[13:07:30] root: [ Lua ERROR ] /etc/verlihub/scripts/Ekzekutor.lua:354: attempt to call global 'GetUsrClass' (a nil value)
версия верли 0.9.8e-r2 , подскажите что это может быть?

Автор: Артём 16.12.2009, 15:00

Кто-то_из_вне...
Профили настрой

Автор: Кто-то_из_вне... 16.12.2009, 16:36

Цитата(Артём @ 16.12.2009, 15:00) *
Кто-то_из_вне...
Профили настрой

м....профили все стандартные...(1-10)

Автор: Артём 16.12.2009, 18:05

Не знаю что там стоит, но в ошибки о GetUsrClass говорится.

Автор: PleXXXor 21.12.2009, 15:28

Товарищи, помогите настроить плагин антирекламы, плиз. Проблема в следующем: в список рекламы добавляю слово dchub , а в список исключений, например, dchub://10.20.30.40. Я так понимаю, что адрес dchub://10.20.30.40 разрешен для написания в чат, но увы, он все равно обрабатывается модулем антирекламы после чего следует БАН. Помогите плиз, как правильно и в какой форме надо добавлять записи в список рекламы и исключений? В описании бота об этом нет ничего (((

Автор: Sinod 29.12.2009, 20:31

Цитата(-=Alexandr=- @ 28.12.2009, 23:41) *
Выключи бота и в папке scripts\Ekzekutor удали файл Config.cfg потом запусти его, всё должно сработать правда ботэ настраивать заново придёться. bad_smile.gif

Юзал, юзал, нихрена не наюзал big_smile.gif Только геморроя с настройкой бота прибавилось beat_brick.gif
UPD: Все, разобрался big_smile.gif

Автор: LoT 13.1.2010, 14:54

Пишу в этот раздел, хоть у меня не птока , а верлихаб, но проблема именно в экзекуторе.

Если в антирекламу добавить шаблон с дефисом, то фильтр не срабатывает. Например, вражеская сылка вида blablabla-lala.net проскакивает.
Вопросы: 1) в каком виде нужно вбивать шаблон в данном случае; 2) какой вообще здесь синтаксис.


UPD
Зря паниковал))
Разобрался. Нужно было копнуть в сторону рэгэкспов перла, т.е. в данном случае поставить слэш перед дефисом. В итоге: (%z?)[hH]+[aA]+[hH]+[aA]+[/-]+[lL]+[aA]+[lL]+[aA]+[.]+[nN]+[eE]+[tT]+(%z?)

Автор: Setuper 13.1.2010, 15:19

вообще-то регулярные выражения в lua, отличаются от регулярных выражений перла, поэтому дефис нужно экранировать знаком процента, а не слешом.

Автор: LoT 13.1.2010, 18:37

Цитата(PleXXXor @ 21.12.2009, 15:28) *
Товарищи, помогите настроить плагин антирекламы, плиз. Проблема в следующем: в список рекламы добавляю слово dchub , а в список исключений, например, dchub://10.20.30.40. Я так понимаю, что адрес dchub://10.20.30.40 разрешен для написания в чат, но увы, он все равно обрабатывается модулем антирекламы после чего следует БАН. Помогите плиз, как правильно и в какой форме надо добавлять записи в список рекламы и исключений? В описании бота об этом нет ничего (((

Была аналогичная проблема.
В LUA я полный ноль, но кое-что понять из текста скрипта антирекламы смог.

Дело в том, что логика алгоритма антирекламы экзекутора такова:
1) когда скрипт всречает слово dchub:// (которое находится в черном списке), он начинает искать его в исключениях.
2) А теперь внимание!!!: ищет он именно запрещенное слово, но никак не вхождение этого слова во фразу-исключение. Таким образом, он ищет в исключениях слово "dchub://", а не "dchub://10.20.30.40". Естественно, исключения в данном случае не срабатывают, т.к. искомого слова (dchub://) там попросту нет!!!

Мне кажется эта логика немного страноватой, или же просто банальная ошибка в алгоритме.

Поэтому лично я себе немного исправил файл /PLUGINS/Antireklama.AntiAD/{ваш_хаб}/Vars.lua :
...вместо
Код
function checkForAdvertising(msg)
    msg=strLower(msg)
    for i = 1,#adverTable do
        for ad0 in string.gmatch(msg, adverTable[i]) do
            if not adverTableExept[ad0] then return true end
        end
    end
    return
end


...написал
Код
function checkForAdvertising(msg)
    msg=strLower(msg)
    local exflag=0
    
    for ex, Table in pairs(adverTableExept) do
        local _,_,ex0 = string.find(ex, "(%S+)")
        if string.find(msg,ex0) then exflag = 1 end
    end
    
    if exflag == 0 then
        for i = 1,#adverTable do
            for ad0 in string.gmatch(msg, adverTable[i]) do
                if not adverTableExept[ad0] then return true end
            end
        end
    else return false
    end
    return
end


НО:
1) Как я говорил, я ниразу не программист, поэтому чувствую, здесь много лишнего, можно написать и лучше, но я не умею))
2) Теперь есть другой косяк, но о нем я промолчу...

Цитата(Setuper @ 13.1.2010, 15:19) *
вообще-то регулярные выражения в lua, отличаются от регулярных выражений перла, поэтому дефис нужно экранировать знаком процента, а не слешом.

Возможно. Попробовал оба варианта, оба работают.

Автор: Хабыч 18.1.2010, 3:58

на Eximius 2.0.5 не захотел работать скрипт

ошибки
\Ekzekutor.lua --> Error call function OnExit() ..._2_0_5_Build5_Lua_5_1\scripts\Ekzekutor\ptokax04.lua:23: attempt to call field 'UnregBot' (a string value)
\Ekzekutor.lua --> Error call function Main() ..._2_0_5_Build5_Lua_5_1\scripts\Ekzekutor\ptokax04.lua:2: attempt to index global 'SetMan' (a nil value)

Автор: LoT 18.1.2010, 21:05

Цитата(Хабыч @ 18.1.2010, 3:58) *
на Eximius 2.0.5 не захотел работать скрипт ...


п.2 инструкции ("Установка")

Автор: tolya 26.1.2010, 23:00

[00:58] В скрипте нет синтаксических ошибок
[00:58] В скрипте нет синтаксических ошибок
[00:58] В скрипте нет синтаксических ошибок
[00:58] Нет синтаксических ошибок в файле скрипта Ekzekutor.lua
[00:58] Нет синтаксических ошибок в файле скрипта ЗаглушкаНеизвестныхКомандЕксимиуса.lua
[00:58] Нет синтаксических ошибок в файле скрипта ЗаглушкаНеизвестныхКомандПтоки.lua
[00:58] Синтаксис C:/psp hub/scripts/Ekzekutor/ptokax04.lua:14: module 'socket' not found:
no field package.preload['socket']
no file 'C:\psp hub\socket.lua'
no file 'C:\psp hub\libs\socket.lua'
no file 'C:\psp hub\scripts\libs\socket.lua'
no file 'C:\psp hub\socket.dll'
no file 'C:\psp hub\libs\socket.dll'
no file 'C:\psp hub\scripts\libs\socket.dll'
[00:58] Нет синтаксических ошибок в файле скрипта Ekzekutor.lua
[00:58] Синтаксис C:/psp hub/scripts/Ekzekutor/ptokax04.lua:14: module 'socket' not found:
no field package.preload['socket']
no file 'C:\psp hub\socket.lua'
no file 'C:\psp hub\libs\socket.lua'
no file 'C:\psp hub\scripts\libs\socket.lua'
no file 'C:\psp hub\socket.dll'
no file 'C:\psp hub\libs\socket.dll'
no file 'C:\psp hub\scripts\libs\socket.dll'
[00:58] Нет синтаксических ошибок в файле скрипта Ekzekutor.lua
[00:58] Синтаксис C:/psp hub/scripts/Ekzekutor/ptokax04.lua:14: module 'socket' not found:
no field package.preload['socket']
no file 'C:\psp hub\socket.lua'
no file 'C:\psp hub\libs\socket.lua'
no file 'C:\psp hub\scripts\libs\socket.lua'
no file 'C:\psp hub\socket.dll'
no file 'C:\psp hub\libs\socket.dll'
no file 'C:\psp hub\scripts\libs\socket.dll'
[00:58] Нет синтаксических ошибок в файле скрипта Ekzekutor.lua
[00:58] Синтаксис C:/psp hub/scripts/Ekzekutor/ptokax04.lua:14: module 'socket' not found:
no field package.preload['socket']
no file 'C:\psp hub\socket.lua'
no file 'C:\psp hub\libs\socket.lua'
no file 'C:\psp hub\scripts\libs\socket.lua'
no file 'C:\psp hub\socket.dll'
no file 'C:\psp hub\libs\socket.dll'
no file 'C:\psp hub\scripts\libs\socket.dll'
[00:58] Нет синтаксических ошибок в файле скрипта Ekzekutor.lua
[00:58] Синтаксис C:/psp hub/scripts/Ekzekutor/ptokax04.lua:14: module 'socket' not found:
no field package.preload['socket']
no file 'C:\psp hub\socket.lua'
no file 'C:\psp hub\libs\socket.lua'
no file 'C:\psp hub\scripts\libs\socket.lua'
no file 'C:\psp hub\socket.dll'
no file 'C:\psp hub\libs\socket.dll'
no file 'C:\psp hub\scripts\libs\socket.dll'
[00:58] Нет синтаксических ошибок в файле скрипта Ekzekutor.lua
[00:58] Синтаксис C:/psp hub/scripts/Ekzekutor/ptokax04.lua:14: module 'socket' not found:
no field package.preload['socket']
no file 'C:\psp hub\socket.lua'
no file 'C:\psp hub\libs\socket.lua'
no file 'C:\psp hub\scripts\libs\socket.lua'
no file 'C:\psp hub\socket.dll'
no file 'C:\psp hub\libs\socket.dll'
no file 'C:\psp hub\scripts\libs\socket.dll'
[00:58] Нет синтаксических ошибок в файле скрипта Ekzekutor.lua
[00:58] Синтаксис C:/psp hub/scripts/Ekzekutor/ptokax04.lua:14: module 'socket' not found:
no field package.preload['socket']
no file 'C:\psp hub\socket.lua'
no file 'C:\psp hub\libs\socket.lua'
no file 'C:\psp hub\scripts\libs\socket.lua'
no file 'C:\psp hub\socket.dll'
no file 'C:\psp hub\libs\socket.dll'
no file 'C:\psp hub\scripts\libs\socket.dll'
[00:58] Нет синтаксических ошибок в файле скрипта Ekzekutor.lua
[00:58] Синтаксис C:/psp hub/scripts/Ekzekutor/ptokax04.lua:14: module 'socket' not found:
no field package.preload['socket']
no file 'C:\psp hub\socket.lua'
no file 'C:\psp hub\libs\socket.lua'
no file 'C:\psp hub\scripts\libs\socket.lua'
no file 'C:\psp hub\socket.dll'
no file 'C:\psp hub\libs\socket.dll'
no file 'C:\psp hub\scripts\libs\socket.dll'
[00:58] Нет синтаксических ошибок в файле скрипта Ekzekutor.lua
[00:58] Синтаксис C:/psp hub/scripts/Ekzekutor/ptokax04.lua:14: module 'socket' not found:
no field package.preload['socket']
no file 'C:\psp hub\socket.lua'
no file 'C:\psp hub\libs\socket.lua'
no file 'C:\psp hub\scripts\libs\socket.lua'
no file 'C:\psp hub\socket.dll'
no file 'C:\psp hub\libs\socket.dll'
no file 'C:\psp hub\scripts\libs\socket.dll'
[00:58] Нет синтаксических ошибок в файле скрипта Ekzekutor.lua
[00:58] Синтаксис C:/psp hub/scripts/Ekzekutor/ptokax04.lua:14: module 'socket' not found:
no field package.preload['socket']
no file 'C:\psp hub\socket.lua'
no file 'C:\psp hub\libs\socket.lua'
no file 'C:\psp hub\scripts\libs\socket.lua'
no file 'C:\psp hub\socket.dll'
no file 'C:\psp hub\libs\socket.dll'
no file 'C:\psp hub\scripts\libs\socket.dll'
[00:58] Нет синтаксических ошибок в файле скрипта Ekzekutor.lua
[00:58] Синтаксис C:/psp hub/scripts/Ekzekutor/ptokax04.lua:14: module 'socket' not found:
no field package.preload['socket']
no file 'C:\psp hub\socket.lua'
no file 'C:\psp hub\libs\socket.lua'
no file 'C:\psp hub\scripts\libs\socket.lua'
no file 'C:\psp hub\socket.dll'
no file 'C:\psp hub\libs\socket.dll'
no file 'C:\psp hub\scripts\libs\socket.dll'
[00:58] Нет синтаксических ошибок в файле скрипта Ekzekutor.lua
[00:58] Синтаксис C:/psp hub/scripts/Ekzekutor/ptokax04.lua:14: module 'socket' not found:
no field package.preload['socket']
no file 'C:\psp hub\socket.lua'
no file 'C:\psp hub\libs\socket.lua'
no file 'C:\psp hub\scripts\libs\socket.lua'
no file 'C:\psp hub\socket.dll'
no file 'C:\psp hub\libs\socket.dll'
no file 'C:\psp hub\scripts\libs\socket.dll'
[00:58] Нет синтаксических ошибок в файле скрипта Ekzekutor.lua
[00:58] Синтаксис C:/psp hub/scripts/Ekzekutor/ptokax04.lua:14: module 'socket' not found:
no field package.preload['socket']
no file 'C:\psp hub\socket.lua'
no file 'C:\psp hub\libs\socket.lua'
no file 'C:\psp hub\scripts\libs\socket.lua'
no file 'C:\psp hub\socket.dll'
no file 'C:\psp hub\libs\socket.dll'
no file 'C:\psp hub\scripts\libs\socket.dll'
[00:58] Нет синтаксических ошибок в файле скрипта Ekzekutor.lua
[00:58] Синтаксис C:/psp hub/scripts/Ekzekutor/ptokax04.lua:14: module 'socket' not found:
no field package.preload['socket']
no file 'C:\psp hub\socket.lua'
no file 'C:\psp hub\libs\socket.lua'
no file 'C:\psp hub\scripts\libs\socket.lua'
no file 'C:\psp hub\socket.dll'
no file 'C:\psp hub\libs\socket.dll'
no file 'C:\psp hub\scripts\libs\socket.dll'
[00:58] Скрипт остановлен.

это че запускаю хаб потом скрипт и вот((((

Автор: Saymon 26.1.2010, 23:23

спойлер есть на форуме для таких длинных сообщений. Библиотеки установил?

Автор: tolya 26.1.2010, 23:47

какие?

Автор: Saymon 27.1.2010, 0:13

ну всё ставь библиотеки которые в архиве с ботом

Автор: tolya 27.1.2010, 2:06

да куда их пихать?

Автор: Saymon 27.1.2010, 2:14

создай папку libs там где лежит PtokaX.exe и в эту папку кидай

Автор: girs 27.1.2010, 9:22

Здравствуйте! Пожалуйста, не могли бы вы мне помочь. Запретил внешние запросы для диапазона IP.

============================== Список сетей: ==============================
1. 10.0.0.1 - 10.255.254.254 Gold-Key.
2. 169.254.0.1 - 169.254.254.254 Massacre.
3. 192.168.0.0 - 192.168.254.254 Zare4Net.
=================================================================================

Теперь выдаёт такое сообщение:
[15:16:40] <MassNet_chat> <•Экзекутор•> *** 01/27/10 15:16:52 В скрипте произошла ошибка: ...cripts/Ekzekutor/PLUGINS/Seti.Nets/ptokax04/Vars.lua:8: attempt to perform arithmetic on a nil value
[15:16:40] <MassNet_chat> <•Экзекутор•> Внимание!!! Перед использованием плагина конвертирования профилей не забудьте создать копию папки скриптов!!! Плагин конвертирует профили команд меню в соответствии с заданными Вами параметрами. Новые профили задаются отдельно для каждого присутствующего профиля в файлах меню перед началом конвертации. Если Вы не знаете, что делаете, не используйте плагин конвертирования профилей команд файлов меню!

[15:18:42] *** Ушёл: •Словарь•
[15:18:42] *** Ушёл: •Экзекутор•
[15:18:42] *** Пришёл: •Экзекутор•
[15:18:42] *** Пришёл: •Словарь•

Может кто сталкивался? Подскажите. Я новенький tire.gif На хабе запущено ещё несколько скриптов.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Редактирую: от диапазона видимо не зависит. Даже когда в списке нет диапазонов с запретом запросов, включаешь блокировку внешних запросов и
начинается вот это.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Короче сам методом тыка разобрался. Виключил скрипт Викторины и всё стало нормально, но как-то викторину тоже хотелось бы запустить..... baffle.gif
Спасибо за внимание...

Автор: Nickolya 27.1.2010, 13:22

Библиотеку 'socket', это написано в ошибке, которую стоило прочитать до того как паниковать big_smile.gif Библиотека лежит тут: http://mydc.ru/topic43.html
girs, напиши автору напрямую, так будет быстрее.

Автор: Andrew Frost 3.2.2010, 5:30

Тут есть кто пользуется данным ботом на Verlihub?Если есть,то помогите найти ответ.Меняю в ручную настройки в файлах бота,но они не вступают в силу.Например в сообщении приветствии для теста удалил одну строку,но после перезапуска самого скрипт-бота,плагина LUA для верли,даже после рестарта хаба изменения не вступают в силу,что может быть не так? extreme_sexy_girl.gif Сам бот работает без сбоев.

Phazeus молодец!!!Новый RC 2.1 бота выпустил!!!Ща тестить будемс! beauty.gif Вопрос выше остается открытым secret_smile.gif Чейндж лист тоже ждемс!Урааа!Уже сразу по весу вижу что многого добавилось big_smile1.gif

Автор: ura1961 14.2.2010, 17:59

Поставил это чудо.
После установки его пропали почти все пользователи ,осталось только несколько.
Скажите,как с этим бороться

Автор: CeMKa 17.2.2010, 18:12

Народ, помогите пожалуйста ламеру (всетаки выходит что я ламер)
Стоит Verlihub 0.9.8e-r2 на платформе Open SUSE linux 10.0. Хочу поставить Екзекутора, мануал на офф сайте не полон для полного описания установки. Как я понял, в систему дополнительно ставится Lua, дак вот что, поставил я Lua.

ISERVER:/usr/local/lib # lua
Lua 5.1.3 Copyright © 1994-2008 Lua.org, PUC-Rio
>

Поменял платформу как указано в мануале на офф сайте на Verlihub. Запихал папку Ekzekutor в папку /etc/verlihub/scripts/

ISERVER:/usr/local/lib # ls /etc/verlihub/scripts/
Ekzekutor Ekzekutor.lua
ISERVER:/usr/local/lib #


Суть вопроса вот в чем:

Как его запускать то елы? этого бота big_smile.gif Фиг пойми как свзать верлихаб и екзекутора, не будет же он просто при старте хаба из папки грузиться.
Помогите ламеру ребят big_smile.gif уже нерв не хватает с мертвым инетом на 64кбит гуглить по одним и тем же мануалам......

Мб запуск бота в конфиг добавлять нада или еще куда?

Заранее благодарен!!!! Если это где-то описывалось извиняйте big_smile.gif сил уже нету.. big_smile.gif

Автор: Nickolya 17.2.2010, 22:04

Есть плагин скриптов луа для верли, он добавляет несколько команд в хаб, этими командами управляются скрипты, я сам не пользовался верлихабом, но думаю тебе надо копать в эту сторону.

Автор: CeMKa 18.2.2010, 12:45

В общем тема остается актуальной.
Аффтар, ты где? Помогите ребят. в доках ни про какой плагин ни слова нету. Че за плагин? где брать?

Автор: Nickolya 18.2.2010, 13:06

Набери verlihub в яндексе и все найдешь... Если конкретно тебе http://mydc.ru/r/?http://verlihub.aliki.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_LuaScript и http://mydc.ru/r/?http://www.verlihub-project.org/doku.php?id=download beat_brick.gif

Автор: LoT 18.2.2010, 17:15

1) Ставишь плагин LuaScript - для поддержки луа-скриптов
2) Кидаешь в директорию scripts файл Ekzekutor.lua
3) В директорию scripts кидаешь какталог Ekzekutor с его содержимым (структура папок из архива сохраняется)
4) В файле Ekzekutor.lua делаешь необходимые изменения настроек

5) Запускаешь скрипт, два варианта:
- !replug lua - перезапустит все луа-скрипты, и запустит экзекутора
- !luaload /etc/verlihub/scripts/Ekzekutor.lua - просто запустит экзекутора, без перезапуска остальных скриптов


----
примерно, так, если ничего не забыл

Автор: CeMKa 18.2.2010, 20:51

Спасибо за помошь ребят!!!
Я почти близок к истине.

Lua поставил, с Verlihub связал.
Только вот при запуске екзекутора матерится:

ISERVER:/etc/verlihub/scripts #
(0) Wed Feb 17 23:16:57 2010 # cVHPluginMgr - using plugins in: /etc/verlihub/plugins
------------------------
(0) Wed Feb 17 23:16:58 2010 # tCache - 8 items preloaded.
(0) Wed Feb 17 23:16:58 2010 # tCache - 0 items preloaded.
(0) Wed Feb 17 23:16:58 2010 # cVHPluginMgr - Open dir: /etc/verlihub/plugins/
(0) Wed Feb 17 23:16:58 2010 # cVHPluginMgr - OnPluginLoad: LuaScript
(0) Wed Feb 17 23:16:58 2010 # PluginBase - (LuaScript) Open dir: /etc/verlihub/scripts/
/etc/verlihub/scripts/Ekzekutor.lua:186: unexpected symbol near `#'


В Ekzekutor.lua решоточку чтоль убрать? Дак там их море big_smile.gif



ради прикола рещил убрать все решеточки в файле ekzekutor.lua.

Хаб грузится скрипт тоже, но вот только чет не до конца. Теперь при любом действии в чат, Verlihub рагуется мне в приват:
[02:24:28] <VerliHub> [ Lua ERROR ] /etc/verlihub/scripts/Ekzekutor.lua:900: attempt to call global `GetUsrClass' (a nil value)

Не понимаю, это че у меня одного чтоль такая проблема?? мб OpenSUSE фигня? хотя хз, у меня на нем все получается лучше чем на других никсах.

Автор: -=Alexandr=- 19.2.2010, 13:32

Контактные данные автора бота "Экзекутор"

Цитата
Phazeus (известный также как z0_0m).
Аська: 233-560-855, Jubber: Phazeus@jubber.ru
(разработка программ, скриптов и сайтов на заказ)

Автор: LoT 19.2.2010, 16:17

Цитата(CeMKa @ 18.2.2010, 20:51) *
/etc/verlihub/scripts/Ekzekutor.lua:186: unexpected symbol near `#'

Говорит о том, что ошибка в строке 186. Но на самом деле, я дуаю, у тебя просто неправильно что-то настроено.
Читай инструкцию к Экзекутору, там хоть и кратко, но все понятно.

Обрати внимание, что плагин BASIC обязательно должен быть включеным.

Вот, например, несколько строчек моих настроек (из файла Ekzekutor.lua):

Код
localization = "verlihub"
MySettings = {
--  ...
["FName"]="/etc/verlihub/scripts/Ekzekutor/",
-- ...
}

Автор: inmatch 20.2.2010, 11:38

Цитата(CeMKa @ 18.2.2010, 19:51) *
/etc/verlihub/scripts/Ekzekutor.lua:186: unexpected symbol near `#'


Вы уже победили их?)) У меня такая-же ботва (
Не знаю, что и делать ему - другие скрипты работают нормально.

Автор: CeMKa 21.2.2010, 10:10

я тупо удалил все решетки "#" в скрипте, если удалить решетку в 186 строке, то он начинает материться на другую строку, и тоже про ршетку.. (нифига не понятно, че за тупость)

После удаления решеток скрипт вроде как запускается, но сам екзекутор не появляется, а только Verlihub в ПМ матерится насчет скрипта.

Автора поймать в онлайне сложно...

Автор: inmatch 21.2.2010, 17:52

Удаление решеток - это не наш метод :DD
Нужно, чтобы оно потом еще и работало)

Автор: Core3 27.2.2010, 16:07

скажите как этот скрипт установить--- скопироватьвсе в папку скриптс или как то по другому??

Автор: Andrew Frost 2.3.2010, 19:07

Цитата(Core3 @ 27.2.2010, 16:07) *
скажите как этот скрипт установить--- скопироватьвсе в папку скриптс или как то по другому??

Как и все остальные скрипты ставится и запускается на верли. При установленном плагине LuaScripts [ http://mydc.ru/r/?http://www.verlihub-project.org/doku.php?id=plugins ] Доп.инфо по верлику тут http://mydc.ru/r/?http://verlihub.aliki.ru Бот полностью работоспособен, у меня хаб в населением свыше 1к юзеров, все запустилось и работает. Как прошлая версия так и эта, правда не без ковыряний, ну там надстройка под себя still_dreaming.gif Читайте форум, мануалы по боту и верли и будет счастье! surrender.gif

Автор: viktor6 4.3.2010, 18:18

Ребята подскажите как добавит погоду на свой город

Автор: CeMKa 9.3.2010, 14:41

Короче сто раз мануал который лежит прям в архиве с ботом по Екзекутору прочитал и перепроверил.
нифига не получается!

Пишу в хабе:
!pluglist all
[18:37:13] <VerliHub> Loaded plugins:
LuaScript 1.8.1
OK

Луа знач есть.

Пишу.
!luaload /etc/verlihub/scripts/Ekzekutor.lua

После чего хаб идет в даун...

Запускаю хаб по новой:
ISERVER:/etc/verlihub/plugins # verlihub &
[1] 29698
ISERVER:/etc/verlihub/plugins # Config dir /etc/verlihub
(1) Mon Mar 8 09:11:28 2010 # cMySQL - Connecting to mysql server: cemeht@localhost/verlihub using UTF8 encoding
(0) Mon Mar 8 09:11:28 2010 # cVHPluginMgr - using plugins in: /etc/verlihub/plugins
------------------------
(0) Mon Mar 8 09:11:28 2010 # tCache - 9 items preloaded.
(0) Mon Mar 8 09:11:28 2010 # tCache - 0 items preloaded.
(0) Mon Mar 8 09:11:28 2010 # cVHPluginMgr - Open dir: /etc/verlihub/plugins/
(0) Mon Mar 8 09:11:28 2010 # cVHPluginMgr - OnPluginLoad: LuaScript
(0) Mon Mar 8 09:11:28 2010 # PluginBase - (LuaScript) Open dir: /etc/verlihub/scripts/
/etc/verlihub/scripts/Ekzekutor.lua:186: unexpected symbol near `#'

[1]+ Segmentation fault verlihub

Ничего не получается.... Бота по новой закачал все по новой настраивал как написано в мануале к боту...
Мне то откуда знать че в 186 строке не так..
Помогите народ big_smile.gif

Автор: Nickolya 9.3.2010, 15:00

Все же просто, ищешь в скрипте 186 строку (Ctrl+G) и там видишь:

Код
        if #PlugList>0 then
мне вот думается что это такая версия луа и просто решетка в ней не поддерживается, попробуй заменить эту строку на
Код
        if table.maxn(PlugList)>0 then
и посмотреть будет ли ошибка в другом месте...

Автор: CeMKa 9.3.2010, 22:16

Теперь ошибка в 187 строке... та же решеточка.
пробовал везде решетки убрать, скрипт вроде грузится, хаб стартует, но при любом действии на хабе в приват вылазит вот такое сообщение:

Цитата
[02:10:14] <VerliHub> [ Lua ERROR ] /etc/verlihub/scripts/Ekzekutor.lua:849: attempt to call global `GetUsrClass' (a nil value)
[02:10:32] <VerliHub> [ Lua ERROR ] /etc/verlihub/scripts/Ekzekutor.lua:849: attempt to call global `GetUsrClass' (a nil value)
[02:10:38] <VerliHub> [ Lua ERROR ] /etc/verlihub/scripts/Ekzekutor.lua:849: attempt to call global `GetUsrClass' (a nil value)
[02:11:50] <VerliHub> [ Lua ERROR ] /etc/verlihub/scripts/Ekzekutor.lua:849: attempt to call global `GetUsrClass' (a nil value)
[02:11:50] <VerliHub> [ Lua ERROR ] /etc/verlihub/scripts/Ekzekutor.lua:354: attempt to call global `GetUsrClass' (a nil value)
[02:11:50] <VerliHub> [ Lua ERROR ] /etc/verlihub/scripts/Ekzekutor.lua:941: attempt to call global `GetIP' (a nil value)
[02:11:50] <VerliHub> [ Lua ERROR ] /etc/verlihub/scripts/Ekzekutor.lua:941: attempt to call global `GetIP' (a nil value)



Хочется всего то антирекламы и антимат.
Замучался я с этим Екзекутором...
Хочется всего то антирекламы и антимат.

Автор: Артём 9.3.2010, 22:32

Цитата(CeMKa @ 9.3.2010, 21:16) *
Хочется всего то антирекламы и антимат.

На форуме полно хороших big_smile.gif

Автор: Nickolya 10.3.2010, 10:16

Цитата(CeMKa @ 9.3.2010, 22:16) *
пробовал везде решетки убрать

Убрать их надо аналогичным образом, через замену на функцию... Или же правильно настроить скрипт или же по-другому собрать библиотеку луа.

Автор: Andrew Frost 12.3.2010, 16:19

Phazeus, спасиб за бота!Работает на верлике под FreeBSD - полет нормальный, кол-во юзеров вечером ~1500 still_dreaming.gif Обновился до 2.1.1

Автор: IRainman 13.3.2010, 20:30

Phazeus, спасибо за отличного бота. скажите пожалуйста а стоит ли ожидать в ближайшее время версию для ADC хабов?

ps: пока интересует поддержка ADCH++ и ADCH++ GUI хотя они похоже ничем не отличаются

и ещё несколько заковыристых вопросов…
Можно ли запускать скрипт из одной папки но для двух хабов?

Автор: Saymon 13.3.2010, 22:16

ADC сырой ещё, не скоро думаю там будет. Единственная нормальная платформа из этой серии которую я знаю Luadch. Но и в ней есть дыры.

Автор: IRainman 13.3.2010, 23:52

Цитата(Saymon @ 13.3.2010, 22:16) *
ADC сырой ещё, не скоро думаю там будет. Единственная нормальная платформа из этой серии которую я знаю Luadch. Но и в ней есть дыры.


На счёт сырости это факт :( но развивать надо. А проектик то, приведённый вами в пример, мёртв уже, развития почти год не наблюдается

Автор: Saymon 14.3.2010, 0:45

Ну да видел. Я его где то месяца полтора назад смотрел. После его тестирования вообще решил забить на адц. Хватит с меня!!!
А с переводом этого бота я думаю лучше подождать. Пусть хотя бы платформу до ума доведут.
Что то я даже описания апи функций не на один адц сервер не видел.
Кстати, хотя можете конечно написать разработчику бота, что бы он перевёл под любой адц серв.
Мне лично будет очень интересно поюзать big_smile.gif

ADCH++ GUI??? Что за?? Не юзал. Ссылку пожалуйста в ЛС big_smile.gif

Автор: Phazeus 27.3.2010, 23:03

Прошу прощения за отсутствие долгое время. Делал финальный релиз 2.1.1. Готово, загружено. Теперь буду заглядывать сюда big_smile.gif

Автор: Saymon 27.3.2010, 23:13

Поленился пока скачать, вопрос, настройка профилей под птоку такая же осталась?
И очень хотелось бы вот http://mydc.ru/topic3242.html. big_smile.gif

Автор: Saymon 27.3.2010, 23:31

Ну как обьяснить то....
Скрипт этот был бы полезен думаю...
С настройкой профилей и меню под себя пришлось не мало повозится в итоге так и не доделав отпало желание его ставить unhappy.gif
А где лог изменений? Зашёл сейчас я на сайт, хотел глянуть лог - пуст. unhappy.gif
Кстати, как выше интересовались - под ADC софт нет его в планах?

Автор: Артём 27.3.2010, 23:42

Так и должно кушать?


Хаб чистый, только я на нём сижу.

Автор: Saymon 27.3.2010, 23:47

Кстати, были давненько вопросы точно не вспомню по какому поводу, стучался в асю но не достучался... big_smile.gif

Цитата
Про ADC это скорее к разработчикам хаба Или что имелось в виду..

я имел ввиду этот бот под adc софтину есть ли в планах big_smile.gif

Автор: Артём 28.3.2010, 0:10

Ая яй... незя так... это дело кака big_smile1.gif

Цитата
[22:59] 10х.хх.ххх.ххх <Аpтём> --> <Артём>: ываывахэ
[22:59] 10х.хх.ххх.ххх <Артём> --> <Аpтём>: Если вы видите это сообщение значит меня нет дома.

ПМ лог кака))) secret_smile.gif

Автор: Phazeus 28.3.2010, 0:16

Цитата(Артём @ 28.3.2010, 1:10) *
Ая яй... незя так... это дело кака big_smile1.gif

ПМ лог кака))) secret_smile.gif

Так не какай. А вот подпись советую поменять. Это действительно "кака".

Автор: Артём 28.3.2010, 1:14

Цитата(Phazeus @ 27.3.2010, 23:16) *
Так не какай.

А почему тогда отдельный скрипт логирования ЛС "кака" , а в Экзекуторе не "кака" ?
Цитата
А вот подпись советую поменять. Это действительно "кака".

как бы это моя подпись big_smile1.gif и она не лезет не в чью личную "жизнь" big_smile.gif

Автор: Phazeus 28.3.2010, 1:19

Цитата(Артём @ 28.3.2010, 2:14) *
как бы это моя подпись big_smile1.gif и она не лезет не в чью личную "жизнь" big_smile.gif

Вот и не лезь в Бота. Не нравится - не используй. Не для тебя делалось. Могу вообще тему удалить. Мне этот сайт не сдался... Не этот сайт мне одожение делает, а я ему.

Автор: Wariner 28.3.2010, 1:23

ну вот опять началось.... никто никому одолжений не делает! хватит ссор!

Автор: Артём 28.3.2010, 1:31

Извини если чем обидел Phazeus big_smile.gif я же просто спросил.

Автор: Phazeus 28.3.2010, 2:07

Цитата(Артём @ 28.3.2010, 2:31) *
Извини если чем обидел Phazeus big_smile.gif я же просто спросил.

И ты извини big_smile.gif Просто плагин многофункциональный. Там логи всего можно делать, и поиск проводить. Но не для извращенцев, а для административных целей (ну как аппаратура слежения у провайдера). И если эту функцию включить, пользователи будут получать предупреждение при входе. Поэтому просто так использовать эту функцию не будут. Подумают лишний раз.

Автор: Andrew Frost 31.3.2010, 23:20

Phazeus не подскажешь как можно сделать, чтобы по команде боту через триггер инфа о погоде выводилась в чат, а не в лс? secret_smile.gif И еще, не скажешь что за изменения были произведены "Последние изменения от 18.03.2010" , просто я раньше этой даты скачал бота.

Автор: ((((F@UST)))) 31.3.2010, 23:39

Кто мне объяснит,как этот Экзекутор установить на хаб???И как установить все его менюшки???


ПОДСКАЖИТЕ!!!!

Автор: Артём 31.3.2010, 23:41

((((F@UST)))) ты что употребляешь? scorn.gif
Просто скрипт в папку scripts закидываешь, ставишь галочку в птоке и радуешся жизни.

Автор: ((((F@UST)))) 1.4.2010, 0:04

Артем У меня каждую секунду в личку выдает такое сообщение:

OpChat> <•Экзекутор•> *** 04/01/10 00:02:13 В скрипте произошла ошибка: ...абочий стол/VJZ/ПТИХА/scripts/Ekzekutor/ptokax04.lua:16: module 'socket' not found:
no field package.preload['socket']
no file 'C:\Documents and Settings\Admin\Рабочий стол\VJZ\ПТИХА\socket.lua'
no file 'C:\Documents and Settings\Admin\Рабочий стол\VJZ\ПТИХА\libs\socket.lua'
no file 'C:\Documents and Settings\Admin\Рабочий стол\VJZ\ПТИХА\scripts\libs\socket.lua'
no file 'C:\Documents and Settings\Admin\Рабочий стол\VJZ\ПТИХА\socket.dll'
no file 'C:\Documents and Settings\Admin\Рабочий стол\VJZ\ПТИХА\libs\socket.dll'
no file 'C:\Documents and Settings\Admin\Рабочий стол\VJZ\ПТИХА\scripts\libs\socket.dll'


ЧТО ЭТО СО СКРИПТОМ??? И ли я что-то не так сделал???


ПОМОГИ!!!

Автор: Setuper 1.4.2010, 0:08

А мануал слабо прочитать. Там ведь по русски всё написано. Или ты по русски читать не умеешь?

Все вопросы, которые ты задаёшь есть, нужно лишь немного почитать, а не лениться! Учись самостоятельно работать.

Автор: ((((F@UST)))) 1.4.2010, 0:13

Я в мануале ничего подходящего не нашел..

Может ты мне поможешь ответить,что мне за ошыбку выдает в личку???

Автор: Setuper 1.4.2010, 0:17

Тебя везде нужно носом тыкать, без этого ты не видишь ничего. Я думаю, ты просто не хочешь видеть.

В мануале есть раздел установки под ptokax. Нужно вдумчиво прочитать каждое предложение:

Цитата
Сразу необходимо заметить, что в локализации PtokaX скрипт использует пакет LuaSocket 2.0.2 (он есть в дистрибутиве скрипта). Файлы и папки этого пакета из архива надо разместить в папке с исполнительным файлом сервера PtokaX.exe (распаковать архив с папку с сервером).


Если так ленишься прочитать, то лучше не держи хаб. Толку от такого админа мало!

Автор: Saymon 1.4.2010, 0:17

То что в файле PXLuaSocket-2.0.2.rar распакуй в паку libs. Эта папка должна лежать там же где и PtokaX.exe
Если этой папки нет то надо создать самому.

Автор: ((((F@UST)))) 1.4.2010, 0:28

Цитата(Setuper @ 31.3.2010, 23:17) *
Тебя везде нужно носом тыкать, без этого ты не видишь ничего. Я думаю, ты просто не хочешь видеть.

В мануале есть раздел установки под ptokax. Нужно вдумчиво прочитать каждое предложение:



Если так ленишься прочитать, то лучше не держи хаб. Толку от такого админа мало!



ВИЖУ МНЕ С ЭТОЙ ОШЫБКОЙ В СКРИПТЕ НИКТО НЕ ПОМОЖЕТ!!! after_boom.gif

Автор: Saymon 1.4.2010, 0:40

((((F@UST)))),

Блин, в 255 посте что написано?????
И какого чёрта капс?!

Автор: ((((F@UST)))) 1.4.2010, 0:46

Я все распаковал и положил в либс то что было в архиве Экзекутора...Но ошыбка всеравно выдается в личку.

Вот я и спрашываю:ПОЧЕМУ???или ПОМОГИТЕ МНЕ ИСПРАВИТЬ МНЕ ЭТОТ СКРИПТ!!!

Автор: Saymon 1.4.2010, 1:07

1) Пиши нормально слепых я думаю тут нет.
2) Рассказывай - что, где, когда, куда и почему ты устанавливал скрипт.

Папку Ekzekutor кидаем в scripts
Ekzekutor.lua тоже кидаем в scripts
Всё что в архиве PXLuaSocket-2.0.2.rar - кидаем в папку \PtokaX\libs.


Автор: solider 1.4.2010, 2:30

скачал последнюю версию.
там тоже надо какие то классы делать для регистрации?
а то вот захожу незарегиный. сообщение не вылазиет. регистрации в меню нет((
остальное все поправил чо не работало.
если с гланым профилем. то там есть все пункты. включаю Регу.. а у простых нету

Автор: Phazeus 3.4.2010, 14:50

Цитата(Andrew Frost @ 1.4.2010, 0:20) *
Phazeus не подскажешь как можно сделать, чтобы по команде боту через триггер инфа о погоде выводилась в чат, а не в лс? secret_smile.gif И еще, не скажешь что за изменения были произведены "Последние изменения от 18.03.2010" , просто я раньше этой даты скачал бота.

Легко, вместо флага {url} в триггере используй флаг {varurl} и потом кидай переменную с результатом обработки куда угодно. Например, в чат big_smile.gif Примеры есть на полигоне, в дистрибутиве (некторые) и в мануале (немного).


Цитата(((((F@UST)))) @ 1.4.2010, 1:46) *
Я все распаковал и положил в либс то что было в архиве Экзекутора...Но ошыбка всеравно выдается в личку.

Распакуй архив с сокетами просто в папку с птокой и перезапусти.


Цитата(solider @ 1.4.2010, 3:30) *
скачал последнюю версию.
там тоже надо какие то классы делать для регистрации?

Да профили как написано в инструкции. Если профили такие нет возможности создавать, то нужно конвертировать файлы меню. Хотя у тебя, как я полагаю, надо лишь почитать мануал по установке и добавить недостоющие профили так, чтобы зарегистрированный пользователь был с индексом 5.

Автор: Andrew Frost 4.4.2010, 0:58

Цитата(Phazeus @ 3.4.2010, 15:50) *
Легко, вместо флага {url} в триггере используй флаг {varurl} и потом кидай переменную с результатом обработки куда угодно. Например, в чат big_smile.gif Примеры есть на полигоне, в дистрибутиве (некторые) и в мануале (немного).

Вот сделал конструкцию вида:
Код
{class:10:Only for administrators}{varurl:yar:http://www.rp5.ru/rss.php?id=9462,,,\"<item><title>.-</item>\"<item><title>(.-)</title>.-<description>(.-)</description>.-</item>\"\\n\\t••• %1 •••\\n%2\\n}{chat:<[BotName]> [yar]}
Все работает, погоду выдает в чат secret_smile.gif

Автор: Phazeus 4.4.2010, 17:00

Только делайте через меню, в файлах лучше не ковыряться лишний раз. И если это триггер имитатор команды, то используйте в конце ответа флаг {exit}, чтобы он не писал потом "неизвестная команда" big_smile.gif

Автор: Andrew Frost 6.4.2010, 1:16

Phazeus , я через меню хаба добавил триггер. В файлах не ковырял ничего secret_smile.gif все стандартными методами. Неизвестная команда тоже не пишет, это чисто для меня информер. Потому что народу много на хабе, и не все адекватные, и грузить сервер постоянными запросами погоды не айс, вот если бы погода писалась в кэш файл, и потом оттуда выдавалсь по команде, без урл-запроса still_dreaming.gif Для меня вообще в идеале чтобы погда писалась в БД, и оттуда бралась eyes_droped.gif А так приходится для себя только такие фенички оставлять. И еще, не подскажешь что необходимо изменить, чтобы в чат выдавалось сообщение о жалобах, т.е. чтобы все видели кто на кого жалуется и сколько осталось до бана у человека на которого пожаловались. Я пытался изменить, вроде получилось, только возник косяк с кол-ом жалоб до бана...Он почему то постоянно неверные данные выдавал...Даешь например 2 жалобы, а он дважды пишет что до бана осталось 4 жалобы. И еще вопрос, после того как человек перезайдет на хаб, его жалобы пропадают/аннулирются?Если да, то можно ли сделать чтобы этого не происходило? sexy_girl.gif

Автор: Phazeus 6.4.2010, 18:32

Можно в информере погоды получать погоду по таймеру (или расписанию) плагином вэб-сервисов и записывать результат в глобальную переменную триггеров, например: {varurl:TMP:...}{gvar:POGODA:[TMP]}...
При этом выдавать в триггере ответ на запрос погоды содержимое переменной [POGODA].
В чат я не делал чтобы все видели жалобы, как-то рассчитано именно на анонимность. Но можно сделать уведомление с помощью триггера, который перехватит команду и уведомит в чат, но не отрубит (без флага {exit}). Но сколько осталось - это надо вводить такую функцию тогда в плагин, а мне что-то не хочется big_smile.gif Если ты хочешь, можешь добавить в код плагина строчку для уведомления big_smile.gif А количество оставшихя жалоб видит тот, на кого жалуются, и тот, кто жалуется.
Да, сделать то можно, чтобы не аннулировались, но так сделано специально, чтобы не оставались "зависшие" жалобы. Я подумал, что лучше так, чем хранить их. Хотя можно, конечно, закомментировать строку с кодом аннулирования, но я бы не советовал.

Автор: noBap 14.4.2010, 11:58

напишите кто нибудь подробней как настроить профили в PtokaX или скинте уже настроиное чтобы заменить и радоваться жизни ))) ничего не понимаю в скриптах но очень хочется поставить этого бота. помогите пожалуйста.

Автор: noBap 15.4.2010, 15:47

создал профили но они не работают дал опа челу а толку нет прав нет в списке как админ не отобража мутатень какаято с этими профилями ((((((

Автор: Phazeus 21.4.2010, 8:48

Улучшение (фикс) для Verlihub

В локализации Verlihub откройте файл настроек Config.cfg и иправьте значение поля ["CmdPrefix"] на "^[!%+]", тоесть будет так:
["CmdPrefix"] = "^[!%+]",
Это нужно потому, что Verlihub не парсирует команду с пробелом перед префиксом как команду, поэтому шаблон префикса команд для этой локализации надо установить без пробела.

Автор: Полуношник 25.4.2010, 20:37

всем привет плыз подскажите почему на птохе 0.4.1.2 выходит такая ошибка [21:35:55] <OpChat> <•Экзекутор•> *** 04/25/10 21:35:55 В скрипте произошла ошибка: ...а (2)/0.4.1.2/0.4.1.2/scripts/Ekzekutor/ptokax04.lua:16: module 'socket' not found:
no field package.preload['socket']
no file 'C:\Documents and Settings\user\Мои документы\хзхзхзхзхзхзхзхзх\Новая папка (2)\0.4.1.2\0.4.1.2\socket.lua'
no file 'C:\Documents and Settings\user\Мои документы\хзхзхзхзхзхзхзхзх\Новая папка (2)\0.4.1.2\0.4.1.2\libs\socket.lua'
no file 'C:\Documents and Settings\user\Мои документы\хзхзхзхзхзхзхзхзх\Новая папка (2)\0.4.1.2\0.4.1.2\scripts\libs\socket.lua'
no file 'C:\Documents and Settings\user\Мои документы\хзхзхзхзхзхзхзхзх\Новая папка (2)\0.4.1.2\0.4.1.2\socket.dll'
no file 'C:\Documents and Settings\user\Мои документы\хзхзхзхзхзхзхзхзх\Новая папка (2)\0.4.1.2\0.4.1.2\libs\socket.dll'
no file 'C:\Documents and Settings\user\Мои документы\хзхзхзхзхзхзхзхзх\Новая папка (2)\0.4.1.2\0.4.1.2\scripts\libs\socket.dll' ???

Автор: Saymon 25.4.2010, 20:59

библиотка LuaSocket стоит?

Автор: Setuper 25.4.2010, 21:11

По ошибкам видно, что не стоит))
И всё же лучше располагать программы в папках без кириллицы в путях!

Автор: ldiver 27.4.2010, 15:19

Кто-нибудь пробовал перевести это на утф-8? А то я тут попробовал, ужос.. Антимат сбесился.. Да и вообще все с ума сошло..

Автор: Andrew Frost 14.5.2010, 7:46

Спасибо за выполненную просьбу с плагинами игр still_dreaming.gif

Автор: Naum_Off 16.5.2010, 22:55

Мощный бот. Спасибо автору.
Пожалуй не хватает разве что плагина анкет юзеров. Phazeus, не затруднит добавить?

Автор: Phazeus 18.5.2010, 2:38

Цитата(Naum_Off @ 16.5.2010, 23:55) *
Мощный бот. Спасибо автору.
Пожалуй не хватает разве что плагина анкет юзеров. Phazeus, не затруднит добавить?

А что это такое? Как Вы это представляете и для чего? Просто база, где можно найти интересующих людей по нику/имени или другим данным и всё такое?

Автор: (Steep)_(Boss) 18.5.2010, 10:13

Цитата(Phazeus @ 18.5.2010, 4:38) *
А что это такое? Как Вы это представляете и для чего? Просто база, где можно найти интересующих людей по нику/имени или другим данным и всё такое?

именно ты понял его верно, я бы показал скрипт но пол часа искал не нашол(анкеты),,,
просто было бы хорошо если бы добавить такой плагин что бы Юзеры создавали свои анкеты, Обьястню как ето выглядит,,
Например
мне приходит сообщение : не желаете Создать анкету?
ну и пошло поехало, в анкете запалняеш имя,аську мыло, пару почт, телефон,интересы,День рождение(и что бы при ДЕНЮХЕ Хобяб поздравления вылетали,,в многих скриптах етого нету),,,
если хочеш увидить пример работы скрипта то если найду скину!!!



-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
все таки нашол!!!
Раскрывающийся текст
-- - Теперь можно оставлять комментарии к анкетам
-- - При входе пользователь получает уведомление о новой анкете
-- - Можно выбрать, куда будут приходить сообщения от бота: в чат или приват
--
-- [1.1]:
-- Данный скрипт позволит вашим пользователям создавать и управлять своими анкетами на основании вашего шаблона.
--
-- Пункты анкеты:
-- - имя_в_реале
-- - дата_рождения
-- - знак_зодиака
-- - пол
-- - тело
-- - icq
-- - где_живешь
-- - учеба_работа
-- - о_себе
-- - семья
-- - о_других
-- - интересы
-- - музыка
-- - фильмы
-- - привычки
--
--
-- Также есть администраторская команда для редактирования чужих анкет.
-- Управление доступом к командам.
--
-- F.A.Q.
--
-- В. Как добавить или удалить пункт анкеты?
--
-- О. Во-первых, вам нужно внести новый пункт анкеты или отредактировать старый в таблице
-- tUserProfiles[sUser], которая вынесена в конфигуратор.
-- Во-вторых, необходимо отредактировать вывод анкет в чат. Данный пункт находится в
-- функции showProfile(sUser,type) - там увидете.
-- В-третьих, не забудьте поменять команды меню, которые также вынесены в конфигуратор - MenuProfile(user)
--
-- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\
--|• Настройки •||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |
-- \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/
tVar = {
sPrefix = "!", -- Префикс команд
------------------------------------------
sBot = "Profiles", -- Имя бота
sBotD = "Анкеты пользователей", -- Описание бота
sBotE = "profiles@px.net", -- Email бота
sIsOP = 1, -- Бот ОП? <1=да,0=нет>
------------------------------------------
sFolder = "AHKETbI", -- Папка скрипта
sFile = "uprofiles.dat", -- Название БД
------------------------------------------
sRCEnable = "on", -- Посылать менюшку? <on=да, off=нет>
sRCName = "Анкеты", -- Название менюшки
------------------------------------------
sEdited = "on", -- Прятать анкеты, которые еще не редактировались? <on=да, off=нет>
sSpam = "on", -- Если у юзера еще нет анкеты, то предлагать ему создать ее при входе? ;)
sMsg = "pm", -- Куда отсылать сообщения? <main=чат,pm=личка>
------------------------------------------
sMsgtoUsers = "Теперь можно создать свою анкету! Напиши !анкета создать",
};

-- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\
--|• Команды •||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |
-- \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/
tCmd = {
-- Команды пользователей
sHelp = "анхелп", -- Показать помощь
sProfile = "анкета", -- Редактировать свою анкету
sViewPro = "анкеты", -- Посмотреть список анкет юзеров
sComment = "анкоммент", -- Сделать комментарий к анкете

-- Команды админа
sDelPro = "delpro", -- Удалить анкету юзера или какое-то значение в анкете
};

-- Пункты анкеты
-- ** Советую вам сразу определиться с графами анкеты! **
-- ** Если в будущем Вы захотите изменить что-то здесь, то **
-- ** Вам придется удалить всю старую базу! **
tFields = {
["имя_в_реале"] = "",
["дата_рождения"] = "",
["знак_зодиака"] = "",
["пол"] = "",
["тело"] = "",
["icq"] = "",
["где_живешь"] = "",
["учеба_работа"] = "",
["о_себе"] = "",
["семья"] = "",
["о_других"] = "",
["интересы"] = "",
["музыка"] = "",
["фильмы"] = "",
["привычки"] = "",
};

-- Уровень доступа к командам:
--
-- Доступ = 1
-- Запрет = 0
--
-- Профили 4,5 и 6 созданы для поддержки скриптами Robocop и Leviathan
--
-- Админ доступ
pAdmin = {
[-1] = 0, -- Un-Reg
[0] = 1, -- Master
[1] = 0, -- OP
[2] = 0, -- ViP
[3] = 0, -- Reg
--[4] = 1, -- Moderator
--[5] = 1, -- Netfounder
--[6] = 1, -- Owner
};
-- Пользовательский доступ
pUser = {
[-1] = 1, -- Un-Reg
[0] = 1, -- Master
[1] = 1, -- OP
[2] = 1, -- ViP
[3] = 1, -- Reg
--[4] = 1, -- Moderator
--[5] = 1, -- Netfounder
--[6] = 1, -- Owner
};

-- Меню для редактирования пунктов своей анкеты. Специально вынес отдельно (NRJ)

function MenuProfile(user)
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Мой профиль\\Посмотреть$<%[mynick]> !"..tCmd.sProfile.."|")
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Мой профиль\\Редактировать\\Настоящее имя$<%[mynick]> !"..tCmd.sProfile.." добавить имя_в_реале %[line:Твое настоящее имя?]|")
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Мой профиль\\Редактировать\\Дата рождения$<%[mynick]> !"..tCmd.sProfile.." добавить дата_рождения %[line:Дата рождения?]|")
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Мой профиль\\Редактировать\\Знак Зодиака$<%[mynick]> !"..tCmd.sProfile.." добавить знак_зодиака %[line:Знак Зодиака?]|")
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Мой профиль\\Редактировать\\Пол$<%[mynick]> !"..tCmd.sProfile.." добавить пол %[line:ж) или м)?]|")
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Мой профиль\\Редактировать\\Телосложение$<%[mynick]> !"..tCmd.sProfile.." добавить тело %[line:Рост, вес, общее впечатление?]|")
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Мой профиль\\Редактировать\\ICQ$<%[mynick]> !"..tCmd.sProfile.." добавить icq %[line:Твоя аська?]|")
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Мой профиль\\Редактировать\\Где живешь$<%[mynick]> !"..tCmd.sProfile.." добавить где_живешь %[line:Где ты живешь?]|")
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Мой профиль\\Редактировать\\Учеба и работа$<%[mynick]> !"..tCmd.sProfile.." добавить учеба_работа %[line:Где учишься и/или работаешь?]|")
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Мой профиль\\Редактировать\\О себе$<%[mynick]> !"..tCmd.sProfile.." добавить о_себе %[line:Немного о себе..]|")
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Мой профиль\\Редактировать\\О семье$<%[mynick]> !"..tCmd.sProfile.." добавить семья %[line:Парень, девушка, муж, жена, дети?]|")
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Мой профиль\\Редактировать\\Цели знакомства$<%[mynick]> !"..tCmd.sProfile.." добавить о_других %[line:С кем бы хотелось познакомиться?..]|")
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Мой профиль\\Редактировать\\Интересы$<%[mynick]> !"..tCmd.sProfile.." добавить интересы %[line:Твои интересы?]|")
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Мой профиль\\Редактировать\\Музыка$<%[mynick]> !"..tCmd.sProfile.." добавить музыка %[line:Любимая музыка?]|")
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Мой профиль\\Редактировать\\Фильмы$<%[mynick]> !"..tCmd.sProfile.." добавить фильмы %[line:Любимые фильмы?]|")
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Мой профиль\\Редактировать\\Вредные привычки$<%[mynick]> !"..tCmd.sProfile.." добавить привычки %[line:Курение, водка, КС?big_smile.gif]|")

end

-- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\
--|• Основной код •|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |
-- \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/

if (_VERSION == "Lua 5.1") then
TableMaxSize = table.maxn; StringMatch = string.gmatch;
CollectTrash = function() collectgarbage("collect"); end
elseif (_VERSION == "Lua 5.0.3") or (_VERSION == "Lua 5.0.2") then
TableMaxSize = table.getn; StringMatch = string.gfind;
CollectTrash = function() collectgarbage(collect); end
else
Core.SendToAll("<"..tVar.sBot.."> *** Этот скрипт работает только при поддержке Lua 5.1 или Lua 5.0.X У вас же: ".._VERSION);
end

function OnStartup()
Core.RegBot(tVar.sBot,"","",true);
ProTask.LoadProfile();
end

function ChatArrival(user,data)
Core.GetUserAllData(user)
local data = string.sub(data,1,-2)
local _,_,sTrig,sCmd = string.find(data,"%b<>%s*(%S)(%S+)")
if sTrig == tVar.sPrefix then
if tScriptCmds[sCmd] then
return tScriptCmds[sCmd](user,data);
end
end
end

function ToArrival(user,data)
Core.GetUserAllData(user)
if string.sub(data,6,5+(string.len(tVar.sBot))) == tVar.sBot then
data = string.sub(data,(18+string.len(tVar.sBot)+2*string.len(user.sNick)),(string.len(data)-1));
local _,_,sTrig,sCmd = string.find(data,"(%S)(%S+)");
if sTrig and sTrig == tVar.sPrefix and sCmd and tScriptCmds[sCmd] then
return tScriptCmds[sCmd](user,"<"..user.sNick.."> "..data);
end
end
end

function UserConnected(user)
Core.GetUserAllData(user)
ProTask.RC(user,"con");
if string.lower(tVar.sSpam) == "on" then
if not tUserProfiles[user.sNick] then
Core.SendToNick(user.sNick,"<"..tVar.sBot.."> *** "..tVar.sMsgtoUsers)
else
if TableMaxSize(tUserProfiles[user.sNick]["comments"]) > tUserProfiles[user.sNick]["new"] then
Core.SendToNick(user.sNick,"<"..tVar.sBot.."> *** У твоей анкеты появились новые комментарии!")
tUserProfiles[user.sNick]["new"] = TableMaxSize(tUserProfiles[user.sNick]["comments"]);
ProTask.SaveProfile();
end
end
end
end

function OnExit()
ProTask.SaveProfile();
end

tScriptCmds = {
[tCmd.sHelp] = function(user,data)
local s = ""
if pUser[user.iProfile] == 1 then
s = s..tab.."\n\n"..tab.."::: ::: ::: Команды управления анкетой ::: ::: :::\n"
..tab.."\n\tПомощь по командам:\t\t- "..tVar.sPrefix..tCmd.sHelp
..tab.."\n\tМоя анкета:\t\t- "..tVar.sPrefix..tCmd.sProfile
..tab.."\n\tВсе анкеты:\t\t- "..tVar.sPrefix..tCmd.sViewPro
..tab.."\n\tОставить комментарий:\t\t- "..tVar.sPrefix..tCmd.sComment
end
if pAdmin[user.iProfile] == 1 then
s = s.."\n\n"..tab.."::: ::: ::: Администраторские команды ::: ::: :::"
..tab.."\n\n\tУдалить анкету/значение в анкете\t- "..tVar.sPrefix..tCmd.sDelPro.."\n"
end
ProTask.ToUser(user,s);
return true;
end,

[tCmd.sProfile] = function(user,data)
if pUser[user.iProfile] ~= 1 then return true; end
local sUser = user.sNick;
local _,_,Cmd1 = string.find(data,"%b<>%s+%S+%s+(%S+)");
if Cmd1 then
local _,_,Cmd2 = string.find(data,"%b<>%s+%S+%s+%S+%s+(%S+)");
if string.lower(Cmd1) == "создать" and not tUserProfiles[sUser] then
ProTask.NewProfile(sUser);
ProTask.RC(user,"update");
ProTask.ToUser(user,"*** Создана новая анкета! Чтобы отредактировать ее, воспользуйтесь меню или напиши в чате: "..tVar.sPrefix..tCmd.sProfile);
elseif string.lower(Cmd1) == "добавить" and tUserProfiles[sUser] then
if Cmd2 then
if tUserProfiles[sUser][string.lower(Cmd2)] then
local _,_,Cmd3 = string.find(data,"%b<>%s+%S+%s+%S+%s+%S+%s+(.*)");
if Cmd3 == "*" then
ProTask.EditProfile(sUser,string.lower(Cmd2),"No declaration");
ProTask.ToUser(user,"*** Твоя анкета изменена: "..Cmd2.." - No declaration");
elseif Cmd3 then
ProTask.EditProfile(sUser,string.lower(Cmd2),Cmd3);
ProTask.ToUser(user,"*** Твоя анкета изменена: "..Cmd2.." - "..Cmd3);
else
ProTask.ToUser(user,"*** Ошибка! Ты забыл указать значение: "..tVar.sPrefix..tCmd.sProfile.." добавить "..Cmd2.." <текст>");
end
else
ProTask.ToUser(user,ProTask.ShowProfile(sUser,"profilecmds").."\r\n"..tab.."*** Ошибка! Чтобы отредактировать пункт анкеты воспользуйтесь командой "..tVar.sPrefix..tCmd.sProfile.." добавить <пункт> <текст>, * = пустое значение.");
end
else
ProTask.ToUser(user,ProTask.ShowProfile(sUser,"user")..tab.."Выбери пункт анкеты, который хочешь\r\n"..tab.."отредактировать и укажи его значение:\r\n"..tab.." "..tVar.sPrefix..tCmd.sProfile.." добавить <пункт> <текст>\r\n"..tab.."* = пустое значение.");
end
elseif string.lower(Cmd1) == "удалить" then
if Cmd2 then
if string.lower(Cmd2) == "полностью" then
ProTask.DelProfile(sUser);
ProTask.ToUser(user,"*** Твоя анкета была удалена!");
else
ProTask.ToUser(user,"*** ВНИМАНИЕ!! Это команда полностью удалит твою анкету! Для подтверждения введи: "..tVar.sPrefix..tCmd.sProfile.." удалить полностью");
end
else
ProTask.ToUser(user,"*** ВНИМАНИЕ!! Это команда полностью удалит твою анкету! Для подтверждения введи: "..tVar.sPrefix..tCmd.sProfile.." удалить полностью");
end
else
ProTask.ToUser(user,"*** Ошибка! Для редактирования или удаления свой анкеты введи: "..tVar.sPrefix..tCmd.sProfile.." <добавить/удалить>");
end
else
if not tUserProfiles[sUser] then
ProTask.ToUser(user,"*** У тебя еще нет анкеты! Чтобы создать анкету напиши: "..tVar.sPrefix..tCmd.sProfile.." создать"); return true;
else
ProTask.ToUser(user,ProTask.ShowProfile(sUser,"user").."\r\n"..tab.."Для редактирования или удаления\r\n"..tab.."свой анкеты введи: "..tVar.sPrefix..tCmd.sProfile.." <добавить/удалить>");
end
end
return true;
end,

[tCmd.sViewPro] = function(user,data)
if pUser[user.iProfile] ~= 1 then return true; end
local _,_,sUser = string.find(data,"%b<>%s+%S+%s+(%S+)");
if tUserProfiles[sUser] then
ProTask.ToUser(user,ProTask.ShowProfile(sUser,"user"));
else
ProTask.ToUser(user,ProTask.ShowProfile(user,"allusers").."\r\n"..tab.."*** "..tVar.sPrefix..tCmd.sViewPro.." <ник> для просмотра анкеты. ***");
end
return true;
end,

[tCmd.sComment] = function(user,data)
if pUser[user.iProfile] ~= 1 then return true; end
local _,_,sUser,sComment = string.find(data,"%b<>%s+%S+%s+(%S+)%s+(.*)");
if sUser and tUserProfiles[sUser] and sComment then
table.insert(tUserProfiles[sUser]["comments"], {["user"] = user.sNick,["msg"] = sComment});
ProTask.ToUser(user,"*** Твой комментарий добавлен!");
ProTask.SaveProfile();
else
ProTask.ToUser(user,ProTask.ShowProfile(user,"allusers").."\r\n"..tab.."*** Ошибка! Чтобы добавить комментарий к анкете введите: "..tVar.sPrefix..tCmd.sComment.." <ник> <коммент> ***");
end
return true;
end,

[tCmd.sDelPro] = function(user,data)
if pAdmin[user.iProfile] ~= 1 then return true; end
local _,_,Cmd1 = string.find(data,"%b<>%s+%S+%s+(%S+)");
if Cmd1 and Core.GetUser(Cmd1,true) then
local _,_,Cmd2 = string.find(data,"%b<>%s+%S+%s+%S+%s+(%S+)");
if Cmd2 then
if string.lower(Cmd2) == "удалить" then
ProTask.DelProfile(Cmd1);
ProTask.ToUser(user,"*** Анкета юзера "..Cmd1.." была удалена.");
elseif tUserProfiles[Cmd1][string.lower(Cmd2)] then
ProTask.EditProfile(Cmd1,string.lower(Cmd2),"No declaration");
ProTask.ToUser(user,"*** Пункт анкеты "..Cmd2.." юзера "..Cmd1.." был очищен.");
else
ProTask.ToUser(user,"*** Ошибка! Ты забыл указать, что мы будем делать - удалять или редактировать анкету: "..tVar.sPrefix..tCmd.sDelPro.." "..Cmd1.." <пункт/удалить>");
end
else
ProTask.ToUser(user,ProTask.ShowProfile(Cmd1,"user").."\r\n"..tab.."*** Укажите пункт для удаления или воспользуйтесь\r\n"..tab.."командой 'удалить', чтобы стереть всю анкету:\r\n"..tab..tVar.sPrefix..tCmd.sDelPro.." <ник> <пункт/удалить>");
end
else
ProTask.ToUser(user,"*** Чтобы удалить анкету юзера или пукнт чьей-либо анкеты воспользуйтесь командой: "..tVar.sPrefix..tCmd.sDelPro.." <ник>");
end
return true;
end,
}

ProTask = {
["RC"] = function(user,type)
if type == "con" then
if user.bUserCommand then
if pUser[user.iProfile] == 1 and string.lower(tVar.sRCEnable) == "on" then
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Помощь$<%[mynick]> !"..tCmd.sHelp.."|")
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Оставить коммент$<%[mynick]> !"..tCmd.sComment.." %[line:Ник?] %[line:Коммент?]|")
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Просмотр\\Все анкеты$<%[mynick]> !"..tCmd.sViewPro.."|")
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Просмотр\\Анкета этого юзера$<%[mynick]> !"..tCmd.sViewPro.." %[nick]|")
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Просмотр\\Анкета юзера..$<%[mynick]> !"..tCmd.sViewPro.." %[line:Введите ник]|")
if tUserProfiles[user.sNick] then
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Мой профиль\\Посмотреть$<%[mynick]> !"..tCmd.sProfile.."|")
MenuProfile(user)
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Мой профиль\\Удалить\\Свою анкету$<%[mynick]> !"..tCmd.sProfile.." удалить|")
else
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Мой профиль\\Создать анкету$<%[mynick]> !"..tCmd.sProfile.." создать|")
end
end
if pAdmin[user.iProfile] == 1 and string.lower(tVar.sRCEnable) == "on" then
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Админ\\Удалить анкету юзера$<%[mynick]> !"..tCmd.sDelPro.." %[line:Ник юзера?] удалить|")
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Админ\\Удалить пункт анкеты юзера$<%[mynick]> !"..tCmd.sDelPro.." %[line:Ник юзера?] %[line:Пункт анкеты?]|")
end
end
elseif type == "update" then
MenuProfile(user)
Core.SendToNick(user.sNick,"$UserCommand 1 3 "..tVar.sRCName.."\\Мой профиль\\Удалить\\Свою анкету$<%[mynick]> !"..tCmd.sProfile.." удалить|")
end
end,

["ToUser"] = function(user,s)
if tVar.sMsg == "pm" then
Core.SendPmToNick(user.sNick,tVar.sBot,s);
else
ProTask.ToUser(user,s);
end
end,

["NewProfile"] = function(sUser)
tUserProfiles[sUser] = tFields
tUserProfiles[sUser]["edited"] = "0";
tUserProfiles[sUser]["comments"] = {};
tUserProfiles[sUser]["new"] = 0;
ProTask.SaveProfile();
end,

["SaveProfile"] = function()
local f = assert(io.open(tVar.sFolder.."/"..tVar.sFile,"w+"),"Cannot locate folder: scripts\\"..tVar.sFolder);
ProTask.Serialize(tUserProfiles,"tUserProfiles",f);
f:close();
end,

["Serialize"] = function(tTable,sTableName,hFile,sTab)
sTab = sTab or "";
hFile:write(sTab..sTableName.." = {\n");
for key,value in pairs(tTable) do
if (type(value) ~= "function") then
local sKey = (type(key) == "string") and string.format("[%q]",key) or string.format("[%d]",key);
if(type(value) == "table") then
ProTask.Serialize(value,sKey,hFile,sTab.."\t");
else
local sValue = (type(value) == "string") and string.format("%q",value) or tostring(value);
hFile:write(sTab.."\t"..sKey.." = "..sValue);
end
hFile:write(",\n");
end
end
hFile:write(sTab.."}");
end,

["LoadProfile"] = function()
if loadfile(tVar.sFolder.."/"..tVar.sFile) then
dofile(tVar.sFolder.."/"..tVar.sFile);
else
local f = assert(io.open(tVar.sFolder.."/"..tVar.sFile,"w+"),"Cannot locate folder: scripts\\"..tVar.sFolder);
f:write("ProfileData = {\r\n}");
f:close();
io.flush();
tUserProfiles = {};
end
end,

["EditProfile"] = function(sUser,sItem,sValue)
if tUserProfiles[sUser] then
tUserProfiles[sUser][sItem] = sValue;
if tUserProfiles[sUser]["edited"] == "0" then tUserProfiles[sUser]["edited"] = "1"; end
ProTask.SaveProfile();
else
ProTask.NewProfile(sUser); ProTask.SaveProfile(); ProTask.EditProfile(sUser,sItem,sValue)
end
end,

["DelProfile"] = function(sUser)
tUserProfiles[sUser] = nil;
ProTask.SaveProfile();
end,

["ShowProfile"] = function(sUser,type)
local sMsg = "\r\n\r\n"..tab;
if type == "user" then sMsg = sMsg.."-= Анкета "..sUser.." =-\r\n\r\n";
elseif type == "profilecmds" then sMsg = sMsg.."-= Анкета "..sUser.." - Показ команд =-\r\n\r\n";
elseif type == "all" or type == "allusers" then sMsg = sMsg.."-= Анкеты всех юзеров =-\r\n\r\n"; end
local Lines = function(s,n,u)
local tab = string.rep("\t",n);
local msg = "\n"..tab..u..": "
if string.find(s,"^(.-)\n") then
s = s.."\n"
local p = "\n"
for line in StringMatch(t,".-\n") do
if string.len(string.gsub(line,"%s+","")) ~= 0 then
p = p..tab.." - "..line;
end
end
return msg..p;
else
return msg..s;
end
end
if type == "user" then
if tUserProfiles[sUser] then
sMsg = sMsg..tab..string.rep("«»",19).."\r\n"
sMsg = sMsg..tab.."имя_в_реале\t - "..tUserProfiles[sUser]["имя_в_реале"].."\r\n";
sMsg = sMsg..tab.."дата_рождения\t - "..tUserProfiles[sUser]["дата_рождения"].."\r\n";
sMsg = sMsg..tab.."пол\t\t - "..tUserProfiles[sUser]["пол"].."\r\n";
sMsg = sMsg..tab.."тело\t\t - "..tUserProfiles[sUser]["тело"].."\r\n";
sMsg = sMsg..tab.."icq\t\t - "..tUserProfiles[sUser]["icq"].."\r\n";
sMsg = sMsg..tab.."где_живешь\t - "..tUserProfiles[sUser]["где_живешь"].."\r\n";
sMsg = sMsg..tab.."учеба_работа\t - "..tUserProfiles[sUser]["учеба_работа"].."\r\n";
sMsg = sMsg..tab.."о_себе\t\t - "..tUserProfiles[sUser]["о_себе"].."\r\n";
sMsg = sMsg..tab.."семья\t\t - "..tUserProfiles[sUser]["семья"].."\r\n";
sMsg = sMsg..tab.."о_других\t - "..tUserProfiles[sUser]["о_других"].."\r\n";
sMsg = sMsg..tab.."интересы\t - "..tUserProfiles[sUser]["интересы"].."\r\n";
sMsg = sMsg..tab.."музыка\t - "..tUserProfiles[sUser]["музыка"].."\r\n";
sMsg = sMsg..tab.."фильмы\t - "..tUserProfiles[sUser]["фильмы"].."\r\n";
sMsg = sMsg..tab.."привычки\t - "..tUserProfiles[sUser]["привычки"].."\r\n";
sMsg = sMsg..tab..string.rep("«»",19).."\n\n\t Комментарии:\n"
for i = 1, TableMaxSize(tUserProfiles[sUser]["comments"]) do
sMsg = sMsg..Lines(tUserProfiles[sUser]["comments"][i]["msg"],2,tUserProfiles[sUser]["comments"][i]["user"]);
end
end
elseif type == "profilecmds" then
if tUserProfiles[sUser] then
sMsg = sMsg..tab..string.rep("«»",19).."\n"
for sItem in pairs(tUserProfiles[sUser]) do
if sItem ~= "edited" then
sMsg = sMsg.."\t "..tVar.sPrefix..tCmd.sProfile.." add "..sItem.." \t- "..tUserProfiles[sUser][sItem].."\n";
end
end
sMsg = sMsg.."\t "..tVar.sPrefix..tCmd.sProfile.." добавить коммент\n"
..tab..string.rep("«»",19).."\n\n"
end
elseif type == "allusers" then
if tUserProfiles ~= nil then
sMsg = sMsg..tab..string.rep("«»",19).."\n\n"
for User in pairs(tUserProfiles) do
if string.lower(tVar.sEdited) == "on" then
for sItem in pairs(tUserProfiles[User]) do
if sItem == "edited" and tUserProfiles[User][sItem] ~= "0" then
sMsg = sMsg.."\t •"..User.."\n";
end
end
else
sMsg = sMsg.."\t •"..User.."\n";
end
end
sMsg = sMsg.."\n"..tab..string.rep("«»",19).."\n\n"
end
end
return sMsg;
end,
};

tab = " "..string.rep(" ",string.len(tVar.sBot));
OpConnected = UserConnected
RegConnected = UserConnected


Автор Скрипта хер знает кто!! скрипт как я помню на ап1 был взятый от сюда и ДСЗона Переминовала автора(типо они создали скрипт)
Посматри пример может надумаеш что!!!

Автор: Naum_Off 18.5.2010, 15:57

Все верно, небольшая база с личными данными юзеров заполняемая ими по желанию. Скрипт выше работает довольно криво. Отличная реализация скрипта от Jaska вот http://mydc.ru/topic13.html

Автор: Setuper 18.5.2010, 19:49

Ну а что мешает поставить анкеты отдельным скриптом?
Если немного задуматься о принципах работы хаба и скриптов, то бот всё в одном по своей сути уступает в производительности такой же функциональности, сложенной из нескольких скриптов.

Автор: Naum_Off 18.5.2010, 20:48

Это всего лишь предложение по увеличению функциональности бота. Скрипт от Jaska стоит, плохо лишь то, что он с "закрытым исходным кодом"(.

Автор: Phazeus 19.5.2010, 2:57

Благодарю за идеи, гляну наанкеты... Может руки дойдут big_smile.gif А день рождения есть в плагине Коляды Дар с поздравлялкой и просмотром именинников big_smile.gif

Цитата(Setuper @ 18.5.2010, 20:49) *
Ну а что мешает поставить анкеты отдельным скриптом?
Если немного задуматься о принципах работы хаба и скриптов, то бот всё в одном по своей сути уступает в производительности такой же функциональности, сложенной из нескольких скриптов.

Неа, в данной плагинной реализации не уступает, а как раз немного быстрее из-за передачи плагинам всем уже отсортированных и подготовленных данных (ники, данные, айпи и т.д.), тоесть каждому плагину нет необходимости парсировать события каждый раз. Но это мелочи big_smile.gif

Автор: Setuper 19.5.2010, 7:13

А ты думаешь со списком скриптов что-то каждый раз парсируется?
В птохе пробег по скриптам намного быстрее, чем у тебя. Скрипты в птохе находятся в двусвязных списках и там даже никакие переменные не инициализируются в цикле, а просто идёт переход по указателю. А теперь посмотри как работает цикл в lua. Ведь в lua циклы медленнее из-за помещения результатов на каждом шаге в стек и из-за различных внутренних инициалазаций.

Автор: Phazeus 20.5.2010, 7:09

Да я не про пробег. Я про то, что в каждом отдельноом скрипте они все парсируют данные для рабюоты отдельно. Каждый скрипт. А тут это делается лишь один раз и передаётся в готовом виде плагинам, которым уже не надо что-либо парсировать big_smile.gif Да и плагины используют одни и теже процедуры и функции, не надо в каждом скрипте дублировать...

Автор: Phazeus 22.5.2010, 1:15

Кстати, а какие бы вы хотели пункты видеть в анкетах? Как вы себе представляете, что там должно быть и как... Какие предложения/соображения есть? Только своими словами big_smile.gif

Автор: Naum_Off 23.5.2010, 18:22

1. Пункты (по минимуму)
-Имя
-Фамилия
-Пол
-Адрес
-Возраст
-Учеба/работа
-Привычки
-Интересы
2. Возможность оставлять/просматривать комментарии к анкетам другим юзеров.
3. Напоминание юзерам при заходе на хаб заполнить анкету, или же отказаться от ее заполнения.
4. Вывод списка всех юзеров, создавших анкеты.
5. Рейтинг по заполненности анкеты (не обязательно).
6. Рейтинг по профилю (респекты, тоже не обязательно).
Думаю этого более чем достаточно)
Вот пример сообщения от бота:

Цитата
<<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>;><<>><<>>
*** Мой Аккуант ***
<<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>>
Имя -> Александр
Фамилия -> Наумов
Пол -> м
Адрес -> 6-ка
Возраст -> 22
Учеба/работа -> ФАИТ
Привычки -> бла бла бла
Интересы -> бла бла бла
<<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>>
Рейтинг анкеты: 62.5% (Нормально)
Респектов автору: 3 (Лох)
<<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>>

Юзер Serva4ok написал:
Превед хозяин

Автор: (Steep)_(Boss) 23.5.2010, 21:03

Цитата(Naum_Off @ 23.5.2010, 20:22) *
1. Пункты (по минимуму)
-Имя
-Фамилия
-Пол
-Адрес
-Возраст
-Учеба/работа
-Привычки
-Интересы
2. Возможность оставлять/просматривать комментарии к анкетам другим юзеров.
3. Напоминание юзерам при заходе на хаб заполнить анкету, или же отказаться от ее заполнения.
4. Вывод списка всех юзеров, создавших анкеты.
5. Рейтинг по заполненности анкеты (не обязательно).
6. Рейтинг по профилю (респекты, тоже не обязательно).
Думаю этого более чем достаточно)
Вот пример сообщения от бота:

---------------------------------------------------------------------------------------
припишу к етому если можно добавить город
что+ что бы показывало когда последний раз редоктировалась ета анкета,,
++ если можно зделать добавить
следущее:


хотелось бы что бы следущеи пунткты можно было зделать что бы просматревать их могли только по нику
приведу пример,, я сижу на хабе вот в друг создал свою анкету,, и решил вбить в свою анкету мыло асю сотовый и т.д,, но хотелось бы видеть такое что бы в етом же пункте(меню) была такая шляпа что какие то именно разделы(мыло ася и т.д) были видны опреденлёным юзерам,,,,
--------------------
домашний телефон
сотовый телефон
мыло
ася
жабер
мсн
+что бы почты ети и сото

Автор: Phazeus 24.5.2010, 21:04

Я тут подумал, нерационально делать систему "друзей" или "привелигированных" пользователей для просмотра вашей анкеты. Тоесть записывать туда информацию, которую разрешать для просмотра лишь отдельным никам. Это не имеет особого смысла (можно и без анкет кому надо сообщить что надо, раз вы общаетесь). Слишком "раздует" базу такая система, я не люблю занимать лишние ресурсы big_smile.gif ВОт, думаю, что это не нужно big_smile.gif

Автор: Phazeus 29.5.2010, 13:01

А зачем нужны комментарии к анкетам и "респекты"? Какой смысл в комментариях к анкете? big_smile.gif Если надо связаться с автором, то есть оффлайн-почта, к примеру... Или же тот же плагин доски объяслений (который можно как микроблог использовать). Может не нужно это?

Автор: Andrew Frost 31.5.2010, 11:02

Доброго времени суток Phazeus! victory.gif Хотел узнать, как можно сделать так, чтобы незарегистрированные пользователи не могли писать в чат команды /me. И еще вот какая штука, если перед текстом с плюсом поставить пробел, то сообщение попадает в чат, если человек незарегистрирован.
Например:
+бла-бла-бла
Результатом будет попадание сообщение в общий чат. В настройках ["CmdPrefix"] = "[!%+]" . Как быть? beaten.gif
PS: Думаю что анкеты для хаба не нужны. Это программа, основной задачей которой является файлообмен. А превращать из дц социалку бред. Для этого есть Commfort, etc. Как показывает практика примерно 95% юзеров не пользуется и половиной всех возможностей бота, его функций. Это мое личное мнение big_smile.gif

Автор: Setuper 2.6.2010, 7:13

Сделай под русхаб.
Большая функциональность - это всегда плюс, если только эта функциональность не приводит к тормозам big_smile.gif

Автор: Phazeus 2.6.2010, 9:13

Поможешь со своим АПИ? big_smile.gif

Автор: Nickolya 2.6.2010, 10:16

Конечно поможем! big_smile.gif Если что - мы часто на хабе, да и на форуме стараемся оперативно отвечать.

Автор: Naum_Off 4.6.2010, 22:43

Цитата(Andrew Frost @ 31.5.2010, 12:02) *
PS: Думаю что анкеты для хаба не нужны. Это программа, основной задачей которой является файлообмен. А превращать из дц социалку бред. Для этого есть Commfort, etc. Как показывает практика примерно 95% юзеров не пользуется и половиной всех возможностей бота, его функций. Это мое личное мнение big_smile.gif

В нашей локалке все чаты были вытеснены ДС и для многих хаб стал местом общения. По поводу незнания/неумения/нехотения юзерами всех фич согласен. Мизерное колечество пользователей пользуется чем либо еще кроме файлообмена и главного чата.
Анкеты однозначно нужны, да и маслом кашу не испортишь. Комментарии и тем более респекты совсем не обязательны, это всего лишь мои предложения.

Автор: prokazzza 9.6.2010, 15:07

Может я плохо чет читал, но в мануале я так и не понял, как удалять или отключать ненужные мне функции Экзекутора к примеру Печкина, Доску объявлений и т.д. И как вообще скрыть пункты меню для простых юзеров, оставив там только Действия и Регистрация.

Автор: viktor6 9.6.2010, 15:20

Цитата(Phazeus @ 2.6.2010, 7:01) *
Я не представляю что это такое и как с этим взаимодействовать. Если Вы специалист и можете мне объяснить, то, наверное, можно.

вот http://mydc.ru/topic1661.html

Автор: prokazzza 10.6.2010, 10:55

Цитата(Phazeus @ 10.6.2010, 2:38) *
Отключение функций, как правило, осуществляется отключением ненужных плагинов. По команде !плагины Вы получите список зарегистрированных плагинов. Включение/отключение плагина производится командой !плагин <индекс>. Тут всё понятно. Также почитайте в мануале про то, как кстанавливаются разрешения по профилям для клманд (это в файлах меню команд). В мануале про это всё написано big_smile.gif Можно разрешить команды, но меню не отсылать. Как это делается, тоже в мануале есть big_smile.gif


Спасибо разобрался )

Автор: Voice 10.6.2010, 11:27

А ещё, вместо поля "возраст" можно поставить "дата рождения".
в день рождения вовод поздравления в топик и мэйнчат при входе.
вывод при входе на хаб список будущих именинников допустим за следующую неделю.

Да вобще всего можно много придумать.. Виртуальные подарки от пользователей, топ по количеству подарков, примерно такое big_smile.gif Ну это уже от желания зависит.

Автор: prokazzza 11.6.2010, 8:22

Решил уже)

Автор: prokazzza 20.6.2010, 8:51

Цитата(Phazeus @ 18.6.2010, 16:52) *
В новой версии изменений в плане функционала немного: система плавной отправки меню по запросу, добавлена локаль для RusHub Setuper'а. Мелкие фиксы. Просто код переработан полностью с целью увеличения производительности. И переработан значительно. Обновлять не сложно, просто заменить скрипты (не менять базы и таблицы). Единственное - удалить триггер "капслок", который будет под индексом 2 после перезапуска нового плагина триггеров.


Подскажи как можно вернуть меню Хаба и Бота как раньше, а не ждать через вызов по 14 секунд, пока она пришлется.

Автор: Phazeus 20.6.2010, 14:05

Цитата
# isSendBotMenu - посылать ли пользователям меню Бота из файла BotMenu.lua (1-да, 0-нет, -1-выкл);
# isSendHubMenu - посылать ли пользователям меню Хаба из файла HubMenu.lua (1-да, 0-нет, -1-выкл);
Если константам isSendBotMenu и(или) isSendHubMenu присвоено значение 0, то соответствующее меню будет отсылаться лишь по запросу, по команде !getbotmenu или !gethubmenu. Если присвоено значение -1, то меню не будет отправляться вообще.

Но не рекомендую делать "как раньше" (константам присвоено значение 1), так как меню уже довольно большое и бывают случаи, когда клиент не может корректно его принять и обработать. Даже я для себя использую плавную отправку.

Автор: prokazzza 20.6.2010, 18:19

Цитата(Phazeus @ 20.6.2010, 19:03) *
Вот это как раз бывает, если меню слишком большое. Клиент "глючит"... Попробуйте посмотреть, что Вы настроили в меню, проверьте его. Старайтесь не делать чрезмерно много строк меню. Отключите неиспользуемые плагины и т.п.


Я еще не успел ничего настроить это вылезло сразу после того как я вызвал меню. Стоит чистая птоха сверху накатил экзекутор, зашел в меню нажал вызвать, появились эти каракули. Попробовал настроить какой-то пункт в меню бота, появились еще одни каракули. Дальше не стал смареть.

Автор: Phazeus 21.6.2010, 3:16

Отключите плагин "Конвертация профилей". Там меню большое.

______________________
Плправил локаль для RusHub. Кстати, в скрипте BanManager.lua (который необходим для работы Экзекутора в локализации RusHub) третью строку надо исправить так:

Код
local sBanFile = Core.sScriptsDir.."BanManager/BanUser.tbl"

Автор: GASTROLER692 16.7.2010, 16:00

Здравствуйте!Бот прекрасный!Но с конвертацией профилей заморочка начиная с первой версии!После введения профиля 0...один и то же ответ...[20:56:05] <Химера> Вы редактируете профили команд файлов меню. Чтобы отказаться от модификации и прервать процедуру введите команду !стоп. Введите новый профиль (профили) для класса 0 (несколько профилей разделяйте пробелами):
И это бесконечно!Система Windows 7_64.Единственный косяк который не могу исправить,особо хлопот не создаёт но...при смене статуса юзера-профиль неизвестен!Как быть?

Автор: Phazeus 16.7.2010, 18:00

Не понятно, какая версия скрипта/плагина, каковы обстоятельства... Зайдите на полигон, поподробнее разберём.

Автор: averon.nv 29.7.2010, 22:05

Народ, как его скрыть из спика пользователей? Что-то не нашел «Regbot».
P.S: Нашел, в конфиге «IsShow».

Автор: MARVELtm 30.7.2010, 17:01

у меня новый user сразу с правами модератора подключается. Подскажите где это отменить

Автор: Saymon 30.7.2010, 17:06

прочитать внимательно мануал по боту. Ключевое слово на которое стоит обратить внимание "Профили"

Автор: averon.nv 1.8.2010, 18:36

Народ, на каком-то хабе видел рядом с ником в скобках с какого провайдера этот пользователь. Это вроде в этом боте можно сделать, но как, что-то понять не могу. Префиксы кажется, но там индекс какой-то - что за индекс?

Автор: noBap 20.8.2010, 10:47

не получается изменить имя бота •Экзекутор• в настройках поменял а в списке всеравно отображается ник •Экзекутор•
и еще не могу убрать из списка пользователей бота •Словарь• я уже все перерыл не могу найти в каком файле это настраивается?

P.S. Windows 7, PtokaX 0.4.1.2

так ник бота •Экзекутор• я изменил остается убрать •Словарь• из списка пользователей помогите плиз не могу разобраться.

Автор: LOPD 20.8.2010, 11:12

noBap Там легко убрать бота плохо ковырялся если не ошибаюсь ищи в разделе спецальные команды - роботы думую дальше сам убирёш его.
Если нету там поищи по тригерам.

Phazeus для чего сделано в 3 версии выбор языка? нельзя ли его сделать как плагин мне например не удобно выбирать постоянно языковый покет

Автор: goncharov08 22.8.2010, 9:12

Помогите настроить что то не получается расскажите последовательность настройки что зачем что почему

Автор: LOPD 25.8.2010, 8:28

ммм понятно ну посмотрим что за 3 версия будит надеюсь много новенькова и полезнова по скорей бы конечно увидить

Автор: p_marozov 26.8.2010, 9:31

Информационное приветствие поднять выше чем последнии сообщения чата реально ?

Автор: Phazeus 27.8.2010, 4:44

можно их отключить. Или код корректировать в основном скрипте. Как-то думал, что последние сообщения чата надо бы после всех big_smile.gif

Автор: p_marozov 28.8.2010, 8:31

Цитата(Phazeus @ 27.8.2010, 5:44) *
можно их отключить. Или код корректировать в основном скрипте. Как-то думал, что последние сообщения чата надо бы после всех big_smile.gif

ткните носом что поправить в скрипте =)

Автор: Phazeus 28.8.2010, 10:57

Цитата(p_marozov @ 28.8.2010, 9:31) *
ткните носом что поправить в скрипте =)

В основном скрипте в функции function VH_OnUserLogin(curUser) найди строку:
Код
if MySettings["isWelcomInfo"]==1 then ToUser(MySettings["BotName"], curUser, getwelcomemessage(curUser)) elseif MySettings["isWelcomInfo"]==2 then PMToUser(MySettings["BotName"], curUser, MySettings["BotName"], getwelcomemessage(curUser)) end
и вставь её в нужное место big_smile.gif Тоесть в самый конец, после отправки последних сообщений чата big_smile.gif

Автор: Naum_Off 2.9.2010, 2:30

Phazeus, большое Вам спасибо за плагин анкеты. Все отлично реализовано. Возникла проблемка.... решил переместить пункт Анкеты из Главного меню в корень меню хаба (редактированием Menu.lua и OnUserLogin.lua). С элементами Menu.lua все в порядке, но не удается переместить элементы OnUserLogin.lua. В чем может быть загвоздка?
OnUserLogin.lua изменил таким образом:

Раскрывающийся текст
Код
MyFunctionTable = {
    go = function(curUser, userclass, sIP)
        if not Anketa[curUser] then
            if BotMenu["ank_add"] and BotMenu["ank_add"]["PROFILES"][localization] and BotMenu["ank_add"]["PROFILES"][localization][userclass] then
                table.insert(wait_touser, {"", curUser, "$UserCommand 1 3 "..MySettings["AnketsMenuName"].."Создать$<%[mynick]> "..GetMyPrefix(curUser).."ank_add||"})
                if Anketa_isChat==1 then ToUser(MySettings["BotName"], curUser, curUser..", Вы можете создать анкету. Справку можно посмотреть по команде  "..GetMyPrefix(curUser).."ank_help") end
            end
        else
            table.insert(wait_touser, {"", curUser, "$UserCommand 1 3 "..MySettings["AnketsMenuName"].."Удалить$<%[mynick]> "..GetMyPrefix(curUser).."ank_del||"})
            for i in pairs(AnketaTable) do
                table.insert(wait_touser, {"", curUser, "$UserCommand 1 3 "..MySettings["AnketsMenuName"].."Заполнить\\"..AnketaTable[i][2].."$<%[mynick]> "..GetMyPrefix(curUser).."ank_set "..AnketaTable[i][1].." %[line:"..AnketaTable[i][3].."]||"})
                table.insert(wait_touser, {"", curUser, "$UserCommand 1 3 "..MySettings["AnketsMenuName"].."Поиск по...\\"..AnketaTable[i][2].."$<%[mynick]> "..GetMyPrefix(curUser).."ank_find "..AnketaTable[i][1].." %[line:Параметры (* - любой символ)]||"})
            end
        end
        if AnketaBL[curUser] then ToUser(MySettings["BotName"], curUser, curUser..", Ваша анкета запрещена "..os.date("%c",AnketaBL[curUser][1]).." по причине: "..AnketaBL[curUser][2]..". Отредактируйте свою анкету и устраните имеющиеся несоответствия.") end
    end,
}

где AnketsMenuName - параметр в конфиге ["AnketsMenuName"]="Анкеты\\", не помогает.

Автор: Phazeus 3.9.2010, 2:11

Цитата(Naum_Off @ 2.9.2010, 3:30) *
где AnketsMenuName - параметр в конфиге ["AnketsMenuName"]="Анкеты\\", не помогает.

Как было сказано в инструкции по описанию скрипта, значения конфигурации массива MySettings после первого запуска сохраняются в файле конфигурации Config.cfg в папке бота. Тоесть там их и надо менять

Автор: Naum_Off 3.9.2010, 20:12

Пробовал:
- создавать параметр в Config.cfg,
- в массиве MySettings+удаление Config.cfg,
- прописать пути в OnUserLogin.lua вручную, см.спойлер.

Раскрывающийся текст
Код
MyFunctionTable = {
    go = function(curUser, userclass, sIP)
        if not Anketa[curUser] then
            if BotMenu["ank_add"] and BotMenu["ank_add"]["PROFILES"][localization] and BotMenu["ank_add"]["PROFILES"][localization][userclass] then
                table.insert(wait_touser, {"", curUser, "$UserCommand 1 3 Анкеты\\Создать$<%[mynick]> "..GetMyPrefix(curUser).."ank_add||"})
                if Anketa_isChat==1 then ToUser(MySettings["BotName"], curUser, curUser..", Вы можете создать анкету. Справку можно посмотреть по команде  "..GetMyPrefix(curUser).."ank_help") end
            end
        else
            table.insert(wait_touser, {"", curUser, "$UserCommand 1 3 Анкеты\\Удалить$<%[mynick]> "..GetMyPrefix(curUser).."ank_del||"})
            for i in pairs(AnketaTable) do
                table.insert(wait_touser, {"", curUser, "$UserCommand 1 3 Анкеты\\Заполнить\\"..AnketaTable[i][2].."$<%[mynick]> "..GetMyPrefix(curUser).."ank_set "..AnketaTable[i][1].." %[line:"..AnketaTable[i][3].."]||"})
                table.insert(wait_touser, {"", curUser, "$UserCommand 1 3 Анкеты\\Поиск по...\\"..AnketaTable[i][2].."$<%[mynick]> "..GetMyPrefix(curUser).."ank_find "..AnketaTable[i][1].." %[line:Параметры (* - любой символ)]||"})
            end
        end
        if AnketaBL[curUser] then ToUser(MySettings["BotName"], curUser, curUser..", Ваша анкета запрещена "..os.date("%c",AnketaBL[curUser][1]).." по причине: "..AnketaBL[curUser][2]..". Отредактируйте свою анкету и устраните имеющиеся несоответствия.") end
    end,
}



Все бестолку, пункты создать, удалить, править..., поиск не появляются. Более того, они не появляются в Главном меню после отката изменений....

Автор: Phazeus 4.9.2010, 4:00

Надо смотреть на месте...

Автор: Darsi 5.9.2010, 5:39

Уважаемый Phazeus, можете ли написать отдельный плагин к Экзекутору для отключения команды me (со всеми префиксами), т.к. даже при использовании значений переменной disable_me_cmd=1 и переменной CmdPrefix="!+", команда /me в чате срабатывает.

Автор: Naum_Off 5.9.2010, 13:26

Darsi, как вариант удалите

Код
["me"] = 1
, из UnknownCommandBlock_PtokaX.lua.

Phazeus, заходил на тестовый хаб. На нем тоже нет пунктов меню из OnUserLogin.lua. Проверьте плагин. А пока все пункты меню у меня берутся из Menu.lua.

UPD: Еще иногда перестают отсылаться последние сообщения чата.

Автор: Phazeus 7.9.2010, 5:15

Цитата(Darsi @ 5.9.2010, 6:39) *
Уважаемый Phazeus, можете ли написать отдельный плагин к Экзекутору для отключения команды me (со всеми префиксами), т.к. даже при использовании значений переменной disable_me_cmd=1 и переменной CmdPrefix="!+", команда /me в чате срабатывает.

В файле меню Хаба нужно найти команду "me" и запретить ненужные профили для неё, так проще...

Цитата(Naum_Off @ 5.9.2010, 14:26) *
заходил на тестовый хаб. На нем тоже нет пунктов меню из OnUserLogin.lua. Проверьте плагин. А пока все пункты меню у меня берутся из Menu.lua.
UPD: Еще иногда перестают отсылаться последние сообщения чата.

Что-то я не вкурю никак что там отсутствует О_О Можно показать на полигоне мне, а то я не соображу :(

Автор: Darsi 11.9.2010, 11:14

Цитата(Phazeus @ 8.9.2010, 12:34) *
Шаблон:
^[%%%+!/]me*
Ответ:
{exit}

это простейший пример реакции триггера на команду !me с незамедлительным прерыванием её обработки.
Спасибо.
Поправьте, если что не так в моей писанине big_smile.gif
Код
    [10] = {
        ["ANSWERS"] = {
            [1] = {exit}
        },
        ["PATTERNS"] = {
            [1] = "^(%z?)[%+/]+[МмM]+[ЕеEe]+",
        },
        ["NAME"] = "^[%%%+/]me*",
    },

Автор: Phazeus 13.9.2010, 5:22

Приведите, пожалуйста, лог по команде !seetriggers, не надо лазить в файлы без необходимости. Делайте всё через команды.

Автор: Darsi 14.9.2010, 5:05

Странно, но ни 1 триггер не работает, кроме антикапслока. Хаб перезагружался.

Код
===== Список триггеров: =====
1.    Капслок. Не менять и не удалять! (ответов: 3)
2.    ^[%%%+!]раскладка_[%%%S%%%s] (ответов: 1)
3.    ^монетка$ (ответов: 3)
4.    ^кости$ (ответов: 1)
5.    *сц?уч?к[аиеуо]й?* (ответов: 2)
6.    *сде[сз][ья]* (ответов: 1)
7.    ^[%%%+!]призрак_[%%%S] (ответов: 1)
8.    который_час (ответов: 1)
9.    ^[%%%+/]me* (ответов: 1)
=============================================

Автор: Phazeus 18.9.2010, 6:30

И что в 9 триггере?

Автор: dka 21.9.2010, 11:40

Уважаемый автор скрипта мы с друзьями очень любим играть в угадай пользователей на хабе, но вот не могу понять каким способом он решает кто победитель, пробывал поставить через меню хаба статическое значение не помогло. Как и где можно посмотреть настройки данной игры и поправить? Буду очень признателен

Автор: Darsi 21.9.2010, 22:55

Цитата(Phazeus @ 18.9.2010, 6:30) *
И что в 9 триггере?
Команда /me прерывается...

Так будет вернее?
Код
    [2] = {
        ["ANSWERS"] = {
            [1] = "{exit}",
        },
        ["PATTERNS"] = {
            [1] = "^(%z?)[%+/]+[MmМ]+[EeЕе]+([%s%p])",
            [2] = "^(%z?)[%+/]+[MmМ]+[EeЕе]+(%z?)$",
        },
        ["NAME"] = "^[%%%+/]me*",
    },

Автор: Phazeus 22.9.2010, 6:15

Зайди на полигон, посмотрим, что у тебя конкретно, покажу примеры.

Автор: Darsi 22.9.2010, 19:21

Цитата(Phazeus @ 22.9.2010, 6:15) *
Зайди на полигон, посмотрим, что у тебя конкретно, покажу примеры.
На dchub://phazasoft.mine.nu 5 человек только... Мб лучше тут? big_smile.gif

Автор: Phazeus 22.9.2010, 22:24

Так там полигон для бота и общение с админами хабов, использующих Экзекутора. Мой ник z0_0m. Лучше там, так как ситуация индивидуальная big_smile.gif

Автор: LoT 16.10.2010, 11:39

1. Это уже пробовал. Менял значение CapsMode, непмогло.
2. Удалил ответы. Потестим.
3. А вот это я упустил. В тригерах действительно было два антикапслока.

Спасибо за совет. Тестирую.

Автор: Darsi 21.10.2010, 5:08

Возможно ли отправлять разные файлы приветствия (как motd, но каждый отдельно для всех) разным группам пользователей?
Гостям, например, больше информации помогающей освоиться, зарегистрированным умеренно, а модераторам очень кратко.
Или помогите дописать условия в welcome lua файл для verlihub и ptoka, там где проверяется класс пользователя.