Novice Channel Helper Script

By HoBbo! on Jun 06, 2005

A Dialog that helps people who dont know anything about scripting to make simple on TEXT, on JOIN and on PART events and then write them to file. Not too sure if this has been done before, was just an idea that i came up with that took me about an hour to script. Enjoy.

Edit: Added menu. Now just type /helper to bring up dialog :]

alias helper dialog -md helper helper
dialog helper {
  title "Channel Helper"
  size -1 -1 138 125
  option dbu
  list 1, 32 4 30 26, size
  text "When user", 2, 3 13 27 8
  box "", 3, 1 0 66 32
  box "", 4, 69 0 66 32
  text "Then...", 5, 71 14 25 8
  list 6, 96 4 37 26, size
  box "", 7, 1 33 135 65
  box "Options", 8, 65 38 66 30
  text "Channel", 9, 67 47 21 8
  edit "", 10, 88 45 41 10
  check "Op Only", 12, 68 56 57 10, left
  edit "", 11, 2 69 132 26
  text "Input", 13, 4 61 25 8
  edit "", 14, 24 41 39 15
  text "Text:", 15, 4 45 17 8
  button "Create + write to file", 16, 2 99 133 12
  list 17, 3 113 132 10, size
  menu "File", 18
  item "Help", 19, 18
  item "About", 20, 18
  item "Exit", 21, 18
}

dialog about {
  title "New Project"
  size -1 -1 145 37
  option dbu
  text "Channel Helper Created By HoBbo! This was made in a few hours to help those in need of simple channel admin without having to learn code themselves. Contact me on Quakenet under the name HoBbo for any help or ideas. Alternatively, email me at willey_wonka@hotmail.com", 1, 1 1 143 35
}
dialog help {
  title "New Project"
  size -1 -1 145 32
  option dbu
  text "Select Say, Join or Part first. Then select what happens when they do this action. Edit various options and make sure you fill in all necessary boxes. Script is written to chanscript.mrc in your Root mIRC folder. I hope this helps", 1, 1 1 143 35
}
on *:START: echo -a To start Channel Helper Bot, Type /helper
on *:dialog:helper:menu:19: {
  dialog -md help help
}
on *:dialog:helper:menu:20: {
  dialog -md about about
}
on *:dialog:helper:menu:21: {
  dialog -x helper helper
}
on *:dialog:helper:init:0: {
  /did -a helper 1 Says
  /did -a helper 1 Joins
  /did -a helper 1 Parts
  /did -h helper 14
  /did -h helper 15
  /did -a helper 11 N/A
}
on 1:dialog:helper:sclick:1: {
  if ( $did(1).seltext = Says ) { /did -v helper 14,15 | /did -r helper 6 | /did -a helper 6 reply | /did -a helper 6 kick | /did -a helper 6 ban }
  if ( $did(1).seltext = Joins ) { /did -h helper 14,15 | /did -r helper 6 | /did -a helper 6 msg | /did -a helper 6 voice | /did -a helper 6 op }
  if ( $did(1).seltext = Parts ) { /did -h helper 14 | /did -r helper 6 | /did -a helper 6 msg | /did -a helper 6 ban | /did -a helper 6 invite }
}
on 1:dialog:helper:sclick:6: {
  if ( $did(6).seltext = reply && $did(1).seltext = Says ) { /did -r helper 11 | /did -a helper 11 Enter Text Here To reply to user | set %choice 1 }  
  if ( $did(1).seltext = Says && $did(6).seltext = kick ) { /did -r helper 11 | /did -a helper 11 Enter Reason | set %choice 2 } 
  if ( $did(1).seltext = Says && $did(6).seltext = ban ) { /did -r helper 11 | /did -a helper 11 Enter Reason | set %choice 3 }
  if ( $did(6).seltext = msg && $did(1).seltext = Joins ) { /did -r helper 11 | /did -a helper 11 Enter Text Here To say to user when they join | set %choice 4 }  
  if ( $did(6).seltext = voice && $did(1).seltext = Joins ) { /did -r helper 11 | /did -a helper 11 N/A | set %choice 5 }  
  if ( $did(6).seltext = op && $did(1).seltext = Joins ) { set %choice 6 |  /did -r helper 11 | /did -a helper 11 N/A }  
  if ( $did(6).seltext = msg && $did(1).seltext = Parts ) { /did -r helper 11 | /did -a helper 11 Enter Text Here To say to user when they leave | set %choice 7 }  
  if ( $did(6).seltext = ban && $did(1).seltext = Parts ) { /did -r helper 11 | /did -a helper 11 N/A | set %choice 8 }  
  if ( $did(6).seltext = invite && $did(1).seltext = Parts ) { /did -r helper 11 | /did -a helper 11 N/A | set %choice 9 }  
}
on 1:dialog:helper:edit:14: {
  set %saybox $did(14).text
}
on 1:dialog:helper:edit:11: {
  set %mainbox $did(11).text
}
on 1:dialog:helper:edit:10: {
  set %chanbox $did(10).text
}
on 1:dialog:helper:sclick:12: {
  if ( $did(12).state = 1 ) { set %oponly 1 }
  else set %oponly 0
}
on 1:dialog:helper:sclick:16: { 
  if ( $did(10).text != $null ) {
    if ( %choice = 1 ) { 
      /write chanscript.mrc on $+(*,:,TEXT,:,%saybox,:,%chanbox,:) $chr(123) 
      if ( %oponly = 1 ) { /write chanscript.mrc $+( $chr(105) , $chr(102) ) ( $+( $chr(36) , nick ) isop %chanbox ) $chr(123) }
      /write chanscript.mrc msg %chanbox %mainbox
      if ( %oponly = 1 ) { /write chanscript.mrc $chr(125) }
      /write chanscript.mrc $chr(125)
    }
    if ( %choice = 2 ) {
      /write chanscript.mrc on $+(*,:,TEXT,:,%saybox,:,%chanbox,:) $chr(123) 
      if ( %oponly = 1 ) { /write chanscript.mrc $+( $chr(105) , $chr(102) ) ( $+( $chr(36) , nick ) isop %chanbox ) $chr(123) }
      /write chanscript.mrc kick %chanbox $+( $chr(36) , nick ) %mainbox 
      if ( %oponly = 1 ) { /write chanscript.mrc $chr(125) }
      /write chanscript.mrc $chr(125)
    } 
    if ( %choice = 3 ) {
      /write chanscript.mrc on $+(*,:,TEXT,:,%saybox,:,%chanbox,:) $chr(123) 
      if ( %oponly = 1 ) { /write chanscript.mrc $+( $chr(105) , $chr(102) ) ( $+( $chr(36) , nick ) isop %chanbox ) $chr(123) }
      /write chanscript.mrc mode %chanbox +b $+( $chr(36) , nick ) 
      /write chanscript.mrc kick %chanbox $+( $chr(36) , nick ) %mainbox     
      if ( %oponly = 1 ) { /write chanscript.mrc $chr(125) }
      /write chanscript.mrc $chr(125)
    }
    if ( %choice = 4 ) {
      /write chanscript.mrc on $+(*,:,JOIN,:,%chanbox,:) $chr(123) 
      if ( %oponly = 1 ) { /write chanscript.mrc $+( $chr(105) , $chr(102) ) ( $+( $chr(36) , nick ) isop %chanbox ) $chr(123) }
      /write chanscript.mrc msg $+( $chr(36) , nick ) %mainbox
      if ( %oponly = 1 ) { /write chanscript.mrc $chr(125) }
    }
    if ( %choice = 5 ) {
      /write chanscript.mrc on $+(*,:,JOIN,:,%chanbox,:) $chr(123) 
      if ( %oponly = 1 ) { /write chanscript.mrc $+( $chr(105) , $chr(102) ) ( $+( $chr(36) , nick ) isop %chanbox ) $chr(123) }
      /write chanscript.mrc mode %chanbox +v $+( $chr(36) , nick )
      if ( %oponly = 1 ) { /write chanscript.mrc $chr(125) }
    }
    if ( %choice = 6 ) {
      /write chanscript.mrc on $+(*,:,JOIN,:,%chanbox,:) $chr(123) 
      if ( %oponly = 1 ) { /write chanscript.mrc $+( $chr(105) , $chr(102) ) ( $+( $chr(36) , nick ) isop %chanbox ) $chr(123) }
      /write chanscript.mrc mode %chanbox +o $+( $chr(36) , nick )
      if ( %oponly = 1 ) { /write chanscript.mrc $chr(125) }
    }
    if ( %choice = 7 ) {
      /write chanscript.mrc on $+(*,:,PART,:,%chanbox,:) $chr(123) 
      if ( %oponly = 1 ) { /write chanscript.mrc $+( $chr(105) , $chr(102) ) ( $+( $chr(36) , nick ) isop %chanbox ) $chr(123) }
      /write chanscript.mrc msg $+( $chr(36) , nick ) %mainbox
      if ( %oponly = 1 ) { /write chanscript.mrc $chr(125) }
    }
    if ( %choice = 8 ) {
      /write chanscript.mrc on $+(*,:,PART,:,%chanbox,:) $chr(123) 
      if ( %oponly = 1 ) { /write chanscript.mrc $+( $chr(105) , $chr(102) ) ( $+( $chr(36) , nick ) isop %chanbox ) $chr(123) }
      /write chanscript.mrc mode %chanbox +b $+( $chr(36) , nick ) 
      /write chanscript.mrc kick %chanbox $+( $chr(36) , nick ) %mainbox 
      if ( %oponly = 1 ) { /write chanscript.mrc $chr(125) }
    }
    if ( %choice = 9 ) {
      /write chanscript.mrc on $+(*,:,PART,:,%chanbox,:) $chr(123) 
      if ( %oponly = 1 ) { /write chanscript.mrc $+( $chr(105) , $chr(102) ) ( $+( $chr(36) , nick ) isop %chanbox ) $chr(123) }
      /write chanscript.mrc invite $+( $chr(36) , nick ) %chanbox
      if ( %oponly = 1 ) { /write chanscript.mrc $chr(125) }
    }
    /did -r helper 17 
    /did -a helper 17 Written to chanscript.mrc in Root mIRC directory    
    unset %oponly
    unset %chanbox
    unset %saybox
    unset %mainbox
  }
  else { /did -r helper 17 | /did -a helper 17 No Channel Given! }
}

Comments

Sign in to comment.
DeathRyder082   -  Aug 05, 2005

good job, and clean coding

 Respond  
dem0n   -  Jun 06, 2005

Wow. A snippet to help people like me (who no close to nothing) about scritpting. Thanks I needed this!

 Respond  
HoBbo!   -  Jun 06, 2005

changed

 Respond  
HoBbo!   -  Jun 06, 2005

yeah, good point thanks :]

 Respond  
PoiXon   -  Jun 06, 2005

alias helper { dialog -m helper helper }

that would help

some new people dont know how to open a dialog ( i dint use to :p )

 Respond  
Are you sure you want to unfollow this person?
Are you sure you want to delete this?
Click "Unsubscribe" to stop receiving notices pertaining to this post.
Click "Subscribe" to resume notices pertaining to this post.