Add subscription messages to sub tracker.
This commit is contained in:
@@ -263,6 +263,42 @@ class SubathonComponent(cmds.Component):
|
|||||||
# Check goals
|
# Check goals
|
||||||
await self.goalcheck(active, gift_payload.broadcaster)
|
await self.goalcheck(active, gift_payload.broadcaster)
|
||||||
|
|
||||||
|
@cmds.Component.listener()
|
||||||
|
async def event_safe_subscription_message(self, payload):
|
||||||
|
event_row, detail_row, sub_payload = payload
|
||||||
|
|
||||||
|
if (active := await self.get_active_subathon(event_row['communityid'])) is not None:
|
||||||
|
data = active.subathondata
|
||||||
|
# In an active subathon
|
||||||
|
pid = event_row['profileid']
|
||||||
|
tier = int(sub_payload.tier)
|
||||||
|
|
||||||
|
if tier == 1000:
|
||||||
|
mult = data.sub1_score
|
||||||
|
elif tier == 2000:
|
||||||
|
mult = data.sub2_score
|
||||||
|
elif tier == 3000:
|
||||||
|
mult = data.sub3_score
|
||||||
|
else:
|
||||||
|
raise ValueError(f"Unknown sub tier {sub_payload.tier}")
|
||||||
|
|
||||||
|
score = mult * 1
|
||||||
|
|
||||||
|
await active.add_contribution(pid, score, event_row['event_id'])
|
||||||
|
|
||||||
|
# Send message to channel
|
||||||
|
added_min = int(active.get_score_time(score) // 60)
|
||||||
|
added = f"{added_min} minutes"
|
||||||
|
name = sub_payload.user.name
|
||||||
|
pl = 's' if score > 1 else ''
|
||||||
|
await sub_payload.broadcaster.send_message(
|
||||||
|
f"{name} contributed {score} sub{pl} and added {added} to the timer! Thank you <3",
|
||||||
|
sender=self.bot.bot_id
|
||||||
|
)
|
||||||
|
await self.channel.send_updates()
|
||||||
|
# Check goals
|
||||||
|
await self.goalcheck(active, sub_payload.broadcaster)
|
||||||
|
|
||||||
# end stream => Automatically pause the timer
|
# end stream => Automatically pause the timer
|
||||||
@cmds.Component.listener()
|
@cmds.Component.listener()
|
||||||
async def event_stream_offline(self, payload: twitchio.StreamOffline):
|
async def event_stream_offline(self, payload: twitchio.StreamOffline):
|
||||||
|
|||||||
@@ -316,6 +316,7 @@ class TrackerComponent(cmds.Component):
|
|||||||
streak_months=payload.streak_months,
|
streak_months=payload.streak_months,
|
||||||
message=payload.text,
|
message=payload.text,
|
||||||
)
|
)
|
||||||
|
self.bot.safe_dispatch('subscription_message', payload=(event_row, detail_row, payload))
|
||||||
|
|
||||||
@cmds.Component.listener()
|
@cmds.Component.listener()
|
||||||
async def event_stream_online(self, payload: twitchio.StreamOnline):
|
async def event_stream_online(self, payload: twitchio.StreamOnline):
|
||||||
|
|||||||
Reference in New Issue
Block a user