IRC是什么?
IRC是Internet Relay Chat 的英文缩写,中文一般称为互联网中继聊天。
也就是聊天室,在这里你可以畅所欲言、大谈人生哲理。
IRC是Internet Relay Chat 的英文缩写,中文一般称为互联网中继聊天。它是由芬兰人Jarkko Oikarinen于1988年首创的一种网络聊天协议。经过十年的发展,目前世界上有超过60个国家提供了IRC的服务。在人气最旺的EFnet上,您可以看到上万的使用者在同一时间使用IRC。很多人称其为继bbs后的一种即时闲聊方式,相比于bbs来说,它有着更直观,友好的界面,在这里你可以畅所欲言、而且可以表现动作化,是故使众多的网虫们留连忘返。
到现在已经25年了,github上仍旧有许多开源项目用IRC频道,我稍微去了下,发现老外还是非常nice的,对你的问题非常耐心,IRC 在国外的流行程度已经远超出我想像了
例如,这是django cms的频道
这是flask的频道
到现在还在用IRC的人一般都是大牛级别的人物.推荐大家去逛下,体验下上古时代的聊天方式,非常不一样的体验。下面截图是
一个中文频道的.推荐去##Linux频道
注册你心爱的昵称,让大家都记得你
在聊天栏输入
$ /nick (昵称)
$ /msg nickserv register (密码) (邮箱地址)
然后打开邮箱收信,单击激活链接即可。
下次登录时便可使用如下命令完成验证:$ /msg nickserv identify (密码)
irssi -c irc.freenode.net port 7000 登录
/leave ,离开当前频道
/msg <昵称> <消息>,向某人发私消息(新开窗口)
/query <昵称> <消息>,向某人发私消息(新开窗口且转换到这个窗口)
/say <昵称> <消息>,向某人说话(不新开窗口)
/notice <昵称> <消息>,向指定人发出注意消息
/me <动作>,在当前聊天室窗口中做出动作。 如做出晕倒动作:
/me 晕倒
/away <原因>,留下信息说明暂时离开,别人向你发出私聊时将会返回此消息,再重新输入
/away(不指定参数)则解除离开状态。
/ignore <昵称>,忽略某人的聊天内容
/set autolog on,自动保存聊天记录
[Act:1,3,6,9,10] 这些数字提示各个频道上对话情况:灰白色表示有人登录或登出,白色代表在人在此channel上说话,灰红色代表对话中提起你的名字或呼叫你。
Alt+1~0对应1~10的irc channel编号; Alt+q~p对应11~20的irc channel编号; Ctrl+n/p切换上/下一个irc channel; PageUP/PageDn切换上/下页讯息
(可选)一般频道都通过ChanServ这个机器人管理. 如下命令将ChanServ永久加入你的聊天室 /msg ChanServ SET <频道名> GUARD ON
如果你所加入的频道有新的消息,那么频道号码会以高亮方式显示出来。这时可 以使用 /win 切换过去读新的消息。如果频道好码以红色高亮,
说明有人在该频 道里提到了你的名字,这时你需要特别关注一下
表情 IRC 并不是真正支持发送什么表情,它只是提供一种专门用来做表情的命令 /me + 表情 。当你使用这个命令发送信息时,
大部分客户端都会以缩进或高亮 的方式来消息。当你看到表情消息时,你只能脑补一下了。 17:18 * jianingy is confused
私聊 IRC 鼓励大家在公开频道聊天。任何问题的讨论对每一个在频道里的人都是透明 的。然而,你还是偶尔可能想跟某个人单独对话。
这个时候可以使用 /query 命令。例如:你想要单独和 jianingy 聊两句 /query jianingy
#archlinux-cn
#linuxba
#ubuntu-cn
使用 Irssi 插件
irssi的插件很方便,直接在 http://scripts.irssi.org/下载,然后放到~/.irssi/scripts下就可以了,然后在irssi中调用/script load调用插件(/run在新版本使用),
如果想脚本自动调用的话就进入~/.irssi/scripts/autorun目录,
然后ln -s ../yourscripts.pl 就可以了
毫无疑问像 irssi 这么具有黑客范儿的程序一定是支持插件的。这些插件让 irssi 的功能更为全面、强大。
你可以在 http://scripts.irssi.org 找到很 多有用的插件。
加载插件的方法是:把插件文件下载到 ~/.irssi/scripts 里面,然后在 irssi 里执行命令:
/script load 插件名称
如果你想让一个插件在 irssi 启动的时候就被自动加载,就做一个符号链接 把该插件链接到 ~/.irssi/scripts/autorun 这个目录里面。
其他和插件相关的命令还有:
/script unload
卸载一个插件。
/script
列出当前加载的插件。
/script reset
卸载所有插件,并且重置插件的 Perl 解释器。
接下来介绍几个非常实用的插件:
adv_windowlist
下载地址: http://anti.teamidiot.de/static/nei/*/Code/Irssi/adv_windowlist.pl
默认的 window list 只能显示一行。用了这个插件后 window list 可以显示多 行。特别适合那些加入频道比较多的朋友。
nickcolor
下载地址:http://scripts.irssi.org/scripts/nickcolor.pl
给频道里每个人的名字以不同颜色显示出来。方便你认清每一个人。
go
下载地址:http://scripts.irssi.org/scripts/go.pl
使用 /win 命令切换窗口需要自己记住窗口号码和频道之间的关系。 go 让 我们可以直接使用频道名字切换窗口,并且还支持自动补齐功能。
trackbar
下载地址:http://scripts.irssi.org/scripts/trackbar.pl
在你上次浏览内容下方画一道横线。如果你同时看多个频道的话,这个插件非常 有用。他能帮你了解该频道自你上次浏览后有哪些新内容。
queryresume
下载地址:http://scripts.irssi.org/scripts/queryresume.pl
每次跟人私聊的时候先显示上次你俩聊天时的最后几行。
vi ~/.irssi/config
servers = (
{ address = "irc.ubuntu.com"; chatnet = "Ubuntu"; port = "8001"; },
{ address = "irc.stealth.net"; chatnet = "IRCnet"; port = "6668"; },
{ address = "irc.efnet.org"; chatnet = "EFNet"; port = "6667"; },
{
address = "irc.undernet.org";
chatnet = "Undernet";
port = "6667";
},
{ address = "irc.dal.net"; chatnet = "DALnet"; port = "6667"; },
{
address = "irc.quakenet.org";
chatnet = "QuakeNet";
port = "6667";
},
{ address = "silc.silcnet.org"; chatnet = "SILC"; port = "706"; },
{
address = "irc.freenode.net";
chatnet = "Freenode";
port = "6667";
use_ssl = "no";
ssl_verify = "no";
autoconnect = "yes";
}
);
chatnets = {
IRCnet = {
type = "IRC";
max_kicks = "4";
max_msgs = "5";
max_whois = "4";
max_query_chans = "5";
};
EFNet = {
type = "IRC";
max_kicks = "4";
max_msgs = "3";
max_whois = "1";
};
Undernet = {
type = "IRC";
max_kicks = "1";
max_msgs = "3";
max_whois = "30";
};
DALnet = {
type = "IRC";
max_kicks = "4";
max_msgs = "3";
max_whois = "30";
};
QuakeNet = {
type = "IRC";
max_kicks = "1";
max_msgs = "3";
max_whois = "30";
};
SILC = { type = "SILC"; };
Ubuntu = { type = "IRC"; };
NickServ = { type = "IRC"; autosendcmd = "“/msg"; };
Freenode = {
type = "IRC";
nick = "pityonline";
autosendcmd = "/^msg nickserv identify password;wait 2000";
};
};
channels = (
{ name = "#irssi"; chatnet = "ircnet"; autojoin = "No"; },
{ name = "silc"; chatnet = "silc"; autojoin = "No"; },
{ name = "#ubuntu-cn"; chatnet = "freenode"; autojoin = "yes"; }
);
aliases = {
J = "join";
WJOIN = "join -window";
WQUERY = "query -window";
LEAVE = "part";
BYE = "quit";
EXIT = "quit";
SIGNOFF = "quit";
DESCRIBE = "action";
DATE = "time";
HOST = "userhost";
LAST = "lastlog";
SAY = "msg *";
WI = "whois";
WII = "whois $0 $0";
WW = "whowas";
W = "who";
N = "names";
M = "msg";
T = "topic";
C = "clear";
CL = "clear";
K = "kick";
KB = "kickban";
KN = "knockout";
BANS = "ban";
B = "ban";
MUB = "unban *";
UB = "unban";
IG = "ignore";
UNIG = "unignore";
SB = "scrollback";
UMODE = "mode $N";
WC = "window close";
WN = "window new hide";
SV = "say Irssi $J ($V) - http://irssi.org/";
GOTO = "sb goto";
CHAT = "dcc chat";
RUN = "SCRIPT LOAD";
CALC = "exec - if which bc &>/dev/null\\; then echo '$*' | bc | awk '{print \"$*=\"$$1}'\\; else echo bc was not found\\; fi";
SBAR = "STATUSBAR";
INVITELIST = "mode $C +I";
Q = "QUERY";
"MANUAL-WINDOWS" = "set use_status_window off;set autocreate_windows off;set autocreate_query_level none;set autoclose_windows off;set reuse_unused_windows on;save";
EXEMPTLIST = "mode $C +e";
ATAG = "WINDOW SERVER";
};
statusbar = {
# formats:
# when using {templates}, the template is shown only if it's argument isn't
# empty unless no argument is given. for example {sb} is printed always,
# but {sb $T} is printed only if $T isn't empty.
items = {
# start/end text in statusbars
barstart = "{sbstart}";
barend = "{sbend}";
topicbarstart = "{topicsbstart}";
topicbarend = "{topicsbend}";
# treated "normally", you could change the time/user name to whatever
time = "{sb $Z}";
user = "{sb {sbnickmode $cumode}$N{sbmode $usermode}{sbaway $A}}";
# treated specially .. window is printed with non-empty windows,
# window_empty is printed with empty windows
window = "{sb $winref:$tag/$itemname{sbmode $M}}";
window_empty = "{sb $winref{sbservertag $tag}}";
prompt = "{prompt $[.15]itemname}";
prompt_empty = "{prompt $winname}";
topic = " $topic";
topic_empty = " Irssi v$J - http://www.irssi.org";
# all of these treated specially, they're only displayed when needed
lag = "{sb Lag: $0-}";
act = "{sb Act: $0-}";
more = "-- more --";
};
# there's two type of statusbars. root statusbars are either at the top
# of the screen or at the bottom of the screen. window statusbars are at
# the top/bottom of each split window in screen.
default = {
# the "default statusbar" to be displayed at the bottom of the window.
# contains all the normal items.
window = {
disabled = "no";
# window, root
type = "window";
# top, bottom
placement = "bottom";
# number
position = "1";
# active, inactive, always
visible = "active";
# list of items in statusbar in the display order
items = {
barstart = { priority = "100"; };
time = { };
user = { };
window = { };
window_empty = { };
lag = { priority = "-1"; };
act = { priority = "10"; };
more = { priority = "-1"; alignment = "right"; };
barend = { priority = "100"; alignment = "right"; };
};
};
# statusbar to use in inactive split windows
window_inact = {
type = "window";
placement = "bottom";
position = "1";
visible = "inactive";
items = {
barstart = { priority = "100"; };
window = { };
window_empty = { };
more = { priority = "-1"; alignment = "right"; };
barend = { priority = "100"; alignment = "right"; };
};
};
# we treat input line as yet another statusbar :) It's possible to
# add other items before or after the input line item.
prompt = {
type = "root";
placement = "bottom";
# we want to be at the bottom always
position = "100";
visible = "always";
items = {
prompt = { priority = "-1"; };
prompt_empty = { priority = "-1"; };
# treated specially, this is the real input line.
input = { priority = "10"; };
};
};
# topicbar
topic = {
type = "root";
placement = "top";
position = "1";
visible = "always";
items = {
topicbarstart = { priority = "100"; };
topic = { };
topic_empty = { };
topicbarend = { priority = "100"; alignment = "right"; };
};
};
};
};
settings = {
core = { real_name = "pity"; user_name = "pity"; nick = "pityonline"; };
"fe-text" = { actlist_sort = "refnum"; };
"fe-common/core" = {
autolog = "yes";
theme = "default.theme";
beep_msg_level = "MSGS NOTICES DCC DCCMSGS HILIGHT";
autolog_path = "~/.irssi/irclogs/$tag/$0.log";
bell_beeps = "yes";
beep_when_away = "yes";
};
};
hilights = (
{ text = "pityonline "; nick = "yes"; word = "yes"; },
{ text = "delectate "; nick = "yes"; word = "yes"; },
{ text = "刷屏"; nick = "yes"; word = "yes"; },
{ text = "qkbeyond"; nick = "yes"; word = "yes"; },
{ text = "wordpress"; nick = "yes"; word = "yes"; },
{ text = "phpbb"; nick = "yes"; word = "yes"; },
{ text = "eexpress"; nick = "yes"; word = "yes"; },
{ text = "神"; nick = "yes"; word = "yes"; },
{ text = "oneleaf"; nick = "yes"; word = "yes"; },
{ text = "一叶"; nick = "yes"; word = "yes"; },
{ text = "happyaron"; nick = "yes"; word = "yes"; },
{ text = "tenzu"; nick = "yes"; word = "yes"; },
{ text = "delectate"; nick = "yes"; word = "yes"; },
{ text = "igoogle"; nick = "yes"; word = "yes"; },
{ text = "soiamso"; nick = "yes"; word = "yes"; },
{ text = "pity"; nick = "yes"; word = "yes"; },
{ text = "ifvwm"; nick = "yes"; word = "yes"; }
);
notifies = {
happyaron = { };
jimmyxu = { };
soiamso = { };
MeaCulpa = { };
};
logs = { };
ignores = ( { level = "JOINS PARTS QUITS"; } );
type irc
irc 已被别名为“irssi -c irc.freenode.net -p 6667 -n pityonline
终端中输入irc,回车即可自动登录freenode,自动验证nick,自动登录#ubuntu-cn频道了
Web 版,需要邀请码
http://irc.netsplit.de/networks/top100.php
http://www.efnet.org/?module=channels
输入彩字
最后放上一张##Linux频道的截图。还是挺多人在上面的