import { eventSub } from "index";
import { sendMessage } from "lib/commandUtils";
import { redis } from "lib/redis";
import { streamerId } from "main";
import { sendDiscordMessage } from "web/discordConnection";

eventSub.onStreamOnline(streamerId, async (msg) => {
	await Promise.all([
		redis.set("streamIsLive", "1"),
		sendMessage(
			`${msg.broadcasterDisplayName.toUpperCase()} IS LIVE! START DIGGING!`,
		),
		sendDiscordMessage({ message: "live" }),
		redis
			.keys("user:*:haschattedthisstream")
			.then((a) => a.map(async (b) => await redis.del(b))),
	]);
});

eventSub.onStreamOffline(streamerId, async (msg) => {
	await Promise.all([
		redis.del("streamIsLive"),
		sendMessage(
			`${msg.broadcasterDisplayName.toUpperCase()} IS OFFLINE! NO MORE FREE LOOT!`,
		),
	]);
});
