# Commands Commands are functions which pull from app state to publish events on behalf of the user. Most are async and return a thunk ## Relay Management (NIP 65) ```typescript removeRelay(url: string, mode: RelayMode): Promise addRelay(url: string, mode: RelayMode): Promise ``` ## Messaging Relay Management (NIP 17) ```typescript removeMessagingRelay(url: string): Promise addMessagingRelay(url: string): Promise ``` ## Profile Management (NIP 01) ```typescript setProfile(profile: Profile): Thunk ``` ## Follow Management (NIP 02) ```typescript unfollow(value: string): Promise follow(tag: string[]): Promise ``` ## Mute Management ```typescript unmute(value: string): Promise mutePublicly(tag: string[]): Promise mutePrivately(tag: string[]): Promise setMutes(options: { publicTags?: string[][] privateTags?: string[][] }): Promise ``` ## Pin Management ```typescript unpin(value: string): Promise pin(tag: string[]): Promise ``` ## Wrapped Messages (NIP 59) ```typescript type SendWrappedOptions = Omit & { event: EventTemplate recipients: string[] } sendWrapped(options: SendWrappedOptions): Promise ``` ## Relay Management (NIP 86) ```typescript manageRelay(url: string, request: ManagementRequest): Promise ``` ## Room Management (NIP 29) ```typescript createRoom(url: string, room: RoomMeta): Thunk deleteRoom(url: string, room: RoomMeta): Thunk editRoom(url: string, room: RoomMeta): Thunk joinRoom(url: string, room: RoomMeta): Thunk leaveRoom(url: string, room: RoomMeta): Thunk ```