Chat Room Instructions

[ Chat Room Instructions ] [ Channel Modes ] [ User Modes ] [ More Help ]

Creating your own chat room

If you manage an existing community or are looking to launch an IRC-related project by creating your own chat channel, you can easily get started by following these straightforward 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

 For detailed instructions on nickname registration: Nickname Registration.

Register a channel: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

 For detailed instructions on channel registration: Channel Registration.

Add a web interface (optional):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.   For detailed instructions, follow this link.

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:

Setting up your channel

There are various settings you can utilize to maintain and start your channel. Here are a few examples:

📝 Set a Channel Topic Customize your channel with a fun or informative topic. You can include colorsbolditalic, underline, or even emojis.

💁👌🎍😍/topic #channel 👋 Welcome! Please read the rules.

📩 Entry Message Display a greeting message as a notice when someone joins your channel. Useful for welcoming users or giving quick info. Type !help to get started.

/cs set #channel entrymsg (Message)

🤖 Assign a Channel Bot Bind a service bot to your channel to help manage it or just for aesthetic presence.

/bs assign #channel ChanBot

📧 Add a Contact E-mail Let users or collaborators contact you through a visible email address.

/cs set #channel email you@example.com

🌐 Add a Website URL Promote your project, website, blog, or business by showing a link on the channel info.

/cs set #channel URL https://your-project.com

💬 Enable Chat History Show the last few messages when someone joins. Ideal for forum-style channels.

/mode #channel +H 50:3d

This will show up to 50 lines from the past 3 days when a user joins.

⚙️ View Available Channel Settings There are various settings available under ChanServ. To view the currently available channel settings available to you:

/msg chanserv help

Channel Operators

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.* For detailed instructions on channel succession: Channel Successors.

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,  or specify the flags you wish to define for that user. For more information, see ChanServ FLAGS.

/cs flags #channel nickname +AOeiorstv

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 VOpAOp, 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 LevelsUsers 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.

SET SECURE

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:

Turn SECURE on, only users who are AOp or above can be set +o:
/cs set #channel SECURE ON
Turn SECURE off, absolutely anyone can be set +o by another.
/cs set #channel SECURE OFF

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.

Host Masking

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:

  • Hostname: gti.4bp.6.51.IP

This user could appear as something like:

  • nickname!ident@gti.4bp.6.51.IP

When making bans and AKICKs, one must specify a valid user mask:Hostmask:

  • *!*@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:Nickname:

  • ? – 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“.
vHost

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 *idiot*

– prevents users from sending messages that match *idiot*.

/mode #channel +g *example.com*

– prevents users from sending messages that match https://www.example.com/.