@quenty/chatproviderservice 9.53.0 → 9.54.0
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/CHANGELOG.md +10 -0
- package/package.json +11 -11
- package/src/Client/ChatProviderServiceClient.lua +27 -14
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [9.54.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/chatproviderservice@9.53.0...@quenty/chatproviderservice@9.54.0) (2026-07-14)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- **lint:** resolve selene and moonwave issues from strict conversions ([d427005](https://github.com/Quenty/NevermoreEngine/commit/d42700569ecb085fee4166c5bfdad382dd8442c2))
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
- **chatproviderservice:** convert package to --!strict ([3edae04](https://github.com/Quenty/NevermoreEngine/commit/3edae04e44a9bcda2cf43367719d67fb08769fa4))
|
|
15
|
+
|
|
6
16
|
# [9.53.0](https://github.com/Quenty/NevermoreEngine/compare/@quenty/chatproviderservice@9.52.2...@quenty/chatproviderservice@9.53.0) (2026-06-24)
|
|
7
17
|
|
|
8
18
|
### Features
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quenty/chatproviderservice",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.54.0",
|
|
4
4
|
"description": "Provide wrapper around chat system to allow tags to be set",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Roblox",
|
|
@@ -30,26 +30,26 @@
|
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@quenty/attributeutils": "14.30.1",
|
|
32
32
|
"@quenty/baseobject": "10.13.0",
|
|
33
|
-
"@quenty/binder": "14.
|
|
33
|
+
"@quenty/binder": "14.37.0",
|
|
34
34
|
"@quenty/brio": "14.30.1",
|
|
35
|
-
"@quenty/clienttranslator": "14.
|
|
36
|
-
"@quenty/cmdrservice": "13.
|
|
37
|
-
"@quenty/color3utils": "11.
|
|
38
|
-
"@quenty/datastore": "13.
|
|
35
|
+
"@quenty/clienttranslator": "14.38.0",
|
|
36
|
+
"@quenty/cmdrservice": "13.46.0",
|
|
37
|
+
"@quenty/color3utils": "11.37.0",
|
|
38
|
+
"@quenty/datastore": "13.40.0",
|
|
39
39
|
"@quenty/instanceutils": "13.30.1",
|
|
40
40
|
"@quenty/loader": "10.11.0",
|
|
41
|
-
"@quenty/localizedtextutils": "12.
|
|
41
|
+
"@quenty/localizedtextutils": "12.31.0",
|
|
42
42
|
"@quenty/maid": "3.9.0",
|
|
43
43
|
"@quenty/nevermore-test-runner": "1.4.0",
|
|
44
|
-
"@quenty/permissionprovider": "14.
|
|
45
|
-
"@quenty/playerbinder": "14.
|
|
44
|
+
"@quenty/permissionprovider": "14.39.0",
|
|
45
|
+
"@quenty/playerbinder": "14.37.0",
|
|
46
46
|
"@quenty/playerutils": "8.32.1",
|
|
47
47
|
"@quenty/preferredparentutils": "4.4.2",
|
|
48
48
|
"@quenty/promise": "10.18.1",
|
|
49
49
|
"@quenty/remoting": "12.32.1",
|
|
50
50
|
"@quenty/richtext": "1.4.2",
|
|
51
51
|
"@quenty/rx": "13.28.3",
|
|
52
|
-
"@quenty/rxbinderutils": "14.
|
|
52
|
+
"@quenty/rxbinderutils": "14.37.0",
|
|
53
53
|
"@quenty/servicebag": "11.18.1",
|
|
54
54
|
"@quenty/signal": "7.13.1",
|
|
55
55
|
"@quenty/string": "3.3.7",
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
"publishConfig": {
|
|
61
61
|
"access": "public"
|
|
62
62
|
},
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "13f0162f4971a77378e55e9b7236aea94f0dd3a8"
|
|
64
64
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
--!
|
|
1
|
+
--!strict
|
|
2
2
|
--[=[
|
|
3
3
|
@class ChatProviderServiceClient
|
|
4
4
|
]=]
|
|
@@ -9,6 +9,8 @@ local HttpService = game:GetService("HttpService")
|
|
|
9
9
|
local Players = game:GetService("Players")
|
|
10
10
|
local TextChatService = game:GetService("TextChatService")
|
|
11
11
|
|
|
12
|
+
local Binder = require("Binder")
|
|
13
|
+
local HasChatTagsClient = require("HasChatTagsClient")
|
|
12
14
|
local Maid = require("Maid")
|
|
13
15
|
local ServiceBag = require("ServiceBag")
|
|
14
16
|
local Signal = require("Signal")
|
|
@@ -18,13 +20,23 @@ local TextChannelUtils = require("TextChannelUtils")
|
|
|
18
20
|
local ChatProviderServiceClient = {}
|
|
19
21
|
ChatProviderServiceClient.ServiceName = "ChatProviderServiceClient"
|
|
20
22
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
+
export type ChatProviderServiceClient = typeof(setmetatable(
|
|
24
|
+
{} :: {
|
|
25
|
+
_serviceBag: ServiceBag.ServiceBag,
|
|
26
|
+
_maid: Maid.Maid,
|
|
27
|
+
MessageIncoming: Signal.Signal<TextChatMessage>,
|
|
28
|
+
_hasChatTagsBinder: Binder.Binder<HasChatTagsClient.HasChatTagsClient>,
|
|
29
|
+
},
|
|
30
|
+
{} :: typeof({ __index = ChatProviderServiceClient })
|
|
31
|
+
))
|
|
32
|
+
|
|
33
|
+
function ChatProviderServiceClient.Init(self: ChatProviderServiceClient, serviceBag: ServiceBag.ServiceBag): ()
|
|
34
|
+
assert(not (self :: any)._serviceBag, "Already initialized")
|
|
23
35
|
self._serviceBag = assert(serviceBag, "No serviceBag")
|
|
24
36
|
self._maid = Maid.new()
|
|
25
37
|
|
|
26
38
|
-- State
|
|
27
|
-
self.MessageIncoming = self._maid:Add(Signal.new())
|
|
39
|
+
self.MessageIncoming = self._maid:Add((Signal.new() :: any) :: Signal.Signal<TextChatMessage>)
|
|
28
40
|
|
|
29
41
|
-- External
|
|
30
42
|
self._serviceBag:GetService(require("CmdrServiceClient"))
|
|
@@ -33,11 +45,11 @@ function ChatProviderServiceClient:Init(serviceBag: ServiceBag.ServiceBag)
|
|
|
33
45
|
self._serviceBag:GetService(require("ChatTagClient"))
|
|
34
46
|
self._serviceBag:GetService(require("ChatProviderTranslator"))
|
|
35
47
|
self._serviceBag:GetService(require("ChatProviderCommandServiceClient"))
|
|
36
|
-
self._hasChatTagsBinder = self._serviceBag:GetService(
|
|
48
|
+
self._hasChatTagsBinder = self._serviceBag:GetService(HasChatTagsClient)
|
|
37
49
|
end
|
|
38
50
|
|
|
39
|
-
function ChatProviderServiceClient
|
|
40
|
-
TextChatService.OnIncomingMessage = function(textChatMessage)
|
|
51
|
+
function ChatProviderServiceClient.Start(self: ChatProviderServiceClient): ()
|
|
52
|
+
TextChatService.OnIncomingMessage = function(textChatMessage): TextChatMessageProperties?
|
|
41
53
|
self.MessageIncoming:Fire(textChatMessage)
|
|
42
54
|
|
|
43
55
|
local metadata = textChatMessage.Metadata
|
|
@@ -63,10 +75,10 @@ function ChatProviderServiceClient:Start()
|
|
|
63
75
|
|
|
64
76
|
local textSource = textChatMessage.TextSource
|
|
65
77
|
if not textSource then
|
|
66
|
-
return
|
|
78
|
+
return nil
|
|
67
79
|
end
|
|
68
80
|
|
|
69
|
-
local tags =
|
|
81
|
+
local tags = ChatProviderServiceClient._renderTags(self, textSource)
|
|
70
82
|
if tags then
|
|
71
83
|
local properties = Instance.new("TextChatMessageProperties")
|
|
72
84
|
local name = String.removePostfix(textChatMessage.PrefixText, ":")
|
|
@@ -76,7 +88,7 @@ function ChatProviderServiceClient:Start()
|
|
|
76
88
|
return properties
|
|
77
89
|
end
|
|
78
90
|
|
|
79
|
-
return
|
|
91
|
+
return nil
|
|
80
92
|
end
|
|
81
93
|
end
|
|
82
94
|
|
|
@@ -85,11 +97,12 @@ end
|
|
|
85
97
|
@param encodedMessageData string
|
|
86
98
|
@param channel TextChannel?
|
|
87
99
|
]=]
|
|
88
|
-
function ChatProviderServiceClient
|
|
100
|
+
function ChatProviderServiceClient.SendSystemMessage(
|
|
101
|
+
_self: ChatProviderServiceClient,
|
|
89
102
|
message: string,
|
|
90
103
|
encodedMessageData: string?,
|
|
91
104
|
channel: TextChannel?
|
|
92
|
-
)
|
|
105
|
+
): ()
|
|
93
106
|
assert(typeof(message) == "string", "[ChatProviderServiceClient.SendSystemMessage] - Bad message")
|
|
94
107
|
|
|
95
108
|
if not channel then
|
|
@@ -104,7 +117,7 @@ function ChatProviderServiceClient:SendSystemMessage(
|
|
|
104
117
|
channel:DisplaySystemMessage(message, encodedMessageData)
|
|
105
118
|
end
|
|
106
119
|
|
|
107
|
-
function ChatProviderServiceClient
|
|
120
|
+
function ChatProviderServiceClient._renderTags(self: ChatProviderServiceClient, textSource: TextSource): string?
|
|
108
121
|
local player = Players:GetPlayerByUserId(textSource.UserId)
|
|
109
122
|
if not player then
|
|
110
123
|
return nil
|
|
@@ -119,7 +132,7 @@ function ChatProviderServiceClient:_renderTags(textSource)
|
|
|
119
132
|
return hasChatTags:GetAsRichText()
|
|
120
133
|
end
|
|
121
134
|
|
|
122
|
-
function ChatProviderServiceClient
|
|
135
|
+
function ChatProviderServiceClient.Destroy(self: ChatProviderServiceClient): ()
|
|
123
136
|
self._maid:DoCleaning()
|
|
124
137
|
end
|
|
125
138
|
|