wechaty/wechaty-puppet-padchat

WXSearchContact 返回的 rawSearchPayLoad 中用户微信昵称中的 emoji 符号错误

Opened this issue · 1 comments

重要:请不要删除模板自行填写,所有不按照模板填写的issue,我们将不会处理。

0. 发 Issue 指南

  1. 请运行下面的命令,看问题是否可以被解决:
rm -rf package-lock.json
rm -rf node_modules
npm install
  1. 请在 FAQ 清单 看是否已有解决办法。

  2. 请先在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]

请给出复现代码,而非padchat 的内部代码。