enbas/docs/manual.md

358 lines
12 KiB
Markdown

<!--
SPDX-FileCopyrightText: 2024 Dan Anglin <d.n.i.anglin@gmail.com>
SPDX-License-Identifier: CC-BY-4.0
-->
# User Manual
## Version
### Print the application version
View the application's version and build information
```
enbas version --full
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `full` | boolean | false | Prints the full build information. | false |
## Authentication
### Logging into an account
Log into your GoToSocial account. You can run this multiple times to log into multiple accounts.
```
enbas login --instance gts.enbas-demo.private
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `instance` | string | true | The instance that you wan to log into. | |
### Switch between accounts
Switch between your logged in accounts.
```
enbas switch --to account --account-name vincent@gts.enbas-demo.private
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `to` | string | true | The resource you want to switch to. In this case you want `account`. | |
| `account-name` | string | true | The name of the account you want to switch to. | |
### See the account that you are currently logged in as
```
enbas whoami
```
## Accounts
### View your own account
Print the information of your own account.
```
enbas show --type account --my-account
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `type` | string | true | The resource you want to view. In this case you want `account`. | |
| `my-account` | boolean | true | Use this flag to view your own account. | |
| `show-preferences` | boolean | false | Show your posting preferences. | false |
### View an account
Prints the information of a local or a remote account.
If the account is unknown by your instance a `404` message will be returned.
```
enbas show --type account --account-name @name@example.social
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `type` | string | true | The resource you want to view. In this case you want `account`. | |
| `account-name` | string | true | The name of the account to view. | |
| `skip-relationship` | boolean | false | Set to `true` to skip viewing your relationship to the account you are viewing. | false |
### Follow an account
Send a follow request to the account you want to follow.
```
enbas follow --type account --account-name @name@example.social
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `type` | string | true | The resource you want to follow. In this case you want `account`. | |
| `account-name` | string | true | The name of the account to follow. | |
| `show-reposts` | boolean | false | Show reposts from the account you want to follow. | true |
| `notify` | boolean | false | Get notifications when the account you want to follow posts a status. | false |
### Unfollow an account
Unfollow the account that you are currently following.
If you have a follow request pending for the account in question,
performing an unfollow action will remove said follow request.
```
enbas unfollow --type account --account-name @name@example.social
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `type` | string | true | The resource you want to unfollow. In this case you want `account`. | |
| `account-name` | string | true | The name of the account to unfollow. | |
### Block an account
```
enbas block --type account --account-name @name@example.social
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `type` | string | true | The resource you want to block. In this case you want `account`. | |
| `account-name` | string | true | The name of the account to block. | |
### Unblock an account
```
enbas unblock --type account --account-name @name@example.social
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `type` | string | true | The resource you want to unblock. In this case you want `account`. | |
| `account-name` | string | true | The name of the account to unblock. | |
### View blocked accounts
Prints a list of accounts that you are currently blocking.
```
enbas show --type blocked
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `type` | string | true | The resource you want to view.<br>Here this should be `blocked` for blocked accounts. | |
| `limit` | integer | false | The maximum number of accounts to list. | 20 |
### Mute an account
```
enbas mute --type account --account-name @name@example.social --mute-notifications --mute-duration="1h"
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `type` | string | true | The resource you want to mute.<br>Here this should be `account`. | |
| `account-name` | string | true | The name of the account to mute. | |
| `mute-notifications` | boolean | false | Set to `true` to mute notifications as well as statuses. | false |
| `mute-duration` | string | false | Specify how long the account should be muted for.<br>Set to `0s` to mute indefinitely | 0s (indefinitely) |
### Unmute an account
```
enbas unmute --type account --account-name @name@example.social
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `type` | string | true | The resource you want to unmute.<br>Here this should be `account`. | |
| `account-name` | string | true | The name of the account to unmute. | |
### View muted accounts
Prints a list of accounts that you have muted.
```
enbas show --type muted-accounts
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `type` | string | true | The resource you want to view.<br>Here this should be `muted-accounts`. | |
| `limit` | integer | false | The maximum number of accounts to list. | 20 |
## Statuses
### View a status
### Create a status
- Create a one line status
- Create a status from a file
- Create a status with a poll
### Delete a status
_Not yet implemented_
### Boost (Repost) a status
To boost a status you simply add a `boost` to it.
### Un-boost (Un-repost) a status
To un-boost a status that you've boosted you simply remove the `boost` from it.
### Like a status
To like (favourite) a status you simply add a `like` or a `star` to it.
### Unlike a status
To unlike (un-favourite) a status that you've previously liked you simply remove the `like` or `star` from it.
## Polls
### View a poll
### Vote in a poll
## Timelines
## Lists
### Create a list
```
enbas create --type list --list-title "My Favourite People" --list-replies-policy list
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `type` | string | true | The resource you want to create.<br>Here this should be `list`. | |
| `list-title` | string | true | The title of the list that you want to create. | |
| `list-replies-policy` | string | false | The policy of the replies for this list.<br>Valid values are `followed`, `list` and `none`. | list |
### View a list of your lists
```
enbas show --type list
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `type` | string | true | The resource you want to view.<br>Here this should be `list`. | |
### View a specific list
Prints the information of the specified list to screen along with all the accounts added to it (if any).
```
enbas show --type list --list-id 01J1T9DWR20DC36QWZFKHWZJ3H
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `type` | string | true | The resource you want to view.<br>Here this should be `list`. | |
| `list-id` | string | false | The ID of the list you want to view. If this is not specified then a list of your lists will be printed instead. | |
### Edit a list
Edits the title and/or the replies policy of a list.
```
enbas edit --type list --list-id 01J1T9DWR20DC36QWZFKHWZJ3H --list-title "My Favourite People (in the world)"
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `type` | string | true | The resource you want to edit.<br>Here this should be `list`. | |
| `list-title` | string | false | The title of the list that you want to edit. | |
| `list-replies-policy` | string | false | The policy of the replies for this list that you want to change to.<br>Valid values are `followed`, `list` and `none`. | |
### Delete a list
Deletes a list.
```
enbas delete --type list --list-id 01J1T9DWR20DC36QWZFKHWZJ3H
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `type` | string | true | The resource you want to delete.<br>Here this should be `list`. | |
| `list-id` | string | true | The ID of the list you want to delete. | |
### Add accounts to a list
Adds one or more accounts to a list.
```
enbas add --type account --account-name @name@example.social --account-name @person@mastodon.example --to list --list-id 01J1T9DWR20DC36QWZFKHWZJ3H
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `type` | string | true | The resource you want to add.<br>Here this should be `account`. | |
| `account-name` | string | true | The name of the account you want to add to the list.<br>Use multiple times to specify multiple accounts. | |
| `to` | string | true | The resource you want to add the accounts to.<br>Here this should be `list`. | |
| `list-id` | string | true | The ID of the list that you want to add the accounts to. | |
### Remove accounts from a list
Removes one or more accounts from a list.
```
enbas remove --type account --account-name @person@mastodon.example --from list --list-id 01J1T9DWR20DC36QWZFKHWZJ3H
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `type` | string | true | The resource you want to add.<br>Here this should be `account`. | |
| `account-name` | string | true | The name of the account you want to remove from the list.<br>Use multiple times to specify multiple accounts. | |
| `to` | string | true | The resource you want to remove the accounts from.<br>Here this should be `list`. | |
| `list-id` | string | true | The ID of the list that you want to remove the accounts from. | |
## Bookmarks
### View your bookmarks
Prints a list of statuses that you have bookmarked.
```
enbas show --type bookmarks
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `type` | string | true | The resource you want to view.<br>Here this should be `bookmarks`. | |
| `limit` | integer | false | The maximum number of bookmarks to show. | 20 |
### Add a status to your bookmarks
```
enbas add --type status --status-id 01J17FH1KD9CN6J9Q01011NE0D --to bookmarks
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `type` | string | true | The resource you want to add.<br>Here this should be `status`. | |
| `status-id` | string | true | The ID of the status. | |
| `to` | string | true | The resource you want to add the status to.<br>Here this should be `bookmarks`. | |
### Remove a status from your bookmarks
```
enbas remove --type status --status-id 01J17FH1KD9CN6J9Q01011NE0D --from bookmarks
```
| flag | type | required | description | default |
|------|------|----------|-------------|---------|
| `type` | string | true | The resource you want to remove.<br>Here this should be `status`. | |
| `status-id` | string | true | The ID of the status. | |
| `from` | string | true | The resource you want to remove the status to.<br>Here this should be `bookmarks`. | |