16 lines
855 B
JavaScript
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"
|