quit event, join event now fires only once in a while for the same player
This commit is contained in:
62
database.js
62
database.js
@ -1,4 +1,5 @@
|
||||
import sqlite from 'sqlite3'
|
||||
import { currentTime } from './utility'
|
||||
|
||||
const db = new sqlite.Database('bot.db')
|
||||
db.run(
|
||||
@ -7,26 +8,45 @@ db.run(
|
||||
UNIQUE(chatId)
|
||||
)`)
|
||||
|
||||
export const saveChat = id => {
|
||||
return new Promise((resolve, reject) => {
|
||||
db.run(`INSERT OR IGNORE INTO chats (chatId) VALUES (?)`, [ id ], (err) => {
|
||||
if (err) {
|
||||
reject(err)
|
||||
} else {
|
||||
resolve({ id })
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
db.run(
|
||||
`CREATE TABLE IF NOT EXISTS logouts (
|
||||
displayName INTEGER,
|
||||
lastLogoutTime DATETIME,
|
||||
UNIQUE(displayName)
|
||||
)`)
|
||||
|
||||
export const getChats = () => {
|
||||
return new Promise((resolve, reject) => {
|
||||
db.all('SELECT * FROM chats', [], (err, rows) => {
|
||||
if (err) {
|
||||
reject(err)
|
||||
} else {
|
||||
resolve(rows)
|
||||
}
|
||||
})
|
||||
const run = (sql, params) => new Promise((resolve, reject) => {
|
||||
db.run(sql, params, (err) => {
|
||||
if (err) {
|
||||
reject(err)
|
||||
} else {
|
||||
resolve()
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
export const saveChat = id => run(`INSERT OR IGNORE INTO chats (chatId) VALUES (?)`, [ id ])
|
||||
export const getChats = () => new Promise((resolve, reject) => {
|
||||
db.all('SELECT * FROM chats', [], (err, rows) => {
|
||||
if (err) {
|
||||
reject(err)
|
||||
} else {
|
||||
resolve(rows)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
export const saveLogout = displayName => run(
|
||||
`INSERT OR REPLACE INTO logouts (displayName, lastLogoutTime) VALUES (?, ?)`,
|
||||
[ displayName, currentTime() ]
|
||||
)
|
||||
export const getLastLogoutTime = displayName => new Promise((resolve, reject) => {
|
||||
db.get(`SELECT lastLogoutTime FROM logouts WHERE displayName = ?`, [ displayName ], (err, row) => {
|
||||
if (err) {
|
||||
reject(err)
|
||||
} else {
|
||||
console.log({ row })
|
||||
resolve(row ? row.lastLogoutTime : null)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
Reference in New Issue
Block a user