Add stream online logging.

This commit is contained in:
2025-07-27 18:51:10 +10:00
parent ab0c827f19
commit 84385d1c71

View File

@@ -314,6 +314,26 @@ class TrackerComponent(cmds.Component):
message=payload.text,
)
@cmds.Component.listener()
async def event_stream_online(self, payload: twitchio.StreamOnline):
tracked = await TrackingChannel.fetch(payload.broadcaster.id)
if tracked and tracked.joined:
community = await Communities.fetch_or_create(twitchid=payload.broadcaster.id, name=payload.broadcaster.name)
cid = community.communityid
event_row = await self.data.events.insert(
event_type='stream_online',
communityid=cid,
channel_id=payload.broadcaster.id,
occurred_at=payload.started_at,
)
detail_row = await self.data.stream_online_events.insert(
event_id=event_row['event_id'],
stream_id=payload.id,
stream_type=payload.type,
)
# ----- Commands -----
@cmds.command(name='starttracking')
async def cmd_starttracking(self, ctx: cmds.Context):