QQ始祖 IRC 入门教程

前言

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使用

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 插件
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

每次跟人私聊的时候先显示上次你俩聊天时的最后几行。


IRSSI好用配置

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频道了

IRCCloud


Web 版,需要邀请码


IRC 网站总体情况查看

http://irc.netsplit.de/networks/top100.php

话题查看

http://www.efnet.org/?module=channels

输入彩字


最后放上一张##Linux频道的截图。还是挺多人在上面的


  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 30
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值