mirror of
https://github.com/qwerinope/qweribot.git
synced 2025-12-19 08:41:39 +01:00
blaster is now working
This commit is contained in:
@@ -15,7 +15,7 @@ function getTimeDifference(date1: number , date2: number) {
|
|||||||
|
|
||||||
export default createBotCommand('getloot', async (_params, { reply, userId/*, broadcasterId*/ }) => {
|
export default createBotCommand('getloot', async (_params, { reply, userId/*, broadcasterId*/ }) => {
|
||||||
const user = await api.users.getUserById(userId)
|
const user = await api.users.getUserById(userId)
|
||||||
// if (!user?.isSubscribedTo(broadcasterId)) {await reply('Subscribe to receive loot mandoooSmile'); return}
|
// if (!user?.isSubscribedTo(broadcasterId)) {await reply('Subscribe to get loot mandoooSmile'); return}
|
||||||
const data = await lootboxReady(user)
|
const data = await lootboxReady(user)
|
||||||
if (!data.result) {
|
if (!data.result) {
|
||||||
const { days, hours, minutes, seconds } = getTimeDifference(data.lastlootbox, Date.now() - 1000 * 60 * 60 * 24 * 30)
|
const { days, hours, minutes, seconds } = getTimeDifference(data.lastlootbox, Date.now() - 1000 * 60 * 60 * 24 * 30)
|
||||||
|
|||||||
@@ -6,5 +6,6 @@ import stats from "./stats";
|
|||||||
import mbucks from "./mbucks";
|
import mbucks from "./mbucks";
|
||||||
import getloot from "./getloot";
|
import getloot from "./getloot";
|
||||||
import modme from "./modme";
|
import modme from "./modme";
|
||||||
|
import use from "./use";
|
||||||
|
|
||||||
export default [timeout, thank, give, inventory, stats, mbucks, getloot, modme]
|
export default [timeout, thank, give, inventory, stats, mbucks, getloot, modme, use]
|
||||||
|
|||||||
18
src/commands/use.ts
Normal file
18
src/commands/use.ts
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
import { createBotCommand } from "@twurple/easy-bot";
|
||||||
|
import { useBlaster } from "../lib/items";
|
||||||
|
import api from "../lib/api";
|
||||||
|
|
||||||
|
export default createBotCommand('use', async (params, { say, broadcasterId, userId }) => {
|
||||||
|
const user = await api.users.getUserById(userId)
|
||||||
|
|
||||||
|
if (params[0] === undefined) return
|
||||||
|
|
||||||
|
switch(params[0].toLowerCase()) {
|
||||||
|
case 'blaster':
|
||||||
|
if (params[1] === undefined) return
|
||||||
|
await useBlaster(broadcasterId, user!, params[1], say)
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
await say(`${params[0]} does not exist mandoooYikes`)
|
||||||
|
}
|
||||||
|
})
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
import { HelixUser } from "@twurple/api"
|
import { HelixUser } from "@twurple/api"
|
||||||
import { getInventory, updateInventory } from "../lib/userHelper"
|
import { getInventory, updateInventory, changeBalance } from "../lib/userHelper"
|
||||||
|
import { timeout, addTimeoutToDB } from "./timeoutHelper"
|
||||||
|
import api from "./api"
|
||||||
|
|
||||||
const ITEMS = ['blaster', 'silverbullet', 'grenade', 'tnt', 'watergun', 'clipboard', 'lootbox']
|
export const ITEMS = ['blaster', 'silverbullet', 'grenade', 'tnt', 'watergun', 'clipboard', 'lootbox']
|
||||||
|
|
||||||
interface itemChangeResult {
|
interface itemChangeResult {
|
||||||
result: boolean,
|
result: boolean,
|
||||||
@@ -22,3 +24,27 @@ export async function changeItemCount(user: HelixUser, item: string, amount = -1
|
|||||||
await updateInventory(user, inv)
|
await updateInventory(user, inv)
|
||||||
return { result: true, reason: '', count: inv[item] }
|
return { result: true, reason: '', count: inv[item] }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function useBlaster(broadcasterId: string, attacker: HelixUser, targetname: string, say: (arg0: string) => Promise<void>) {
|
||||||
|
const target = await api.users.getUserByName(targetname)
|
||||||
|
|
||||||
|
const result = await timeout(broadcasterId, target!, 60, `You got blasted by ${attacker.name}`)
|
||||||
|
if (result.status) {
|
||||||
|
const itemResult = await changeItemCount(attacker, 'blaster')
|
||||||
|
await say(`${targetname} got mandoooGun by ${attacker.name}! mandoooGOTTEM ${attacker.name} has ${itemResult.count} blaster${itemResult.count === 1 ? '' : 's'} remaining`)
|
||||||
|
await addTimeoutToDB(attacker, target!, 'blaster')
|
||||||
|
} else {
|
||||||
|
switch (result.reason) {
|
||||||
|
case 'noexist':
|
||||||
|
await say(`${targetname} doesn't exist!`)
|
||||||
|
break
|
||||||
|
case 'banned':
|
||||||
|
await say(`${targetname} is already dead!`)
|
||||||
|
break
|
||||||
|
case 'unknown':
|
||||||
|
await say(`NO!`)
|
||||||
|
await timeout(broadcasterId, attacker, 60, "NO!")
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user