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)
- AI 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.
In reply to plusmouse:
Prat-3.0-3.9.19.zip
It just started this week on reset. /say /trade /etc all work fine, however in party or raid, it doesn't work at all. When using the abbrevate 3 letters only (sometimes works, sometimes not), but the full string 100% stops working
In reply to plusmouse:
same for me. Totally stopped working - not even the short version with 3 letters. Since reset.
Prat-3.0-3.9.19.zip
WoW 10.0.5.48069
In reply to TheKingOfKingz2109:
Tested in a cross-realm party. This looks like a Blizzard bug - as the issue persists when Prat is turned off.
In reply to plusmouse:
Interesting, i wonder if they made some changes when that social contract udpate recently hit this week. They had some changes done to i believe chat on reporting / etc, maybe that caused a few hiccups
In reply to plusmouse:
https://us.forums.blizzard.com/en/wow/t/server-name-chat/1523932
Looks like people have posted on forum as well, maybe they will just auto fix that up.
After last update I got class icons next to player name. How to disable that?
In reply to GregoryWW:
Disable or change the settings of the LinkInfoIcons module
Is it possible with Prat to change the colour of incoing and outgoing Whispers independantly of each other?
The ingame settings only have the option to change "whispers" regardless if they are incoming or outgoing. They used to have the option years ago but got rid of it :(
Hello. I started using the Custom Filters and they are AMAZING!
Couple of issues:
1- Patterns are not matched if they are part of a linked item name.
e.g. I have a Pattern to match "Flame-Touched". It gets matched if it's part of plain text, but not if someone linked "Flame-Touched Chain" item.
2- Would be super useful to allow combining multiple Patterns, with optional negation
Something like "Flame-Touched" AND NOT "LFW"
In reply to Genni84:
1. Caused by the PlayerNames module stealing any item link matches (so disabling that module will get the filters to match item links) - don't have a quick fix for the issue.
2. Not supported by the current module design and would require a rework, similarly not a quick fix.
1x [ADDON_ACTION_FORBIDDEN] Mod 'Prat-3.0-3.9.1' tried to call protected function 'GuildControlSetRank()'.
[string "@!BugGrabber/BugGrabber.lua"]:480: in function <!BugGrabber/BugGrabber.lua:480>
[string "=[C]"]: in function `GuildControlSetRank'
[string "@Interface_Wrath/FrameXML/FriendsFrame_Wrath.lua"]:234: in function `GuildControlPopupFrame_Initialize'
[string "@Interface_Wrath/FrameXML/FriendsFrame_Wrath.lua"]:156: in function `FriendsFrame_OnEvent'
[string "*FriendsFrame.xml:4298_OnEvent"]:1: in function <[string "*FriendsFrame.xml:4298_OnEvent"]:1>
In reply to mertc_xd:
Can you run `/console taintLog 1` and play until the error happens, then close WoW and upload the contents of the
`
WoW Directory\_classic_\Logs\taint.log` file here?every time i log into a character
9x Prat-3.0-3.9.19/modules/History.lua:784: attempt to concatenate a nil value
[string "@Prat-3.0-3.9.19/modules/History.lua"]:784: in function <Prat-3.0/modules/History.lua:769>
[string "=(tail call)"]: ?
[string "=[C]"]: in function `AddHistoryLine'
[string "@Prat-3.0-3.9.19/modules/History.lua"]:733: in function `addSavedHistory'
[string "@Prat-3.0-3.9.19/modules/History.lua"]:622: in function <Prat-3.0/modules/History.lua:587>
[string "@Prat-3.0-3.9.19/modules/Scrollback.lua"]:77: in function `OnModuleEnable'
[string "@Prat-3.0-3.9.19/addon/modules.lua"]:189: in function <Prat-3.0/addon/modules.lua:178>
[string "=[C]"]: ?
[string "@Ace3/AceAddon-3.0-13/AceAddon-3.0.lua"]:66: in function <Ace3/AceAddon-3.0/AceAddon-3.0.lua:61>
[string "@Ace3/AceAddon-3.0-13/AceAddon-3.0.lua"]:523: in function `EnableAddon'
[string "@Ace3/AceAddon-3.0-13/AceAddon-3.0.lua"]:536: in function `EnableAddon'
[string "@Ace3/AceAddon-3.0-13/AceAddon-3.0.lua"]:626: in function <Ace3/AceAddon-3.0/AceAddon-3.0.lua:611>
Locals:
self = <table> {
OnSubvalueChanged = <function> defined @Prat-3.0/modules/History.lua:682
SetDefaultModuleLibraries = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:363
RestoreLastSession = <function> defined @Prat-3.0/modules/Scrollback.lua:206
Enable = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:290
NewModule = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:231
EnableModule = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:328
modules = <table> {
}
GetModule = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:206
IterateEmbeds = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:438
SecureHookScript = <function> defined @Ace3/AceHook-3.0/AceHook-3.0.lua:409
defaultModuleLibraries = <table> {
}
pluginopts = <table> {
}
Prat_FramesRemoved = <function> defined @Prat-3.0/modules/Scrollback.lua:135
RawHookScript = <function> defined @Ace3/AceHook-3.0/AceHook-3.0.lua:394
GetName = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:275
name = "Prat_History"
IsEnabled = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:447
orderedModules = <table> {
}
AddMessage = <function> defined @Prat-3.0/modules/Scrollback.lua:142
DisableModule = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:346
db = <table> {
}
baseName = "Prat-3.0"
AddHistoryLine = <function> defined @Prat-3.0/modules/History.lua:769
Prat_FramesUpdated = <function> defined @Prat-3.0/modules/Scrollback.lua:127
GetEntryAtIndex = <function> defined @Prat-3.0/modules/Scrollback.lua:150
HookScript = <function> defined @Ace3/AceHook-3.0/AceHook-3.0.lua:365
SetDefaultModulePrototype = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:405
UnhookAll = <function> defined @Ace3/AceHook-3.0/AceHook-3.0.lua:476
IsHooked = <function> defined @Ace3/AceHook-3.0/AceHook-3.0.lua:492
addSavedHistory = <function> defined @Prat-3.0/modules/History.lua:726
SecureHook = <function> defined @Ace3/AceHook-3.0/AceHook-3.0.lua:335
IsModule = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:213
saveLine = <function> defined @Prat-3.0/modules/History.lua:739
SetDefaultModuleState = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:383
ConfigureAllChatFrames = <function> defined @Prat-3.0/modules/History.lua:662
OnModuleDisable = <function> defined @Prat-3.0/modules/Scrollback.lua:102
SetEnabledState = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:420
Hook = <function> defined @Ace3/AceHook-3.0/AceHook-3.0.lua:273
enabledState = true
GetDescription = <function> defined @Prat-3.0/modules/History.lua:653
OnModuleEnable = <function> defined @Prat-3.0/modules/Scrollback.lua:76
PL = <table> {
}
hooks = <table> {
}
ClearHistory = <function> defined @Prat-3.0/modules/History.lua:758
SetHistory = <function> defined @Prat-3.0/modules/History.lua:720
IterateModules = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:433
OnValueChanged = <function> defined @Prat-3.0/modules/Scrollback.lua:113
RawHook = <function> defined @Ace3/AceHook-3.0/AceHook-3.0.lua:312
Unhook = <function> defined @Ace3/AceHook-3.0/AceHook-3.0.lua:417
moduleName = "History"
defaultModuleState = true
Disable = <function> defined @Ace3/AceAddon-3.0/AceAddon-3.0.lua:310
}
editBox = ChatFrame7EditBox {
0 = <userdata>
AddHistoryLine = <function> defined =[C]:-1
headerSuffix = ChatFrame7EditBoxHeaderSuffix {
}
rDrag = Frame {
In reply to JimmyWatchesHere:
That should be fixed in the latest alpha release
Prat-3.0-3.9.19/modules/History.lua:784: attempt to concatenate a nil value error on all characters
In reply to JimmyWatchesHere:
Timestamps are not showing as well
In reply to prokn4h:
Can you try with the latest version of Prat?
In reply to plusmouse:
nope its not fixed, with the latest alpha edit box module disappeared as well.
In reply to originalmadjunglist:
This issue is caused by a conflict with another addon. Can you try turning the addon that does the race/class icons off and use the new LinkInfoIcons module in the latest alpha to replace the functionality?
In reply to plusmouse:
Cool! it works as you said!
Thanks much for your patience and work.
One thing im missing from the addon i was using instead of the module LinkInfoIcons, are the race icons, i went to the module options but there's only Label.
Any chance you can add that? :D