mirror of
				https://gitea.blesmrt.net/mikaela/gist.git
				synced 2025-10-27 07:17:21 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			85 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| # This script generates commands which can be copy-pasted to Atheme's
 | |
| # ChanServ to set templates which can later be set with flags.
 | |
| 
 | |
| # With these templates, bots and ops are opped and (trusted) users are
 | |
| # voiced. I am not fully sure where I took the word "users", but it's good
 | |
| # enough.
 | |
| 
 | |
| ## ChanServ settings
 | |
| # Allows everyone to see ACL changes.
 | |
| echo "/cs set $1 VERBOSE ON"
 | |
| 
 | |
| # Tell ChanServ to be on channel. Not needed for larger channels
 | |
| echo "/cs set $1 GUARD ON"
 | |
| 
 | |
| # Adjusts ChanServ MLOCK
 | |
| # This list should work with Charybdis and mostly with InspIRCd, g has
 | |
| # different meaning there and won't be set.
 | |
| # * n — no external messages, you must be on the channel to message it.
 | |
| # * t — you must be hop or higher to change topic
 | |
| # !* g — anyone can /invite
 | |
| #     * InspIRCd: +g blocks messages matching the given glob mask - if
 | |
| #       empty not set, I think
 | |
| # * C — block CTCPs to channel
 | |
| # !* A — InspIRCd: anyone can /invite
 | |
| #    * Charybdis: Admin-only, but this MLOCK does nothing to me, so I am
 | |
| #    * ignoring it.
 | |
| # * T — InspIRCd: blocks notices from users who aren't at least HOP
 | |
| #
 | |
| # * i — invite-only
 | |
| # * l — limit maximum number of people on the channel
 | |
| # * k — key/password for joining the channel
 | |
| # Other nice modes (not set by this script): Charybdis +rS / InspIRCd: +Rz
 | |
| # (only identified, SSL users can join)
 | |
| # InspIRCd: +M blocks messages from unidentified users.
 | |
| # To remove MLOCK "/cs set #channel MLOCK"
 | |
| # THIS DOES NOT SET MODES MARKED WITH ! AS THAT CAN BE DANGEROUS DEPENDING
 | |
| # ON NETWORK! mlock +A on Charybdis with specific module prevents you from
 | |
| # joining the channel
 | |
| echo "/cs set $1 MLOCK +ntCT-ilk"
 | |
| 
 | |
| # Hide channel information from people who don't have +A
 | |
| echo "/cs set $1 PRIVATE ON"
 | |
| 
 | |
| # Sync flags when they are changed
 | |
| echo "/cs set $1 NOSYNC OFF"
 | |
| 
 | |
| # Allow only identified users to be opped
 | |
| echo "/cs set $1 SECURE ON"
 | |
| 
 | |
| # Allow only users with +t flag to change topic
 | |
| echo "/cs set $1 TOPICLOCK ON"
 | |
| 
 | |
| ## ChanServ templates
 | |
| # Channel founder who can do anything they want.
 | |
| echo "/cs template $1 founder !+*F"
 | |
| 
 | |
| # Successor will get all flags in the end and if they cannot be trusted
 | |
| # with them now, they really shouldn't be successor.
 | |
| echo "/cs template $1 successor !+*S"
 | |
| 
 | |
| # Super op, be able to do everything with services
 | |
| echo "/cs template $1 sop !+vVhHoOasirRftAe"
 | |
| 
 | |
| # Normal op, be able to invite, invite, kick, kickban, unban, change topic
 | |
| echo "/cs template $1 op !+vVhHoOirtAe"
 | |
| 
 | |
| # Half op, be able to do everything else than kick other halfops & higher
 | |
| echo "/cs template $1 hop !+vVhHirtAe"
 | |
| 
 | |
| # Network operator whom we want to have a little access so they can help
 | |
| # with channel issues in case our own ops are away.
 | |
| # Usually given to $OPER or staffer hostmask.
 | |
| echo "/cs template $1 oper !+vhoirtAe"
 | |
| 
 | |
| # User who is just allowed to voice themselves and get into the channel
 | |
| # unless they are banned.
 | |
| echo "/cs template $1 user !+ViA"
 | |
| 
 | |
| # Permanent ban. Removes all flags and sets autokick.
 | |
| echo "/cs template $1 ban !-*+b"
 | |
| 
 | |
| # Access, can only get in to (RESTRICTED) channel
 | |
| echo "/cs template $1 access !-*+i"
 |