IRC (Internet Relay Chat) 互联网中继聊天,是一个位于应用层的开源网络协议,主要用于群体聊天。
IRC 使用的服务器端口有 6667(明文传输,如irc://chat.freenode.net
)、6697(SSL 加密传输,如ircs://chat.freenode.net:6697
)等。
IRC 服务是分布式的 C/S 结构服务。通过连接到一个IRC服务器,我们可以访问这个服务器以及它所连接的其他服务器上的频道。 要使用IRC,必须先登录到一个IRC服务器上,最常见的为 chat.freenode.net
。
IRC 频道存在于一个 IRC 服务器上。一个频道类似于一个聊天室,频道名称必须以 #
符号开始,例如 #irchelp
。
weechat 是一个开源的、易于扩展的命令行客户端,支持 IRC 协议。
概念
buffer: 缓冲区是插件对应的具有数字,类别和名称的组件。 缓冲区包含屏幕上显示的数据。
window: 窗口是缓冲区的视图。 默认情况下,一个窗口只显示一个缓冲区。 如果拆分屏幕,则会同时看到带有多个缓冲区的多个窗口。
[图片上传失败...(image-7f22af-1580046484745)]
如图所示:
左边是 buffer 列表,快捷键 Alt + ←/→
可以切换 buffer,快捷键 F1
和 F2
可以上下滚动 buffer 列表。
中间是消息列表,快捷键 PgUp
和 PgDn
可以上下滚动文本。
右边是用户列表,快捷键 F11
和 F12
可以上下滚动用户列表。
顶部是标题栏,快捷键 F9
和 F10
可以左右滚动标题栏。
最下面是输入框,可以输入命令或消息,按回车发送。
安装和运行
使用包管理器安装
sudo apt install weechat
直接执行 weechat
命令以启动,启动后在 weechat 提供的交互式界面里输入命令和阅读消息。
weechat
添加服务器
freenode 是最流行的 IRC 服务器,一般来说都是使用这个服务器,只需在第一次使用的时候添加并注册一个账号就行了。
# 添加 freenode 服务器
/server add freenode chat.freenode.net
注册账号需要设置用户名、密码和邮箱,设置之后会收到一封确认邮件,按照邮件激活账号。
# 连接 freenode 服务器
/connect freenode
# 设置用户名
/nick <username>
# 设置密码和邮箱
/msg nickserv register <password> [email]
登录服务器
登录服务器需要设置用户名,验证密码。
# 连接 freenode 服务器
/connect freenode
# 设置用户名
/nick <username>
# 验证密码
/msg nickserv identify <password>
开始聊天
连接到服务器之后可以加入频道,加入一个频道之后,就可以在当前频道的 buffer 中看到消息了。在输入框中输入文字,按回车发送。
/join <channel>
如果想暂时离开频道,保留 buffer 中的内容,使用以下命令。
/part [quit message]
退出
关闭当前 buffer。
/close # /buffer close
退出 weechat。
/quit # /exit
与当前服务器断开连接(只能在服务器的 buffer 里执行)。断开连接后再重新连接,无需重新登录。
/disconnect
快捷键
快捷键 | 作用 |
---|---|
Alt + ←/→ 或 F5/F6
|
切换到上/下一个 buffer |
PgUp/PgDn |
在当前 buffer 中上下滚动文本 |
F11/F12 |
滚动用户名单 |
F9/F10 |
滚动标题栏 |
F1/F2 |
滚动 buffer 列表 |
Tab |
输入框自动补全 |
常用命令
# 添加 freenode 服务器
/server add freenode chat.freenode.net
# 删除 freenode 服务器
/server del freenode
# 连接 freenode 服务器
/connect freenode
# 设置用户名
/nick <username>
# 设置密码和邮箱,设置完成后会收到一封确认邮件,需要按邮件提示进行激活
/msg nickserv register <password> [email]
# 验证密码
/msg nickserv identify <password>.
# 加入频道,频道名称以 "#" 开头
/join <channel>
# 离开频道(保持 buffer 开启)
/part [quit message]
# 打开私有缓冲区,向某个用户发送消息
/query <username> <message>
# 关闭服务器、频道或私有缓冲,等价于 /buffer close
/close
# 断开与服务器的连接
/disconnect
# 退出 weechat
/exit