Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,16 @@ curl -L cpanmin.us | perl - Google::Voice
# Delete
$vm->delete;
}

# Delete Forever messages in Trash from Larry
foreach my $msg ($g->search('Larry')) {

next unless $msg->meta->{isTrash};

print $msg->name . "\n";
print "Labels: ", join(", ", @{$msg->meta->{labels}}), "\n";

# Delete Forever
$msg->deleteforever;
}

36 changes: 36 additions & 0 deletions lib/Google/Voice.pm
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ use Google::Voice::Feed;
use Google::Voice::Call;

use Mojo::Base -base;
use URI::Escape;

our $VERSION = 0.05;

Expand Down Expand Up @@ -90,6 +91,13 @@ for my $feed (
};
}

{
no strict 'refs';
*{"Google::Voice::search"} = sub {
shift->feed('https://www.google.com/voice/inbox/search?q='.uri_escape(shift));
};
}

sub feed {
my $self = shift;
my $url = shift;
Expand Down Expand Up @@ -179,8 +187,24 @@ Easy interface for google voice

# Delete
$vm->delete;

# And/or Delete Forever
$vm->deleteforever;
}

# Delete Forever messages in Trash from Larry
foreach my $msg ($g->search('Larry')) {

next unless $msg->meta->{isTrash};

print $msg->name . "\n";
print "Labels: ", join(", ", @{$msg->meta->{labels}}), "\n";

# Delete Forever
$msg->deleteforever;
}


=head1 METHODS

=head2 new
Expand Down Expand Up @@ -235,6 +259,18 @@ List of items marked as spam (call, sms, or voicemail)

List of all items (call, sms, or voicemail)

=head2 search

List of search results (call, sms, or voicemail)

=head2 delete

Delete message (remove all labels; move to Trash)

=head2 deleteforever

Delete message forever. Message does not need to be deleted first.

=head1 SEE ALSO

L<Mojo::UserAgent>, L<Mojo::DOM>
Expand Down
15 changes: 15 additions & 0 deletions lib/Google/Voice/Feed.pm
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,21 @@ sub delete {
return $json->{ok};
}

sub deleteforever {
my $self = shift;

my $json = $self->ua->post_form(
'https://www.google.com/voice/inbox/deleteForeverMessages' => {
messages => $self->id,
_rnr_se => $self->rnr_se
}
)->res->json;

$@ = $json->{data}->{code} and return unless $json->{ok};

return $json->{ok};
}

sub download {
my $self = shift;
my ($from, $to) = @_;
Expand Down