smnmpp-server/protocol/dm.js

16 lines
855 B
JavaScript

module.exports.run = async (ws,user,db,msg,fun,users,connections) => {
if (typeof msg.message !== "string") return;
if (!user.channel) return;
if (!user.connected) return
if (!users[user._id].chatbypass && !user.quotas.chat.try()) return;
if (!msg._id) return
if (!channels[user.channel].ppl.find(a => a._id === msg._id)) return
Object.values(connections).filter(f => f.user.channel === user.channel && (f.user._id === user._id || f.user._id === msg._id)).forEach(f => f.sendData({m: "dm", a: msg.message.substr(0,1023), sender: users[user._id].p, recipient: users[msg._id].p, t: Date.now()}))
chat[user.channel].push({m: "dm", a: msg.message.substr(0,1023), sender: users[user._id].p,recipient: users[msg._id].p , t: Date.now()})
if (chat[user.channel].length > 32) chat[user.channel].splice(0,1)
user.quotas.chat.spend(1)
}
module.exports.name = "dm"