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 Apr 7, 2016Still can't click on items and nicks...
EDIT: Well, i really could not click links, until I checked "interactive mode" ))
-
View User Profile
-
Send Message
Posted Apr 8, 2016Yes. You have to do that. That is part of the base game client. People often overlook it.
-
View User Profile
-
Send Message
Posted Apr 4, 2016The whisper thing is good again, but I still can't click on links, people or items in chat.
-
View User Profile
-
Send Message
Posted Apr 5, 2016I'll try it out. Are you on a combined server?
-
View User Profile
-
Send Message
Posted Apr 5, 2016So I tested whispers: PASS
I linked an item in chat: PASS
I clicked on peoples names to whisper them: PASS
I right-clicked people's names, and got the prat menu for copying: PASS
I need to know more info to help you.
-
View User Profile
-
Send Message
Posted Apr 4, 2016There's an error when you want to target players through the '/who' menu or through the chat. It makes you disable the whole addon in order to be able to do so.
Please fix this.
-
View User Profile
-
Send Message
Posted Apr 5, 2016You can't use target from the chat links with Prat. This has been a limitation since it was written.
-
View User Profile
-
Send Message
Posted Apr 4, 2016i can't click on people names from chat to whisper them or items on chat
-
View User Profile
-
Send Message
Posted Apr 2, 2016the normal whisper is fine, however the bnet whisper still doesn't work
-
View User Profile
-
Send Message
Posted Apr 2, 2016Hmm, for the past few months my custom filter was running perfectly, outputting messages to my default chat seen here: http://i.imgur.com/hmlg3eF.png
But then my game disconnected and now it's outputting my custom filter as this: http://i.imgur.com/eTRpfgG.png. The tooltip for output says it favors scrolling text addons, but this has never happened before, and I don't believe I have a scrolling text addon.
Anyone have a similar issue, or have any ideas what may have caused that?
EDIT: Just updated to the latest version and restarted WoW and it fixed it, that was seriously odd...
-
View User Profile
-
Send Message
Posted Mar 30, 2016Sorry for the whisper problem guys. Should be fixed now.
-
View User Profile
-
Send Message
Posted Mar 31, 2016It's still 'somewhat' broken, if you have the option "show character names instead of RealID" enabled, then:
» if person is on a character
-- it works just fine
» if person is not on a character (simply logged in b.net/playing other b.net games)
-- then his RealID is omitted (i'm guessing since the addon is just not seeing a character - it doesn't display any name whatsoever)
le screenshot with the particular option (prat updated to latest version just before logging in) on/off/on/off again
-
View User Profile
-
Send Message
Posted Apr 1, 2016I am still unable to see battle.net whispers, although character whispers are coming through.
-
View User Profile
-
Send Message
Posted Mar 30, 2016My Prat just got updated via Curse client and whispers are working again! Thank you for updating it :-).
-
View User Profile
-
Send Message
Posted Mar 29, 2016Is prat getting fixed or nah? It has been broken for a week now
-
View User Profile
-
Send Message
Posted Mar 30, 2016It's fixed, has been since the r1001 Alpha which has been available since March 23rd, 2016 and in the new 3.6.8 version which is now available! There were a number of previous comments advising people about the r1001 Alpha!
-
View User Profile
-
Send Message
Posted Mar 30, 2016Really? Alpha's are the versions where things are tested to make sure nothing else gets broken! Better tell Blizzard that Alpha's aren't allowed and that they must, therefore, release Legion tomorrow!!!!!!!!!
In reality, if you don't like it, don't use it! No-one's holding a gun to your head to force you to use something that is being provided for FREE! But by all means, feel free to create, release and maintain your own addon at any time!
-
View User Profile
-
Send Message
Posted Mar 29, 2016People need to chill. The developer doesn't owe you anything. It will be fixed when it's fixed and complaining like an entitled child doesn't make it go any faster.
-
View User Profile
-
Send Message
Posted Mar 28, 2016i accidently discovered Possible Names.
What is this?
-
View User Profile
-
Send Message
Posted Mar 28, 2016Message: Interface\AddOns\Prat-3.0\services\chatsections.lua:354: attempt to call field 'BNet_GetPresenceID' (a nil value)
Time: 03/28/16 21:43:14
Count: 8
Stack: Interface\AddOns\Prat-3.0\services\chatsections.lua:354: in function `SplitChatMessage'
Interface\AddOns\Prat-3.0\addon\addon.lua:600: in function <Interface\AddOns\Prat-3.0\addon\addon.lua:575>
(tail call): ?
Interface\FrameXML\ChatFrame.lua:2653: in function `ChatFrame_OnEvent'
[string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>
Locals: frame = ChatFrame3 {
alternativeDefaultLanguage = "Common"
isUninteractable = false
flashTimer = 0
isInitialized = 1
PageUp = <function> defined =[C]:-1
ScrollUp = <function> defined =[C]:-1
sf = <unnamed> {
}
originalShow = <function> defined =[C]:-1
tellTimer = 215579.563
PageDown = <function> defined =[C]:-1
ScrollToBottom = <function> defined =[C]:-1
ScrollDown = <function> defined =[C]:-1
resizeButton = ChatFrame3ResizeButton {
}
buttonFrame = ChatFrame3ButtonFrame {
}
Hide = <function> defined @Interface\FrameXML\FrameLocks.lua:121
0 = <userdata>
oldAlpha = 0.24705883860588
channelList = <table> {
}
AddMessage = <function> defined @Interface\AddOns\AuctionLite\Libs\AceHook-3.0\AceHook-3.0.lua:100
clickAnywhereButton = ChatFrame3ClickAnywhereButton {
}
isDocked = 1
originalHide = <function> defined =[C]:-1
editBox = ChatFrame3EditBox {
}
Show = <function> defined @Interface\FrameXML\FrameLocks.lua:125
isLocked = true
name = "Wisp"
ScrollToTop = <function> defined =[C]:-1
buttonSide = "left"
zoneChannelList = <table> {
}
defaultLanguage = "Common"
messageTypeList = <table> {
}
}
event = "CHAT_MSG_WHISPER_INFORM"
arg1 = "asd"
arg2 = "Typhösÿ-DunModr"
arg3 = ""
arg4 = ""
arg5 = "Typhösÿ"
arg6 = ""
arg7 = 0
arg8 = 0
arg9 = ""
arg10 = 0
arg11 = 1934
arg12 = "Player-1378-07256EA9"
arg13 = 0
arg14 = false
arg15 = false
arg16 = nil
arg17 = nil
type = "WHISPER_INFORM"
info = <table> {
colorNameByClass = false
flashTab = false
b = 1
r = 1
id = 10
sticky = 0
flashTabOnGeneral = false
g = 0.50196081399918
}
s = <table> {
GUID = "Player-1378-07256EA9"
CHATTYPE = "WHISPER_INFORM"
CHATGROUP = "WHISPER"
EVENT = "CHAT_MSG_WHISPER_INFORM"
}
kill = nil
newarg1 = "asd"
newarg2 = "Typhösÿ-DunModr"
newarg3 = ""
newarg4 = ""
newarg5 = "Typhösÿ"
newarg6 = ""
newarg7 = 0
newarg8 = 0
newarg9 = ""
newarg10 = 0
newarg11 = 1934
newarg12 = "Player-1378-07256EA9"
newarg13 = 0
newarg14 = false
newarg15 = false
newarg16 = nil
newarg17 = nil
chatGroup = "WHISPER"
chatTarget = "TYPHÖSÿ-DUNMODR"
presenceID = nil
(*temporary) = nil
(*temporary) = "Typhösÿ-DunModr"
(*temporary) = "attempt to call field 'BNet_GetPresenceID' (a nil value)"
strsub = <function> defined =[C]:-1
_G = <table> {
BuyButton11Highlight = BuyButton11Highlight {
}
ContainerFrame5Item7 = ContainerFrame5Item7 {
}
MultiCastActionButton6Cooldown = MultiCastActionButton6Cooldown {
}
MerchantItem9ItemButtonStock = MerchantItem9ItemButtonStock {
}
GetTrainerServiceTypeFilter = <function> defined =[C]:-1
UNIT_NAMES_COMBATLOG_TOOLTIP = "Color unit names."
UNIT_NAMEPLATES_TYPE_TOOLTIP_3 = "This method avoids overlapping nameplates by spreading them out horizontally and vertically."
SetTrainerServiceTypeFilter = <function> defined =[C]:-1
EventTraceFrameButton7HideButton = EventTraceFrameButton7HideButton {
}
SPELL_FAILED_CUSTOM_ERROR_71 = "This partygoer wants to dance with you."
BT4Button58 = BT4Button58 {
}
RecruitAFriendFrame = RecruitAFriendFrame {
}
CompactUnitFrameProfilesGeneralOptionsFrameHealthTextDropdownButtonNormalTexture = CompactUnitFrameProfilesGeneralOptionsFrameHealthTextDropdownButtonNormalTexture {
}
TutorialFrameLeft19 = TutorialFrameLeft19 {
}
MultiCastActionButton2Cooldown = MultiCastActionButton2Cooldown {
}
ERR_TRADE_EQUIPPED_BAG = "You can't trade equipped bags."
PVP_RANK_6_1 = "Corporal"
BOOKTYPE_PROFESSION = "professions"
AudioOptionsVoicePanelOutputDeviceDropDownButtonHighlightTexture = A