我有兴趣使用Python制作Google Talk客户端,并希望使用Twisted libraries Words模块.我查看了这些示例,但它们不适用于当前的Google Talk实施.
这有什么运气的吗?你介意记录一个简短的教程吗?
作为一项简单的任务,我想创建一个客户端/机器人,跟踪我的各种Google Talk帐户的在线时间,以便我可以获得总数.我想我可以在每个帐户中与机器人交朋友,然后使用XMPP状态信息来跟踪我可以聚合的时间.
谢谢.
我正在使用smack 3.1.0,当我添加一个名册时,我无法获得"两者"的订阅.谁能帮我?下面是我的代码:
Roster.setDefaultSubscriptionMode(Roster.SubscriptionMode.accept_all);
Roster roster = connection.getRoster();
roster.createEntry("buddy@test.com","me",null)
Run Code Online (Sandbox Code Playgroud)
代码执行后,我在openfire中观察到订阅是"到"
我已经看了一段时间这种行为,但这不是一个真正的问题.在我使用自己的应用程序在xmpp中成功验证后,错误关闭了我的连接:
<message from="chat.facebook.com"
to="-USERID@chat.facebook.com/RESOURCE" type="normal">
<subject>Lo sentimos, tu cuenta no está disponible</subject>
<body>Your account is temporarily unavailable. Regain
access by logging into your account from your
computer's web browser: http://www.facebook.com/
</body>
</message>
<stream:error>
<conflict xmlns="urn:ietf:params:xml:ns:xmpp-streams"/>
<text xml:lang="" xmlns="urn:ietf:params:xml:ns:xmpp-streams">
Session terminated
</text>
</stream:error>
Run Code Online (Sandbox Code Playgroud)
请注意断开连接之前收到的消息节.
为什么会发生这种情况?,我是否遇到了某种无证件限制?,除此之外,有没有办法区分这个错误和Facebook网页的断开连接?
我曾经检查过该消息节中收到的文本,但现在它们几乎每周更改一次,并且stream:error的文本对于这两种情况都是相同的,所以每次文本更改时更改应用程序都很痛苦.
我正在寻找一种方法来访问Google Talk聊天记录.用于Android设备的方法,但不必特定于它.我正在寻找一种官方方法,但这不是必需的.AFAIK没有官方方法.该方法必须不是,
除非它以某种方式绕过上述方法之后列出的问题.
Googles不同的Google Talk应用程序可以进行聊天记录,但没有任何文档可以了解其工作原理.
我有一个使用openfire的ios聊天应用程序,我需要做的是当消息(1)因任何原因无法发送时发送推送通知,(2)app处于暂停状态,即无法生成通知在其自己的.
我已经在stackoverflow和其他地方阅读了大部分有关此问题的相关问题/建议,我已经为我的问题得出了一些解决方案.我不是ios开发人员,也不是几天前我对openfire或xmpp一无所知,所以我担心我对事情的理解可能不完整,我的解决方案可能存在缺陷.
请确认我对它的理解,并建议我是否遗漏了某些东西,或者是否有更好的方法.还请建议实施下面列出的特定解决方案的复杂程度.
这里的挑战是确定何时需要推送以及何时启动流程,所以
1)一种方法是使用xmpp的xep-0184实现来检查消息是否已传递.要做到这一点,我们应该在ios数据库中有一些带有消息的传递标志,当从另一端收到传递的响应时更新.因此,我们需要在一段时间后检查此标志,如果传递的状态为false,则使用该消息启动推送过程.看起来是一个复杂的解决方案(等待响应..检查标志有一些时间滞后..不是很令人印象深刻)
2)更直接的方法是在openfire中做一些事情,当openfire无法传递它将其存储在离线表中的消息时,我们可以对该部分进行一些拦截并使用消息启动推送过程.这看起来是正确的方法,但我真的害怕在openfire中获得那么多东西并改变一些东西(这可能也很容易,有人用openfire工作了一点可以说出来吗?)
3)这是我的最后一招,这不是解决方案......但如果我无法在预期的时间范围内(从现在起一周内)正确完成,我们计划发送所有消息的推送通知.oppenfire将关注正常聊天,同时从我们的服务器发送每个消息的推送但是当应用程序在前台时,我们做一些事情来处理不需要显示的额外推送消息,否则只要有一个推送就会收到推送信息.你们怎么看待这种临时的方式(我们当然必须尽快改变这一点),这是可行的(或者我在这里也遗漏了一些东西).
PS谁能告诉Whatsapp和其他流行的应用程序如何处理这个?
非常感谢您的帮助.
我是XMPP的新手.
我需要通过XMPP从Openfire获取聊天记录.
我做谷歌搜索但没有得到满意答案.
任何链接或想法都将是很有帮助的.
我正在使用aSmack库与远程xmpp服务器进行通信.我能够发送/接收消息,但我想获取传入消息的时间戳.
你能告诉我,它有可能吗?因为我找不到关于这个问题的任何信息.
提前致谢
我正在尝试在ios中构建一个聊天应用程序.我遇到了ios的XMPP.我对如何前进感到有点困惑.以下是我的疑惑:
我想制作一个简单的基于javascript的XMPP客户端.我偶然发现了'strophe js',这对于XMPP而言应该让我的生活变得更轻松,但我发现文档有点......不完整.它有一个关于如何连接/断开的例子,但几乎就是这样.
我需要获取联系人列表,发送和接收消息......我该怎么做?
实际上:我在哪里可以找到教程或如何做到这一点的例子?(这里不需要写完整的tut :)
我正在尝试调整这里为Smack 4.1.0 提供的示例.并有点困惑.
具体来说,我很难理解GcmPacketExtension现在应该扩展什么,构造函数应该如何工作以及如何更新Providermanager.addExtensionProvider以配合它.
我敢肯定以前有人必须这样做但是我找不到任何例子,而且我似乎只是使用文档进行圈选.
任何帮助将不胜感激,我相信答案很简单!
当前代码(正在编译但未运行):
static {
ProviderManager.addExtensionProvider(GCM_ELEMENT_NAME, GCM_NAMESPACE, new ExtensionElementProvider<ExtensionElement>() {
@Override
public DefaultExtensionElement parse(XmlPullParser parser,int initialDepth) throws org.xmlpull.v1.XmlPullParserException,
IOException {
String json = parser.nextText();
return new GcmPacketExtension(json);
}
});
}
Run Code Online (Sandbox Code Playgroud)
和:
private static final class GcmPacketExtension extends DefaultExtensionElement {
private final String json;
public GcmPacketExtension(String json) {
super(GCM_ELEMENT_NAME, GCM_NAMESPACE);
this.json = json;
}
public String getJson() {
return json;
}
@Override
public String toXML() {
return String.format("<%s xmlns=\"%s\">%s</%s>",
GCM_ELEMENT_NAME, GCM_NAMESPACE,
StringUtils.escapeForXML(json), GCM_ELEMENT_NAME);
}
public …Run Code Online (Sandbox Code Playgroud)