Elephant
"Shoot... what did he say again? I just got disconnected."
"Didn't that folk already loot that rare item 10 minutes ago?"
"I really wish I could remember the name of the item linked on the guild chat yesterday at 9:00 PM."
...
Already been in one of these situations? Don't be annoyed anymore, here is the solution!
Solution to chat loss annoyance
Elephant logs the chat for you in the background even when you get disconnected. It saves the WHISPER & BATTLE.NET, RAID, INSTANCE & BATTLEGROUND, PARTY, GUILD, SAY, YELL and OFFICER chats separately, but also all general chats (General, Trade, LocalDefense, ...), custom chats you are currently on, achievements, loots and finally system messages (auctions, rolls, server going down, ...). You can easily go through all these logs, thanks to a straightforward interface displaying all the access buttons on the right side of the main window. You can access the options of the addon by typing /elephant and also bind a key to pop up the addon.
Elephant gives you the ability to copy up to 100,000 (yes, 100k) characters of logs to another application. A BBCode feature is even included, letting you copy/paste a chat with colors and links to an item database in a very quick and simple way to your favorite forum.
This is THE addon that you should install if you want to never forget what somebody told you in game. Be a pro of managing hell tells, go peacefully AFK for a few minutes, or be an awesome role player. Elephant is also perfectly designed for Guild Leaders, Officers and Raid Leaders particularly because it restores the chats after you've been disconnected.
Main features
- Logs the chats in the background, with a limit of 10,000 lines for each chat (Blizzard's default is 161 lines for everything).
- Saves the logs when you log out or get disconnected.
- Display the chats with timestamps, or using your Prat settings if you have it installed.
- Copy the chat and paste it in other applications (BBCode supported!), up to 100,000 characters.
- Save the chat and combat log in two different files on your computer (using the default Blizzard logging system).
Other features
- Use filters to avoid logging some of the custom channels you join.
- Enable/disable logging for each chat separately.
- Item links in logs are displayed in their proper color and are clickable.
- Player names in the main window are clickable.
- ...and much more!
Community
Report an issue (bug & suggestions): https://www.wowace.com/projects/elephant/issues
I love your add-on.
Only issue I have with it is I would like some form of way to have whispers with diffrent people put into a separate log.
Thanks Seth :)
This isn't something that I plan on doing. There are other addons that are more IM oriented that would potentially do that. I know it's not the answer you're looking for, but that would be a huge amount of work and would likely make the UI a lot more confusing :|
Hello there!
I'm having an issue with double logged messages. Prat formating is enabled and the addon is active.
Thanks in advance!
Hey guys,
In a few hours, a new version of Elephant will be pushed that will add a much requested feature: being able to copy more than 250 lines of log in one copy/paste. You'll actually be able to copy up to 100,000 characters at once.
It is counted as characters due to how the UI works, so the default value is 15,000.
Let me know if you have any problem!
Very nice!
Problem I found after (finally) updating today: 'Party' is now logging boss emotes/yells in addition to logging party chat. I use Elephant to keep track of RP in /party and I've never had this issue before. It's not a huge deal, just a little annoying having to go through the party logs I've copied and remove line after line of Waking Nightmares telling me that I will suffer horrors and Talon King Ikiss talking about pretty trinkets.
This is an amazing addon, by the way. Thank you for all of your work!
Thanks! You can actually select what is logged in each chat by going in that chat log (party, here) and then clicking on the top-right Chat icon in the Elephant window: there you'll be able to remove some message catchers, like monster yell for example!
Thank you! :D
Message: Interface\AddOns\Elephant\Interface.lua:243: attempt to concatenate field 'name' (a nil value)
Time: 11/20/16 19:19:04
Count: 1
Stack: Interface\AddOns\Elephant\Interface.lua:243: in function `ShowCurrentLog'
Interface\AddOns\Elephant\Interface.lua:383: in function `Scroll'
[string "*:OnMouseWheel"]:2: in function <[string "*:OnMouseWheel"]:1>
Locals: self = <table> {
UpdateCurrentLogButtons = <function> defined @Interface\AddOns\Elephant\Interface.lua:328
SetDefaultModuleLibraries = <function> defined @Interface\AddOns\BagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:398
ChatLogEnable = <function> defined @Interface\AddOns\Elephant\Interface.lua:453
ChangeMaxLog = <function> defined @Interface\AddOns\Elephant\Structure.lua:226
ToggleUseTimestampsInCopyWindow = <function> defined @Interface\AddOns\Elephant\Interface.lua:485
ScrollBottom = <function> defined @Interface\AddOns\Elephant\Interface.lua:390
EnableModule = <function> defined @Interface\AddOns\BagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:363
modules = <table> {
}
baseName = "Elephant"
ToggleEnableCurrentLog = <function> defined @Interface\AddOns\Elephant\Structure.lua:411
DisableCatcher = <function> defined @Interface\AddOns\Elephant\Structure.lua:508
EnableCatcher = <function> defined @Interface\AddOns\Elephant\Structure.lua:500
AddHeaderToStructures = <function> defined @Interface\AddOns\Elephant\Structure.lua:200
RegisterEventsRefresh = <function> defined @Interface\AddOns\Elephant\Event.lua:243
InitCustomStructure = <function> defined @Interface\AddOns\Elephant\Structure.lua:179
SetTitleInfoCurrentLine = <function> defined @Interface\AddOns\Elephant\Interface.lua:274
SetDefaultModulePrototype = <function> defined @Interface\AddOns\BagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:440
ForceCurrentLogDeleteButtonStatus = <function> defined @Interface\AddOns\Elephant\Interface.lua:352
defaultModuleState = true
tempConf = <table> {
}
IsEnabled = <function> defined @Interface\AddOns\BagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:482
DisableModule = <function> defined @Interface\AddOns\BagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:381
EmptyCurrentLog = <function> defined @Interface\AddOns\Elephant\Structure.lua:250
RegisterMessage = <function> defined @Interface\AddOns\ArtifactPowerUser\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:116
UnregisterMessage = <function> defined @Interface\AddOns\ArtifactPowerUser\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:179
Prat_PostAddMessage = <function> defined @Interface\AddOns\Elephant\Event.lua:272
RegisterLDBIcon = <function> defined @Interface\AddOns\Elephant\Broker.lua:45
dropdowns = <table> {
}
SetEnabledState = <function> defined @Interface\AddOns\BagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:455
enabledState = true
AddFilter = <function> defined @Interface\AddOns\Elephant\Structure.lua:435
RegisterEvent = <function> defined @Interface\AddOns\ArtifactPowerUser\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:116
IterateModules = <function> defined @Interface\AddOns\BagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:468
CombatLogEnable = <function> defined @Interface\AddOns\Elephant\Interface.lua:470
DeleteCurrentLog = <function> defined @Interface\AddOns\Elephant\Structure.lua:285
InitDefaultLogStructures = <function> defined @Interface\AddOns\Elephant\Structure.lua:157
UnregisterAllEvents = <function> defined @Interface\AddOns\ArtifactPowerUser\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:200
IsLDBIconAvailable = <function> defined @Interface\AddOns\Elephant\Broker.lua:67
GetModule = <function> defined @Interface\AddOns\BagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:241
SetTitleInfoMaxLog = <function> defined @Interface\AddOns\Elephant\Interface.lua:281
defaultModuleLibraries = <table> {
}
db = <table> {
}
dbpc = <table> {
}
UnregisterChatCommand = <function> defined @Interface\AddOns\BagSync\libs\AceConsole-3.0\AceConsole-3.0.lua:111
Printf = <function> defined @Interface\AddOns\BagSync\li
Message: Interface\AddOns\Elephant\Structure.lua:256: bad argument #2 to 'format' (string expected, got nil)
Time: 11/20/16 18:06:21
Count: 1
Stack: [C]: in function `format'
Interface\AddOns\Elephant\Structure.lua:256: in function `EmptyCurrentLog'
Interface\AddOns\Elephant\Core.lua:27: in function `OnAccept'
Interface\FrameXML\StaticPopup.lua:4260: in function `StaticPopup_OnClick'
[string "*:OnClick"]:1: in function <[string "*:OnClick"]:1>
Locals: (*temporary) = "聊天被清除: %s"
(*temporary) = nil
(*temporary) = "string expected, got nil"
Message: Interface\AddOns\Elephant\Interface.lua:243: attempt to concatenate field 'name' (a nil value)
Time: 11/20/16 18:03:47
Count: 1
Stack: Interface\AddOns\Elephant\Interface.lua:243: in function `ShowCurrentLog'
Interface\AddOns\Elephant\Interface.lua:222: in function `ChangeLog'
[string "*:OnClick"]:1: in function <[string "*:OnClick"]:1>
Locals: self = <table> {
UpdateCurrentLogButtons = <function> defined @Interface\AddOns\Elephant\Interface.lua:328
SetDefaultModuleLibraries = <function> defined @Interface\AddOns\BagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:398
ChatLogEnable = <function> defined @Interface\AddOns\Elephant\Interface.lua:453
ChangeMaxLog = <function> defined @Interface\AddOns\Elephant\Structure.lua:226
ToggleUseTimestampsInCopyWindow = <function> defined @Interface\AddOns\Elephant\Interface.lua:485
ScrollBottom = <function> defined @Interface\AddOns\Elephant\Interface.lua:390
EnableModule = <function> defined @Interface\AddOns\BagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:363
modules = <table> {
}
baseName = "Elephant"
ToggleEnableCurrentLog = <function> defined @Interface\AddOns\Elephant\Structure.lua:411
DisableCatcher = <function> defined @Interface\AddOns\Elephant\Structure.lua:508
EnableCatcher = <function> defined @Interface\AddOns\Elephant\Structure.lua:500
AddHeaderToStructures = <function> defined @Interface\AddOns\Elephant\Structure.lua:200
RegisterEventsRefresh = <function> defined @Interface\AddOns\Elephant\Event.lua:243
InitCustomStructure = <function> defined @Interface\AddOns\Elephant\Structure.lua:179
SetTitleInfoCurrentLine = <function> defined @Interface\AddOns\Elephant\Interface.lua:274
SetDefaultModulePrototype = <function> defined @Interface\AddOns\BagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:440
ForceCurrentLogDeleteButtonStatus = <function> defined @Interface\AddOns\Elephant\Interface.lua:352
defaultModuleState = true
tempConf = <table> {
}
IsEnabled = <function> defined @Interface\AddOns\BagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:482
DisableModule = <function> defined @Interface\AddOns\BagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:381
EmptyCurrentLog = <function> defined @Interface\AddOns\Elephant\Structure.lua:250
RegisterMessage = <function> defined @Interface\AddOns\ArtifactPowerUser\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:116
UnregisterMessage = <function> defined @Interface\AddOns\ArtifactPowerUser\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:179
Prat_PostAddMessage = <function> defined @Interface\AddOns\Elephant\Event.lua:272
RegisterLDBIcon = <function> defined @Interface\AddOns\Elephant\Broker.lua:45
dropdowns = <table> {
}
SetEnabledState = <function> defined @Interface\AddOns\BagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:455
enabledState = true
AddFilter = <function> defined @Interface\AddOns\Elephant\Structure.lua:435
RegisterEvent = <function> defined @Interface\AddOns\ArtifactPowerUser\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:116
IterateModules = <function> defined @Interface\AddOns\BagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:468
CombatLogEnable = <function> defined @Interface\AddOns\Elephant\Interface.lua:470
DeleteCurrentLog = <function> defined @Interface\AddOns\Elephant\Structure.lua:285
InitDefaultLogStructures = <function> defined @Interface\AddOns\Elephant\Structure.lua:157
UnregisterAllEvents = <function> defined @Interface\AddOns\ArtifactPowerUser\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:200
IsLDBIconAvailable = <function> defined @Interface\AddOns\Elephant\Broker.lua:67
GetModule = <function> defined @Interface\AddOns\BagSync\libs\AceAddon-3.0\AceAddon-3.0.lua:241
SetTitleInfoMaxLog = <function> defined @Interface\AddOns\Elephant\Interface.lua:281
defaultModuleLibraries = <table> {
}
db = <table> {
}
dbpc = <table> {
}
UnregisterChatCommand = <function> defined @Interface\AddOns\BagSync\libs\AceConsole-3.0\AceConsole-3.0.lua:111
Printf = <function> defined @Interface\AddOns\BagSync\libs\AceC
Hi, I've got the problem that if I want to copy the chat it doesn't show me the latest chat that I copy (I did not scroll up) but some chat that I've done days ago and I can't scroll down to find the new chat, how do I fix this?
It only happens in party chat. Everything else is fine.
Chat button is still defaulting to the wrong spot after the update.
https://i.imgur.com/AyukkvY.jpg
Fixed in 3.7.1 (incoming release).
i lost the chat button and minimap button, however there are no errors. anyone can help?
It's hidden off screen for me as shown in the image below. That seems to be the new default location. :( Had to hover my cursor in the red line area.
https://i.imgur.com/AyukkvY.jpg
Let me look into it.
Pushing a fix right meow to fix the chat button position. However for the minimap, I could not reproduce your error.
Thanks
Pushed an update that fixes the AddOn for patch 7.1! Enjoy!
Was wondering if you could add an ability to copy paste an entire save log instead of 150 lines per copy window? It gets very tedious if you are trying to copy a large chunk of paragraphs from say the Say log (...with the copying, closing the window then reopening, then trying to find your place...rinse and repeat ).