@futdevpro/nts-dynamo 1.14.24 → 1.14.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/_modules/ai/_services/ai-provider.service-base.d.ts +1 -1
- package/build/_modules/ai/_services/ai-provider.service-base.d.ts.map +1 -1
- package/build/_modules/ai/_services/oai-to-ai-adapter.service.d.ts +39 -0
- package/build/_modules/ai/_services/oai-to-ai-adapter.service.d.ts.map +1 -0
- package/build/_modules/ai/_services/oai-to-ai-adapter.service.js +218 -0
- package/build/_modules/ai/_services/oai-to-ai-adapter.service.js.map +1 -0
- package/build/_modules/assistant/_services/ass-io.control-service.d.ts +4 -3
- package/build/_modules/assistant/_services/ass-io.control-service.d.ts.map +1 -1
- package/build/_modules/assistant/_services/ass-io.control-service.js +6 -6
- package/build/_modules/assistant/_services/ass-io.control-service.js.map +1 -1
- package/build/_modules/assistant/_services/ass-main.control-service.d.ts +2 -2
- package/build/_modules/assistant/_services/ass-main.control-service.d.ts.map +1 -1
- package/build/_modules/assistant/_services/ass.service-base.d.ts +6 -4
- package/build/_modules/assistant/_services/ass.service-base.d.ts.map +1 -1
- package/build/_modules/assistant/_services/ass.service-base.js +6 -4
- package/build/_modules/assistant/_services/ass.service-base.js.map +1 -1
- package/build/_modules/bot/_collections/bot-operations.util.d.ts +13 -13
- package/build/_modules/bot/_collections/bot-operations.util.d.ts.map +1 -1
- package/build/_modules/bot/_collections/bot-operations.util.js.map +1 -1
- package/build/_modules/bot/_enums/bot-message-provider.enum.d.ts +8 -0
- package/build/_modules/bot/_enums/bot-message-provider.enum.d.ts.map +1 -0
- package/build/_modules/bot/_enums/bot-message-provider.enum.js +12 -0
- package/build/_modules/bot/_enums/bot-message-provider.enum.js.map +1 -0
- package/build/_modules/bot/_models/bot-global-settings.interface.d.ts +7 -0
- package/build/_modules/bot/_models/bot-global-settings.interface.d.ts.map +1 -1
- package/build/_modules/bot/_models/bot-message-provider.interface.d.ts +68 -0
- package/build/_modules/bot/_models/bot-message-provider.interface.d.ts.map +1 -0
- package/build/_modules/bot/_models/bot-message-provider.interface.js +3 -0
- package/build/_modules/bot/_models/bot-message-provider.interface.js.map +1 -0
- package/build/_modules/bot/_models/bot-message-wrapper.interface.d.ts +21 -0
- package/build/_modules/bot/_models/bot-message-wrapper.interface.d.ts.map +1 -0
- package/build/_modules/bot/_models/bot-message-wrapper.interface.js +3 -0
- package/build/_modules/bot/_models/bot-message-wrapper.interface.js.map +1 -0
- package/build/_modules/bot/_modules/discord-bot/_collections/dib-operations.util.d.ts +2 -2
- package/build/_modules/bot/_modules/discord-bot/_collections/dib-operations.util.d.ts.map +1 -1
- package/build/_modules/bot/_modules/discord-bot/_collections/dib.util.d.ts +2 -2
- package/build/_modules/bot/_modules/discord-bot/_collections/dib.util.d.ts.map +1 -1
- package/build/_modules/bot/_modules/discord-bot/_collections/dib.util.js.map +1 -1
- package/build/_modules/bot/_modules/discord-bot/_services/dib-message-provider.service.d.ts +56 -0
- package/build/_modules/bot/_modules/discord-bot/_services/dib-message-provider.service.d.ts.map +1 -0
- package/build/_modules/bot/_modules/discord-bot/_services/dib-message-provider.service.js +379 -0
- package/build/_modules/bot/_modules/discord-bot/_services/dib-message-provider.service.js.map +1 -0
- package/build/_modules/bot/_modules/discord-bot/index.d.ts +1 -1
- package/build/_modules/bot/_modules/discord-bot/index.d.ts.map +1 -1
- package/build/_modules/bot/_modules/discord-bot/index.js +1 -1
- package/build/_modules/bot/_modules/discord-bot/index.js.map +1 -1
- package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.d.ts +3 -3
- package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.d.ts.map +1 -1
- package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.js.map +1 -1
- package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb.util.d.ts +2 -2
- package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb.util.d.ts.map +1 -1
- package/build/_modules/bot/_modules/dynamo-bot/_collections/dyb.util.js.map +1 -1
- package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-message-provider.service.d.ts +55 -0
- package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-message-provider.service.d.ts.map +1 -0
- package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-message-provider.service.js +313 -0
- package/build/_modules/bot/_modules/dynamo-bot/_services/dyb-message-provider.service.js.map +1 -0
- package/build/_modules/bot/_modules/dynamo-bot/index.d.ts +1 -1
- package/build/_modules/bot/_modules/dynamo-bot/index.d.ts.map +1 -1
- package/build/_modules/bot/_modules/dynamo-bot/index.js +1 -1
- package/build/_modules/bot/_modules/dynamo-bot/index.js.map +1 -1
- package/build/_modules/bot/_modules/slack-bot/_collections/slb-operations.util.d.ts +2 -2
- package/build/_modules/bot/_modules/slack-bot/_collections/slb-operations.util.d.ts.map +1 -1
- package/build/_modules/bot/_modules/slack-bot/_services/slb-message-provider.service.d.ts +41 -0
- package/build/_modules/bot/_modules/slack-bot/_services/slb-message-provider.service.d.ts.map +1 -0
- package/build/_modules/bot/_modules/slack-bot/_services/slb-message-provider.service.js +119 -0
- package/build/_modules/bot/_modules/slack-bot/_services/slb-message-provider.service.js.map +1 -0
- package/build/_modules/bot/_modules/slack-bot/index.d.ts +1 -1
- package/build/_modules/bot/_modules/slack-bot/index.d.ts.map +1 -1
- package/build/_modules/bot/_modules/slack-bot/index.js +1 -1
- package/build/_modules/bot/_modules/slack-bot/index.js.map +1 -1
- package/build/_modules/bot/_modules/teams-bot/_collections/teb-operations.util.d.ts +2 -2
- package/build/_modules/bot/_modules/teams-bot/_collections/teb-operations.util.d.ts.map +1 -1
- package/build/_modules/bot/_modules/teams-bot/_services/teb-message-provider.service.d.ts +41 -0
- package/build/_modules/bot/_modules/teams-bot/_services/teb-message-provider.service.d.ts.map +1 -0
- package/build/_modules/bot/_modules/teams-bot/_services/teb-message-provider.service.js +119 -0
- package/build/_modules/bot/_modules/teams-bot/_services/teb-message-provider.service.js.map +1 -0
- package/build/_modules/bot/_modules/teams-bot/index.d.ts +1 -1
- package/build/_modules/bot/_modules/teams-bot/index.d.ts.map +1 -1
- package/build/_modules/bot/_modules/teams-bot/index.js +1 -1
- package/build/_modules/bot/_modules/teams-bot/index.js.map +1 -1
- package/build/_modules/bot/_services/bot-commands.control-service.d.ts +4 -3
- package/build/_modules/bot/_services/bot-commands.control-service.d.ts.map +1 -1
- package/build/_modules/bot/_services/bot-commands.control-service.js +3 -2
- package/build/_modules/bot/_services/bot-commands.control-service.js.map +1 -1
- package/build/_modules/bot/_services/bot-io.control-service.d.ts +7 -6
- package/build/_modules/bot/_services/bot-io.control-service.d.ts.map +1 -1
- package/build/_modules/bot/_services/bot-io.control-service.js +38 -17
- package/build/_modules/bot/_services/bot-io.control-service.js.map +1 -1
- package/build/_modules/bot/_services/bot-main.control-service.d.ts +15 -2
- package/build/_modules/bot/_services/bot-main.control-service.d.ts.map +1 -1
- package/build/_modules/bot/_services/bot-main.control-service.js +105 -1
- package/build/_modules/bot/_services/bot-main.control-service.js.map +1 -1
- package/build/_modules/bot/_services/bot-provider-factory.service.d.ts +3 -2
- package/build/_modules/bot/_services/bot-provider-factory.service.d.ts.map +1 -1
- package/build/_modules/bot/_services/bot-provider-factory.service.js +34 -18
- package/build/_modules/bot/_services/bot-provider-factory.service.js.map +1 -1
- package/build/_modules/bot/_services/bot-routines.control-service.d.ts +2 -2
- package/build/_modules/bot/_services/bot-routines.control-service.d.ts.map +1 -1
- package/build/_modules/bot/index.d.ts +3 -2
- package/build/_modules/bot/index.d.ts.map +1 -1
- package/build/_modules/bot/index.js +3 -2
- package/build/_modules/bot/index.js.map +1 -1
- package/package.json +1 -1
- package/src/_modules/ai/_services/ai-provider.service-base.ts +1 -1
- package/src/_modules/assistant/_services/ass-io.control-service.ts +14 -9
- package/src/_modules/assistant/_services/ass-main.control-service.ts +3 -3
- package/src/_modules/assistant/_services/ass.service-base.ts +13 -5
- package/src/_modules/bot/_collections/bot-operations.util.ts +14 -14
- package/src/_modules/bot/_enums/{bot-provider.enum.ts → bot-message-provider.enum.ts} +1 -1
- package/src/_modules/bot/_models/bot-global-settings.interface.ts +9 -0
- package/src/_modules/bot/_models/{bot-provider.interface.ts → bot-message-provider.interface.ts} +10 -7
- package/src/_modules/bot/_models/bot-message-wrapper.interface.ts +31 -0
- package/src/_modules/bot/_modules/discord-bot/_collections/dib-operations.util.ts +2 -2
- package/src/_modules/bot/_modules/discord-bot/_collections/dib.util.ts +2 -2
- package/src/_modules/bot/_modules/discord-bot/_services/{dib-provider.service.ts → dib-message-provider.service.ts} +20 -7
- package/src/_modules/bot/_modules/discord-bot/index.ts +1 -1
- package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb-operations.util.ts +3 -3
- package/src/_modules/bot/_modules/dynamo-bot/_collections/dyb.util.ts +2 -2
- package/src/_modules/bot/_modules/dynamo-bot/_services/{dyb-provider.service.ts → dyb-message-provider.service.ts} +12 -8
- package/src/_modules/bot/_modules/dynamo-bot/index.ts +1 -1
- package/src/_modules/bot/_modules/slack-bot/_collections/slb-operations.util.ts +2 -2
- package/src/_modules/bot/_modules/slack-bot/_services/{slb-provider.service.ts → slb-message-provider.service.ts} +11 -7
- package/src/_modules/bot/_modules/slack-bot/index.ts +1 -1
- package/src/_modules/bot/_modules/teams-bot/_collections/teb-operations.util.ts +2 -2
- package/src/_modules/bot/_modules/teams-bot/_services/{teb-provider.service.ts → teb-message-provider.service.ts} +11 -7
- package/src/_modules/bot/_modules/teams-bot/index.ts +1 -1
- package/src/_modules/bot/_services/bot-commands.control-service.ts +8 -6
- package/src/_modules/bot/_services/bot-io.control-service.ts +49 -23
- package/src/_modules/bot/_services/bot-main.control-service.ts +130 -5
- package/src/_modules/bot/_services/bot-provider-factory.service.ts +42 -20
- package/src/_modules/bot/_services/bot-routines.control-service.ts +3 -3
- package/src/_modules/bot/index.ts +3 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DyFM_Error, DyFM_Log } from '@futdevpro/fsm-dynamo';
|
|
2
|
-
import {
|
|
2
|
+
import { DyNTS_Bot_MessageProvider } from '../_models/bot-message-provider.interface';
|
|
3
3
|
import { DyNTS_Bot_Message } from '../_models/bot-message.interface';
|
|
4
4
|
import { DyNTS_Bot_Channel } from '../_models/bot-channel.interface';
|
|
5
5
|
import { DyNTS_Bot_User } from '../_models/bot-user.interface';
|
|
@@ -11,11 +11,11 @@ export abstract class DyNTS_Bot_Operations_Util<
|
|
|
11
11
|
T_PlatformChannel extends DyNTS_Bot_Channel<any> = DyNTS_Bot_Channel<any>,
|
|
12
12
|
T_PlatformMessage extends DyNTS_Bot_Message<any> = DyNTS_Bot_Message<any>,
|
|
13
13
|
T_PlatformUser extends DyNTS_Bot_User<any> = DyNTS_Bot_User<any>,
|
|
14
|
-
T_PlatformProvider extends
|
|
14
|
+
T_PlatformProvider extends DyNTS_Bot_MessageProvider<
|
|
15
15
|
T_PlatformChannel,
|
|
16
16
|
T_PlatformMessage,
|
|
17
17
|
T_PlatformUser
|
|
18
|
-
> =
|
|
18
|
+
> = DyNTS_Bot_MessageProvider<
|
|
19
19
|
T_PlatformChannel,
|
|
20
20
|
T_PlatformMessage,
|
|
21
21
|
T_PlatformUser
|
|
@@ -24,7 +24,7 @@ export abstract class DyNTS_Bot_Operations_Util<
|
|
|
24
24
|
|
|
25
25
|
static async findChannelByName<
|
|
26
26
|
T_PlatformChannel extends DyNTS_Bot_Channel<any>,
|
|
27
|
-
T_PlatformProvider extends
|
|
27
|
+
T_PlatformProvider extends DyNTS_Bot_MessageProvider<T_PlatformChannel, any, any>
|
|
28
28
|
>(
|
|
29
29
|
provider: T_PlatformProvider,
|
|
30
30
|
name: string
|
|
@@ -39,7 +39,7 @@ export abstract class DyNTS_Bot_Operations_Util<
|
|
|
39
39
|
return channel;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
static async sendMessageToChannelByName<T_PlatformChannel extends DyNTS_Bot_Channel<any>, T_PlatformProvider extends
|
|
42
|
+
static async sendMessageToChannelByName<T_PlatformChannel extends DyNTS_Bot_Channel<any>, T_PlatformProvider extends DyNTS_Bot_MessageProvider<T_PlatformChannel, any, any>>(
|
|
43
43
|
provider: T_PlatformProvider,
|
|
44
44
|
channelName: string,
|
|
45
45
|
message: string
|
|
@@ -54,21 +54,21 @@ export abstract class DyNTS_Bot_Operations_Util<
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
static async readMembersInChannel<T_PlatformUser extends DyNTS_Bot_User<any>, T_PlatformProvider extends
|
|
57
|
+
static async readMembersInChannel<T_PlatformUser extends DyNTS_Bot_User<any>, T_PlatformProvider extends DyNTS_Bot_MessageProvider<any, any, T_PlatformUser>>(
|
|
58
58
|
provider: T_PlatformProvider,
|
|
59
59
|
channelName: string
|
|
60
60
|
): Promise<T_PlatformUser[]> {
|
|
61
61
|
return await provider.readMembersInChannel(channelName);
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
static async readMemberNamesInChannel<T_PlatformProvider extends
|
|
64
|
+
static async readMemberNamesInChannel<T_PlatformProvider extends DyNTS_Bot_MessageProvider<any, any, any>>(
|
|
65
65
|
provider: T_PlatformProvider,
|
|
66
66
|
channelName: string
|
|
67
67
|
): Promise<string[]> {
|
|
68
68
|
return await provider.readMemberNamesInChannel(channelName);
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
static async fetchAllMessagesWithPaging<T_PlatformMessage extends DyNTS_Bot_Message<any>, T_PlatformProvider extends
|
|
71
|
+
static async fetchAllMessagesWithPaging<T_PlatformMessage extends DyNTS_Bot_Message<any>, T_PlatformProvider extends DyNTS_Bot_MessageProvider<any, T_PlatformMessage, any>>(
|
|
72
72
|
provider: T_PlatformProvider,
|
|
73
73
|
channelId: string,
|
|
74
74
|
maxFetch = 1000
|
|
@@ -76,7 +76,7 @@ export abstract class DyNTS_Bot_Operations_Util<
|
|
|
76
76
|
return await provider.fetchAllMessagesWithPaging(channelId, maxFetch);
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
static async readLastMessageDatesByMembers<T_PlatformProvider extends
|
|
79
|
+
static async readLastMessageDatesByMembers<T_PlatformProvider extends DyNTS_Bot_MessageProvider<any, any, any>>(
|
|
80
80
|
provider: T_PlatformProvider,
|
|
81
81
|
channelName: string,
|
|
82
82
|
memberNames: string[]
|
|
@@ -84,7 +84,7 @@ export abstract class DyNTS_Bot_Operations_Util<
|
|
|
84
84
|
return await provider.readLastMessageDatesByMembers(channelName, memberNames);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
static async readLastMessageWithMemberNamePingInIt<T_PlatformUser extends DyNTS_Bot_User<any>, T_PlatformProvider extends
|
|
87
|
+
static async readLastMessageWithMemberNamePingInIt<T_PlatformUser extends DyNTS_Bot_User<any>, T_PlatformProvider extends DyNTS_Bot_MessageProvider<any, any, T_PlatformUser>>(
|
|
88
88
|
provider: T_PlatformProvider,
|
|
89
89
|
channelName: string,
|
|
90
90
|
users: T_PlatformUser[]
|
|
@@ -94,7 +94,7 @@ export abstract class DyNTS_Bot_Operations_Util<
|
|
|
94
94
|
|
|
95
95
|
static readMentionsInChannel = this.readLastMessageWithMemberNamePingInIt;
|
|
96
96
|
|
|
97
|
-
static async readLastMessagesInChannel<T_PlatformMessage extends DyNTS_Bot_Message<any>, T_PlatformChannel extends DyNTS_Bot_Channel<any>, T_PlatformProvider extends
|
|
97
|
+
static async readLastMessagesInChannel<T_PlatformMessage extends DyNTS_Bot_Message<any>, T_PlatformChannel extends DyNTS_Bot_Channel<any>, T_PlatformProvider extends DyNTS_Bot_MessageProvider<T_PlatformChannel, T_PlatformMessage, any>>(
|
|
98
98
|
provider: T_PlatformProvider,
|
|
99
99
|
channelName: string,
|
|
100
100
|
): Promise<T_PlatformMessage[]> {
|
|
@@ -102,14 +102,14 @@ export abstract class DyNTS_Bot_Operations_Util<
|
|
|
102
102
|
return await provider.fetchMessages(channel.id, 100);
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
static async getLastMessageInChannel<T_PlatformMessage extends DyNTS_Bot_Message<any>, T_PlatformProvider extends
|
|
105
|
+
static async getLastMessageInChannel<T_PlatformMessage extends DyNTS_Bot_Message<any>, T_PlatformProvider extends DyNTS_Bot_MessageProvider<any, T_PlatformMessage, any>>(
|
|
106
106
|
provider: T_PlatformProvider,
|
|
107
107
|
channelName: string
|
|
108
108
|
): Promise<T_PlatformMessage> {
|
|
109
109
|
return await provider.getLastMessageInChannel(channelName);
|
|
110
110
|
}
|
|
111
111
|
|
|
112
|
-
static async deleteMessage<T_PlatformProvider extends
|
|
112
|
+
static async deleteMessage<T_PlatformProvider extends DyNTS_Bot_MessageProvider<any, any, any>>(
|
|
113
113
|
provider: T_PlatformProvider,
|
|
114
114
|
messageId: string,
|
|
115
115
|
channelId: string
|
|
@@ -121,7 +121,7 @@ export abstract class DyNTS_Bot_Operations_Util<
|
|
|
121
121
|
DyFM_Log.success('Message deleted');
|
|
122
122
|
}
|
|
123
123
|
|
|
124
|
-
static async reportIn<T_PlatformMessage extends DyNTS_Bot_Message<any>, T_PlatformProvider extends
|
|
124
|
+
static async reportIn<T_PlatformMessage extends DyNTS_Bot_Message<any>, T_PlatformProvider extends DyNTS_Bot_MessageProvider<any, T_PlatformMessage, any>>(provider: T_PlatformProvider): Promise<void> {
|
|
125
125
|
try {
|
|
126
126
|
const lastReportMessage = await this.getLastMessageInChannel(
|
|
127
127
|
provider,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DyNTS_Bot_Command } from './bot-command.interface';
|
|
2
|
+
import { DyNTS_Bot_MessageProvider_Config } from './bot-message-provider.interface';
|
|
2
3
|
|
|
3
4
|
export interface DyNTS_Bot_Global_Settings {
|
|
4
5
|
/**
|
|
@@ -85,3 +86,11 @@ export interface DyNTS_Bot_Global_Settings {
|
|
|
85
86
|
|
|
86
87
|
allowBotsInteractEachOther: boolean;
|
|
87
88
|
}
|
|
89
|
+
|
|
90
|
+
export interface DyNTS_Bot_MultiMessageProvider_Settings {
|
|
91
|
+
/** Array of provider configurations (use for multiple providers) */
|
|
92
|
+
providers: DyNTS_Bot_MessageProvider_Config[];
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/** Union type supporting both single and multi-provider configurations */
|
|
96
|
+
export type DyNTS_Bot_Settings = DyNTS_Bot_MessageProvider_Config | (DyNTS_Bot_Global_Settings & DyNTS_Bot_MultiMessageProvider_Settings);
|
package/src/_modules/bot/_models/{bot-provider.interface.ts → bot-message-provider.interface.ts}
RENAMED
|
@@ -3,12 +3,14 @@ import { DyNTS_Bot_Channel } from './bot-channel.interface';
|
|
|
3
3
|
import { DyNTS_Bot_User } from './bot-user.interface';
|
|
4
4
|
import { DyNTS_Bot_LastMessageDate } from './bot-last-message-date.interface';
|
|
5
5
|
import { DyNTS_Bot_LastMentionDate } from './bot-last-mention-date.interface';
|
|
6
|
-
import {
|
|
6
|
+
import { DyNTS_Bot_MessageProvider_Type } from '../_enums/bot-message-provider.enum';
|
|
7
7
|
import { DyNTS_Bot_Global_Settings } from './bot-global-settings.interface';
|
|
8
8
|
|
|
9
|
-
export interface
|
|
10
|
-
provider
|
|
11
|
-
|
|
9
|
+
export interface DyNTS_Bot_MessageProvider_Config extends DyNTS_Bot_Global_Settings {
|
|
10
|
+
/** Unique identifier for this provider instance (required when using multiple providers) */
|
|
11
|
+
providerId?: string;
|
|
12
|
+
messageProvider: DyNTS_Bot_MessageProvider_Type;
|
|
13
|
+
messageProviderInstance?: DyNTS_Bot_MessageProvider;
|
|
12
14
|
discord?: {
|
|
13
15
|
token: string;
|
|
14
16
|
guildId: string;
|
|
@@ -31,13 +33,13 @@ export interface DyNTS_Bot_Provider_Config extends DyNTS_Bot_Global_Settings {
|
|
|
31
33
|
};
|
|
32
34
|
}
|
|
33
35
|
|
|
34
|
-
export interface
|
|
36
|
+
export interface DyNTS_Bot_MessageProvider<
|
|
35
37
|
T_PlatformChannel extends DyNTS_Bot_Channel<any> = DyNTS_Bot_Channel<any>,
|
|
36
38
|
T_PlatformMessage extends DyNTS_Bot_Message<any> = DyNTS_Bot_Message<any>,
|
|
37
39
|
T_PlatformUser extends DyNTS_Bot_User<any> = DyNTS_Bot_User<any>
|
|
38
40
|
> {
|
|
39
41
|
// Initialization
|
|
40
|
-
initialize(config:
|
|
42
|
+
initialize(config: DyNTS_Bot_MessageProvider_Config): Promise<void>;
|
|
41
43
|
login(token: string): Promise<void>;
|
|
42
44
|
|
|
43
45
|
// Channel operations
|
|
@@ -73,7 +75,7 @@ export interface DyNTS_Bot_Provider<
|
|
|
73
75
|
getRolePingsByName?(roleNames: string[]): Promise<string>;
|
|
74
76
|
|
|
75
77
|
// Event binding
|
|
76
|
-
onMessage(handler: (message: T_PlatformMessage, issuer: string) => void): void;
|
|
78
|
+
onMessage(handler: (message: T_PlatformMessage, issuer: string, providerId?: string) => void): void;
|
|
77
79
|
onReady(handler: () => void): void;
|
|
78
80
|
onError(handler: (error: Error) => void): void;
|
|
79
81
|
|
|
@@ -81,5 +83,6 @@ export interface DyNTS_Bot_Provider<
|
|
|
81
83
|
getBotId(): string;
|
|
82
84
|
getBotDisplayName(): string;
|
|
83
85
|
getProviderName(): string;
|
|
86
|
+
getProviderId(): string;
|
|
84
87
|
isReady(): boolean;
|
|
85
88
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { DyNTS_Bot_Message } from './bot-message.interface';
|
|
2
|
+
import { DyNTS_Bot_Channel } from './bot-channel.interface';
|
|
3
|
+
import { DyNTS_Bot_User } from './bot-user.interface';
|
|
4
|
+
import { DyNTS_Bot_MessageProvider } from './bot-message-provider.interface';
|
|
5
|
+
import { DyNTS_Bot_MessageProvider_Type } from '../_enums/bot-message-provider.enum';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Wraps a bot message with provider context
|
|
9
|
+
* This ensures messages include the provider information needed to send replies
|
|
10
|
+
* back through the correct platform
|
|
11
|
+
*/
|
|
12
|
+
export interface DyNTS_Bot_MessageWrapper<
|
|
13
|
+
T_PlatformMessage extends DyNTS_Bot_Message<any> = DyNTS_Bot_Message<any>
|
|
14
|
+
> {
|
|
15
|
+
/** The wrapped message */
|
|
16
|
+
message: T_PlatformMessage;
|
|
17
|
+
|
|
18
|
+
/** Unique identifier for the provider instance */
|
|
19
|
+
providerId: string;
|
|
20
|
+
|
|
21
|
+
/** Type of the provider (discord, slack, teams, dynamo) */
|
|
22
|
+
providerType: DyNTS_Bot_MessageProvider_Type;
|
|
23
|
+
|
|
24
|
+
/** Reference to the provider instance for sending replies */
|
|
25
|
+
provider: DyNTS_Bot_MessageProvider<
|
|
26
|
+
DyNTS_Bot_Channel<any>,
|
|
27
|
+
T_PlatformMessage,
|
|
28
|
+
DyNTS_Bot_User<any>
|
|
29
|
+
>;
|
|
30
|
+
}
|
|
31
|
+
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DyNTS_Bot_Operations_Util } from '../../../_collections/bot-operations.util';
|
|
2
2
|
import { DyNTS_DiB_Message, DyNTS_DiB_Channel, DyNTS_DiB_User } from '../_models/dib-platform.types';
|
|
3
|
-
import {
|
|
3
|
+
import { DyNTS_DiB_MessageProvider } from '../_services/dib-message-provider.service';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Discord Bot Operations Utility
|
|
@@ -11,7 +11,7 @@ export class DyNTS_DiB_Operations_Util extends DyNTS_Bot_Operations_Util<
|
|
|
11
11
|
DyNTS_DiB_Channel,
|
|
12
12
|
DyNTS_DiB_Message,
|
|
13
13
|
DyNTS_DiB_User,
|
|
14
|
-
|
|
14
|
+
DyNTS_DiB_MessageProvider
|
|
15
15
|
> {
|
|
16
16
|
// Discord-specific operations can be added here
|
|
17
17
|
// All base operations are inherited from the generic class
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { DyFM_Error, DyFM_Log } from '@futdevpro/fsm-dynamo';
|
|
2
|
-
import {
|
|
2
|
+
import { DyNTS_DiB_MessageProvider } from '../_services/dib-message-provider.service';
|
|
3
3
|
import { DyNTS_global_settings } from '../../../../../_collections/global-settings.const';
|
|
4
4
|
|
|
5
5
|
export class DyNTS_DiB_Util {
|
|
6
6
|
|
|
7
|
-
static async reportIn(provider:
|
|
7
|
+
static async reportIn(provider: DyNTS_DiB_MessageProvider): Promise<void> {
|
|
8
8
|
try {
|
|
9
9
|
const reportMessage = `${provider.getBotDisplayName()} report for duty! ` +
|
|
10
10
|
`(v${DyNTS_global_settings.systemVersion} ${DyNTS_global_settings.env_settings?.environment})`;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Client, GatewayIntentBits, Guild, Collection, GuildMember, Message, Partials, Role, TextChannel } from 'discord.js';
|
|
2
2
|
import { DyFM_Error, DyFM_Log } from '@futdevpro/fsm-dynamo';
|
|
3
|
-
import {
|
|
3
|
+
import { DyNTS_Bot_MessageProvider, DyNTS_Bot_MessageProvider_Config } from '../../../_models/bot-message-provider.interface';
|
|
4
4
|
import { DyNTS_Bot_LastMessageDate } from '../../../_models/bot-last-message-date.interface';
|
|
5
5
|
import { DyNTS_Bot_LastMentionDate } from '../../../_models/bot-last-mention-date.interface';
|
|
6
|
-
import {
|
|
6
|
+
import { DyNTS_Bot_MessageProvider_Type } from '../../../_enums/bot-message-provider.enum';
|
|
7
7
|
import { DyNTS_DiB_Message, DyNTS_DiB_Channel, DyNTS_DiB_User } from '../_models/dib-platform.types';
|
|
8
8
|
import { DyNTS_global_settings } from '../../../../../_collections/global-settings.const';
|
|
9
9
|
|
|
10
|
-
export class
|
|
10
|
+
export class DyNTS_DiB_MessageProvider implements DyNTS_Bot_MessageProvider<
|
|
11
11
|
DyNTS_DiB_Channel,
|
|
12
12
|
DyNTS_DiB_Message,
|
|
13
13
|
DyNTS_DiB_User
|
|
@@ -17,7 +17,7 @@ export class DyNTS_DiB_Provider implements DyNTS_Bot_Provider<
|
|
|
17
17
|
private channelCache: Map<string, TextChannel>;
|
|
18
18
|
private roleCache: Map<string, Role>;
|
|
19
19
|
private isInitialized: boolean = false;
|
|
20
|
-
private config:
|
|
20
|
+
private config: DyNTS_Bot_MessageProvider_Config;
|
|
21
21
|
|
|
22
22
|
// Event handlers
|
|
23
23
|
private messageHandlers: Array<(message: DyNTS_DiB_Message, issuer: string) => void> = [];
|
|
@@ -29,11 +29,20 @@ export class DyNTS_DiB_Provider implements DyNTS_Bot_Provider<
|
|
|
29
29
|
this.roleCache = new Map();
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
// Public accessors for Discord-specific objects (for backward compatibility with CCAP)
|
|
33
|
+
get discordClient(): Client {
|
|
34
|
+
return this.client;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
get discordGuild(): Guild {
|
|
38
|
+
return this.guild;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
async initialize(config: DyNTS_Bot_MessageProvider_Config): Promise<void> {
|
|
33
42
|
this.config = config;
|
|
34
43
|
|
|
35
|
-
if (config.
|
|
36
|
-
throw new Error(`Invalid provider type: ${config.
|
|
44
|
+
if (config.messageProvider !== DyNTS_Bot_MessageProvider_Type.discord) {
|
|
45
|
+
throw new Error(`Invalid provider type: ${config.messageProvider}. Expected 'discord'`);
|
|
37
46
|
}
|
|
38
47
|
|
|
39
48
|
if (!config.discord) {
|
|
@@ -418,6 +427,10 @@ export class DyNTS_DiB_Provider implements DyNTS_Bot_Provider<
|
|
|
418
427
|
return 'discord';
|
|
419
428
|
}
|
|
420
429
|
|
|
430
|
+
getProviderId(): string {
|
|
431
|
+
return this.config?.providerId || this.getProviderName();
|
|
432
|
+
}
|
|
433
|
+
|
|
421
434
|
isReady(): boolean {
|
|
422
435
|
return this.isInitialized && this.client?.readyAt !== null;
|
|
423
436
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DyFM_Error, DyFM_Log } from '@futdevpro/fsm-dynamo';
|
|
2
|
-
import {
|
|
2
|
+
import { DyNTS_DyB_MessageProvider } from '../_services/dyb-message-provider.service';
|
|
3
3
|
import { DyNTS_DyB_Message, DyNTS_DyB_Channel } from '../_models/dyb-platform.types';
|
|
4
4
|
|
|
5
5
|
export class DyNTS_DyB_Operations_Util {
|
|
@@ -7,7 +7,7 @@ export class DyNTS_DyB_Operations_Util {
|
|
|
7
7
|
/**
|
|
8
8
|
* Get conversation statistics
|
|
9
9
|
*/
|
|
10
|
-
static async getConversationStats(provider:
|
|
10
|
+
static async getConversationStats(provider: DyNTS_DyB_MessageProvider, conversationId: string): Promise<{
|
|
11
11
|
messageCount: number;
|
|
12
12
|
participantCount: number;
|
|
13
13
|
lastActivity: Date | null;
|
|
@@ -35,7 +35,7 @@ export class DyNTS_DyB_Operations_Util {
|
|
|
35
35
|
* Search messages in conversation
|
|
36
36
|
*/
|
|
37
37
|
static async searchMessages(
|
|
38
|
-
provider:
|
|
38
|
+
provider: DyNTS_DyB_MessageProvider,
|
|
39
39
|
conversationId: string,
|
|
40
40
|
searchTerm: string
|
|
41
41
|
): Promise<DyNTS_DyB_Message[]> {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { DyFM_Error, DyFM_Log } from '@futdevpro/fsm-dynamo';
|
|
2
|
-
import {
|
|
2
|
+
import { DyNTS_DyB_MessageProvider } from '../_services/dyb-message-provider.service';
|
|
3
3
|
import { DyNTS_global_settings } from '../../../../../_collections/global-settings.const';
|
|
4
4
|
|
|
5
5
|
export class DyNTS_DyB_Util {
|
|
6
6
|
|
|
7
|
-
static async reportIn(provider:
|
|
7
|
+
static async reportIn(provider: DyNTS_DyB_MessageProvider): Promise<void> {
|
|
8
8
|
try {
|
|
9
9
|
const reportMessage = `${provider.getBotDisplayName()} report for duty! ` +
|
|
10
10
|
`(v${DyNTS_global_settings.systemVersion} ${DyNTS_global_settings.env_settings?.environment})`;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { DyFM_Error, DyFM_Log, week } from '@futdevpro/fsm-dynamo';
|
|
2
|
-
import {
|
|
2
|
+
import { DyNTS_Bot_MessageProvider, DyNTS_Bot_MessageProvider_Config } from '../../../_models/bot-message-provider.interface';
|
|
3
3
|
import { DyNTS_Bot_LastMessageDate } from '../../../_models/bot-last-message-date.interface';
|
|
4
4
|
import { DyNTS_Bot_LastMentionDate } from '../../../_models/bot-last-mention-date.interface';
|
|
5
|
-
import {
|
|
5
|
+
import { DyNTS_Bot_MessageProvider_Type } from '../../../_enums/bot-message-provider.enum';
|
|
6
6
|
import { DyNTS_DyB_Message, DyNTS_DyB_Channel, DyNTS_DyB_User } from '../_models/dyb-platform.types';
|
|
7
7
|
import { DyNTS_global_settings } from '../../../../../_collections/global-settings.const';
|
|
8
8
|
import { DyNTS_Msg_Main_ControlService } from '../../../../messaging/_services/msg-main.control-service';
|
|
@@ -11,13 +11,13 @@ import { DyNTS_Msg_Conversation_DataService } from '../../../../messaging/_servi
|
|
|
11
11
|
import { DyNTS_Msg_Events_Service } from '../../../../messaging/_services/msg-events.service';
|
|
12
12
|
import { DyFM_Msg_Conversation, DyFM_Msg_EventKey, DyFM_Msg_Message, DyFM_Msg_Participant } from '@futdevpro/fsm-dynamo/messaging';
|
|
13
13
|
|
|
14
|
-
export class
|
|
14
|
+
export class DyNTS_DyB_MessageProvider implements DyNTS_Bot_MessageProvider<
|
|
15
15
|
DyNTS_DyB_Channel,
|
|
16
16
|
DyNTS_DyB_Message,
|
|
17
17
|
DyNTS_DyB_User
|
|
18
18
|
> {
|
|
19
19
|
private isInitialized: boolean = false;
|
|
20
|
-
private config:
|
|
20
|
+
private config: DyNTS_Bot_MessageProvider_Config;
|
|
21
21
|
private conversationCache: Map<string, DyNTS_DyB_Channel>;
|
|
22
22
|
private userCache: Map<string, DyNTS_DyB_User>;
|
|
23
23
|
|
|
@@ -37,11 +37,11 @@ export class DyNTS_DyB_Provider implements DyNTS_Bot_Provider<
|
|
|
37
37
|
this.eventsService = DyNTS_Msg_Events_Service.getInstance();
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
async initialize(config:
|
|
40
|
+
async initialize(config: DyNTS_Bot_MessageProvider_Config): Promise<void> {
|
|
41
41
|
this.config = config;
|
|
42
42
|
|
|
43
|
-
if (config.
|
|
44
|
-
throw new Error(`Invalid provider type: ${config.
|
|
43
|
+
if (config.messageProvider !== DyNTS_Bot_MessageProvider_Type.dynamo) {
|
|
44
|
+
throw new Error(`Invalid provider type: ${config.messageProvider}. Expected 'dynamo'`);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
this.isInitialized = true;
|
|
@@ -349,12 +349,16 @@ export class DyNTS_DyB_Provider implements DyNTS_Bot_Provider<
|
|
|
349
349
|
return 'dynamo';
|
|
350
350
|
}
|
|
351
351
|
|
|
352
|
+
getProviderId(): string {
|
|
353
|
+
return this.config.providerId || this.getProviderName();
|
|
354
|
+
}
|
|
355
|
+
|
|
352
356
|
isReady(): boolean {
|
|
353
357
|
return this.isInitialized;
|
|
354
358
|
}
|
|
355
359
|
|
|
356
360
|
// Helper method to get config
|
|
357
|
-
getConfig():
|
|
361
|
+
getConfig(): DyNTS_Bot_MessageProvider_Config {
|
|
358
362
|
return this.config;
|
|
359
363
|
}
|
|
360
364
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DyNTS_Bot_Operations_Util } from '../../../_collections/bot-operations.util';
|
|
2
2
|
import { DyNTS_SlB_Message, DyNTS_SlB_Channel, DyNTS_SlB_User } from '../_models/slb-platform.types';
|
|
3
|
-
import {
|
|
3
|
+
import { DyNTS_SlB_MessageProvider } from '../_services/slb-message-provider.service';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Slack Bot Operations Utility
|
|
@@ -11,7 +11,7 @@ export class DyNTS_SlB_Operations_Util extends DyNTS_Bot_Operations_Util<
|
|
|
11
11
|
DyNTS_SlB_Channel,
|
|
12
12
|
DyNTS_SlB_Message,
|
|
13
13
|
DyNTS_SlB_User,
|
|
14
|
-
|
|
14
|
+
DyNTS_SlB_MessageProvider
|
|
15
15
|
> {
|
|
16
16
|
// Slack-specific operations can be added here
|
|
17
17
|
// All base operations are inherited from the generic class
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DyNTS_Bot_MessageProvider, DyNTS_Bot_MessageProvider_Config } from '../../../_models/bot-message-provider.interface';
|
|
2
2
|
import { DyNTS_Bot_LastMessageDate } from '../../../_models/bot-last-message-date.interface';
|
|
3
3
|
import { DyNTS_Bot_LastMentionDate } from '../../../_models/bot-last-mention-date.interface';
|
|
4
|
-
import {
|
|
4
|
+
import { DyNTS_Bot_MessageProvider_Type } from '../../../_enums/bot-message-provider.enum';
|
|
5
5
|
import { DyNTS_SlB_Message, DyNTS_SlB_Channel, DyNTS_SlB_User } from '../_models/slb-platform.types';
|
|
6
6
|
|
|
7
|
-
export class
|
|
7
|
+
export class DyNTS_SlB_MessageProvider implements DyNTS_Bot_MessageProvider<
|
|
8
8
|
DyNTS_SlB_Channel,
|
|
9
9
|
DyNTS_SlB_Message,
|
|
10
10
|
DyNTS_SlB_User
|
|
11
11
|
> {
|
|
12
12
|
private isInitialized: boolean = false;
|
|
13
|
-
private config:
|
|
13
|
+
private config: DyNTS_Bot_MessageProvider_Config;
|
|
14
14
|
|
|
15
15
|
// Event handlers
|
|
16
16
|
private messageHandlers: Array<(message: DyNTS_SlB_Message, issuer: string) => void> = [];
|
|
17
17
|
private readyHandlers: Array<() => void> = [];
|
|
18
18
|
private errorHandlers: Array<(error: Error) => void> = [];
|
|
19
19
|
|
|
20
|
-
async initialize(config:
|
|
20
|
+
async initialize(config: DyNTS_Bot_MessageProvider_Config): Promise<void> {
|
|
21
21
|
this.config = config;
|
|
22
22
|
|
|
23
|
-
if (config.
|
|
24
|
-
throw new Error(`Invalid provider type: ${config.
|
|
23
|
+
if (config.messageProvider !== DyNTS_Bot_MessageProvider_Type.slack) {
|
|
24
|
+
throw new Error(`Invalid provider type: ${config.messageProvider}. Expected 'slack'`);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
if (!config.slack) {
|
|
@@ -146,6 +146,10 @@ export class DyNTS_SlB_Provider implements DyNTS_Bot_Provider<
|
|
|
146
146
|
return 'slack';
|
|
147
147
|
}
|
|
148
148
|
|
|
149
|
+
getProviderId(): string {
|
|
150
|
+
return this.config?.providerId || this.getProviderName();
|
|
151
|
+
}
|
|
152
|
+
|
|
149
153
|
isReady(): boolean {
|
|
150
154
|
return this.isInitialized;
|
|
151
155
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DyNTS_Bot_Operations_Util } from '../../../_collections/bot-operations.util';
|
|
2
2
|
import { DyNTS_TeB_Message, DyNTS_TeB_Channel, DyNTS_TeB_User } from '../_models/teb-platform.types';
|
|
3
|
-
import {
|
|
3
|
+
import { DyNTS_TeB_MessageProvider } from '../_services/teb-message-provider.service';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Teams Bot Operations Utility
|
|
@@ -11,7 +11,7 @@ export class DyNTS_TeB_Operations_Util extends DyNTS_Bot_Operations_Util<
|
|
|
11
11
|
DyNTS_TeB_Channel,
|
|
12
12
|
DyNTS_TeB_Message,
|
|
13
13
|
DyNTS_TeB_User,
|
|
14
|
-
|
|
14
|
+
DyNTS_TeB_MessageProvider
|
|
15
15
|
> {
|
|
16
16
|
// Teams-specific operations can be added here
|
|
17
17
|
// All base operations are inherited from the generic class
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DyNTS_Bot_MessageProvider, DyNTS_Bot_MessageProvider_Config } from '../../../_models/bot-message-provider.interface';
|
|
2
2
|
import { DyNTS_Bot_LastMessageDate } from '../../../_models/bot-last-message-date.interface';
|
|
3
3
|
import { DyNTS_Bot_LastMentionDate } from '../../../_models/bot-last-mention-date.interface';
|
|
4
|
-
import {
|
|
4
|
+
import { DyNTS_Bot_MessageProvider_Type } from '../../../_enums/bot-message-provider.enum';
|
|
5
5
|
import { DyNTS_TeB_Message, DyNTS_TeB_Channel, DyNTS_TeB_User } from '../_models/teb-platform.types';
|
|
6
6
|
|
|
7
|
-
export class
|
|
7
|
+
export class DyNTS_TeB_MessageProvider implements DyNTS_Bot_MessageProvider<
|
|
8
8
|
DyNTS_TeB_Channel,
|
|
9
9
|
DyNTS_TeB_Message,
|
|
10
10
|
DyNTS_TeB_User
|
|
11
11
|
> {
|
|
12
12
|
private isInitialized: boolean = false;
|
|
13
|
-
private config:
|
|
13
|
+
private config: DyNTS_Bot_MessageProvider_Config;
|
|
14
14
|
|
|
15
15
|
// Event handlers
|
|
16
16
|
private messageHandlers: Array<(message: DyNTS_TeB_Message, issuer: string) => void> = [];
|
|
17
17
|
private readyHandlers: Array<() => void> = [];
|
|
18
18
|
private errorHandlers: Array<(error: Error) => void> = [];
|
|
19
19
|
|
|
20
|
-
async initialize(config:
|
|
20
|
+
async initialize(config: DyNTS_Bot_MessageProvider_Config): Promise<void> {
|
|
21
21
|
this.config = config;
|
|
22
22
|
|
|
23
|
-
if (config.
|
|
24
|
-
throw new Error(`Invalid provider type: ${config.
|
|
23
|
+
if (config.messageProvider !== DyNTS_Bot_MessageProvider_Type.teams) {
|
|
24
|
+
throw new Error(`Invalid provider type: ${config.messageProvider}. Expected 'teams'`);
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
if (!config.teams) {
|
|
@@ -146,6 +146,10 @@ export class DyNTS_TeB_Provider implements DyNTS_Bot_Provider<
|
|
|
146
146
|
return 'teams';
|
|
147
147
|
}
|
|
148
148
|
|
|
149
|
+
getProviderId(): string {
|
|
150
|
+
return this.config?.providerId || this.getProviderName();
|
|
151
|
+
}
|
|
152
|
+
|
|
149
153
|
isReady(): boolean {
|
|
150
154
|
return this.isInitialized;
|
|
151
155
|
}
|
|
@@ -7,17 +7,18 @@ import { DyNTS_Bot_Message } from '../_models/bot-message.interface';
|
|
|
7
7
|
import { DyNTS_Bot_Global_Settings } from '../_models/bot-global-settings.interface';
|
|
8
8
|
import { DyNTS_Bot_User } from '../_models/bot-user.interface';
|
|
9
9
|
import { DyNTS_Bot_Channel } from '../_models/bot-channel.interface';
|
|
10
|
-
import {
|
|
10
|
+
import { DyNTS_Bot_MessageProvider, DyNTS_Bot_MessageProvider_Config } from '../_models/bot-message-provider.interface';
|
|
11
|
+
import { DyNTS_Bot_MessageWrapper } from '../_models/bot-message-wrapper.interface';
|
|
11
12
|
|
|
12
13
|
export abstract class DyNTS_Bot_Commands_ControlService<
|
|
13
14
|
T_PlatformMessage extends DyNTS_Bot_Message<any> = DyNTS_Bot_Message<any>,
|
|
14
15
|
T_PlatformChannel extends DyNTS_Bot_Channel<any> = DyNTS_Bot_Channel<any>,
|
|
15
16
|
T_PlatformUser extends DyNTS_Bot_User<any> = DyNTS_Bot_User<any>,
|
|
16
|
-
T_PlatformProvider extends
|
|
17
|
+
T_PlatformProvider extends DyNTS_Bot_MessageProvider<
|
|
17
18
|
T_PlatformChannel,
|
|
18
19
|
T_PlatformMessage,
|
|
19
20
|
T_PlatformUser
|
|
20
|
-
> =
|
|
21
|
+
> = DyNTS_Bot_MessageProvider<T_PlatformChannel, T_PlatformMessage, T_PlatformUser>
|
|
21
22
|
> extends DyNTS_SingletonService {
|
|
22
23
|
|
|
23
24
|
static getInstance<T_PlatformMessage extends DyNTS_Bot_Message<any>>(): DyNTS_Bot_Commands_ControlService<T_PlatformMessage> {
|
|
@@ -50,9 +51,9 @@ export abstract class DyNTS_Bot_Commands_ControlService<
|
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
53
|
|
|
53
|
-
async handleCommand(message: T_PlatformMessage, issuer: string): Promise<void> {
|
|
54
|
+
async handleCommand(message: T_PlatformMessage, wrapper: DyNTS_Bot_MessageWrapper<T_PlatformMessage>, issuer: string): Promise<void> {
|
|
54
55
|
try {
|
|
55
|
-
const botSettings = DyNTS_global_settings.bot_settings as
|
|
56
|
+
const botSettings = DyNTS_global_settings.bot_settings as DyNTS_Bot_MessageProvider_Config;
|
|
56
57
|
let haveCommandOperator = false;
|
|
57
58
|
let msg = message.content.replace(
|
|
58
59
|
`<@${this.mainBot_CS.botClientId}>`, ''
|
|
@@ -110,7 +111,8 @@ export abstract class DyNTS_Bot_Commands_ControlService<
|
|
|
110
111
|
|
|
111
112
|
await commandExists.commandHandler(message);
|
|
112
113
|
} catch (error) {
|
|
113
|
-
this.provider
|
|
114
|
+
const provider = wrapper?.provider || this.provider;
|
|
115
|
+
provider.replyToMessage(
|
|
114
116
|
message.id,
|
|
115
117
|
message.channelId,
|
|
116
118
|
`Error occurred while handling the command:\n` +
|