王朝百科
分享
 
 
 

IRC命令

王朝百科·作者佚名  2011-11-11  
宽屏版  字体: |||超大  

概念IRC 用户在 IRC 网络上的活动无非是两类:执行命令和聊天。而在 IRC 上, 聊天的实质也是通过命令将消息传递给其他的用户(users)或频道(channels)。因此,IRC 的各种命令是 IRC 用户最基本的操作手段,IRC 的所有功能均通过命令来实现。好的客户端软件可以通过各种菜单和对话框的形式对命令进行封装,让普通用户在点击菜单或填充对话框的过程中就完成命令的发送和执行,但却感觉不到自己实际上在执行 IRC 的命令,免去用户记忆和考虑命令的各种格式以及参数的烦恼。但是,对于 IRC 的技术型用户或者发烧友而言,唯有命令才是理解IRC 的根本途径,进而才能够在对命令的灵活多变的组合与运用中,创造出无穷的乐趣。

IRC命令的种类1. 服务器端命令 ( Server Command )服务器端命令,是指从IRC的客户端发出,由服务器端接收并执行的命令。服务器端命令是IRC命令的基础。其发起及运行方式是 客户端--服务器端 ( Client -- Server Command )

1.1 基本命令

基本命令是完全由 RFC 1459 所定义支撑的那些命令。所有的基本命令在任何版本的 IRC 服务器软件中,均得到支持。

基本命令包括如下命令:

1.1.1 连接及注册命令: pass, nick, user, server, oper, quit, squit

1.1.2 频道操作命令:join, part, mode, names, topic, list, invite, kick

1.1.3 服务器端信息查询命令:version, stats, links, time, ping, trace, admin, info

1.1.4 消息发送命令:privmsg, notice

1.1.5 用户查询命令:who, whois, whowas

1.1.6 服务器端控制命令:away, rehash, restart, summon, users, operwall, userhost, ison, kill, connect

1.2 扩展命令

扩展命令是由各大IRC服务器软件版本体系所各自推出的服务器端命令。IRC在不断的发展过程中,渐渐形成了3大流派的服务器端软件:IRCD,IRCU,IRCX,下面又再分为一些小的流派软件。这些不同的IRC服务器端软件,各自在 RFC1459 的基础之上,开发出了更多的一些命令,这些命令并不记录于 RFC 1459 当中,属于基于 RFC 1459扩展出来的服务器端命令。2. 客户端命令 ( Client Command )客户端命令,是指从IRC的客户端发出,并由该客户端软件自身执行的命令。 ( Client-self Command )

2.1 客户端IRC命令

客户端IRC命令,是指该命令由客户端发出,经由客户端软件在本地执行并添加各项参数后,形成完整的服务器端命令或者是服务器端命令的排列组合,而后发送给服务器端进行执行的命令。

2.2 客户端非IRC命令

客户端非IRC命令,是指该命令由客户端发出,经由客户端软件在本机执行,不需要形成服务器端命令,并且不需要发送给服务器端的命令。客户端非IRC命令的存在,是IRC trojan得以实现的技术基础之一。3. 远程控制命令 ( Remote Command )远程控制命令,已经不是严格意义上的IRC命令。它是由IRC的某个客户端用户发出消息或者动作,该消息或者动作通过IRC网络传递给其他的一些用户客户端,并且触发在IRC上待命的某些特定客户端执行某个或者某些动作,相当于以IRC为信息传递媒介,远程控制其他的客户端执行特定任务的命令。( Client(user) -- Client(BOT)Command )

远程控制命令通常由单一作者按照自己的意愿写成,需要配合特定的客户端使用。对普通用户而言,远程控制命令最常见于对 IRC Services(服务系统) 和其他BOT (机器人)的远程控制。而远程控制命令的存在,也是IRC trojan得以实现的另一技术基础。

3.1 Services 命令

顾名思义,Services 命令,就是由用户发送给 Services (服务系统)上的各个客户端(比如chanserv, nickserv, w, x, cs 等等),并由其执行特定行为的命令(比如读写数据库,更改指定用户模式等)。

3.2 其他 BOT 命令

其他 BOT 命令,是指由用户发送给IRC上除 Services 以外的其他的BOT(机器人),由该BOT来执行特定行为的命令。

IRC命令的前置字符对于多数IRC客户端软件而言,除去通过菜单和对话框完成封装的那些IRC命令之外,其他的IRC命令在输入之时,都是与聊天的消息输入共用的一个输入窗口或者对话框。而这些输入框中所输入的内容,通常情况下,会被客户端软件当作聊天的消息发送给频道(Channels)或者是用户( users )。那么,客户端软件如何判断输入框中所输入的是命令,需要由客户端自己或者是发送给服务器端去执行呢? 这就需要在命令前面添加前置字符,作为命令的标识,当有该字符存在之时,则认为所输入的是一条命令,客户端软件将会首先检查自身,看是否对该命令有所定义或者封装,如果有,按自身定义的该命令内容执行;如果没有,则将该命令发送给服务器,交由服务器执行。

当前大多数客户端软件,命令的前置字符均默认为“/”。就是说,用户需要在命令前面添加“/”,该命令才会被执行。对于比较灵活的客户端软件而言,有的也可以灵活设置该默认的前置字符,比如使用“.”,或者是“”。

对于远程控制命令,由于其命令的表现形式很多,难以一一尽述。在此仅仅谈一下以普通的聊天信息方式来表现和发送给 BOT 的命令。为了让 BOT 从众多的聊天消息中识别出命令,通常也会对该命令的前置字符进行定义。常见的是以“.”或者是“!”打头的前置字符,但也有以某些特定字符串打头为命令标识的。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
中国古代四大美女:背后隐藏惊人秘密
 女性   2025-06-20
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
 
>>返回首页<<
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有