微信Wechaty框架中Friendship类引入失败问题咨询
解决Wechaty中Friendship导入失败的问题
问题原因
你遇到的报错是因为Wechaty版本更新后,Friendship不再作为顶层导出项,直接从wechaty包解构导入会找不到这个导出。
正确使用方式
1. 无需手动导入,通过事件回调获取实例
在JavaScript中,处理好友请求时,Friendship实例会通过friendship事件的参数直接传入,不需要提前导入:
import { WechatyBuilder, ScanStatus, log } from 'wechaty' const bot = WechatyBuilder.build() bot.on('friendship', async (friendship) => { // 这里的friendship就是Friendship类的实例,直接使用即可 if (friendship.type() === friendship.Type.Receive) { // 处理好友请求逻辑 await friendship.accept() log.info('已接受好友请求') } }) bot.start()
2. 若需类型定义(TypeScript场景)
如果是用TypeScript需要类型标注,正确的导入方式是使用类型导入:
import { WechatyBuilder, ScanStatus, log } from 'wechaty' import type { Friendship } from 'wechaty' bot.on('friendship', async (friendship: Friendship) => { // 类型标注后正常使用 })
额外说明
- 检查你的Wechaty版本:运行
npm list wechaty查看版本,v1.x及以上版本都采用这种方式,不再支持顶层导入Friendship。 - 不需要手动实例化Friendship,所有相关操作都通过事件回调的实例完成。
内容的提问来源于stack exchange,提问作者justice
相关产品推荐
相关产品推荐

