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

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

MyDC.ru _ Готовые скрипты для PtokaX _ Режим Ушёл

Автор: STRELOK 11.1.2009, 14:51

Название: AwayMsg
Версия API: 2
Идея и самый первый скрипт: STRELOK
Автор: Wariner
Версия скрипта: 2.0 Нововведение: Автоответчик на чат! (Добавил: STRELOK)
Команды: !away <причина> - включить режим ушёл; !back - отключить режим ушёл; Также можно воспользоваться меню хаба
Описание:
- Установка\снятие режима ушёл
- Отсылка сообщения об отсутствии если вам пишут в мейне или привате(с показам времени)

Скрипт:  Away.lua ( 5.26 килобайт ) : 112

Создать в папке scripts папку hub files и положить туда этот файл  PM.lua ( 490 байт ) : 40

Автор: Артём 11.1.2009, 19:47

Что-то мне он не сильно понравился amazing.gif

Автор: intlive 12.1.2009, 10:09

Мне понравился. Только вот бы можно было бы писать с пробелами в away. И еще при возвращении юзера писало причину, по которой он отсутствовал... feel_good.gif

Автор: _PULSE_ 28.1.2009, 19:14

Прикольный скрипт big_smile1.gif

Автор: STRELOK 12.2.2009, 16:41

Цитата
Только вот бы можно было бы писать с пробелами в away.


Прошу, можно писать с пробелами ;)

 away.lua ( 1.27 килобайт ) : 42
 

Автор: intlive 12.2.2009, 17:30

Спасибо большое, то что надо feel_good.gif

Автор: STRELOK 12.2.2009, 18:04

Прикрепил attache заново к теме, скрипт настроен, меню немного отредактировано, причину можно писать с пробелами

http://mydc.ru/topic1099.html

Автор: Tarantul13 3.3.2009, 22:55

Народ выдвигаю Абалденно полезную Идею! у нас на хабе ( пока его не свернули ) была такая тема включаешь "режим ушол" пишеш причину и када тебе пишут в ПМ ( Лс личку) Бот отписывает [22:37:41] <----> Tarantul.13 ушёл (причина: УПОЛЗ ТЕСТИТЬ ) время отсутствия 00часов 00минут 10секунд а после отключения( вернулся) то пишет через сколько вернулся (ну допустим небыл 10 минут)<----> Tarantul.13вернулся спустя 00часов 10минут 30секунд
P.S. если кому несложна намутите скрипт а тоя хаб поднял ( PtokaX 0.4.0.0 ) и многие просят о такой функции.

Автор: Wariner 3.3.2009, 23:01

а в первом посте разве не такой скрипт?

Автор: Tarantul13 3.3.2009, 23:10

Цитата(Wariner @ 3.3.2009, 23:01) *
а в первом посте разве не такой скрипт?

когда мне пишут в пм он нереагирует ! и время непишет

Автор: STRELOK 4.3.2009, 9:08

Tarantul13: По началу я хотел сделать всё именно так, как ты написал, но получилось сделать только так, т.к. я не совсем силён в LUA
Wariner: этот скрипт просто пишет в общий чат информацию об уходе с перехватом введённой причины. К сожелению мне не удалось сделать так, как предлагает Tarantul13, хотя я тоже хотел бы, чтобы было всё именно так

Автор: Wariner 4.3.2009, 12:44

вот скриптик от меня

 AwayMsg.rar ( 2.24 килобайт ) : 60
 

Автор: STRELOK 4.3.2009, 16:53

Wariner: получилось неплохо! big_smile.gif Но вот можно ещё одно спросит, как сделать так, чтобы после отключения режима ушёл (!back) писало:

<----> STRELOK вернулся после 1д. 2ч. 3мин. 6 сек

?

Пытылся сделать так:

Код
Core.SendToAll("<----> "..tUser.sNick.." вернулся после "..GetNormalTime(os.time()-tAway[sNick].Time).."")

но после этого команда !back отказывается работать

Автор: Wariner 4.3.2009, 16:54

Код
Core.SendToAll("<----> "..tUser.sNick.." вернулся после "..GetNormalTime(os.time()-tAway[tUser.sNick].Time))

Автор: Tarantul13 4.3.2009, 17:01

Ништяк Замутил! :P

Автор: STRELOK 4.3.2009, 17:10

Wariner: AwayMsg.lua:84 attemt to index fiels '?' (a nil value)

Код
Core.SendToAll("<----> "..tUser.sNick.." вернулся после "..GetNormalTime(os.time()-tAway[tUser.sNick].Time))
<-- при вставке кода, команда не работает :(

Автор: Wariner 4.3.2009, 17:12

Код
    elseif cmd == "!back" then
        if tProfile[tUser.iProfile] == 1 then    
            if not tAway[tUser.sNick] then
                Core.SendToUser(tUser,"<"..sBot.."> Ошибка, режим ушёл не включен!")
            else
                if ShowAway == 1 then            
                    Core.SendToAll("<"..sBot.."> "..tUser.sNick.." вернулся после "..GetNormalTime(os.time()-tAway[tUser.sNick].Time))
                end    
                tAway[tUser.sNick] = nil
            end
        else
            Core.SendToUser(tUser, "<"..sBot.."> У вас недостаточно прав для использования этой команды!")
        end                
        return true

Автор: STRELOK 4.3.2009, 17:17

спасибо, теперь работает =)

Автор: Drakula 4.3.2009, 18:07

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

Автор: Wariner 4.3.2009, 18:09

смысла нет. туда всё равно почти никто не смотрит

Автор: Drakula 4.3.2009, 18:14

Тож верно, но серавно если есть свободное вермя или нелень мона дабавить;)

Автор: STRELOK 4.3.2009, 18:35

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

Цитата
[20:03:30] <----> STRELOK вернулся после 19 мин. 31 сек.
[20:03:30] <STRELOK> тест

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

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

Автор: THE STRELOK 4.3.2009, 18:46

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

Авторежим ушёл: есть ещё идейка с режимом ушёл, чтобы он сам включался через указанное время юзером и с указанной причиной.
!autoaway <time> <reason> - время и причина, после которого включится режим ушёл автоматически с указанной причиной
!autoawayoff - отключение установки авторежима ушёл

А когда начинал бы общаться, то:

Цитата
[20:03:30] <----> STRELOK вернулся после 19 мин. 31 сек.
[20:03:30] <STRELOK> тест

аналогия того, что я писал выше с автоматической снимкой режима ушёл

Автор: Setuper 4.3.2009, 19:03

Скрипт не тестил, но вот возник вопрос. Антифлуд в скрипте предусмотрен?

Автор: Wariner 4.3.2009, 19:06

Илюх эт ты про что?

Автор: Setuper 4.3.2009, 19:14

Это я о том: сколько раз отсылается сообщение ушёл в лс? Только 1 раз или при каждой отсылки?

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

Автор: THE STRELOK 4.3.2009, 19:15

сообщение отсылается каждый раз при написании нового сообщения в ЛС

Автор: Setuper 4.3.2009, 19:20

Ставим например клиент Pelink и получаем по функционалу намного лучшее сообщение away.

Цитата
Привет %[userNI]. Я, %[myNI], отсутствую с %H:%M:%S (%d.%m.%Y). Оставь своё сообщение, я после прочту его.

Что касается чата, то намного проще сказать всем в чат, что типа "Я ушёл", нежели писать команду или лезть в менюшку.

Автор: THE STRELOK 4.3.2009, 19:23

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

Автор: Wariner 4.3.2009, 19:45

Цитата(Setuper @ 4.3.2009, 19:14) *
Сейчас продвинутые клиенты могут сами такие сообщения away посылать

к сожалению заметил что мой флай процентах в 70 не отсылает нифига(((

Автор: Al-j® 9.6.2012, 6:21

Цитата
Это я о том: сколько раз отсылается сообщение ушёл в лс? Только 1 раз или при каждой отсылки?

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


--------------------
Lua & C++
* для достижения высот нужно быть фанатом своего дела


в клиент можно забить мнгновенные ответы, в чат правой кнопкой кликаешь и выбираешь)

кстати, о клиентах не в тему чутка, хочу выложить грейлинк со своими конфигами. в общем идея такая: я туда запихал смайлы 3D и при помощи этих смайлов сделал красивое оформление хабу, а так же сайт ставлю со страницей FAQ к клиенту. может в ПМ подскажет кто?