mirror of
https://github.com/uhIgnacio/EmoteManager.git
synced 2024-08-15 02:23:13 +00:00
add member count metrics
This commit is contained in:
parent
f9d272fee2
commit
553267d9d8
2 changed files with 21 additions and 0 deletions
15
bot.py
15
bot.py
|
@ -58,6 +58,8 @@ class Bot(Bot):
|
||||||
utils.SUCCESS_EMOJIS = utils.misc.SUCCESS_EMOJIS = (
|
utils.SUCCESS_EMOJIS = utils.misc.SUCCESS_EMOJIS = (
|
||||||
self.config.get('response_emojis', {}).get('success', default))
|
self.config.get('response_emojis', {}).get('success', default))
|
||||||
|
|
||||||
|
# Metrics
|
||||||
|
|
||||||
async def on_command(self, ctx):
|
async def on_command(self, ctx):
|
||||||
user_id_md5 = hashlib.md5(ctx.author.id.to_bytes(8, byteorder='big'), usedforsecurity=False).digest()
|
user_id_md5 = hashlib.md5(ctx.author.id.to_bytes(8, byteorder='big'), usedforsecurity=False).digest()
|
||||||
await self.pool.execute(
|
await self.pool.execute(
|
||||||
|
@ -65,6 +67,19 @@ class Bot(Bot):
|
||||||
ctx.guild.id, user_id_md5, ctx.command.qualified_name,
|
ctx.guild.id, user_id_md5, ctx.command.qualified_name,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# we use on_shard_ready rather than on_ready because the latter is a bit less reliable
|
||||||
|
async def on_shard_ready(self, shard_id):
|
||||||
|
member_count = sum(guild.member_count for guild in self.guilds if guild.shard_id == shard_id)
|
||||||
|
await self.pool.execute(
|
||||||
|
"""
|
||||||
|
INSERT INTO shard_member_counts (shard_id, member_count)
|
||||||
|
VALUES ($1, $2)
|
||||||
|
ON CONFLICT (shard_id) DO UPDATE
|
||||||
|
SET member_count = EXCLUDED.member_count
|
||||||
|
""",
|
||||||
|
shard_id, member_count,
|
||||||
|
)
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
|
|
@ -11,3 +11,9 @@ CREATE TABLE invokes (
|
||||||
);
|
);
|
||||||
|
|
||||||
CREATE INDEX invokes_invoked_at_idx ON invokes (invoked_at);
|
CREATE INDEX invokes_invoked_at_idx ON invokes (invoked_at);
|
||||||
|
|
||||||
|
CREATE TABLE shard_member_counts (
|
||||||
|
shard_id INT2 PRIMARY KEY,
|
||||||
|
-- sum(guild.member_count for guild in shard)
|
||||||
|
member_count INT4 NOT NULL
|
||||||
|
);
|
||||||
|
|
Loading…
Reference in a new issue