package Dakkar::NotesArchive; use v5.36; use Moo; use experimental 'builtin'; use PerlX::Maybe; use Dakkar::Misskey; use Types::Standard qw(Str InstanceOf); use namespace::clean; has [qw(base_url token user_id)] => ( is => 'ro', required => 1, isa => Str, ); has client => ( is => 'lazy', isa => InstanceOf['Dakkar::Misskey'], ); sub _build_client($self) { my $nt = Dakkar::Misskey->new({ base_url => $self->base_url, token => $self->token, }); } sub timeline($self, $since_id, $cb=undef) { return $self->client->timeline({ maybe sinceId => $since_id, includeMyRenotes => \1, includeLocalRenotes => \1, includeRenotedMyNotes => \0, }, $cb); } sub following($self) { return [ map { $_->{followee} } $self->client->following($self->user_id)->@* ]; } sub followers($self) { return [ map { $_->{follower} } $self->client->followers($self->user_id)->@* ]; } 1;