mirror of
https://gitlab.com/qwerinope/qweribot.git
synced 2026-02-04 13:56:57 +01:00
add alpha-level revive and superrevive code
This commit is contained in:
73
src/items/revives.ts
Normal file
73
src/items/revives.ts
Normal 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
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user