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.
Everytime I click on a name to whisp opens the last chat I wrote. Reload UI fix this, but still annoying
Message: Interface\FrameXML\ChatConfigFrame.lua:1461: attempt to index local 'info' (a nil value)
Time: Sun Sep 2 10:08:32 2018
Count: 1
Stack: Interface\FrameXML\ChatConfigFrame.lua:1461: attempt to index local 'info' (a nil value)
Interface\FrameXML\ChatConfigFrame.lua:1461: in function `GetMessageTypeColor'
Interface\AddOns\Prat-3.0\modules\Editbox.lua:815: in function <Interface\AddOns\Prat-3.0\modules\Editbox.lua:804>
(tail call): ?
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'
Interface\FrameXML\ChatFrame.lua:3738: in function `ChatFrame_SendTell'
Interface\FrameXML\ItemRef.lua:62: in function <Interface\FrameXML\ItemRef.lua:1>
[C]: ?
[C]: ?
...ace\AddOns\Blizzard_CombatLog\Blizzard_CombatLog.lua:3510: in function `SetItemRef'
Interface\FrameXML\ChatFrame.lua:3630: in function <Interface\FrameXML\ChatFrame.lua:3629>
[C]: in function `ChatFrame_OnHyperlinkShow'
[string "*:OnHyperlinkClick"]:1: in function <[string "*:OnHyperlinkClick"]:1>
Locals: messageType = "CHANNELCommunity:115078752:1"
group = nil
type = "CHANNELCommunity:115078752:1"
info = nil
(*temporary) = "CHANNELCommunity:115078752:1"
(*temporary) = "CHANNELCommunity:115078752:1"
(*temporary) = "CHANNELC"
(*temporary) = "CHANNELCommunity:115078752:1"
(*temporary) = "attempt to index local 'info' (a nil value)"
I have my input box, on top, over my channels tabs. When i log for the 1st time, if i click a chat tab, it brings up the input box and it will stay there, making it impossible to click chat tabs. If i do a ui reload, this will fix the problem. But it forces me to log a character, then immediatly do a reload, or im just unable to switch chat tabs. I don't know if you were aware of the issue, so i'm reporting it^^
Hi!
Item tooltip showing up First time over Chat panel, then Second time on the Bottom right corner of whole Wow (usual tooltip place), then Third time jumping back to Chat panel again.
Can you look over this yo-yo effect and maybe fix it?
Thank you!
In reply to pellerin729:
In reply to sylvanaar:
Did you disable the Grats button? It no longer shows even though the settings are still there and checked? :(
In reply to Eddols4308:
In reply to Eddols4308:
In reply to sylvanaar:
/who and right click menu pops up the following
Message: Interface\FrameXML\UnitPopup.lua:988: bad argument #1 to 'CanReportPlayer' (Usage: local canReport = C_ChatInfo.CanReportPlayer(playerLocation))
Time: Sat Sep 1 18:08:17 2018
Count: 1
Stack: Interface\FrameXML\UnitPopup.lua:988: bad argument #1 to 'CanReportPlayer' (Usage: local canReport = C_ChatInfo.CanReportPlayer(playerLocation))
[C]: in function `CanReportPlayer'
Interface\FrameXML\UnitPopup.lua:988: in function `UnitPopup_HideButtons'
Interface\FrameXML\UnitPopup.lua:306: in function <Interface\FrameXML\UnitPopup.lua:285>
[C]: in function `UnitPopup_ShowMenu'
Interface\FrameXML\FriendsFrame.lua:226: in function `initFunction'
Interface\FrameXML\UIDropDownMenu.lua:77: in function `UIDropDownMenu_Initialize'
Interface\FrameXML\UIDropDownMenu.lua:1085: in function `ToggleDropDownMenu'
Interface\FrameXML\FriendsFrame.lua:197: in function `FriendsFrame_ShowDropdown'
Interface\FrameXML\ItemRef.lua:60: in function <Interface\FrameXML\ItemRef.lua:1>
...ace\AddOns\Blizzard_CombatLog\Blizzard_CombatLog.lua:3510: in function <...ace\AddOns\Blizzard_CombatLog\Blizzard_CombatLog.lua:3452>
[C]: in function `SetItemRef'
Interface\FrameXML\ChatFrame.lua:3630: in function <Interface\FrameXML\ChatFrame.lua:3629>
[C]: in function `ChatFrame_OnHyperlinkShow'
[string "*:OnHyperlinkClick"]:1: in function <[string "*:OnHyperlinkClick"]:1>
Locals: (*temporary) = <table> {
IsBattleNetGUID = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:63
SetGUID = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:47
IsCommunityData = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:129
IsBattlefieldScoreIndex = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:99
SetUnit = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:71
IsGUID = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:59
chatLineID = "6479"
IsChatLineID = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:87
Clear = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:144
IsValid = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:51
SetVoiceID = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:107
IsVoiceID = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:113
GetBattlefieldScoreIndex = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:103
IsUnit = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:75
SetCommunityInvitation = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:133
GetVoiceID = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:117
IsCommunityInvitation = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:139
GetChatLineID = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:91
ClearAndSetField = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:158
GetGUID = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:67
GetUnit = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:79
SetChatLineID = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:83
SetBattlefieldScoreIndex = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:95
SetCommunityData = <function> defined @Interface\FrameXML\ObjectAPI\PlayerLocation.lua:121
}
Any plans to add an option to disable/hide the scrollbar and scroll-down reminder that 8.0 introduced?
In reply to Managed:
Message: Interface\AddOns\Prat-3.0\modules\Achievements.lua:928: attempt to compare number with boolean
Time: Sun Sep 2 05:25:44 2018
Count: 2
Stack: Interface\AddOns\Prat-3.0\modules\Achievements.lua:928: attempt to compare number with boolean
Interface\AddOns\Prat-3.0\modules\Achievements.lua:928: in function <Interface\AddOns\Prat-3.0\modules\Achievements.lua:921>
[C]: in function `gsub'
Interface\AddOns\Prat-3.0\services\patterns.lua:159: in function `MatchPatterns'
Interface\AddOns\Prat-3.0\addon\addon.lua:639: in function <Interface\AddOns\Prat-3.0\addon\addon.lua:565>
(tail call): ?
Interface\FrameXML\ChatFrame.lua:2898: in function `ChatFrame_OnEvent'
[string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>
Locals: type = "GUILD_ACHIEVEMENT"
text = "[Heroic: Twin Consorts]"
theirId = "8066"
theirPlayerGuid = "Player-3724-0AA6BE78"
theirDone = "1"
theirMonth = "9"
theirDay = "1"
theirYear = "18"
_ = "4294967295"
_ = "4294967295"
_ = "4294967295"
_ = "4294967295"
theirAchievmentName = "Heroic: Twin Consorts"
(*temporary) = false
(*temporary) = "Player-3724-0AA6BE78"
(*temporary) = 20
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to compare number with boolean"
module = <table> {
SetDefaultModuleLibraries = <function> defined @Interface\AddOns\AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:398
OnGratsLink = <function> defined @Interface\AddOns\Prat-3.0\modules\Achievements.lua:975
baseName = "Prat-3.0"
Enable = <function> defined @Interface\AddOns\AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:325
NewModule = <function> defined @Interface\AddOns\AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:266
OnModuleDisable = <function> defined @Interface\AddOns\Prat-3.0\modules\Achievements.lua:955
EnableModule = <function> defined @Interface\AddOns\AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:363
modules = <table> {
}
GetModule = <function> defined @Interface\AddOns\AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:241
IterateEmbeds = <function> defined @Interface\AddOns\AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:473
IsModule = <function> defined @Interface\AddOns\AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:248
db = <table> {
}
defaultModuleLibraries = <table> {
}
SetDefaultModulePrototype = <function> defined @Interface\AddOns\AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:440
addGrats = <function> defined @Interface\AddOns\Prat-3.0\modules\Achievements.lua:959
SetEnabledState = <function> defined @Interface\AddOns\AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:455
Prat_FrameMessage = <function> defined @Interface\AddOns\Prat-3.0\modules\Achievements.lua:1012
enabledState = true
OnModuleEnable = <function> defined @Interface\AddOns\Prat-3.0\modules\Achievements.lua:950
PL = <table> {
}
moduleName = "Achievements"
GetName = <function> defined @Interface\AddOns\AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:310
defaultModuleState = true
Disable = <function> defined @Interface\AddOns\AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:345
IterateModules = <function> defined @Interface\AddOns\AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:468
name = "Prat_Achievements"
addDate = <function> defined @Interface\AddOns\Prat-3.0\modules\Achievements.lua:967
IsEnabled = <function> defined @Interface\AddOns\AngryAssignments\libs\AceAddon-3.0\AceAddon-3.0.lua:482
orderedModules = <table> {
}
SetDefaultModu
In reply to dnjaxxass:
Hi!
Item tooltip showing up First time over Chat panel, then Second time on the Bottom right corner of whole Wow (usual tooltip place), then Third time jumping back to Chat panel again.
Can you look over this yo-yo effect and maybe fix it?
Thank you!
In reply to koborold:
In reply to koborold:
will it be fixed :-( ?
329x FrameXML\ChatConfigFrame.lua:1461: attempt to index local 'info' (a nil value)
FrameXML\ChatConfigFrame.lua:1461: in function `GetMessageTypeColor'
Prat-3.0-r1178 \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:117335872:1"
group = nil
type = "CHANNELCommunity:117335872:1"
info = nil
(*temporary) = "CHANNELCommunity:117335872:1"
(*temporary) = "CHANNELCommunity:117335872:1"
(*temporary) = "CHANNELC"
(*temporary) = "CHANNELCommunity:117335872:1"
(*temporary) = "attempt to index local 'info' (a nil value)"
In reply to bonkzi:
hi, i started getting this annoying bug since couple days ago. i have an extra chat tab besides the default one and combat log and when i log in it's always flashing like there are unread messages even though i have disable flashing checked. if i switch to it and back it goes away or if i uncheck and check disable flashing. and it does it only on log in