MCPcopy Create free account
hub / github.com/DarkGuy10/BotClient / serializeMessage

Function serializeMessage

public/serializers/serializeMessage.js:10–82  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8 * @returns {Object}
9 */
10const serializeMessage = async message => {
11 const { type, author, member, stickers, embeds, mentions, guild } = message
12
13 let repliesTo = null
14 try {
15 if (type === MessageType.Reply) repliesTo = await message.fetchReference()
16 } catch (error) {
17 // Fix for #31
18 // Man... I want to put an easter bug here, but idk
19 }
20
21 return {
22 ...message,
23 author: {
24 ...author,
25 avatarURL: author.displayAvatarURL(),
26 isVerifiedBot: author.flags?.has(UserFlags.VerifiedBot),
27 },
28 member: member ? serializeGuildMember(member) : null,
29 isDM: message.channel.type === ChannelType.DM,
30 deletable: message.deletable,
31 embeds: embeds.map(embed => {
32 return {
33 ...embed.toJSON(),
34 hexColor: embed.hexColor,
35 }
36 }),
37 stickers: [
38 ...stickers
39 .map(sticker => {
40 return {
41 ...sticker,
42 url: sticker.url,
43 }
44 })
45 .values(),
46 ],
47 mentions: {
48 members: mentions.members
49 ? [
50 ...mentions.members.mapValues(member =>
51 serializeGuildMember(member)
52 ),
53 ]
54 : [],
55 users: [...mentions.users],
56 roles: [...mentions.roles],
57 everyone: mentions.everyone,
58 channels: [...mentions.channels],
59 me:
60 mentions.everyone ||
61 mentions.roles.find(
62 role =>
63 guild.me.roles.botRole?.id === role.id ||
64 guild.me.roles.cache.has(role.id)
65 ) ||
66 mentions.users.has(message.client.user.id),
67 },

Callers 2

electron.jsFile · 0.85
executeFunction · 0.85

Calls 2

serializeGuildMemberFunction · 0.85
hasMethod · 0.80

Tested by

no test coverage detected