NAME

Bluesky - Extra Sweet Bluesky Client Library in Perl

SYNOPSIS

use Bluesky;
my $bsky = Bluesky->new( identifier => 'sanko', password => '1111-2222-3333-4444');
$bsky->block( 'sankor.bsky.social' );
$bsky->unblock( 'sankor.bsky.social' );
# To be continued...

DESCRIPTION

You shouldn't need to know the AT protocol in order to get things done so I'm including this sugary wrapper so that At and At::Bluesky can remain mostly technical.

Methods

As a subclass of At::Bluesky, see that module for inherited methods. If you'd like to use those inherited methods directly, go ahead.

new( ... )

Bluesky->new( identifier => 'sanko', password => '1111-2222-3333-4444' );

Expected parameters include:

identifier - required

Handle or other identifier supported by the server for the authenticating user.

password - required

This is the app password not the account's password. App passwords are generated at https://bsky.app/settings/app-passwords.

block( ... )

$bsky->block( 'sankor.bsky.social' );

Blocks a user.

Expected parameters include:

identifier - required

Handle or DID of the person you'd like to block.

Returns a true value on success.

unblock( ... )

$bsky->unblock( 'sankor.bsky.social' );

Unblocks a user.

Expected parameters include:

identifier - required

Handle or DID of the person you'd like to block.

Returns a true value on success.

post( ... )

$bsky->post( text => 'Hello, world!' );

Create a new post.

Expected parameters include:

text - required

Text content of the post. Must be 300 characters or fewer.

Note: This method will grow to support more features in the future.

Returns the CID and AT-URI values on success.

delete( ... )

$bsky->delete( 'at://...' );

Delete a post.

Expected parameters include:

url - required

The AT-URI of the post.

Returns a true value on success.

LICENSE

Copyright (C) Sanko Robinson.

This library is free software; you can redistribute it and/or modify it under the terms found in the Artistic License 2. Other copyrights, terms, and conditions may apply to data transmitted through this module.

AUTHOR

Sanko Robinson <sanko@cpan.org>