import {AppBskyActorDefs} from '@atproto/api' export function canBeMessaged(profile: AppBskyActorDefs.ProfileView) { switch (profile.associated?.chat?.allowIncoming) { case 'none': return false case 'all': return true // if unset, treat as following case 'following': case undefined: return Boolean(profile.viewer?.followedBy) // any other values are invalid according to the lexicon, so // let's treat as false to be safe default: return false } }