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.
Hope that helps.
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[1]":9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?:
AceAddon-3.0-5 (DataStore):510: in function `InitializeAddon'
AceAddon-3.0-5 (DataStore):622: in function <...\AddOns\DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:615>
---
1x AceHook-3.0-5:142: attempt to index local 'obj' (a nil value)
AceHook-3.0-5:370: in function `HookScript'
Prat-3.0-r469 \modules\TellTarget.lua:231: in function `OnModuleEnable'
Prat-3.0-r469 \addon\modules.lua:189: in function <Prat-3.0\addon\modules.lua:181>
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[1]":9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?:
AceAddon-3.0-5 (DataStore):539: in function `EnableAddon'
AceAddon-3.0-5 (DataStore):551: in function `EnableAddon'
AceAddon-3.0-5 (DataStore):629: in function <...\AddOns\DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:615>
<in C code>: in function `LoadAddOn'
PitBull4-v4.0.0-beta10\Main.lua:1126: in function `LoadModules'
...:
(tail call): ?:
<in C code>: ?
<string>:"safecall Dispatcher[1]":9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?:
AceAddon-3.0-5 (DataStore):539: in function `EnableAddon'
AceAddon-3.0-5 (DataStore):629: in function <...\AddOns\DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:615>
<in C code>: in function `LoadAddOn'
Interface\FrameXML\UIParent.lua:235: in function `UIParentLoadAddOn':
Interface\FrameXML\UIParent.lua:258: in function `CombatLog_LoadUI':
Interface\FrameXML\UIParent.lua:482: in function <Interface\FrameXML\UIParent.lua:454>:
Message: Interface\AddOns\Prat-3.0\modules\Editbox.lua:473: attempt to index global 'ChatFrame1EditBox' (a nil value)
Time: 06/25/10 18:51:12
Count: 1
Stack: Interface\AddOns\Prat-3.0\addon\addon.lua:235: in function <Interface\AddOns\Prat-3.0\addon\addon.lua:192>
(tail call): ?
[C]: ?
[string "safecall Dispatcher[1]"]:9: in function <[string "safecall Dispatcher[1]"]:5>
(tail call): ?
...\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:510: in function `InitializeAddon'
...\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:622: in function <...\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:615>
Locals: self =
SetDefaultModuleLibraries = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:381
Enable = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:313
RegisterChatCommand = <function> defined @Interface\AddOns\Bagnon\libs\AceConsole-3.0\AceConsole-3.0.lua:85
EnableModule = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:346
modules =
}
GetModule = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:230
IterateEmbeds = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:456
SecureHook = <function> defined @Interface\AddOns\Bartender4\libs\AceHook-3.0\AceHook-3.0.lua:339
defaultModuleLibraries =
}
TimeLeft = <function> defined @Interface\AddOns\Omen\Libs\AceTimer-3.0\AceTimer-3.0.lua:363
UnregisterChatCommand = <function> defined @Interface\AddOns\Bagnon\libs\AceConsole-3.0\AceConsole-3.0.lua:111
RawHookScript = <function> defined @Interface\AddOns\Bartender4\libs\AceHook-3.0\AceHook-3.0.lua:398
ScheduleRepeatingTimer = <function> defined @Interface\AddOns\Omen\Libs\AceTimer-3.0\AceTimer-3.0.lua:301
CancelAllTimers = <function> defined @Interface\AddOns\Omen\Libs\AceTimer-3.0\AceTimer-3.0.lua:341
Printf = <function> defined @Interface\AddOns\Bagnon\libs\AceConsole-3.0\AceConsole-3.0.lua:69
GetName = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:298
ChatFrame_MessageEventHandler = <function> defined @Interface\AddOns\Prat-3.0\addon\addon.lua:508
name = "Prat"
UpdateProfile = <function> defined @Interface\AddOns\Prat-3.0\addon\addon.lua:319
IsEnabled = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:465
ScheduleTimer = <function> defined @Interface\AddOns\Omen\Libs\AceTimer-3.0\AceTimer-3.0.lua:276
DisableModule = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:364
baseName = "Prat-3.0"
UpdateProfileDelayed = <function> defined @Interface\AddOns\Prat-3.0\addon\addon.lua:323
OnModuleCreated = <function> defined @Interface\AddOns\Prat-3.0\addon\modules.lua:262
AddMessage = <function> defined @Interface\AddOns\Prat-3.0\addon\addon.lua:626
GetArgs = <function> defined @Interface\AddOns\Bagnon\libs\AceConsole-3.0\AceConsole-3.0.lua:144
Print = <function> defined @Interface\AddOns\Bagnon\libs\AceConsole-3.0\AceConsole-3.0.lua:54
SecureHookScript = <function> defined @Interface\AddOns\Bartender4\libs\AceHook-3.0\AceHook-3.0.lua:413
IsHooked = <function> defined @Interface\AddOns\Bartender4\libs\AceHook-3.0\AceHook-3.0.lua:496
ProcessUserEnteredChat = <function> defined @Interface\AddOns\Prat-3.0\addon\addon.lua:491
ChatEdit_ParseText = <function> defined @Interface\AddOns\Prat-3.0\addon\addon.lua:443
IsModule = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:482
hooks =
}
SetDefaultModuleState = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:401
NewModule = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:255
OnEnable = <function> defined @Interface\AddOns\Prat-3.0\addon\addon.lua:307
SetEnabledState = <function> defined @Interface\AddOns\AtlasLoot\Libs\AceAddon-3.0\AceAddon-3.0.lua:438
can u help me ?
1. i like to have the chat box on top, however it used to "disappear" when you weren't entering text. now it is always there, but grayed out. however, it gets in the way when trying to click the chatframe tabs. Is this an issue that is being worked on? (i looked through the comments, but I could have missed it being mentioned somewhere)
2. I positioned the chatframe where I wanted it, with the bottom border near the bottom of the screen. However, every time i log in, the frame moves up...I suspect that it is to "make room" for the editbox, however obviously it would be preferable for it to stay where the hell i put it. any suggestions?
hmm taking it back to the old version i had i gess someone plz tell me when this is fixed
if your EU, stick with 3.3.12 until next week
In the ChannelSticky area, can we have a tick box for sticky/unstickying the RealID whispers or make the incoming whispers tick box also affect the RealID whispers too?
Personally I have this unticked so when i begin typing again after a whisper it goes back to my previous channel instead of the whisper but with RealID whisper, it goes back to that channel instead.
Second suggestion, is there anyway to get rid of the black background behind the up down arrows on the left of the chatbox? Prior to Patch 3.3.5 it was transparent with only the buttons being shown, post 3.3.5 we have a black background (or at least, I do).
Cheers Sylvanaar. :)
It's like a shuffling/sorting/filtering suggestion.
Imagine you are in Trade Channel.
Someone type: LFG bla bla bla
Prat automatically picks up LFG and throws it into the LookingForGroup channel on our side if we are joined, if not, it simply hides that from us.
Someone types in Trade: Blah Blah Guild looking to recruit blah blah...
Prat automatically picks up that it is a Guild Request spam and throws it into the GuildRecruitment Channel if we are joined, if not, it simply hides it from us.
Leaving us with a much more Trade Related Trade Channel.
Prat wouldn't be re-sending these things to those channels, just making it appear on our end on those channels, catching it before we see it in our Trade Channel, sorting it, filtering it and then letting us see it based on our options/channels we have joined.
Some of us just want Trade only information in Trade.
So that would be my request, wondering if Prat could do it. =)
Thanks for fixing Prat for 3.3.5. It works once again, but a weird thing has happened -- the editbox now looks like it's at 50% alpha! All the colors are faded, when typing it /say text dooks dull grey, /guild looks faded green, etc.; the same is the case for the editbox border, when "match channel colors" option is enabled.
The colors in the chat box looks fine, it's only the edit box that's affected. Any idea how to fix it? I couldn't find editbox alpha settings anywhere.