Skip to content

artegoser/simple-chat-storage

Repository files navigation

simple-chat-storage

Chat storage for node

NPM

npm npm Coverage Status NPM

📚Documentation 📕Bugs

Installation

npm i simple-chat-storage
or
yarn add simple-chat-storage

Most usefull features (There is both a JSON storage and a sqlite storage)

addmessage(user, message, time(optional)) - adds message to chat
erase() - erases the storage
deletemessage(index) - deletes the message by index(storage.messages[index])

Most usefull features (sqlite)

new SqliteChatStorage(name, dbpath, length)

Name Type Default Description
name string name of table in sqlite database
dbpath string chat.db path to sqlite database
length integer/false false number of stored messages

prepare() - Preparing and initializing the table and returnings a promise
deletemessage(id) - deletes the message by id
replacemessage(id, message) - replaces the message by id
delete(where) - SQL deleter
select(what, where(optional)).then((row)=>{}).catch((err)=>{}) - SQL selector
getBdId(index) - returns id of message from index (storage.messages[index].id)

Example

const chat = require("simple-chat-storage").sqlite;
const test = new chat("test", "chat.db", 30);
test.prepare().then(()=>{
	test.addmessage("Dr. Who", "Fez!").then(()=>{
		console.log(test.messages[0]);
		test.replacemessage(test.getBdId(0), "Hooray, I can edit messages.")
		.then(()=>{
			console.log(test.messages[0]);
		});
	});
});

Most usefull features (JSON)

Faster than sqlite, but does not have SQL functions

new JsonChatStorage(name, length, dir)

Name Type Default Description
name string name of JSON storage
length integer/false false number of stored messages
dir string ./chats folder for storing all json storages
meta Object/none metadata for JSON storage

deletelastmessage(user) - Deletes a last message of user

Example

let chat = require("simple-chat-storage").JSON;
let test = new chat("test");
test.addmessage("Dr. Who", "Fez!");
console.log(test.messages);

Coverage

File % Stmts % Branch % Funcs % Lines Uncovered Line #s
All files 93.33 82.35 93.33 94.05
index.js 93.33 82.35 93.33 94.05 75-76,242-244

About

Chat storage for node

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published