UNPKG

793 BJavaScriptView Raw
1import { partial } from '../util'
2import { unescape } from 'plug-message-split'
3import makeProto from '../wrap'
4
5export default function wrapMessage (mp, message) {
6 if (message.un) {
7 message.un = unescape(message.un)
8 }
9
10 message.id = message.cid
11 message.message = unescape(message.message)
12 message.user = mp.user(message.uid) ||
13 mp.wrapUser({ id: message.uid, username: message.un })
14
15 return makeProto(message, {
16 own: () => mp.me().id === message.uid,
17
18 chat: mp.chat,
19 reply: partial(mp.chat, `@${message.un}`),
20 emote: partial(mp.chat, `/me @${message.un}`),
21
22 delete: partial(mp.deleteChat, message.cid),
23
24 getUser () {
25 const user = mp.user && mp.user(message.uid)
26 return user ? Promise.resolve(user) : mp.getUser(message.uid)
27 }
28 })
29}