OpenClawBot / src /auto-reply /reply /commands-bash.ts
darkfire514's picture
Upload 2526 files
fb4d8fe verified
import type { CommandHandler } from "./commands-types.js";
import { logVerbose } from "../../globals.js";
import { handleBashChatCommand } from "./bash-command.js";
export const handleBashCommand: CommandHandler = async (params, allowTextCommands) => {
if (!allowTextCommands) {
return null;
}
const { command } = params;
const bashSlashRequested =
command.commandBodyNormalized === "/bash" || command.commandBodyNormalized.startsWith("/bash ");
const bashBangRequested = command.commandBodyNormalized.startsWith("!");
if (!bashSlashRequested && !(bashBangRequested && command.isAuthorizedSender)) {
return null;
}
if (!command.isAuthorizedSender) {
logVerbose(`Ignoring /bash from unauthorized sender: ${command.senderId || "<unknown>"}`);
return { shouldContinue: false };
}
const reply = await handleBashChatCommand({
ctx: params.ctx,
cfg: params.cfg,
agentId: params.agentId,
sessionKey: params.sessionKey,
isGroup: params.isGroup,
elevated: params.elevated,
});
return { shouldContinue: false, reply };
};