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

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

MyDC.ru _ Готовые скрипты для PtokaX _ Say_script 1.03 - 1.031

Автор: Undertaker 31.10.2008, 3:29

Скрипт, позволяющий писать от любого имени, без имени, как в чат, так и в приват. Команда доступна только операторам хаба и выше. Выкладываю 2 скрипта. Хочу заметить, что в версии 1.031 в ОПчат будет выведена информация, кто за кого писал. Есть таблица, в которую можно вставить ники тех юзеров, за которых нельзя будет анонимно писать. Спасибо inside и [Pit Bull]<-Ranger-> !

 say_script_1.031.lua ( 3.41 килобайт ) : 427
 

Автор: Nickolya 31.10.2008, 7:42

Удалил скрипты, причина всё та же, морально-этическая. Тему пока не стал сносить, может у кого-то есть причины по которым стоит вернуть скрипты? Либо можно меня поддержать... Ваши мнения what.gif

Автор: Wariner 31.10.2008, 10:03

У меня стоит этот скрипт но никто им не пользуется.... так что фик его знает нужен ли он вообще....

Автор: Trans 31.10.2008, 10:48

Я полагаю, нужно оставить скрипт, но только убрать возможность писать от чужого ника, то есть, вообще убрать даже часть кода. А писать от бота в чат и приват есть достаточно поводов, хотя бы профилактические предупреждения либо спонтанные объявления различного характера.. Ну и сообщение в чат без ника - тоже интригует юзеров.. big_smile.gif Можно найти применение. Хотя даже это можно изгальнуться и применить для сообщения от чужого ника. :( Так что, может, оставить только сообщения в чат и конкретным юзерам в приват - всё от имени бота.

PS: Я всегда против писания от чужого ника и против чтения приватов. Остальное - согласно общим правилам интернета и законам РФ.

Автор: Setuper 31.10.2008, 11:17

1. Соглашусь, что скрипт не имеет права на существование.
2. Автору на будущее: http://mydc.ru/ipb.html?act=announce&f=26&id=2

Автор: *FoxMalder* 31.10.2008, 18:04

я обычно с помощью этого скрипта пишу юзеру в приват от его же ника что он что-то нарушает))

Автор: dimetrius 1.11.2008, 20:22

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

Автор: Sephiroth_Lukaw 1.11.2008, 21:43

Я бы не стал сидеть на хабе, где включён этот скрипт.

Автор: *FoxMalder* 1.11.2008, 22:08

Цитата(dimetrius @ 1.11.2008, 20:22) *
А я считаю что скрипт имеет право на жизнь, тем более с отсылкой кто что написал в опчат!


у меня именно он и стоит

Автор: Nickolya 1.11.2008, 22:45

Ок, вернул версию 1.031, ту, что с отсылкой в опчат, хотя вроде он не ведет логи и можно иногда безнаказанно пользоваться им...
Просто на заре моего админства было пару казусов связанных с этой штукой, разбираться было крайне неприятно.
Используйте если совесть позволяет. big_smile1.gif Но на хабе где стоит такой скрипт и используется во всю, я бы сидеть тоже не стал.

Автор: *FoxMalder* 1.11.2008, 23:04

благо им могут пользоваться тока опы и админы

Автор: Mol 4.11.2008, 19:56

Под API II, нету?

Извеняюсь. Не проявил сообразительность, нашол.

Автор: evg 14.2.2009, 12:53

Название скрипта: Bot Say
Версия скрипта 1.0
Версия API: API2

Описание скрипта:
Скрипт, позволяющий писать от имени бота и без ника.
За основу взят say_script.

    Особенности:
  1. убрал возможность писать от чужого ника, т.к. считаю это не приличным;
  2. сделал возможность писать от имени Бота;
  3. информация опам о сказанном посылается в чат, а не в приват;


ЗЫ: Если скрипт никому не нужен, аналогичный уже есть(я не видел) или сочтете плагиатом - удаляйте, переделывал исключительно под свои потребности, решил поделиться.



жаль, что перенесли, лучше все же отдельно big_smile.gif
но хозяин - барин, как говорится big_smile.gif

 bot_say.lua ( 2.61 килобайт ) : 147
 

Автор: Санёк 22.3.2009, 17:31

Спасибо что оставили этот скрипт.
Например на том же YnHub предусмотрена такая возможность - отсылка сообщений от бота и от чужого ника. Ей же могут воспользоваться только владельцы Хабов!! И это действительно бывает очень удобно и нужно big_smile.gif

Автор: Setuper 22.3.2009, 18:59

От бота понятно, а от пользователя то зачем?

Автор: степашка 22.3.2009, 21:10

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

Автор: mnoils 23.4.2009, 23:51

Было бы классно если бы вернули меню сказать от любого имении.Мне когда скушно болтаю за [OpChat] с Главным ботом.Если можна верните.Использую в рамках разумного! still_dreaming.gif

Автор: степашка 24.4.2009, 9:10

апи1. функции: сказать от любого ника, сказать от выделенного ника, сказать без ника

 Сказать.lua ( 1.67 килобайт ) : 36
 

Автор: mnoils 24.4.2009, 16:59

а мне надо API 2 extreme_sexy_girl.gif electric_shock.gif

Автор: Санёк 18.5.2009, 12:19

Да, под API2 нужен. Очень shocked.gif

Автор: Wariner 18.5.2009, 17:53

конвертер вам в помощь!

Автор: FallenAngel 27.10.2009, 23:13

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

Автор: ekon 12.12.2009, 21:02

ААА , дайте конвертер!!плиз!!!:)

Автор: Wariner 12.12.2009, 22:08

http://mydc.ru/topic117.html

Автор: Trans 13.12.2009, 12:08

Цитата(FallenAngel @ 28.10.2009, 2:13) *
А можно сделать так, чтобы писалось от ника (которого нет на хабе) но в чате появлялось как будто это оператор сказал (то есть чтобы ник был ОПского цвета,а не ботовидного big_smile.gif)

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

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

Короче, придется огород городить...только надо ли оно?

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

Автор: Alexey 14.12.2009, 20:38

Не много чести - регать пользователя и удалять регу на каждой фразе? Через $OpList и $Quit лучше делать.

Цитата(FallenAngel @ 27.10.2009, 23:13) *
А можно сделать так, чтобы писалось от ника (которого нет на хабе) но в чате появлялось как будто это оператор сказал (то есть чтобы ник был ОПского цвета,а не ботовидного big_smile.gif)

Накидал тут, пробуй:
 a_SayByHiddenOp.lua ( 1.05 килобайт ) : 24

Использование: !saybyop Реклама Ненавижу рекламу!

PS: Если я правильно понял запрос.
PPS: Вариант с учтённым предложением ниже:  a_SayByHiddenOp.lua ( 1.1 килобайт ) : 22

Автор: FallenAngel 15.12.2009, 9:18

Благодарю. Проверил-пашет как надо. Только цвет фразы-ботовидного увета. ну это уже, как я понимаю,завсит от клиента. Спасибо.

Автор: Nickolya 15.12.2009, 13:07

Цитата(FallenAngel @ 15.12.2009, 9:18) *
Только цвет фразы-ботовидного увета. ну это уже, как я понимаю,завсит от клиента.

Попробуйте дополнить скрипт отправкой еще и майинфо, перед
Код
Core.SendToAll("$OpList "..sWho)
припишите
Код
Core.SendToAll("$MyINFO $ALL "..sWho.." no<SomeDC++ V:(r21),M:A,H:1/0/1,S:10>$ $ $no@mail$255008881124$")

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

Автор: DemoNX260 19.5.2010, 14:14

Цитата(степашка @ 24.4.2009, 10:10) *
апи1. функции: сказать от любого ника, сказать от выделенного ника, сказать без ника

перевел под апи2 но чета не ворк
Цитата
[15:21] Нет синтаксических ошибок в файле скрипта Сказать_newapi.lua
[15:21] Синтаксис C:\Ptokax 4.1.1\scripts\Сказать_newapi.lua:6: bad argument #1 to 'pairs' (table expected, got no value)
[15:21] Скрипт запущен.


 ________api2.lua ( 2.02 килобайт ) : 18
 

Автор: Ksan 19.5.2010, 14:33

Пишите сами, это же такое плёвое дело...
Вот вам команды для этого:

Код
Core.SendToAll("<"..Ник.."> Ваше сообщение.")


А получить Ник и Сообщение можно отправкой из меню и далее через захват в ChatArrival(): sCmd - (команды), sNick и sMsg - (сообщения), потом их поместить в вышепоказанную строку через конкатенации.
Как Ник можно использовать любой, вплоть до ника Бота, можно и вовсе не писать этот ник, будет сообщение без автора.
Просто внимательнее изучите любой чужой скрипт, можно даже два. big_smile.gif И у вас все получится.

Автор: Saymon 20.5.2010, 16:34

DemoNX260, Рабочий http://mydc.ru/topic2342.html?view=findpost&p=19748 big_smile.gif

Автор: nail 3.12.2010, 20:11

Помогите разобрать скрипт кто разбирается в луа. Я знаю php, но на php синтаксис lua не похож вообще... big_smile.gif

Код
local sData = string.sub(sData,1,-2)
local _,_,cmd = string.find(sData, "%b<>%s+(%S*)")
if cmd == "!say" then
local _,_,sNick,sMsg = string.find(sData, "%b<>%s+%S*%s*(%S*)%s*(.*)")
    if tProfile[user.iProfile] == 1 or tVIP[user.sName] == 1 then
        if sNick == "" then
            user:SendData(sBot, "Пожалуйста, введите ник, от которого будет послано сообщение")
        elseif sMsg == "" then
            user:SendData(sBot, "Пожалуйста, введите сообщение для "..sNick.." , которое он произнесет.")
        else
            SendToAll(sNick, sMsg)
                SendPmToOps(frmHub:GetOpChatName(), "*** "..user.sName.." сказал от ника "..sNick.." сообщение: \""..sMsg.."\"")
        end
        return 1
    else
        user:SendData(sBot, "У Вас нет доступа к данной команде!")
            SendPmToOps(frmHub:GetOpChatName(), "*** "..user.sName.." попытался сказать от ника "..sNick.." сообщение: \""..sMsg.."\", но у него ничего не вышло.")
    end
return 1
end


Нужно чтобы перед отправкой текста в общий чат формата:
Цитата
<Ник> Сообщение|

спереди и сздади добавлялись строки:
Цитата
$MyINFO $ALL [Ник] [Описание][Тэг]$ $[Соедиенние][Флаг]$[E-Mail]$[Шара]$|
<Ник> Сообщение|
$Quit [Ник]|

если пользователя, от чьего имени пишется сообщение - нет на хабе.
А если есть, чтобы просто отправлялось
Цитата
<Ник> Сообщение|


Если ник, от которого пишут - оператор и его нет на хабе, должно ещё прибавляться:
Цитата
$OpList [ОПератор1]$$|


Вообще не знаю функций, помогите сделать big_smile.gif

Ещё насколько я понимаю это регулярка
Код
string.find(sData, "%b<>%s+%S*%s*(%S*)%s*(.*)")

Её использование как бы вобще неприемлемо...
Помогите сделать через explode чтоли big_smile.gif

Автор: Nickolya 7.12.2010, 0:24

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

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

P.S.: вряд ли стоит просить подобное, обсуждение почему находится выше.

Автор: nail 7.12.2010, 22:55

Не понял ход ваших мыслей, зачем таймеры? По протоколу же всё просто - если есть пользователь на хабе - отсылаем простое сообщение и оно отображается нормально. Если нет - то дописываем спереди ещё MyINFO xxxx| - пользователь пришёл, потом сразу сообщение от его ника и потом Quit name - пользователь ушёл. Ничего мудрить не нужно.
explode - разбивает строку на массив по заданному символу (например пробел - тогда в массиве каждый элемент будет содержать по слову) Регулярные выражения в пшп вообще почти не используются.. в общем то только школьники их используют.
Т.ч. не сказал бы что это фишка пшп, в луа тоже должна быть, если есть регулярки... Ну или на крайняк можно через цикл перебирать байты пока не встретится пробел. Я просто не знаю и не выходит понять синтаксис lua.
А определять есть ли пользователь на хабе вообще не знаю как, не понимаю как устроено. Список лежит в глобальной переменой или есть функция выдающая параметры пользователя на хабе по нику?...
Поможете написать? или м.б. подскажете где lua прогеры водятся?

Автор: Nickolya 8.12.2010, 1:23

Цитата
Не понял ход ваших мыслей, зачем таймеры? По протоколу же всё просто - если есть пользователь на хабе - отсылаем простое сообщение и оно отображается нормально. Если нет - то дописываем спереди ещё MyINFO xxxx| - пользователь пришёл, потом сразу сообщение от его ника и потом Quit name - пользователь ушёл. Ничего мудрить не нужно.
Хм, я же вроде расписал, что подобный код работать не будет, по протоколу всё просто, а на деле всё не так просто, как оказывается, если хватит терпения сделать - попробуйте и убедитесь.

Про регулярку, вы так и не сказали, зачем она... Но если ей захватывать слово после команды и остальные данные за этим словом, то всё нормально, регулярки в луа вполне быстро работают, используйте их смело big_smile.gif Почитать можно тут: http://mydc.ru/topic266.html

Цитата
А определять есть ли пользователь на хабе вообще не знаю как, не понимаю как устроено. Список лежит в глобальной переменой или есть функция выдающая параметры пользователя на хабе по нику?...
есть функции, они описаны в API, почитать можно здесь: http://mydc.ru/topic118.html и в папке scripting.docs в самой птоке. Вам нужна функция Core.GetUser(sNick)

Про поможете написать я тоже вроде сказал, для масс подобный скрипт порой опасен, поэтому не поддерживается и не дорабатывается.
Луа прогеры бывают еще на http://mydc.ru/r/?http://www.lua.ru/forum/forums/list.page...

Автор: мамин_парень 29.12.2017, 13:03

Ksan, помоги с этим

.lua:24: attempt to index global 'frmHub' (a nil value)
http://mydc.ru/topic508.html?hl=say_script

Автор: dimetro 29.12.2017, 14:41

Цитата(мамин_парень @ 29.12.2017, 13:03) *
Ksan, помоги с этим

.lua:24: attempt to index global 'frmHub' (a nil value)
http://mydc.ru/topic508.html?hl=say_script

API1 тамЮ тебе под API2 надо.. Тут есть на форуме конвертер, скачай его и переведи им в API2

Автор: мамин_парень 29.12.2017, 14:57

Цитата(dimetro @ 29.12.2017, 15:41) *
API1 тамЮ тебе под API2 надо.. Тут есть на форуме конвертер, скачай его и переведи им в API2

Да Бог тебе здоровья, ты очень полезный на этом умирающем форуме, благодаря вам двум он еще живет

Автор: Ksan 30.12.2017, 15:49

Цитата(мамин_парень @ 29.12.2017, 17:03) *
Ksan, помоги с этим

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

Автор: мамин_парень 31.12.2017, 5:09

Цитата(Ksan @ 30.12.2017, 16:49) *
Сорри, не сразу попал на форум (заглядываю редко), и уже вам ответили..
От себя могу только добавить - там в теме в комментах есть версия и под API 2, ну разве что не будет выдачи сообщений от чужого ника.. Но это и хорошо, ни к чему оно.. big_smile.gif

да