UNPKG

twitch2ma

Version:

Twitch chat bot that runs commands on the MA GrandMA2 using Telnet.

37 lines (29 loc) 1.29 kB
import {PermissionCollector, PermissionInstance} from "../PermissionController"; import {RuntimeInformation} from "../RuntimeInformation"; import humanizeDuration = require("humanize-duration"); import _ = require("lodash"); import {Config} from "../Config"; export default class CooldownPermission implements PermissionInstance { check(permissionCollector: PermissionCollector, runtimeInformation: RuntimeInformation, additionalRuntimeInformation: Map<String, any>): void { let lastCall = additionalRuntimeInformation.get("lastCall"); if (_.isInteger(lastCall)) { let cooldownTimer = lastCall + runtimeInformation.config.timeout * 1000 - new Date().getTime(); if (cooldownTimer > 0) { let differenceString = humanizeDuration(cooldownTimer + (1000 - cooldownTimer % 1000)); permissionCollector.denyPermission("cooldown", `@${runtimeInformation.userName}, please wait ${differenceString} and try again!`); } } } start(): Promise<void> { return Promise.resolve(); } stop(): Promise<void> { return Promise.resolve(); } reloadConfig(config: Config): Promise<void> { return Promise.resolve(); } }