n8n
Version:
n8n Workflow Automation Tool
45 lines (44 loc) • 2.09 kB
TypeScript
import { AgentIntegrationConfig } from '@n8n/api-types';
import { Logger } from '@n8n/backend-common';
import type { Thread, Author } from 'chat';
import { InstanceSettings } from 'n8n-core';
import { UrlService } from '../../../../services/url.service';
import { AgentRepository } from '../../repositories/agent.repository';
import { AgentChatIntegration, type AgentChatIntegrationContext } from '../agent-chat-integration';
import type { SuspendComponent } from '../component-mapper';
import type { IntegrationAction } from '../integration-tools';
export declare class TelegramIntegration extends AgentChatIntegration {
private readonly logger;
private readonly urlService;
private readonly agentRepository;
private readonly instanceSettings;
readonly type = "telegram";
readonly credentialTypes: string[];
readonly displayLabel = "Telegram";
readonly displayIcon = "telegram";
readonly builderGuidance: {
capabilities: string[];
useIntegrationWhen: string[];
useNodeToolWhen: string[];
};
readonly supportedComponents: string[];
readonly actions: IntegrationAction[];
readonly needsShortCallbackData = true;
readonly disableStreaming = true;
readonly formatThreadId: {
fromSdk: (thread: Thread<unknown, unknown>) => string;
toSdk: (threadId: string) => string;
};
constructor(logger: Logger, urlService: UrlService, agentRepository: AgentRepository, instanceSettings: InstanceSettings);
createAdapter(ctx: AgentChatIntegrationContext): Promise<unknown>;
requiresLeader(): boolean;
onBeforeConnect(ctx: AgentChatIntegrationContext): Promise<void>;
onAfterConnect(ctx: AgentChatIntegrationContext): Promise<void>;
onBeforeDisconnect(ctx: AgentChatIntegrationContext): Promise<void>;
isUserAllowed(author: Author, integration: AgentIntegrationConfig | undefined): boolean;
normalizeComponents(components: SuspendComponent[]): SuspendComponent[];
private getMode;
private deriveSecretToken;
private extractBotToken;
private botApiUrl;
}