X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=scripts%2Fsmscredits.pl;fp=scripts%2Fsmscredits.pl;h=70854382b0aec2632b5e6f4d3ddac48da6c746cf;hb=a5b1d55407699bd24bede5cce84c4b5d434a724d;hp=0000000000000000000000000000000000000000;hpb=0a35b86f2577bc9e2efcabe818a56a9ec46bb0bd;p=ndwebbie.git diff --git a/scripts/smscredits.pl b/scripts/smscredits.pl new file mode 100755 index 0000000..7085438 --- /dev/null +++ b/scripts/smscredits.pl @@ -0,0 +1,56 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use feature ':5.10'; + +no if $] >= 5.018, warnings => "experimental::smartmatch"; + +use local::lib; + +use Encode; + +use LWP::UserAgent; +use URI::Escape qw(uri_escape); +use HTTP::Request::Common; + +use DBI; +use DBD::Pg qw(:pg_types); + +use FindBin; +use lib "$FindBin::Bin/../lib"; + +use ND::DB; +my $dbh = ND::DB::DB(); + +my $ua = LWP::UserAgent->new(agent => 'NDWebbie' ); + +my $click = $dbh->selectrow_hashref(q{ +SELECT api_id,username,password FROM clickatell LIMIT 1 +}); + +my %tags = ( + api_id => $click->{api_id}, + user => $click->{username}, + password => $click->{password}, + callback => 3, +); + +my $update = $dbh->prepare(q{ +UPDATE clickatell SET credits = $1 +}); + +my $res = $ua->request( + POST 'http://api.clickatell.com/http/getbalance', + Content_Type => 'application/x-www-form-urlencoded', + Content => [ %tags ] +); + +given ($res->content){ + when(/^Credit: (\d+\.\d\d)/){ + $update->execute($1); + } + default { + die $_; + } +}