skeeter
This adds the ability to post to Bluesky (aka skeets). It will parseURLs from post text and add links if desired, and will upload images
as well
Installation
dagger install github.com/jghiloni/atproto-utils/skeeter@v0.1.1
Entrypoint
Return Type
Skeeter !
Arguments
Name | Type | Description |
---|---|---|
pdsUrl | String | Custom PDS URL (defaults to https://bsky.social) |
username | String | bsky username (without the leading @) |
appPassword | Secret | bsky app password. get an app password at https://bsky.app/settings/app-passwords |
Example
dagger -m github.com/jghiloni/atproto-utils/skeeter@0f54d4713b0b2fdf0d7d7e573e3eba069fee2048 call \
func (m *myModule) example() *Skeeter {
return dag.
Skeeter()
}
@function
def example() -> dag.Skeeter:
return (
dag.skeeter()
)
@func()
example(): Skeeter {
return dag
.skeeter()
}
Types
Skeeter 🔗
The struct represents the information necessary to post to Bluesky
withCustomPdsurl() 🔗
Sets the bluesky custom Personal Data Server URL
Return Type
Skeeter !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
pdsUrl | String ! | - | No description provided |
Example
dagger -m github.com/jghiloni/atproto-utils/skeeter@0f54d4713b0b2fdf0d7d7e573e3eba069fee2048 call \
with-custom-pdsurl --pds-url string
func (m *myModule) example(pdsUrl string) *Skeeter {
return dag.
Skeeter().
WithCustomPdsurl(pdsUrl)
}
@function
def example(pds_url: str) -> dag.Skeeter:
return (
dag.skeeter()
.with_custom_pdsurl(pds_url)
)
@func()
example(pdsUrl: string): Skeeter {
return dag
.skeeter()
.withCustomPdsurl(pdsUrl)
}
withUsername() 🔗
Sets the bluesky username
Return Type
Skeeter !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
username | String ! | - | No description provided |
Example
dagger -m github.com/jghiloni/atproto-utils/skeeter@0f54d4713b0b2fdf0d7d7e573e3eba069fee2048 call \
with-username --username string
func (m *myModule) example(username string) *Skeeter {
return dag.
Skeeter().
WithUsername(username)
}
@function
def example(username: str) -> dag.Skeeter:
return (
dag.skeeter()
.with_username(username)
)
@func()
example(username: string): Skeeter {
return dag
.skeeter()
.withUsername(username)
}
withAppPassword() 🔗
Sets the app password for a bluesky user (see https://bsky.app/settings/app-passwords)
Return Type
Skeeter !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
appPassword | Secret ! | - | No description provided |
Example
dagger -m github.com/jghiloni/atproto-utils/skeeter@0f54d4713b0b2fdf0d7d7e573e3eba069fee2048 call \
with-app-password --app-password env:MYSECRET
func (m *myModule) example(appPassword *Secret) *Skeeter {
return dag.
Skeeter().
WithAppPassword(appPassword)
}
@function
def example(app_password: dagger.Secret) -> dag.Skeeter:
return (
dag.skeeter()
.with_app_password(app_password)
)
@func()
example(appPassword: Secret): Skeeter {
return dag
.skeeter()
.withAppPassword(appPassword)
}
publish() 🔗
Creates (and maybe publishes) a Bluesky post, or skeet
Return Type
String !
Arguments
Name | Type | Default Value | Description |
---|---|---|---|
postText | String ! | - | The text to post to Bluesky |
parseLinks | Boolean | true | If true, parse text and convert URLs to hyperlinks |
publish | Boolean | true | If false, do not publish the skeet. If this is false, the value returned will be the post serialized to JSON |
images | [File ! ] | - | Any images listed will be uploaded to bluesky and embedded |
Example
dagger -m github.com/jghiloni/atproto-utils/skeeter@0f54d4713b0b2fdf0d7d7e573e3eba069fee2048 call \
publish --post-text string
func (m *myModule) example(ctx context.Context, postText string) string {
return dag.
Skeeter().
Publish(ctx, postText)
}
@function
async def example(post_text: str) -> str:
return await (
dag.skeeter()
.publish(post_text)
)
@func()
async example(postText: string): Promise<string> {
return dag
.skeeter()
.publish(postText)
}