forked from wechaty/wechaty
-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
在使用 @juzi/wechaty puppet 为 wechaty-puppet-padlocal 的时候为了能够 @all 查看了源码,发现 room.say() 的方法能接受参数 @all 来实现@所有人的功能,但是尝试之后发现并不能在微信群聊中触发提醒,反复研究后发现需要将源码中的文件
wechaty/dist/esm/src/user-modules/room.js (import 方式引入 wechaty 如果是require 引入应该是改 wechaty/dist/cjs/src/user-modules/room.js ) 中的代码做如下修改
将 435行修改为
const mentionAlias = await Promise.all(mentionList.map(async (contact) => '@' + (contact === '@all' ? 'all' : await this.alias(contact) || contact.name())));
改为
const mentionAlias = await Promise.all(mentionList.map(async (contact) => '@' + (contact === '@all' ? '所有人' : await this.alias(contact) || contact.name())));同时将所有同时涉及到 messageSendText 和 @all 关键字的地方
await this.wechaty.puppet.messageSendText(this.id, text, mentionList.map(c => c === '@all' ? '@all' : c.id))修改为
await this.wechaty.puppet.messageSendText(this.id, text, mentionList.map(c => c === '@all' ? 'notify@all' : c.id))也就是在提醒所有人的时候需要将messageSendText的第三个参数修改为固定文本 notify@all 而不是源码中的 @all
此时可以触发群聊@所有人的功能
Metadata
Metadata
Assignees
Labels
No labels