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 Aug 22, 2026sorry but how i can remove the class from chat? like human dwarf?
-
View User Profile
-
Send Message
Posted Aug 22, 2026i got below error
1x [ADDON_ACTION_BLOCKED] AddOn 'Prat-3.0' tried to call the protected function 'UNKNOWN()'.
[!BugGrabber/BugGrabber.lua]:554: in function '?'
[!BugGrabber/BugGrabber.lua]:538: in function <!BugGrabber/BugGrabber.lua:538>
[C]: ?
[C]: ?
[Prat-3.0/modules/Achievements.lua]:217: in function 'linkfunc'
[Prat-3.0/services/links.lua]:55: in function <Prat-3.0/services/links.lua:45>
[tail call]: ?
[tail call]: ?
[C]: in function 'SetHyperlink'
[Blizzard_UIPanels_Game/Mainline/ItemRef.lua]:392: in function 'ItemRefSetHyperlink'
[Blizzard_UIPanels_Game/Mainline/ItemRef.lua]:25: in function <...eBlizzard_UIPanels_Game/Mainline/ItemRef.lua:6>
[C]: ?
...[C]: ?
[C]: ?
[C]: ?
[C]: ?
[C]: ?
[C]: ?
[C]: ?
[C]: in function 'SetItemRef'
[Blizzard_ChatFrameBase/Shared/ChatFrame.lua]:23: in function <...eBlizzard_ChatFrameBase/Shared/ChatFrame.lua:19>
[C]: ?
Locals:
self=<table>
event="ADDON_ACTION_BLOCKED"
addonName="Prat-3.0"
addonFunc="UNKNOWN()"
name="Prat-3.0"
badAddons=<table>{
Prat-3.0=true
MiniAuras=true
}
L=<table>{
NO_DISPLAY_2="|cffffff00The standard display is called BugSack, and can probably be found on the same site where you found !BugGrabber.|r"
ERROR_DETECTED="%s |cffffff00captured, click the link for more information.|r"
BUGGRABBER_STOPPED="|cffffff00There are too many errors in your UI. As a result, your game experience may be degraded. Disable or update the failing addons if you don't want to see this message again.|r"
USAGE="|cffffff00Usage: /buggrabber <1-%d>.|r"
STOP_NAG="|cffffff00!BugGrabber will not nag about missing a display addon again until next patch.|r"
NO_DISPLAY_STOP="|cffffff00If you don't want to be reminded about this again, run /stopnag.|r"
NO_DISPLAY_1="|cffffff00You seem to be running !BugGrabber with no display addon to go along with it. Although a slash command is provided for accessing error reports, a display can help you manage these errors in a more convenient way.|r"
ERROR_UNABLE="|cffffff00!BugGrabber is unable to retrieve errors from other players by itself. Please install BugSack or a similar display addon that might give you this functionality.|r"
ADDON_CALL_PROTECTED="[%s] AddOn '%s' tried to call the protected function '%s'."
}
-
View User Profile
-
Send Message
Posted Aug 21, 2026I think the discord/guild integration broke something with timestamps in guild chat (aka, not the chat window). When I turn on timestamps in the base game settings, it turns it on for guild chat (prat module enabled btw), but when i /reload, it turns off the base game's timestamps to "none".
-
View User Profile
-
Send Message
Posted Aug 20, 2026Hey, since 12.1 it seems pings no longer show the person's name while in a M+ key and BGs.
https://i.imgur.com/MBgieOE.png example of what I mean, top one is during a bg, bottom is how it normally is
-
View User Profile
-
Send Message
Posted Aug 21, 2026@y_b_j Yea i have the same problem
-
View User Profile
-
Send Message
Posted Aug 23, 2026@y_b_j Hi there, can you upload the image to another website, as imgur isn't available in the UK :)
-
View User Profile
-
Send Message
Posted Aug 23, 2026@QTartemis https://gcdnb.pbrd.co/images/XJ-Ki5hwR4xF.png
-
View User Profile
-
Send Message
Posted Aug 20, 2026Hi, still using this add-on after many many years.
When do you expect to have the discord guildchat integration fixed?
Currently I'm seeing a discord account name in the chat when someone talks from discord into the guild chat, and not their last used character, even if they're online.
A screenshot can be found here: https://imgur.com/KnKxw8g
-
View User Profile
-
Send Message
Posted Aug 19, 2026hi, thank you so much for maintaining this addon
i remember i stopped using Prat because it was no longer being maintained at one point, and the other chat addons i used were missing quite a few features compared to Prat so i decided to check Prat out again on CurseForge today, and after checking the Description page, i just remembered the reason why it wasnt being maintained few years back
i dont know Sylvanaar personally so im really surprised to see that he still has such an impact on the addon space for you developers, and its really touching to see that message even i dont know any of you
thank you! 🙇♂️
-
View User Profile
-
Send Message
Posted Aug 15, 2026If anyone is getting random machine gun style LUA errors shut off ALL fading features from your chat. Bartender had an issue, and its possible this one is also having the same problem. They really messed with the UI this time. Thanks blizzard.
-
View User Profile
-
Send Message
Posted Aug 16, 2026@voidster1234 Should now be resolved :)
-
View User Profile
-
Send Message
Posted Aug 14, 202696x ...izzard_ChatFrameBase/Mainline/ChatFrameOverrides.lua:295: attempt to index local 'discordInfo' (a nil value)
[Blizzard_ChatFrameBase/Mainline/ChatFrameOverrides.lua]:295: in function 'MessageEventHandler'
[Prat-3.0/addon/addon.lua]:622: in function <Prat-3.0/addon/addon.lua:542>
[tail call]: ?
[Scrap/addons/main/main.lua]:276: in function 'Print'
[Scrap/addons/main/main.lua]:265: in function 'PrintMoney'
[Scrap/addons/merchant/button.lua]:214: in function 'Sell'
[Scrap/addons/merchant/button.lua]:51: in function <Scrap/addons/merchant/button.lua:49>
[tail call]: ?
[C]: ?
[Masque/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua]:19: in function <...que/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:15>
[Masque/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua]:54: in function 'Fire'
[Scrap/libs/WildAddon-1.1/WildAddon-1.1.lua]:138: in function 'SendSignal'
[Scrap/addons/main/main.lua]:43: in function <Scrap/addons/main/main.lua:42>
Locals:
self=ChatFrame1 <FloatingChatFrame.xml:645>{
oldestFadingLineTimestamp=24214.466000
systemInfo=<table>
fadeDurationSecs=3
shouldFadeAfterInactivity=true
buttonSide="left"
checkedGMOTD=true
textIsCopyable=false
overrideFadeTimestamp=24214.466000
dirtySettings=<table>
hasActiveChanges=false
system=8
isScrollingMessageFrame=true
allowAtGlues=true
ScrollBar=Frame <ChatFrame.xml:5>
isUninteractable=false
Background=ChatFrame1Background <FloatingChatFrame.xml:6>
mouseOutTime=1.004000
editBox=ChatFrame1EditBox <FloatingChatFrame.xml:496>
downKeys=<table>
ScrollToBottomButton=Button <FloatingChatFrame.xml:475>
buttonFrame=ChatFrame1ButtonFrame <FloatingChatFrame.xml:455>
name="General"
defaultLanguage="Orco"
snappedFrames=<table>
isInitialized=1
isDocked=1
settingDisplayInfoMap=<table>
ResizeButton=ChatFrame1ResizeButton <FloatingChatFrame.xml:416>
clickAnywhereButton=ChatFrame1ClickAnywhereButton <FloatingChatFrame.xml:403>
systemPositionDirty=false
alternativeDefaultLanguage="Orco"
hasOwnFontObject=true
allowScroll=true
oldAlpha=0.682353
channelList=<table>
FontStringContainer=Frame <ScrollingMessageFrame.xml:9>
messageTypeList=<table>
savedSystemInfo=<table>
timeVisibleSecs=120
fontObject=table: 0000017E2B9611A0 <UnknownFile:0>
systemNameString="Marco de chat"
mouseInTime=0
zoneChannelList=<table>
EditModeResizeButton=Button <EditModeSystemTemplates.xml:173>
insertMode=2
Selection=Frame <EditModeSystemTemplates.xml:167>
onDisplayRefreshedCallbacks=<table>
visibleLines=<table>
scrollOffset=0
settingMap=<table>
settingsDialogAnchor=<table>
historyBuffer=<table>
isStaticDocked=true
isLocked=true
}
event="CHAT_MSG_MONEY"
arg1="Has vendido basura por un valor de: 74|TInterface\MoneyFrame\UI-GoldIcon:0:0:2:0|t 61|TInterface\MoneyFrame\UI-SilverIcon:0:0:2:0|t 31|TInterface\MoneyFrame\UI-CopperIcon:0:0:2:0|t"
arg2=""
arg3=nil
arg4=""
arg5=nil
arg6=nil
arg7=nil
arg8=nil
arg9=nil
arg10=nil
arg11=nil
arg12=nil
arg13=nil
arg14=nil
arg15=nil
arg16=nil
arg17=nil
arg18=nil
type="MONEY"
info=<table>{
colorNameByClass=false
r=1
id=29
g=1
flashTab=false
ignoreChatTypeProcessing=false
sticky=0
flashTabOnGeneral=false
b=0
}
discordInfo=nil
(*temporary)="MONEY"
(*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 index local 'discordInfo' (a nil value)"
-
View User Profile
-
Send Message
Posted Aug 16, 2026@JimmyFord This is a known issue within Scrap addon itself, nothing to do with Prat. https://github.com/Jaliborc/Scrap/issues/312
-
View User Profile
-
Send Message
Posted Aug 13, 2026i log on... sure is quite today... an hour later... it's really quit today.... 2 hours later..... hello anyone out there hello?????
-
View User Profile
-
Send Message
Posted Aug 13, 2026Hello, love the mod, just fyi on the new alpha version on TBC Anniversary, it constantly errors this. I just reverted back to release and is fine but just letting you know since you're working on it. Thanks!
457x Prat-3.0/services/chatsections.lua:241: attempt to index local 'discordInfo' (a nil value)
[Prat-3.0/services/chatsections.lua]:241: in function 'SplitChatMessage'
[Prat-3.0/addon/addon.lua]:574: in function <Prat-3.0/addon/addon.lua:542>
[tail call]: ?
[Blizzard_ChatFrameBase/Shared/ChatFrame.lua]:14: in function 'OnEvent'
[Blizzard_ChatFrameBase/Classic/FloatingChatFrame.lua]:125: in function <...Blizzard_ChatFrameBase/Classic/FloatingChatFrame.lua:124>
[Blizzard_CombatLog/Classic/Blizzard_CombatLog.lua]:2873: in function <...ns/Blizzard_CombatLog/Classic/Blizzard_CombatLog.lua:2869>
-
View User Profile
-
Send Message
Posted Aug 16, 2026@jessebanks Should now be resolved :)
-
View User Profile
-
Send Message
Posted Aug 13, 2026Thanks for amazing addon!
Please tell me would it be possible to give each player name in Whispers a different (random) color , to make it easier to see who is whispering what when whispering with multiple people at once?
-
View User Profile
-
Send Message
Posted Aug 11, 2026With the recent update to Discord Integration, will Prat be updated to show the Discord icon with Guild Chat? Right now it does not seem to display.
-
View User Profile
-
Send Message
Posted Aug 13, 2026@Gaiazelle In the latest alpha, I have started prep work for discord support and whatnots.
-
View User Profile
-
Send Message
Posted Aug 4, 2026Timestamp for chat box is fine but for guild chat (default J button) seems not working. Always modify to "none" by modules.lua:104