/// <summary> /// search <see cref="Contact"/> by <paramref name="query"/> /// </summary> /// <param name="query"></param> /// <returns></returns> public async Task <Contact?> Search([DisallowNull] FriendshipSearchCondition query) { if (Logger.IsEnabled(LogLevel.Trace)) { Logger.LogTrace($"search{JsonConvert.SerializeObject(query)}"); } var contactId = await Puppet.FriendshipSearch(query); if (string.IsNullOrWhiteSpace(contactId)) { return(null); } var contact = WechatyInstance.Contact.Load(contactId); await contact.Ready(); return(contact); }
public async Task <string?> FriendshipSearch(FriendshipSearchCondition searchQueryFilter) { if (Logger.IsEnabled(LogLevel.Trace)) { Logger.LogTrace($"friendshipSearch({JsonConvert.SerializeObject(searchQueryFilter)})"); } if (!string.IsNullOrWhiteSpace(searchQueryFilter.Phone)) { return(await FriendshipSearchPhone(searchQueryFilter.Phone)); } else if (!string.IsNullOrWhiteSpace(searchQueryFilter.Weixin)) { return(await FriendshipSearchWeixin(searchQueryFilter.Weixin)); } throw new ArgumentException($"unknown key from searchQueryFilter: {JsonConvert.SerializeObject(searchQueryFilter) }"); }