Get an Epic Experience with Premium

Prat 3.0

Chat & Communication Login to Add Favorites
  • World of Warcraft
  • 101,714 Monthly Downloads
  • Supports: 6.2.3
  • 10,883,922 Total Downloads
  • Updated 02/07/2016
  • Created 07/28/2008
  • 10,598 Favorites
  • Project Site
  • Comments
  • Release Type: Release
  • License: GNU General Public License version 3 (GPLv3)
  • Newest File: 3.6.5
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.

2016-02-07  sylvanaar  <>

[5da43f3fa291] [3.6.5]
* modules/PlayerNames.lua services/chatsections.lua

Do not store the result of Disabiguate in the PLAYERLINK, it will obviously break it.


First Previous Page 41 of 225 Next Last
  • #3296

    Update please! =!

  • #3294

    Date: 2012-09-12 11:50:20
    ID: 2
    Error occured in: Global
    Count: 1
    Message: ..\AddOns\Prat-3.0\modules\PlayerNames.lua line 1350:
       attempt to call global 'BNTokenCombineGivenAndSurname' (a nil value)
       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): ?
       (tail call): ?
       WIM\Sources\WindowHandler.lua:844: AddEventMessage()
       WIM\Modules\WhisperEngine.lua:410: handler()
    A lot.  Message me if you need a list.

  • #3293

    This addon has updated twice on the alpha version and still no update to the ChannelSticky module. Please make the following changes to the ChannelSticky module:

    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"

    Thank you.

  • #3291


    Edit the playernames.lua file and at line 1118 where it says GetNumPartyMembers, change it to GetNumSubgroupMembers.

    Chufas:According to "", the function "BNTokenCombineGivenAndSurname" has been removed.  Since the error is attempt to call global, a nil value..doesn't it mean the problem is that specific function?
    Last edited by Aoxomoxoa on 9/10/2012 7:48:11 PM
  • #3292

    Thanks, that worked for me

  • #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
  • 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 »

Darkest Dungeon Wiki Editing Contest