promotional bannermobile promotional banner
premium banner
An instant messenger with whisper history

Description

DIM - Daddio's Instant Messenger

Get your tells and whispers in a compact, tabbed IM-style window. Never lose a whisper in the chat scroll again.

This project started because other IM addons were dropping whispers under Midnight (12.0). Blizzard now treats incoming whisper text and sender names as secret values during instance encounters, and most IM addons weren't ready for it. I've worked around it as best I can. If you find a bug, drop it in the comments.

Features

  • Tabbed whisper window — resizable, draggable; fades when unfocused; gap dividers between conversation sessions; clickable URLs in messages.
  • Persistent whisper history — every conversation saved across sessions, searchable by name or message content via /dim history.
  • Notifications — configurable incoming/outgoing sounds, flashing unread tabs, and a minimap-button unread badge (shows ∞ past 9, survives /reload).
  • Whispers route through DIM automatically/w, reply key, and BNet tell are all hooked. Identity tagline above each tab fills in guild and zone opportunistically when the partner is in your group, mouseover, or inspect target.
  • Player context menu — right-click the tagline for whisper / invite / ignore / RaiderIO / Warcraftlogs. Includes a per-partner one-shot "Notify when out of dungeon" toggle that pings you when the friend you're whispering leaves their M+/raid.
  • Text expansion — type :shrug: and DIM sends ¯\_(o_o)_/¯. Works inside DIM tabs and in Blizzard's default chat (/say, /p, /g, …). Live expansion fires when you type a space or punctuation after the tag. Ships with a small starter set; edit your own via /dim expand.
  • Combat & encounter awareness — optionally hide the window during combat (sounds queue, window auto-reshows after). During instance chat-lockdown encounters DIM falls back gracefully — see below.

Slash Commands

Command Description
/dim Toggle the IM window
/dim on / /dim off Enable or disable DIM
/dim history Open the whisper history browser
/dim expand Open the text-expansion editor
/dim clear Reset the unread minimap badge
/dim config Open the settings panel

Installation

  1. Download and extract into your World of Warcraft/_retail_/Interface/AddOns/ folder
  2. The folder should be named DIM
  3. Reload your UI or restart the game

Acknowledgments

DIM was inspired by and built with guidance from two excellent addons:

  • WIM (WoW Instant Messenger) - The original IM-style whisper addon that pioneered this concept. DIM's sound design follows WIM's approach.
  • EnhanceQoL - A comprehensive quality-of-life addon whose ChatIM module served as the architectural reference for DIM's tabbed window and history systems.

Special thanks to Traleron — early adopter, QA tester, and dedicated whisperer.

Midnight (12.0.0) chat lockdown

Patch 12.0.0 introduced restrictions on addon chat during instance encounters: C_ChatInfo.InChatMessagingLockdown() returns true while an encounter is active, and during that window:

  • Addon-initiated SendChatMessage / SendWhisper calls are blocked (ADDON_ACTION_BLOCKED).
  • Incoming whisper events still fire, but text and playerName arrive as Secret Values that addons cannot inspect, compare, format into history, or persist.

These restrictions are imposed by Blizzard and apply to every addon — DIM cannot work around them, only mitigate them:

  • Sending during an encounter — when you press Enter in a DIM tab, DIM pre-fills Blizzard's default chat editor with your recipient and message and opens it. Press Enter on Blizzard's editor to send. An orange [DIM] notice in the tab explains what happened.
  • Receiving during an encounter — DIM does not pop the window, flash the tab, play a sound, or pulse the minimap for messages it can't read. If the DIM window is already open, you'll see one orange [DIM] Whisper received during chat lockdown — content unreadable until encounter ends. notice (throttled to once per 60 seconds) so you know something arrived.

Lockdown ends when the encounter ends; normal whisper handling resumes automatically.

Requirements

  • World of Warcraft 12.0.5 (Midnight) - Interface 120005