The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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.

follow( ... )

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

Follow a user.

Expected parameters include:

identifier - required

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

Returns a true value on success.

unfollow( ... )

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

Unfollows a user.

Expected parameters include:

identifier - required

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

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.

profile( ... )

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

Gathers profile data.

Expected parameters include:

identifier - required

Handle or DID of the person you'd like information on.

Returns a hash of data on success.

See Also

App::bsky - Bluesky client on the command line

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>