Get an Epic Experience with Premium

Prat 3.0

Chat & Communication Login to Add Favorites
  • World of Warcraft
  • 38,959 Monthly Downloads
  • Supports: 6.1.0
  • 9,717,008 Total Downloads
  • Updated 03/07/2015
  • Created 07/28/2008
  • 10,397 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: GNU General Public License version 3 (GPLv3)
  • Newest File: 3.5.15
Support development! **

About Prat 3.0

Prat-3.0 is a chat enhancement addon for world of warcraft 3.0.

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.

Bug reports:

Forum thread:

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)

  • Change arrows, buttons, mouse scroll for chat scroll, scroll speed
  • you can add color per channel, color per lvl, color per class
  • timestamps
  • timestamp color
  • whether to show timestamp (what format the timestamp should be in)
  • whether to show players lvl
  • 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 prolly even add other fonts to that list)
  • change the chat frame/chat box appearance
  • set Chat history
  • 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
  • info keeping
  • url copying
  • full chat copying + options (html,bbcode, plain, forum) + copy button
  • allows pop-up msgs
  • enables tell target /tt
  • Alias options
  • altnames options
  • you can enable/disable all prat modules - dont have to have the ones you dont use running
  • change chat sounds (incoming and outgoing as well as per channel)

Its predecessor, Prat-2.0 has been around since the TBC release in 2006. This new version seeks to improve upon some aspects such as memory use, but still do so without creating 30+ small folders in your addon directory that you have to manage.

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. I have been trying to isolate the most resource intensive functionality into the Prat_HighCPUUSageModules folder. You can enable or disable it per your preference.

2015-03-07  sylvanaar  <>

[442994c839ee] [3.5.15]
* modules/PlayerNames.lua

Restore ALT-Invite functionality


First Previous Page 34 of 217 Next Last
  • #3290

    this is workin fine for me, just wondering how to make it so it shows chat bubbles from party chat. seems the only time i see chat bubbles ever is when someone says my name in chat. can anyone point out where i need to go to turn this on? im sure im just high and im lookin right at it. thanks in advance.

  • #3289

    From wowinterface:

    just simple fix:

    in PlayerNames.lua replace line 1347
    local _, givenName, surname, toon, id = BNGetFriendInfo(i)


    local _, givenName, surname, toonid = BNGetFriendInfo(i)

    I think that should work, mine work well

    Last edited by chufas on 9/10/2012 7:26:58 AM
  • #3295

    I'm looking over the code, and this "fix" doesn't appear valid.  The only reason that it will prevent an error involving the removed global variable "BNTokenCombineGivenAndSurname" is because it removes the variable toon, replaces it with toonid, and completely removes the variable id entirely.  The result is that the following check for "id" fails and the subsequent code doesnt execute even though it probably should.

     if id then
                if BNTokenCombineGivenAndSurname(givenName .. surname) == message.PLAYER then

    A real fix for this problem would be to find a replacement for "BNTokenCombineGivenAndSurname(givenName .. surname)".  "BNTokenCombineGivenAndSurname" is on the list of global variables removes in 5.0.4.  The variables givenName and surname are derived from "local _, givenName, surname, toon, id = BNGetFriendInfo(i)".  Why can't these two variables just be concatinated like "local fullName = givenName..surname"??

  • #3288

    when ever someone from my realid whisps me i get this and im using newest version

    Date: 2012-09-09 15:15:18
    ID: -1
    Error occured in: Global
    Count: 4
    Message: ..\AddOns\Prat-3.0\modules\PlayerNames.lua line 1350:
    attempt to call global 'BNTokenCombineGivenAndSurname' (a nil value)
    (tail call): ?
    Prat-3.0\modules\PlayerNames.lua:1350: FormatPlayer()
    Prat-3.0\modules\PlayerNames.lua:1467: ?()
    [string "safecall Dispatcher[4]"]:4:
    [string "safecall Dispatcher[4]"]:4
    [C]: ?
    [string "safecall Dispatcher[4]"]:13: ?()
    ...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:92: Fire()
    (tail call): ?
    [C]: pcall()
    (tail call): ?
    [string "*:OnEvent"]:1:
    [string "*:OnEvent"]:1

  • #3287

    Getting this bug:

    Date: 2012-09-09 23:40:18
    ID: 1
    Error occured in: Global
    Count: 6
    Message: ..\AddOns\Prat-3.0\modules\PlayerNames.lua line 1118:
    attempt to call global 'GetNumPartyMembers' (a nil value)
    (tail call): ?
    Prat-3.0\modules\PlayerNames.lua:1118: updateParty()
    Prat-3.0\modules\PlayerNames.lua:1041: updateAll()
    Prat-3.0\modules\PlayerNames.lua:1015: ?()
    [string "safecall Dispatcher[1]"]:4:
    [string "safecall Dispatcher[1]"]:4
    [C]: ?
    [string "safecall Dispatcher[1]"]:13: ?()
    ...Tom\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:92: Fire()
    (tail call): ?
    [C]: ?
    [string "safecall Dispatcher[2]"]:9:
    [string "safecall Dispatcher[2]"]:5
    (tail call): ?

  • #3286

    I also keep getting the error message when someone whispers me through realid and not sure what editor to use on my Macbook pro to fix it. Can someone please help me. 

  • #3283

    i'm trying to figure out how to disable the down/up

  • #3284

    [Esc] -> Interface -> AddOns -> Prat -> Display Settings -> Buttons -> uncheck "show arrows"

  • #3282

    Is there an option to force lower caps when typing in chat? Since my Caps Lock key is bound to target, i can never remember to check caps lock indicator on keyboard before typing a message, and before i know it i've yelled at someone! lol

  • #3281

    For the error in PlayerNames.lua Line 1350 (RealID whispers), apply the patch from the comment here:

    Last edited by watchout on 9/8/2012 7:40:55 AM
  • #3280

    Lets get a update please, people have been having this problem for over a week now, LETS GO.

  • #3285

    Don't be jerk. Even if you donated (key word: donated) money to the author(s), which is highly unlikely, you have no basis to expect anything to be done for this addon or any addon. Let alone demand an update for an issue that is only a couple weeks old. Give the author(s) who developed this addon out of their enjoyment of the game and community and likely have busy lives outside of WoW a break and stop being a jerk.

    Last edited by semize on 9/9/2012 2:30:29 PM
  • #3279

    Having the same issue that everyone else is having, really annoying trying to raid with people whispering me freezing my screen for 2 secs >.>

  • #3276

    I wish I could help with all the whisper errors, but Prat doesn't handle my whispers. I do have a fix for the SmartGroup error. Open "ChannelSticky.lua" in the modules folder (inside the main Prat-3.0 folder) and make the following changes:

    line 475


    elseif GetNumRaidMembers() > 0 then


    elseif IsInRaid() then

    line 477


    elseif GetNumPartyMembers() > 0 then


    elseif IsInGroup() then

    So, from 470 to 482, it should read:
    function module:SmartGroupChatType()

    local _,pvp = IsInInstance()

    if pvp == "pvp" then
    return "BATTLEGROUND"
    elseif IsInRaid() then
    return "RAID"
    elseif IsInGroup() then
    return "PARTY"

    return "SAY"

    If you do not have a text editor with line counts, just copy/paste the line you need to change into your finder, typically CTRL+F.

    Last edited by Kanegasi on 9/7/2012 9:17:50 AM
  • #3277

    are u even using the newest version of this addon? the errors your referring to should have already been addressed with this last version.


  • To post a comment, please login or register a new account.
Login to Curse

Don't have an account? Create One.

Get an epic experience with Curse Premium
  • Faster addon downloads
  • Premium-Only Beta Giveaways
  • Ad-Free Curse experience
  • Premium Curse Client
  • and many More Features
  • Learn More »

Gamepedia Free-shirt Giveaway