这是要求SO聊天系统具有XMPP接口。

聊天系统的整个想法是将人们聚在一起,而这样做的关键方法是允许人们访问系统使用多种方法。现在有一个Web界面,但仅限于Web界面。 XMPP是用于实时状态和消息传递的标准机制,正是为此而设计的。

评论

另请参阅:聊天的IRC访问权限?

有点相关:meta.stackexchange.com/questions/4919/…

我知道这很旧,但我同意。我认为实现某种外部接口(例如XMPP,IRC等)非常重要。我是Tor.SE的管理员,当我不想一直挂在聊天室上时,由于必须保持浏览器保持打开状态,因此尝试推动聊天总是很不好意思(如果我这样做,它会使情况更糟)我手机上的m)。

#1 楼

2012年8月27日更新:我无法跟上这个项目,而且停滞了。。。由于有很多人感兴趣,我将该项目迁移到了GitHub。但是,在1年以上的时间里,该项目没有更新,因此不再正常工作,通过XMPP发送消息仍然有效,但是接收消息却无效。 (我记得balpha也预测过这一点)欢迎任何想要帮助的人!

更新2010-11-14:我的XMPP Bridge现在具有写支持,尽管构建得很粗糙。另外,我只是使用户列表部分起作用,富文本消息现在几乎可以完美地起作用,并且代码相当稳定。它运行了几乎整个一周的时间,上周每天24小时运行。 (我忘记了最终使它崩溃的原因,可能是radp的消息,他一直在引起麻烦)。

下一个目标是使用户列表正常工作并改善身份验证,因为现在它非常乱且文档记录很差。




更新2010-10-29:我现在有非常非常非常基本的XMPP支持,使用Ruby作为XMPP组件编写。可以从http://trac.sitepalette.com/soxmpp/browser/trunk检出代码,我正在Trac Wiki中记录进度。

目前尚无写支持,但我对此有想法。只有两个房间可以工作,“ The Tavern”(因为我喜欢那个房间)和XMPP房间本身。要尝试,您需要一个自己的XMPP服务器,您可以在其中添加组件。在使代码更加稳定和实用之后,我将其启动并使其在我自己的XMPP服务器上运行,并在此处(以及在聊天室和Wiki中)发布该服务器的地址。

有关此项目的最新信息,XMPP会议室是应有的场所。



快乐的星期五!
/>

周末,我将使用我在对Jeff的回答的评论中概述的方法来解决这个问题。我将随着进度更新该答案,并创建了一个XMPP聊天室进行测试并讨论问题/进度/等。

祝我好运! :-(

评论


凉!让我知道我是否可以提供任何帮助。

– Greg Hewgill
2010年9月5日在8:25

@Greg:完成写支持了吗? :-D

–未处理的异常
10-10-29在21:57

代码仍然在某处可用吗?也许在BitBucket或GitHub上?

–伊凡(IvanVučica)
2011年10月12日在12:51

@IvanVučica:是的-我修复了以上帖子中的链接。该代码在Subversion中可用,Trac存储库仍处于运行状态。我已经有一段时间没有维护代码了,但打算在某个时候进行整理。在此期间,请随意破解并发送任何改进给我!

–未处理的异常
2011-10-12 13:14

链接404的:-(

– Nanofarad
2012年8月9日17:11

@TheUnhandledException Github将是完美的:)

–流程
2012年8月14日12:56

@ObsessiveFOSS好消息:项目在GitHub上。坏消息:它不再起作用:-(

–未处理的异常
2012年8月27日在22:11

@Flow:见上文

–未处理的异常
2012年8月27日在22:11

你好!您的使者现在可以工作吗?我在哪里可以找到它,请:)

–高斯布鲁林
13年7月26日在10:37

#2 楼

使用XMPP到Google聊天双向管道。

仍在进行中,但我只是以编程方式驱动了使用Selenium在xvfb中呈现的firefox浏览器。然后将其刮擦。它在这里。尚未完全发挥作用,但这仍在进行中。

我正在尝试将其传递给另一个协议的东西,以使其具有相当的模块化性。

就我而言,这样我就可以打开同理心,并用python管道为我提供空间。我的回复也像我一样被发回。

将使用发送到解析器的命令(而不是单独的UI组件)搜索用户列表和不包括内容。

#3 楼

在最初发布后的6年和SOXMPP项目的5年之后,我决定自己开发一个。



它基于SleekXMPP和ChatExchange python库,并且它目前,每个进程仅支持为一个房间和一个堆栈/ xmpp用户提供服务。

我在StackApps上发布了有关XMPPExchange的更多信息,如果您只是想跳入Github,请检查代码并进行安装步骤在这里。

评论


我想说明一下,SOXMPP是XMPP服务器,而XMPPExchange是客户端。

–以前
17年5月23日在18:21

#4 楼

XMPP如何处理身份验证?

读没问题,但是要写,我们需要看到您在目标站点上拥有有效的cookie,信誉度为+20。

(而且我们不知道您的用户名或密码是什么,因为这是通过您的OpenID提供程序处理的。)

评论


简单;在用户个人资料中为用户的XMPP标识符添加一个字段。与IRC不同,XMPP中的身份不是无政府状态,用户可以选择XMPP主机,以确保其他人无法模仿它们。

– Greg Hewgill
2010年7月17日在2:20

@greg用户配置文件中已经有一个用于其OpenID标识符的字段-这就是需要在此处进行的操作。如果不能,那就是初学者。

–杰夫·阿特伍德
10 Jul 17'4:49

您太快将其视为非入门者了。如果有XMPP接口,那么今天所有其他一切都将像现在一样工作,包括一键式OpenID身份验证。如果用户想要设置XMPP,则他们将不得不在其个人资料中填写其XMPP标识符。这与他们希望电子邮件正常工作完全相同-您无法通过电子邮件发送给OpenID,因此用户必须输入其电子邮件地址。

– Greg Hewgill
2010年7月17日在5:22

我和格雷格在一起。您已经支持多个OpenID,即使您不需要我也要我提供我的电子邮件地址。 XMPP ID与电子邮件基本相同(实际上,就我而言,它们是相同的,但不要紧记),并且作为标识符的有效程度不亚于OpenID ...

– Jaykul
2010年8月6日15:39

@Jeff,这可以通过多种方式完成。 XMPP支持可以先验证用户身份然后允许用户聊天的组件。这可能像是一个bot,当您加入聊天时,该组件会通过电子邮件向您发送登录到Web界面的链接,并向该组件发送令牌。我正在考虑在这个周末写类似的东西。我以前玩过XMPP组件。

–未处理的异常
2010年9月1日于21:46

@Greg:FWIW,即使在IRC身份也不是无政府状态:该协议允许使用您选择的昵称指定密码,并且服务器将如何处理该密码。传统做法是先允许未经身份验证的用户使用,然后使用NickServ识别已知用户,但是没有什么可以说您不能拒绝未经身份验证的连接并防止更改昵称。

–侏儒
2010-10-27 3:10



对不起杰夫,现在我有XMPP编写支持正在工作,现在为-1。它通过用户将fkey和cookie发送到聊天来处理身份验证

–未处理的异常
10 Nov 14 '21:36