Skip to content

room-join 事件下,无法通过contact.id 方法获取contact_id #54

@lijiarui

Description

@lijiarui

Please run npm run doctor and paste the output here

Wechaty Doctor

  1. Wechaty version: #git[fe60b3c code clean]
  2. Darwin x64 version 15.6.0 memory 4 GB
  3. Docker: false

Expected behavior

触发room-join event 时,获取当前机器人的contact.id

代码如下:

.on('room-join', (room, invitee, inviter) => {
  const user = bot.user()
  console.log(user.id)
})

Actual behavior

运行报错:

orangiss/testfun.ts(31,15): Object is possibly 'null'. (2531)

处理办法:

检查发现,虽然console.log(user.id)会运行报错,但是console.log(user)可以正常显示user内容。
user类型为Contact,理论上Contact.id 是可以成功获取到id的,但是在room-join事件触发时不可以。

进一步将代码修改为:

console.log((user as any).id)

可以成功的运行并获取到user.id

希望可以修复此bug。

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions