Removed Channel Toggle Command (#115)

* Remove: channel-toggle as command and server config

* Remove: Thread interface

* Fix: Users Thread files will now delete

* Fix: Any user can chat in threads now

* Fix: Thread history files are now deleted with multiple users

* Update: version increment
This commit is contained in:
Kevin Dang
2024-09-14 13:34:40 -07:00
committed by GitHub
parent b49b464afb
commit 36a0cd309b
12 changed files with 86 additions and 182 deletions

View File

@@ -5,16 +5,36 @@ import fs from 'fs'
/**
* Event to remove the associated .json file for a thread once deleted
*/
export default event(Events.ThreadDelete, ({ log }, thread: ThreadChannel) => {
const filePath = `data/${thread.id}.json`
if (fs.existsSync(filePath)) {
fs.unlink(filePath, (error) => {
if (error)
log(`Error deleting file ${filePath}`, error)
else
log(`Successfully deleted ${filePath} thread info`)
export default event(Events.ThreadDelete, async ({ log }, thread: ThreadChannel) => {
// iterate through every guild member in the thread and delete their history, except the bot
try {
log(`Number of User Guild Members in Thread being deleted: ${thread.memberCount!! - 1}`)
const dirPath = 'data/'
// read all files in data/
fs.readdir(dirPath, (error, files) => {
if (error) {
log(`Error reading directory ${dirPath}`, error)
return
}
// filter files by thread id being deleted
const filesToDiscard = files.filter(
file => file.startsWith(`${thread.id}-`) &&
file.endsWith('.json'))
// remove files by unlinking
filesToDiscard.forEach(file => {
const filePath = dirPath + file
fs.unlink(filePath, error => {
if (error)
log(`Error deleting file ${filePath}`, error)
else
log(`Successfully deleted ${filePath} thread information`)
})
})
})
} else {
log(`File ${filePath} does not exist.`)
}
} catch (error) {
log(`Issue deleting user history files from ${thread.id}`)
}
})