Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; ==============================================
- ; Name: Session Resume
- ; Version: 19/05/10 22:22 (r0007)
- ; Author: Alyx/TigerTails (AlyxUK@gmail.com)
- ; ==============================================
- ;
- ; Description:
- ; This script will automaticaly rejoin servers and channels when you open mIRC.
- ; No commands are neccersary to change the autojoin list, when you close mIRC
- ; the list of current servers and channels are logged.
- ;
- ; Notes:
- ; If you are running this script for the FIRST TIME, disconnect and reconnect
- ; to all servers. It is neccersary for this script to work.
- ;
- ; Changelog:
- ; 19/05/10:
- ; 22:22 r0007:
- ; * Added a command to set the connection action (/setconnect <command>)
- ; 16/04/10:
- ; 13:43 r0006:
- ; * Added SSL support, allows people to use non-standard ports
- ; * Uses server IPs rather than hosts, which some servers prefer (this fixes
- ; the issue of some servers 'getting stuck' in the list)
- ;
- ; 20/03/10:
- ; 21:04 r0005:
- ; ! Fixed a small irritating bug, now nickserv info always stays
- ;
- ; 06/01/10:
- ; 01:00 r0004:
- ; ! Fixed an important bug in the "closed or disconnected" detection
- ;
- ; 24/12/09:
- ; 18:04 r0003:
- ; * Automatic NickServ identification, based on your previous authentication
- ;
- ; 23/12/09:
- ; 11:54 r0002:
- ; ! Closing mIRC will no longer remove all servers from the join list
- ; Bit of a hack-up fix, but it does the job
- ; ! Many fixes, a lot of code changed
- ;
- ; 20/12/09:
- ; 03:21 r0001:
- ; * Initial script.
- ; # Closing mIRC results in the removal of all servers from the join list.
- ;
- ; * = New Feature (...)
- ; ! = Fixed bug
- ; # = Known bug
- ;
- ; ==============================================
- on *:START:{
- var %i = 1
- while ($ini(SessionResume.ini,%i) != $null) {
- if ($readini(SessionResume.ini,$ini(SessionResume.ini,%i),1) != $null) {
- if ($readini(SessionResume.ini,%i,sslport) != $null) {
- /server $iif(%i == 1,$null,-m) $ini(SessionResume.ini,%i) $+ : $+ $readini(SessionResume.ini,%i,sslport)
- } else {
- /server $iif(%i == 1,$null,-m) $ini(SessionResume.ini,%i) $+ : $+ $readini(SessionResume.ini,%i,port)
- }
- }
- inc %i
- }
- }
- on *:CONNECT:{
- /remini SessionResume.ini $serverip 0
- /writeini SessionResume.ini $serverip 1 1
- /writeini SessionResume.ini $serverip port $port
- if (+ isin $port) { /writeini SessionResume.ini $serverip sslport $port }
- if ($readini(SessionResume.ini,$serverip,command) != $null) $readini(SessionResume.ini,$serverip,command)
- var %i = 2
- while ($readini(SessionResume.ini,$serverip,%i) != $null) {
- if ($readini(SessionResume.ini,$serverip,%i) != empty) .timer 1 $calc(10 + %i) /join $readini(SessionResume.ini,$serverip,%i)
- inc %i
- }
- }
- on *:DISCONNECT:{
- /writeini SessionResume.ini $serverip 0 1
- .timer -o 1 1 /sessionresume_checkserver $serverip
- }
- on *:JOIN:#:{
- if ($nick == $me) {
- var %i = 2
- while ($readini(SessionResume.ini,$serverip,%i) != $null) {
- if ($readini(SessionResume.ini,$serverip,%i) == empty) || ($readini(SessionResume.ini,$serverip,%i) = $chan) /break
- inc %i
- }
- /writeini SessionResume.ini $serverip %i $chan
- }
- }
- on *:PART:#:{
- if ($nick == $me) {
- var %i = 2
- while ($readini(SessionResume.ini,$serverip,%i) != $null) {
- if ($readini(SessionResume.ini,$serverip,%i) == $chan) {
- /writeini SessionResume.ini $serverip %i empty
- /break
- }
- inc %i
- }
- }
- }
- alias sessionresume_checkserver {
- if ($readini(SessionResume.ini,$1,0) != $null) {
- var %concmd = $readini(SessionResume.ini,$1,command)
- /remini SessionResume.ini $1
- if (%concmd != $null) /writeini SessionResume.ini $1 command %concmd
- }
- }
- on *:INPUT:*:{
- if ($ctrlenter == $false) {
- if (/msg isin $1) && ($2 == NickServ) && ($3 == IDENTIFY) && ($4 != $null) /writeini SessionResume.ini $serverip command $1-
- if (/ns isin $1) && ($2 == identify) && ($3 != $null) /writeini SessionResume.ini $serverip command $1-
- }
- }
- alias delssl {
- /remini SessionResume.ini $serverip sslport
- }
- alias setconnect {
- if ($1 != $null) {
- /writeini SessionResume.ini $serverip command $1-
- /echo 3 $+ $timestamp Success: Command " $+ $1- $+ " will automaticaly trigger when connecting to $serverip $+ : $+ $port
- }
- }
Add Comment
Please, Sign In to add comment