Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        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) }");
        }