feat(automations): ctx.tasks.sendMessage — сообщение в чат задачи от Системы; userId в triggerData status_changed

This commit is contained in:
2026-09-08 16:31:59 +03:00
parent 163351b345
commit 0b2319b11d
13 changed files with 171 additions and 32 deletions

View File

@@ -47,7 +47,11 @@ export interface SendTaskMessageParams {
export async function sendTaskMessage(params: SendTaskMessageParams): Promise<TaskMessage> {
const { task, user, organizationId } = params;
const botId = params.botId ?? null;
if (!user && !botId) {
// Системные сообщения ('system', 'status_change') могут быть без автора —
// их пишут автоматизации (ctx.tasks.sendMessage), автор в чате — «Система»
const isAuthorlessSystem = !user && !botId &&
(params.messageType === 'system' || params.messageType === 'status_change');
if (!user && !botId && !isAuthorlessSystem) {
throw new SendTaskMessageError('Не указан автор сообщения (user или botId)', 500);
}
const taskId = task.id;