This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.
For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message. 
	 
Requests for complete scripts or modifications/fixes for scripts you didn't write. Response not guaranteed, and no thread bumping!
			
		
				
			- 
				
								true_life							
 
						- Voice
 			
		- Posts: 11
 		- Joined: Tue May 14, 2013 3:44 am
 		
		
						
						
		
		
						
					
													
							
						
									
						Post
					
								by true_life » 
			
			
			
			
			
			Hi EveryOne!!!!
i want a tcl script for my bot which can send message to every channel it is in or to specific channel on a command such as
abcdbot is on #123 #xyz #678
the main channel is #123
and when i type .all HELLO PLEASE LISTEN 
so the bot messages on every channel it is.
thanks
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
				
			- 
				
								Madalin							
 
						- Master
 			
		- Posts: 310
 		- Joined: Fri Jun 24, 2005 11:36 am
 		
		
											- Location: Constanta, Romania
 
												
							- 
				Contact:
				
			
 
				
		
		
						
					
						
		
													
							
						
									
						Post
					
								by Madalin » 
			
			
			
			
			
			Try this 
Code: Select all
bind PUB - .all all 
proc all {nick uhost hand chan arg} { 
	if {![string match -nocase $chan "#123"]} { return }
  	foreach c [channels] { 
		if {[botonchan $c] && ($chan != $c)} {
	       	putserv "PRIVMSG $chan :$arg" 
      		}	 
   	}	 
}
 
			
			
													
					Last edited by 
Madalin on Tue May 14, 2013 4:38 am, edited 1 time in total.
									
 
			
						
										
						 
		 
				
		
		 
	 
				
		
				
			- 
				
								caesar							
 
						- Mint Rubber
 			
		- Posts: 3778
 		- Joined: Sun Oct 14, 2001 8:00 pm
 		
		
											- Location: Mint Factory
 
							
						
		
		
						
					
						
		
													
							
						
									
						Post
					
								by caesar » 
			
			
			
			
			
			Madalin that's not what he asked for, besides, there's no need for the 
lrange.
Code: Select all
bind pub * .all pub:all
proc pub:all {nick uhost hand chan text} {
	if {![string match -nocase $chan "#123"]} return
	foreach chn [channels] {
		if {![botonchan $chn]} continue
		puthelp "PRIVMSG $chn :$text"
	}
}
Since you haven't mentioned any user flags I left to be available to all (the *), so adjust it to your needs.
Edit: Typo.
 
			
			
													
					Last edited by 
caesar on Tue May 14, 2013 2:45 pm, edited 1 time in total.
									
 
			
						
							Once the game is over, the king and the pawn go back in the same box.
			
						 
		 
				
		
		 
	 
				
		
				
			- 
				
								Madalin							
 
						- Master
 			
		- Posts: 310
 		- Joined: Fri Jun 24, 2005 11:36 am
 		
		
											- Location: Constanta, Romania
 
												
							- 
				Contact:
				
			
 
				
		
		
						
					
						
		
													
							
						
									
						Post
					
								by Madalin » 
			
			
			
			
			
			I modifyed my copy now ... i read but as you saw i forgot about the main channel 'my mistake' the new version should work ok now
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
				
			- 
				
								true_life							
 
						- Voice
 			
		- Posts: 11
 		- Joined: Tue May 14, 2013 3:44 am
 		
		
						
						
		
		
						
					
						
		
													
							
						
									
						Post
					
								by true_life » 
			
			
			
			
			
			thank you both of you and it was very quick!
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
				
			- 
				
								true_life							
 
						- Voice
 			
		- Posts: 11
 		- Joined: Tue May 14, 2013 3:44 am
 		
		
						
						
		
		
						
					
						
		
													
							
						
									
						Post
					
								by true_life » 
			
			
			
			
			
			thank you both of you and it was very quick!
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
				
			- 
				
								speechles							
 
						- Revered One
 			
		- Posts: 1398
 		- Joined: Sat Aug 26, 2006 10:19 pm
 		
		
											- Location: emerald triangle, california (coastal redwoods)
 
							
						
		
		
						
					
						
		
													
							
						
									
						Post
					
								by speechles » 
			
			
			
			
			
			Code: Select all
set controlChan "#123"
bind pubm -|- "$controlChan .all *" pub:all
proc pub:all {nick uhost hand chan text} {
   set text [join [lrange [split $text] 1 end]]
   foreach ch [channels] {
      if {![botonchan $ch] || [string equal $ch $::controlChan} continue
      puthelp "PRIVMSG $chan :$text"
   }
}
An easier approach is using pubm style glob-masks to limit what has to be checked inside the procedure, simplifying the entire thing.
 
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
				
			- 
				
								true_life							
 
						- Voice
 			
		- Posts: 11
 		- Joined: Tue May 14, 2013 3:44 am
 		
		
						
						
		
		
						
					
						
		
													
							
						
									
						Post
					
								by true_life » 
			
			
			
			
			
			can you add something by which on specific members can use this command?
like people with .chattr +P will be able to use the .all command
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
				
			- 
				
								Madalin							
 
						- Master
 			
		- Posts: 310
 		- Joined: Fri Jun 24, 2005 11:36 am
 		
		
											- Location: Constanta, Romania
 
												
							- 
				Contact:
				
			
 
				
		
		
						
					
						
		
													
							
						
									
						Post
					
								by Madalin » 
			
			
			
			
			
			Just change what in bold with the flag letter you want (local)
bind pubm -|here
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
				
			- 
				
								true_life							
 
						- Voice
 			
		- Posts: 11
 		- Joined: Tue May 14, 2013 3:44 am
 		
		
						
						
		
		
						
					
						
		
													
							
						
									
						Post
					
								by true_life » 
			
			
			
			
			
			[17:11:43] Tcl error [pub:all]: missing close-bracket
this is the reply im getting in party line
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
				
			- 
				
								SpiKe^^							
 
						- Owner
 			
		- Posts: 831
 		- Joined: Fri May 12, 2006 10:20 pm
 		
		
											- Location: Tennessee, USA
 
												
							- 
				Contact:
				
			
 
				
		
		
						
					
						
		
													
							
						
									
						Post
					
								by SpiKe^^ » 
			
			
			
			
			
			try this...
Code: Select all
set controlChan "#123" 
bind pubm -|- "$controlChan .all *" pub:all 
proc pub:all {nick uhost hand chan text} { 
   set text [join [lrange [split $text] 1 end]] 
   foreach ch [channels] { 
      if {![botonchan $ch] || [string equal -nocase $ch $::controlChan]} continue 
      puthelp "PRIVMSG $chan :$text" 
   } 
}
 
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
				
			- 
				
								true_life							
 
						- Voice
 			
		- Posts: 11
 		- Joined: Tue May 14, 2013 3:44 am
 		
		
						
						
		
		
						
					
						
		
													
							
						
									
						Post
					
								by true_life » 
			
			
			
			
			
			instead of replying to other channels, it is replying to the same channel.
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
				
			- 
				
								Madalin							
 
						- Master
 			
		- Posts: 310
 		- Joined: Fri Jun 24, 2005 11:36 am
 		
		
											- Location: Constanta, Romania
 
												
							- 
				Contact:
				
			
 
				
		
		
						
					
						
		
													
							
						
									
						Post
					
								by Madalin » 
			
			
			
			
			
			
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
				
			- 
				
								true_life							
 
						- Voice
 			
		- Posts: 11
 		- Joined: Tue May 14, 2013 3:44 am
 		
		
						
						
		
		
						
					
						
		
													
							
						
									
						Post
					
								by true_life » 
			
			
			
			
			
			same! + the both lines above are same to.
			
			
									
						
										
						 
		 
				
		
		 
	 
				
		
				
			- 
				
								true_life							
 
						- Voice
 			
		- Posts: 11
 		- Joined: Tue May 14, 2013 3:44 am
 		
		
						
						
		
		
						
					
						
		
													
							
						
									
						Post
					
								by true_life » 
			
			
			
			
			
			Tcl error [pub:all]: can't read "chn": no such variable