diff options
| author | 2018-10-04 17:10:15 +0100 | |
|---|---|---|
| committer | 2018-10-04 17:10:15 +0100 | |
| commit | fdddb33f32e0b6b85628a8d90813eea53f312721 (patch) | |
| tree | 12c8674e7c253f0815ca05aa9d1cc36cdb9b6982 /modules/stats.py | |
| parent | Timeout REST API requests after 10 seconds (diff) | |
| signature | ||
Added api.channels handler
Diffstat (limited to 'modules/stats.py')
| -rw-r--r-- | modules/stats.py | 24 |
1 files changed, 24 insertions, 0 deletions
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 |
