mirror of
https://github.com/legop3/MultiRoombaRover.git
synced 2026-09-17 10:00:46 -04:00
discord unregressions
This commit is contained in:
@@ -50,6 +50,7 @@ function isCharging(sensors) {
|
|||||||
function buildRoverStatusSnapshot(record) {
|
function buildRoverStatusSnapshot(record) {
|
||||||
if (!record) return null;
|
if (!record) return null;
|
||||||
const sensors = record.lastSensor?.decoded || record.lastSensor?.sensors || null;
|
const sensors = record.lastSensor?.decoded || record.lastSensor?.sensors || null;
|
||||||
|
const oiMode = String(sensors?.oiMode?.label || 'unknown').toLowerCase();
|
||||||
return {
|
return {
|
||||||
id: record.id,
|
id: record.id,
|
||||||
name: record.meta?.name || record.id,
|
name: record.meta?.name || record.id,
|
||||||
@@ -61,7 +62,7 @@ function buildRoverStatusSnapshot(record) {
|
|||||||
voltageMv: sensors?.voltageMv ?? null,
|
voltageMv: sensors?.voltageMv ?? null,
|
||||||
currentMa: sensors?.currentMa ?? null,
|
currentMa: sensors?.currentMa ?? null,
|
||||||
batteryState: record.batteryState,
|
batteryState: record.batteryState,
|
||||||
oiMode: sensors?.oiMode?.label || 'unknown',
|
oiMode,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -85,16 +86,16 @@ function buildBatteryStatusEmbed({ color = 0x2196f3, records = [], includeOi = t
|
|||||||
].join(' ');
|
].join(' ');
|
||||||
|
|
||||||
const lines = [
|
const lines = [
|
||||||
`Dock: ${dockLabel}`,
|
`${formatDockEmoji(snapshot.docked)} Dock: ${dockLabel}`,
|
||||||
`Charging: ${chargingLabel}`,
|
`${formatChargeEmoji(snapshot.charging)} Charging: ${chargingLabel}`,
|
||||||
`Battery: ${formatChargeState(snapshot.batteryState)}`,
|
`${formatBatteryEmoji(snapshot.batteryState)} Battery: ${formatChargeState(snapshot.batteryState)}`,
|
||||||
`Voltage: ${formatVoltage(snapshot.voltageMv)}`,
|
`🔌 Voltage: ${formatVoltage(snapshot.voltageMv)}`,
|
||||||
`Current: ${formatCurrent(snapshot.currentMa)}`,
|
`📈 Current: ${formatCurrent(snapshot.currentMa)}`,
|
||||||
];
|
];
|
||||||
if (includeOi) {
|
if (includeOi) {
|
||||||
lines.push(`OI: ${snapshot.oiMode} ${formatOiEmoji(snapshot.oiMode)}`);
|
lines.push(`${formatOiEmoji(snapshot.oiMode)} OI mode: ${snapshot.oiMode}`);
|
||||||
}
|
}
|
||||||
lines.push(`Lock: ${lockLabel}`);
|
lines.push(`${formatLockEmoji(snapshot.locked)} Lock: ${lockLabel}`);
|
||||||
|
|
||||||
embed.addFields({
|
embed.addFields({
|
||||||
name: `${header} ${snapshot.name}`,
|
name: `${header} ${snapshot.name}`,
|
||||||
|
|||||||
@@ -90,8 +90,19 @@ function createDmModerationHandlers(deps) {
|
|||||||
}
|
}
|
||||||
const linked = getRequestByMessageId(reaction.message?.id);
|
const linked = getRequestByMessageId(reaction.message?.id);
|
||||||
if (!linked?.request || linked.request.status !== 'pending') return;
|
if (!linked?.request || linked.request.status !== 'pending') return;
|
||||||
if (emoji === APPROVE) approveRequest(linked.request.id, user.id);
|
if (emoji === APPROVE) {
|
||||||
else denyRequest(linked.request.id, user.id);
|
approveRequest(linked.request.id, user.id);
|
||||||
|
await reaction.message.reply({
|
||||||
|
content: `✅ Verification request \`${linked.request.id}\` approved by ${sanitizeMentions(user.username || user.tag || user.id)}.`,
|
||||||
|
allowedMentions: { parse: [] },
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
denyRequest(linked.request.id, user.id);
|
||||||
|
await reaction.message.reply({
|
||||||
|
content: `❌ Verification request \`${linked.request.id}\` denied by ${sanitizeMentions(user.username || user.tag || user.id)}.`,
|
||||||
|
allowedMentions: { parse: [] },
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function handlePrivateAccessReaction(reaction, user) {
|
async function handlePrivateAccessReaction(reaction, user) {
|
||||||
@@ -103,8 +114,19 @@ function createDmModerationHandlers(deps) {
|
|||||||
}
|
}
|
||||||
const linked = getPrivateAccessRequestByMessageId(reaction.message?.id);
|
const linked = getPrivateAccessRequestByMessageId(reaction.message?.id);
|
||||||
if (!linked?.request || linked.request.status !== 'pending') return;
|
if (!linked?.request || linked.request.status !== 'pending') return;
|
||||||
if (emoji === APPROVE) approvePrivateAccessRequest(linked.request.id, user.id);
|
if (emoji === APPROVE) {
|
||||||
else denyPrivateAccessRequest(linked.request.id, user.id);
|
approvePrivateAccessRequest(linked.request.id, user.id);
|
||||||
|
await reaction.message.reply({
|
||||||
|
content: `✅ Private access request \`${linked.request.id}\` approved by ${sanitizeMentions(user.username || user.tag || user.id)}.`,
|
||||||
|
allowedMentions: { parse: [] },
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
denyPrivateAccessRequest(linked.request.id, user.id);
|
||||||
|
await reaction.message.reply({
|
||||||
|
content: `❌ Private access request \`${linked.request.id}\` denied by ${sanitizeMentions(user.username || user.tag || user.id)}.`,
|
||||||
|
allowedMentions: { parse: [] },
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
Reference in New Issue
Block a user