Kind: global class Properties
Name | Type | Description |
id |
| 获取联系人id,这个id 是否为永久唯一id 取决于你使用什么puppet,详见 Puppet 兼容性清单。 |
Contact
instance
.say(textOrContactOrFileOrUrl) ⇒ Promise
.name() ⇒ string
.alias(newAlias) ⇒ Promise
.friend() ⇒ boolean
| null
.type() ⇒ ContactType.Unknown
| ContactType.Personal
| ContactType.Official
.gender() ⇒ ContactGender.Unknown
| ContactGender.Male
| ContactGender.Female
.province() ⇒ string
| null
.city() ⇒ string
| null
.avatar() ⇒ Promise
.sync() ⇒ Promise
.self() ⇒ boolean
static
.find(query) ⇒ Promise
.findAll([queryArg]) ⇒ Promise
这个功能是否能实现取决于你使用的是哪一个Puppet, 详情参考:puppet兼容性列表
Kind: instance method of Contact
Example
const bot = new Wechaty()await bot.start()const contact = await bot.Contact.find({name: 'lijiarui'}) // change 'lijiarui' to any of your contact name in wechat// 1. send text to contactawait contact.say('welcome to wechaty!')// 2. send media file to contactimport { FileBox } from 'file-box'const fileBox1 = FileBox.fromUrl('https://chatie.io/wechaty/images/bot-qr-code.png')const fileBox2 = FileBox.fromFile('/tmp/text.txt')await contact.say(fileBox1)await contact.say(fileBox2)// 3. send contact card to contactconst contactCard = bot.Contact.load('contactId')await contact.say(contactCard)// 4. send url link to contactconst urlLink = new UrlLink ({description : 'this is url link description',thumbnailUrl: 'this is a thumbnail url',title : 'this is url link title',url : 'this is the url',})await contact.say(urlLink)
获取联系人的昵称
Kind: instance method of Contact
Example
const name = contact.name()
获取/设置/删除 好友的备注。
如果设置备注过于频繁,设置将会失效(比如1分钟设置60次)
Kind: instance method of Contact
Param | Type |
newAlias |
|
Example ( GET the alias for a contact, return {(Promise<string | null>)})
const alias = await contact.alias()if (alias === null) {console.log('You have not yet set any alias for contact ' + contact.name())} else {console.log('You have already set an alias for contact ' + contact.name() + ':' + alias)}
Example (SET the alias for a contact)
try {await contact.alias('lijiarui')console.log(`change ${contact.name()}'s alias successfully!`)} catch (e) {console.log(`failed to change ${contact.name()} alias!`)}
Example (DELETE the alias for a contact)
try {const oldAlias = await contact.alias(null)console.log(`delete ${contact.name()}'s alias successfully!`)console.log('old alias is ${oldAlias}`)} catch (e) {console.log(`failed to delete ${contact.name()}'s alias!`)}
判断这个联系人是否为机器人的好友
这个功能是否能实现取决于你使用的是哪一个Puppet, 详情参考:puppet兼容性列表
Kind: instance method of Contact
Returns: boolean
| null
-
True for friend of the bot
False for not friend of the bot, null for unknown.
Example
const isFriend = contact.friend()
获取好友的类型,是公众号还是普通还有。
ContactType 在这里是enum
Kind: instance method of Contact
Example
const bot = new Wechaty()await bot.start()const isOfficial = contact.type() === bot.Contact.Type.Official
获取联系人的性别
ContactGender在这里是 enum
Kind: instance method of Contact
Example
const gender = contact.gender() === bot.Contact.Gender.Male
获取联系人设置的省份信息
Kind: instance method of Contact
Example
const province = contact.province()
获取联系人设置的城市信息
Kind: instance method of Contact
Example
const city = contact.city()
获取联系人的头像
Kind: instance method of Contact
Example
// Save avatar to local file like `1-name.jpg`const file = await contact.avatar()const name = file.nameawait file.toFile(name, true)console.log(`Contact: ${contact.name()} with avatar file: ${name}`)
强制重新加载好友数据,会从低级别的 API 中重新同步一遍。
Kind: instance method of Contact
Example
await contact.sync()
检测好友是否是机器人自己。
Kind: instance method of Contact
Returns: boolean
- True for contact is self, False for contact is others
Example
const isSelf = contact.self()
通过类似这样的命令查找联系人: {name: string | RegExp} / {alias: string | RegExp}
支持通过昵称或者备注查找。如果查到不止一个联系人,返回找到的第一个。
Kind: static method of Contact
Returns: Promise.
- If can find the contact, return Contact, or return null
Param | Type |
query |
Example
const bot = new Wechaty()await bot.start()const contactFindByName = await bot.Contact.find({ name:"ruirui"} )const contactFindByAlias = await bot.Contact.find({ alias:"lijiarui"} )
通过name (昵称)或者alias(备注)查找联系人。
用 Contact.findAll() 获取机器人的所有联系人列表。
name
用户自己设置的昵称叫做name
alias
机器人给这个用户设置的昵称叫做alias
Kind: static method of Contact
Param | Type |
[queryArg] |
Example
const bot = new Wechaty()await bot.start()const contactList = await bot.Contact.findAll() // get the contact list of the botconst contactList = await bot.Contact.findAll({ name: 'ruirui' }) // find allof the contacts whose name is 'ruirui'const contactList = await bot.Contact.findAll({ alias: 'lijiarui' }) // find all of the contacts whose alias is 'lijiarui'
搜索联系人的方式
Kind: global typedef Properties
Name | Type | Description |
name |
| 用户自己设置的昵称叫做name |
alias |
| 机器人或者其他人给这个用户设置的昵称叫做alias:More Detail |