import { DyNTS_Bot_Command } from './bot-command.interface'; import { DyNTS_Bot_MessagingProvider_Config } from '../_services/bot-messaging-provider.service-base'; export interface DyNTS_Bot_Global_Settings { /** * this setting will set the debug level for the bot * * 0 - no logs * 1 - errors sending to report channel * 2 - errors sending as response, will log events in console * 3 - errors sending as response, creating reports to report channel, debug events are in console (default) * 4 - errors and debug events are sending as response * 5 - all events are sending as response (that are set to send) * 6 - all debug logs are enabled * * _ */ debugLevel: number; allowedUsers: 'all' | string[]; messageSettings: { /** * this setting will set the time limit for message fetching * so we will stop fetching messages sent later than this time */ messageFetchTimeLimit: number; /** * this setting will set the count limit for message fetching * so we will stop fetching messages after this count */ messageFetchCountLimit: number; /** * this setting will set the delay for message sending, * so we won't flood the channel too fast */ messageSendDelay: number; /** * this setting will be used to skip answering to messages * if the message contains any of these flags, the bot will not answer * * @default [ '[BOT-SKIP]' ] */ skipFlags: string[]; }; /** * this setting will set the channel settings for the bot */ channelSettings: { /** * this setting will set the name of the channel where the bot will send the reports * * @default 'bot-report' */ reportChannelName: string; /** * this setting will set the channels where the bot will answer automatically * whenever a message is sent in one of these channels, that is not from the bot * * it will be populated automatically from the default channels */ allowedChannels: string[]; /** * this setting will set if the bot can answer in Direct Messages Channels * * @default false */ dmIsAllowed: boolean; /** * this setting will set the default channels where the bot will answer automatically * whenever a message is sent in one of these channels, that is not from the bot * * @default [ 'bot-report' ] */ defaultChannels: string[]; }; commandSettings: { commandOperator: string; commands: DyNTS_Bot_Command[]; }; allowBotsInteractEachOther: boolean; } export interface DyNTS_Bot_MultiMessageProvider_Settings { /** Array of provider configurations (use for multiple providers) */ providers: DyNTS_Bot_MessagingProvider_Config[]; } /** Union type supporting both single and multi-provider configurations */ export type DyNTS_Bot_Settings = DyNTS_Bot_MessagingProvider_Config | (DyNTS_Bot_Global_Settings & DyNTS_Bot_MultiMessageProvider_Settings); //# sourceMappingURL=bot-global-settings.interface.d.ts.map