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 mysticalos mysticalos Jan 18, 2013 at 21:29 UTC - 0 likes

    that's because wim uses staticpopupdialog and there is no elegent way to avoid that taint :\. Only fix is to probably rewrite a lot of popups in wim to not use it. then you're just gonna find ace3 or another mod also using staticpopupdialog will just taint it instead. ultimately i wish blizz would come up with a solution that makes staticpopupdialog work, or just block it and force authors to change it.

  • Avatar of MorticiaNoire MorticiaNoire Jan 05, 2013 at 11:38 UTC - 0 likes

    hi, i cant register on the other web page you have.it says registration is disabled.

    anyhow, my problem i am having is that, when i click on a quest item icon in the list of objectives next to a quest, i get a message saying wim has interfered and i have an option to disable wim.it doesnt generate a lua error. i can use the item in my bag still.this doesnt happen on all chars though so i am nto sure if another addon is interfering but it is hard to tell.

  • Avatar of mysticalos mysticalos Dec 27, 2012 at 21:58 UTC - 0 likes

    WoWEye, i seen that before. somehow your history got corrupt. clear history will fix that. no idea why that happens though.

  • Avatar of WoWEye WoWEye Dec 16, 2012 at 04:40 UTC - 0 likes

    I clicked on the button on the message window to view message history of a Real ID and got this error:
    Date: 2012-12-15 21:20:32
    ID: 1
    Error occured in: Global
    Count: 1
    Message: ..\AddOns\WIM\Modules\History.lua line 1041:
       attempt to get length of local 'tbl' (a nil value)
    Debug:
       WIM\Modules\History.lua:1041 UpdateConvoList()
       WIM\Modules\History.lua:1004 SelectConvo()
       WIM\Modules\History.lua:1363 ShowHistoryViewer()
       WIM\Modules\History.lua:115
          WIM\Modules\History.lua:113
    Locals:
    self = nil
    realm = "Borean Tundra"
    character = "Megapixel"
    tbl = nil
    (*temporary) = 1
    (*temporary) = "Megapixel"
    (*temporary) = nil
    (*temporary) = nil
    (*temporary) = nil
    (*temporary) = nil
    (*temporary) = nil
    (*temporary) = nil
    (*temporary) = nil
    (*temporary) = nil
    (*temporary) = nil
    (*temporary) = "attempt to get length of local 'tbl' (a nil value)"
    win = WIM3_HistoryFrame {
     CONVO = "|Kf99|kWilliam Rice Jr|k"
     UpdateUserList = <function> defined @Interface\AddOns\WIM\Modules\History.lua:1058
     USERLIST = <table> {
     }
     UpdateDisplay = <function> defined @Interface\AddOns\WIM\Modules\History.lua:1009
     nav = <unnamed> {
     }
     progressBar = <unnamed> {
     }
     resize = <unnamed> {
     }
     USER = "Borean Tundra/Megapixel"
     FILTER = ""
     0 = <userdata>
     FILTERLIST = <table> {
     }
     SelectConvo = <function> defined @Interface\AddOns\WIM\Modules\History.lua:996
     search = <unnamed> {
     }
     TAB = 1
     UpdateConvoList = <function> defined @Interface\AddOns\WIM\Modules\History.lua:1034
     SEARCHLIST = <table> {
     }
     close = WIM3_HistoryFrameClose {
     }
     title = WIM3_HistoryFrameTitle {
     }
     filter = <table> {
     }
     CONVOLIST = <table> {
     }
     displayUpdate = <unnamed> {
     }
     content = <unnamed> {
     }
     UpdateFilterList = <function> defined @Interface\AddOns\WIM\Modules\History.lua:1015
    }
    string = <table> {
     split = <function> defined =[C]:-1
     match = <function> defined =[C]:-1
     gmatch = <function> defined =[C]:-1
     upper = <function> defined =[C]:-1
     gsub = <function> defined =[C]:-1
     format = <function> defined =[C]:-1
     lower = <function> defined =[C]:-1
     sub = <function> defined =[C]:-1
     gfind = <function> defined =[C]:-1
     rep = <function> defined =[C]:-1
     join = <function> defined =[C]:-1
     char = <function> defined =[C]:-1
     rtgsub = <function> defined @Interface\FrameXML\RestrictedInfrastructure.lua:610
     concat = <function> defined =[C]:-1
     reverse = <function> defined =[C]:-1
     byte = <function> defined =[C]:-1
     trim = <function> defined =[C]:-1
     len = <function> defined =[C]:-1
     find = <function> defined =[C]:-1
    }
    table = <table> {
     setn = <function> defined =[C]:-1
     insert = <function> defined =[C]:-1
     getn = <function> defined =[C]:-1
     foreachi = <function> defined =[C]:-1
     maxn = <function> defined =[C]:-1
     foreach = <function> defined =[C]:-1
     concat = <function> defined =[C]:-1
     removemulti = <function> defined =[C]:-1
     sort = <function> defined =[C]:-1
     wipe = <function> defined =[C]:-1
     remove = <function> defined =[C]:-1
    }
    pairs = <function> defined =[C]:-1

    AddOns:
      Swatter, v5.15.5380 (LikeableLyrebird)
      ACP, v3.4.1
      Altoholic, v5.1.001
      AraBrokerGuildFriends, vr55
      Auctionator, v3.1.0
      Babylonian, v5.1.DEV.332(/embedded)
      BlizzMove, vv1.2.5
      BrokerProfessionsMenu, v
      BrokerMounts, v5.04
      Configator, v5.1.DEV.344(/embedded)
      ControlFreak, v3.0.3.15
      CTBarMod, v5.0101
      CTBottomBar, v5.0101
      CTCore, v5.0101
      CTMailMod, v5.0101
      DataStore, v5.1.001
      DataStoreAchievements, v5.1.001
      DataStoreAgenda, v5.1.001
      DataStoreAuctions, v5.1.001
      DataStoreCharacters, v5.1.001
      DataStoreContainers, v5.1.001
      DataStoreCrafts, v5.1.001
      DataStoreCurrencies, v5.1.001
      DataStoreInventory, v5.1.001
      DataStoreMails, v5.1.001
      DataStorePets, v5.1.001
      DataStoreQuests, v5.1.001
      DataStoreReputations, v5.1.001
      DataStoreSpells, v5.1.001
      DataStoreStats, v5.1.001
      DataStoreTalents, v5.1.001
      DBMCore, v
      DBMLDB, v
      DBMWorldEvents, v
      DebugLib, v5.1.DEV.337(/embedded)
      DropTheCheapestThing, vv3.6.2
      Enchantrix, v5.15.5380 (LikeableLyrebird)
      FBTitan, v1.0.8
      FBTrackingFrame, v1.2d
      FishingBuddy, v1.2f
      FlightMap, v5.0.3
      Gatherer, v4.1.0
      GFWFactionFriend, v5.0
      GTFO, v4.18.1
      Informant, v5.15.5380 (LikeableLyrebird)
      LibExtraTip, v5.12.DEV.342(/embedded)
      LightHeaded, v356
      LightHeadedDataA, v356
      LightHeadedDataE, v356
      LightHeadedDataQIDNames, v356
      Mapster, v1.5.1
      Mendeleev, v3.0
      OneBag3, vv3.4.8
      Overachiever, v0.70
      OverachieverTabs, v0.70
      OverachieverTrade, v0.70
      QuestHubber, v
      QuestHubberAzeroth, v
      QuestHubberCataclysm, v
      QuestHubberDaily, v
      QuestHubberNorthrend, v
      QuestHubberOutland, v
      QuestHubberPandaria, v
      Recount, v
      SlideBar, v5.15.5380 (LikeableLyrebird)
      Stubby, v5.15.5380 (LikeableLyrebird)
      SwindlerPreventer, v5.0.1 (15799) BETA
      TipHelper, v5.12.DEV.343(/embedded)
      Titan, v5.1.10.50100
      TitanClock, v5.1.10.50100
      TitanGold, v5.1.10.50100
      TitanLootType, v5.1.10.50100
      TitanRepair, v5.1.10.50100
      TitanVolume, v5.1.10.50100
      URNotePad, v5.1.0
      WIM, vr357
      XLoot10, vz35-beta
      XPerl, v3.6.15
      XPerlArcaneBar, v
      XPerlParty, v
      XPerlPartyPet, v
      XPerlPlayer, v
      XPerlPlayerPet, v
      XPerlTarget, v
      XPerlTargetTarget, v
      BlizRuntimeLib_enUS v5.1.0.50100 <us>
      (ck=8a8)

  • Avatar of Dridzt Dridzt Dec 03, 2012 at 15:10 UTC - 1 like

    @Jockelino: Go

    Well I'm not going to keep posting the same info in 3 different places.
    You don't need a self-modified / fan modified / "any" modified version.

    Use the latest alpha and make sure you have "Instance Chat" module enabled.

    If you want WIM to capture all group chat, you need "Raid", "Party" and "Instance" chat modules enabled.

    That user modification suggested btw, you might as well just remove that whole block of code, it's not doing what you think it does.
    '=' is an assignment operator, meaning it takes what's on the right side of it and puts it on the left side.
    '==' is an equality operator, meaning it compares what's on the right side to what's on the left side and returns the result (true for isequal, false for not equal)
    The replacement suggested was:

    if UnitExists = nil and UnitExists("party"..i) or _G.UnitExists = nil and _G.UnitExists("party"..i) then
    

    What this says in plain English is:
    "nil the local UnitExists function then check if nil("party"..i)
    or nil the global UnitExists() function and then check if nil("party"..i)"

    Do I really need to explain how bad it is to nuke game functions like that?
    The side-effect of that line of code is that the whole 'if ... then' block is always nil and never runs, like I said if you want to modify it just delete it instead of breaking game API for all addons.

    Edit: I checked his original post a couple comment-pages back and he was actually testing for inequality ~= which is better but that modification is not needed for the latest alphas.
    The problem with the original code was that WIM uses its own environment space, meaning it needed to pickup the global function through _G. instead of relying on an implicit global lookup.
    If that's too technical to understand, that's ok, just keep that the original problem has been fixed.

    Last edited Dec 03, 2012 by Dridzt
  • Avatar of Jockelino Jockelino Dec 03, 2012 at 09:30 UTC - 0 likes

    Well i blocked this ;) i did what Mw999 said changed the <WoW Folder>\Interface\AddOns\WIM\Modules\ChatEngine.lua on line 478.

    And wim worked for 3 days until 5.1

    Still works decent only raids i get tons of errors " soemtimes" i raided twice and first time i got so many error in short time, i got message saying to many errors, i turned it off.

    enabled again after the raid and i could raid with it next time dont think i had any errors then.

    for me it works atm, however sometime i get errors i disable it.

    I use self-modifyed r344.

  • Avatar of Magus427 Magus427 Dec 02, 2012 at 19:21 UTC - 0 likes

    Any chance of an update so the add-on isn't listed out of date for 5.1?

    Thanks.

  • Avatar of menace97 menace97 Nov 29, 2012 at 02:02 UTC - 0 likes

    i've been having issues with not seeing party chat. in both the main chat window and the separate wim window. i haven't re-setup my preferences in a while, so i'll try that first.

    Last edited Nov 29, 2012 by menace97: clarification
  • Avatar of Cloudancer2 Cloudancer2 Nov 28, 2012 at 19:37 UTC - 0 likes

    @Dridzt: Go

    i did install r347 and had to redo the ChatEngine.ula. Will try again with r348 *fingers crossed*

  • Avatar of Dridzt Dridzt Nov 28, 2012 at 18:06 UTC - 0 likes

    @Cloudancer2: Go

    Did you try the latest alpha?

Table of contents

  1. 1 Features
  2. 2 Video Demo

Facts

Date created
Jul 28, 2008
Category
Last update
Oct 14, 2014
Development stage
Release
Language
  • enUS
License
All Rights Reserved
Curse link
WIM (WoW Instant Messenger) v3
Downloads
6,031,484
Recent files
  • R: 3.6.19 for 6.0.2 Oct 14, 2014
  • A: r434 for 6.0.2 Oct 14, 2014
  • A: r433 for 6.0.2 Oct 14, 2014
  • A: r432 for 5.4.8 Sep 23, 2014
  • A: r431 for 5.4.8 Sep 23, 2014

Authors