首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xmpp4r Google Talk无法设置在线状态

Xmpp4r Google Talk无法设置在线状态
EN

Stack Overflow用户
提问于 2012-06-08 14:47:37
回答 1查看 479关注 0票数 1

我想能够设置我的状态(即状态和可用性)为我的谷歌演讲从一个红宝石脚本。我似乎不能使用xmpp4r让它工作。我认为这可能是因为google talk不再通过这个xml协议来设置存在(即存在标记),和/或我需要使用xmpp4r中包含的pubsub库。非常感谢您的帮助!到目前为止我的代码如下:

代码语言:javascript
复制
class Simplified
  require 'xmpp4r'
  include Jabber

  def initialize(usr, pwd, host, rsrc='', port=5222)
    @usr = usr
    @pwd = pwd
    @host = host
    @rsrc = rsrc
    @port = port

    @cl = Client.new(JID.new("#{@usr}/#{@rsrc}"))
    @cl.connect(host, port)
    @cl.auth(pwd)
  end

  # :chat, nil, :dnd, :away, :xa, :unavailable, :error
  def status(presence, msg)
    @presence = presence
    @stat_msg = msg
    stat_msg = Presence.new.set_show(:chat)
    # stat_msg = Presence.new(@presence, @status_message, 24)
    send stat_msg
  end

  def send(msg)
    @cl.send(msg)
  end
end

usr = 'joeuser@gmail.com'
pwd = 'password'
host = 'talk.google.com'
rsrc = 'test'

me = Simplified.new(usr, pwd, host, rsrc)
me.status(:dnd,'new status')
EN

回答 1

Stack Overflow用户

发布于 2013-05-09 23:19:12

如果您使用的是常规xmpp4r库:

你的客户端必须发送一个"presence“节:

代码语言:javascript
复制
@cl.send(Jabber::Presence.new.set_type(':available'))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10944223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档