WIM (WoW Instant Messenger) v3

WIM (WoW Instant Messenger) is a World of Warcraft addon which brings an instant messenger feel to communication in game.

I created WIM over 2 years ago with the curiosity of creating an addon. Since then, WIM has evolved into what it is today, however so many requests from the community were added into the addon which resulted in bulky and inefficient coding practices that took a toll on both CPU and Memory usage. To resolve this, I decided to rewrite WIM from scratch. Each feature is being reintroduced one at a time and being advanced upon. That being said, I welcome you to WIM 3.0.

Features

  • Whispers in their own windows.
  • Chat in their own windows.
  • Tabbed windows
    • Highly configurable.
  • History
    • Copy and paste as:
      • Raw Text
      • BBCode
  • Advanced, intellectual window behaviors & animations.
  • Skins
  • Emoticons
  • Clickable web URLS for easy viewing. No more retyping a long url a friend sends you.
  • Customizable sound options.
  • Expose - great way to clear your screen of windows when you are in combat.
  • Addon Compatibility: (Always make sure you are running the latest versions.
    • Prat
    • DBM

Video Demo

For more information WIM 3.0 and it's new features visit WIMAddon.com.

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Cloudancer2 Cloudancer2 Oct 27, 2012 at 02:40 UTC - 0 likes

    @Lothaer: Go

    Party chat still broken after that too. thanks for the try though :)

  • Avatar of Lothaer Lothaer Oct 26, 2012 at 09:37 UTC - 0 likes

    @krovikania: Go

    Try the following:

    In file <WoW Folder>\Interface\AddOns\WIM\Modules\ChatEngine.lua on line 478 replace

    if UnitExists("party"..i) then

    with

    if (UnitExists("party"..i)) then

    Yes ... simply adding brackets :) For me that solved the problem - hope it helps you too.

    use notepad++

  • Avatar of krovikania krovikania Oct 24, 2012 at 14:04 UTC - 0 likes

    Ticket 344 have 17 votes and no mention from authors if they are working on it or no?

    Very serious...

    Regards

  • Avatar of Cloudancer2 Cloudancer2 Oct 23, 2012 at 19:22 UTC - 0 likes

    Date: 2012-10-23 15:21:20 ID: 2 Error occured in: Global Count: 1 Message: ..\AddOns\WIM\Modules\ChatEngine.lua line 478: attempt to call global 'UnitExists' (a nil value) Debug: [C]: UnitExists() WIM\Modules\ChatEngine.lua:478: PARTY_MEMBERS_CHANGED() WIM\Modules\ChatEngine.lua:507: handler() ...s\WIM\Libs\LibChatHandler-1.0\LibChatHandler-1.0.lua:274: ...s\WIM\Libs\LibChatHandler-1.0\LibChatHandler-1.0.lua:259 ...s\WIM\Libs\LibChatHandler-1.0\LibChatHandler-1.0.lua:326: ...s\WIM\Libs\LibChatHandler-1.0\LibChatHandler-1.0.lua:314 Locals: self = <table> { CHAT_MSG_PARTY_LEADER = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:535 UnregisterChatEvent = <function> defined @Interface\AddOns\WIM\Libs\LibChatHandler-1.0\LibChatHandler-1.0.lua:370 db_defaults = <table> { } partyWindow = WIM3_msgFrame2 { } OnWindowDestroyed = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:459 CHAT_MSG_PARTY_CONTROLLER = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:488 enableByDefault = false db = <table> { } resources = <table> { } enabled = 1 CHAT_MSG_PARTY_LEADER_CONTROLLER = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:525 RegisterWidget = <function> defined @Interface\AddOns\WIM\WIM.lua:245 CHAT_MSG_PARTY = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:498 RegisterEvent = <function> defined @Interface\AddOns\WIM\WIM.lua:240 PARTY_MEMBERS_CHANGED = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:471 LibChatHandler_Delegate = true OnDisable = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:455 OnEnable = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:448 dPrint = <function> defined @Interface\AddOns\WIM\WIM.lua:243 title = "PartyChat" Enable = <function> defined @Interface\AddOns\WIM\WIM.lua:241 canDisable = true RegisterChatEvent = <function> defined @Interface\AddOns\WIM\Libs\LibChatHandler-1.0\LibChatHandler-1.0.lua:340 hasWidget = false Disable = <function> defined @Interface\AddOns\WIM\WIM.lua:242 } myName = "Dragonrunner" count = 0 (for index) = 1 (for limit) = 4 (for step) = 1 i = 1 (*temporary) = nil (*temporary) = "party1" (*temporary) = "attempt to call global 'UnitExists' (a nil value)" Party = <table> { CHAT_MSG_PARTY_LEADER = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:535 UnregisterChatEvent = <function> defined @Interface\AddOns\WIM\Libs\LibChatHandler-1.0\LibChatHandler-1.0.lua:370 db_defaults = <table> { } partyWindow = WIM3_msgFrame2 { } OnWindowDestroyed = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:459 CHAT_MSG_PARTY_CONTROLLER = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:488 enableByDefault = false db = <table> { } resources = <table> { } enabled = 1 CHAT_MSG_PARTY_LEADER_CONTROLLER = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:525 RegisterWidget = <function> defined @Interface\AddOns\WIM\WIM.lua:245 CHAT_MSG_PARTY = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:498 RegisterEvent = <function> defined @Interface\AddOns\WIM\WIM.lua:240 PARTY_MEMBERS_CHANGED = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:471 LibChatHandler_Delegate = true OnDisable = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:455 OnEnable = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:448 dPrint = <function> defined @Interface\AddOns\WIM\WIM.lua:243 title = "PartyChat" Enable = <function> defined @Interface\AddOns\WIM\WIM.lua:241 canDisable = true RegisterChatEvent = <function> defined @Interface\AddOns\WIM\Libs\LibChatHandler-1.0\LibChatHandler-1.0.lua:340 hasWidget = false Disable = <function> defined @Interface\AddOns\WIM\WIM.lua:242 } cleanChatList = <function> defined @Interface\AddOns\WIM\Modules\ChatEngine.lua:192 _G = <table> { ARKINV_SearchFrameViewTableRow12T1 = ARKINV_SearchFrameViewTableRow12T1 { } ContainerFrame5Item7 = ContainerFrame5Item7 { } MultiCastActionButton6Cooldown = MultiCastActionButton6Cooldown { } MerchantItem9ItemButtonStock = MerchantItem9ItemButtonStock { } GetTrainerServiceTypeFilter = <function> defined =[C]:-1 UNIT_NAMES_COMBATLOG_TOOLTIP = "Color unit names." UNIT_NAMEPLATES_TYPE_TOOLTIP_3 = "This method avoids overlapping nameplates by spreading them out horizontally and vertically." Recount_MainWindow_Bar6 = Recount_MainWindow_Bar6 { } SetTrainerServiceTypeFilter = <function> defined =[C]:-1 KSKLootRankFilterChildButton5 = KSKLootRankFilterChildButton5 { } SPELL_FAILED_CUSTOM_ERROR_71 = "This AddOns: Swatter, v5.14.5335 (KowariOnCrutches) ACP, v3.4 ArkInventory, v30315 ArkInventoryRules, v ArkInventoryRulesExample, v1.00 Atlas, v1.22.1 AtlasBurningCrusade, v1.22.0 AtlasClassicWoW, v1.22.1 AtlasDungeonLocs, v1.22.0 AtlasWrathoftheLichKing, v1.22.0 AtlasLoot, vv7.03.01 AtlasLootCataclysm, vv7.03.01 AtlasLootClassicWoW, vv7.03.01 AtlasLootLoader, vv7.03.01 AtlasLootMistsofPandaria, vv7.03.01 AucAdvanced, v5.14.5335 (KowariOnCrutches) AucFilterBasic, v5.14.5335 (KowariOnCrutches) AucFilterOutlier, v5.14.5335.5335(5.14/embedded) AucMatchUndercut, v5.14.5335.5225(5.14/embedded) AucStatHistogram, v5.14.5335 (KowariOnCrutches) AucStatiLevel, v5.14.5335 (KowariOnCrutches) AucStatPurchased, v5.14.5335 (KowariOnCrutches) AucStatSales, v5.14.5335.5335(5.14/embedded) AucStatSimple, v5.14.5335 (KowariOnCrutches) AucStatStdDev, v5.14.5335 (KowariOnCrutches) AucStatWOWEcon, v5.14.5335.5335(5.14/embedded) AucUtilAHWindowControl, v5.14.5335.5133(5.14/embedded) AucUtilAppraiser, v5.14.5335.5335(5.14/embedded) AucUtilAskPrice, v5.14.5335.5160(5.14/embedded) AucUtilAutoMagic, v5.14.5335.5335(5.14/embedded) AucUtilCompactUI, v5.14.5335.5335(5.14/embedded) AucUtilEasyBuyout, v5.14.5335.5238(5.14/embedded) AucUtilFixAH, v5.14.5335 (KowariOnCrutches) AucUtilItemSuggest, v5.14.5335.5335(5.14/embedded) AucUtilPriceLevel, v5.14.5335.5237(5.14/embedded) AucUtilScanButton, v5.14.5335.5335(5.14/embedded) AucUtilScanFinish, v5.14.5335.5153(5.14/embedded) AucUtilScanProgress, v5.14.5335.4979(5.14/embedded) AucUtilScanStart, v5.14.5335.5153(5.14/embedded) AucUtilSearchUI, v5.14.5335.5335(5.14/embedded) AucUtilSimpleAuction, v5.14.5335.5208(5.14/embedded) AucUtilVendMarkup, v5.14.5335.4828(5.14/embedded) Auctionator, v3.0.5 AutoLogger, v Babylonian, v5.1.DEV.312(/embedded) BadBoy, v11.100 Bartender4, v4.5.5 BeanCounter, v5.14.5335 (KowariOnCrutches) BittensSpellFlashLibrary, v3.15.0 BlizzMove, vv1.2.5 Configator, v5.1.DEV.330(/embedded) Cromulent, vv1.6.1 DBMCore, v DBMLDB, v DebugLib, v5.1.DEV.312(/embedded) EasyCopy, v3.5 EnhancedStackSplit, v50001-1 FishingBuddy, v1.1f FlightMapEnhanced, v1.5.31 FramesResized, v2.5.0-56 GatherMate2, v1.22 GearCheck, vv3.94 GearingGuide, v1.0.5 Genie, v5.0.4 GenieLDB, v5.0.4 GenieUI, v5.0.4 GLottery, v2.1.3 Beta GTFO, v4.16.2 GuildCheck, vv2.3.9 GuildMains, v1.4.1 GuildMemberStatus, v1.34 GuildSearch, v1.2 HealersHaveToDie, v2.0.2 HunterFocusBar, v0.93beta Informant, v5.14.5335 (KowariOnCrutches) KKonferSK, v502 LibExtraTip, v5.12.DEV.324(/embedded) MikScrollingBattleText, v5.7.123 MogIt, v3.0.6 MoveAnything, v13.2.1 Omen, v3.1.7 Ovale, v5.0.22 Pawn, v1.6.8 Postal, v3.5.0 PVPSound, v5.0.4.0 RatingBuster, v5.0.4.361 Recount, v recruitmentenhancement, v50001-0.6-release RobBossMods, v SexyMap, v2.3 SilverDragon, vv3.0.1 SlideBar, v5.14.5335 (KowariOnCrutches) SpellFlash, v6.2 SpellFlashCore, v2.0 Stubby, v5.14.5335 (KowariOnCrutches) TipHelper, v5.12.DEV.315(/embedded) TomTom, vv50001-1.2.1 TriviaAnswers, v1.01 TriviaBot, v2.8.5b TriviaBotQuestionMaker, v1.3 TriviaBotQuestionsWoW1, v TriviaBotQuestionsWoW2, v TriviaBotQuizAnythingHessinger, v Warden, v3.3.2 WhichRankDoesWhat, v1.4 WIM, vr344 WowDings, v1.1 BlizRuntimeLib_enUS v5.0.5.50001 <us> (ck=d5f)

  • Avatar of russianivan russianivan Oct 22, 2012 at 15:16 UTC - 0 likes

    1x WIM-r344\Libs\LibWho-2.0\LibWho-2.0-121.lua:903: attempt to index field "Result" (a nil value) WIM-r344\Libs\LibWho-2.0\LibWho-2.0-121.lua:903: in function "ProcessWhoResults" WIM-r344\Libs\LibWho-2.0\LibWho-2.0-121.lua:895: in function "?" WIM-r344\Libs\LibWho-2.0\LibWho-2.0-121.lua:916: in function <WIM\Libs\LibWho-2.0\LibWho-2.0.lua:915>

    Locals: self = <table> { GetNextFromScheduler = <func> @WIM\Libs\..\LibWho-2.0.lua:363 ReturnWho = <func> @WIM\Libs\..\LibWho-2.0.lua:488 Cache = <table> {} UserInfo = <func> @WIM\Libs\..\LibWho-2.0.lua:168 MinInterval = 2.5 CachedUserInfo = <func> @WIM\Libs\..\LibWho-2.0.lua:246 SetWhoToUIState = 1 AskWhoNextIn5sec = <func> @WIM\Libs\..\LibWho-2.0.lua:315 CapitalizeInitial = <func> @WIM\Libs\..\LibWho-2.0.lua:723 CancelPendingWhoNext = <func> @WIM\Libs\..\LibWho-2.0.lua:323 WHOLIB_QUEUE_QUIET = 2 embeds = <table> {} hooked = <table> {} ProcessWhoResults = <func> @WIM\Libs\..\LibWho-2.0.lua:898 WHO_LIST_UPDATE = <func> @WIM\Libs\..\LibWho-2.0.lua:889 AllQueuesEmpty = <func> @WIM\Libs\..\LibWho-2.0.lua:300 CHAT_MSG_SYSTEM = <func> @WIM\Libs\..\LibWho-2.0.lua:881 RegisterCallback = <func> @Ace3\..\CallbackHandler-1.0.lua:118 CheckCallback = <func> @WIM\Libs\..\LibWho-2.0.lua:661 TriggerEvent = <func> @WIM\Libs\..\LibWho-2.0.lua:736 UnregisterCallback = <func> @Ace3\..\CallbackHandler-1.0.lua:181 PossibleEvents = <table> {} DupAll = <func> @WIM\Libs\..\LibWho-2.0.lua:711 ConsoleWho = <func> @WIM\Libs\..\LibWho-2.0.lua:596 Embed = <func> @WIM\Libs\..\LibWho-2.0.lua:277 Dup = <func> @WIM\Libs\..\LibWho-2.0.lua:697 WHOLIB_FLAG_ALWAYS_CALLBACK = 1 simple_dump = <func> @WIM\Libs\..\LibWho-2.0.lua:687 GetQueryInterval = <func> @WIM\Libs\..\LibWho-2.0.lua:313 external = <table> {} callbacks = <table> {} CheckArgument = <func> @WIM\Libs\..\LibWho-2.0.lua:633 RaiseCallback = <func> @WIM\Libs\..\LibWho-2.0.lua:623 MaxInterval = 10 AskWho = <func> @WIM\Libs\..\LibWho-2.0.lua:480 GuiWho = <func> @WIM\Libs\..\LibWho-2.0.lua:578 Library = <func> @WIM\Libs\..\LibWho-2.0.lua:290 ReturnUserInfo = <func> @WIM\Libs\..\LibWho-2.0.lua:617 AskWhoNext = <func> @WIM\Libs\..\LibWho-2.0.lua:395 L = <table> {} queue_bounds = <table> {} UnregisterAllCallbacks = <func> @Ace3\..\CallbackHandler-1.0.lua:202 UpdateWeights = <func> @WIM\Libs\..\LibWho-2.0.lua:344 Total = 48 Debug = false SetWhoLibDebug = <func> @WIM\Libs\..\LibWho-2.0.lua:262 CheckPreset = <func> @WIM\Libs\..\LibWho-2.0.lua:643 GetWhoLibDebug = <func> @WIM\Libs\..\LibWho-2.0.lua:258 hook = <table> {} Queue = <table> {} WhoInProgress = false CacheQueue = <table> {} events = <table> {} Who = <func> @WIM\Libs\..\LibWho-2.0.lua:147 WHOLIB_QUEUE_SCANNING = 3 frame = LibWho-2.0 {} WHOLIB_QUEUE_USER = 1 Reset = <func> @WIM\Libs\..\LibWho-2.0.lua:141 } lib = <table> { GetNextFromScheduler = <func> @WIM\Libs\..\LibWho-2.0.lua:363 ReturnWho = <func> @WIM\Libs\..\LibWho-2.0.lua:488 Cache = <table> {} UserInfo = <func> @WI

  • Avatar of krovikania krovikania Oct 22, 2012 at 09:17 UTC - 0 likes

    @Cloudancer2: Go

    Means that I agree with you or share your comment.

    Regards

  • Avatar of Cloudancer2 Cloudancer2 Oct 21, 2012 at 21:41 UTC - 0 likes

    @krovikania: Go

    +1?

  • Avatar of krovikania krovikania Oct 21, 2012 at 20:24 UTC - 0 likes
  • Avatar of Cloudancer2 Cloudancer2 Oct 21, 2012 at 19:23 UTC - 0 likes

    Party chat still breaking :/

  • Avatar of hsram hsram Oct 21, 2012 at 16:14 UTC - 0 likes

    I have a brilliant idea, let's do updates but not fix party chat. I know, I'm smart!

Table of contents

  1. 1 Features
  2. 2 Video Demo

Facts

Date created
Jul 28, 2008
Category
Last update
Aug 22, 2014
Development stage
Release
Language
  • enUS
License
All Rights Reserved
Curse link
WIM (WoW Instant Messenger) v3
Downloads
5,866,460
Recent files
  • A: r430 for 5.4.8 Aug 22, 2014
  • A: r429 for 5.4.8 Aug 22, 2014
  • A: r428 for 5.4.8 Aug 13, 2014
  • A: r427 for 5.4.8 Aug 12, 2014
  • A: r426 for 5.4.8 Jun 30, 2014

Authors