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
|
on *:LOAD: set %OnOpen.On 1
on *:OPEN:?:*: {
if (%OnOpen.On) && (!%OnOpen.Nick. [ $+ [ $nick ] ]) && (!%OnOpen.Address. [ $+ [ $md5($address($nick,2)) ] ]) && (vG|* iswm $me) {
;%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.msg1 = I'm ignoring messages that has no content (like 'here?', '?', etc...). Please say what you want, and if I won't respond to you, it might be because I'm not arround to answer your question.
var %onopen.msg2 =
$OnOpen.AddQue(%onopen.msg1,$nick)
}
}
on *:CLOSE:?: {
;This part prevents the msg from being popuped again after you close the chat window for an hour.
set -u600 %OnOpen.Nick. [ $+ [ $nick ] ] 1
set -u600 %OnOpen.Address. [ $+ [ $md5($address($nick,2)) ] ] 1
}
alias -l OnOpen.Encode {
if (!$isid) return
if ($1 == $null) return $null
return $regsubex($1-,/(.)/g,$base($asc(\1),10,16))
}
alias -l OnOpen.Decode {
if (!$isid) return
if ($1 == $null) return $null
return $regsubex($1-,/(..)/g,$chr($base(\1,16,10)))
}
alias -l OnOpen.AddQue {
if (($1 == $null) || ($2 == $null)) return
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 [ $+ [ $md5($1) ] ] 1 1 OnOpen.ExecQue $OnOpen.Encode($1)
}
alias -l OnOpen.ExecQue {
if ($1 == $null) retun
if (($hget(OnOpenQue) == $null) || ($hget(OnOpenQue,$1) == $null)) return
var %OnOpenQue.Targets = $OnOpen.Decode($hget(OnOpenQue,$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)
}
|