Skip to content

Commit b34d11f

Browse files
committed
silly debugging
1 parent ce981b1 commit b34d11f

File tree

1 file changed

+121
-124
lines changed

1 file changed

+121
-124
lines changed

app/services/gamebridge/GameBridge.ts

Lines changed: 121 additions & 124 deletions
Original file line numberDiff line numberDiff line change
@@ -125,108 +125,109 @@ export default class GameBridge extends Service {
125125
.catch();
126126

127127
con.on("ReceiveSessionUpdate", async (session: ResoniteSession) => {
128-
const server = this.servers[id];
129-
if (!server) return;
130-
if (session.hostUserId === resonite.UserID) {
131-
const discord = server.discord;
132-
if (discord.ready) {
133-
const guild = discord.guilds.cache.get(discord.config.bot.primaryGuildId);
134-
if (!guild) return;
135-
const channel = guild.channels.cache.get(
136-
config.serverInfoChannelId
137-
) as Discord.TextChannel;
138-
if (!channel) return;
139-
140-
const count = session.activeUsers;
141-
142-
const presence: Discord.PresenceData =
143-
count > 0
144-
? {
145-
status: "online",
146-
activities: [
147-
{
148-
name: `${count} player${count !== 1 ? "s" : ""}`,
149-
type: 3,
150-
},
151-
],
152-
}
153-
: {
154-
status: "idle",
155-
afk: true,
156-
activities: [],
128+
try {
129+
const server = this.servers[id];
130+
if (!server) throw new Error("Server not found");
131+
if (session.hostUserId === resonite.UserID) {
132+
const discord = server.discord;
133+
if (discord.ready) {
134+
const guild = discord.guilds.cache.get(discord.config.bot.primaryGuildId);
135+
if (!guild) throw new Error("Guild not found");
136+
137+
const channel = guild.channels.cache.get(
138+
config.serverInfoChannelId
139+
) as Discord.TextChannel;
140+
if (!channel) throw new Error("Channel not found");
141+
142+
const count = session.activeUsers;
143+
144+
const presence: Discord.PresenceData =
145+
count > 0
146+
? {
147+
status: "online",
148+
activities: [
149+
{
150+
name: `${count} player${count !== 1 ? "s" : ""}`,
151+
type: 3,
152+
},
153+
],
154+
}
155+
: {
156+
status: "idle",
157+
afk: true,
158+
activities: [],
159+
};
160+
161+
discord.user?.setPresence(presence);
162+
163+
const mapThumbnail = session.thumbnailUrl;
164+
server.changeBanner(mapThumbnail);
165+
server.status.mapThumbnail = mapThumbnail;
166+
167+
server.status.players = session.sessionUsers
168+
.filter(u => u.userID !== resonite.UserID)
169+
.map(sessionUser => {
170+
return {
171+
nick: sessionUser.username,
172+
isAfk: !sessionUser.isPresent,
173+
accountId: 0,
174+
isAdmin: false,
175+
isBanned: false,
176+
ip: sessionUser.userID,
177+
avatar: undefined,
157178
};
179+
});
158180

159-
discord.user?.setPresence(presence);
160-
161-
const mapThumbnail = session.thumbnailUrl;
162-
server.changeBanner(mapThumbnail);
163-
server.status.mapThumbnail = mapThumbnail;
164-
165-
server.status.players = session.sessionUsers
166-
.filter(u => u.userID !== resonite.UserID)
167-
.map(sessionUser => {
168-
return {
169-
nick: sessionUser.username,
170-
isAfk: !sessionUser.isPresent,
171-
accountId: 0,
172-
isAdmin: false,
173-
isBanned: false,
174-
ip: sessionUser.userID,
175-
avatar: undefined,
176-
};
177-
});
178-
179-
server.status.players.forEach(
180-
async u => (u.avatar = await resonite.GetResoniteUserAvatarURL(u.ip))
181-
);
182-
183-
const container = new Discord.ContainerBuilder();
184-
185-
container.setAccentColor(4796260);
186-
187-
const desc =
188-
`### ${session.tags[0] ?? session.name}\n` +
189-
`:busts_in_silhouette: Player${
190-
count > 1 || count == 0 ? "s" : ""
191-
}: **${count}**\n` +
192-
`:repeat: Last Update: <t:${
193-
(new Date(session.lastUpdate).getTime() / 1000) | 0
194-
}:R\n` +
195-
`:file_cabinet: Server up since: <t:${(new Date(session.sessionBeginTime).getTime() / 1000) | 0}:R>`;
196-
197-
container.addSectionComponents(section =>
198-
section
199-
.addTextDisplayComponents(text => text.setContent(desc))
200-
.setThumbnailAccessory(accessory =>
201-
accessory
202-
.setURL("attachment://thumb.png")
203-
.setDescription(session.tags.join())
204-
)
205-
);
181+
server.status.players.forEach(
182+
async u => (u.avatar = await resonite.GetResoniteUserAvatarURL(u.ip))
183+
);
206184

207-
if (count > 0) {
208-
container.addSeparatorComponents();
209-
container.addMediaGalleryComponents(gallery =>
210-
gallery.addItems(item => item.setURL("attachment://players.png"))
185+
const container = new Discord.ContainerBuilder();
186+
187+
container.setAccentColor(4796260);
188+
189+
const desc =
190+
`### ${session.tags[0] ?? session.name}\n` +
191+
`:busts_in_silhouette: Player${
192+
count > 1 || count == 0 ? "s" : ""
193+
}: **${count}**\n` +
194+
`:repeat: Last Update: <t:${
195+
(new Date(session.lastUpdate).getTime() / 1000) | 0
196+
}:R\n` +
197+
`:file_cabinet: Server up since: <t:${(new Date(session.sessionBeginTime).getTime() / 1000) | 0}:R>`;
198+
199+
container.addSectionComponents(section =>
200+
section
201+
.addTextDisplayComponents(text => text.setContent(desc))
202+
.setThumbnailAccessory(accessory =>
203+
accessory
204+
.setURL("attachment://thumb.png")
205+
.setDescription(session.tags.join())
206+
)
211207
);
212-
}
213208

214-
container.addActionRowComponents(row =>
215-
row.setComponents(
216-
new Discord.ButtonBuilder()
217-
.setStyle(Discord.ButtonStyle.Link)
218-
.setLabel("Connect")
219-
.setURL(`https://go.resonite.com/session/${session.sessionId}`)
220-
)
221-
);
209+
if (count > 0) {
210+
container.addSeparatorComponents();
211+
container.addMediaGalleryComponents(gallery =>
212+
gallery.addItems(item => item.setURL("attachment://players.png"))
213+
);
214+
}
215+
216+
container.addActionRowComponents(row =>
217+
row.setComponents(
218+
new Discord.ButtonBuilder()
219+
.setStyle(Discord.ButtonStyle.Link)
220+
.setLabel("Connect")
221+
.setURL(`https://go.resonite.com/session/${session.sessionId}`)
222+
)
223+
);
222224

223-
container.addSectionComponents();
225+
container.addSectionComponents();
224226

225-
container.addTextDisplayComponents(text =>
226-
text.setContent("-# metastruct @ Resonite")
227-
);
227+
container.addTextDisplayComponents(text =>
228+
text.setContent("-# metastruct @ Resonite")
229+
);
228230

229-
try {
230231
const html = pug.renderFile(
231232
path.join(process.cwd(), "resources/game-server-status/view.pug"),
232233
{
@@ -250,40 +251,36 @@ export default class GameBridge extends Service {
250251
.filter((msg: Discord.Message) => msg.author.id == discord.user?.id)
251252
.first();
252253
if (message) {
253-
await message
254-
.edit({
255-
components: [container],
256-
files: [
257-
new Discord.AttachmentBuilder(
258-
server.playerListImage
259-
).setName("players.png"),
260-
new Discord.AttachmentBuilder(mapThumbnail).setName(
261-
"thumb.png"
262-
),
263-
],
264-
flags: Discord.MessageFlags.IsComponentsV2,
265-
})
266-
.catch();
254+
await message.edit({
255+
components: [container],
256+
files: [
257+
new Discord.AttachmentBuilder(server.playerListImage).setName(
258+
"players.png"
259+
),
260+
new Discord.AttachmentBuilder(mapThumbnail).setName(
261+
"thumb.png"
262+
),
263+
],
264+
flags: Discord.MessageFlags.IsComponentsV2,
265+
});
267266
} else {
268-
channel
269-
.send({
270-
components: [container],
271-
files: [
272-
new Discord.AttachmentBuilder(
273-
server.playerListImage
274-
).setName("players.png"),
275-
new Discord.AttachmentBuilder(mapThumbnail).setName(
276-
"thumb.png"
277-
),
278-
],
279-
flags: Discord.MessageFlags.IsComponentsV2,
280-
})
281-
.catch();
267+
channel.send({
268+
components: [container],
269+
files: [
270+
new Discord.AttachmentBuilder(server.playerListImage).setName(
271+
"players.png"
272+
),
273+
new Discord.AttachmentBuilder(mapThumbnail).setName(
274+
"thumb.png"
275+
),
276+
],
277+
flags: Discord.MessageFlags.IsComponentsV2,
278+
});
282279
}
283-
} catch (error) {
284-
console.error("GameBridge:Resonite", error);
285280
}
286281
}
282+
} catch (error) {
283+
console.log("GameBridge:Resonite", error);
287284
}
288285
});
289286

0 commit comments

Comments
 (0)