1
0
mirror of https://github.com/hack-chat/main.git synced 2024-03-22 13:20:33 +08:00

Merge pull request #224 from AnnikaV9/version-2-dev

Add `complete` mode to `updateMessage`
This commit is contained in:
marzavec 2023-11-30 13:12:53 -06:00 committed by GitHub
commit b3c885f44c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 4 deletions

View File

@ -412,6 +412,10 @@ var COMMANDS = {
for (var i = 0; i < activeMessages.length; i++) { for (var i = 0; i < activeMessages.length; i++) {
var msg = activeMessages[i]; var msg = activeMessages[i];
if (msg.userid === args.userid && msg.customId === customId) { if (msg.userid === args.userid && msg.customId === customId) {
if (mode === 'complete') {
activeMessages.splice(i, 1);
return;
}
message = msg; message = msg;
break; break;
} }

View File

@ -40,7 +40,7 @@ export function cleanActiveMessages() {
const now = Date.now(); const now = Date.now();
for (let i = 0; i < ACTIVE_MESSAGES.length; i++) { for (let i = 0; i < ACTIVE_MESSAGES.length; i++) {
const message = ACTIVE_MESSAGES[i]; const message = ACTIVE_MESSAGES[i];
if (now - message.sent > ACTIVE_TIMEOUT) { if (now - message.sent > ACTIVE_TIMEOUT || message.toDelete) {
ACTIVE_MESSAGES.splice(i, 1); ACTIVE_MESSAGES.splice(i, 1);
i--; i--;
} }
@ -62,6 +62,7 @@ export function addActiveMessage(customId, userid) {
customId, customId,
userid, userid,
sent: Date.now(), sent: Date.now(),
toDelete: false,
}); });
} }

View File

@ -3,14 +3,14 @@ import { isAdmin, isModerator } from "../utility/_UAC.js";
import { ACTIVE_MESSAGES, MAX_MESSAGE_ID_LENGTH } from "./chat.js"; import { ACTIVE_MESSAGES, MAX_MESSAGE_ID_LENGTH } from "./chat.js";
export async function run({ core, server, socket, payload }) { export async function run({ core, server, socket, payload }) {
// undefined | "overwrite" | "append" | "prepend" // undefined | "overwrite" | "append" | "prepend" | "complete"
let mode = payload.mode; let mode = payload.mode;
if (!mode) { if (!mode) {
mode = 'overwrite'; mode = 'overwrite';
} }
if (mode !== 'overwrite' && mode !== 'append' && mode !== 'prepend') { if (mode !== 'overwrite' && mode !== 'append' && mode !== 'prepend' && mode !== 'complete') {
return server.police.frisk(socket.address, 13); return server.police.frisk(socket.address, 13);
} }
@ -48,6 +48,9 @@ export async function run({ core, server, socket, payload }) {
if (msg.userid === socket.userid && msg.customId === customId) { if (msg.userid === socket.userid && msg.customId === customId) {
message = ACTIVE_MESSAGES[i]; message = ACTIVE_MESSAGES[i];
if (mode === 'complete') {
ACTIVE_MESSAGES[i].toDelete = true;
}
break; break;
} }
} }
@ -93,5 +96,5 @@ export const info = {
category: 'core', category: 'core',
description: 'Update a message you have sent.', description: 'Update a message you have sent.',
usage: ` usage: `
API: { cmd: 'updateMessage', mode: 'overwrite'|'append'|'prepand', text: '<text to apply>',customId: '<customId sent with the chat message>' }`, API: { cmd: 'updateMessage', mode: 'overwrite'|'append'|'prepend'|'complete', text: '<text to apply>', customId: '<customId sent with the chat message>' }`,
}; };