If you own a community or you want to start an IRC related project by creating your own chat channel, you can get started by following these simple steps:
Register a nickname:
Start by registering a nickname that you will use in the chat room. Registering a nickname allows you to own channels (rooms) and be added to access lists of different channels. Before you can create a channel, it's important to register your nickname. To begin the registration process, type: /msg nickserv REGISTER password email
Once you have registered a nickname, you can proceed to register a channel. Choose an unregistered and empty channel. If a channel is unregistered but has users inside, you won't be able to register it. To register your channel, type: /msg ChanServ REGISTER #channel
If desired, you can enhance your chat room by adding a web interface to it. Simply copy and paste the generated code into the HTML code of your website. If you're unsure about the type of web interface to use, you can learn more and make an informed decision by clicking here. By following these steps, you'll be able to seamlessly add a chat room to your website.
How to moderate your room
Both the server and services provide many useful tools for you to manage your own chatroom, which include but are not limited to:
There are various settings you can utilize to maintain and start your channel. Here are a few examples:
Add a topic to inform users about your channel. Customize it with colors, bold, italic, underline or emojis 💁👌🎍😍 /topic #channel Hello 👋 and welcome to my room, please follow the rules.
Set an entry message to greet users joining your channel as a notice from services. /cs set #channel entrymsg Welcome to my channel, thanks for joining!
Assign a service bot to your channel. /bs assign #channel ChanBot
Add an e-mail for users to contact you or your business. /cs set #channel email email@example.com
Set a URL to share your personal or business website. /cs set #channel URL https://your.website.here
Turn your channel into a forum feature by displaying the last X lines spoken by users when someone joins, creating a chat history. /mode #channel +H 50:3d - where 50 is the maximum number of lines and 3d is the time limit in days.
There are various settings for ChanServ under SET. To view the currently available channel settings available to you: /cs help set
Channel operators, also known as ChanOps or Ops, are moderators of a particular chatroom. They have the ability to modify various settings within the channel. Users with ChanOp status are identified by the @ symbol preceding their nickname. ChanOp status is categorized into different access levels:
Channel Voice (VOp): Voiced users who can override channel mute/bans, channel spamfilter, and any anti-flood measures. The default access flags for VOp are +AV. To add someone to the VOp list, /cs vop #channel add nickname
Auto Operator (AOp): Operators who can perform the tasks mentioned above, set channel modes (excluding mlocked modes), voice other users, grant operator status (unless SECURE is ON), and kick and ban users. The default flags for AOp are +AOeiortv. To add someone to the AOp list, /cs aop #channel add nickname
Super Operator (SOp): Operators with additional capabilities. They can perform the tasks mentioned above, grant permanent access to others, and configure channel settings. The default access flags for SOp are +AOefiorstv. To add someone to the SOp list, /cs sop #channel add nickname
Successor: The +S flag designates a successor who takes over channel ownership if founders' nicknames expire or are dropped. Use /cs flags #channel nickname +S to designate the next user as a successor.
Founder: Users with full founder access to the channel. They possess the default flags +AFORefiorstv.
HybridIRC allows multiple founders (up to 5). Granting the +F flag gives complete control over the channel, including the ability to remove your own founder status. Approach the +F flag with caution. Alternatively, the +f flag allows founders to assign or unassign existing permissions, offering a safer option for limited control.
Custom Operator: Operators who have custom flags that can be added or removed by users with higher access. To add someone with custom flags, /cs flags #channel nickname +AOeiorstv or specify the flags you wish to define for that user. For more information, see ChanServ FLAGS.
Other Access Levels
While ChanOps are access holders who have control over channel settings and other users of the channel, there are two more access levels that exist. Status holders of these two levels are granted certain privileges in the channel, but these privileges are designed to benefit the holder and do not allow them to exercise control over other users. These two access levels are:
Voice Operator (VoiceOp or VOp)
Voice Operators, denoted by the + symbol in front of their nickname, have the following privileges:
The ability to join the channel even if there is a channel ban that matches them (+b).
The ability to join the channel even if the channel is set to keyed/invite only or the channel occupancy limit has been reached (+ikl).
The ability to talk in the channel even if the channel has the moderation mode set (+mM).
The ability to change nickname while on the channel even if the prohibit nickname change mode has been set (+N).
Note that the terms VOp, AOp, and SOp are only used when a user has a registered nickname and exists in the Access Control List (ACL) of the channel. These ACLs are managed by services and will be automatically granted by services when the user joins the room, provided they have supplied positive identification to services prior to joining the channel. Therefore, they are considered permanent access levels since they remain until removed by a user with higher access levels.
Temporary Access Levels
Users can be granted temporary access in the following forms:
Operator, denoted by the @ symbol and mode +o.
Voice, denoted by the + symbol and mode +v.
The differences between temporary and permanent access levels are:
Users do not need a registered nickname to hold temporary access.
Access status is not persistent - once the user leaves the channel, access will not be automatically regained upon rejoin.
Temporary access does not grant users the same privileges as equivalent permanent access holders, such as those privileges granted via services.
In channels where the SECURE setting is enabled, temporary operator status cannot be granted.
This is a setting that prevents users who do not currently hold AOp or SOp from obtaining Op (+o) status in a channel. If an attempt is made to set them +o, ChanServ will automatically set them -o. This setting is turned ON by default when a channel is registered and can prevent untrusted users from obtaining operator status. This setting can be toggled as follows:
/cs set #channel SECURE ON - turn SECURE on, only users who are AOp or above can be set +o. /cs set #channel SECURE OFF - turn SECURE off, absolutely anyone can be set +o by another.
Other Security Measures
Kicks and Bans
The ability to deal with problem users in your chatroom is essential. Kicking a user out of a channel means removing them from the chatroom, but they may rejoin. Banning a user prevents them from joining the channel. If a user is already in the channel and gets banned but not kicked, they will be unable to talk unless they are opped or voiced. For a permanent way to kick/ban a user, please refer to the AutoKick (also known as AKICK) feature.
HybridIRC provides a feature called host masking, which hashes (hides) parts of a user's hostname or IP address to protect their privacy and eliminate the possibility of exposing them to Denial of Service attacks. Understanding how host masking works is useful when making bans, especially AKICKs. It is important to identify the masked portion of a hostname or IP address.
For hostnames, the masked portion is always the first portion of the hostname, i.e., the portion after @.
Example: Assuming a user with the following:
This user could appear as something like:
When making bans and AKICKs, one must specify a valid user mask:
*!*@gti.4bp.6.51.IP will ban users with an exact hostmask of "gti.4bp.6.51.IP".
*!*@*.6.51.IP will ban anyone matching the network address and one or more subnets (e.g., 51.6.).
*!*@*.51.IP will ban anyone matching the first network address of the IP (e.g., 51.).
When making bans and AKICKs, there are examples of types of wildcards:
? - replaces any single character. For example: Guest?!*@* will ban users with nicknames like "Guest1", "GuestA", "Guest_". The question mark represents a single character in the nickname.
* - replaces any amount of characters in that field. For example: Guest*!*@* will ban anyone using a nickname starting with "Guest", such as "Guest123", "GuestUser", or "GuestNickName". *Guest*!*@* will ban anyone who has "Guest" anywhere in their nickname, such as "ImaGuestNick" or "SuperGuestUser".
When adding AKICKs for vhosts, please keep in mind that the user's vhost may change or be disabled by the user. You may want to consider adding the user's account name or nickname to the AKICK list instead of the vhost. vHosts may look like @hybridirc.users.$account or @this.is.my.vhost.
When making bans, consider their effectiveness in keeping out your intended target. For example, if you make a nickname!*@* ban, it would be fairly easy for someone to change their nickname and evade the ban. However, if you ban an entire Internet Service Provider (ISP), you must also consider the implications of keeping innocent users out.
In addition, most IRC clients allow you to set ban masks based on nicknames or IPs, saving you the trouble of typing out the entire user mask. For more information on this, refer to your IRC client's manual pages or join the help channel and ask us.
Only registered nicknames can apply for a vhost. For more information on obtaining a vhost, click here.
Channel Protection Properties
ANTIFLOOD: The ANTIFLOOD setting configures flood control settings for ChanServ in a channel. The action parameter can be set to QUIET or KICKBAN. Flood control can be turned off using the OFF setting and turned on using the default settings with the ON setting.
/cs set #channel ANTIFLOOD QUIET /cs set #channel ANTIFLOOD KICKBAN /cs set #channel ANTIFLOOD OFF /cs set #channel ANTIFLOOD ON
There are also channel modes that work in conjunction with or without ANTIFLOOD when a flood is triggered. The ANTIFLOOD setting can be enabled or disabled when using channel antiflood modes.
messageflood: Channel mode f (flood), which helps protect against spammers which mass-message channels.
/mode #channel +f 4:2 - will kick a user if they type more than 4 lines in 2 seconds. /mode #channel +f *4:2 - will kick and ban a user if they type more than 4 lines in 2 seconds.
nickflood: Channel mode F (nickflood), which helps protect against spammers which mass-change nicknames.
/mode #channel +F 3:5 - prevents more than 3 nickname changes in the last 5 seconds.
joinflood: Channel mode j (joinflood), which helps protect against spammers which mass-join channels.
/mode #channel +j 2:5 - prevents more than 2 joins in the last 5 seconds.
repeat: Channel mode E (repeat), which helps protect against spammers which spam the same message repeatedly.
/mode #channel +E ~2:5 - blocks more than 2 repeated messages in 5 seconds. If prefixed with ~ the messages are blocked. If prefixed with * then offending users are banned. If not prefixed then offending users are kicked.
delaymsg: Channel mode d (delaymsg), which prevents newly joined users from speaking until the specified number of seconds have passed.
/mode #channel +d 10 - prevents users from speaking for 10 seconds after joining.
kicknorejoin: Channel mode J (kicknorejoin), which prevents users from rejoining after being kicked from a channel.
/mode #channel +J 30 - prevents kicked users from rejoining for 30 seconds.
anticaps: Channel mode B (anticaps), which allows channels to block messages which are excessively capitalised.
/mode #channel +B kick:5:75 - kicks users who send a message which is longer than 5 characters and is more than 75% capital letters: Options are: ban|block|mute|kick|kickban.
blockcolor: Channel mode c (blockcolor), which allows channels to block messages which contain IRC formatting codes.
/mode #channel +c - Blocks messages that contain formatting codes. /mode #channel +b c:*!*@example.com - bans users matching *!*@example.com from sending messages that contain IRC formatting codes.
chanfilter: Channel mode g (chanfilter), which allows channel operators to define glob patterns for inappropriate phrases that are not allowed to be used in the channel.
/mode #channel +g *bitch* - prevents users from sending messages that match *bitch*. /mode #channel +g *example.com* - prevents users from sending messages that match https://www.example.com/.