Files
tg-chat-bot/base/db.ts
T
2021-03-04 03:33:54 +03:00

112 lines
2.3 KiB
TypeScript

import * as fs from "fs";
import {arrayRemove, IS_DEBUG, setTestAnswers} from "./base";
export let adminsList: number[] = []
export let chatsList = []
export let usersList = []
export let notesList = []
export let mutedList: number[] = []
let jsonFile
export function setAdmins(admins: number[]) {
adminsList = admins
}
export function setChats(chats: any[]) {
chatsList = chats
}
export function setUsers(users: any[]) {
usersList = users
}
export function setNotes(notes: any[]) {
notesList = notes
}
export function setMuted(newMuted: number[]) {
mutedList = newMuted
}
export function addMute(id: number) {
const index = searchMuted(id)
if (index >= 0) return false
mutedList.push(id)
saveData()
return true
}
export function removeMute(id: number) {
const index = searchMuted(id)
if (index >= 0) {
setMuted(arrayRemove(mutedList, mutedList[index]))
saveData()
return true
}
return false
}
export function searchMuted(id: number) {
for (let i = 0; i < mutedList.length; i++) {
if (mutedList[i] == id) return i
}
return -1
}
export function readData() {
try {
// @ts-ignore
jsonFile = JSON.parse(fs.readFileSync(IS_DEBUG ? 'debug_data.json' : 'data.json'))
adminsList = jsonFile.admins
chatsList = jsonFile.chats
usersList = jsonFile.users
notesList = jsonFile.notes
mutedList = jsonFile.muted
return 'success'
} catch (e) {
console.error(e)
return e.toString()
}
}
export function saveData() {
jsonFile.admins = adminsList
jsonFile.chats = chatsList
jsonFile.users = usersList
jsonFile.notes = notesList
jsonFile.muted = mutedList
fs.writeFileSync(IS_DEBUG ? 'debug_data.json' : 'data.json', JSON.stringify(jsonFile))
readData()
return 'success'
}
export function retrieveAnswers() {
try {
// @ts-ignore
const json = JSON.parse(fs.readFileSync('answers.json'))
setTestAnswers(json.test)
return 'success'
} catch (e) {
console.error(e)
return e.toString()
}
// fetch(answersUrl, {method: "Get"})
// .then(r => {
// const json = r.json()
// testAnswers = json.test
// console.log('success retrieved answers')
// })
}