myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему

> При появлении нового ника, ему отправляется заготовленный текст

Теги
Нет тегов для показа
Perspect
сообщение 7.10.2009, 22:28
Сообщение #1


Активный участник
***

Группа: Пользователи
Сообщений: 89
Регистрация: 9.6.2008
Из: Крым
Пользователь №: 23
Спасибо сказали: 5 раз




Нужен скрипт (или подскажите как сделать).

При появлении нового ника определённого IP-диапазона ему в приват отправляется заготовленный текст.
Go to the top of the page
+Quote Post
FallenAngel
сообщение 12.10.2009, 14:34
Сообщение #2


[n00b]
*****

Группа: Пользователи
Сообщений: 291
Регистрация: 10.7.2008
Из: Россия,Пенза
Пользователь №: 168
Спасибо сказали: 24 раза




Прям-таки определенного диапазона? А то тут где-то лежал скрипт, который отсылает собщения новому нику-не важно какого диапазона...
Go to the top of the page
+Quote Post
Perspect
сообщение 12.10.2009, 15:50
Сообщение #3


Активный участник
***

Группа: Пользователи
Сообщений: 89
Регистрация: 9.6.2008
Из: Крым
Пользователь №: 23
Спасибо сказали: 5 раз




В данной ситуации важны пользователи местной сети. И к тому же нужен скрипт не приветствий, а который бы отправлял сообщение именно в приват.
Go to the top of the page
+Quote Post
simxsim
сообщение 13.10.2009, 12:23
Сообщение #4


Абсолютный новичок


Группа: Пользователи
Сообщений: 9
Регистрация: 11.10.2009
Пользователь №: 4 695
Спасибо сказали: 0 раз




Тоже необходимо подобное.
Go to the top of the page
+Quote Post
Alexey
сообщение 13.10.2009, 12:37
Сообщение #5


7 квадратиков
*******

Группа: Модераторы
Сообщений: 793
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 301 раз




Держи:
Раскрывающийся текст
Код
local sDiap    = "10.31.%d+.%d+"    -- шаблон диапазона
local sBot    = nil            -- ник бота или nil для использования ника главного бота
local sMsg    =
[[ Здесь пишем текст сообщения, отсылаемый в приват пользователям из диапазона ]]

function OnStartup()
    if not sBot then
        sBot = SetMan.GetString(21)
    end
end

function UserConnected(tUser)
    if tUser.sIP:find(sDiap) then
        Core.SendPmToUser(tUser, sBot, sMsg)
    end
end

RegConnected    = UserConnected
OpConnected    = UserConnected

Если это не то или не совсем то - нужно чётче формулировать пожелания.


Спасибо сказали:
Go to the top of the page
+Quote Post
simxsim
сообщение 13.10.2009, 12:53
Сообщение #6


Абсолютный новичок


Группа: Пользователи
Сообщений: 9
Регистрация: 11.10.2009
Пользователь №: 4 695
Спасибо сказали: 0 раз




Alexey Огромное спасибо заработало просто идеально и какраз то что нужно!!! feel_good.gif
Go to the top of the page
+Quote Post
Perspect
сообщение 13.10.2009, 12:56
Сообщение #7


Активный участник
***

Группа: Пользователи
Сообщений: 89
Регистрация: 9.6.2008
Из: Крым
Пользователь №: 23
Спасибо сказали: 5 раз




Спасибо, работает.

Но как бы сделать, чтобы текст отправлялся новому пользователю только 1 раз.
Такой скрипт был бы идеальным.
Go to the top of the page
+Quote Post
Alexey
сообщение 13.10.2009, 13:10
Сообщение #8


7 квадратиков
*******

Группа: Модераторы
Сообщений: 793
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 301 раз




Так?
Раскрывающийся текст
Код
local sDiap    = "10.31.%d+.%d+"    -- шаблон диапазона
local sBot    = nil            -- ник бота или nil для использования ника главного бота
local tSeen    = {}
local sMsg    =
[[ Здесь пишем текст сообщения, отсылаемый в приват пользователям из диапазона ]]

function OnStartup()
    if not sBot then
        sBot = SetMan.GetString(21)
    end
end

function UserConnected(tUser)
    if tUser.sIP:find(sDiap) then
        if not IsPresent(tUser.sNick) then
            table.insert(tSeen, tUser.sNick)
            Core.SendPmToUser(tUser, sBot, sMsg)
        end
    end
end

RegConnected    = UserConnected
OpConnected    = UserConnected

function IsPresent(sNick)
    for key, vNick in pairs(tSeen) do
        if sNick == vNick then
            return true
        end
    end
    return false
end


Спасибо сказали:
Go to the top of the page
+Quote Post
simxsim
сообщение 13.10.2009, 13:20
Сообщение #9


Абсолютный новичок


Группа: Пользователи
Сообщений: 9
Регистрация: 11.10.2009
Пользователь №: 4 695
Спасибо сказали: 0 раз




А что в данном скрипте доработано, а то чтото не разобрался?
local tSeen = {} я так понял запоминает кому отправлялось, а где это хранится?
Go to the top of the page
+Quote Post
Alexey
сообщение 13.10.2009, 13:24
Сообщение #10


7 квадратиков
*******

Группа: Модераторы
Сообщений: 793
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 301 раз




Добавлен запрошенный функционал.
В памяти, при выключении скрипта никуда не сохраняется.


Спасибо сказали:
Go to the top of the page
+Quote Post
Perspect
сообщение 13.10.2009, 13:33
Сообщение #11


Активный участник
***

Группа: Пользователи
Сообщений: 89
Регистрация: 9.6.2008
Из: Крым
Пользователь №: 23
Спасибо сказали: 5 раз




Alexey:

Меня вполне устраивает этот скрипт, то, что нужно! Но, добавь пожалуйста возможность действовать в нескольких диапазонах.
Go to the top of the page
+Quote Post
simxsim
сообщение 13.10.2009, 13:50
Сообщение #12


Абсолютный новичок


Группа: Пользователи
Сообщений: 9
Регистрация: 11.10.2009
Пользователь №: 4 695
Спасибо сказали: 0 раз




Ещё раз спасибо за скрипт!
Go to the top of the page
+Quote Post
Alexey
сообщение 13.10.2009, 14:07
Сообщение #13


7 квадратиков
*******

Группа: Модераторы
Сообщений: 793
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 301 раз




Цитата(simxsim @ 13.10.2009, 14:50) *
Ещё раз спасибо за скрипт!

Пожалуйста!

Perspect:
Третья редакция: Прикрепленный файл  a_diapPM3.lua ( 902 байт ) Кол-во скачиваний: 25


Спасибо сказали:
Go to the top of the page
+Quote Post
Wariner
сообщение 13.10.2009, 14:51
Сообщение #14


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




мне кажется оптимальнее было бы так:
Код
function UserConnected(tUser)
    if InDiap(tUser.sIP) then
        if not tSeen[tUser.sNick] then
            tSeen[tUser.sNick] = 1
            Core.SendPmToUser(tUser, sBot, sMsg)
        end
    end
end

RegConnected    = UserConnected
OpConnected    = UserConnected

и выкинуть функцию IsPresent(sNick)


Спасибо сказали:
Go to the top of the page
+Quote Post
Alexey
сообщение 13.10.2009, 15:36
Сообщение #15


7 квадратиков
*******

Группа: Модераторы
Сообщений: 793
Регистрация: 21.1.2009
Пользователь №: 1 895
Спасибо сказали: 301 раз




Пожалуй, соглашусь... изврат какой-то набыдлокодил.
Исправление принято, спасибо.
Прикрепленный файл  a_diapPM4.lua ( 782 байт ) Кол-во скачиваний: 18


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 13.10.2009, 17:00
Сообщение #16


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Кстати да... При каждом вызове функции, она запихивается в стек вызовов, кроме этого, под параметры функции также создаётся стек. Поэтому при многочисленных вызовах различных функций в скором времени можно задуматься о затратах на вызовы функций. К сожалению, в отличии от с++, в lua отсутствует понятие встраиваемой функции, поэтому задумываться о лишних вызовах стоит! big_smile.gif
Go to the top of the page
+Quote Post
Perspect
сообщение 14.10.2009, 20:33
Сообщение #17


Активный участник
***

Группа: Пользователи
Сообщений: 89
Регистрация: 9.6.2008
Из: Крым
Пользователь №: 23
Спасибо сказали: 5 раз




Кто подскажет?
После перегрузки скрипта или компа сообщения снова будут отправляться пользователям. Что можно сделать, чтобы избежать этого. Мало-ли сколько раз придётся перегружаться. Может скопировать, а потом снова закинуть информацию в стек о пользователях, которые уже получали сообщение?
Go to the top of the page
+Quote Post
Wariner
сообщение 14.10.2009, 20:47
Сообщение #18


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




ну про стек это конечно же лихо))) простое сохранение в таблицу)))
Go to the top of the page
+Quote Post
Perspect
сообщение 14.10.2009, 20:57
Сообщение #19


Активный участник
***

Группа: Пользователи
Сообщений: 89
Регистрация: 9.6.2008
Из: Крым
Пользователь №: 23
Спасибо сказали: 5 раз




Цитата(Wariner @ 14.10.2009, 19:47) *
ну про стек это конечно же лихо))) простое сохранение в таблицу)))

Как бы это сделать? Вообще, возможно-ли это? Может есть альтернативы? exciting.gif
Этот скрипт использую для привлечения голосов в пользу хаба. Не хотелось бы доставать пользователей однообразной информацией, которая уже для многих не актуальна.
Go to the top of the page
+Quote Post
Wariner
сообщение 15.10.2009, 7:21
Сообщение #20


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




найди любой скрипт который работает с таблицами в файле и посмотри как там сделано!
Go to the top of the page
+Quote Post

2 страниц V   1 2 >
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
Closed Ребята скинте мне скрипт котри может отправит сообщения все от любого ника Плизз
Ребята скинте мне скрипт котри может отправит сообщения все от любого
2 Davrik 6 212 15.11.2011, 8:35 Посл. сообщение: Accelerator
No new Topic has attachmentsСмена ника!
27 voronf4 27 969 6.12.2010, 13:48 Посл. сообщение: Виктор
No New Posts Расположение ника в списке
Реально?
2 truth 7 089 31.5.2010, 16:22 Посл. сообщение: Alexey
No New Posts Topic has attachmentsприветствия для каждого ника
9 random name 13 818 12.5.2010, 6:42 Посл. сообщение: Ksan
No New Posts Скрипт сохранения ника и ip адреса в файл
2 Stym 9 616 18.3.2010, 16:14 Посл. сообщение: Stym
Moved Скрипт сохранения ника и ip адреса в файл
0 Stym 0 13.3.2010, 1:33 Посл. сообщение: Stym
No New Posts Отсчёт времени до нового года на php
2 operator 14 669 12.12.2009, 0:48 Посл. сообщение: Saymon21
No New Posts От: При появлении нового ника
От темы с ID: 2546
0 X-Sky 4 566 8.10.2009, 19:54 Посл. сообщение: X-Sky
No New Posts Topic has attachmentsПисать от любого ника
1 Андреw 6 013 31.8.2009, 4:16 Посл. сообщение: Артём
Closed Скрипт Смены Ника
скрипт
8 oOps 13 317 12.3.2009, 16:24 Посл. сообщение: oOps
No New Posts Скрипт Отчёта О Действиях Опов Мастеру Хаба (с Указанием Ника Мастера В Скрипте,которому Должен Присылаться Отчёт О Банах, Киках И Тому Подобное )
Ptokax 0.4.1.1
0 Серый 5 524 2.2.2009, 22:59 Посл. сообщение: Серый
No New Posts Помощь В Сокрытии Сообщений От Ника И Самого Ника...
3 *FoxMalder* 8 615 8.1.2009, 19:00 Посл. сообщение: *FoxMalder*
No New Posts Парни Прошу Вылажать Сюды<<--скрипт 'сколька Осталось До Нового Года'
взарание спасибки...!!! ^_~
4 BadPapa 10 704 31.12.2008, 0:38 Посл. сообщение: BadPapa
No new Topic has attachmentsЗамена Ника На Ник-имя
API 2
18 Илья Иванович 20 272 16.11.2008, 23:24 Посл. сообщение: STAJIKER

 



RSS Сейчас: 23.12.2024, 13:34