WXSearchContact 返回的 rawSearchPayLoad 中用户微信昵称中的 emoji 符号错误
Opened this issue · 1 comments
Gyufei commented
重要:请不要删除模板自行填写,所有不按照模板填写的issue,我们将不会处理。
0. 发 Issue 指南
- 请运行下面的命令,看问题是否可以被解决:
rm -rf package-lock.json
rm -rf node_modules
npm install
-
请在 FAQ 清单 看是否已有解决办法。
-
请先在issue 中搜关键信息,确认你要发的内容和之前的issue 不重复。
1. 提供你的包版本信息
- wechaty 版本:0.23.39
- wechaty-puppet-padchat 版本:0.19.3
- node 版本:v10.14.1 (运行
node --version
获取版本) - 你使用的操作系统:mac
2. Bug 描述
请用精简的语言描述你遇到的bug
使用 friendshipAdd
方法的搜索联系人部分创建了一个 friendshipSearch
方法如下:
public async friendshipSearch (
contactId : string
) : Promise<WXSearchContactType> {
log.verbose('PuppetPadchat', 'friendSearch(%s, %s)', contactId)
if (!this.padchatManager) {
throw new Error('no padchat manager')
}
try {
return this.padchatManager.WXSearchContact(contactId)
} catch (e) {
throw Error(`Can not add user ${contactId}, this contactId is not searchable. Please refer to issue: https://github.com/lijiarui/wechaty-puppet-padchat/issues/166`)
}
}
用于使用微信ID搜索联系人。
发现当用户名包含 emoji 时, this.padchatManager.WXSearchContact(contactId)
返回的 JSON 中用户名的 emoji 是错误的。
如当用户的名称为deerW🐳
时,此 API 的返回值中为 deerW"
。
怀疑是此方法返回值时未进行转码操作或者转码错误。
3. 复现的步骤 (或者解决的步骤)
这一部分非常重要,如果你无法给出复现步骤,我们也很难提供相应的解决办法:
复现步骤中一定要给出复现代码
例子:
- 第一步:
- 第二步:
- 。。。
4. 期待程序运行的结果
请用精简的语言描述你期待运行的结果
5. 程序实际运行的结果
请用精简的语言或者截图描述实际运行的结果(请不要在这里粘贴日志截图)
6. 完整的日志信息:
通过WECHATY_LOG=silly
设定环境变量,将设置log 等级为 silly,获取最详细的日志信息(默认log 等级为 info)
请提供完整的日志信息(不要只提供部分的日志截图,请复制粘贴日志内容!)
Show Logs
$ WECHATY_LOG=silly node yourbot.js
11:46:15 VERB PadchatRpc WXSearchContact wxid: L394533321 can be searched
{ big_head:
'http://wx.qlogo.cn/mmhead/ver_1/LDbWMTAkj4w74CCzJ9icM4iciaWn23n8upsWGEfjR7AJD5q8jYicb5N2JxZFWDC9svU27wciceE789qiazhLHpp9whyA/0',
city: 'East',
country: 'CN',
message: '\n\u0010Everything is OK',
nick_name: 'deerW',
provincia: 'Beijing',
py_initial: 'WL394533321',
quan_pin: 'wl394533321',
sex: 2,
signature: '生活不易\n请继续努力\n在未来的路上\n愿你步伐坚定且内心温柔',
small_head:
'http://wx.qlogo.cn/mmhead/ver_1/LDbWMTAkj4w74CCzJ9icM4iciaWn23n8upsWGEfjR7AJD5q8jYicb5N2JxZFWDC9svU27wciceE789qiazhLHpp9whyA/132',
status: 0,
stranger: '',
user_name: 'wl394533321' }
11:46:15 VERB Contact find({"name":"deerW"})
11:46:15 VERB Contact findAll({"name":"deerW"})
11:46:15 VERB Puppet contactSearch(query={"name":"deerW"}, )
11:46:15 VERB PuppetPadchat contactList()
11:46:15 VERB PuppetPadchatManager getContactIdList()
11:46:15 VERB Puppet contactQueryFilterFactory({"name":"deerW"})
Error: 修改备注失败:fqzw2012 搜索不到用户 wl394533321 名字为 deerW 请手动拉群
at Object.aliasFriend (/Users/guoyufei/Documents/project/wechat/unibot/src/core.js:31:16)
7. 其他信息
有相关bug 的背景信息,可以在这里说明
[bug]
lijiarui commented
请给出复现代码,而非padchat 的内部代码。