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

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

MyDC.ru _ Готовые скрипты для PtokaX _ Eh.greeting.bot

Автор: Wariner 13.11.2008, 18:36

Название скрипта: Eh.Greeting.Bot
Версия скрипта: v1.0
Версия API: API1, API2
Автор: S.t.0.n.e d.b
Перевод API2: Nickolya
Описание скрипта:
- Можно контролировать, какие профили будут видеть случайные приветсвия
- Можно контролировать, кто сможет добавить или удалить собственное приветствие
- Администраторские команды
- Менюшка
- Добавление и удаление приветсвий с помощью команд
- Модно менять начало и конец приветсвий
- Описания к профилям
- Команды в главном чате или привате
- Можно видеть свое собственное приветсвие
- Можно дать возможность видеть ОПам вновь добавленные приветсвия

 Eh.Greeting.Bot_API_2.rar ( 7.89 килобайт ) : 568
 Eh.Greeting.Bot_API_1.rar ( 7.72 килобайт ) : 153
 

Автор: Артём 14.11.2008, 10:20

greedy.gif Прикольный скрипт, мне и моим админам и опам очень даже понравился... Большое Спасибо!

Автор: NikseR 15.11.2008, 14:07

Из пожеланий скриптописцам:

1) Давно хочется, чтобы в этом скрипте дописали защиту от флуда. Потому что когда юзер очень часто перезаходит в хаб (даже не специально, а чаще, когда клиент глючит), то получается жесткий флуд в чате из его приветствий-прощаний. Птока естественно это не принимает за флуд, т.к. сообщения посылаются от бота. Приходится самому каждый раз лезть в базу и удалять приветствия этого юзера. Это очень надоедает, к тому же делается это, когда юзер уже нафлудил.
Вот если б дописали функцию, что, если юзер заходит в хаб чаще, чем n-ное кол-во минут, то приветствия не посылались в чат. Это было бы просто отлично!

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

Автор: NikseR 10.1.2009, 23:51

Еще такая просьба: возможно ли добавить ники-исключения, которым запрещено добавлять свои приветствия? Кто-то просто флудит или пишет белиберду какую-то постоянно, кто-то пихает рекламу в приветствия. :(

Автор: MEXAHuK 11.1.2009, 10:35

Цитата
1) Давно хочется, чтобы в этом скрипте дописали защиту от флуда. Потому что когда юзер очень часто перезаходит в хаб (даже не специально, а чаще, когда клиент глючит), то получается жесткий флуд в чате из его приветствий-прощаний. Птока естественно это не принимает за флуд, т.к. сообщения посылаются от бота. Приходится самому каждый раз лезть в базу и удалять приветствия этого юзера. Это очень надоедает, к тому же делается это, когда юзер уже нафлудил.
Вот если б дописали функцию, что, если юзер заходит в хаб чаще, чем n-ное кол-во минут, то приветствия не посылались в чат. Это было бы просто отлично!

+1. та же трабла.

Автор: BeSeR 4.3.2009, 20:31

М...а можно так когда ОП или Мастер заходит там автоматом пишет Поприветствуем (ОП или Мастера) на ***-хабе ? big_smile1.gif

Автор: Wariner 4.3.2009, 20:32

это скрипт своеписанных приветствий! Если хочешь по профилям то юзай поиск, на форуме есть такой скрипт

Автор: BeSeR 7.3.2009, 15:21

Что не могу найти unhappy.gif

Автор: Wariner 7.3.2009, 21:15

плохо ищешь http://mydc.ru/topic601.html

Автор: Wariner 14.4.2009, 22:46

решение проблемы с никоми в которых есть квадратные скобки API 2:

Код
function sendGreeting(user,uTable)
    local pDesc = pDesc[user.iProfile].." "..user.sNick;
       if uTable.tCustom[user.sNick] and (pCustom[user.iProfile] == 1) then
             local ran = math.random(1,table.maxn(uTable.tCustom[user.sNick]));
    local sNick = (user.sNick):gsub("%[", "%%[")
        sNick = sNick:gsub("%]", "%%]")
        local msgGreeting = string.gsub(uTable.tCustom[user.sNick][ran], "%[username%]", user.sNick)
        if string.lower(tVar.sProfile) == "on" then
            msgGreeting = string.gsub(msgGreeting, sNick, pDesc);
        end
        Core.SendToAll("<"..tVar.sBot.."> "..tVar.sHeader..msgGreeting.." "..tVar.sFooter);
        if string.lower(tVar.sOwn) == "on" then Core.SendToUser(user, "<"..tVar.sBot.."> "..tVar.sHeader..msgGreeting.." "..tVar.sFooter); end
        return true;
    elseif table.maxn(uTable.tRandom) ~= 0 and (pRandom[user.iProfile] == 1) then
          local ran = math.random(1,table.maxn(uTable.tRandom));
        local msgGreeting = string.gsub(uTable.tRandom[ran], "%[username%]", user.sNick)
        if string.lower(tVar.sProfile) == "on" then
            msgGreeting = string.gsub(msgGreeting, user.sNick, pDesc);
        end
          Core.SendToAll("<"..tVar.sBot.."> "..tVar.sHeader..msgGreeting.." "..tVar.sFooter);
        if string.lower(tVar.sOwn) == "on" then
            if (pCustom[user.iProfile] == 1) then
                Core.SendToUser(user, "<"..tVar.sBot.."> "..tVar.sHeader..msgGreeting.." "..tVar.sFooter.."\r\n"..tab.."  <<< Сделай свое собственное приветствие! Напиши: "..tVar.sPrefix..tCmd.sHelp.." для помощи >>>\r\n");
            else
                Core.SendToUser(user, "<"..tVar.sBot.."> "..tVar.sHeader..msgGreeting.." "..tVar.sFooter);
            end
        end
        return true;
    end
end

Автор: R00T_ADMIN 27.2.2010, 16:36

Если кто-то из продвинутых скриптописцев поможет адаптировать его под Verlihub, буду премного благодарен big_smile.gif

Автор: Nickolya 27.2.2010, 21:23

Попробуй http://mydc.ru/r/?http://verlihub.aliki.ru/forum/viewtopic.php?t=451 или по тамошнему совету поставь себе ледокол big_smile.gif

Автор: as91 13.4.2010, 22:34

а у меня не работает, на линуксе. сначала ругался на пути, поменял 121 строчку на

Код
tVar.sFolder = Core.GetPtokaXPath().."scripts/"..tVar.sFolder


вроде проглотил, но начал капризничать, вот логи:

Код
13.04.2010 23:29:50 - /etc/ptokax/scripts/privet.lua:610: attempt to index local 'hFile' (a nil value)
13.04.2010 23:29:50 - /etc/ptokax/scripts/privet.lua:581: attempt to index global 'tblRandom' (a nil value)


кто поможет?

Автор: Nickolya 14.4.2010, 10:52

Попробуй после

Код
function OnStartup()
дописать
Код
    tblRandom = {In = {}, Out ={}}
    tblCustom = {In = {}, Out ={}}

А вообще такой ошибки быть не должно, попробуй переместить из папки скрипта файлы custom.tbl и random.tbl при выключенном скрипте и запустить его заново...

Автор: as91 14.4.2010, 15:13

вроде заработало.

Автор: as91 15.4.2010, 21:30

такой вопрос мое приветствие выглядит таким образом: вот он админ [Админ] as91
можно ли как то убрать этот [Админ]? если да, ток как?

Автор: Wariner 16.4.2010, 9:47

Во многих скриптах сверху есть настройки!

открываем и видим:

Код
sProfile    = "on",            -- Добавить название профиля к нику: <"on"=да; "off"=нет>

Автор: as91 16.4.2010, 11:55

пасиб, то что надо