From fdddb33f32e0b6b85628a8d90813eea53f312721 Mon Sep 17 00:00:00 2001 From: jesopo Date: Thu, 4 Oct 2018 17:10:15 +0100 Subject: [PATCH] Added api.channels handler --- modules/stats.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/modules/stats.py b/modules/stats.py index f9a35d13..bb44cf14 100644 --- a/modules/stats.py +++ b/modules/stats.py @@ -47,3 +47,27 @@ class Module(ModuleManager.BaseModule): def stats_api(self, event): networks, channels, users = self._stats() return {"networks": networks, "channels": channels, "users": users} + + @utils.hook("api.channels") + def channels_api(self, event): + print(event["path"]) + if "server-id" in event["params"]: + server_id = event["params"]["server-id"][0] + if not server_id.isdigit(): + return None + server_id = int(server_id) + + server = self.bot.get_server(server_id) + if not server: + return None + channels = {} + for channel in server.channels.values(): + channels[channel.name] = len(channel.users) + return channels + else: + channels = {} + for server in self.bot.servers.values(): + channels[server.id] = {} + for channel in server.channels.values(): + channels[server.id][str(channel)] = len(channel.users) + return channels