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
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 ).
Oh, nevermind, I see what you ask for. I'm going to look at it and try to fix it in a new minor version. Thanks!
I think I remember why there is a limit of 150 lines for the copy log window. The box in which the log is shown has an upper limit in the number of characters it can display. Thus, in order to always be under this limit (otherwise it shows an ugly truncated log), I limited it to 150 lines.
I'll try to see if it has increased since the time I coded that, but I don't have high hopes.
Hey. I increased the number of lines you can copy to 500 for plain text and 250 for BBCode. Hope this helps.
I just pushed a new version that will allow you to copy up to 100,000 characters of logs, which should be much more than 500 lines. Check the options when you get version 3.7.1 :)
I have a problem with my elephant addon. When I boot up WoW the game claims that I do not have enough memory on my computer to load the settings for it but what confuses me is that I have other addons that are more demanding than elephant. I tried disabling all addons besides elephant, reinstalling it, turning it off then back on with /reload ui. I don't know what the problem with it is anymore. I've been using this addon for a whole 6 years and now it refuses to save my logs with every login.
Nothing has changed in the core code of the AddOn in the past... 2 years. Only fixes to make sure it still runs with the latest version of the game. I really don't know how to help you here :(