1 | import { partial } from '../util'
|
2 | import { unescape } from 'plug-message-split'
|
3 | import makeProto from '../wrap'
|
4 |
|
5 | export 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 | }
|