add alpha-level revive and superrevive code

This commit is contained in:
2025-04-13 00:34:42 +02:00
parent 21c0c5db43
commit c2fac183cd
7 changed files with 111 additions and 8 deletions

73
src/items/revives.ts Normal file
View File

@@ -0,0 +1,73 @@
import { HelixUser } from "@twurple/api"
import api from "../lib/api"
import { changeItemCount } from "../lib/items"
import { reviveTarget } from "../lib/timeoutHelper"
import { addUsedItem, updateInventory } from "../lib/userHelper"
export const revive = {
name: 'revive',
prettyname: 'Revive',
aliases: ['revive', 'heal'],
plural: 's',
description: "",
execute: async (user: HelixUser, say: (arg0: string) => Promise<void>, broadcasterId: string, targetname: string) => {
const target = await api.users.getUserByName(targetname)
const itemResult = await changeItemCount(user, 'revive')
if (!itemResult.result) { await say('You have no revives!'); return }
const reviveResult = await reviveTarget(broadcasterId, target, 30)
if (reviveResult.status) { await updateInventory(user, itemResult.inv!); await addUsedItem(target!, 'revive') }
switch (reviveResult.reason) {
case 'noexist':
await say(`${targetname} does not exist`)
break
case 'notbanned':
await say(`${targetname} doesn't need revives`)
break
case 'unknown':
await say("Something went wrong!")
break
case 'healed':
await say(`${targetname} got healed for 30 seconds by ${user.name}`)
break
case 'revived':
await say(`${targetname} got revived by ${user.name}`)
break
}
}
}
export const superrevive = {
name: 'superrevive',
prettyname: 'Super Revive',
aliases: ['superrevive', 'superheal'],
plural: 's',
description: "",
execute: async (user: HelixUser, say: (arg0: string) => Promise<void>, broadcasterId: string, targetname: string) => {
const target = await api.users.getUserByName(targetname)
const itemResult = await changeItemCount(user, 'superrevive')
if (!itemResult.result) { await say('You have no revives!'); return }
const reviveResult = await reviveTarget(broadcasterId, target, 60 * 60 * 12)
if (reviveResult.status) { await updateInventory(user, itemResult.inv!); await addUsedItem(target!, 'superrevive') }
switch (reviveResult.reason) {
case 'noexist':
await say(`${targetname} does not exist`)
break
case 'notbanned':
await say(`${targetname} doesn't need revives`)
break
case 'unknown':
await say("Something went wrong!")
break
case 'healed':
await say(`${targetname} got healed for 12 hours by ${user.name}`)
break
case 'revived':
await say(`${targetname} got revived by ${user.name}`)
break
}
}
}