Версия для печати темы
MyDC.ru _ Служебные скрипты [PtokaX] _ Onesend
Автор: Setuper 13.1.2009, 18:57
Название: OneSend
Версия: 1.0
Версия API: API1, API2 (универсальный)
Автор: Setuper
Описание: Отсылает PM сообщение 1 раз при входе пользователя. При последующих входах сообщение отсылаться не будет.
Скрипт перенесён из раздела "Запросы скриптов".
OneSend.lua ( 1.87 килобайт )
: 166
Автор: zerokl 9.5.2009, 22:31
У меня скрипт работает но когда ктонить заходить на хаб выдает ошибку Синтаксис D:\PtokaX\scripts\OneSend.lua:58: attempt to index local 'hFile' (a nil value)
Автор: Setuper 9.5.2009, 23:00
Исправил и перезалил
Автор: zerokl 10.5.2009, 7:29
Спасибо теперь отлично работает )
Автор: li4nost 14.5.2009, 18:02
Setuper, спасибо! отличный скрипт!
хочу сделать правила хаба с помощью этого скрипта.
можно ли сделать подобное:
в самом конце моего сообщения пишется "Вы ознакомились в текстом данного сообщения?"
если ответят да, то больше не отправлять его пользователю. его ник добавляется в ipbase.dbs
если ничего не напишут или закроют - то повторять при следующем заходе.
Автор: Setuper 14.5.2009, 18:09
Можно, валяй
Автор: li4nost 14.5.2009, 18:39
Клево, а как?
Автор: Berkut 14.5.2009, 19:03
Цитата(li4nost @ 14.5.2009, 19:39)
Клево, а как?
Подозреваю, что ответ будет: "Ручками" =) Формулируй вопрос корректно.
А по делу, нужно просто прописать удаление пользователя из таблицы рассылки (или добавление - честно говоря, скрипт не смотрел, не знаю, как Setuper реализовал) в случае, если в приват боту или в чат с преффиксом ушло контрольное слово. Фактически - слить выложенный выше скрипт с куском скрипта регистрации, где есть механизм подтверждения согласия с правилами (как вариант посмотреть скрипт защиты от спам-ботов, который выкладывался на этом форуме).
Автор: skonda 1.8.2009, 20:24
Цитата(li4nost @ 14.5.2009, 19:02)
можно ли сделать подобное:
в самом конце моего сообщения пишется "Вы ознакомились в текстом данного сообщения?"
если ответят да, то больше не отправлять его пользователю. его ник добавляется в ipbase.dbs
если ничего не напишут или закроют - то повторять при следующем заходе.
присоединяюсь к просьбе, кто нибудь может помочь с реализацией под API2?
Автор: Артём 1.8.2009, 20:32
skonda , li4nost Вот держите именно такой у меня валялся,правда под API1,конвектором перегоните в API2
Confirmer.rar ( 1.1 килобайт )
: 16
Автор: skonda 1.8.2009, 23:00
Цитата(Артём @ 1.8.2009, 21:32)
skonda ,
li4nost Вот держите именно такой у меня валялся,правда под API1,конвектором перегоните в API2
Confirmer.rar ( 1.1 килобайт )
: 16 проблема в том что после перегонки в API2 этот скрипт все равно придется доробатывать что мне не под силу, поэтому может кто нибудь помочь доработать
скрипт OneSend из 1 поста?
Нужно вот что : в самом конце сообщения пишется "Вы ознакомились в текстом данного сообщения?"
если ответят да, то больше не отправлять его пользователю. его ник добавляется в ipbase.dbs
если ничего не напишут или закроют - то повторять при следующем заходе.
Автор: Артём 2.8.2009, 0:10
Цитата(skonda @ 1.8.2009, 23:00)
проблема в том что после перегонки в API2 этот скрипт все равно придется доробатывать что мне не под силу, поэтому может кто нибудь помочь доработать
....доробатывать.....Нечего там ненада доделовать,просто папку
Rules закинуть нада не в папку с скриптами,а там где
.ехе птоки находится....
Confirmer_API2_.rar ( 2.48 килобайт )
: 27 ( вот уже сконвектирован под вторую птоку,просто поставь всё на свои места.
Автор: skonda 2.8.2009, 8:46
Цитата(Артём @ 2.8.2009, 1:10)
Confirmer_API2
а как в нем убрать то что чат блокируеться пока не согласишься с правилами ? т к у меня скрипт будет кидать просто объяву а не правила.
Автор: Артём 2.8.2009, 9:13
skonda Вот закоментировал несколько строк и теперь скрипт выдаёт сообщение при входе...
Confirmer_API2_.lua ( 1.97 килобайт )
: 38
Автор: skonda 2.8.2009, 9:44
Цитата(Артём @ 2.8.2009, 10:13)
skonda Вот закоментировал несколько строк и теперь скрипт выдаёт сообщение при входе...
Confirmer_API2_.lua ( 1.97 килобайт )
: 38 то что нужно, спасибо ;)
Автор: Артём 4.11.2009, 9:40
Цитата(Setuper @ 13.1.2009, 17:57)
Название: OneSend
проблема в том что IP в таблице
ipbase.dbs автоматически не удаляются , тоесть два дня назад поставил этот скрипт перезашёл мне показало инфу и по сей день не показует больше))
Как сделать чтобы раз в день или как-то так чтобы база очищалась сама ?
P.S может таймер в заданное время сделать чтобы очищал таблицу с IP , к примеру в полночь ( 00:00 )
Автор: Setuper 4.11.2009, 13:17
Так на то она и одноразовая отсылка, чтобы отправил и забыл))
Автор: Yudeix 5.11.2009, 2:13
Хороший скрипт, но как бы ещё и диапазоны прикрутить, чтобы срабатывало только в определённых диапазонах?
Пробовал это:
local tDiap =
{ "192.168.%d+.%d+", "10.%d+.%d+.%d+" } -- шаблоны диапазонов
но что-то не получается.
Автор: Enyby 5.11.2009, 2:41
Код
local tDiap {
"^192.168.",
"^10.",
}
function find(sHaystack, tNeedle)
for _,n in ipairs(tNeedle) do
if string.find(sHaystack, n) then
return true
end
end
return false
end
function UserConnected(user)
if find(user[SET], tDiap) and Confirm[user[SET]] == nil then
Core.SendPmToUser(user,BOT, SendConfirm)
end
end
OpConnected = UserConnected
function ChatArrival(user,data)
if find(ser[SET], tDiap) and Confirm[user[SET]] == nil then
Core.SendPmToUser(user,BOT, SendConfirm)
return true
end
end
Автор: Артём 5.11.2009, 11:46
удалите плз
Автор: Yudeix 5.11.2009, 21:41
Цитата(Enyby @ 5.11.2009, 1:41)
Код
local tDiap {
"^192.168.",
"^10.",
}
function find(sHaystack, tNeedle)
for _,n in ipairs(tNeedle) do
if string.find(sHaystack, n) then
return true
end
end
return false
end
function UserConnected(user)
if find(user[SET], tDiap) and Confirm[user[SET]] == nil then
Core.SendPmToUser(user,BOT, SendConfirm)
end
end
OpConnected = UserConnected
function ChatArrival(user,data)
if find(ser[SET], tDiap) and Confirm[user[SET]] == nil then
Core.SendPmToUser(user,BOT, SendConfirm)
return true
end
end
И куда это вставить, чтобы заработало? Пока что безуспешно ((
Нужно, чтобы сообщение отправилось только 1 раз в пределах двух диапазонов.
Автор: Alexey 6.11.2009, 8:55
http://mydc.ru/topic2546.html
Автор: Enyby 6.11.2009, 14:14
Цитата(Yudeix @ 5.11.2009, 20:41)
И куда это вставить, чтобы заработало? Пока что безуспешно ((
Нужно, чтобы сообщение отправилось только 1 раз в пределах двух диапазонов.
В http://mydc.ru/ipb.html?act=attach&type=post&id=2991 замени тем кодом этот:
Код
function UserConnected(user)
if Confirm[user[SET]] == nil then
Core.SendPmToUser(user,BOT, SendConfirm)
end
end
OpConnected = UserConnected
function ChatArrival(user,data)
if Confirm[user[SET]] == nil then
Core.SendPmToUser(user,BOT, SendConfirm)
return true
end
end
PS Код я на проверял - но все должно работать.
Автор: Yudeix 9.11.2009, 16:13
Цитата(Enyby @ 6.11.2009, 13:14)
PS Код я на проверял - но все должно работать.
Не работает!
Автор: Артём 9.11.2009, 17:48
Yudeix
Вот рабочий !!!
InformOneSend.lua ( 2.4 килобайт )
: 13
Автор: Yudeix 9.11.2009, 18:42
Цитата(Артём @ 9.11.2009, 16:48)
YudeixВот рабочий !!!
InformOneSend.lua ( 2.4 килобайт )
: 13 Спасибо
Артём, но это другой скрипт. Он отправляет сообщение всем.
Скрипт должен отправлять сообщение в нужные диапазоны, а не всем и один раз. А этот , после перегрузки PtokaX снова начинает грузить народ сообщениями.
Автор: Артём 9.11.2009, 18:49
Цитата(Yudeix @ 9.11.2009, 17:42)
Скрипт должен отправлять сообщение в нужные диапазоны...
ip_d.lua ( 1.33 килобайт )
: 10 сообщения создавай в
texts
Автор: Perspect 9.11.2009, 19:51
Цитата(Yudeix @ 9.11.2009, 17:42)
Спасибо Артём, но это другой скрипт. Он отправляет сообщение всем.
Скрипт должен отправлять сообщение в нужные диапазоны, а не всем и один раз. А этот , после перегрузки PtokaX снова начинает грузить народ сообщениями.
Вот подобный скрипт http://mydc.ru/ipb.html?act=attach&type=post&id=3371 с этой темы: http://mydc.ru/topic2546.html Он отправляет сообщение в нужные диапазоны, но после перегрузки хаба, повторяет отвправления снова и снова.
Мне тоже нужен
скриптик, который отправлял-бы сообщение в нужный диапазон 1 раз (в приват или чат), и по IP-адресам записывал-бы инфо в отдельный файл, чтобы после перегрузки хаба отправка не повторялась.
Вроде не сложно, но я не силён в написании скриптов. Где-то подредактировать могу, а вот создать с нуля, или собрать из нескольких - нет.
Автор: MaxFox 3.11.2011, 19:41
Цитата(Perspect @ 9.11.2009, 20:51)
Вот подобный скрипт http://mydc.ru/ipb.html?act=attach&type=post&id=3371 с этой темы: http://mydc.ru/topic2546.html Он отправляет сообщение в нужные диапазоны, но после перегрузки хаба, повторяет отвправления снова и снова.
Мне тоже нужен скриптик, который отправлял-бы сообщение в нужный диапазон 1 раз (в приват или чат), и по IP-адресам записывал-бы инфо в отдельный файл, чтобы после перегрузки хаба отправка не повторялась.
Вроде не сложно, но я не силён в написании скриптов. Где-то подредактировать могу, а вот создать с нуля, или собрать из нескольких - нет.
Что нужно изменить в скриптею чтобы после каждого его перезапуска он не удалял старый файл, а продолжал писать в него??? А то перезапустил и уже не вансенд... а тусенд... и до тех пор пока не надоелсенд =)
Автор: Ksan 3.11.2011, 20:24
MaxFox, в скрипте в коде сохранения открываешь файл с ключом "w+".
Вот пример:
Код
local f,e = io.open(sGraphFile, "w+")
Автор: MaxFox 3.11.2011, 20:44
Цитата(Ksan @ 3.11.2011, 21:24)
MaxFox, в скрипте в коде сохранения открываешь файл с ключом "
w+".
Вот пример:
Код
local f,e = io.open(sGraphFile, "w+")
то есть должно быть так, верно?
Код
function SaveToFile(tTable, sTableName, sFile)
local f = io.open(sGraphFile, "w+")
if f then
Serialize(tTable, sTableName, f)
f:flush()
f:close()
end
end
Автор: Ksan 3.11.2011, 21:01
MaxFox, да.
Автор: MaxFox 3.11.2011, 21:09
Цитата(Ksan @ 3.11.2011, 22:01)
MaxFox, да.
тогда вопрос, почему не работает? =) просто перестал записывать в файл...
Автор: Alexey 3.11.2011, 21:47
http://mydc.ru/topic173.html?view=findpost&p=37502
Автор: Ksan 3.11.2011, 21:48
Дъявол в деталях..что-то там не так у тебя в Serialize, может..
У меня пишет.
Короче, почему ты проблему решаешь только тут?
Ищи другие скрипты, которые пишут в файл с добавлением строк и пробоуй как там.
Автор: MaxFox 3.11.2011, 22:07
Цитата(Ksan @ 3.11.2011, 22:48)
Дъявол в деталях..что-то там не так у тебя в Serialize, может..
У меня пишет.
Короче, почему ты проблему решаешь только тут?
Ищи другие скрипты, которые пишут в файл с добавлением строк и пробоуй как там.
чувак... ну ты отжог... чес слово... я не могу ответить почему я ищу решение проблем с хабом и скриптами под него на форуме, посвященному решению проблем с хабом и скриптами...
Цитата(Alexey @ 3.11.2011, 22:47)
http://mydc.ru/topic173.html?view=findpost&p=37502
огромное спасибо, я думаю это мне поможет, так как теперь понятно...
UPD: помогло, еще раз огромное спасибо =)
Автор: Ksan 3.11.2011, 22:29
Alexey, точно, я же у себя не добавляю в существующую запись, а считываю, изменяю содержимое и полностью сохраняю по-новой.. потому и w+
Лопухнулся. Надо было смотреть не первый свой попавшийся скрипт, а подумать. :(