【发布时间】:2012-09-16 07:59:38
【问题描述】:
我已经有一个非常简单的网站,流量相当大。
所以我决定添加一个网络聊天,让我的用户在他们的友谊中聊天。 我决定使用ejabberd 来完成这个任务。 问题是:我已经有 2 个表(用户 [uid,昵称,pass] 和关系 [rid,uid,uid2]。 我如何告诉 ejabber 使用这些表中的数据? 我可以找到任何模块(例如 auth 的模块)来编辑和适应我的目的吗?
编辑
如果我不想使用 rosterusers 表,而是直接使用我的 elationships[rid, uid, uid2],你对我应该改变什么有什么建议吗?
1)首先,在odbc_queries里面,把get_roster函数里面的query给
"select uid, uid2 from relationships "
"where uid ='", Username, "'"]).
2) mod_roster_dbc 函数 get_roster 中的“元组列检查器”
3) 然后函数 raw_to_record 类似于
raw_to_record(LServer, {Uid,Uid2}) ->
case jlib:make_jid(Uid2, LServer, "") of
error ->
error;
JID ->
LJID = jlib:jid_tolower(JID),
Subscription = both,
Ask = both,
end,
#roster{usj = {Uid, LServer, LJID},
us = {Uid, LServer},
jid = LJID,
name = "",
subscription = Subscription,
ask = Ask,
askmessage = ""}
end.
然后呢?
【问题讨论】:
标签: erlang xmpp ejabberd rostering