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.
In reply to Natlyz:
i can confirm this issue affects me as well when I attempt to set my OWN guild note. i am not an officer
How do I have two separate chat windows open at the same time (not tabs, but windows). Thanks.
Is there a way to hide the grey text "you have blocked chat channel invites."?
Cause when i play Classic theres alot of spam from chat channel invites.
In reply to th3_ki113r:
Right click chat - Settings - General tab - Others - untoggle "Channel".
Well it's a nice add on but having to resize the chat EVERY TIME i log into wow is a no go for me.
In reply to Furydeath9:
Kinda strange. I don't have this issue. There is a feature in the *frames* module for remembering the positions of the chatframes, is it on for you?
I have been getting the following error very often the past couple of months:
Date: 2019-11-06 19:45:40
ID: 2
Error occured in: Global
Count: 1
Message: ..\FrameXML\ChatConfigFrame.lua line 1462:
attempt to index local 'info' (a nil value)
Debug:
..\FrameXML\ChatConfigFrame.lua:1462: GetMessageTypeColor()
Prat-3.0\modules\Editbox.lua:840:
Prat-3.0\modules\Editbox.lua:829
(tail call): ?
..\FrameXML\ChatFrame.lua:4100: ChatEdit_ResetChatType()
..\FrameXML\ChatFrame.lua:4081: ChatEdit_OnShow()
[string "*:OnShow"]:1:
[string "*:OnShow"]:1
[C]: Show()
..\FrameXML\ChatFrame.lua:4139:
..\FrameXML\ChatFrame.lua:4127
[C]: ChatEdit_ActivateChat()
..\FrameXML\ChatFrame.lua:3760: ChatFrame_OpenChat()
[string "OPENCHATSLASH"]:1:
[string "OPENCHATSLASH"]:1
Locals:
messageType = "CHANNELTrade"
group = nil
type = "CHANNELTrade"
info = nil
(*temporary) = "CHANNELTrade"
(*temporary) = "CHANNELTrade"
(*temporary) = "CHANNELT"
(*temporary) = "CHANNELTrade"
(*temporary) = "attempt to index local 'info' (a nil value)"
AddOns:
Swatter, v8.2.6511 (SwimmingSeadragon)
AdvancedInterfaceOptions, v1.3.3
AlreadyKnown, v1.22
Atlas, vv1.44.06
AtlasArena, vv1.07.04
AtlasBattlegrounds, vv1.45.00.11302.00
AtlasBurningCrusade, vv1.45.00
AtlasCataclysm, vv1.45.00
AtlasClassicWoW, vv1.45.00.11302.05
AtlasClassOrderHalls, vv1.45.00
AtlasDungeonLocs, vv1.45.00.11302.01
AtlasLegion, vv1.45.01
AtlasMistsofPandaria, vv1.45.00
AtlasOutdoorRaids, vv1.45.00
AtlasScenarios, vv1.44.00
AtlasTransportation, vv1.45.00.11302.00
AtlasWarlordsofDraenor, vv1.45.00
AtlasWorldEvents, vv3.26
AtlasWrathoftheLichKing, vv1.45.00
AtlasLoot, vv8.10.00
AtlasLootBattleforAzeroth, vv8.10.00
AtlasLootBurningCrusade, vv8.10.00
AtlasLootCataclysm, vv8.10.00
AtlasLootClassic, vv8.10.00
AtlasLootLegion, vv8.10.00
AtlasLootMistsofPandaria, vv8.10.00
AtlasLootWarlordsofDraenor, vv8.10.00
AtlasLootWrathoftheLichKing, vv8.10.00
AtlasMajorCitiesEnhanced, vv1.16
AtlasQuest, v4.11.01
AucAdvanced, v8.2.6471 (SwimmingSeadragon)
AucFilterBasic, v8.2.6497 (SwimmingSeadragon)
AucScanData, v8.2.6498 (SwimmingSeadragon)
AucStatHistogram, v8.2.6499 (SwimmingSeadragon)
AucStatiLevel, v8.2.6503 (SwimmingSeadragon)
AucStatPurchased, v8.2.6500 (SwimmingSeadragon)
AucStatSimple, v8.2.6501 (SwimmingSeadragon)
AucStatStdDev, v8.2.6502 (SwimmingSeadragon)
AucUtilFixAH, v8.2.6504 (SwimmingSeadragon)
BagBrother, v
Bagnon, v8.2.16
BagnonUncollected, v1.0
BattleGroundEnemies, vv3.1.9.9
BeanCounter, v8.2.6505 (SwimmingSeadragon)
BFAInvasionTimer, vv8.2.5
Capping, vv8.2.11
Chinchilla, vv2.10.0
ClassTimer, v2.3.80000.1
DBMArchaeology, v
DBMCore, v8.2.26
DBMDefaultSkin, v
DBMSpellTimers, v
DBMStatusBarTimers, v
DBMVPEnglishfemale, v8.2.1
DBMVPHazelNutty, v1.0
Dominos, v8.2.30
DominosCast, v
DominosEncounter, v
DontCast, v1.4.11
Enchantrix, v8.2.6506 (SwimmingSeadragon)
EnchantrixBarker, v8.2.6507 (SwimmingSeadragon)
GatherMate2, v1.45.5
GladiatorlosSA2, v2.1
Gladius, v6.1.0
Grid2, vr936
Grid2LDB, vr936
Grid2RaidDebuffs, vr936
GTFO, v4.51
HHTD, v2.4.9.4
HideRaidFrame, vv2.0
IceHUD, v1.12.7
Informant, v8.2.6508 (SwimmingSeadragon)
MapCoords, v0.32
Masque, v8.2.7
MasqueSleek, v6.2.0
MinimapButtonFrame, v3.1.10h
MinimapButtonFrameSkinPack, v3.0.1b
MinimapTarget, vv1.7
MountJournalEnhanced, v2.5.2
MoveAnything, v17.0.7
NpcHider, v1.3.5
Omen, v3.2.2
OmniCC, v8.2.5
Overachiever, v1.0.8
OverachieverCache, v1.0.8
OverachieverTabs, v1.0.8
Pawn, v2.3.11
PetBattleMaster, v8.0.0
PetJournalEnhanced, v2.9.30
PetTracker, v8.2.2
PetTrackerBreeds, v8.2.2
PetTrackerJournal, v8.2.2
PetTrackerSwitcher, v8.2.2
PetTrackerUpgrades, v8.2.2
Prat30, v3.7.36
Prat30Libraries, v
PVPTooltips, v2019-02-14
RaiderIO, v8.1.0 (v201910100600)
RaiderIODBUSA, v
RaiderIODBUSAR, v
RangeDisplay, vv4.9.3
RareScanner, v5.6.6
Raven, v
REPorter, v2.5.1
sct, v8.1
sctd, v7.1
SexyCooldown2, v2.0
Simulationcraft, v1.12.2
Skada, v1.7.6
Spy, v3.6.18
Stubby, v8.2.6510 (SwimmingSeadragon)
TipTac, v19.03.31
TipTacItemRef, v19.03.31
TipTacTalents, v19.03.31
Titan, v5.18.3.80205
TitanBag, v5.18.3.80205
TitanClock, v5.18.3.80205
TitanEmote, v1.0.21.70000
TitanGold, v5.18.3.80205
TitanHeartofAzeroth, vv1.0.0
TitanLocation, v5.18.3.80205
TitanLootType, v5.18.3.80205
TitanPerformance, v5.18.3.80205
TitanReloadUI, v1.0
TitanRepair, v5.18.3.80205
TitanRestPlus, v8.2.0.0
TitanSocial, v8.2.0
TitanVector, v1.0.22.70000
TitanVolume, v5.18.3.80205
TitanXP, v5.18.3.80205
ToyBoxEnhanced, v2.3.1
BlizRuntimeLib_enUS v8.2.5.80205 <none>
(ck=e6c)
When the module PlayerNames is loaded, items that are epic post with the color code before them. In this case the color code is cffa335ee. All epic items linked in trade have no color and look like this.....
|cffa335ee[Belt of Might]
It took me a LONG time but turning off PlayerNames module fixes the problem. Sad because that is one of my favorite things about Prat, knowing what class someone is instantly.
In reply to n0twen:
Thank you! Saved myself the trouble of finding out what has been causing this issue. Been annoying me for quite a while and didn't find any info till now ;)
Edit:
If you want to fix it, find the file Prat-3.0\modules\PlayerNameGlobalPatterns.lua and change the line
to
In reply to Forge_User_17417017:
Thanks - I was wary of making this change, and knew it would break something, but doing it the old way was breaking things for other people too, and I guess they were louder.
It is reverted for now
In reply to sylvanaar:
Ok, will update ^^ Crazy you're still going, wrote my last code for wow addon over 12 years ago ;)
But yeah, patterns can be tricky.
19x ...rfacePrat-3.0-3.7.36-2-g374a268\modules\ChannelColorMemory.lua:322: attempt to index local 'color' (a nil value)
...rfacePrat-3.0-3.7.36-2-g374a268\modules\ChannelColorMemory.lua:322: in function `?'
...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0-7.lua:119: in function <...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:119>
[C]: ?
...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0-7.lua:29: in function <...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0.lua:25>
...Ons\Ace3\CallbackHandler-1.0\CallbackHandler-1.0-7.lua:64: in function `Fire'
Ace3\AceEvent-3.0\AceEvent-3.0-4.lua:120: in function <Ace3\AceEvent-3.0\AceEvent-3.0.lua:119>
Just got this error (actually multiple of those) while talking with a friend using BattleTag chat (turquoise color). It seems to only happen during those converstations, each message sent or received produces an error.
26x Prat-3.0-3.7.36\services\classcolor.lua:19: attempt to index local 'class' (a nil value)
Prat-3.0-3.7.36\services\classcolor.lua:19: in function `GetClassGetColor'
Prat-3.0-3.7.36\modules\PlayerNames.lua:1460: in function `GetClassColor'
Prat-3.0-3.7.36\modules\PlayerNames.lua:1351: in function `Class'
Prat-3.0-3.7.36\modules\PlayerNames.lua:1519: in function `FormatPlayer'
Prat-3.0-3.7.36\modules\PlayerNames.lua:1623: in function `?'
...ras\libs\CallbackHandler-1.0\CallbackHandler-1.0-7.lua:119: in function <...ras\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:119>
[C]: ?
...ras\libs\CallbackHandler-1.0\CallbackHandler-1.0-7.lua:29: in function <...ras\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:25>
...ras\libs\CallbackHandler-1.0\CallbackHandler-1.0-7.lua:64: in function `Fire'
Prat-3.0-3.7.36\addon\addon.lua:626: in function <Prat-3.0\addon\addon.lua:567>
(tail call): ?
FrameXML\ChatFrame.lua:3012: in function `ChatFrame_OnEvent'
[string "*:OnEvent"]:1: in function <[string "*:OnEvent"]:1>
In reply to sth_dev:
I'm having the exact same issue with this error popping up every time I whisper someone on BattleTag.
In reply to sth_dev:
Me too, it's very annoying!
Especially if you're in a middle of a dung or raid and a BTag friend messages you, it's frustrating!
In reply to sth_dev:
Me too, it's very annoying!
Especially if you're in a middle of a dung or raid and a BTag friend messages you, it's frustrating!
In reply to sth_dev:
I added a guard for now. The downside is gonna be that the text will have a default color
Date: 2019-11-01 14:22:24
Error occured in: Global
Count: 1
Message: ..\AddOns\Prat-3.0\modules\PlayerNames.lua line 876:
attempt to call global 'SendWho' (a nil value)
Date: 2019-11-01 14:22:24
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\Prat-3.0\modules\PlayerNames.lua line 876:
attempt to call global 'SendWho' (a nil value)
Debug:
Prat-3.0\modules\PlayerNames.lua:876: func()
..\FrameXML\UIDropDownMenu.lua:958: UIDropDownMenuButton_OnClick()
[string "*:OnClick"]:1:
[string "*:OnClick"]:1
Locals:
dropdownFrame = FriendsDropDown {
0 = <userdata>
Right = FriendsDropDownRight {
}
Left = FriendsDropDownLeft {
}
lineID = "16"
displayMode = "MENU"
chatFrame = ChatFrame1 {
}
Button = FriendsDropDownButton {
}
Icon = FriendsDropDownIcon {
}
server = "Ashkandi"
Text = FriendsDropDownText {
}
chatTarget = "Tanglerr-Ashkandi"
selectedLootMethod = "Loot: Group Loot"
name = "Tanglerr"
initialize = <function> defined @Interface\FrameXML\FriendsFrame.lua:244
chatType = "CHANNEL"
Middle = FriendsDropDownMiddle {
}
selectedLootThreshold = "Uncommon"
which = "FRIEND"
}
name = "Tanglerr"
(*temporary) = nil
(*temporary) = "Tanglerr"
(*temporary) = "attempt to call global 'SendWho' (a nil value)"
AddOns:
Swatter, v8.2.6377 (SwimmingSeadragon)
WowheadLooter, v11302
AdvancedInterfaceOptions, v1.3.3
Armory, vv1.2
Atlas, vv1.45.01.11302
AtlasClassicWoW, vv1.45.00.11302.05
AtlasLootClassic, vv1.3.3
AtlasLootClassicData, vv1.3.3
AtlasLootClassicDungeonsAndRaids, vv1.3.3
AucAdvanced, v8.2.6430 (SwimmingSeadragon)
AucFilterBasic, v8.2.6364 (SwimmingSeadragon)
AucStatHistogram, v8.2.6366 (SwimmingSeadragon)
AucStatiLevel, v8.2.6370 (SwimmingSeadragon)
AucStatPurchased, v8.2.6367 (SwimmingSeadragon)
AucStatSimple, v8.2.6399 (SwimmingSeadragon)
AucStatStdDev, v8.2.6369 (SwimmingSeadragon)
AucUtilFixAH, v8.2.6371 (SwimmingSeadragon)
BagBrother, v
Bagnon, v8.2.16
Bartender4, v4.8.8
BeanCounter, v8.2.6422 (SwimmingSeadragon)
BetterVendorPrice, vv1.10.00
BiSTracker, v1.4
DBMCore, v1.13.18
DBMDefaultSkin, v
DBMStatusBarTimers, v
Details, v
DetailsTinyThreat, v
Enchantrix, v8.2.6428 (SwimmingSeadragon)
ExtendedCharacterStats, v1.5
GatherMate2, v1.45.5
GTFO, v4.51
HandyNotes, vv1.5.9
HandyNotesDungeonLocationsClassic, v1.03
HandyNotesFlightMastersClassic, v1.06
HandyNotesNPCsClassic, v1.21
HandyNotesTravelGuideClassic, vv2.1.5b
InFlightLoad, v1.13.003
Informant, v8.2.6374 (SwimmingSeadragon)
LeatrixMaps, v1.13.36
LetMeCast, v1.3
MBB, v4.0
Pawn, v2.3.10
Poisoner, v1.13.2.15-classic
Prat30, v3.7.36
Prat30Libraries, v
Quartz, v3.5-classic-5
QuestCompletist, v109.25
QuestGuru, v2.1.7
Questie, v5.0.1 2 e2e80b7
Scrap, v13.19
ScrapSpotlight, v13.19
SexyMap, vv3-classic
ShadowedUnitFrames, vv4.2-Classic-Beta7
SlideBar, v8.2.6375 (SwimmingSeadragon)
Stubby, v8.2.6376 (SwimmingSeadragon)
SunnArt, v3.83-classic
TidyPlatesThreatPlates, v1.2.4
TipTac, v19.03.31
TipTacItemRef, v19.03.31
TitanClassic, v1.1.2.11302
TitanClassicAmmo, v1.1.2.11302
TitanClassicBag, v1.1.2.11302
TitanClassicClock, v1.1.2.11302
TitanClassicGold, v1.1.2.11302
TitanClassicLocation, v1.1.2.11302
TitanClassicLootType, v1.1.2.11302
TitanClassicPerformance, v1.1.2.11302
TitanClassicRegen, v1.1.2.11302
TitanClassicRepair, v1.1.2.11302
TitanClassicVolume, v1.1.2.11302
TitanClassicXP, v1.1.2.11302
VanguardRaidRecorder, v19.1101.1
WeakAuras, v2.15.5
WIM, v3.8.3
BlizRuntimeLib_enUS v1.13.2.11302 <none>
(ck=918)
Any idea what could be causing the name of anyone who emotes to be appearing twice?
Is there a way to stop the addon chat spam that prints to chat every time I log in? I have a few alts that I check regularly, and seeing the same stuff print in chat gets old.
Thank you.