Dagger
Search

skeeter

This adds the ability to post to Bluesky (aka skeets). It will parse
URLs 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
NameTypeDescription
pdsUrlString Custom PDS URL (defaults to https://bsky.social)
usernameString bsky username (without the leading @)
appPasswordSecret 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
NameTypeDefault ValueDescription
pdsUrlString !-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
NameTypeDefault ValueDescription
usernameString !-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
NameTypeDefault ValueDescription
appPasswordSecret !-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
NameTypeDefault ValueDescription
postTextString !-The text to post to Bluesky
parseLinksBoolean trueIf true, parse text and convert URLs to hyperlinks
publishBoolean trueIf 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)
}