Prat 3.0
In loving memory of Jon Akthar (Sylvanaar)
Hello WoW community, I'm LuciferCatnip, Sylvanaar was my coworker and my mentor. It goes without saying that Jon was an amazingly talented individual. He always seemed to know everything… but he once said to me "It's not about knowing the answers, it's about asking the right questions", he always challenged me to ask me the right questions until I would arrive at the answer on my own terms. Jon was also a champion of the open source movement, and so with special thanks to Gil from Curseforge as well as Sylvanaar's family, there's no better way to honor Sylvanaar's legacy than to keep his project going strong in the community.
If you'd like to help maintain Prat, please reach out to MysticalOS or LuciferCatnip directly. Thank you so much.
About
Prat-3.0 is a chat enhancement addon for World of Warcraft.
It is made up of 30+ smaller "modules" which each provide additional functionality, and can be enabled or disabled individually.
In game, type /prat for a menu. Or use the icon on one of the many data broker hosts.
Prat has just about every feature you can think of, and then some. Really. When I get some more time, I'll try and put together a full list (Even I have lost count)
(Thanks to Dreamsight for this partial list)
- Sync your chat settings across your account (Beta)
- Machine learning powered spam filter (Beta)
- Change arrows, buttons, mouse scroll for chat scroll, scroll speed
- you can add player color per channel, color per level, color per class
- timestamps (styled)
- whether to show timestamp (what format the timestamp should be in)
- whether to show players level
- you can select the option for channel "stickys" (last channel you used you auto use when hitting enter, that sort of thing – or last thing someone said)
- change the looks of the chat's editbox - as well as where it appears (you can even undock it and move it to where you'd like it to be)
- chat fading, fading delay
- You can change the font to a list of fonts, add an outline to it, monochrome it (if you don’t mind messing with files a bit you could probably even add other fonts to that list)
- change the chat frame/chat box appearance
- Keep chat history between game sessions
- Set channel abbreviations
- set brackets and color(or something instead of brackets)round player/lvl
- alt invite option (press keyboard “alt” button and click on the player’s name to auto inv them)
- raid icon
- invite links - click them to invite the person
- URL copying
- Full chat copying + copy button
- Click timestamp to copy line
- Configurable alerts when your name or other word is mentioned
- enables tell target /tt which whispers your target
- Alias options - make macros into short commands
- See names of players Alt characters
- change chat sounds (incoming and outgoing as well as per channel)
- Achievements info and grats
- Full chat search and search box
- Customizable filters for advanced users
- Show item icon next to item links and player class icon next to player names
- Icon-only options for newcomers chat
- Optional flashing or font color change for chat tabs when a new message comes in.
You can enable/disable all Prat modules - don't have to have the ones you don't use running
While trying to reduce resource utilization, it is also important to note that some people prefer the features, and don't care that an addon uses 500k more.

-
View User Profile
-
Send Message
Posted May 23, 2020Hello, after 3 days update the achievement name and gz link doesn't show, I have tried everything...it just doesn't show any "say grats". How do I go back to before the updates? - it worked then. NoteI want it for Retail WoW, not Classic ;) Thanks
-
View User Profile
-
Send Message
Posted May 21, 2020Last view updates I've noticed double achievements show.
Also after today I noticed the achievement name doesnt show. It just shows XXXX got the achievement !! with no name for the achieve.
Also frame rate stutter with Prat enabled.
Not a big deal I went back to 3769. Just and FYI in case it helps.
Thanks for the great addon!!!
-
View User Profile
-
Send Message
Posted May 23, 2020In reply to JibsGaming:
If you can see the double achievement and quickly type `/pratdebugmsg` - it will output some text that you can copy and paste here so I can see what is happening.
-
View User Profile
-
Send Message
Posted May 20, 2020I remember this being an issue the last time I used prat in Classic and now I'm noticing it again.
Whenever someone emotes something their name appears twice. Once class colored and once emote colored.
For example: [Arxon]Arxon waves at you.
-
View User Profile
-
Send Message
Posted May 23, 2020In reply to Arxon_Havenloft:
This should be fixed in the build released today.
-
View User Profile
-
Send Message
Posted May 20, 2020Sorry about the bad versions today everyone.
-
View User Profile
-
Send Message
Posted May 20, 2020In reply to sylvanaar:
whats wrong with it, I updated, didn't notice anything.
-
View User Profile
-
Send Message
Posted May 20, 2020In reply to pawnzee:
It has already been fixed
-
View User Profile
-
Send Message
Posted May 20, 2020In reply to sylvanaar:
no issue we will wait for your update :)
-
View User Profile
-
Send Message
Posted May 20, 2020hello
after update the achievement name and gz link doesn't show
[00:27:18] <120:Spalahuika> (Jinpa) has earned the achievement !
[00:27:59] [G] <120:Blondyneczka>: gz!
[00:28:04] <120:Spalahuika> (Jinpa) has earned the achievement !
and also suddenly; whisper tab moves out of locations! and appear even after i close the tab!
-
View User Profile
-
Send Message
Posted May 20, 2020In reply to oxed:
Thank you - it have been corrected.
-
View User Profile
-
Send Message
Posted May 20, 2020In reply to sylvanaar:
and also suddenly; whisper tab moves out of locations! and appear even after i close the tab!
-
View User Profile
-
Send Message
Posted May 20, 2020I got this error with latest version. Went back to last release, no more problems.
/edit after this error I doesn`t see anything in chat, reload ui didn`t work. Only back to last version did.
Date: 2020-05-20 18:32:21
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\Prat-3.0\services\chatsections.lua line 609:
attempt to call field 'ReplaceIconAndGroupExpressions' (a nil value)
Debug:
...Ons\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:733:
...Ons\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:693
[C]: ReplaceIconAndGroupExpressions()
Prat-3.0\services\chatsections.lua:609: SplitChatMessage()
Prat-3.0\addon\addon.lua:591:
Prat-3.0\addon\addon.lua:566
(tail call): ?
..\FrameXML\ChatFrame.lua:2792:
..\FrameXML\ChatFrame.lua:2785
(tail call): ?
[string "*:OnEvent"]:1:
[string "*:OnEvent"]:1
Locals:
errMsg = "Interface\AddOns\Prat-3.0\services\chatsections.lua:609: attempt to call field 'ReplaceIconAndGroupExpressions' (a nil value)"
tsmErrMsg = nil
oldModule = nil
private = <table> {
CreateErrorFrame = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:514
num = 0
ErrorHandler = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:132
hitInternalError = false
origErrorHandler = <function> defined @Interface\AddOns\Decursive\Dcr_DIAG.lua:597
FormatErrorMessageSection = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:495
AddonBlockedHandler = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:480
SanitizeString = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:488
GetStackLevelInfo = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:328
ParseLocals = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:380
errorReports = <table> {
}
IsTSMAddon = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:456
localLinesTemp = <table> {
}
GetStackInfo = <function> defined @Interface\AddOns\TradeSkillMaster\LibTSM\Service\ErrorHandler.lua:297
}
MAX_STACK_DEPTH = 50
OLD_TSM_MODULES = <table> {
1 = "TradeSkillMaster_Accounting"
2 = "TradeSkillMaster_AuctionDB"
3 = "TradeSkillMaster_Auctioning"
4 = "TradeSkillMaster_Crafting"
5 = "TradeSkillMaster_Destroying"
6 = "TradeSkillMaster_Mailing"
7 = "TradeSkillMaster_Shopping"
8 = "TradeSkillMaster_Vendoring"
9 = "TradeSkillMaster_Warehousing"
}
-
View User Profile
-
Send Message
Posted May 21, 2020In reply to Knakriktsur:
With 3.7.74-classic error is gone, thank you :D
-
View User Profile
-
Send Message
Posted May 20, 2020Since doing the update, it's causing the game to stutter or freeze. I am not getting any in game errors. The moment I disable the add on the issue stops.
-
View User Profile
-
Send Message
Posted May 20, 2020getting an error with newest alpha on login:
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\Prat-3.0\services\chatsections.lua line 609:
attempt to call field 'ReplaceIconAndGroupExpressions' (a nil value)
Debug:
Prat-3.0\services\chatsections.lua:609: SplitChatMessage()
Prat-3.0\addon\addon.lua:591:
Prat-3.0\addon\addon.lua:566
(tail call): ?
..\FrameXML\ChatFrame.lua:2792: ChatFrame_OnEvent()
[string "*:OnEvent"]:1:
[string "*:OnEvent"]:1
Locals:
frame = ChatFrame1 {
SetJustifyV = <function> defined =[C]:-1
RefreshIfNecessary = <function> defined =[C]:-1
OnPostShow = <function> defined =[C]:-1
CalculateLineAlphaValueFromTimestamp = <function> defined =[C]:-1
isLayoutDirty = false
tellTimer = 584619.775000
isDisplayDirty = false
GetFading = <function> defined =[C]:-1
IsTextCopyable = <function> defined =[C]:-1
shouldFadeAfterInactivity = true
SetIndentedWordWrap = <function> defined =[C]:-1
GetJustifyV = <function> defined =[C]:-1
SetFont = <function> defined =[C]:-1
GetMaxLines = <function> defined =[C]:-1
GetIndentedWordWrap = <function> defined =[C]:-1
buttonSide = "left"
GetFont = <function> defined =[C]:-1
checkedGMOTD = true
SetMaxLines = <function> defined =[C]:-1
CalculateSelectingCharacterIndicesForVisibleLine = <function> defined =[C]:-1
PageUp = <function> defined =[C]:-1
RefreshDisplay = <function> defined =[C]:-1
SetFontObject = <function> defined =[C]:-1
textIsCopyable = false
SetOnScrollChangedCallback = <function> defined =[C]:-1
CalculateNumVisibleLines = <function> defined =[C]:-1
overrideFadeTimestamp = 0
MarkDisplayDirty = <function> defined =[C]:-1
GetMessageInfo = <function> defined =[C]:-1
GetOnScrollChangedCallback = <function> defined =[C]:-1
AtTop = <function> defined =[C]:-1
GetFontObject = <function> defined =[C]:-1
fontStringPool = <table> {
}
CanEffectivelyFade = <function> defined =[C]:-1
print = <function> defined @Interface\AddOns\Prat-3.0\services\print.lua:58
OnPreSizeChanged = <function> defined =[C]:-1
OnPostMouseUp = <function> defined =[C]:-1
GetSpacing = <function> defined =[C]:-1
OnPreLoad = <function> defined =[C]:-1
SetSpacing = <function> defined =[C]:-1
name = "General"
CalculateLineSpacing = <function> defined =[C]:-1
AddMessage = <function> defined @Interface\AddOns\AuctionMaster\libs\Ace3\AceHook-3.0\AceHook-3.0.lua:100
InitializeFontableFrame = <function> defined =[C]:-1
GetShadowColor = <function> defined =[C]:-1
isUninteractable = false
SetOnTextCopiedCallback = <function> defined =[C]:-1
AcquireFontString = <function> defined =[C]:-1
TransformMessages = <function> defined =[C]:-1
SetShadowColor = <function> defined =[C]:-1
buttonFrame = ChatFrame1ButtonFrame {
}
HasFontObject = <function> defined =[C]:-1
isDocked = 1
GetOnTextCopiedCallback = <function> defined =[C]:-1
SetFading = <function> defined =[C]:-1
OnPostHide = <function> defined =[C]:-1
alternativeDefaultLanguage = "Orcish"
isInitialized = 1
ScrollByAmount = <function> defined =[C]:-1
GetInsertMode = <function> defined =[C]:-1
SetTimeVisible = <function> defined =[C]:-1
hasOwnFontObject = true
Clear = <function> defined =[C]:-1
oldAlpha = 0
channelList = <table> {
}
GetTimeVisible = <function> defined =[C]:-1
MarkLayoutDirty = <function> defined =[C]:-1
SetTextCopyable = <function> defined =[C]:-1
BackFillMessage = <function> defined =[C]:-1
UnpackageEntry = <function> defined =[C]:-1
FontStringContainer = <unnamed> {
}
SetShadowOffset = <function> defined =[C]:-1
messageTypeList = <table> {
}
flashTimer = 0
timeVisibleSecs = 20
PackageEntry = <function> defined =[C]:-1
MakeFontObjectCustom = <function> defined =[C]:-1
fontObject = table: 0000023322662550 {
}
SetInsertMode = <function> defined =[C]:-1
ScrollDown = <function> defined =[C]:-1
zoneChannelList = <table> {
}
SetScrollOffset = <function> defined =[C]:-1
onDisplayRefreshedCallback = <function> defined =[C]:-1
insertMode = 2
ResetSelectingText = <function> defined =[C]:-1
GetTextColor = <function> defined =[C]:-1
defaultLanguage = "Orcish"
ResetAllFadeTimes = <function> defined =[C]:-1
dbg = <function> defined @Interface\AddOns\Prat-3.0\services\print.lua:62
GatherSelectedText = <function> defined =[C]:-1
GetNumVisibleLines = <function> defined =[C]:-1
ScrollUp = <function> defined =[C]:-1
0 = <userdata>
IsSelectingText = <function> defined =[C]:-1
fadeDurationSecs = 3
ScrollToBottom = <function> defined =[C]:-1
ScrollToTop = <function> defined =[C]:-1
OnFontObjectUpdated = <function> defin
enGB client
Can't see what I'm writting in the chat anymore.
-
View User Profile
-
Send Message
Posted May 20, 2020In reply to nihlolino:
Same problem here, can't see what I write and can't see people too.
-
View User Profile
-
Send Message
Posted May 20, 2020Nevermind, i found out how to do it. Thanks
-
View User Profile
-
Send Message
Posted May 20, 2020Having the same issue as others. The game keeps freezing / stuttering with the Prat addon loaded. Disable it and the problem goes away.
Any reply from the dev? Any updates planned?
Or does someone have another addon for formatting the chat?
Cheers
-
View User Profile
-
Send Message
Posted May 20, 2020In reply to Forge_User_88090511:
In the meantime you can go back to 3769 version and it will resolve the issue, until he figures it out.