sub request {
my ($self, $url, %params) = @_;
- $params{key} = $self->{key};
+ $params{key} = $self->{key} if $self->{key};
$url = $self->{base} . $url;
$url .= "&$_=$params{$_}" for keys %params;
my $response = decode_json(get $url)->{response};
sub get_prices {
my ($self, $appid, $raw) = @_;
my $response = $self->request('IGetPrices/v4/?compress=1', maybe appid => $appid, maybe raw => $raw);
- map { WWW::BackpackTF::Item->new($_, $response->{items}{$_}) } keys $response->{items}
+ map { WWW::BackpackTF::Item->new($_, $response->{items}{$_}) } keys %{$response->{items}}
}
sub get_users {
my ($self, @users) = @_;
my $response = $self->request('IGetUsers/v3/?compress=1', steamids => join ',', @users);
- @users = map { WWW::BackpackTF::User->new($_) } values $response->{players};
+ @users = map { WWW::BackpackTF::User->new($_) } values %{$response->{players}};
wantarray ? @users : $users[0]
}
sub get_currencies {
my ($self, $appid) = @_;
my $response = $self->request('IGetCurrencies/v1/?compress=1', maybe appid => $appid);
- map { WWW::BackpackTF::Currency->new($_, $response->{currencies}{$_}) } keys $response->{currencies};
+ map { WWW::BackpackTF::Currency->new($_, $response->{currencies}{$_}) } keys %{$response->{currencies}};
}
1;