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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
|
::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::Invitebot by swrzenn:::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::
on !*:join:%Invite.Channel: { .timer 1 4 Check-Invite $nick *!*@ $+ $gettok($address,2,64) }
on *:connect: { .timer 1 2 join %Invite.Channel | .timer 0 500 mode %Invite.Channel +r }
on *:text:*:*: {
if ($target !ischan) {
if ($1 == %Invite.Sign $+ Set) && ($2 == %Invite.Botpass) {
if ($3 == BotPass) {
if (!$4) { msg $nick Error: The syntax is %Invite.Sign $+ Set %Invite.Botpass Botpass <12NEW BOT PASSWORD1> | Halt }
elseif ($4) { msg $nick Botpass changed to:12 $4 | Set %Invite.Botpass $4 | Halt }
}
if ($3 == admin) {
if (!$5) { msg $nick Error: The syntax is: %Invite.Sign $+ Set %Invite.Botpass admin <12USER1> <12PASSWORD1> $+ ,Ex: %Invite.Sign $+ Set %Invite.Botpass admin swrzenn 123 }
elseif ($readini(Admins.ini,$4,User)) { msg $nick Error: The username12 $4 1is already used! please choose an author username or type %Invite.Sign $+ Set %Invite.Botpass unadmin $4 $+ . }
elseif (!$readini(Admins.ini,$4,User)) {
msg $nick [12Admin added1] Username:12 $4 1Password:12 $5 1Login command: /msg $me %Invite.Sign $+ Login $4 $5
.writeini -n Admins.ini $4 User $4
.writeini -n Admins.ini $4 Pass $5
.writeini -n Admins.ini $4 Status OFF | Halt
} }
if ($3 == unadmin) {
if (!$4) { msg $nick Error: The syntax is: %Invite.Sign $+ Set %Invite.Botpass unadmin <12USER1> $+ . }
elseif (!$readini(Admins.ini,$4,User)) { msg $Nick Error: The username12 $4 1wasnt found in the Admins list. }
elseif ($readini(Admins.ini,$4,User)) {
msg $nick [12Admin removed1]12 $4 1removed from the admins list.
.remini -n Admins.ini $4
}
}
}
if ($1 == %Invite.Sign $+ login) && ($3) && ($readini(Admins.ini,$2,pass) == $3) && (!$Admins(*!*@ $+ $gettok($address,2,64)).logged?) {
whois $nick
msg $nick You are connected to the admin account with the username:12 $2 1and the password:12 $3 $+ .
msg %Invite.channel $nick has connected to the admin account with the username:12 $2 $+ .
.writeini -n Admins.ini $2 Logged *!*@ $+ $gettok($address,2,64)
.writeini -n Admins.ini $2 Status ON
}
if ($1- == %Invite.Sign $+ logout) && ($Admins(*!*@ $+ $gettok($address,2,64)).logged?) {
var %user = $Admins(*!*@ $+ $gettok($address,2,64)).logged?
msg $nick You are logged out from the admin account. (12 $+ %user $+ 1 $+ )
msg %Invite.channel $nick has logged out from the admin account. (12 $+ %user $+ 1 $+ )
.remini -n Admins.ini %user Logged
.writeini -n Admins.ini %user Status OFF
}
if ($1- == %Invite.Sign $+ logoff) && ($Admins(*!*@ $+ $gettok($address,2,64)).logged?) {
var %user = $Admins(*!*@ $+ $gettok($address,2,64)).logged?
msg $nick You are logged off from the admin account. (12 $+ %user $+ 1 $+ )
msg %Invite.channel $nick has logged off from the admin account. (12 $+ %user $+ 1 $+ )
.remini -n Admins.ini %user Logged
.writeini -n Admins.ini %user Status OFF
}
if ($Admins(*!*@ $+ $gettok($address,2,64)).logged?) {
var %user = $Admins(*!*@ $+ $gettok($address,2,64)).logged?
if ( ($1 == %Invite.Sign $+ Invite) || ($1 == %Invite.Sign $+ AddInvite) || ($1 == %Invite.Sign $+ Add-Invite) ) && ($2) {
msg $nick [12Invite1]12 $2 1invited to12 %Invite.channel $+ .
invite $2 %Invite.channel
msg $2 [12 $+ %Invite.Channel $+ 1] You are invite to12 %Invite.channel 1by12 $nick 1[12 $+ %Invite.Channel $+ 1]
msg $Bot? chanlev %Invite.Channel $2 +kv
}
if ( ($1 == %Invite.Sign $+ DelInvite) || ($1 == %Invite.Sign $+ Del-Invite) || ($1 == %Invite.Sign $+ Rem-Invite) || ($1 == %Invite.Sign $+ RemInvite) ) && ($2) {
msg $nick [12Invite removed1]12 $2 1removed from the channel12 %Invite.channel $+ .
msg $Bot? chanlev %Invite.Channel $2 -kav
.timer 1 1 msg $2 [12 $+ %Invite.Channel $+ 1] Your invite removed from12 %Invite.channel 1[12 $+ %Invite.Channel $+ 1]
if ($2 ison %Invite.Channel) { ban -k %Invite.channel $2 1Your invite removed from12 %Invite.channel }
}
}
}
if ($target ischan) && ($target == %Invite.channel) {
if ($1- == %Invite.Sign $+ Admins) && (!%Invite.flood) { msg # 0,1Admins (3 $+ $admins(ON).num $+ 0/ $+ $admins(ALL).num $+ ): $admins | set -u4 %Invite.flood ON }
}
}
alias Bot? {
if (Q ison %Invite.Channel) { return Q }
if (L ison %Invite.Channel) { return L }
}
on *:op:%Invite.channel: { if ($opnick == $me) { mode # +r } }
on !*:mode:%Invite.channel: { if (r !isincs $chan(#).mode) { mode # +r } }
on *:quit: {
if ($Admins(*!*@ $+ $gettok($address,2,64)).logged?) {
var %user = $Admins(*!*@ $+ $gettok($address,2,64)).logged?
msg %Invite.channel $nick has disconnected from the admin account and from the mIRC. (12 $+ %user $+ 1 $+ )
.remini -n Admins.ini %user Logged
.writeini -n Admins.ini %user Status OFF
}
}
on *:part:%Invite.Channel: {
if ($Admins(*!*@ $+ $gettok($address,2,64)).logged?) {
var %user = $Admins(*!*@ $+ $gettok($address,2,64)).logged?
msg $nick You are disconnected from the admin account. (12 $+ %user $+ 1 $+ )
msg %Invite.channel $nick has disconnected from the admin account and from the mIRC. (12 $+ %user $+ 1 $+ )
.remini -n Admins.ini %user Logged
.writeini -n Admins.ini %user Status OFF
}
}
on *:kick:%Invite.Channel: {
if ($Admins($address($knick,2)).logged?) {
var %user = $Admins($address($knick,2)).logged?
msg $nick You are disconnected from the admin account. (12 $+ %user $+ 1 $+ )
msg %Invite.channel $nick has disconnected from the admin account. (12 $+ %user $+ 1 $+ )
.remini -n Admins.ini %user Logged
.writeini -n Admins.ini %user Status OFF
}
}
alias admins {
if ($prop == logged?) && ($1) {
var %x = 1
while ($ini(Admins.ini,%x)) {
if ($readini(Admins.ini,$ini(Admins.ini,%x),logged) == $1) { return $ini(Admins.ini,%x) | halt }
inc %x
}
}
if ($prop == logged.nick) && ($1) {
if ($readini(Admins.ini,$1,Logged)) { return $ial($readini(Admins.ini,$1,Logged)).nick }
elseif (!$readini(Admins.ini,$1,Logged)) { return No Suck NickName }
}
if ($prop == status) && ($1) {
if ($readini(Admins.ini,$1,Status) == ON) { return ON }
elseif ($readini(Admins.ini,$1,Status) == OFF) { return OFF }
}
if (!$prop) && ($1 == ALL) {
var %x = 1
while ($ini(Admins.ini,%x)) { var %temp = %temp $ini(Admins.ini,%x) | inc %x }
if (!$ini(Admins.ini,%x)) { return %temp }
}
if ($prop == NUM) && ($1 == ALL) { return $ini(Admins.ini,0) }
if (!$prop) && ($1 == ON) {
var %x = 1
while ($ini(Admins.ini,%x)) {
if ($readini(Admins.ini,$ini(Admins.ini,%x),status) == ON) { var %temp = %temp $ini(Admins.ini,%x) }
inc %x
}
if (!$ini(Admins.ini,%x)) { return %temp }
}
if (!$prop) && ($1 == OFF) {
var %x = 1
while ($ini(Admins.ini,%x)) {
if ($readini(Admins.ini,$ini(Admins.ini,%x),status) == OFF) { var %temp = %temp $ini(Admins.ini,%x) }
inc %x
}
if (!$ini(Admins.ini,%x)) { return %temp }
}
if ($prop == num) && ($1 == OFF) {
var %x = 1
while ($ini(Admins.ini,%x)) {
if ($readini(Admins.ini,$ini(Admins.ini,%x),status) == OFF) { var %temp = %temp $ini(Admins.ini,%x) }
inc %x
}
if (!$ini(Admins.ini,%x)) { return $numtok(%temp,32) }
}
if ($prop == num) && ($1 == ON) {
var %x = 1
while ($ini(Admins.ini,%x)) {
if ($readini(Admins.ini,$ini(Admins.ini,%x),status) == ON) { var %temp = %temp $ini(Admins.ini,%x) }
inc %x
}
if (!$ini(Admins.ini,%x)) { return $numtok(%temp,32) }
}
if (!$prop) && (!$1) {
var %x = 1
while ($ini(Admins.ini,%x)) {
if ($readini(Admins.ini,$ini(Admins.ini,%x),status) == ON) { var %temp = %temp 3• $+ 0 $+ $ini(Admins.ini,%x) }
if ($readini(Admins.ini,$ini(Admins.ini,%x),status) == OFF) { var %temp = %temp 4• $+ 0 $+ $ini(Admins.ini,%x) }
inc %x
}
if (!$ini(Admins.ini,%x)) { return %temp }
}
}
alias Check-Invite {
if ($1 isreg %Invite.Channel) { mode %Invite.Channel +b $2 | kick %Invite.Channel $1 invited only! }
}
menu * {
Set Channel { set %Invite.Channel $input(Type invite channel,e,Type invite channel) }
Set Sign { set %Invite.Sign $input(Type Sign (Like: !),e,Type Sign (Like: !)) }
Set BotPass { set %Invite.BotPass $input(Type BotPass (MasterPass),e,BotPass (MasterPass)) }
Clear Admins { .remove Admins.ini }
Open admins file { $iif($exists(Admins.ini),run Admins.ini,echo -a There is no admins.) }
|