///
///
declare const _default: {
register: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => Promise;
bootstrap: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => void;
destroy: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => void;
config: {
default: {
user: {
validateLinkingSignature: boolean;
allowChangeLinkingEmail: boolean;
};
};
validator(): void;
};
controllers: {
'telegram-user': ({ strapi, }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => Partial & import("@strapi/types/dist/core/core-api/controller").Generic & import("@strapi/types/dist/core/core-api/controller").Base;
'telegram-group': ({ strapi, }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => Partial & import("@strapi/types/dist/core/core-api/controller").Generic & import("@strapi/types/dist/core/core-api/controller").Base;
'telegram-link': ({ strapi, }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
validateInitData: (ctx: import("koa").Context) => Promise;
getLinking: (ctx: import("koa").Context) => Promise;
setLinking: (ctx: import("koa").Context) => Promise;
} & import("@strapi/types/dist/core/core-api/controller").Base;
'telegram-user-activity': ({ strapi, }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
getUserActivity: (ctx: import("koa").Context, next: import("koa").Next) => Promise;
} & import("@strapi/types/dist/core/core-api/controller").Base;
telegramAction: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
getButtons: (ctx: any, next: any) => Promise;
trigger: (ctx: any, next: any) => Promise;
};
};
routes: {
'telegram-user': import("@strapi/types/dist/core/core-api/router").Router;
'telegram-group': import("@strapi/types/dist/core/core-api/router").Router;
'telegram-link': import("@strapi/types/dist/core/core-api/router").Router;
'telegram-user-activity': import("@strapi/types/dist/core/core-api/router").Router;
'user-activity': {
type: string;
routes: {
method: string;
path: string;
handler: string;
}[];
};
deployment: {
type: string;
routes: {
method: string;
path: string;
handler: string;
config: {};
}[];
};
telegramAuth: {
type: string;
routes: {
method: string;
path: string;
handler: string;
}[];
};
};
services: {
koniBot: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
defaultBotName: string;
_initBotMap: boolean;
_botMap: Record;
readonly botMap: Record;
getBotHandler(name?: string): import("./bot/koni-bot").KoniBot;
getBot(name?: string): import("telegraf").Telegraf>;
launch(): Promise;
stop(): Promise;
};
botBasicAction: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
telegramUser: import("@strapi/types/dist/core").Service;
botTemplate: {
cache: Record;
renewCache(): Promise;
getMessage(key: string, defaultConfig: import("./services/content-type/bot-message-template").TemplateConfig): import("./services/content-type/bot-message-template").TemplateConfig;
getHelpMessage(): import("./services/content-type/bot-message-template").TemplateConfig;
getAutoAnswerMessage(): import("./services/content-type/bot-message-template").TemplateConfig;
getWelcomeMessage(): import("./services/content-type/bot-message-template").TemplateConfig;
};
telegramGroup: import("@strapi/types/dist/core").Service;
telegramUserActivity: import("@strapi/types/dist/core").Service;
replyMessage(ctx: import("telegraf").Context>, config: import("./services/content-type/bot-message-template").TemplateConfig, replacements?: Record): Promise;
handleStart(ctx: import("telegraf").Context>): Promise;
handleHelp(ctx: import("telegraf").Context>): Promise;
handleMessage(ctx: import("telegraf").Context>): Promise;
};
koniBotAction: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
koniBot: {
defaultBotName: string;
_initBotMap: boolean;
_botMap: Record;
readonly botMap: Record;
getBotHandler(name?: string): import("./bot/koni-bot").KoniBot;
getBot(name?: string): import("telegraf").Telegraf>;
launch(): Promise;
stop(): Promise;
};
botTemplate: {
cache: Record;
renewCache(): Promise;
getMessage(key: string, defaultConfig: import("./services/content-type/bot-message-template").TemplateConfig): import("./services/content-type/bot-message-template").TemplateConfig;
getHelpMessage(): import("./services/content-type/bot-message-template").TemplateConfig;
getAutoAnswerMessage(): import("./services/content-type/bot-message-template").TemplateConfig;
getWelcomeMessage(): import("./services/content-type/bot-message-template").TemplateConfig;
};
telegramUser: ({ strapi, }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
wallet: import("@strapi/types/dist/core").Service;
telegramBot: {
koniBot: any;
botCache: any;
getBotByUsername: any;
autoCreateBot: any;
_sendMessage: any;
sendMessage: any;
} & import("@strapi/types/dist/core/core-api/service").Base;
isEnableCreateWallet: boolean;
upsertUser: (userInfo: import("@telegraf/types").User, botInfo: import("@telegraf/types").User) => Promise;
getUserByTelegramId: (telegramId: string | number) => Promise;
findUserByTelegramId: (telegramId: string | number) => Promise;
} & import("@strapi/types/dist/core/core-api/service").Base;
registerBotActions(): Promise;
};
telegramAction: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
telegramBot: import("@strapi/types/dist/core").Service;
getButtons(apiID: string): Promise;
sendNotification(data: any, actionType: import("./types").DeploymentType): void;
trigger(buttonID: string, id: string): Promise<{
executed: boolean;
type?: undefined;
status?: undefined;
message?: undefined;
} | {
type: string;
status: boolean;
message: any;
executed?: undefined;
}>;
};
synchronizeAction: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
telegramUser: import("@strapi/types/dist/core").Service;
telegramGroup: import("@strapi/types/dist/core").Service;
telegramUserActivity: import("@strapi/types/dist/core").Service;
koniBot: import("./bot/koni-bot").KoniBot;
registerCrawlerBotActions(): Promise;
launchCrawlerBot(): Promise;
stopCrawlerBot(): Promise;
handleUserSendMessage(ctx: import("telegraf").Context>): Promise;
handleMessage(ctx: import("telegraf").Context>): Promise;
getTelegramClientUser(): Promise;
getTelegramClientBot(): Promise;
getUserInfoInGroup(clientBot: import("telegram").TelegramClient, groupUrl: string): Promise>;
getMessageWithGroup(clientUser: import("telegram").TelegramClient, clientBot: import("telegram").TelegramClient, groupUrl: string): Promise<(import("@telegraf/types").User & {
msgCount: number;
joinDate: number;
})[]>;
synchronizeUserAction(): Promise;
synchronizeMessageAction(): Promise<{}>;
};
'telegram-user': ({ strapi, }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
wallet: import("@strapi/types/dist/core").Service;
telegramBot: {
koniBot: any;
botCache: any;
getBotByUsername: any;
autoCreateBot: any;
_sendMessage: any;
sendMessage: any;
} & import("@strapi/types/dist/core/core-api/service").Base;
isEnableCreateWallet: boolean;
upsertUser: (userInfo: import("@telegraf/types").User, botInfo: import("@telegraf/types").User) => Promise;
getUserByTelegramId: (telegramId: string | number) => Promise;
findUserByTelegramId: (telegramId: string | number) => Promise;
} & import("@strapi/types/dist/core/core-api/service").Base;
'telegram-group': ({ strapi, }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
wallet: import("@strapi/types/dist/core").Service;
upsertGroup: (chat: import("@telegraf/types").Chat.SupergroupChat | import("@telegraf/types").Chat.ChannelChat, botInfo: any) => Promise;
getGroupByTelegramId: (telegramId: string | number) => Promise;
updateSynchronizationStatus: (documentId: string, status: import("./services/content-type/telegram-group").SynchronizationStatus) => Promise;
} & import("@strapi/types/dist/core/core-api/service").Base;
'telegram-bot': ({ strapi, }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
koniBot: {
defaultBotName: string;
_initBotMap: boolean;
_botMap: Record;
readonly botMap: Record;
getBotHandler(name?: string): import("./bot/koni-bot").KoniBot;
getBot(name?: string): import("telegraf").Telegraf>;
launch(): Promise;
stop(): Promise;
};
botCache: {};
getBotByUsername: (username: string) => Promise;
autoCreateBot: () => Promise;
_sendMessage: ({ telegramUsers, botData, data, actionType }: {
telegramUsers: any;
botData: any;
data: any;
actionType: any;
}) => Promise;
sendMessage: (botID: string, data: any, users?: any[], actionType?: import("./types").DeploymentType) => Promise;
} & import("@strapi/types/dist/core/core-api/service").Base;
'telegram-link': ({ strapi, }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
botService: {
defaultBotName: string;
_initBotMap: boolean;
_botMap: Record;
readonly botMap: Record;
getBotHandler(name?: string): import("./bot/koni-bot").KoniBot;
getBot(name?: string): import("telegraf").Telegraf>;
launch(): Promise;
stop(): Promise;
};
telegramUserService: import("@strapi/types/dist/core").Service;
secretMap: Record;
getSecret: (botName?: string) => Buffer;
link: ({ initData, bot, linkInfo }: import("./services/content-type/telegram-link").TelegramLinkParams, withSecretKey?: any) => Promise<{
success: boolean;
data: any;
}>;
getLink: ({ service, bot, telegram_id, id, uid, email, address }: import("./services/content-type/telegram-link").QueryLinkParams) => Promise<{
success: boolean;
error: string;
data?: undefined;
} | {
success: boolean;
data: any;
error?: undefined;
}>;
validateInitData: (initData: string, botName?: string) => import("./services/content-type/telegram-link").ValidateInitDataResult;
} & import("@strapi/types/dist/core/core-api/service").Base;
'bot-message-template': ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
cache: Record;
renewCache(): Promise;
getMessage(key: string, defaultConfig: import("./services/content-type/bot-message-template").TemplateConfig): import("./services/content-type/bot-message-template").TemplateConfig;
getHelpMessage(): import("./services/content-type/bot-message-template").TemplateConfig;
getAutoAnswerMessage(): import("./services/content-type/bot-message-template").TemplateConfig;
getWelcomeMessage(): import("./services/content-type/bot-message-template").TemplateConfig;
};
'telegram-notification': ({ strapi, }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
koniBot: import("@strapi/types/dist/core").Service;
getDataContent: (id: string) => Promise<{
status: boolean;
data: any;
message: string;
}>;
} & import("@strapi/types/dist/core/core-api/service").Base;
'telegram-user-activity': ({ strapi, }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
telegramGroup: import("@strapi/types/dist/core").Service;
telegramUser: import("@strapi/types/dist/core").Service;
getActivity: (groupId: number, telegramId: number) => Promise<{
telegramId: number;
groupId: number;
messageCount: any;
timeSinceJoin: any;
}>;
getActivitiesByGroup: (groupId: number) => Promise;
upsertActivity: (params: import("./services/content-type/telegram-user-activity").TelegramUserActivityParams) => Promise;
updateMessageCount: (groupId: number, userId: number) => Promise;
updateUserLeftGroup: (groupId: number, telegramIds: number[]) => Promise;
updateActivity: (documentId: string, params: Partial) => Promise;
} & import("@strapi/types/dist/core/core-api/service").Base;
};
contentTypes: {
'telegram-user': {
schema: {
kind: string;
collectionName: string;
info: {
singularName: string;
pluralName: string;
displayName: string;
description: string;
};
options: {
draftAndPublish: boolean;
};
pluginOptions: {};
attributes: {
telegram_id: {
type: string;
required: boolean;
};
telegram_username: {
type: string;
};
is_premium: {
type: string;
};
is_bot: {
type: string;
};
photo_url: {
type: string;
};
first_name: {
type: string;
};
last_name: {
type: string;
};
language_code: {
type: string;
};
allow_inbox: {
type: string;
};
evm_wallet: {
type: string;
relation: string;
target: string;
required: boolean;
};
blocked: {
type: string;
};
bot_list: {
type: string;
relation: string;
target: string;
mappedBy: string;
};
};
};
};
'telegram-group': {
schema: {
kind: string;
collectionName: string;
info: {
singularName: string;
pluralName: string;
displayName: string;
description: string;
};
options: {
draftAndPublish: boolean;
};
pluginOptions: {};
attributes: {
name: {
type: string;
};
telegram_id: {
type: string;
required: boolean;
};
type: {
type: string;
enum: string[];
};
group_url: {
type: string;
};
photo_url: {
type: string;
};
description: {
type: string;
};
evm_wallet: {
type: string;
relation: string;
target: string;
required: boolean;
};
bot_metadata: {
type: string;
visible: boolean;
};
blocked: {
type: string;
};
synchronization_status: {
type: string;
enum: string[];
default: string;
};
};
};
};
'telegram-bot': {
schema: {
kind: string;
collectionName: string;
info: {
singularName: string;
pluralName: string;
displayName: string;
description: string;
};
options: {
draftAndPublish: boolean;
};
pluginOptions: {};
attributes: {
name: {
type: string;
};
username: {
type: string;
required: boolean;
};
token: {
type: string;
private: boolean;
required: boolean;
};
metadata: {
type: string;
};
user_list: {
type: string;
relation: string;
target: string;
inversedBy: string;
};
};
};
};
'telegram-link': {
schema: {
kind: string;
collectionName: string;
info: {
singularName: string;
pluralName: string;
displayName: string;
};
options: {
draftAndPublish: boolean;
};
pluginOptions: {};
attributes: {
telegram_bot: {
type: string;
relation: string;
target: string;
};
telegram_user: {
type: string;
relation: string;
target: string;
};
service: {
type: string;
enum: string[];
};
telegram_id: {
type: string;
};
telegram_bot_username: {
type: string;
};
link_domain: {
type: string;
};
link_id: {
type: string;
};
link_uid: {
type: string;
};
link_email: {
type: string;
};
link_address: {
type: string;
};
link_signature: {
type: string;
};
use_secret: {
type: string;
};
link_token: {
type: string;
};
};
};
};
'bot-message-template': {
schema: {
kind: string;
collectionName: string;
info: {
singularName: string;
pluralName: string;
displayName: string;
description: string;
};
options: {
draftAndPublish: boolean;
};
pluginOptions: {};
attributes: {
welcome_message: {
type: string;
};
help_message: {
type: string;
};
auto_answer_message: {
type: string;
};
};
};
lifecycles: {
afterCreate: ({ params, result }: {
params: any;
result: any;
}) => Promise;
afterUpdate: ({ params, result }: {
params: any;
result: any;
}, states: any) => Promise;
};
};
'telegram-notification': {
schema: {
kind: string;
collectionName: string;
info: {
singularName: string;
pluralName: string;
displayName: string;
description: string;
};
options: {
draftAndPublish: boolean;
};
pluginOptions: {};
attributes: {
name: {
type: string;
};
caption: {
type: string;
required: boolean;
};
photo: {
type: string;
multiple: boolean;
required: boolean;
allowedTypes: string[];
};
parse_mode: {
type: string;
enum: string[];
default: string;
required: boolean;
};
reply_markup: {
type: string;
repeatable: boolean;
component: string;
};
telegram_bot: {
type: string;
required: boolean;
relation: string;
target: string;
};
};
};
};
'telegram-user-activity': {
schema: {
kind: string;
collectionName: string;
info: {
singularName: string;
pluralName: string;
displayName: string;
description: string;
};
options: {
draftAndPublish: boolean;
};
pluginOptions: {};
attributes: {
user_id: {
type: string;
relation: string;
target: string;
required: boolean;
};
group_id: {
type: string;
relation: string;
target: string;
required: boolean;
};
message_count: {
type: string;
};
time_since_join: {
type: string;
};
is_joined: {
type: string;
default: boolean;
};
};
};
};
};
policies: {};
middlewares: {
'bot-login': (config: any, { strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => (ctx: import("koa").Context, next: any) => Promise;
};
};
export default _default;