Download
(10 Kb)
Download
Updated: 03/22/24 04:02 PM
Compatibility:
Scions of Ithelia (9.3.0)
Updated:03/22/24 04:02 PM
Created:05/28/19 09:18 AM
Monthly downloads:75,875
Total downloads:1,700,043
Favorites:1,256
MD5:
Categories:Libraries, Data Mods
9.3.0
LibChatMessage  Updated this week!  Popular! (More than 5000 hits)
Version: 1.2.1
by: sirinsidiator [More]
For years addon authors have abused the debug methods d(), df() and CHAT_SYSTEM:AddMessage() to show messages in chat or even added text directly to the chat buffer, preventing other addons from interacting with the output. LibChatMessage offers an easy alternative that uses the same method as the vanilla UI to print system messages.

Features

Chat Messages
The main purpose of the library is to provide an easy API that can be used to print messages in chat. This is done via so called chat proxy objects. Each addon can create their own proxy and call the Print and Printf method (similar to d() and df()).

Addon Tag
The library will automatically prefix each message with a tag provided to each chat proxy instance by their addon. Users can choose if they want the tag to be the full addon name or a shortened string.

Time Prefix
The library can also print the current time in front of each chat message. This is disabled by default to avoid compatibility issues with other chat addons, but can be enabled via the settings explained below.

Chat History
Another feature of the library is to store all incoming chat messages and restore them again at UI load. This is also disabled by default to avoid compatibility problems (especially with pChat). Unlike with pChat the history is saved in raw form, meaning that any modifications to the message made by addons are not stored and instead applied when the messages are restored. This also means that information like the guild name is lost when the player leaves a guild and can lead to restored messages showing no or even a different guild name.

Custom Chat Links
Starting with version 1.2.0, the library offers a way for addons to send arbitrary data links in chat.

Known Issue/Drawback
  • If you register a chat link, but do not handle it, an error will occur, if the user clicks it.
  • Chat bubbles will show raw data. We can not modify them.
  • In order to display custom links in the chat input box, the lib sets all types of markup as allowed. this means that the text shown in the box may look different from what is actually being sent or visible to users without the library. For example a single | (pipe) character won't show until the message is sent and using color markup will change the text color in the input field, but show up as raw text in the chat once sent.

Quick Start
Add LibChatMessage as a dependency to your addon manifest:
Code:
## DependsOn: LibChatMessage
Afterwards you can create a chat proxy and print messages like so:
Lua Code:
  1. local chat = LibChatMessage("MyAddon", "MA") -- long and short tag to identify who is printing the message
  2. chat:Print("Simple message") -- instead of d()
  3. chat:Printf("Formatted %s", "message") -- instead of df()
  4. chat:SetTagColor("ff0000"):Print("Message with a different tag color") -- To change the tag color for e.g. warnings. The message itself can be colored with a color tag, although I can't really recommend doing that
  5. chat:SetEnabled(false) -- in case the output of this ChatProxy should be enabled. Could be used when a settings is supposed to disable chat messages for an addon
  6. chat:Print("Ignored message") -- won't show up

Settings
LibChatMessage offers several settings to allow players to control the look of the output. The settings can be changed via the "/chatmessage" slash command, or via the libraries API. Using the slash command with an invalid command will print the following message to chat:
Code:
/chatmessage <command> [argument]
<time>      [on/off]           Enables or disables the time prefix
<chat>      [on/off]           Controls the time prefix on regular chat
<format>    [auto/12h/24h]     Changes the used time format
<tag>       [off/short/long]   Changes the length of the used tag
<history>   [on/off]           Restore old chat after login
<age>       [seconds]          The maximum age of restored chat
Example: /chatmessage tag short
Using a command without an argument will print the current state of the setting to chat.

API Reference

Create
Returns a new instance of ChatProxy with the given tags.
Code:
local chat = LibChatMessage.Create(longTag, shortTag)
or
Code:
local chat = LibChatMessage(longTag, shortTag)
ChatProxy:SetTagColor
Sets the color of the message tag for the next printed message (resets afterwards). Can be either a hex string ("ff0000") or a ZO_ColorDef object. Returns the ChatProxy instance so the call can be chained as shown in the quick start example.
Code:
local chat = chat:SetTagColor(color)
ChatProxy:Print
Method to a print regular messages to chat. The message will automatically be prefixed with the time and tag based on user preferences.
Code:
chat:Print(message)
ChatProxy:Printf
Method to print a message formatted via string.format to chat. The message will automatically be prefixed with the time and tag based on user preferences.
Code:
chat:Printf(formatString, ...)
ChatProxy:SetEnabled
Setter to turn this proxy off, so it no longer prints anything to chat when one of its methods is called. Can be used to easily enable or disable chat messages for an addon based on user preferences.
Code:
chat:SetEnabled(enabled)
ClearChat
Removes all messages from all chat windows.
Code:
LibChatMessage:ClearChat()
ClearHistory
Removes all stored messages from the chat history.
Code:
LibChatMessage:ClearHistory()
GetHistory
Returns the current chat history table.
Code:
LibChatMessage:GetHistory()
SetTimePrefixEnabled
Sets the time prefix feature enabled or disabled. Disabled by default as it may cause problems with other chat addons that have similar features.
Code:
LibChatMessage:SetTimePrefixEnabled(enabled)
IsTimePrefixEnabled
Returns true if the time prefix feature is enabled.
Code:
local enabled = LibChatMessage:IsTimePrefixEnabled()
SetRegularChatMessageTimePrefixEnabled
Sets the time prefix feature for player chat channels enabled or disabled. Enabled by default, but only counts if the time prefix feature itself is turned on.
Code:
LibChatMessage:SetTimePrefixEnabled(enabled)
IsRegularChatMessageTimePrefixEnabled
Returns true if the time prefix feature is enabled for player chat channels.
Code:
local enabled = LibChatMessage:IsTimePrefixEnabled()
TIME_FORMATS
An array containing the time formats passed to os.date for the time prefix.
  1. TIME_FORMAT_AUTO = "[%X]" - uses locale dependent formatting
  2. TIME_FORMAT_12 = "[%I:%M:%S %p]" - 12h time format
  3. TIME_FORMAT_24 = "[%T]" - 24h time format (ISO 8601)

SetTimePrefixFormat
Sets the format for the time prefix feature. Can be either one contained in TIME_FORMATS, or a custom format string. Custom strings should be wrapped in brackets.
Code:
LibChatMessage:SetTimePrefixFormat(format)
GetTimePrefixFormat
Returns the time prefix formatting string.
Code:
local format = LibChatMessage:GetTimePrefixFormat()
SetTagPrefixMode
Sets the mode used for the proxy tag for addon messages.
Available modes are:
  1. TAG_PREFIX_OFF - Disables showing a tag. The long tag will still be stored in the history in case it is enabled.
  2. TAG_PREFIX_LONG - Prints the long tag provided by an addon in front of the message
  3. TAG_PREFIX_SHORT - Prints the short tag provided by an addon in front of the message
Code:
LibChatMessage:SetTagPrefixMode(mode)
GetTagPrefixMode
Returns the current message tag mode.
Code:
local mode = LibChatMessage:GetTagPrefixMode()
SetChatHistoryEnabled
Sets the chat history feature enabled or disabled on the next UI load. This feature is not compatible with pChat and disabled by default.
Code:
LibChatMessage:SetChatHistoryEnabled(enabled)
IsChatHistoryEnabled
Returns true if the message history will be enabled on the next UI load.
Code:
local enabled = LibChatMessage:IsChatHistoryEnabled()
IsChatHistoryActive
Returns true if the message history is active right now.
Code:
local enabled = LibChatMessage:IsChatHistoryActive()
SetChatHistoryMaxAge
Sets the maximum age for chat messages to be restored on UI load in seconds. Default is 3600s (= 1h).
Code:
LibChatMessage:SetChatHistoryMaxAge(maxAge)
GetChatHistoryMaxAge
Returns the maximum age for chat messages in the history.
Code:
local maxAge = LibChatMessage:GetChatHistoryMaxAge()
RegisterCustomChatLink
Register a link type to be valid. Optional with a reformatter function.
All unregistered chat links will be change to an "unknown" link with all data stripped off upon receiving them from chat channel.
If someone is posting a chat link to someone, not having the addon it belongs to, a message is shown in the upper right corner instead of causing an error.

Code:
LibChatMessage:RegisterCustomChatLink(YOUR_LINK_TYPE)
LibChatMessage:RegisterCustomChatLink(YOUR_LINK_TYPE, reformatLinkFunc)
The reformatter has the following signature:
Code:
local function reformatLink(linkStyle, linkType, data, displayText)
    return ZO_LinkHandler_CreateLinkWithFormat(displayText, nil, linkType, linkStyle, data)
end
LibChatMessage:RegisterCustomChatLink(YOUR_LINK_TYPE, reformatLink)
displayText - Text shown to the user
linkTyype - Your link type (YOUR_LINK_TYPE)
linkStyle - Built-in values: LINK_STYLE_BRACKETS, LINK_STYLE_DEFAULT (number)
data - remaining part of the chat link containing the data your provided. (string)

The reformatter function can be used to localize the displayText.
Your chat link must provide at least one data column.

After registering a link type, you MUST add a link click handler.
See https://wiki.esoui.com/How_to_create_custom_links.

Example
Code:
function addon:OnLinkClicked(link, button, text, color, linkType, ...)
    if linkType ~= YOUR_LINK_TYPE then
        return
    end
    if button == MOUSE_BUTTON_INDEX_LEFT then
        -- Do your stuff
    elseif button == MOUSE_BUTTON_INDEX_MIDDLE then
        -- Do your stuff
    end
    return true -- link has been handled
end

function addon:InitLinkHandler()
    LINK_HANDLER:RegisterCallback(LINK_HANDLER.LINK_CLICKED_EVENT, self.OnLinkClicked, self)
    LINK_HANDLER:RegisterCallback(LINK_HANDLER.LINK_MOUSE_UP_EVENT, self.OnLinkClicked, self)
end
The value of the "unknown" link type can be found here:
LibChatMessage.UNKNOWN_LINK_TYPE
v1.2.1
- fixed error on chat history restore due to corrupted saved variable after a very long addon generated message was printed
- updated for Scions of Ithelia

v1.2.0
- added support for custom chat links (thanks votan)
- updated for Blackwood

v1.1.3
- fixed error when events are received before saved variables are loaded

v1.1.2
- updated for chat system changes in game version 5.3.5 (temporary workaround has been removed)

v1.1.1
- fixed error when an addon tries to print a message during initialization

v1.1.0
- added temporary workaround for chat formatters not working. See description for details.
- updated for Harrowstorm

v1.0.1
- added missing IsLibrary flag
Archived Files (7)
File Name
Version
Size
Uploader
Date
1.2.0
10kB
sirinsidiator
04/22/21 01:33 PM
1.1.3
5kB
sirinsidiator
03/02/20 01:26 PM
1.1.2
5kB
sirinsidiator
03/02/20 12:10 PM
1.1.1
6kB
sirinsidiator
02/25/20 01:55 PM
1.1.0
6kB
sirinsidiator
02/24/20 02:43 AM
1.0.1
5kB
sirinsidiator
06/01/19 05:15 AM
1.0.0
5kB
sirinsidiator
05/28/19 09:18 AM


Post A Reply Comment Options
Unread 11/06/19, 10:54 PM  
silvereyes
 
silvereyes's Avatar
AddOn Author - Click to view AddOns

Forum posts: 66
File comments: 384
Uploads: 17
I'm definitely considering adding LibChatMessage to my addons, but I have a problem.

Most of my addons already allow toggling between long and short prefixes in addon settings, but LibChatMessage only offers a global toggle, hidden in a slash command that users will never see.

Do you have any suggestions on how to handle this without completely confusing users?
Report comment to moderator  
Reply With Quote
Unread 11/07/19, 06:06 AM  
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1566
File comments: 1119
Uploads: 41
Originally Posted by silvereyes
I'm definitely considering adding LibChatMessage to my addons, but I have a problem.

Most of my addons already allow toggling between long and short prefixes in addon settings, but LibChatMessage only offers a global toggle, hidden in a slash command that users will never see.

Do you have any suggestions on how to handle this without completely confusing users?
You are actually the second person who asks something similar in just a week.
I've thought a bit about the issue and guess I'll change the tag setting to allow four values:
  • Auto - will be the new default and use whatever an addon specifies
  • Long - forces the full length tag regardless of addon preference
  • Short - same as long, but short
  • None - completely hides the tag from the chat messages
Addons then can set their own preference in some way I haven't thought about yet and users will be able to overwrite it. What do you think?
Last edited by sirinsidiator : 11/07/19 at 06:07 AM.
Report comment to moderator  
Reply With Quote
Unread 11/07/19, 10:35 AM  
silvereyes
 
silvereyes's Avatar
AddOn Author - Click to view AddOns

Forum posts: 66
File comments: 384
Uploads: 17
Originally Posted by sirinsidiator
Addons then can set their own preference in some way I haven't thought about yet and users will be able to overwrite it. What do you think?
The ability to configure either long or short tags on a ChatProxy instance and toggle it live would be ideal for me. I don't know if it needs to be the default functionality, though. Maybe have it default to the global toggle if not specified, but if explicitly set by the addon to be long or short, then use that. I don't think it needs to be any more complicated than that.
Report comment to moderator  
Reply With Quote
Unread 11/07/19, 06:48 PM  
silvereyes
 
silvereyes's Avatar
AddOn Author - Click to view AddOns

Forum posts: 66
File comments: 384
Uploads: 17
Also, if it's not too much to ask, I would also love a couple more options on the ChatProxy class:
  • The option to not clear self.tagColor every time GetTag() is called
  • The ability to change self.shortTag and self.longTag after instantiation
Report comment to moderator  
Reply With Quote
Unread 11/13/19, 08:15 PM  
silvereyes
 
silvereyes's Avatar
AddOn Author - Click to view AddOns

Forum posts: 66
File comments: 384
Uploads: 17
fwiw, here is the extended ChatProxy class that's now included with Postmaster and Unboxer:
Lua Code:
  1. --[[
  2.      A customized version of the ChatProxy class from LibChatMessage
  3. ]]--
  4.  
  5. local addon = Postmaster
  6. local class = addon.classes
  7. local debug = false
  8. local TAG_FORMAT = "[%s]"
  9. local COLOR_FORMAT = "|c%s%s|r"
  10. local baseClass = getmetatable(LibChatMessage("__", "_"))
  11.  
  12. class.ChatProxy = baseClass:Subclass()
  13.  
  14. function class.ChatProxy:New(...)
  15.     local chat = baseClass.New(self, ...)
  16.     chat.retainTagColor = true
  17.     chat.tagSuffix = ""
  18.     return chat
  19. end
  20.  
  21. --- Internal method to retrieve the colored tag.
  22. --- @return string, the colored tag
  23. function class.ChatProxy:GetTag()
  24.     local tag
  25.     if self.shortTagPrefixEnabled ~= nil then
  26.         tag = self.shortTagPrefixEnabled and self.shortTag or self.longTag
  27.     else
  28.         tag = LibChatMessage.settings.shortTagPrefixEnabled and self.shortTag or self.longTag
  29.     end
  30.     tag = tag .. self.tagSuffix
  31.     tag = TAG_FORMAT:format(tag)
  32.     if(self.tagColor) then
  33.         tag = COLOR_FORMAT:format(self.tagColor, tag)
  34.         if not self.retainTagColor then
  35.             self.tagColor = nil
  36.         end
  37.     end
  38.     return tag
  39. end
  40.  
  41. function class.ChatProxy:SetRetainTagColor(retainTagColor)
  42.     self.retainTagColor = retainTagColor
  43. end
  44.  
  45. function class.ChatProxy:SetLongTag(longTag)
  46.     self.longTag = longTag
  47. end
  48.  
  49. function class.ChatProxy:SetShortTag(shortTag)
  50.     self.shortTag = shortTag
  51. end
  52.  
  53. function class.ChatProxy:SetShortTagPrefixEnabled(shortTagPrefixEnabled)
  54.     self.shortTagPrefixEnabled = shortTagPrefixEnabled
  55. end
  56.  
  57. function class.ChatProxy:SetTagSuffix(tagSuffix)
  58.     self.tagSuffix = tagSuffix
  59. end

The tag suffix is something I use in Postmaster to append the account name of the person who sent the attachments to the tag.
Last edited by silvereyes : 11/13/19 at 10:45 PM.
Report comment to moderator  
Reply With Quote
Unread 01/20/20, 11:16 PM  
silvereyes
 
silvereyes's Avatar
AddOn Author - Click to view AddOns

Forum posts: 66
File comments: 384
Uploads: 17
PTS error message

Just an FYI, I am seeing the following message on PTS today after using LibChatMessage in PostMaster:
Code:
EsoUI/Ingame/ChatSystem/ChatHandlers.lua:228: function expected instead of nil
stack traceback:
EsoUI/Ingame/ChatSystem/ChatHandlers.lua:228: in function 'ZO_ChatRouter:EmitChatEvent'
|caaaaaa<Locals> self = [table:1]{fireCallbackDepth = 0}, eventCode = "LibChatMessage" </Locals>|r
EsoUI/Ingame/ChatSystem/ChatHandlers.lua:264: in function 'ZO_ChatEvent'
|caaaaaa<Locals> eventId = "LibChatMessage" </Locals>|r
user:/AddOns/LibChatMessage/LibChatMessage.lua:204: in function 'ChatProxy:Print'
|caaaaaa<Locals> self = [table:2]{shortTag = "|c99CCEFPM|r", shortTagPrefixEnabled = T, longTag = "|c99CCEFPostmaster|r", enabled = T, tagSuffix = "@silver_ice", retainTagColor = T}, message = "|t90%:90%:/esoui/art/icons/cra...", tag = "[|c99CCEFPM|r@silver_ice]" </Locals>|r
user:/AddOns/LibLootSummary/List.lua:173: in function 'lls.List:Print'
|caaaaaa<Locals> self = [table:3]{linkStyle = 0, sortedByQuality = T, showTrait = T, showIcon = T, hideSingularQuantities = T, suffix = "", sorted = F, enabled = T, combineDuplicates = T, minQuality = 0, sender = "@silver_ice", prefix = "", delimiter = " "}, lines = [table:4]{1 = "|t90%:90%:/esoui/art/icons/cra..."}, summary = "|t90%:90%:/esoui/art/icons/cra...", maxLength = 1200, _ = 1, line = "|t90%:90%:/esoui/art/icons/cra..." </Locals>|r
user:/AddOns/Postmaster/classes/SenderSummary.lua:29: in function 'class.SenderSummary:Print'
|caaaaaa<Locals> self = [table:3], tagSuffix = "" </Locals>|r
user:/AddOns/Postmaster/classes/GroupedSenderSummary.lua:43: in function 'class.GroupedSenderSummary:Print'
|caaaaaa<Locals> self = [table:5]{}, summaries = [table:6]{}, _ = 1, summary = [table:3] </Locals>|r
user:/AddOns/Postmaster/Postmaster.lua:648: in function 'Postmaster:Reset'
|caaaaaa<Locals> self = [table:7]{suffix = "", takingAll = F, returning = F, inboxUpdated = F, prefix = "", taking = F, debugMode = F, author = "silvereyes, Garkin & Zierk", mailIdLastOpened = 8.7943506256198e-315, title = "Postmaster", version = "3.10.0", name = "Postmaster"} </Locals>|r
user:/AddOns/Postmaster/Postmaster.lua:1292: in function 'Postmaster.Callback_MailInbox_StateChange'
|caaaaaa<Locals> oldState = "hiding", newState = "hidden", self = [table:7] </Locals>|r
EsoUI/Libraries/Utility/ZO_CallbackObject.lua:116: in function 'ZO_CallbackObject:FireCallbacks'
|caaaaaa<Locals> self = [table:8]{fireCallbackDepth = 1, wasRequestedToShowInGamepadPreferredMode = F, disallowEvaluateTransitionCompleteCount = 1, name = "mailInbox", restoresHUDSceneToggleUIMode = F, wasShownInGamepadPreferredMode = F, restoresHUDSceneToggleGameMenu = F, state = "hidden"}, eventName = "StateChange", registry = [table:9]{}, callbackInfoIndex = 3, callbackInfo = [table:10]{3 = F}, callback = user:/AddOns/Postmaster/Postmaster.lua:1268, deleted = F </Locals>|r
EsoUI/Libraries/ZO_Scene/ZO_Scene.lua:276: in function 'ZO_Scene:SetState'
|caaaaaa<Locals> self = [table:8], newState = "hidden", oldState = "hiding", name = "mailInbox" </Locals>|r
EsoUI/Libraries/ZO_Scene/ZO_Scene.lua:426: in function 'ZO_Scene:OnTransitionComplete'
|caaaaaa<Locals> self = [table:8], nextState = "hidden" </Locals>|r
EsoUI/Libraries/ZO_Scene/ZO_Scene.lua:421: in function 'ZO_Scene:DetermineIfTransitionIsComplete'
|caaaaaa<Locals> self = [table:8], nextState = "hidden" </Locals>|r
EsoUI/Libraries/ZO_Scene/ZO_Scene.lua:343: in function 'ZO_Scene:OnSceneFragmentStateChange'
|caaaaaa<Locals> self = [table:8], fragment = [table:11]{allowShowHideTimeUpdates = F, fireCallbackDepth = 0, animationTemplate = "FadeSceneAnimation", duration = 200, state = "hidden"}, oldState = "hiding", newState = "hidden" </Locals>|r
EsoUI/Libraries/ZO_Scene/ZO_SceneFragment.lua:146: in function 'ZO_SceneFragment:SetState'
|caaaaaa<Locals> self = [table:11], newState = "hidden", oldState = "hiding", currentScene = [table:8] </Locals>|r
EsoUI/Libraries/ZO_Scene/ZO_SceneFragment.lua:156: in function 'ZO_SceneFragment:OnHidden'
|caaaaaa<Locals> self = [table:11] </Locals>|r
EsoUI/Libraries/ZO_Scene/ZO_SceneFragmentTemplates.lua:75: in function '(anonymous)'
|caaaaaa<Locals> _ = ud, completedPlaying = T </Locals>|r
I haven't gotten a hold of the ESOUI source code yet (been busy working today), but just thought I'd drop a note.
Report comment to moderator  
Reply With Quote
Unread 03/02/20, 05:56 AM  
Barnicle

Forum posts: 0
File comments: 8
Uploads: 0
after todays update i get these errors

user:/AddOns/LibChatMessage/LibChatMessage.lua:159: function expected instead of nil
stack traceback:
user:/AddOns/LibChatMessage/LibChatMessage.lua:159: in function '(anonymous)'
[C]: in function 'pcall'
user:/AddOns/LibChatMessage/LibChatMessage.lua:158: in function 'SafeAddEventFormatter'
user:/AddOns/LibChatMessage/LibChatMessage.lua:181: in function '(main chunk)'
user:/AddOns/LibChatMessage/LibChatMessage.lua:181: in function '(main chunk)'

it seems to be affecting Awesome Guild store i.e.

user:/AddOns/AwesomeGuildStore/API.lua:4: attempt to index a nil value
stack traceback:
user:/AddOns/AwesomeGuildStore/API.lua:4: in function '(main chunk)'


Thanks for your work with Addons
Report comment to moderator  
Reply With Quote
Unread 03/02/20, 06:06 AM  
sirinsidiator
 
sirinsidiator's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1566
File comments: 1119
Uploads: 41
Originally Posted by Barnicle
after todays update i get these errors

user:/AddOns/LibChatMessage/LibChatMessage.lua:159: function expected instead of nil
stack traceback:
user:/AddOns/LibChatMessage/LibChatMessage.lua:159: in function '(anonymous)'
[C]: in function 'pcall'
user:/AddOns/LibChatMessage/LibChatMessage.lua:158: in function 'SafeAddEventFormatter'
user:/AddOns/LibChatMessage/LibChatMessage.lua:181: in function '(main chunk)'
user:/AddOns/LibChatMessage/LibChatMessage.lua:181: in function '(main chunk)'

it seems to be affecting Awesome Guild store i.e.

user:/AddOns/AwesomeGuildStore/API.lua:4: attempt to index a nil value
stack traceback:
user:/AddOns/AwesomeGuildStore/API.lua:4: in function '(main chunk)'


Thanks for your work with Addons
ZOS has made some additional changes to the chat system today. I'll upload a new version later which will fix this error.
Report comment to moderator  
Reply With Quote
Unread 03/02/20, 07:00 AM  
Scaletho

Forum posts: 0
File comments: 10
Uploads: 0
Bug after ESO 03/02 update

Many Thanks for your work. But I'll remove it from my game for a while. The bug after ZoS' chat API upgrade is very invasive and annoying. I'll put LibChat back when you fix the issue. Thanks,
Report comment to moderator  
Reply With Quote
Unread 03/02/20, 07:41 AM  
FWSWBN
 
FWSWBN's Avatar

Forum posts: 17
File comments: 490
Uploads: 0
yeah, the new changes infected many addons like AGS, postmaster mail and many more.

@sirinsidator
thx for the info... and i hope this fix will come soon
Report comment to moderator  
Reply With Quote
Unread 03/02/20, 08:18 AM  
Dukeland

Forum posts: 0
File comments: 1
Uploads: 0
Originally Posted by FWSWBN
yeah, the new changes infected many addons like AGS, postmaster mail and many more.

@sirinsidator
thx for the info... and i hope this fix will come soon





UI-Fehler

user:/AddOns/LibChatMessage/LibChatMessage.lua:159: function expected instead of nil
stack traceback:
user:/AddOns/LibChatMessage/LibChatMessage.lua:159: in function '(anonymous)'
[C]: in function 'pcall'
user:/AddOns/LibChatMessage/LibChatMessage.lua:158: in function 'SafeAddEventFormatter'
|caaaaaa<Locals> eventId = "LibChatMessage", eventFormatter = user:/AddOns/LibChatMessage/LibChatMessage.lua:165 </Locals>|r
user:/AddOns/LibChatMessage/LibChatMessage.lua:181: in function '(main chunk)'
|caaaaaa<Locals> LIB_IDENTIFIER
stack traceback:
[C]: in function 'assert'
user:/AddOns/LibChatMessage/LibChatMessage.lua:162: in function 'SafeAddEventFormatter'
<Locals> eventId = "LibChatMessage", eventFormatter = user:/AddOns/LibChatMessage/LibChatMessage.lua:165, success = F, err = "user:/AddOns/LibChatMessage/Li..." </Locals>|r
user:/AddOns/LibChatMessage/LibChatMessage.lua:181: in function '(main chunk)'
|caaaaaa<Locals> LIB_IDENTIFIER = "LibChatMessage", lib = [table:1]{chatHistoryActive = T}, TAG_FORMAT = "[%s]", COLOR_FORMAT = "|c%s%s|r", MESSAGE_TEMPLATE = "%s %s", SYSTEM_TAG = "[System]", TIME_FORMAT_AUTO = "[%X]", TIME_FORMAT_12 = "[%I:%M:%S %p]", TIME_FORMAT_24 = "[%T]", TIME_FORMATS = [table:2]{1 = "[%X]"}, TIME_FORMAT_MAPPING = [table:3]{auto = "[%X]", 24h = "[%T]", 12h = "[%I:%M:%S %p]"}, REVERSE_TIME_FORMAT_MAPPING = [table:4]{[%X] = "auto", [%I:%M:%S %p] = "12h", [%T] = "24h"}, TAG_PREFIX_OFF = 1, TAG_PREFIX_LONG = 2, TAG_PREFIX_SHORT = 3, TIMESTAMP_INDEX = 1, MAX_HISTORY_LENGTH = 10000, TRIMMED_HISTORY_LENGTH = 9000, strlower = [C]:-1, tconcat = [C]:-1 </Locals>|r
Report comment to moderator  
Reply With Quote
Unread 03/02/20, 08:22 AM  
Techwolf
 
Techwolf's Avatar

Forum posts: 5
File comments: 86
Uploads: 0
Is there a quick fix patch just to get AGS and others working at least?

Update:Nevermind, the most usefull stuff is still present. Just the nice search functions are gone. TTC and MM still works in the default ZOS guild store window. Now I just wait for the update today. :-D
Last edited by Techwolf : 03/02/20 at 08:48 AM.
Report comment to moderator  
Reply With Quote
Unread 03/02/20, 08:34 AM  
BlazeOfGlory

Forum posts: 0
File comments: 21
Uploads: 0
Exclamation Today's ESO Update Broke LibChatMessage

Today's, March 2, 2020, ESO update broke LibChatMessage and AwesomeGuildStore.

Here's the error from LibChatMessage...

UI Error

Code:
<Locals> LIB_IDENTIFIER 
stack traceback:
[C]: in function 'assert'
user:/AddOns/LibChatMessage/LibChatMessage.lua:162: in function 'SafeAddEventFormatter'
<Locals> eventId = "LibChatMessage", eventFormatter = user:/AddOns/LibChatMessage/LibChatMessage.lua:165, success = F, err = "user:/AddOns/LibChatMessage/Li..." </Locals>|r
user:/AddOns/LibChatMessage/LibChatMessage.lua:181: in function '(main chunk)'
|caaaaaa<Locals> LIB_IDENTIFIER = "LibChatMessage", lib = [table:1]{chatHistoryActive = T}, TAG_FORMAT = "[%s]", COLOR_FORMAT = "|c%s%s|r", MESSAGE_TEMPLATE = "%s %s", SYSTEM_TAG = "[System]", TIME_FORMAT_AUTO = "[%X]", TIME_FORMAT_12 = "[%I:%M:%S %p]", TIME_FORMAT_24 = "[%T]", TIME_FORMATS = [table:2]{1 = "[%X]"}, TIME_FORMAT_MAPPING = [table:3]{24h = "[%T]", 12h = "[%I:%M:%S %p]", auto = "[%X]"}, REVERSE_TIME_FORMAT_MAPPING = [table:4]{[%X] = "auto", [%I:%M:%S %p] = "12h", [%T] = "24h"}, TAG_PREFIX_OFF = 1, TAG_PREFIX_LONG = 2, TAG_PREFIX_SHORT = 3, TIMESTAMP_INDEX = 1, MAX_HISTORY_LENGTH = 10000, TRIMMED_HISTORY_LENGTH = 9000, strlower = [C]:-1, tconcat = [C]:-1 </Locals>|r
Hopefully, this can be fixed soon so we can all get back to using our favorite addons. Thanks!
Report comment to moderator  
Reply With Quote
Unread 03/02/20, 09:17 AM  
Muchtie

Forum posts: 0
File comments: 31
Uploads: 0
user:/AddOns/LibChatMessage/LibChatMessage.lua:159: function expected instead of nil
stack traceback:
user:/AddOns/LibChatMessage/LibChatMessage.lua:159: in function '(anonymous)'
[C]: in function 'pcall'
user:/AddOns/LibChatMessage/LibChatMessage.lua:158: in function 'SafeAddEventFormatter'
user:/AddOns/LibChatMessage/LibChatMessage.lua:181: in function '(main chunk)'
user:/AddOns/LibChatMessage/LibChatMessage.lua:181: in function '(main chunk)'

help me plz
Report comment to moderator  
Reply With Quote
Unread 03/02/20, 09:57 AM  
linda535

Forum posts: 0
File comments: 12
Uploads: 0
Just today, cannot do anything without getting error messages. Even when not doing anything, it shows up and won't stay "dismissed". I love the addons, help please.

user:/AddOns/LibChatMessage/LibChatMessage.lua:108: attempt to index a nil value
stack traceback:
user:/AddOns/LibChatMessage/LibChatMessage.lua:108: in function '(anonymous)'
|caaaaaa<Locals> formattedEventText = "|H1:character:Myraian|h[Myraia...", fromDisplayName = "@Kiyakotari", rawMessageText = "The same way you locate most l...", timeStamp = 1583164537 </Locals>|r
(tail call): ?
EsoUI/Ingame/ChatSystem/ChatHandlers.lua:247: in function 'ZO_ChatRouter:FormatAndAddChatMessage'
|caaaaaa<Locals> self = [table:1]{fireCallbackDepth = 0}, eventKey = 131103, eventCategory = 6, messageFormatter = user:/AddOns/LibChatMessage/LibChatMessage.lua:96 </Locals>|r
EsoUI/Ingame/ChatSystem/ChatHandlers.lua:212: in function 'OnChatEvent'
|caaaaaa<Locals> eventCode = 131103 </Locals>|r

I finally quit. Game isn't playable with addons allowed now.
Last edited by linda535 : 03/02/20 at 10:07 AM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump:

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.