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.
First of all thanks for the addon - been using it for years.
Are there any plans to fix Method Dungeon Tools pull routes? the links in chat dont work.
having issues with chat
Message: Interface\FrameXML\ChatConfigFrame.lua:1461: attempt to index local 'info' (a nil value)
Time: Tue Sep 25 19:26:50 2018
Count: 1
Stack: Interface\FrameXML\ChatConfigFrame.lua:1461: attempt to index local 'info' (a nil value)
Interface\FrameXML\ChatFrame.lua:3994: in function `ChatEdit_ResetChatType'
Interface\FrameXML\ChatFrame.lua:3975: in function `ChatEdit_OnShow'
[string "*:OnShow"]:1: in function <[string "*:OnShow"]:1>
[C]: in function `Show'
Interface\FrameXML\ChatFrame.lua:4033: in function `ChatEdit_ActivateChat'
Interface\FrameXML\ChatFrame.lua:3664: in function `ChatFrame_OpenChat'
[string "OPENCHAT"]:1: in function <[string "OPENCHAT"]:1>
Locals: self = ChatFrame1EditBox {
0 = <userdata>
tabCompleteTableIndex = 1
at3matches = <table> {
}
focusLeft = ChatFrame1EditBoxFocusLeft {
}
focusRight = ChatFrame1EditBoxFocusRight {
}
chatFrame = ChatFrame1 {
}
addSpaceToAutoComplete = true
lDrag = <unnamed> {
}
rDrag = <unnamed> {
}
AddHistoryLine = <function> defined =[C]:-1
headerSuffix = ChatFrame1EditBoxHeaderSuffix {
}
language = "Common"
hookedByAceTab3 = true
ClearHistory = <function> defined =[C]:-1
history_index = 0
history_lines = <table> {
}
header = ChatFrame1EditBoxHeader {
}
addHighlightedText = true
at3curMatch = 0
frame = <unnamed> {
}
languageID = 7
focusMid = ChatFrame1EditBoxFocusMid {
}
}
Got this error today:
6x Prat-3.0-r1193 \modules\Achievements-Achievements.lua:932: Usage: GetPlayerInfoByGUID("playerGUID")
[C]: in function `GetPlayerInfoByGUID'
Prat-3.0-r1193 \modules\Achievements-Achievements.lua:932: in function <Prat-3.0\modules\Achievements.lua:921>
[C]: in function `gsub'
Prat-3.0-r1193 \services\patterns.lua:159: in function `MatchPatterns'
Prat-3.0-r1193 \addon\addon.lua:639: in function <Prat-3.0\addon\addon.lua:565>
(tail call): ?
FrameXML\ChatFrame.lua:2898: in function <FrameXML\ChatFrame.lua:2891>
(tail call): ?
(tail call): ?
[string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>
Locals:
InCombatSkipped
In reply to Ambiguouskid:
2x Prat-3.0-r1193 \modules\Achievements-Achievements.lua:932: Usage: GetPlayerInfoByGUID("playerGUID")
[C]: in function `GetPlayerInfoByGUID'
Prat-3.0-r1193 \modules\Achievements-Achievements.lua:932: in function <Prat-3.0\modules\Achievements.lua:921>
[C]: in function `gsub'
Prat-3.0-r1193 \services\patterns.lua:159: in function `MatchPatterns'
Prat-3.0-r1193 \addon\addon.lua:639: in function <Prat-3.0\addon\addon.lua:565>
(tail call): ?
FrameXML\ChatFrame.lua:2898: in function <FrameXML\ChatFrame.lua:2891>
(tail call): ?
(tail call): ?
[string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>
Locals:
(*temporary) = "0000000000000000"
13x FrameXML\ChatConfigFrame.lua:1461: attempt to index local 'info' (a nil value)
FrameXML\ChatConfigFrame.lua:1461: in function `GetMessageTypeColor'
Prat-3.0-r1193 \modules\Editbox.lua:815: in function <Prat-3.0\modules\Editbox.lua:804>
(tail call): ?
FrameXML\ChatFrame.lua:3994: in function `ChatEdit_ResetChatType'
FrameXML\ChatFrame.lua:3975: in function `ChatEdit_OnShow'
[string "*:OnShow"]:1: in function <[string "*:OnShow"]:1>
[C]: in function `Show'
FrameXML\ChatFrame.lua:4033: in function <FrameXML\ChatFrame.lua:4021>
[C]: in function `ChatEdit_ActivateChat'
FrameXML\ChatFrame.lua:3664: in function `ChatFrame_OpenChat'
FrameXML\ChatFrame.lua:3738: in function `ChatFrame_SendTell'
FrameXML\UnitPopup.lua:1619: in function <FrameXML\UnitPopup.lua:1592>
[C]: in function `func'
FrameXML\UIDropDownMenu.lua:935: in function `UIDropDownMenuButton_OnClick'
[string "*:OnClick"]:1: in function <[string "*:OnClick"]:1>
Locals:
messageType = "CHANNELCommunity:117716862:1"
group = nil
type = "CHANNELCommunity:117716862:1"
info = nil
(*temporary) = "CHANNELCommunity:117716862:1"
(*temporary) = "CHANNELCommunity:117716862:1"
(*temporary) = "CHANNELC"
(*temporary) = "CHANNELCommunity:117716862:1"
(*temporary) = "attempt to index local 'info' (a nil value)"
Recently when someone whispers me and I click on their name to respond, or I right click whisper someone from my battle net list, the chat doesn't pick up the right "channel". For example when I click someone's name in the chat, it goes into "Say" mode instead of "Whisper". Tried without the addon and it doesn't happen.
In reply to Forge_User_08697396:
In reply to Forge_User_08697396:
Is there any way to override the clamping of blizzard frames? I removed all the extra crap but the combat frame keeps clamping as if the scrollbar etc buttons are still there
Why does Prat install all its libraries in a top-level addon folder, rather than in a subfolder under the Prat addon directory?
In other words, why is it two folders like this:
World of Warcraft\Interface\AddOns\Prat-3.0
World of Warcraft\Interface\AddOns\Prat-3.0_Libraries
Rather than one folder and a subfolder like this:
World of Warcraft\Interface\AddOns\Prat-3.0
World of Warcraft\Interface\AddOns\Prat-3.0\Libraries
did something recently change the default channel colours?
for example, my trade channel is now brown
I'm having a large amout on fps freeze / stutter when a wall of text is being posted in chat frame. Like multiple ppl getting achievements at the same time, dps meter reports, macros using multiple line of text etc etc. I can feel the stutter everytime its being posted. And it doenst happen with prat turned off.. so something in there is causing it. I don't think i'm the only one with the issue also.
In reply to pellerin729:
Posting links is currently broken and it's been so for a while. This includes at least web addresses and links from addons such as Method Dungeon Tools. Opening links works just fine tho.
Still can't move the combat log within 3/4" of the bottom of the screen. Hell, I just want to move it to rest on top of my Titan Panel bottom bar (like I could in Legion) but there is an invisible force field introduced in the BFA versions of this addon preventing me from doing so.
Can you look into why I'm unable to import links my friends share via Method Dungeon Tool? (I assume that addon works similar to weak auras)
When you try to right click on the name of anyone that has come online in guild, gained an achievement or on any name from the scrollback history.
61x FrameXML\UnitPopup.lua:988: bad argument #1 to 'CanReportPlayer' (Usage: local canReport = C_ChatInfo.CanReportPlayer(playerLocation))
[C]: in function `CanReportPlayer'
FrameXML\UnitPopup.lua:988: in function `UnitPopup_HideButtons'
FrameXML\UnitPopup.lua:306: in function <FrameXML\UnitPopup.lua:285>
[C]: in function `UnitPopup_ShowMenu'
FrameXML\FriendsFrame.lua:226: in function `initFunction'
FrameXML\UIDropDownMenu.lua:77: in function `UIDropDownMenu_Initialize'
FrameXML\UIDropDownMenu.lua:1085: in function `ToggleDropDownMenu'
FrameXML\FriendsFrame.lua:197: in function `FriendsFrame_ShowDropdown'
FrameXML\ItemRef.lua:60: in function <FrameXML\ItemRef.lua:1>
[C]: ?
...aceBlizzard_CombatLog\Blizzard_CombatLog.lua:3510: in function <...aceBlizzard_CombatLog\Blizzard_CombatLog.lua:3452>
[C]: in function `SetItemRef'
FrameXML\ChatFrame.lua:3630: in function <FrameXML\ChatFrame.lua:3629>
[C]: in function `ChatFrame_OnHyperlinkShow'
[string "*:OnHyperlinkClick"]:1: in function <[string "*:OnHyperlinkClick"]:1>
Locals:
(*temporary) = <table> {
IsBattleNetGUID = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:63
SetGUID = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:47
IsCommunityData = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:129
IsBattlefieldScoreIndex = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:99
SetUnit = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:71
IsGUID = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:59
chatLineID = "544"
IsChatLineID = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:87
Clear = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:144
IsValid = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:51
SetVoiceID = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:107
IsVoiceID = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:113
GetBattlefieldScoreIndex = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:103
IsUnit = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:75
SetCommunityInvitation = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:133
GetVoiceID = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:117
IsCommunityInvitation = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:139
GetChatLineID = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:91
ClearAndSetField = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:158
GetGUID = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:67
GetUnit = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:79
SetChatLineID = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:83
SetBattlefieldScoreIndex = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:95
SetCommunityData = <function> defined @FrameXML\ObjectAPI\PlayerLocation.lua:121
}
Please add the option to have tooltips for Archievments / Items, linkable elements at mouseover.
In reply to Forge_User_51027905:
Hi, since yesterday the font it's chaning itself to another random font, and i cant change it to the defaoult font, what can i do?