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 sylvanaar:
1. Its enabled! I even switched it off/on to be sure. https://www.dropbox.com/s/0iz3ex8mme3xhw7/1.jpg
2. Its broken now https://www.dropbox.com/s/6dv1jzaetclll33/2.jpg
3. Undock https://www.dropbox.com/s/o5o88dw8rdbxqim/3.jpg
4. Dock. Everything allright. https://www.dropbox.com/s/6ol5bx0kmwd1pux/4.jpg
5. After relog again broken https://www.dropbox.com/s/wl8wfnninch1896/5.jpg
6. Version latest https://www.dropbox.com/s/6zedu3dz2xq1gop/6.jpg
I did that sequence 100 times already :)
Btw, last version gave me another error:
10x Prat-3.0-3.7.62-2-g31616da\modules\Invites.lua:323: attempt to call method 'lower' (a nil value)
Prat-3.0-3.7.62-2-g31616da\modules\Invites.lua:323: in function <Prat-3.0\modules\Invites.lua:321>
(tail call): ?
[C]: in function `gsub'
Prat-3.0-3.7.62-2-g31616da\services\patterns.lua:170: in function `MatchPatterns'
Prat-3.0-3.7.62-2-g31616da\addon\addon.lua:640: in function <Prat-3.0\addon\addon.lua:566>
(tail call): ?
FrameXML\ChatFrame.lua:2792: in function `ChatFrame_OnEvent'
[string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>
Locals:
text = "inv so"
name = <table> {
cC = ""
OUTPUT = "|Hchannel:GUILD|h[Guild]|h |Hplayer:Angarl-Ashbringer:239:GUILD:|h[|cfffff468Angarl|r]|h: anyone that can inv so i can reset my dung groups pleeeaaase?"
CHANNEL = ""
PLAYER = "|cfffff468Angarl|r"
TYPEPOSTFIX = ": "
Cc = ""
CHANNELNUM = ""
TYPEPREFIX = "G | "
Pp = ""
In reply to GregoryWW:
Ah, the error you posted was due to some changes I have been making. I have fixed it.
I'm really confused about your combat log issue. I was only able to reproduce it using the technique I mentioned.
In reply to sylvanaar:
Well, that what i started my messages from - Zero Clamp enabled, but somehow Combat Log get into wrong position after relog :(
Just did some tests - same going on with undocked Log window. It "unclamps" on relog.
In reply to GregoryWW:
I have one last idea. Will post an update with that change - version 3.7.64. I hope this helpsI reproduced the problem. I think it is fixed now. 3.7.65
I can't reproduce it anymore. How about you?
In reply to sylvanaar:
Working correct now! Thanks a lot!
Hello. I am having two issues. One where I cannot accept BG invites if I have this addon enabled. (Classic)
The second being shammy colour is pink, rather than dark blue. (Might be that I don't know how to change it).
Otherwise many thanks and keep up the good work.
anyone else having trade chat change colors randomly on certain toons not all? also Im having to rejoin chat channels like general.
In reply to Holy_Z:
Prat doesn't really mess which channels you join anymore as far as I know. Which game classic or retail? Do you use the channelcolormemory module?
In reply to sylvanaar:
Retail. It seems to not be happening anymore. As far as channelcolormemory module I dont believe so not sure. All my channels are default colors
ahoy there! is there any way of completely hiding server names in chat? instead of just abbreviating the servers? (:
In reply to b9ty:
Try disabling the Servernames moduleI will add it as a new option
In reply to sylvanaar:
nice! looking forward to it :)
I released a fix for coloring after certain special characters. This changes coloring for names in a big way. Please keep me informed of any issues.
I'm still getting these errors. Can anyone give me a clue as to what I can do to fix it? The errors still occur after a /reload. Prat is still working but something isn't happy.
15x Prat-3.0-3.7.55\modules\History-History.lua:639: attempt to concatenate a nil value
[string "@Prat-3.0-3.7.55\modules\History-History.lua"]:639: in function <Prat-3.0\modules\History.lua:624>
[string "=(tail call)"]: ?
[string "=[C]"]: in function `AddHistoryLine'
[string "@Prat-3.0-3.7.55\modules\History-History.lua"]:590: in function `addSavedHistory'
[string "@Prat-3.0-3.7.55\modules\History-History.lua"]:477: in function <Prat-3.0\modules\History.lua:442>
[string "@Prat-3.0-3.7.55\modules\Scrollback.lua"]:66: in function `OnModuleEnable'
[string "@Prat-3.0-3.7.55\addon\modules.lua"]:183: in function <Prat-3.0\addon\modules.lua:174>
[string "=[C]"]: ?
[string "@DataStore\libs\AceAddon-3.0\AceAddon-3.0-12.lua"]:70: in function <DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:65>
[string "@DataStore\libs\AceAddon-3.0\AceAddon-3.0-12.lua"]:527: in function `EnableAddon'
[string "@DataStore\libs\AceAddon-3.0\AceAddon-3.0-12.lua"]:540: in function `EnableAddon'
[string "@DataStore\libs\AceAddon-3.0\AceAddon-3.0-12.lua"]:620: in function <DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:605>
[string "=[C]"]: in function `LoadAddOn'
[string "@FrameXML\UIParent.lua"]:457: in function `UIParentLoadAddOn'
[string "@FrameXML\UIParent.lua"]:504: in function `CombatLog_LoadUI'
[string "@FrameXML\UIParent.lua"]:1268: in function <FrameXML\UIParent.lua:1164>
Locals:
self = <table> {
OnSubvalueChanged = <function> defined @Prat-3.0\modules\History.lua:539
SetDefaultModuleLibraries = <function> defined @DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:367
RestoreLastSession = <function> defined @Prat-3.0\modules\Scrollback.lua:91
Enable = <function> defined @DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:294
NewModule = <function> defined @DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:235
EnableModule = <function> defined @DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:332
modules = <table> {
}
GetModule = <function> defined @DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:210
IterateEmbeds = <function> defined @DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:442
SecureHookScript = <function> defined @Bartender4\libs\AceHook-3.0\AceHook-3.0.lua:410
defaultModuleLibraries = <table> {
}
pluginopts = <table> {
}
RawHookScript = <function> defined @Bartender4\libs\AceHook-3.0\AceHook-3.0.lua:395
GetName = <function> defined @DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:279
name = "Prat_History"
IsEnabled = <function> defined @DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:451
orderedModules = <table> {
}
DisableModule = <function> defined @DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:350
db = <table> {
}
baseName = "Prat-3.0"
addSavedHistory = <function> defined @Prat-3.0\modules\History.lua:583
AddHistoryLine = <function> defined @Prat-3.0\modules\History.lua:624
SetDefaultModulePrototype = <function> defined @DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:409
HookScript = <function> defined @Bartender4\libs\AceHook-3.0\AceHook-3.0.lua:366
UnhookAll = <function> defined @Bartender4\libs\AceHook-3.0\AceHook-3.0.lua:477
Prat_PostAddMessage = <function> defined @Prat-3.0\modules\Scrollback.lua:116
IsHooked = <function> defined @Bartender4\libs\AceHook-3.0\AceHook-3.0.lua:493
SecureHook = <function> defined @Bartender4\libs\AceHook-3.0\AceHook-3.0.lua:336
DelayGMOTD = <function> defined @Prat-3.0\modules\History.lua:548
IsModule = <function> defined @DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:217
saveLine = <function> defined @Prat-3.0\modules\History.lua:596
SetDefaultModuleState = <function> defined @DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:387
ConfigureAllChatFrames = <function> defined @Prat-3.0\modules\History.lua:519
OnModuleDisable = <function> defined @Prat-3.0\modules\History.lua:515
SetEnabledState = <function> defined @DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:424
Hook = <function> defined @Bartender4\libs\AceHook-3.0\AceHook-3.0.lua:274
enabledState = true
GetDescription = <function> defined @Prat-3.0\modules\History.lua:510
OnModuleEnable = <function> defined @Prat-3.0\modules\Scrollback.lua:65
PL = <table> {
}
hooks = <table> {
}
ClearHistory = <function> defined @Prat-3.0\modules\History.lua:613
SetHistory = <function> defined @Prat-3.0\modules\History.lua:577
IterateModules = <function> defined @DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:437
OnValueChanged = <function> defined @Prat-3.0\modules\History.lua:543
RawHook = <function> defined @Bartender4\libs\AceHook-3.0\AceHook-3.0.lua:313
Unhook = <function> defined @Bartender4\libs\AceHook-3.0\AceHook-3.0.lua:418
moduleName = "History"
defaultModuleState = true
Disable = <function> defined @DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:314
}
editBox = ChatFrame3EditBox {
0 = <userdata>
tabCompleteTableIndex = 1
focusLeft = ChatFrame3EditBoxFo
Amazing addon. Thanks a lot!!
I have a problem whenever in a raid fight and a mechanic happens to a bunch of players that causes DBM to make all of them /s or /y something at the same time. The game stutters for me (even movement) which makes reacting to such a mechanic harder. It seems Prat is trying to process all chat messages at once causing lag. This happens even if I'm not the target of such mechanic.
I tried disabling "Class colors" module, but it didnt fix the issue.
I disabled "Chat bubbles" from the game options, but it didnt fix the issue.
I narrowed down the problem to Prat as disabling it makes the problem go away for the same fight and same mechanic.
The problem can't be fixed from DBM as it requires all players to disable that feature, which is not feasible in a PUG group.
In reply to Genni84:
You should locate the Playernames module, and disable "Color names everywhere" option - that is usually the cause of that.
In reply to sylvanaar:
I have an issue in ZG for example when people roll for bijous and coins all the time. The spam that occurs when all the loot rolls are displayed really hogs the cpu % and makes the game stutter.
Wonder what that might be and maybe I could filter those specific rolls out since no point printing those anyways.
EDIT:
Hey looks like the new version has solved this issue.. was yday at ZG and no strutter anymore for loot rolls. Thanks
In reply to sylvanaar:
Worked like a charm! Thanks!
It seems the issue was not in any message, but those "<Debuff> on <Player>"
Hi guys,
First thing first, thanks for this amazing chat addon sylvanaar. <3
I d like to know if there is a way to completely fade the chat, meaning buttons, chat tabs and everything else for as long as no message has been posted on any chat tab or for as long as you re not having your mouse hovering any part of the chat UI?
Also is there an option to hide chat tabs for as long as no message has been posted on any chat tab or for as long as you re not having your mouse hovering any part of the chat UI?
Thanks in advance for the answer.
In reply to Golgoth_FR:
I haven't tested this in a long time but it should be possible.
Step #1 is to enable the chattabs module in on Prat's module control tab. Reload your UI after setting to "enabled". Double check that it is enabled after reloading.
Once that is done, you should find the options for "tab" and set the active and inactive alpha to 0, and reload the UI (there's a bug looks like that doesn't apply the setting right away)
Now, you should be able to go to the menu on the *first* chat tab, right click and where it says background - choose that and on the color picker set the alpha all the way to 0
The frames should fade in and out now when there are messages or you mouseover them.
You can control how the fading works with the "fading" module.
You can control how much alpha the chatframe has when you mouse over it in Prat's "frames" module.