How to use the wechaty-puppet.ContactType.Personal function in wechaty-puppet

To help you get started, we’ve selected a few wechaty-puppet examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github wechaty / wechaty / src / puppet-padchat / pure-function-helpers / contact-raw-payload-parser.ts View on Github external
*  ticket: '',
     *  user_name: '' }
     */
    // console.log(rawPayload)
    throw Error('cannot get user_name from raw payload: ' + JSON.stringify(rawPayload))
  }

  if (isRoomId(rawPayload.user_name)) {
    throw Error('Room Object instead of Contact!')
  }

  let contactType = ContactType.Unknown
  if (isContactOfficialId(rawPayload.user_name)) {
    contactType = ContactType.Official
  } else {
    contactType = ContactType.Personal
  }

  const payload: ContactPayload = {
    alias     : rawPayload.remark,
    avatar    : rawPayload.big_head,
    city      : rawPayload.city,
    gender    : rawPayload.sex,
    id        : rawPayload.user_name,
    name      : rawPayload.nick_name,
    province  : rawPayload.provincia,
    signature : (rawPayload.signature).replace('+', ' '),          // Stay+Foolish
    type      : contactType,
  }

  return payload
}
github wechaty / wechaty-puppet-padplus / src / pure-function-helpers / contact-raw-payload-parser.ts View on Github external
*  ticket: '',
     *  user_name: '' }
     */
    // console.log(rawPayload)
    throw Error('cannot get user_name from raw payload: ' + JSON.stringify(rawPayload))
  }

  if (isRoomId(rawPayload.userName)) {
    throw Error('Room Object instead of Contact!')
  }

  let contactType = ContactType.Unknown
  if (isContactOfficialId(rawPayload.userName) || rawPayload.verifyFlag !== 0) {
    contactType = ContactType.Official
  } else {
    contactType = ContactType.Personal
  }
  let friend = false
  if (rawPayload.stranger && rawPayload.stranger !== '0' && rawPayload.verifyFlag === 0) {
    friend = true
  }
  const payload: ContactPayload = {
    alias     : rawPayload.remark,
    avatar    : rawPayload.bigHeadUrl,
    city      : rawPayload.city,
    friend,
    gender    : rawPayload.sex,
    id        : rawPayload.userName,
    name      : rawPayload.nickName,
    province  : rawPayload.province,
    signature : (rawPayload.signature).replace('+', ' '),          // Stay+Foolish
    type      : contactType,
github wechaty / wechaty / src / puppet-padchat / pure-function-helpers / contact-raw-payload-parser.spec.ts View on Github external
remark            : '',
    remark_py_initial : '',
    remark_quan_pin   : '',
    sex               : 0,
    signature         : 'CARPE+DIEM+-+if+not+us,+who?+if+not+now,+when?',
    small_head        : 'http://wx.qlogo.cn/mmhead/ver_1/TR8EDh3MgMsu20pxjrDPBpaGySuEAGf3MUuoeUOV2LiaqvZxeMqb1U7hgiciaQZBC8LYN0boVLCKOIYg71pxdl1fQabiaxsn7CnNeGWVrK3jSIY/132',
    status            : 0,
    stranger          : 'v1_cd6656d42f505e5ffbb7eab65fed448fc8f02eade29a873ec3e758c7553db424@stranger',
    ticket            : '',
    user_name         : 'gh_59d7c8ad720c',
  }

  const EXPECTED_CONTACT_PAYLOAD_PERSONAL: ContactPayload = {
    id        : 'mengjunjun001',
    gender    : ContactGender.Female,
    type      : ContactType.Personal,
    alias     : '女儿',
    avatar    : 'http://wx.qlogo.cn/mmhead/ver_1/xfCMmibHH74xGLoyeDFJadrZXX3eOEznPefiaCa3iczxZGMwPtDuSbRQKx3Xdm18un303mf0NFia3USY2nO2VEYILw/0',
    city      : 'Haidian',
    name      : '梦君君',
    province  : 'Beijing',
    signature : 'Stay Foolish',
  }

  const EXPECTED_CONTACT_PAYLOAD_OFFICIAL: ContactPayload = {
    id        : 'gh_59d7c8ad720c',
    gender    : ContactGender.Unknown,
    type      : ContactType.Official,
    alias     : '',
    avatar    : 'http://wx.qlogo.cn/mmhead/ver_1/TR8EDh3MgMsu20pxjrDPBpaGySuEAGf3MUuoeUOV2LiaqvZxeMqb1U7hgiciaQZBC8LYN0boVLCKOIYg71pxdl1fQabiaxsn7CnNeGWVrK3jSIY/0',
    city      : 'Haidian',
    name      : '李卓桓',
github wechaty / wechaty-puppet-padplus / src / pure-function-helpers / contact-raw-payload-parser.spec.ts View on Github external
ticket               : '',
    userName             : 'wxid_v7j3e9kna9l912',
    verifyFlag           : 0,
  }

  const EXPECTED_CONTACT_PAYLOAD_PERSONAL: ContactPayload = {
    alias     : '',
    avatar    : 'http://wx.qlogo.cn/mmhead/KDLS0fhbCTJ0H7wsWRiaeMdibHvaeoZw1jQScfCqfVaPM/132',
    city      : 'Haidian',
    friend    : true,
    gender    : ContactGender.Male,
    id        : 'lylezhuifeng',
    name      : '高原ོ',
    province  : 'Beijing',
    signature : '',
    type      : ContactType.Personal,
    weixin    : 'lylezhuifeng',
  }

  const EXPECTED_CONTACT_PAYLOAD_OFFICIAL: ContactPayload = {
    alias     : '',
    avatar    : 'http://wx.qlogo.cn/mmhead/ver_1/icxUZE0qz1c1HubRfXHscMA1PialA7q3OEIWiaRtUjYmpj2EDFhTNGwlicUFe1NQR67gVGgjhILV1ZTsZ1qO3XTMehhH1k6icF1adbaibUMJXbMWk/132',
    city      : 'Fengtai',
    friend    : true,
    gender    : ContactGender.Female,
    id        : 'wxid_v7j3e9kna9l912',
    name      : '李青青',
    province  : 'Beijing',
    signature : '',
    type      : ContactType.Personal,
    weixin    : 'wxid_v7j3e9kna9l912',
  }
github wechaty / wechaty-puppet-padplus / src / pure-function-helpers / contact-raw-payload-parser.spec.ts View on Github external
signature : '',
    type      : ContactType.Personal,
    weixin    : 'lylezhuifeng',
  }

  const EXPECTED_CONTACT_PAYLOAD_OFFICIAL: ContactPayload = {
    alias     : '',
    avatar    : 'http://wx.qlogo.cn/mmhead/ver_1/icxUZE0qz1c1HubRfXHscMA1PialA7q3OEIWiaRtUjYmpj2EDFhTNGwlicUFe1NQR67gVGgjhILV1ZTsZ1qO3XTMehhH1k6icF1adbaibUMJXbMWk/132',
    city      : 'Fengtai',
    friend    : true,
    gender    : ContactGender.Female,
    id        : 'wxid_v7j3e9kna9l912',
    name      : '李青青',
    province  : 'Beijing',
    signature : '',
    type      : ContactType.Personal,
    weixin    : 'wxid_v7j3e9kna9l912',
  }

  const resultPersonal = contactRawPayloadParser(PADPLUS_CONTACT_PAYLOAD_PERSONAL)
  t.deepEqual(resultPersonal, EXPECTED_CONTACT_PAYLOAD_PERSONAL, 'should parse ContactPayload for male account payload')

  const resultOfficial = contactRawPayloadParser(PADPLUS_CONTACT_PAYLOAD_OFFICIAL)
  t.deepEqual(resultOfficial, EXPECTED_CONTACT_PAYLOAD_OFFICIAL, 'should parse ContactPayload for female account payload')

  t.throws(() => contactRawPayloadParser({} as any), 'should throw exception for invalid object')
  t.throws(() => contactRawPayloadParser(undefined as any), 'should throw exception for undifined')
})