Advertisement
pony

rlistsearch

Jul 19th, 2015
340
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.10 KB | None | 0 0
  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;;;;;;;;;; Buzzen Chat Network Chatroom Lister ;;;;;;;;;;
  3. ;;;;;;;;;; @Window Room Lister v 2.1 ;;;;;;;;;;
  4. ;;;;;;;;;; by err0r ;;;;;;;;;;
  5. ;;;;;;;;;; http://www.tg007.net ;;;;;;;;;;
  6. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  7. ;;;;;;;;;; Instructions ;;;;;;;;;;
  8. ;;;;;;;;;; Use /rlister or /rlister <cat> ;;;;;;;;;;
  9. ;;;;;;;;;; to open window ;;;;;;;;;;
  10. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  11. ;;;;;;;;;; Report any errors or suggestions ;;;;;;;;;;
  12. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  13. ;;Menu
  14. menu status,channel,menubar {
  15. BuzzRoomlister
  16. .BuzzRoomlister: { rlister }
  17. ..View Category
  18. ...City Chats: { rlister cc }
  19. ...Computing: { rlister cp }
  20. ...Entertainment: { rlister et }
  21. ...General: { rlister gn }
  22. ...Interests: { rlister in }
  23. ...Lifestyles: { rlister ls }
  24. ...News & Politics: { rlister ne }
  25. ...Peers: { rlister pr }
  26. ...Religion: { rlister rl }
  27. ...RolePlay: { rlister rp }
  28. ...Romance: { rlister rm }
  29. ...Sport & Health: { rlister sp }
  30. ...Teens: { rlister tn }
  31. ...Unlisted: { rlister un }
  32. -
  33. }
  34. ;;Close
  35. on *:CLOSE:@BuzzenRoomlist: { /window -c @BuzzenRoomlistb | /window -c @BuzzenRoomlistc }
  36. ;;Aliases
  37. alias rlister {
  38. if (!$window(@BuzzenRoomlist)) { window -blMk -t22,26,30,37 +benstx @BuzzenRoomlist verdana 10 }
  39. if (!$window(@BuzzenRoomlistb)) { window -lh @BuzzenRoomlistb }
  40. if (!$window(@BuzzenRoomlistc)) { window -lh @BuzzenRoomlistc }
  41. rlisterstart | rlistget $1
  42. }
  43. alias rlistget {
  44. if ($1) { set %rlistroom.category $1 }
  45. if (!%rlistroom.number) { set -e %rlistroom.number 1 | rlistclear }
  46. if (!%rlistroom.total) { set -e %rlistroom.total 1 }
  47. if (!%rlistroom.category) { set -e %rlistroom.category gn }
  48. sockclose rlister | sockopen rlister www.buzzen.com 80 | rlshowcat
  49. }
  50. alias rlistclear { clear @BuzzenRoomlistb | clear @BuzzenRoomlistc }
  51. alias rlshowcat { titlebar @BuzzenRoomlist $rlistcatr(%rlistroom.category) }
  52. alias rlisterstart { clear @BuzzenRoomlist | aline @BuzzenRoomlist Roomname $chr(9) Users $chr(9) Modes $chr(9) Language $chr(9) Topic | aline @BuzzenRoomlist $chr(160) }
  53. alias rlisterror { noop $input(Unable to obtain roomlist $crlf $replace(%rlisterror,3,failure establishing socket connection,4,error resolving given hostname),uowd,Attention!) | unset %rlisterror }
  54. ;;; Socket
  55. on *:sockopen:rlister: {
  56. set -e %rlistroom.name 1 | set -e %rlistroom.page 2
  57. if ($sockerr) { set %rlisterror $sockerr | sockclose $sockname | .timer.rlerror -m 1 1 rlisterror | halt }
  58. sockwrite -n $sockname GET /mircinfo/rooms.php?cat= $+ %rlistroom.category HTTP/1.1
  59. sockwrite -n $sockname Host: www.buzzen.com
  60. sockwrite -n $sockname $crlf
  61. }
  62. on *:sockread:rlister: {
  63. if ($sockerr > 0) return | var %rlister | sockread %rlister
  64. tokenize 32 %rlister
  65. if ($regex($1-,/<div class=\"startroom\"><div class=\"rmmodes\">(.*)<\/div><div class=\"rmname\">(.*)<\/div><div class=\"rmlang\">(.*)</div><div class=\"rmusers\">(.*)<\/div><div class=\"rmtopic\">(.*)<\/div><\/div>/)) {
  66. if ($window(@BuzzenRoomlist)) {
  67. aline @BuzzenRoomlist $replace($regml(2),\b,$chr(32)) $chr(9) $regml(4) $chr(9) $regml(1) $chr(9) $regml(3) $chr(9) $regml(5)
  68. aline @BuzzenRoomlistb $chr(37) $+ $chr(35) $+ $regml(2) $chr(9) $iif($len($regml(4)) == 1,00 $+ $regml(4),$iif($len($regml(4)) == 2,0 $+ $regml(4),$regml(4))) $chr(9) $regml(1) $chr(9) $regml(3) $chr(9) $regml(5)
  69. aline @BuzzenRoomlistc $chr(37) $+ $chr(35) $+ $regml(2) $chr(9) $iif($len($regml(4)) == 1,00 $+ $regml(4),$iif($len($regml(4)) == 2,0 $+ $regml(4),$regml(4))) $chr(9) $regml(1) $chr(9) $regml(3) $chr(9) $regml(5)
  70. }
  71. inc %rlistroom.name | inc %rlistroom.total
  72. }
  73. if ($regex($1,/</html>/)) {
  74. sockclose $sockname
  75. if (%rlistroom.number == %rlistroom.lastnm) || (!%rlistroom.lastnm) { unset %rlistroom.* }
  76. else { set -e %rlistroom.number %rlistroom.lastnm
  77. rlistget
  78. }
  79. }
  80. }
  81.  
  82. alias rlistfilter { rlisterstart | clear @BuzzenRoomlistc | filter -t $+ %rlistfilter 9 @BuzzenRoomlistb @BuzzenRoomlistc | .timer.rmsort -m 1 500 roomsort }
  83. alias roomsort {
  84. var %te 1
  85. while ($line(@BuzzenRoomlistc,%te)) {
  86. tokenize 32 $line(@BuzzenRoomlistc,%te)
  87. aline @BuzzenRoomlist $right($replace($1,\b,$chr(32)),-2) $chr(9) $iif($left($3,1) == 0,$iif($left($3,2) == 00,$right($3,-2),$right($3,-1)),$3) $chr(9) $replace($5,1,BSR,2,BCR,3,UCR) $chr(9) $rlistlanguage($7) $chr(9) $9-
  88. inc %te
  89. }
  90. }
  91. alias rlistcatr { return $replacex($1,et,Entertainment,gn,General,cp,Computing,rm,Romance,pr,Peers,un,Unlisted,cc,City Chats,in,Interests,ls,Lifestyles,ne,News & Politics,rl,Religion,rp,Roleplay,sp,Sport & Health,tn,Teens) }
  92.  
  93. ;; MENU
  94. menu @BuzzenRoomlist {
  95. dclick: if ($sline(@BuzzenRoomlist,1).ln > 2) && ($sline(@BuzzenRoomlist,1).ln != $null) { join $gettok($line(@BuzzenRoomlistc,$calc($sline(@BuzzenRoomlist,1).ln -2)),1,9) }
  96. $iif($sline(@BuzzenRoomlist,1).ln < 3,$style(2),$iif($sline(@BuzzenRoomlist,1).ln == $null,$style(2))) Join mIRC: join $gettok($line(@BuzzenRoomlistc,$calc($sline(@BuzzenRoomlist,1).ln -2)),1,9)
  97. -
  98. Search: $iif(!$dialog(search),dialog -m rlistsearch rlistsearch)
  99. -
  100. Category:
  101. .City Chats: rlister cc
  102. .Computing: rlister cp
  103. .Entertainment: rlister et
  104. .General: rlister gn
  105. .Interests: rlister in
  106. .Lifestyles: rlister ls
  107. .News & Politics: rlister ne
  108. .Peers: rlister pr
  109. .Religion: rlister rl
  110. .RolePlay: rlister rp
  111. .Romance: rlister rm
  112. .Sport & Health: rlister sp
  113. .Teens: rlister tn
  114. .Unlisted: rlister un
  115. -
  116. Sort by:
  117. .Name: set %rlistfilter u 1 | rlistfilter
  118. .Users: set %rlistfilter eu 2 | rlistfilter
  119. -
  120. $iif($sline(@BuzzenRoomlist,1).ln < 3,$style(2),$iif($sline(@BuzzenRoomlist,1).ln == $null,$style(2))) Browser:
  121. .Join: url $+(http://www.buzzen.net/chatui.aspx?rm=,$chr(37),25,$chr(37),23,$replace($right($gettok($line(@BuzzenRoomlistc,$calc($sline(@BuzzenRoomlist,1).ln -2)),1,9),-2),\b,$chr(32)))
  122. .Copy: clipboard $+(http://www.buzzen.net/chatui.aspx?rm=,$chr(37),25,$chr(37),23,$right($gettok($line(@BuzzenRoomlistc,$calc($sline(@BuzzenRoomlist,1).ln -2)),1,9),-2))
  123. }
  124. dialog rlistsearch {
  125. title "Room Search"
  126. size -1 -1 147 26
  127. option dbu
  128. edit "", 1, 1 1 145 11
  129. button "Search/Find Next", 2, 1 14 50 11
  130. button "Close", 4, 52 14 93 11
  131. }
  132. on *:DIALOG:rlistsearch:sclick:2: {
  133. if (%rlistsearch.item != $did(rlistsearch,1).text) {
  134. set %rlistsearch.item $did(rlistsearch,1).text | set %rlistsearch.start 0 | set %rlistsearch.num $fline(@BuzzenRoomlist,* $+ %rlistsearch.item $+ *,0,1)
  135. }
  136. set %rlistsearch.start $calc(%rlistsearch.start +1)
  137. if (%rlistsearch.start > %rlistsearch.num) { $input(End of Search,uodw,Attention!) | halt }
  138. /sline -s @BuzzenRoomlist $fline(@BuzzenRoomlist,* $+ %rlistsearch.item $+ *, $+ %rlistsearch.start $+ ,1)
  139. }
  140. on *:dialog:rlistsearch:sclick:4: { unset %rlistsearch.* | dialog -x rlistsearch }
  141. on *:dialog:rlistsearch:close:*: { unset %rlistsearch.* }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement