Что такое код ircg_channel_mode

Содержание
Илон Маск рекомендует:  Asp доступ к данным с помощью asp

Внедрение IRC RFC: как реагировать на MODE?

Я пытаюсь закодировать собственный IRC-сервер. Я ссылаюсь на IRC RFC, но это немного запутывает меня. Если бы я должен был строго придерживаться RFC, я не думаю, что любой из популярных клиентов будет работать с моим сервером, например, mIRC. Например, RFC говорит, что сервер должен ответить на успешную команду MODE одним из следующих числовых ответов: RPL_BANLIST , RPL_CHANNELMODEIS , RPL_ENDOFBANLIST , RPL_UMODEIS . Это заставило бы меня поверить, что при успешном изменении пользовательского режима я бы ответил RPL_UMODEIS, хотя RFC, похоже, явно не заявляет об этом.

Но когда я проверяю исходный код на другой IRC-сервер с открытым исходным кодом, я вижу, что он отвечает нечисловой командой «MODE». Это просто эхо возвращает команду MODE, как она выглядит.

Как вы должны отвечать на команду MODE? Есть ли лучший отформатированный RFC, который имеет простую таблицу команд и ответов или что-то еще?

RFC 1459 классно разрежен. Он не сообщает вам все, что вам нужно знать, чтобы написать сервер.

В этом случае недостатком является различие между командой MODE , которая запрашивает существующий режим, и командой MODE , которая устанавливает новый режим. В случае запроса режима клиент получит числовой ответ, указывающий на существующий режим; в случае изменения режима клиент не получит прямой числовой ответ, если не была ошибка. Однако, если режим был успешно изменен, клиент получит MODE с сервера, сообщив об этом изменения.

Так, например, если клиентский ник foo и он отправляет:

то это запрашивает его текущий usermode — он будет ожидать ответа RPL_UMODEIS , например:

Если клиент отправляет:

то это изменяет его usermode — он либо получит числовую ошибку, как ERR_USERSDONTMATCH , либо подтверждение изменения режима:

Обратите внимание, что это подтверждение технически не является прямым ответом на MODE — это сервер, информирующий клиента о соответствующем изменении в его состоянии, которое, случается, было вызвано клиентской командой.

Аналогичная ситуация существует с канальными режимами. Если клиент запрашивает текущие режимы канала с помощью:

тогда он ожидает ответ RPL_CHANNELMODEIS , содержащий текущие «простые» режимы канала, и, возможно, ответ RPL_CREATIONTIME , дающий время создания канала. Если он запрашивает текущий список запретов с помощью:

тогда должно получиться ноль или более ответов RPL_BANLIST , за которым следует RPL_ENDOFBANLIST .

Если вместо этого клиент пытается изменить режим канала:

тогда прямой ответ будет либо ответом на ошибку, либо ничего; и если режим канала был фактически изменен, он увидит команду MODE , отобранную эхом. В последнем случае успешная команда MODE также будет отправлена ​​другим членам канала — это поможет проиллюстрировать, что это не прямой ответ на начальную команду MODE , а косвенный ответ на нее.

Что такое код ircg_channel_mode

(PHP 4 >= 4.0.5, PHP 5)

ircg_channel_mode — Set channel mode flags for user

Description bool ircg_channel_mode ( resource connection, string channel, string mode_spec, string nick )

Set channel mode flags for channel on server connected to by connection . Mode flags are passed in mode_spec and are applied to the user specified by nick .

Mode flags are set or cleared by specifying a mode character and prepending it with a plus or minus character, respectively. E.g. operator mode is granted by ‘+o’ and revoked by ‘-o’, as passed as mode_spec .

To grant rights to user named «admin», the following did not work for me:

ircg_channel_mode($session_id, «#test», «+o», «admin»);

ircg_channel_mode($session_id, «#test», «+o admin»);

Что такое код ircg_channel_mode

ircg_channel_mode — устанавливает флаги режима канала для пользователя.

Описание

boolean ircg_channel_mode (resource connection, string channel, string mode_spec, string nick)

Устанавливает флаги режима для канала channel на сервере по соединению connection . Флаги режима передаются в параметре mode_spec и применяются для пользователя, специфицированного в параметре nick .

Флаги режима устанавливаются или очищаются путём специфицирования символа режима и присоединения к нему спереди символов плюс или минус, соответственно. Например, режим операции/operator задаётся через ‘+o’ и отменяется через ‘-o’, передаваемые как mode_spec .

What channel modes are available on AfterNET?

Introduction

Modes can be set on your channel using the /mode command. Use can depend on your software, but usually something like: /mode #channel +modes -modes will do. If you have X3, you can make x3 enforce modes by setting them as + or — in the ‘modes’ setting. For example:

will preserve modes n, t, C and S, but not allow modes i and k. Depending on access level in x3, users may be able to override these ‐ configure that via ‘.set enfmodes’.

Channel Modes

The following are channel modes, along with their explanations, that can be used on the AfterNET IRC network to assist you in running your channel. (NOTE: All modes require operator (@) status in the channel to work):

b — Ban

This mode is used to prevent a user matching the mask that has been banned from joining the channel. There are three effective ban masks that wildcard different portions of the nick’s full address:

NOTE: Banning someone by their IP will prevent them from rejoining regardless of the address used; what this means for operators is that if someone is using virtual hosts that all are from the same actual IP, banning their IP will prevent them from entering the channel, regardless of what hostname it resolves to.

There are also Extended Bans which can match based on accounts, marks, realnames, etc.

c — No colours

Setting +c blocks mIRC color codes from your channel. The user will get a message in their status that says they cannot send to channel.

C — No CTCPs

Setting +C blocks CTCP messages, except for /me. The user will get a message in their status that says they cannot send to channel.

D — delayed joins

Users will not be visible in the userlist until they are opped, voiced, change the topic or speak. A good option for a busy channel.

e — Exception

Exceptions are like a special retinal scan that allows you to join a channel if you match, even if you also match a ban (+b). It uses mask just like +b (above) but instead of keeping that person out, they let them in as an exception.

h — promote to halfops

This is how someone is manually half-opped (without using Services to half-op them). This is the command that puts the % beside someone’s nick (in some clients). It gives them the power to change modes and topic on the channel and kick/ban people from the channel BUT halfops cannot kick full ops (+o’s)

To de-hop someone

i — Invite Only

This mode makes the channel reject joins. In order for someone to join the channel, they have to be invited in by an operator in the channel or services such as X3 (or have the key, see +k below). This mode is normally used for private meetings where you don’t want the public involved. An operator (@) in the channel can type /invite nick #channel.

k — Keyed

This mode puts a key on the channel, which acts like a password ‐ You must know the key to get in. The mode can only be removed or changed by using the current key.

To add or change a key to a channel:

To remove a key from a channel:

To join a channel that has a key:

l — Limit

A channel can have a limit to the number of users that can be in it. This mode requires a parameter to set it and number following it (example: /mode +l 15). Once the limit is reached, no more users will be allowed in the channel until there is fewer users, or they get an invite. If set to 0, our network will automatically change it to 1. This method proves useful in preventing flood bots, but is not suggested for large channels or channels that have user counts that may fluctuate unless you get a bot that keeps it updated. Our services offer a dynamic limit to prevent join flooding, see `set dynlimit` (link todo here)

To limit the number of users in a channel to 30:

To remove the limit:

L — Join redirect

By setting “+L #differentchannelname” any joins to your channel will instead be redirected to #differentchannelname. This is handy if you are changing the name of a channel or shutting a channel down. Users can set UMODE +L to prevent the redirect.

m — Moderated

A moderated channel restricts normal users from sending text into the channel. Only the ops (+o) and users that are voiced (+v — see Mode “V” later on in this article for information) can talk in the channel. This has two main uses: silencing flooders in the channel, and creating a lecture-type situation (like a classroom) where the flow of text from the lecturer isn’t altered by the users in the channel. If used with +k (key), people who join with the key will automatically get +v so they can talk when they join.

Also, if a channel is moderated, clients are blocked from changing their nicks while in that moderated channel.

M — Moderate unregistered

A moderated channel restricts normal users who have not authed to AuthServ (or using the /auth command) from sending text into the channel. Only the ops, halfops, voiced users, and registered users (+o/+h/+v or registered) can talk in the channel.

Also, if a channel is moderated, clients are blocked from changing their nicks while in that moderated channel.

n — No external messages

This mode prevents text from being sent into the channel from a nick that is not in the channel. In most channels, this is very distracting because you cannot reply to what was said — they are not in the channel to see your reply. Setting this mode is the default for most people

Илон Маск рекомендует:  Что такое код xslt_set_sax_handler

N — No notices

This mode stops the channel from being a target of /notice-es

o — promote to operator

This is how someone is manually opped (without using Services to op them). This is the command that puts the @ beside someone’s nick. It gives them the power to change modes on the channel and kick/ban people from the channel.

VERY IMPORTANT: Be careful who you make an op in your channel, because even if you are the founder, they can still kick and ban you! (unless services are in the channel.) See halfops for a safer alternative.

To de-op someone

O — IRC Operators Only

Set only by ircops, and allows only them to join a channel.

p — private

The channel flag ‘p’ is used to mark a channel “private”. Similar to secret, this flag conceals the existence of the channel from other users. Private channels show as *private*. Setting this flag removes +s (secret) as they are mutually exclusive.

Q — Strip quit/part messages

Removes /part and /quit messages. (You still see the part or quit, just not the message attached to it). This is done because many scripts use these messages to spam and its annoying.

r — Registered only

Setting +r makes it so that users who have not used /auth to authenticate to AuthServ cannot join your channel.

s — secret

The channel flag ‘s’ is used to mark a channel “secret”. Similar to private, this flag conceals the existence of the channel from other users. Secret channels don’t show up at all. Setting this flag removes +p (private) as they are mutually exclusive.

This mode is good for avoiding spammers and unwanted users, but does not keep them from entering the channel if they already know it exists.

S — Strip control chars

Similar to +c, only instead of telling the user they cannot send to channel, the color codes are just automatically removed from the messages.

t — only ops change topic

This mode restricts changing the topic to only the channel operators (Services can still over-ride this). Mainly, this is used to keep the topic in line. This mode in addition to +n is generally set by everyone.

T — No amsgs

This mode stops the channel from being a target of /amsg, a mass-messaging feature of ircu. Use this if you are frequently vulnerable to /amsg spam.

v — promote to voiced

This command allows a normal user in the channel to send text into a moderated (+m or +M) channel. In channels that are not moderated, it is frequently used as a status indicator for that nick. In help channels, for instance, it’s used to indicate users who help and are “recognized” as helpers by the staff of the channel, perhaps channel operators in training. In chat channels, it might indicate a favored user. In some channels, it is used to indicate gender.

To voice someone in the channel, type

To de- voice someone in the channel, type

Z — SSL only

User Modes

In addition to Channel Modes, there are also a useful User Modes that can help you while you are visiting the AfterNET IRC Network. These modes are set by typing

Some clients support /umode as a shorthand for this. Our supported user modes follow.

i — Invisible

This mode makes you invisible on the server. For example, if you do a “/lusers” in the server window, it will say something like “There are 681 users and 330 invisible on 11 servers”. All users that have +i set will show up under the “invisible” users. This mode also allows you to hide from a /WHO or a /NAMES command. However, you can still be found if the user knows your nick, or is in a channel with you.

To set yourself invisible

L — Join redirect denial

It is possible to set up a channel such that joins to that channel actually redirect to a different channel.

Having usermode +L set will prevent that, so that you join only the original channel name you asked for.

R — Ignore PMs from unregistered users

Setting +R will make it so that people who are not authenticated with AuthServ will not be able to send you messages.

w — See wallusers

Enabling +w allows you to see communications about the status of the network from IRCOPS.

Форум русскоязычного сообщества Ubuntu

За новостями русскоязычного сообщества и Ubuntu в целом можно следить на нашей страничке в Google+

  • Форум русскоязычного сообщества Ubuntu »
  • Ресурсы сообщества и обмен информацией »
  • Обсуждение ubuntu.ru »
  • IRC Ubuntu.ru (Модераторы: graddata, Artus, UNIm95, tagezi, AndreX) »
  • Manuals Как начать пользоваться IRC

Автор Тема: Manuals Как начать пользоваться IRC (Прочитано 13005 раз)

0 Пользователей и 1 Гость просматривают эту тему.

  • Форум русскоязычного сообщества Ubuntu »
  • Ресурсы сообщества и обмен информацией »
  • Обсуждение ubuntu.ru »
  • IRC Ubuntu.ru (Модераторы: graddata, Artus, UNIm95, tagezi, AndreX) »
  • Manuals Как начать пользоваться IRC

Страница сгенерирована за 0.077 секунд. Запросов: 25.

© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

Что такое код ircg_channel_mode

Basic IRC Commands

IRC commands allow you to perform specific functions on IRC, such as maintaining control of a channel and the users on it. The following list of basic IRC commands will help you get started. There are also other mIRC Commands that you can look at later.

Leaves a message indicating that you are currently not paying attention to IRC. When someone sends you a message, they will automatically see your away message. Using /AWAY with no message marks you as no longer being away and removes your previous message.

example: /away Off to get something to eat, back in a moment.

/invite nickname #channel

Invites a nickname to a channel that you are on.

Joins the specified channel.

example: /join #irchelp

This will make you join the #irchelp channel. Once on a channel, anything you type will be seen by all the users on this channel. The #irchelp channel is very useful, so say hello and then ask any questions you want. If the channel you specified does not exist, a channel with that name will be created for you.

Some channels may also have keys ie. a password, which you need to specify when using the /join command.

example: /join #irchelp trout

This will make you join the #irchelp channel using «trout» as the password.

/list [#channel] [-MIN #] [-MAX #]

Lists currently available channels. You can also tell mIRC to show only channels with a minimum and a maximum number of people. If you specify a #channel then mIRC will only list information for that channel. If you specify wildcards, eg. *mirc* then mIRC will list all channels that contain the word mirc in them.

example: /list -min 5 -max 20

example: /list #mirc

example: /list *mirc*

Note: mIRC also supports a /list -n switch that minimizes the list window when it is opened.

Sends an action message to the current channel or query window. To send an action message to a specific channel or nickname, see the /describe command.

/msg nickname message

Sends a private message to nickname without opening a query window.

Note: mIRC also supports /msg switches as described here.

Changes your nickname to a new nickname.

/notice nickname message

Sends a private message to nickname without opening a query window for either you or them.

Leaves a channel that you are on.

/privmsg nickname message

Sends a private message to nickname that will open a query window for the other user.

/query nickname message

Opens a query window to this nickname and sends them a private message.

Note: mIRC also supports /query switches as described here.

Disconnects you from IRC and will give the optional message as the reason for your departure. (this message only appears to people who are on the same channels as you).

/topic #channel newtopic

Changes the topic for a channel that you are on.

Shows you information about a nickname.

Channel and User Commands

If you have Op status, the following commands give you control over both a channel and the users on it.

/kick #channel nickname

Kicks a nickname off a channel that you are on.

/mode #channel|nickname [[+|-]modechars [parameters]]

This is a powerful command that gives channel operators control of a channel and the users on it.

ModeChar Effects on channels

in «nick!user@host» form

i channel is invite-only

l channel is limited, users allowed max

m channel is moderated, (only chanops can talk)

n external /MSGs to channel are not allowed

o makes a channel operator

p channel is private

s channel is secret

t topic limited, only chanops may change it

k set secret key for a channel

ModeChar Effects on nicknames

i makes you invisible to anybody that does

not know the exact spelling of your nickname

o IRC-operator status, can only be set

by IRC-ops with OPER

s receive server notices

v gives a user a voice on a moderated channel

Here a few examples of the MODE command:

To give someone op status: /mode #channelname +o nickname

Giving someone op status means giving them control over the channel and the users on it. Give this out sparingly and to people you trust.

To op several people: /mode #channelname +ooo nick1 nick2 nick3

To de-op someone: /mode #channelname -o nickname

To ban someone: /mode #channelname +b nickname (or user address)

To unban someone: /mode #channelname -b nickname (or user address)

To make a channel invite only: /mode #channelname +i

You must now invite a user for them to be able to join your channel.

Что такое IRC?

В далеком 1998 году, в сети DALnet, на одном популярном тогда русскоязычном канале, на вопрос новичка «А что такое IRC?», один человек ответил именно так:

IRC — это мания, это страх, это тоска, это желание, это первая программа, запускаемая на компьютере. IRC — это бессоные ночи, это несделанная работа, это отсутствие всякого образования кроме умения стучать по клавишам!

Читают сейчас

Похожие публикации

  • 17 марта 2008 в 13:27

Простой и удобный IRC-клиент

Простой и удобный IRC-клиент

Простой и удобный IRC-клиент

Вакансии

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Комментарии 60

В общем это протокол сетевого чата который пережил и некода популярные веб чаты и я думаю переживёт всё ещё используемые сейчас lan чаты (широковещательные). Основное достоинство — клиент-серверная технология + возможность установки различных сервисов.

Несмотря на возраст технология нисколько не устарела. И хотя там нет аватаров чрезвычайно популярна среди грамотных граждан.

Кстати, DalNet русский, ужастная сеть. Rusnet имеет значительно более вменяемых ircop`ов ;)

dalnet.ru пошел под откос только когда к власти пришел волк (вроде в 2003 или в 2004). до этого знаменательного события это была отличная сеть. правда софт там был старый и глючный, но это другой разговор :)

насчет rusnet’а ничего не могу сказать. был у меня там сервер года 4 назад, но его джупнули за то, что я кильнул одного из местных сервисадминов :)

BTW теги разделяются запятыми ;)

Представляете если после вашего топика кто то впервые для себя откроет IRC и осознает насколько это круче чем веб чаты? ;)

Не совсем. Там была речь про скайп. Про jabber я не совсем в курсе его возможностей. Насколько я знаю есть много клиентов, есть сервера. Оно может посылать сообщения, может делать VoIP (хотя тут у меня вообще 0 знаний).

Не расскажете подробней про конференции, какие там возможности? Есть ли боты?

Для тех «кто знает что такое IRC» :)
#habrahabr на RusNet

А вообще, конечно, печально что развитие irc-сетей, серверов, протокола заступорилось в своё время. Появились всякие «простые» чаты, а в IRC по большей части остались лишь фаны, ну и забредают те «у кого внешки нету, а irc бесплатно» :)

Я не в плане комьюнити говорил, а в плане сервиса самого.
Развивать всегда есть что.
К примеру, некому стандартизировать изменения и нововведения. Вот руснетовцы сделали себе что-то, другая сеть ещё чего-то, под свои нужды.
Нужно уходить от представление «irc = групповой чат», это вполне себе возможная замена IM. В случае только, если бы IRC сети можно было объединить и наладить интеркоммуникацию, как это сделано в jabber. Разделить каналы на глобальные, локальные, приватные и т.п. Есть приваты — чем не диалоги в аське? Если думать в этом ключе, то есть куча возможностей, таких как передача мультимедиа-информации, организация аудио\видео-конференций, обмен файлами. Статусы — тут вообще беда, онлайн и away.
Ну и конечно клиенты для IRC страдают. Там ещё тоже есть где работать над юзабельностью.
Да, и очень важная штука — возможность просмотреть историю канала, пока тебя на нём не было, чтобы это реализовывалось не возможностями левых ботов, а стандартными средствами.

Это только то, что сейчас пришло в голову.

Джаббер как раз развивается, есть стандарты по протоколу, есть расширения с нормальным описанием.

Вот такие вопросы, как с никами, и решает стандартизация.

Что такое код ircg_channel_mode

ircg_channel_mode — устанавливает флаги режима канала для пользователя.

Описание

boolean ircg_channel_mode (resource connection, string channel, string mode_spec, string nick)

Устанавливает флаги режима для канала channel на сервере по соединению connection . Флаги режима передаются в параметре mode_spec и применяются для пользователя, специфицированного в параметре nick .

Флаги режима устанавливаются или очищаются путём специфицирования символа режима и присоединения к нему спереди символов плюс или минус, соответственно. Например, режим операции/operator задаётся через ‘+o’ и отменяется через ‘-o’, передаваемые как mode_spec .

Реализация IRC RFC: Как реагировать на РЕЖИМ?

Я пытаюсь закодировать свой собственный сервер IRC. Я ссылки на IRC RFC , но это немного сбивает с толку меня. Если бы я был идти строго от RFC, я не думаю , что какой — либо из популярных клиентов будет работать с моим сервером, как Mirc. Например, RFC говорит о том , что сервер должен ответить на успешную команду MODE , один из следующих числовых ответов: RPL_BANLIST , RPL_CHANNELMODEIS , RPL_ENDOFBANLIST , RPL_UMODEIS . Это приведет меня к мысли , что при успешном изменении режима пользователя, я бы ответить RPL_UMODEIS, хотя RFC , кажется, не явно указать это.

Но, когда я проверить исходный код другого открытым исходного сервера IRC, я вижу, что он отвечает нечисловой команда «РЕЖИМА». Он просто вторит обратно команду MODE, он выглядит.

Как вы должны реагировать на команды РЕЖИМА? Есть ли лучший отформатированный RFC, который имеет простую команду и схему ответа, или что-то?

RFC 1459 классно скудны. Он не говорит вам все, что нужно знать, чтобы написать сервер.

В этом случае, что отсутствует , является различие между MODE командой , которая запрашивает существующий режим, и MODE команда , которая устанавливает новый режим. В случае запроса режима, клиент получит числовой ответ , который указывает на существующий режим; в случае изменения режима, клиент не получит прямой числовой ответ , если не произошла ошибка. Однако, если режим был успешно изменен, то клиент будет прислан MODE с сервера , информирующее его изменения.

Так, например, если ник клиента является foo и он посылает:

то это запрашивая его текущий USERMODE — это ожидать RPL_UMODEIS ответа , как:

Если же клиент посылает:

то это изменение его USERMODE — это либо получите ошибку , как ERR_USERSDONTMATCH и подтверждение изменения режима:

Обратите внимание , что это признание является технически не прямой ответ на MODE — это сервер информирует клиента о соответствующем изменении его состояния, которое случается, был вызван командой клиента.

Аналогичная ситуация имеет место с режимами канала. Если клиент запрашивает текущие режимы канала с:

то он будет ожидать RPL_CHANNELMODEIS ответа , содержащий текущие «простые» режимы канала, и , возможно, RPL_CREATIONTIME ответ дает время создания канала. Если он запрашивает для текущего списка запрета с:

то должны получить ноль или более RPL_BANLIST ответов, а затем RPL_ENDOFBANLIST .

Если вместо того, чтобы клиент пытается изменить режим канала:

то прямой ответ будет либо быть ответом ошибки или ничего; и если режим канала был фактически изменен, он будет видеть MODE команду вторит назад. В последнем случае успешная MODE команда также будет отправлена другими членам канала — это помогает проиллюстрировать , что это на самом деле не прямой ответ на начальную MODE команду, но косвенный ответ на него.

Channel and User Modes

Last revised by Fredfred (Fredfred@dal.net) and h (AHFR@Email.com) on 2020-09-30

Originally written by LadyDana (ladydana@dal.net) on 2000-10-28

Copyright © 2000 — 2020 by the DALnet IRC Network

Please direct any comments or feedback about this document (only! no help requests!) to docs@dal.net. If you need help on issues not covered in this document, please see the information at http://help.dal.net.

Introduction

This document serves as a reference for all the user and channel modes supported by the DALnet IRCD (Internet Relay Chat Daemon). DALnet’s IRCD is named Bahamut. More information on Bahamut can be obtained at http://bahamut.dal.net and #bahamut .

An explanation is provided for each mode and in some cases, an example. Unless otherwise stated, modes are always modified through the /mode command.

/mode nickname +/- mode(s)
/mode #channelname +/- mode(s) parameters

You can only modify your own user mode. Only channel operators (@) have sufficient access to modify the modes for a channel.

Contents

  • 1 List of Modes
  • 2 Channel Modes
    • 2.1 +A
    • 2.2 +b
    • 2.3 +c
    • 2.4 +e
    • 2.5 +h (inactive mode)
    • 2.6 +i
    • 2.7 +I
    • 2.8 +j
    • 2.9 +k
    • 2.10 +l
    • 2.11 +L
    • 2.12 +m
    • 2.13 +M
    • 2.14 +n
    • 2.15 +o
    • 2.16 +O
    • 2.17 +p
    • 2.18 +P
    • 2.19 +r
    • 2.20 +R
    • 2.21 +s
    • 2.22 +S
    • 2.23 +t
    • 2.24 +v
  • 3 User Modes
    • 3.1 +C
    • 3.2 +H (inactive mode)
    • 3.3 +i
    • 3.4 +P
    • 3.5 +r
    • 3.6 +R
    • 3.7 +s
    • 3.8 +S
    • 3.9 +w
  • 4 User Modes (IRCops Only)
    • 4.1 +o
    • 4.2 +O
    • 4.3 +a
    • 4.4 +A
    • 4.5 +b
    • 4.6 +c
    • 4.7 +d
    • 4.8 +e
    • 4.9 +f
    • 4.10 +F
    • 4.11 +g
    • 4.12 +h
    • 4.13 +I
    • 4.14 +j
    • 4.15 +k
    • 4.16 +K
    • 4.17 +m
    • 4.18 +n
    • 4.19 +x/X
    • 4.20 +y
  • 5 Final Word

1 · List of Modes

When first connecting to DALnet, you will get a lot of information on the server that you are connecting to. The list of user and channel modes may be hidden amongst this information.

Welcome to the DALnet IRC Network PJKevin!kevin@219.95.43.120
Your host is mesra.kl.my.dal.net, running version bahamut-1.8(02)
This server was created Sun Sep 19 2004 at 13:07:39 MYT
mesra.kl.my.dal.net bahamut-1.8(02) aAbcdefFghiIjkKmnoOrRswxXy bceiIjklLmMnoOprRstv
NETWORK=DALnet SAFELIST MAXBANS=100 MAXCHANNELS=20 CHANNELLEN=32 KICKLEN=307 NICKLEN=30 TOPICLEN=307 MODES=6 CHANTYPES=# CHANLIMIT=#:20 PREFIX=(ov)@+ STATUSMSG=@+ are available on this server

The above is an example of what you might see when you first connect. What we are interested in are the two groups of letters right after the ircd version on the fourth line. aAbcdefFghiIjkKmnoOrRswxXy and bceiIjklLmMnoOprRstv.

For this version of the IRCD, aAbcdefFghiIjkKmnoOrRswxXy are the user modes and bceiIjklLmMnoOprRstv are the channel modes. Each letter represents an option for a nick or a channel. Please note that this document is not necessarily based on this example.

2 · Channel Modes

Channel modes can only be modified by channel operators, which are those who have a @ next to their nickname. Certain channel modes require additional parameters along with the actual switch, others do not.

It’s also possible to combine several different mode changes in one command, provided you respect the order of the parameters. With Bahamut, six mode changes can be applied at once.

/mode #channelname +/- mode(s) parameters

/mode #peanutbutter +nt
/mode #peanutbutter -ps
/mode #peanutbutter +nt-R
/mode #peanutbutter +ntv-obb MissPeanut BadTastingPeanut *!*@loving.peanutbutter.ca *!*@singing.in.moonlight.net

When a channel is in auditorium mode, users can only see ops or voiced users on the channel and messages that are sent to the channel by non-ops or non-voiced users are being relayed to #channel-relay. Ops and voiced users can see the full user list. Also, joins/parts/quits of non-ops or non-voiced users are only sent to ops or voiced users. This channel mode is intended for network-wide events and currently can only be set by services

+b stands for channel bans and allows a channel operator to deny a person (or a group of people) access to the channel. If someone is banned while in the channel, they will not be able to talk. This additional feature is known as the +bquiet mode, although the actual mode is still just +b. In addition /part messages will be supressed. However, this will not affect anyone having the except mode +e on his host which is discussed below.

/mode #channelname +/-b [ hosts]

/mode #peanutbutter +b-bb *!*@annoying.pest.com *!*@*.ca *!

If you don’t specify any hosts, you will be shown a list of channel bans, even if you’re outside the channel.

A more detailed document on banning is available at http://docs.dal.net/docs/banguide.html.

The +c mode stands for colourless. It is a relatively new mode and is quite specific to DALnet at this time.

If a message sent to the channel contains colour codes (supported by most IRC clients) or control codes (including bold, underline, reverse, etc.), the message will be blocked as if the channel was moderated for that person.

+e stands for except which excepts users from the channel who match a hostmask in the banlist allowing them to join. When a hostmask is set in the except list,the mode +e overrides the ban on the user that matches the hostmask.

/mode #channelname +/-e [ hosts]

/mode #peanutbutter +e PJKevin!*@*.my

In the above example, let’s say there is an existing ban is set with the hostmask *!*@*.my. PJKevin’s hostmask is PJKevin!kevin@brk32-kj.jaring.my. PJKevin will be able to join #peanutbutter because he has an exception with the mask PJKevin!*@*.my.

Note: Please note that this mode does not override akicks set in the channel.

2.5 +h (inactive mode)

A channel half operator is designated by the % next to their nick. This % translates into the giving and removal of the +h mode.

/mode #channelname +/-h nickname(s)

/mode #docsteam +hh-h MissPeanut PeanutButterLover CheekyBrat

A channel half-op has the ability to kick people from the channel unless the people are opped or voiced. In addition, they are able to change channel topic.

Setting a channel to invite only will only allow those who have been invited to the channel (with the /invite command or in the channel’s invite list) to join the channel.

This mode allows a channel operator to set a list of users who are allowed to join a +i (invite only) channel or a +R (registered nicks only) channel.

/mode #channelname +/-I [ hosts]

/mode #peanutbutter +I PJKevin!*@*.my

In the above example, PJKevin will be allowed to join the channel even if the channel is +i or +R with the hostmask PJKevin!kevin@brk32-kj.jaring.my since it matches an invite entry.

Note: Please note that this mode does not override bans set in the channel.

The +j mode is used for Channel join throttling. It is useful to control join floods by determining the N number of users to join in S seconds.

/mode #peanutbutter +j 4:5

In the above example, #peanutbutter has been set +j with the throttle value of 4 users in 5 seconds. The first value may not be set lower then 2 after bahamut version 2.0.7.

The key of the channel is a word that you must specify in your /join command when attempting to enter the channel. If the key was incorrect or if no key was specified then you will be denied access to this channel.

/mode #peanutbutter +k jam

Anybody joining the channel will need to use the /join #channelname key command. In our case, it would be /join #peanutbutter jam .

2.10 +l

The channel limit allows you to specify the maximum number of users who can be in the channel at a time. Once this number has been reached, anyone who attempts to join the channel will receive an error message of the channel being full.

/mode #channelname +/-l number

/mode #peanutbutter +l 25

2.11 +L

The +L mode is currently not used for anything on DAL.net although it is implemented into the current releases of the Bahamut IRCD. +L is moderated /list. If switched on, only channels with +L will appear in the /list. The +L mode has been reserved for future.

2.12 +m

A moderated channel only allows the ops (@) and voices (+) to send messages to the channel. All other messages will be blocked.

Anyone who is present in a moderated channel and who is not an op or voice there will also be prevented from changing their nickname.

2.13 +M

+M stands for only registered nicks may talk. Similar to the +R mode only those who are using and have identified to their current nick name (in other words, those who are set to umode +r) are allowed to speak in the channel although anybody may join. Unregistered nicks who are on a channel after +M is set will lose the ability to send messages to the channel until they become umode +r. See section section 3.5.

2.14 +n

The +n stands for no external messages. If +n is not set then it’s possible for someone to send messages to the channel even if they are not present inside the channel.

2.15 +o

A channel operator is designated by the @ next to their nick. This @ translates into the giving and removal of the +o mode. Some IRC clients may use a symbol other than @ for pointing out channel ops, however they are far and few in between. ;)

/mode #channelname +/-o nickname(s)

/mode #peanutbutter +oo-o MissPeanut PeanutButterLover CheekyBrat

A channel operator has the ability to kick/ban people from the channel in addition to being one of the only ones who can change the channel modes of the channel.

2.16 +O

The +O mode stands for oper only. Basically, it only allows those with umode +o (IRC Operators) to join the channel. This mode can only be set by an IRC Operator.

2.17 +p

A private channel is shown in the /whois output but it does not show up on a /list request.

2.18 +P

The +P mode is set to default OFF when you register a channel. This means that your channel is automatically protected against messages from spammers. If you set it ON, you will not have any spam filter protection for your channel. For more information please visit https://www.dal.net/kb/view.php?kb=411.

2.19 +r

The +r mode can only be set by services itself and indicates that the channel in question is registered with ChanServ. This mode has been removed.

2.20 +R

+R stands for registered nicknames only. As its name implies, only those who are using and have identified to their current nickname (in other words, those who are set to umode +r) are allowed to enter the channel. For information to umode +r see section section 3.5.

2.21 +s

A secret channel is not shown on the WHOIS output unless the person requesting the WHOIS is also on the channel. In addition to this, a secret channel doesn’t show up on a channel LIST request either.

There’s no need to set the +p mode if you already have +s set, as it would be redundant. See section section 2.17.

2.22 +S

When a channel is set to +S, only users who have umode +S are allowed to enter this channel. Umode +S is set when you use a secure connection, SSL.

2.23 +t

When +t is set, only the ops of the channel can change the topic.

2.24 +v

As already mentioned above, when a channel is moderated (+m, see section section 2.12), only the channel ops and the channel voices can send messages to the channel. Only channel ops can add or remove voices.

/mode #channelname +/-v nickname(s)

/mode #peanutbutter +vv-v MissPeanut PeanutButterLover CheekyBrat

It should be noted that in many places, voiced users are considered as the friends of the ops and are often treated as ops in training. This is, however, not true for all channels.

3 · User Modes

User modes allow you to configure a number of things while on IRC. You can use them to specify how easy it will be for other people to find you, what kind of information the IRC server should pass on to you, etc. They are also commonly referred to as umodes.

Modes are generally set through the /mode command.

/mode PeanutButterLover +iws
/mode PeanutButterLover -H
/mode PeanutButterLover +i-s

You can only change your own user modes: therefore, the nickname will always stand for the nick that you are using at the time.

When users have +C mode, they can get messages only from users who are in the SAME channel.

3.2 +H (inactive mode)

This Usermode serves to mask a users’ hostname. Setting this mode will keep a user’s assigned IP hidden for security reasons/purposes. All other users will only see the masked address. Please use /whois nickname to view your current status:

MissPeanut is janice@77880b4eab7bbf7f42d610b290cf3edf698fa4.110.83.ip * Peanut Butter is the best!
MissPeanut is actually janice@83.110.194.2 [83.110.194.2]
MissPeanut is on @#PeanutButter +#PeanutB
MissPeanut is on koala.vc.au.dal.net Micron21, Australia
MissPeanut has identified for this nick
MissPeanut is using a secure connection (SSL)

Note: The +H mode is set to ON by default when you connect to DALnet

You can UNSET the mode by typing: ( /mode nickname -H ).

+i is also known as the invisible mode. While it does not actually make you invisible on IRC, it can make you quite a bit more difficult to find. To put it briefly, the invisible mode prevents people from finding you unless they know your exact nickname or are on the same channel as you. Please note that a lot of servers actually set you to +i automatically when you first connect.

When not set to +i, a fellow user can locate you through the /who or through the /names #channelname command. IRC Operators also have the ability to see someone regardless of whether they are invisible or not.

The +P mode is set to OFF as per default when you register a nick. This means that you are protected against spammers by DALnet’s spam filter system. If you do not wish to have spam filter protection enabled for your nick, you can disable the setting by changing to «ON». For more information please visit https://www.dal.net/kb/view.php?kb=411.

The +r mode can only be set by services itself and indicates that you are using and have identified to a registered nickname.

When using the /whois command on someone who is set to +r, an extra line will appear in the WHOIS output, indicating that they have identified to the nickname they are using.

MissPeanut is janice@peanutty.yummy.com * Peanut Butter is the best!
MissPeanut is on @#PeanutButter +#PeanutB
MissPeanut is on coast.fl.us.dal.net
MissPeanut has identified for this nick

The +R mode can be set by any connect client and does not allow a client who is not umode +r to message the client. Please note that the umode +R client are not able to message the client who is not umode +r too. See section section 3.5 This includes private messages and CTCPs. A +R client will be able to receive messages from +o clients.See section section 4.1

Setting yourself +s is a request to the server to send you all the generic server messages and information about oper kills. This can turn into quite a flood.

This mode is set when you use a secure connection (SSL). Its set by the server only. A new line will be added in the /whois output:

MissPeanut is janice@peanutty.yummy.com * Peanut Butter is the best!
MissPeanut is on @#PeanutButter +#PeanutB
MissPeanut is on coast.fl.us.dal.net
MissPeanut is an IRC Operator — Server Administator
MissPeanut has identified for this nick
MissPeanut is using a secure connection (SSL)

Wallops are network wide messages sent by IRC Operators to each other. Any user who is set to +w will also be able to observe the conversation. Wallops have become quite extinct on DALnet and are rarely sent.

4 · User Modes (IRCops Only)

The rest of the modes are only available to IRC Operators.

The +o mode designates whether someone is an IRC Operator or not and is just about the only mode that cannot be obtained through the /mode command.

The command for a valid IRC Operator to «oper up» is:

/oper nickname oper password

While obtaining the +o mode may be done through a different command, the /mode is still used for «deopering», in other words to remove the IRC Operator priviledges.

When opered, the WHOIS output of the IRCop reflects their status. Some servers may have modified their server theme to change the standard message, however, it should still be evident.

MissPeanut is janice@peanutty.yummy.com * Peanut Butter is the best!
MissPeanut is on @#PeanutButter +#PeanutB
MissPeanut is on coast.fl.us.dal.net
MissPeanut is an IRC Operator
MissPeanut has identified for this nick

It is beyond the scope of the document to explain how the oper passwords are set up or what the requirements for being a «valid» IRC Operator is. Suffice it to say that not just anyone can «oper up».

Is a local IRC Operator.

Will allow the use of the /samode command in addition to adding a line of the IRC Operator’s WHOIS output, designating them as a Services Administrator.

MissPeanut is janice@peanutty.yummy.com * Peanut Butter is the best!
MissPeanut is on @#PeanutButter +#PeanutB
MissPeanut is on coast.fl.us.dal.net
MissPeanut is an IRC Operator — Services Administator
MissPeanut has identified for this nick

Adds a line of the IRC Operator’s WHOIS output, designating them as a Server Administrator. Server Administators have the ability to see +s (secret) and +p (private) channels. Server Administrators are also automatically set to +a.

MissPeanut is janice@peanutty.yummy.com * Peanut Butter is the best!
MissPeanut is on @#PeanutButter +#PeanutB
MissPeanut is on coast.fl.us.dal.net
MissPeanut is an IRC Operator — Server Administator
MissPeanut has identified for this nick

Allows an IRC Operator to view oper chatop messages.

The +c mode entitles IRC Operators to receive a notice everytime someone connects to or disconnects from the server they are on. Due to the large number of users on DALnet, this mode is rarely used these days as it would cause an enormous flood.

Allows for viewing of debug messages.

+e is strongly related to the DCCALLOW feature and will display any file transfers that were stopped at the server level.

The +f is a mode that alerts an IRC Operator everytime someone on their server gets flooded or gets disconnected for excess flood. Channels that are protected by the built-in flood protection will also be pointed out whenever the flood protection triggers.

4.10 +F

Can bypass the ircd’s recvq throttling.

4.11 +g

Allows an IRC Operator to view oper globop messages. This mode can actually be set by a normal user but it won’t do anything for them. Originally, +g was used for global messages. However, with the arrival of Bahamut, it was changed to the flag for globops instead.

4.12 +h

+h is also referred to as the «helpful» mode. When set, an IRC Operator will show up in a /stats p request on their server along with their idle time.

MissPeanut (janice@peanutty.yummy.com) Idle: 30555
PeanutButterLover (butter@loving.peanutbutter.ca) Idle: 46
2 OPERs
End of /STATS report.

4.13 +I

+I hides the server info. Which means that the server part will not be displayed in a /whois output.

4.14 +j

Setting yourself +j is a request to the server to send you rejected drone connection notices.

4.15 +k

The +k stands for KILL messages and it will instruct the server to send you all the server kill messages. This can cause quite a flood though.

4.16 +K

Setting yourself +K is a request to the server to send you kill notices from U:lined servers.

4.17 +m

Reports possible spambots and failed targets.

4.18 +n

Once +n is set, the IRC Operator in question will be able to view server routing notices.

4.19 +x/X

+x/X is used for Squelch and Silent Squelch. Stops a user transmitting, for example it stops their PRIVMSG. Only settable by U:lined servers.

4.20 +y

The +y mode enables an IRC Operator to see certain commands sent from an user or another IRCop. Most notibly, stats/links/admin requests are displayed.

5 · Final Word

Finally, it should be noted that there are a lot of different IRCDs out there these days. While there are a lot of modes common to the large majority of IRCDs, the various user and channel modes can vary quite significantly from network to network.

This reference was written for the DALnet IRCD, Bahamut, Version 1.8.* and should not be directly applied to other IRCDs.

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL