Add guild info to data
This commit is contained in:
parent
19b69dc548
commit
1f13dffd54
4 changed files with 3266 additions and 7 deletions
|
|
@ -6,9 +6,12 @@ from enum import Enum
|
|||
|
||||
DISCORD_TOKEN = os.getenv("DISCORD_TOKEN")
|
||||
PB_TOKEN = os.getenv("PB_TOKEN")
|
||||
PB_URL = os.getenv("PB_TOKEN")
|
||||
PB_COLLECTION = os.getenv("PB_TOKEN")
|
||||
|
||||
if DISCORD_TOKEN is None or PB_TOKEN is None:
|
||||
print("Missing Token")
|
||||
for env in [DISCORD_TOKEN, PB_TOKEN, PB_URL, PB_COLLECTION]:
|
||||
if env is None:
|
||||
print("Missing env var")
|
||||
quit()
|
||||
|
||||
|
||||
|
|
@ -45,11 +48,13 @@ class Member:
|
|||
class Data:
|
||||
member: dict
|
||||
channel: dict
|
||||
guild: dict
|
||||
event: str
|
||||
|
||||
def __init__(self, member: dict, channel: dict, event: Events) -> None:
|
||||
def __init__(self, member: dict, channel: dict, guild: dict, event: Events) -> None:
|
||||
self.member = member
|
||||
self.channel = channel
|
||||
self.guild = guild
|
||||
self.event = event.value
|
||||
|
||||
|
||||
|
|
@ -70,6 +75,7 @@ async def on_voice_state_update(
|
|||
):
|
||||
member = {"id": user.id, "name": user.name.capitalize(), "avatar": user.avatar.url}
|
||||
channel = {}
|
||||
guild = {}
|
||||
event = None
|
||||
# User didn't connect or disconnect
|
||||
if before.channel is not None and after.channel is not None:
|
||||
|
|
@ -78,6 +84,11 @@ async def on_voice_state_update(
|
|||
if before.channel.id is not after.channel.id:
|
||||
event = Events("move")
|
||||
channel = {"id": after.channel.id, "name": after.channel.name}
|
||||
guild = {
|
||||
"id": after.channel.guild.id,
|
||||
"name": after.channel.guild.name,
|
||||
"icon": after.channel.guild.icon.url,
|
||||
}
|
||||
# User didn't move
|
||||
elif before.channel == after.channel:
|
||||
# User undeafen
|
||||
|
|
@ -93,18 +104,33 @@ async def on_voice_state_update(
|
|||
elif not before.self_mute and after.self_mute:
|
||||
event = Events("mute")
|
||||
channel = {"id": after.channel.id, "name": after.channel.name}
|
||||
guild = {
|
||||
"id": after.channel.guild.id,
|
||||
"name": after.channel.guild.name,
|
||||
"icon": after.channel.guild.icon.url,
|
||||
}
|
||||
# User connected or disconnected
|
||||
elif not before.channel or not after.channel:
|
||||
# User disconnected
|
||||
if before.channel and not after.channel:
|
||||
event = Events("leave")
|
||||
channel = {"id": before.channel.id, "name": before.channel.name}
|
||||
guild = {
|
||||
"id": before.channel.guild.id,
|
||||
"name": before.channel.guild.name,
|
||||
"icon": before.channel.guild.icon.url,
|
||||
}
|
||||
# User connected
|
||||
elif not before.channel and after.channel:
|
||||
event = Events("join")
|
||||
channel = {"id": after.channel.id, "name": after.channel.name}
|
||||
guild = {
|
||||
"id": after.channel.guild.id,
|
||||
"name": after.channel.guild.name,
|
||||
"icon": after.channel.guild.icon.url,
|
||||
}
|
||||
if channel and event:
|
||||
data = Data(member, channel, event)
|
||||
data = Data(member, channel, guild, event)
|
||||
r = requests.post(
|
||||
f"https://{PB_URL}/api/collections/{PB_COLLECTION}/records",
|
||||
json=data.__dict__,
|
||||
|
|
|
|||
|
|
@ -14,5 +14,4 @@
|
|||
containers."bot".startupCommand = config.processes.bot.exec;
|
||||
containers."bot".registry = "docker://git.m3.fyi/metrik/";
|
||||
containers."bot".enableLayerDeduplication = true;
|
||||
#containers."processes".copyToRoot = null;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,6 @@
|
|||
|
||||
{
|
||||
languages.javascript.enable = true;
|
||||
languages.javascript.npm.enable = true;
|
||||
languages.javascript.pnpm.enable = true;
|
||||
languages.typescript.enable = true;
|
||||
}
|
||||
|
|
|
|||
3234
src/frontend/pnpm-lock.yaml
generated
Normal file
3234
src/frontend/pnpm-lock.yaml
generated
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue