Скрипт, позволяющий писать от любого имени, без имени, как в чат, так и в приват. Команда доступна только операторам хаба и выше. Выкладываю 2 скрипта. Хочу заметить, что в версии 1.031 в ОПчат будет выведена информация, кто за кого писал. Есть таблица, в которую можно вставить ники тех юзеров, за которых нельзя будет анонимно писать. Спасибо inside и [Pit Bull]<-Ranger-> !
Удалил скрипты, причина всё та же, морально-этическая. Тему пока не стал сносить, может у кого-то есть причины по которым стоит вернуть скрипты? Либо можно меня поддержать... Ваши мнения
Автор: Wariner 31.10.2008, 10:03
У меня стоит этот скрипт но никто им не пользуется.... так что фик его знает нужен ли он вообще....
Автор: Trans 31.10.2008, 10:48
Я полагаю, нужно оставить скрипт, но только убрать возможность писать от чужого ника, то есть, вообще убрать даже часть кода. А писать от бота в чат и приват есть достаточно поводов, хотя бы профилактические предупреждения либо спонтанные объявления различного характера.. Ну и сообщение в чат без ника - тоже интригует юзеров.. Можно найти применение. Хотя даже это можно изгальнуться и применить для сообщения от чужого ника. :( Так что, может, оставить только сообщения в чат и конкретным юзерам в приват - всё от имени бота.
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, ту, что с отсылкой в опчат, хотя вроде он не ведет логи и можно иногда безнаказанно пользоваться им... Просто на заре моего админства было пару казусов связанных с этой штукой, разбираться было крайне неприятно. Используйте если совесть позволяет. Но на хабе где стоит такой скрипт и используется во всю, я бы сидеть тоже не стал.
Автор: *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.
Особенности:
убрал возможность писать от чужого ника, т.к. считаю это не приличным;
сделал возможность писать от имени Бота;
информация опам о сказанном посылается в чат, а не в приват;
ЗЫ: Если скрипт никому не нужен, аналогичный уже есть(я не видел) или сочтете плагиатом - удаляйте, переделывал исключительно под свои потребности, решил поделиться.
жаль, что перенесли, лучше все же отдельно но хозяин - барин, как говорится
Спасибо что оставили этот скрипт. Например на том же YnHub предусмотрена такая возможность - отсылка сообщений от бота и от чужого ника. Ей же могут воспользоваться только владельцы Хабов!! И это действительно бывает очень удобно и нужно
Автор: Setuper 22.3.2009, 18:59
От бота понятно, а от пользователя то зачем?
Автор: степашка 22.3.2009, 21:10
скрипт полезный хотя бы с точки зрения отправки сообщения от ботов. также весьма прикольно написать от имени викторины или, например анаграмм. другой вопрос что надо ограничить доступ к данному скрипту, например с помощью скрипта ограничения команд (есть здесь же, спасибо данному ресурсу). тоже и относительно чтения личек. половина рекламы не ловится ботами по личкам, ибо ОНИ постоянно придумывают новые способы обхода фильтра. так что неэтичность Say_script ставлю под сомнение. кстати если включён показ IP в чате, то сообщение от скрипта проходит в чате без IP и это явно указывает на то что это бот-сообщение от чужого имени...
Автор: mnoils 23.4.2009, 23:51
Было бы классно если бы вернули меню сказать от любого имении.Мне когда скушно болтаю за [OpChat] с Главным ботом.Если можна верните.Использую в рамках разумного!
Автор: степашка 24.4.2009, 9:10
апи1. функции: сказать от любого ника, сказать от выделенного ника, сказать без ника
А можно сделать так, чтобы писалось от ника (которого нет на хабе) но в чате появлялось как будто это оператор сказал (то есть чтобы ник был ОПского цвета,а не ботовидного )
Автор: 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)
А можно сделать так, чтобы писалось от ника (которого нет на хабе) но в чате появлялось как будто это оператор сказал (то есть чтобы ник был ОПского цвета,а не ботовидного )
Если так охота, попробуй такую последовательность действий в скрипт добавить: - в Чат-арривале при получении команды отправки сообщения с какого-то простого (не опского) ника этот ник сначала проверяется на зарегенность, если да, то запоминается его профиль (вип или рег) и пароль (а для захвата пароля надо писать отдельную функцию чтения из таблицы профилей), после всего этого регистрация удаляется. - если нет - то следующий пункт. - этому нику даётся опский статус. - пишется от эт этого ника сообщение в чат. - аккаунт ника удаляется. - если ник раньше был зареген, то нику возвращается его аккаунт (профиль и пароль, запомненные ранее). Если ты готов последовательно написать всё вышеописанное в скрипте, то сможешь получить сомнительное удовольствие написать от чужого ника красного (или какой там у тебя опский цвет) цвета...
Второй вариант - аналогично - зарегить нового бота с тем самым ником, написать от его ника сообщение и сделать унрег этого бота и присвоить боту пустой ник (если так позволительно), чтоб не накопилась куча ненужных ботоников (ну либо сразу унрег).
Короче, придется огород городить...только надо ли оно?
P.S. Всё это я написал только для забавы, чисто теоретически, возможно, кое-что может и не прокатить в реале, но проверять неохота, овчинка выделки не стоит. P.P.S. Написал ответ только сейчас, потому что раньше не попадалась эта тема в глаза.
Автор: Alexey 14.12.2009, 20:38
Не много чести - регать пользователя и удалять регу на каждой фразе? Через $OpList и $Quit лучше делать.
Цитата(FallenAngel @ 27.10.2009, 23:13)
А можно сделать так, чтобы писалось от ника (которого нет на хабе) но в чате появлялось как будто это оператор сказал (то есть чтобы ник был ОПского цвета,а не ботовидного )
тут я не стал вписывать соединение юзера, там идет магический байт, который тут вряд ли отобразиться, если хотите - допишите сами, можно выдрать его из 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] Скрипт запущен.
Пишите сами, это же такое плёвое дело... Вот вам команды для этого:
Код
Core.SendToAll("<"..Ник.."> Ваше сообщение.")
А получить Ник и Сообщение можно отправкой из меню и далее через захват в ChatArrival(): sCmd - (команды), sNick и sMsg - (сообщения), потом их поместить в вышепоказанную строку через конкатенации. Как Ник можно использовать любой, вплоть до ника Бота, можно и вовсе не писать этот ник, будет сообщение без автора. Просто внимательнее изучите любой чужой скрипт, можно даже два. И у вас все получится.
Автор: Saymon 20.5.2010, 16:34
DemoNX260, Рабочий http://mydc.ru/topic2342.html?view=findpost&p=19748
Автор: nail 3.12.2010, 20:11
Помогите разобрать скрипт кто разбирается в луа. Я знаю php, но на php синтаксис lua не похож вообще...
Код
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
Нужно чтобы перед отправкой текста в общий чат формата:
если пользователя, от чьего имени пишется сообщение - нет на хабе. А если есть, чтобы просто отправлялось
Цитата
<Ник> Сообщение|
Если ник, от которого пишут - оператор и его нет на хабе, должно ещё прибавляться:
Цитата
$OpList [ОПератор1]$$|
Вообще не знаю функций, помогите сделать
Ещё насколько я понимаю это регулярка
Код
string.find(sData, "%b<>%s+%S*%s*(%S*)%s*(.*)")
Её использование как бы вобще неприемлемо... Помогите сделать через explode чтоли
Автор: 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 - пользователь ушёл. Ничего мудрить не нужно.
Хм, я же вроде расписал, что подобный код работать не будет, по протоколу всё просто, а на деле всё не так просто, как оказывается, если хватит терпения сделать - попробуйте и убедитесь.
Про регулярку, вы так и не сказали, зачем она... Но если ей захватывать слово после команды и остальные данные за этим словом, то всё нормально, регулярки в луа вполне быстро работают, используйте их смело Почитать можно тут: 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, ну разве что не будет выдачи сообщений от чужого ника.. Но это и хорошо, ни к чему оно..
Автор: мамин_парень 31.12.2017, 5:09
Цитата(Ksan @ 30.12.2017, 16:49)
Сорри, не сразу попал на форум (заглядываю редко), и уже вам ответили.. От себя могу только добавить - там в теме в комментах есть версия и под API 2, ну разве что не будет выдачи сообщений от чужого ника.. Но это и хорошо, ни к чему оно..