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.
I am using the most up to date version and I cannot see ANY chat at all, I went and enabled the chat bubbles so that I can see what I /say and it comes out fine, so the problem lies within Prats chat capturing ability.
I still see the annoying messges of addons and when the have issues and when they load and all that crap.
Tried loading Prat on its own and having all the modules enabled, and that does not seem to work either.
Bug catching addons don't capture anything at all.
Date: 2008-12-14 19:56:00
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\Prat-3.0\modules\PlayerNames.lua line 998:
attempt to index field 'wholib' (a nil value)
Debug:
(tail call): ?
Prat-3.0\modules\PlayerNames.lua:998: GetData()
Prat-3.0\modules\PlayerNames.lua:1136: ?()
...Bar\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:146:
...Bar\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:146
[string "safecall Dispatcher[4]"]:4:
[string "safecall Dispatcher[4]"]:4
[C]: ?
[string "safecall Dispatcher[4]"]:13: ?()
...Bar\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:91: Fire()
Prat-3.0\addon\addon.lua:500:
Prat-3.0\addon\addon.lua:443
(tail call): ?
..\FrameXML\ChatFrame.lua:2070:
..\FrameXML\ChatFrame.lua:2063
[C]: pcall()
Stubby\Stubby.lua:379:
Stubby\Stubby.lua:325
(tail call): ?
[string "*:OnEvent"]:1:
[string "*:OnEvent"]:1
AddOns:
Swatter, v5.1.3897 (SnaggleTooth)
WowheadLooter, v30018
Ace2, v
ACP, v3.0.3.0.10
Aloft, v2.4.3
Altoholic, v3.0.003
AucAdvanced, v5.1.3897 (SnaggleTooth)
AucFilterBasic, v5.1.3897 (SnaggleTooth)
AucFilterOutlier, v5.1.3897.2531
AucMatchUndercut, v5.1.3897.2531
AucStatClassic, v5.1.3897 (SnaggleTooth)
AucStatHistogram, v5.1.3897 (SnaggleTooth)
AucStatiLevel, v5.1.3897 (SnaggleTooth)
AucStatPurchased, v5.1.3897 (SnaggleTooth)
AucStatSales, v5.1.3897.2842
AucStatStdDev, v5.1.3897 (SnaggleTooth)
AucStatWOWEcon, v5.1.3897.2530
AucUtilAHWindowControl, v5.1.3897.3311
AucUtilAppraiser, v5.1.3897.2530
AucUtilAskPrice, v5.1.3897.3175
AucUtilAutoMagic, v5.1.3897.3142
AucUtilCompactUI, v5.1.3897.2530
AucUtilEasyBuyout, v5.1.3897.3583
AucUtilItemSuggest, v5.1.3897.3108
AucUtilPriceLevel, v5.1.3897.2545
AucUtilScanButton, v5.1.3897.2530
AucUtilScanFinish, v5.1.3897.2530
AucUtilScanProgress, v5.1.3897.2530
AucUtilSearchUI, v5.1.3897.3655
AucUtilSimpleAuction, v5.1.3897.0
AucUtilVendMarkup, v5.1.3897.2530
Auctionator, v
AuctionProfit, v2.1beta
Auditor2, v3.2.1
AutoEmote, v
AutoProfitX, v2.04
AutoRez, v
AutoTurnin, v3.0.6
Babble22, v2.2.$Revision: 66632 $
Babylonian, v5.1.DEV.130
Baddiel, vb1.9056.0
Bartender4, v4.2.1
BeanCounter, v5.1.3897 (SnaggleTooth)
BulkMail2, v3.0.0
BulkMail2Inbox, v3.0.2
ButtonFacade, v0.1Alpha
ButtonFacadeCaith, v3.0.3.2
ButtonFacadeEntropy, v3.0.3.2
ButtonFacadeSerenity, v3.0.2
Cartographer, v2.0
CartographerCleanup, v1.0
CartographerCoordinates, v2.0
CartographerFishing, v1.0
CartographerFoglight, v2.0
CartographerGroupColors, v2.0
CartographerGuildPositions, v2.0
CartographerHerbalism, v1.0
CartographerIcons, v1.0
CartographerIconsGathererPack, v1.0
CartographerInstanceLoot, v2.0
CartographerInstanceMaps, v2.0
CartographerInstanceNotes, v2.0
CartographerLookNFeel, v2.0
CartographerMining, v1.0
CartographerNotes, v2.0
CartographerPOI, v2.0
CartographerProfessions, v2.0
CartographerQuestInfo, v
CartographerQuestObjectives, v0.9b
CartographerQuests, v0.2
CartographerTrainers, v1.0
CartographerVendors, v1.0
CartographerWaypoints, v2.0
CartographerZoneInfo, v2.0
cAutoConfirm, v
CensusPlus, v4.2.1
Chinchilla, v
ClearFont2, v2.6
ClearFont2FontPack, v1.0
Configator, v5.1.DEV.130
CowTip, v
CurseProfiler, v
DebugLib, v5.1.DEV.130
DoTimer, v4.1
DrDamage, v1.6.0b
Elephant, v2.5
ElkBuffBars, v2.2.2-135
Enchantrix, v5.1.3897 (SnaggleTooth)
EQCompare, v2.0
EveryQuest, v$Revision: 48 $
FishingAce, v0.4.4
FishingBuddy, v0.9.6i
FuBar, v
FuBarAuditorFu, v3.2.1
FuBarClockFu, v3.0
FuBarDurabilityFu, v2.11
FuBarEmoteFu2, v0.1.5
FuBarExperienceFu, v1.1 $Revision: 65606 $
FuBarFriendsFu, v2.4.2-99
FuBarFuXPFu, v3
FuBarGuildFu, v2.4.2-113
FuBarPerformanceFu, v2.0.0
FuBarRegenFu, v2.1.0
FuBarRestFu, vv1.1.1
FuBartcgTradeskills, v1.45.$Revision: 75184 $
FuBarToFu, v2.0
FuBarTopScoreFu, v2.0
FuBarVampwatchFu, v1.1.$Revision: 81496 $
FuTextures, v2.0
GuildLaunchProfiler, v00.08.00BETA
HitsMode, v4
Informant, v5.1.3897 (SnaggleTooth)
LibBabbleCreatureType30, v
MagicRunes, v1.0
MikScrollingBattleText, v5.3.32
MiniPet, v4.5.143
MobInfo2, v3.71
NotesUNeed, v6.52.30000
nQuestLog, v1.0
Omen, v3.0.4
OneBag3, v3.0.15-alpha
Overachiever, v0.23
PitBull, vr1871
PitBullAura, v2.0
PitBullComboPoints, v2.0
PitBullHealthBar, v2.0
PitBullHideBlizzard, v2.0
PitBullHighlight, v2.0
PitBullLeaderIcon, v2.0
PitBullPowerBar, v2.0
PitBullRaidTargetIcon, v2.0
PitBullRangeCheck, v0.2
PitBullReadyCheckIcon, v2.0
PitBullRestIcon, v2.0
PitBullSpark, v2.0
PitBullVisualHeal, v2.0
Prat30, vr171
Prat30HighCPUUsageModules, v
Prat30Libraries, v
Quartz, v1.0
QuartzFlight, v1.0
QuartzLatency, v1.0
QuartzPlayer, v1.0
QuestGuru, v0.9.6
RatingBuster, v
Routes, v1.2.2
Sanity2, v2.2.1-guildbank
SanityItemCache, v2.1.1-guildbank
SendSelf, vv2.6.0
SharedMedia, v3.0
SharedMediaLib, v1.0
Skillet, v
Skinner, vb1.9183.15
SlideBar, v5.1.3897 (SnaggleTooth)
Stubby, v5.1.3897 (SnaggleTooth)
TouristLib, v
WOWEconPriceMod, v
XLoot, v0.9
(ck=10a4)
ID: 1
Any idea what is causing this... it has persisted for me on all my toons throughout the last 4 builds of this addon
Error occured in: Global
Count: 1
Message: ..\AddOns\Prat-3.0\modules\PlayerNames.lua line 721:
table index is nil
Debug:
(tail call): ?
Prat-3.0\modules\PlayerNames.lua:721: OnModuleEnable()
Prat-3.0\addon\modules.lua:181:
Prat-3.0\addon\modules.lua:173
(tail call): ?
[C]: ?
[string "safecall Dispatcher[1]"]:9:
[string "safecall Dispatcher[1]"]:5
(tail call): ?
...face\AddOns\Titan\libs\AceAddon-3.0\AceAddon-3.0.lua:365: EnableAddon()
...face\AddOns\Titan\libs\AceAddon-3.0\AceAddon-3.0.lua:377: EnableAddon()
...face\AddOns\Titan\libs\AceAddon-3.0\AceAddon-3.0.lua:435:
...face\AddOns\Titan\libs\AceAddon-3.0\AceAddon-3.0.lua:421
[C]: LoadAddOn()
..\FrameXML\UIParent.lua:991: UIParentLoadAddOn()
..\FrameXML\UIParent.lua:241: CombatLog_LoadUI()
..\FrameXML\UIParent.lua:389: UIParent_OnEvent()
[string "*:OnEvent"]:1:
[string "*:OnEvent"]:1
in a previous version ich could "tab" through everything i wrote with the up and down arrow
now i have to use alt + the arrows
is there any possibility to change this so i don't need the the alt key which is in fact my push to talk button for voice?
sortof annoying. Anyway to work around this issue. I've manually turned off every addon I have and the problem on occurs when prat is running.
I'm having a problem with this addon.
In the earlier version, I didn't have this issue, but now, when I go to the EditBox module, change it to appear in to the bottom of the screen, and I'll relog, it appears again in the top of the screen, how to fix this?
Everything else saves correctly, and I don't occure any kind of problems with other stuff than EditBox.
So how to fix that problem? It's pretty annoying to change the place of EditBox from the setting everytime I relog.
Does Blizzard's own addons mess it on somehow or what is this?
Thanks in advance.
Best Regards,
Dunemaul -
Goated - Death Knight
If arrows ain't shown you could locate that button in the upper right corner of the chat frame.
Regarding the addon incompatibility issue with filtering... I did a few more hours of sleuthing and discovered a few things.
There was an issue with Prat and non-idempotent filters. Namely I've noticed that my filter keeps getting called over and over again on the same message, and so I told my filter to "only do stuff the first time you see a message". The issue I mentioned in my previous post about "swallowed/lost text" was because, when using Prat, unfortunately my chat filter gets called an extra time, BEFORE the message was displayed. This caused the second invocation of my filter to behave differently. I'm quite curious why filters would be run twice, and if this is intended? However, I've made my filter resistant to this by modifying it slightly.
I have however encountered a bigger issue: My filter only works when it calls DEFAULT_CHAT_FRAME:AddMessage("some random message") before returning (very odd!), but when I do, the unmodified message is printed a *second time* in all white. This sounds very strange... I have no idea what's causing it. I will elaborate below:
------------------------------------
--- what addon does: ---
What the relevant part of my addon implements is a name-rewriting filter, so if it's heard someone named Sylvanaar speak in chat, it will 'highlight' (prepend some symbols to) your name in any subsequent message.
--- example without hack: ---
/say Hello
expected: {Sylvanaar says: "Hello"}
actual: {Sylvanaar says: "Hello"}
/say My name is Sylvanaar
expected: {Sylvanaar says: "My name is *|Sylvanaar"}
actual: {Sylvanaar says: "My name is Sylvanaar"}
--- example with hack: ---
(hack= I made my chatfilter call DEFAULT_CHAT_FRAME:AddMessage("Debugmessage!") before returning)
/say Hello
expected: {
Debugmessage!
Sylvanaar says: "Hello"
}
actual: {
Debugmessage!
Debugmessage!
Sylvanaar says: "Hello"
Sylvanaar says: "Hello" <--entire line appears white
}
/say My name is Sylvanaar
expected: {
Debugmessage!
Sylvanaar says: "My name is *|Sylvanaar"
}
actual: {
Debugmessage!
Debugmessage!
Sylvanaar says: "My name is *|Sylvanaar" <--but at least this works now
Sylvanaar says: "My name is Sylvanaar" <--entire line appears white
}
(technically I'd also expect to see Debugmessage! spammed alot after each message as my filter gets called over and over again... for unknown reasons... but I've omitted that in the examples for clarity.)
- also if this is insufficient information to figure out the issue, I could private-message you a link to an alpha copy of the addon, thanks for cooperating to fix this incompatibility
- this testing was done with the alpha version you mentioned, version r167
- I defined my filter using functions defined in other environments... though I don't think that would affect things though? I had my code say the value it was about to return, and things seem to be working fine. This seems to be something going on outside my filter?