mirror of
https://gitea.blesmrt.net/mikaela/gist.git
synced 2024-12-18 16:22:30 +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"
|