Searching Treechat
Treechat has a powerful Google-style search that lets you find conversations, filter by user, content type, date, and more. This guide will show you how to search like a pro.
Common Search Tasks
Finding Posts by a User
To find all posts by a specific user, use from:username:
from:alice bitcoinThis finds all posts by alice mentioning bitcoin.
You can OR multiple users together by comma-separating them:
from:alice,bob ethereumThis returns posts where either alice or bob is the root author.
ℹ️
from:always matches the quest’s parent author. Replies/comments from a user do not make a quest show up unless they created the root post.
Finding Recent Conversations
Use date filters to find recent content:
after:2025-09-01 AIOr find older content:
before:2024-01-01 cryptocurrencyCombine them for date ranges:
after:2025-09-01 before:2025-10-01 blockchainFinding Content by Type
Search for posts with specific media types:
- Videos:
has:video machine learning - Images:
has:image infographic - Links:
has:url bitcoin - Tweets:
has:tweet elon musk - Any media:
has:media
Finding Popular Content
Use upvalue (Bitcoin SV tips) to find valuable content:
upvalue:>=1000 technologyOr by upvote count:
upvote:>50 cryptocurrencySearching Within Teams/Streams
Filter by specific teams or streams:
stream:bitcoin market analysisSearch multiple streams:
stream:bitcoin,ethereum DeFiSearch teams with spaces in names:
stream:"Bitcoin Discussion" market analysisSearch multiple teams with mixed quoting:
stream:"Team A","Team B",unquoted DeFiSpecial pseudostreams:
stream:public- Public feedstream:private- Your private postsstream:clips- Clips
Exact Phrases and Exclusions
Require an exact phrase:
+"nakamoto consensus" bitcoinExclude content:
cryptocurrency -scam -fraudCombine them:
stream:bitcoin +"proof of work" -BCHSorting Results
Change how results are ranked:
- Newest first:
sort:new - Most relevant:
sort:relevance - Trending:
sort:hot - Most upvalued:
sort:top
Example:
stream:technology AI sort:hotComplete Operator Reference
User Filters
from:username
Filter posts by a specific user (case-insensitive username lookup).
Quote support: Use quotes for usernames with spaces: from:"User Name"
Compound values: Comma-separate usernames to OR them together:
from:alice,bob– posts where alice OR bob is the parent authorfrom:"Jane Doe","John Smith"– parent author matching either quoted name
Examples:
from:alice- All posts by alicefrom:"John Doe"- User with spaces in name (requires quotes)from:bob bitcoin- Bob’s bitcoin posts
Stream/Team Filters
stream:team_name
Filter by teams/streams. Supports comma-separated values.
Quote support for names with spaces:
stream:"Team With Spaces"- Single team with spacesstream:"Team A","Team B",unquoted- Mixed quoted and unquoted- Works with
from:and other operators
Compound search logic:
- Multiple streams use OR logic:
stream:A,Breturns posts from stream A OR stream B - Multiple operators use AND logic:
stream:A from:userreturns posts in A AND by user
Standard streams:
stream:bitcoinstream:bitcoin,ethereum- Multiple streams (OR logic)
Pseudostreams:
stream:publicorstream:home- Public feedstream:private- Your private postsstream:clipsorstream:clip- Clips
Examples:
stream:bitcoin,ethereum AIstream:"Bitcoin Discussion",ethereum,"DeFi Projects"stream:public has:videostream:clips from:alice
Date Filters
before:YYYY-MM-DD
Find posts created before a date.
Example: before:2025-10-01
after:YYYY-MM-DD
Find posts created after a date.
Example: after:2025-09-01
Date Ranges
Combine both for date ranges.
Example: after:2025-09-01 before:2025-10-01
Content Type Filters
has:video
Find posts with video attachments.
Example: has:video machine learning
has:image
Find posts with images.
Example: has:image infographic
has:url or has:link
Find posts containing URLs (including embedded tweets).
Example: has:url bitcoin
has:tweet
Find posts with embedded tweets.
Example: has:tweet elon musk
has:media
Find posts with any media (video, image, url, or tweet).
Example: has:media
Visibility Filters
is:public
Show only public posts.
Example: is:public has:video
is:private
Show only your private posts.
Example: is:private has:image
is:clip
Show only clips.
Example: is:clip from:alice
Value Filters
upvote:[operator]value
Filter by upvote count.
Operators: =, >, >=, <, <=
Examples:
upvote:10orupvote:=10- Exactly 10 upvotesupvote:>10- More than 10 upvotesupvote:>=10- 10 or more upvotesupvote:<10- Less than 10 upvotesupvote:<=10- 10 or fewer upvotes
Example: upvote:>=10 has:url
upvalue:[operator]value
Filter by Bitcoin SV upvalue (in satoshis).
Uses same operators as upvote.
Examples:
upvalue:>=1000- 1000+ satoshisupvalue:>5000 technology- High-value tech posts
Sort Operators
sort:new
Sort by newest first (chronological).
Aliases: sort:time, sort:recency
Example: sort:new bitcoin
sort:relevance
Sort by text relevance with engagement signals.
Aliases: sort:relev
Example: sort:relevance AI
sort:hot
Sort by trending (time-decayed engagement).
Aliases: sort:trending
Example: sort:hot cryptocurrency
sort:top
Sort by most upvoted/upvalued.
Aliases: sort:upvote, sort:upvalue
Example: sort:top has:video
Note: If multiple sort operators are present, the last one wins.
Required/Excluded Content
+"exact phrase"
Require an exact phrase.
Example: +"nakamoto consensus"
-"unwanted phrase"
Exclude posts with this phrase.
Example: bitcoin -"price prediction"
+requiredword
Require a specific word (unquoted).
Example: +bitcoin +blockchain technology
-excludedword
Exclude posts with a word.
Example: cryptocurrency -scam -fraud
Combine multiple:
stream:bitcoin +"nakamoto consensus" -scam +decentralizationComplex Quote and Compound Usage
Mixed quoted and unquoted streams:
stream:"Bitcoin Discussion",ethereum,"DeFi Projects"Searches three teams: “Bitcoin Discussion” (quoted), “ethereum” (unquoted), and “DeFi Projects” (quoted).
Complex multi-operator search:
stream:"Team A","Team B",unquoted from:"User Name" has:video sort:hotFinds videos from user “User Name” in any of the three teams, sorted by trending.
Quote handling rules:
- Use quotes when names contain spaces
- Mix quoted and unquoted values in comma-separated lists
- Quotes are optional for single-word names
Operator Logic
Within an operator (OR logic):
stream:A,B,C- Returns posts from A OR B OR Cfrom:alice,bob- Returns posts where alice OR bob is the parent author- Multiple values are combined with OR
Between operators (AND logic):
stream:A from:user- Returns posts in A AND by user- Different operators are combined with AND
Example:
stream:bitcoin,ethereum from:alice- Returns: Posts by alice in (bitcoin OR ethereum)
- Logic: (stream=bitcoin OR stream=ethereum) AND from=alice
Real-World Examples
Find User Content with Filters
from:alice has:video before:2025-10-01All video posts by alice before October 1, 2025.
Multi-Stream Search
stream:bitcoin,ethereum +"nakamoto consensus" -scamBitcoin or Ethereum streams with exact phrase, excluding scams.
Public Video Content
is:public has:video sort:hotTrending public video posts.
Popular Posts with Links
upvote:>=10 has:url after:2025-09-01 sort:top AIHighly upvoted AI posts with URLs from September 2025 onwards, sorted by upvotes.
Private Images from User
is:private has:image from:bobBob’s private image posts.
Complex Multi-Filter Search
stream:technology upvote:>50 has:video +"machine learning" -hype after:2025-01-01 sort:relevanceTechnology stream, highly upvoted videos with exact phrase “machine learning”, excluding “hype”, from 2025 onwards, sorted by relevance.
How Search Works
Filter Extraction
All operators are extracted from your query. The remaining text becomes a free-form search.
Example: from:alice bitcoin mining
- User filter: alice
- Free-form query: “bitcoin mining”
Case Sensitivity
- User lookups: Case-insensitive
- Team/stream lookups: Case-insensitive
- Filter keywords: Case-insensitive
- Free-form search text: Original case preserved (analyzed by search engine)
Caching
User and team lookups are cached per request for performance.
Error Handling
The search returns errors for:
- User not found:
from:nonexistent_user - Stream not found:
stream:invalid_name - Ambiguous stream:
stream:name(when multiple matches exist) - Invalid date format:
before:2025-13-45 - Invalid numeric value:
upvote:notanumber - Negative numeric values:
upvote:-5
All errors include descriptive messages to help you fix your query.