首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于带内注册的xmpp4r和Iq.new_register

用于带内注册的xmpp4r和Iq.new_register
EN

Stack Overflow用户
提问于 2011-02-02 02:35:49
回答 2查看 942关注 0票数 1

我一直在使用xmpp4r进行带内注册时遇到了问题,遵循下面的SO线程:

XMPP transport to another protocol

问题归根结底是,当我运行以下代码时,我得到了new_register的NoMethodError异常错误:

代码语言:javascript
复制
require "xmpp4r"
require "xmpp4r/client" 
require "xmpp4r/iq"

def in_band_reg

     chat_name = 'testChatName'
     password  = 'pword'

     reg    = Jabber::Iq.new_register(chat_name, password)

end

NoMethodError Exception: undefined method `new_register' for Jabber::Iq:Class

在iq.rb文件的xmpp4r gem中,我可以看到new_register方法定义如下:

代码语言:javascript
复制
 def Iq.new_register(username=nil, password=nil)
        ...
 end

但是当我检查这个类的方法时,我看不到new_register方法。也就是说。

代码语言:javascript
复制
Jabber::Iq.singleton_methods(false)
["new_authset", "new_rosterget", "new_vcard", "new_rosterset", "import",    "new_authset_digest", "new_query", "add_elementclass", "new_browseget"]

Jabber::Iq.public_instance_methods(false)
 ["query=", "queryns", "set_type", "type", "typed_add", "type=", "query", "vcard"]

Jabber::Iq.respond_to?("new_register")
false

你知道为什么我不能访问'xmpp4r/iq‘中的new_register方法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-07 07:33:42

我只需自己编写代码就能让它工作起来。首先连接一个可以带内注册新用户的客户端:

代码语言:javascript
复制
jid = JID::new('admin@ejabberd.server.com/res')
client = Client::new(jid, false)
client.connect
client.auth("admin_password")

然后让该客户端通过发送带内消息来注册新用户

代码语言:javascript
复制
iqr = Iq.new(:set)
qr = IqQuery.new
qr.add_namespace('jabber:iq:register')
username = 'new_user'
password = 'new_user_password'
qr.add(REXML::Element.new('username').add_text(username))
qr.add(REXML::Element.new('password').add_text(password))
iqr.add(qr)
client.send iqr
票数 2
EN

Stack Overflow用户

发布于 2011-02-02 08:54:33

您使用的是什么版本的xmpp4r?你试过GitHub版本了吗?

代码语言:javascript
复制
gem sources -a http://gems.github.com (you only need to do this once!)
gem install ln-xmpp4r
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4866527

复制
相关文章

相似问题

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