IRC / 实时聊天系统
许多项目使用互联网多线交谈(IRC)提供实时聊天室,作为用户和开发者互相提问并得到及时答复的讨论场所。即使你可以在你的服务器运行IRC服务器时,也不必为此事麻烦。而应该象其他人一样:在Freenode(http://freenode.net/)运行你的IRC频道。Freenode给了你足够的权利来管理你项目的IRC频道,[17]可以让你摆脱维护IRC服务器这类无意义的麻烦。
首先要选择一个频道名称。最明显的选择是你的项目名—如果在Freenode存在,就使用它。如果不存在,可以选择一个与项目名接近的名称,尽可能的易于记忆。在你的项目网站上将频道广而告之,这样期望快速提问的访问者可以立刻看到它。例如,Subversion主页上显著放置的方框中所出现的:
If you're using Subversion, we recommend that you join the
users@subversion.tigris.org
mailing list, and read the Subversion Book and FAQ. You can also ask questions on IRC atirc.freenode.net
channel#svn
.
一些项目有多个频道,每个子主题一个。例如,一个频道关注安装问题,另一个是使用问题,还有一个是开发聊天,等等。 (Chapter 6, 交流的the section called “处理成长”讨论了如何划分多个频道)。当你的项目还年轻时,应该只有一个频道,所有人在一起讨论。之后,随着用户到开发者比率增加,也就有必要分开单独的频道。
人们如何知道所有的已有频道,以及在哪个频道讨论?他们何时交谈,如何知道当地的习惯?
答案是通过设定频道主题告诉他们。[18]频道主题是每个用户在进入频道时看到的一些信息。可以给每个新人一份快速指南,指出更进一步的信息。例如:
You are now talking on #svn Topic for #svn is Forum for Subversion user questions, see also http://subversion.tigris.org/. || Development discussion happens in #svn-dev. || Please don't paste long transcripts here, instead use a pastebin site like http://pastebin.ca/. || NEWS: Subversion 1.1.0 is released, see http://svn110.notlong.com/ for details.
内容很扼要,但是它告诉新人所必需知道的东西。它精确的说明频道的目的,提供了项目的主页(如果某人是游荡近来,而并非从项目网页过来),提及相关的频道,并给出一些指导。
粘贴站点
一个IRC频道是一个共享空间:任何人可以看到每个人的谈话。通常情况下,这是一个好事情,这允许人们在感到能做出贡献时跳入谈话,也可以通过观察学习。但如果某人希望一次提供一大段信息时,例如调试会话脚本,因为会输出很多行,会扰乱其他人的对话。
解决办法是使用pastebin或pastebot站点。当向某人要求一大块数据时,告知他们不要粘贴到频道中,而是去(例如)http://pastebin.ca/,将数据粘到那里的表单中,并在IRC频道中告知结果的URL。任何人可以访问这个URL并察看数据。
现在有许多免费的粘贴站点,完整地例子太多了,这里是我曾经用过的:http://www.nomorepasting.com/、 http://pastebin.ca/、 http://nopaste.php.cd/、 http://rafb.net/paste/、 http://sourcepost.sytes.net/、 http://extraball.sunsite.dk/notepad.php、 和 http://www.pastebin.com/。
机器人(Bots)
许多面向技术的IRC频道有一个非人的成员,叫做机器人(bot),它可以对特定的命令返回信息。通常情况下,这个机器人就像频道中的其它成员一样,命令是通过谈话传递给的机器人。例如:
<kfogel> ayita: learn diff-cmd = http://subversion.tigris.org/faq.html#diff-cmd <ayita> Thanks!
这是告诉机器人(以ayita登入了频道)记住以特定的URL回答“diff-cmd”的提问,现在其他用户可以向ayita讯问,并获取diff-cmd的信息:
<kfogel> ayita: tell jrandom about diff-cmd <ayita> jrandom: http://subversion.tigris.org/faq.html#diff-cmd
通过速记法可以得到同样的结果:
<kfogel> !a jrandom diff-cmd <ayita> jrandom: http://subversion.tigris.org/faq.html#diff-cmd
准确的命令集和行为方式各不相同。以上的例子来自ayita
(http://hix.nu/svn-public/alexis/trunk/),通常在freenode的#svn
运行着一个实例。其它机器人包括Dancer(http://dancer.sourceforge.net/)和Supybot(http://supybot.com/)。请注意,运行机器人无需服务器的权限。一个机器人就是一个客户端程序;任何人可以设置一个并监听特定的服务器/频道。
如果你的频道一次次的得到同样的问题,我强烈推荐你设置一个机器人。只有一小部分频道用户会获得需要处理机器人的专业技能,而这些用户会回答不成比例的大部分问题,因为机器人可以帮助他们有效率的回复。
归档IRC
尽管可以将IRC频道发生的任何事情都归档,但这不是必要的。IRC对话名义上是公开的,但是许多用户认为这是非正式的,半私密的对话。用户会对语法不是很在意,而且经常会表达意见(例如,关于其它软件或其他程序员),这些都不是他们希望永久保存归档的。
当然,有时候摘要必须能够保存。大多数IRC客户端可以在用户要求的情况下记录对话到一个文件,如果不能,人们也可以仅仅是将对华拷贝和粘贴到固定的论坛(经常是bug跟踪系统)中。但是不加区分的归档所有内容会让某些用户不悦。如果你需要归档所有的事情,请确认你已经在频道主题明确说明,并给出了归档的URL。
[17] 没有要求或期望你能够为Freenode捐献,但是如果你或你的项目能够负担,请考虑贡献一下。他们在美国有一个免税的慈善团体,提供有价值的服务。
[18] 使用/topic
命令设定频道主题。IRC频道中的所有的命令以“/
”开头。如果你不熟悉IRC的使用和管理,可以看http://www.irchelp.org/;而http://www.irchelp.org/irchelp/irctutorial.html是一份完美的教程。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论