1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
/*
This script is a simple but efficient automatic response on query open.
The script combines the targets who has the same automatic response, and
sends them the message togather, one step more to avoid excess flood!
Since it uses the response to combine the targets, please make sure to NOT
put any variables in the message (like $nick $1 etc...), since every message
will be different, and the targets won't combine!
Script made by NaNg @ QuakeNet, all rights (c) reserved.
*/
/*
To enable the script, make sure %OnOpen.On is set to true ($true, 1 etc...)
To disable it, unset %OnOpen.On or set it to false ($false, 0 etc...)
*/
on *:LOAD: set %OnOpen.On 1
on *:OPEN:?:*: {
if (%OnOpen.On) {
;%onopen.msg is the text which will be sent to the users opening the queries.
;Set it to whatever you want to be sent.
var %onopen.msg = Hello. I'm ignoring msgs that has no content (like 'here?', '?', etc...). Please say what you want and I'll get back to you when I can.
$OnOpen.AddQue(%onopen.msg,$nick)
}
}
alias -l OnOpen.Encode {
if (!$isid) halt
if ($1 == $null) return $null
return $regsubex($1-,/(.)/g,$base($asc(\1),10,16))
}
alias -l OnOpen.Decode {
if (!$isid) halt
if ($1 == $null) return $null
return $regsubex($1-,/(..)/g,$chr($base(\1,16,10)))
}
alias -l OnOpen.AddQue {
if (($1 == $null) || ($2 == $null)) halt
if ($hget(OnOpenQue ) == $null) hmake OnOpenQue 2
if ($hget(OnOpenQue ,$OnOpen.Encode($1)) == $null) hadd OnOpenQue $OnOpen.Encode($1) $OnOpen.Encode($2)
else hadd OnOpenQue $OnOpen.Encode($1) $OnOpen.Encode($addtok($OnOpen.Decode($hget(OnOpenQue ,$OnOpen.Encode($1))),$2,44))
.timer [ $+ [ $OnOpen.Encode($1) ] ] 1 1 OnOpen.ExecQue $OnOpen.Encode($1)
}
alias -l OnOpen.ExecQue {
if ($1 == $null) halt
if (($hget(OnOpenQue) == $null) || ($hget(OnOpenQue,$1) == $null)) halt
var %OnOpenQue.Targets = $OnOpen.Decode($hget(OnOpenQue,$1)), %OnOpenQue.Ctr = 1
hdel OnOpenQue $1
;Remove the ';' from the next line if you want that the users will be /whois'd on query open.
;whois %OnOpenQue.Targets
!MSG %OnOpenQue.Targets $OnOpen.Decode($1)
}
|