iChat汉化版

iChat汉化版

关于魔兽世界的iMessage风格密语客户端

聊天

iChat

一款魔兽世界风格的 iMessage 密语客户端。

用现代化的消息界面取代默认的密语系统,包含聊天气泡、会话线程、表情符号、通知音效等功能。

功能

会话界面

  • iMessage 风格聊天气泡,圆角(九宫格药丸纹理),可选气泡尾巴
  • 左侧会话列表,按最近活动排序
  • 置顶会话——将常用联系人固定在列表顶部
  • 未读消息标记
  • “新消息”分隔线——滚动到未读消息时的视觉分隔
  • 日期分隔符——“今天”、“昨天”、“1月5日”等跨天消息之间的分隔
  • 会话列表中显示消息预览
  • 相对时间戳(刚刚、5分钟前、2小时前等)——悬停气泡可查看精确时间
  • 可调整窗口大小(350×400 至 700×800),支持拖拽移动
  • 点击“-”按钮最小化到标题栏
  • ESC 关闭窗口——注册到 UI 特殊框架系统
  • 标题栏显示版本号

气泡颜色

  • 蓝色(右对齐)——你发送的消息
  • 蓝色(左对齐,较浅)——来自好友的传入消息
  • 绿色(左对齐)——来自非好友的传入消息

送达状态

  • “已发送”——服务器确认送达后,在你的消息下方显示灰色指示
  • “失败”——收件人离线或未找到时显示红色指示

输入提示

  • 在输入框中打字时,会话头部显示动画“正在输入…”
  • 循环显示“正在输入.” → “正在输入..” → “正在输入…” 动画
  • 停止输入 2 秒后自动清除
  • 可在设置→行为中开关

物品链接

  • 聊天气泡中的可点击物品/法术链接——悬停显示提示,Shift+点击发送链接

搜索与导航

  • 搜索栏——按名称或消息内容过滤会话
  • 键盘快捷键——Tab/Shift+Tab 切换会话
  • 右键菜单——置顶、静音、添加备注或删除会话

在线状态与通知

  • 在线状态指示——好友在线显示绿点,离线显示灰点
  • 职业颜色名称——好友名字按魔兽职业着色
  • 上线/下线通知——当与你聊过的好友上线或下线时,屏幕顶部弹出提示。点击提示打开对应会话。可在设置→行为中开关。

战网整合

  • 完整 BNet(RealID)密语支持——向战网好友发送和接收密语
  • 智能显示格式——标题显示真实姓名,会话列表中显示“姓名(角色名)”
  • BNet 青蓝色配色——战网名称统一使用暴雪标志性的青蓝色
  • 角色职业颜色——BNet 角色名按其魔兽职业颜色显示
  • 跨游戏消息——可与玩暗黑破坏神3、炉石传说、守望先锋、星际争霸等游戏的好友聊天
  • 游戏信息显示——标题显示对方正在玩的游戏(如“魔兽世界:角色名(L60 战士)”或“暗黑破坏神3”)
  • 混合会话列表——BNet 和普通密语混合显示,按活动排序
  • 聊天过滤——从默认聊天框屏蔽 BNet 密语(遵循“屏蔽密语”设置)

Titan Panel 整合

  • 原生 Titan Panel 插件——与其他插件一同出现在 Titan 栏中
  • 左键点击切换 iChat 窗口
  • 右键点击打开 Titan Panel 上下文菜单,提供快速选项
  • 未读计数显示——显示未读消息数量(如 3、99+),无未读时留空
  • 提示——悬停显示未读数量和用法提示
  • 可选——未安装 Titan Panel 时不报错

玩家信息与头像

  • 在会话头部副标题中显示等级、种族、职业和位置(例如“Lv70 人类 战士 暴风城”)
  • 当玩家作为单位可见时(目标、小队、团队)显示 3D 头像
  • 玩家超出范围但已知职业时显示职业图标——无任何信息时完全隐藏(不显示问号)
  • 数据来源:好友列表、公会名单和可见单位

公会与队伍感知

  • 公会头衔显示在会话头部(绿色)
  • 队伍角色带坦克/治疗/DPS 图标(蓝色)
  • 团队成员标识(橙色)
  • 队伍变更时自动更新

账号通用会话

  • 跨角色共享会话——在设置→行为中可选开启
  • 启用后,同一账号下所有角色共享一个会话历史
  • 开启时会智能迁移已有的每个角色独立数据
  • 默认关闭——每个角色拥有独立历史

联系人管理

  • 会话头部有“添加好友”/“屏蔽”按钮
  • 联系人备注——为任意联系人添加个人备注(显示在头部)
  • 按联系人静音——屏蔽特定联系人的通知音效
  • 置顶会话——将重要联系人保持在列表顶部

撰写与快捷回复

  • 撰写按钮——与任意玩家开始新会话
  • 5 个可配置的快捷回复按钮——设置自定义回复(AFK、BRB 等)
  • 按回车键或点击发送按钮发送

自动回复

  • 可配置的自动回复——对传入密语自动回复自定义消息
  • 每个会话每个联系人只回复一次——防止刷屏
  • 快速开关——/ichat autoreply启用/禁用

表情符号

  • 内置 75+ 个 Google Noto Emoji 表情——输入 :短代码:使用(例如 :thumbsup:、:fire:、:heart:)
  • 输入框旁的表情选择器按钮——点击浏览并插入表情
  • /ichat emoji——将所有可用表情及其预览输出到聊天框
  • 可选 Emoji-Core 支持——若安装了 Emoji-Core 插件,其表情和自动补全功能可与内置集合协同工作

通知音效

  • 3 种内置通知音效——玻璃声、三音和弦、钟声
  • LibSharedMedia 支持——其他插件(ElvUI、SharedMedia 包等)注册的所有音效均可作为额外选项
  • 任务栏闪烁——收到密语时 Windows 任务栏图标闪烁

浮动按钮

  • 可拖动的浮动按钮——左键点击切换窗口,右键点击打开设置
  • 阵营主题图标——联盟为蓝色盾牌,部落为红色盾牌
  • 未读标记——红点加数字显示未读消息数
  • 密语闪烁——收到密语时脉冲闪烁,直到打开 iChat
  • 可配置按钮尺寸(24–64px)——在设置→行为中滑动调节
  • 可自由放置——拖动到屏幕任意位置,位置会在重启后保存
  • LibDBIcon 支持——同时注册到小地图按钮管理器插件(MinimapButtonButton 等)

设置面板

  • 设置面板字体大小滑块(8–14)——实时预览调整设置界面文字大小
  • 字体选择下拉菜单——6 种内置魔兽字体,外加所有可用的 LibSharedMedia 字体
  • 聊天气泡字体大小滑块(8–16)
  • 背景透明度滑块(30%–100%)
  • 消息历史滑块(每个会话 50–500 条消息)
  • 收到密语时打开窗口开关
  • 屏蔽默认聊天框密语开关
  • 显示开关——日期分隔符、悬停时间戳、物品链接、职业颜色、在线状态
  • 窗口缩放滑块(0.5x–2.0x)——缩放包括字体、图标和按钮在内的所有元素
  • 行为开关——键盘快捷键、小地图按钮、战斗中隐藏、自动淡出、移动时淡出、输入提示、在线/离线通知、ElvUI 主题、账号共享
  • 自动回复区域——启用/禁用及自定义消息编辑器
  • 快捷回复编辑器——最多配置 5 条快捷回复消息
  • 导出会话——将会话历史复制为纯文本
  • 清除历史——按会话或全部清除(需确认)

ElvUI 整合

  • 自动检测 ElvUI 并匹配背景、边框和强调色
  • ElvUI DataText——在 DataText 列表中出现“iChat”(右键点击任意 ElvUI 信息面板→选择“iChat”)。显示未读数量并使用 ElvUI 的值颜色。左键点击切换窗口,右键点击打开设置。
  • 仅在你未显式选择字体时才覆盖字体
  • 可在设置→行为中开关

WeakAuras 整合

为 WeakAuras 触发器提供的自定义事件:

  • ICHAT_WHISPER_RECEIVED(发送者,文本)
  • ICHAT_WHISPER_SENT(目标,文本)
  • ICHAT_FRIEND_ONLINE/ ICHAT_FRIEND_OFFLINE(名称)
  • ICHAT_UNREAD_CHANGED(总数)

自动淡出

  • 鼠标离开窗口 1.5 秒后窗口淡出至 25% 透明度
  • 悬停在窗口任意位置(聊天区域、输入框、会话列表——不仅限于标题栏)时立即恢复
  • 设置面板或表情选择器打开时禁用淡出
  • 移动时淡出——可选设置,角色移动时淡出,停止时恢复
  • 可在设置→行为→“鼠标离开时自动淡出”中完全禁用

LibSharedMedia 整合

  • 可选依赖——没有它也能运行,有则增强功能
  • 当 LibSharedMedia-3.0 可用时(随 ElvUI 等捆绑),所有已注册的字体和音效都会出现在 iChat 的设置下拉菜单中

安装

下载并解压到你的 AddOns 文件夹。同一个文件夹适用于所有魔兽版本——客户端会自动加载正确的 TOC 文件:

版本 AddOns 路径 TOC 文件
经典旧世 _classic_era_/Interface/AddOns/iChat/ iChat_Vanilla.toc
TBC 怀旧服 _anniversary_/Interface/AddOns/iChat/ iChat.toc
正式服 _retail_/Interface/AddOns/iChat/ iChat-Mainline.toc

重启魔兽或输入 /reload(如果已在游戏中)。

使用方法

命令 作用
/ichat 切换 iChat 窗口
/ichat clear 清除当前会话的历史记录
/ichat export 导出当前会话为可复制的文本
/ichat scale <数值> 设置窗口缩放(0.5–2.0)
/ichat emoji 将所有可用表情短代码输出到聊天框
/ichat autoreply 开关自动回复
/ichat search <文本> 搜索会话
/ichat version 显示版本号和存储模式

发送消息

  • 点击左侧会话,或使用撰写按钮(聊天气泡图标)开始新会话
  • 在输入框中输入并按回车发送
  • 点击笑脸按钮打开表情选择器
  • 使用快捷回复按钮发送预设回复

键盘快捷键

  • 自定义按键绑定——在魔兽选项→按键绑定→iChat 中绑定“切换 iChat 窗口”
  • Tab——切换到下一个会话
  • Shift+Tab——切换到上一个会话
  • Escape——关闭窗口

上下文菜单

右键点击列表中的任意会话可进行:

  • 置顶/取消置顶——保持在列表顶部
  • 静音/取消静音——屏蔽通知音效
  • 添加/编辑备注——为该联系人添加个人备注
  • 删除会话——移除会话及其历史

表情短代码

在消息中输入 :名称:——它会在聊天气泡中渲染为内联图标。

  • 笑脸类::grin:``:smile:``:laughing:``:joy:``:wink:``:heart_eyes:``:sunglasses:``:thinking:``:cry:``:angry:``:skull:``:party:等
  • 手势类::thumbsup:``:thumbsdown:``:wave:``:pray:``:muscle:``:clap:``:ok_hand:
  • 符号类::heart:``:fire:``:star:``:100:``:check:``:x:``:sparkles:``:boom:``:eyes:
  • 物品类::swords:``:shield:``:trophy:``:crown:``:gem:``:beer:``:dragon:``:ghost:``:rocket:

保存变量

iChat 使用两种存储模式:

  • ICHAT_DATA(每个角色)——默认,每个角色拥有独立历史
  • ICHAT_ACCOUNT(账号通用)——可选,在设置中开启“跨角色共享会话”

存储的数据包括:

  • 会话历史——消息、时间戳、阅读状态、送达状态
  • 设置——字体、字号、透明度、音效、快捷回复、显示/行为开关、自动回复
  • 置顶会话——哪些联系人被置顶
  • 联系人备注——每个联系人的个人备注
  • 静音联系人——被屏蔽通知的联系人

数据在重启后持续存在。使用 /ichat clear或设置面板管理历史记录。

可选依赖

插件 增加的功能
Emoji-Core 输入框中的 Unicode 表情自动补全,额外表情渲染
LibSharedMedia-3.0 其他插件提供的额外字体和音效出现在设置中
LibDBIcon-1.0 小地图按钮管理器集成(MinimapButtonButton 等)
ElvUI 自动将 ElvUI 的颜色主题应用到 iChat
WeakAuras 暴露 iChat 事件用于自定义触发器
Titan Panel Titan 栏中的原生 iChat 插件,含未读计数

兼容性

  • 经典旧世(1.15.x)——接口 11508
  • TBC 经典怀旧服(2.5.x)——接口 20505
  • 正式服(12.x Midnight)——接口 120001

已知问题

  • WIM 冲突:如果安装了魔兽即时通讯(WIM),iChat 会自动禁用“屏蔽默认聊天框密语”以避免双重屏蔽。
  • 输入提示仅为本地:仅在你输入时显示。跨插件输入检测需要插件间通信(双方都需要 iChat)。
  • ElvUI 皮肤可能无法应用:如果 ElvUI 在 iChat 之后加载,会使用 1 秒延迟,但仍可能存在边界情况。此时请将该设置关闭再重新开启。

致谢

  • 作者:paradosi(Dreamscythe)
  • 表情:Google Noto Emoji(Apache 2.0 许可证)
  • 表情集成:KittenBall 的 Emoji-Core——可选的表情自动补全和渲染库