Compare commits
1 Commits
master
...
ghetto_muc
Author | SHA1 | Date |
---|---|---|
nico | eaad51ad1a |
21
calls.py
21
calls.py
|
@ -60,6 +60,16 @@ class EjabberdApiCalls(EjabberdApi):
|
|||
|
||||
return None
|
||||
|
||||
# ghetto method until we have a better solution
|
||||
@staticmethod
|
||||
def _parse_muc_count(vhost, data: (list, dict)) -> int:
|
||||
tmp = 0
|
||||
|
||||
for el in list(map(lambda x: x.split(sep="@"), data)):
|
||||
if vhost in el[1]:
|
||||
tmp += 1
|
||||
return tmp
|
||||
|
||||
def fetch_onlineuser(self):
|
||||
tmp = self.cmd("connected_users_info", {})
|
||||
if "connected_users_info" not in tmp:
|
||||
|
@ -141,12 +151,13 @@ class EjabberdApiCalls(EjabberdApi):
|
|||
|
||||
def fetch_muc_count(self, vhost=None, muc_host="conference"):
|
||||
host = "global"
|
||||
if vhost is not None:
|
||||
if self.verstring.major >= 19:
|
||||
host = ".".join([muc_host, vhost])
|
||||
else:
|
||||
host = vhost
|
||||
result = self.cmd("muc_online_rooms", {"host": host})
|
||||
if vhost is not None:
|
||||
# if self.verstring.major >= 19:
|
||||
# host = ".".join([muc_host, vhost])
|
||||
# else:
|
||||
# host = vhost
|
||||
return self._parse_muc_count(vhost, result)
|
||||
if "rooms" in result:
|
||||
return len(result["rooms"])
|
||||
return len(result)
|
||||
|
|
Loading…
Reference in New Issue