Guest User

Untitled

a guest
Mar 16th, 2018
272
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
mIRC 4.34 KB | None | 0 0
  1. ; ==============================================
  2. ;  Name:     Session Resume
  3. ;  Version:  19/05/10 22:22 (r0007)
  4. ;  Author:   Alyx/TigerTails (AlyxUK@gmail.com)      
  5. ; ==============================================
  6. ;
  7. ; Description:
  8. ;  This script will automaticaly rejoin servers and channels when you open mIRC.
  9. ;  No commands are neccersary to change the autojoin list, when you close mIRC
  10. ;  the list of current servers and channels are logged.
  11. ;
  12. ; Notes:
  13. ;  If you are running this script for the FIRST TIME, disconnect and reconnect
  14. ;  to all servers. It is neccersary for this script to work.
  15. ;
  16. ; Changelog:
  17. ;  19/05/10:
  18. ;   22:22 r0007:
  19. ;    * Added a command to set the connection action (/setconnect <command>)
  20. ;  16/04/10:
  21. ;   13:43 r0006:
  22. ;    * Added SSL support, allows people to use non-standard ports
  23. ;    * Uses server IPs rather than hosts, which some servers prefer (this fixes
  24. ;      the issue of some servers 'getting stuck' in the list)
  25. ;
  26. ;  20/03/10:
  27. ;   21:04 r0005:
  28. ;    ! Fixed a small irritating bug, now nickserv info always stays
  29. ;
  30. ;  06/01/10:
  31. ;   01:00 r0004:
  32. ;    ! Fixed an important bug in the "closed or disconnected" detection
  33. ;
  34. ;  24/12/09:
  35. ;   18:04 r0003:
  36. ;    * Automatic NickServ identification, based on your previous authentication
  37. ;
  38. ;  23/12/09:
  39. ;   11:54 r0002:
  40. ;    ! Closing mIRC will no longer remove all servers from the join list
  41. ;      Bit of a hack-up fix, but it does the job
  42. ;    ! Many fixes, a lot of code changed
  43. ;
  44. ;  20/12/09:
  45. ;   03:21 r0001:
  46. ;    * Initial script.
  47. ;    # Closing mIRC results in the removal of all servers from the join list.
  48. ;
  49. ; * = New Feature (...)
  50. ; ! = Fixed bug
  51. ; # = Known bug
  52. ;
  53. ; ==============================================
  54.  
  55. on *:START:{
  56.   var %i = 1
  57.   while ($ini(SessionResume.ini,%i) != $null) {
  58.     if ($readini(SessionResume.ini,$ini(SessionResume.ini,%i),1) != $null) {
  59.       if ($readini(SessionResume.ini,%i,sslport) != $null) {
  60.         /server $iif(%i == 1,$null,-m) $ini(SessionResume.ini,%i) $+ : $+ $readini(SessionResume.ini,%i,sslport)
  61.         } else {
  62.         /server $iif(%i == 1,$null,-m) $ini(SessionResume.ini,%i) $+ : $+ $readini(SessionResume.ini,%i,port)
  63.       }
  64.     }
  65.     inc %i
  66.   }
  67. }
  68.  
  69. on *:CONNECT:{
  70.   /remini SessionResume.ini $serverip 0
  71.   /writeini SessionResume.ini $serverip 1 1
  72.   /writeini SessionResume.ini $serverip port $port
  73.   if (+ isin $port) { /writeini SessionResume.ini $serverip sslport $port }
  74.  
  75.  
  76.   if ($readini(SessionResume.ini,$serverip,command) != $null) $readini(SessionResume.ini,$serverip,command)
  77.  
  78.   var %i = 2
  79.   while ($readini(SessionResume.ini,$serverip,%i) != $null) {
  80.     if ($readini(SessionResume.ini,$serverip,%i) != empty) .timer 1 $calc(10 + %i) /join $readini(SessionResume.ini,$serverip,%i)
  81.     inc %i
  82.   }
  83. }
  84.  
  85. on *:DISCONNECT:{
  86.   /writeini SessionResume.ini $serverip 0 1
  87.   .timer -o 1 1 /sessionresume_checkserver $serverip
  88. }
  89.  
  90. on *:JOIN:#:{
  91.   if ($nick == $me) {
  92.     var %i = 2
  93.     while ($readini(SessionResume.ini,$serverip,%i) != $null) {
  94.       if ($readini(SessionResume.ini,$serverip,%i) == empty) || ($readini(SessionResume.ini,$serverip,%i) = $chan) /break
  95.       inc %i
  96.     }
  97.     /writeini SessionResume.ini $serverip %i $chan
  98.   }
  99. }
  100.  
  101. on *:PART:#:{
  102.   if ($nick == $me) {
  103.     var %i = 2
  104.     while ($readini(SessionResume.ini,$serverip,%i) != $null) {
  105.       if ($readini(SessionResume.ini,$serverip,%i) == $chan) {
  106.         /writeini SessionResume.ini $serverip %i empty
  107.         /break
  108.       }
  109.       inc %i
  110.     }
  111.   }
  112. }
  113.  
  114. alias sessionresume_checkserver {
  115.   if ($readini(SessionResume.ini,$1,0) != $null) {
  116.     var %concmd = $readini(SessionResume.ini,$1,command)
  117.     /remini SessionResume.ini $1
  118.     if (%concmd != $null) /writeini SessionResume.ini $1 command %concmd
  119.   }
  120. }
  121.  
  122. on *:INPUT:*:{
  123.   if ($ctrlenter == $false) {
  124.     if (/msg isin $1) && ($2 == NickServ) && ($3 == IDENTIFY) && ($4 != $null) /writeini SessionResume.ini $serverip command $1-
  125.     if (/ns isin $1) && ($2 == identify) && ($3 != $null) /writeini SessionResume.ini $serverip command $1-
  126.   }
  127. }
  128.  
  129. alias delssl {
  130.   /remini SessionResume.ini $serverip sslport
  131. }
  132.  
  133. alias setconnect {
  134.   if ($1 != $null) {
  135.     /writeini SessionResume.ini $serverip command $1-
  136.     /echo 3 $+ $timestamp Success: Command " $+ $1- $+ " will automaticaly trigger when connecting to $serverip $+ : $+ $port
  137.   }
  138. }
Add Comment
Please, Sign In to add comment