Branch Coverage

blib/lib/Net/API/Telegram.pm
Criterion Covered Total %
branch 0 990 0.0


line true false branch
88 0 0 if scalar(@_) % 2
125 0 0 if ($self->{'conf_file'})
128 0 0 unless $self->{'token'}
130 0 0 if $self->{'debug_log_file'}
131 0 0 if $self->{'port'}
145 0 0 unless $self->{'token'}
152 0 0 if $self->{'authorised_ips'} and ref $self->{'authorised_ips'} eq "ARRAY"
170 0 0 if $cookie_file
179 0 0 if ref $self->{'_auth_ips'} ne "ARRAY"
181 0 0 if (@_)
188 0 0 if (builtin::blessed($raw) and $raw->isa('Net::IP')) { }
206 0 0 if ($ip->overlaps($existing_ip) == $Net::IP::IP_IDENTICAL)
216 0 0 if (ref $this eq 'ARRAY') { }
0 0 elsif (not ref $this) { }
220 0 0 if (my $new_ip = &$check($raw))
229 0 0 if (my $new_ip = &$check($this))
240 0 0 if (scalar @$err)
262 0 0 if ($@ =~ /timeout/i)
271 0 0 if (@_)
274 0 0 if (not -e $file) { }
0 0 elsif (-z $file) { }
294 0 0 if ($@)
309 0 0 unless length $data
310 0 0 if ($unescape)
323 0 0 if ($@)
331 0 0 unless $io->print($data)
342 0 0 if (@_)
345 0 0 if -e $file and not -w $file
367 0 0 if (@_)
369 0 0 if (scalar @_ == 1) { }
0 0 elsif (scalar(@_) % 2) { }
372 0 0 unless "Net::API::Telegram::Update"->can($name)
384 0 0 if ref $args->{$name} ne "CODE"
403 0 0 if length $self->{'host'}
407 0 0 if ($self->{'use_ssl'}) { }
409 0 0 unless $self->{'ssl_key'}
410 0 0 unless $self->{'ssl_cert'}
411 0 0 unless -e $self->{'ssl_key'}
412 0 0 unless -e $self->{'ssl_cert'}
413 0 0 unless -e $self->{'ssl_key'}
414 0 0 unless -e $self->{'ssl_cert'}
430 0 0 if ($_[0] =~ /^\d{1,2}$/)
432 0 0 if ($_[0] < $self->{'debug'}) { }
449 0 0 if (builtin::blessed($msg[0]) and $msg[0]->isa('Net::API::Telegram::Message')) { }
456 0 0 if ($self->{'logging'} and $self->{'log_file'} || $self->{'_log_io'})
459 0 0 if ($self->{'_log_io'}) { }
468 0 0 unless $log_io->printf("${stamp}: %s\n", $msg->text)
470 0 0 if $msg->chat->title
482 0 0 if (@_)
485 0 0 unless ($v =~ /^(?:443|80|88|8443)$/)
498 0 0 if ref $opts ne "HASH"
500 0 0 if ($opts->{'uri'}) { }
0 0 elsif ($opts->{'method'}) { }
508 0 0 if (not $opts->{'headers'}) { }
516 0 0 if length $opts->{'data'}
518 0 0 if ($data->{'certificate'}) { }
0 0 elsif (not $opts->{'request'}) { }
523 0 0 if (builtin::blessed($data->{'certificate'})) { }
0 0 elsif (-f $data->{'certificate'}) { }
526 0 0 if $self->_is_object($obj) and not $obj->isa("Net::API::Telegram::InputFile")
544 0 0 if ($self->{'encode_with_json'}) { }
564 0 0 unless (length $req->header("Content-Type"))
566 0 0 if ($opts->{'encode_with_json'} or $self->encode_with_json) { }
584 0 0 if ($resp->is_success) { }
591 0 0 if ($resp->header('Content_Type') =~ m[text/html]) { }
608 0 0 if ($@) { }
0 0 elsif (not defined $rv) { }
610 0 0 $resp ? :
638 0 0 if (my $start = $CHILDREN->{$waitedpid}) { }
643 0 0 $? ? :
647 0 0 $? ? :
682 0 0 if (builtin::blessed($self->{'skip_past_messages'})) { }
0 0 elsif ($self->{'skip_past_messages'} < 0) { }
704 0 0 if ($self->{'webhook'}) { }
706 0 0 unless $httpd
709 0 0 if $self->{'use_ssl'} or $self->{'external_ssl'}
711 0 0 if ($self->{'external_host'})
715 0 0 if ($self->{'external_port'}) { }
0 0 elsif ($self->port) { }
723 0 0 $self->{'external_path'} ? :
732 0 0 if ($self->{'use_ssl'} and $self->{'ssl_cert'})
737 0 0 unless $self->setWebhook($params)
759 0 0 if (not defined($pid = fork)) { }
0 0 elsif ($pid) { }
780 0 0 if $log_io
800 0 0 if ($req->header('X-Forwarded-For')) { }
809 0 0 unless ($ip_check)
813 0 0 if (scalar @$ok_ips)
816 0 0 if ($remote_addr->overlaps($loopback) == $Net::IP::IP_IDENTICAL) { }
825 0 0 unless ($remote_addr->overlaps($block) == $Net::IP::IP_NO_OVERLAP)
835 0 0 if ($uri->path ne $self->{'webhook_path'})
853 0 0 if (length $info->last_error_message)
858 0 0 if $upd->message
859 0 0 if (not $self->{'skip_past_messages'} or $check_messages_after and $msg_epoch and $msg_epoch > $check_messages_after or $msg_epoch and $msg_epoch > $start) { }
868 0 0 unless exists $handlers->{$k}
871 0 0 if ref $code ne "CODE"
892 0 0 if ($@ =~ /timeout/i) { }
0 0 elsif ($@) { }
928 0 0 if $self->{'_stop_polling'}
944 0 0 if $upd->message
945 0 0 if (not $self->{'skip_past_messages'} or $check_messages_after and $msg_epoch and $msg_epoch > $check_messages_after or $msg_epoch and $msg_epoch > $start)
954 0 0 unless exists $handlers->{$k}
957 0 0 if ref $code ne "CODE"
976 0 0 if ($@ =~ /timeout/i) { }
0 0 elsif ($@) { }
999 0 0 if ($self->{'webhook'}) { }
1004 0 0 unless kill 9, $kid
1006 0 0 unless $self->deleteWebhook
1021 0 0 if (@_)
1024 0 0 if defined $v and not $v =~ /^\d+$/
1025 0 0 unless defined $v
1036 0 0 if (@_)
1040 0 0 if ($v) { }
1042 0 0 unless $self->{'httpd'}
1059 0 0 unless exists $opts->{'callback_query_id'}
1065 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
1079 0 0 unless exists $opts->{'inline_query_id'}
1080 0 0 unless exists $opts->{'results'}
1081 0 0 if ref $opts->{'results'} ne "ARRAY"
1082 0 0 unless $self->_param_check_array_object(qr/^(?:Net::API::Telegram::InlineQueryResult)$/, @_)
1083 0 0 unless $self->_load(["Net::API::Telegram::InlineQueryResult"])
1089 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
1103 0 0 unless exists $opts->{'ok'}
1104 0 0 unless exists $opts->{'pre_checkout_query_id'}
1110 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
1124 0 0 unless exists $opts->{'ok'}
1125 0 0 if length $opts->{'shipping_options'} and ref $opts->{'shipping_options'} ne "ARRAY"
1126 0 0 if length $opts->{'shipping_options'} and not $self->_param_check_array_object(qr/^(?:Net::API::Telegram::ShippingOption)$/, @_)
1127 0 0 unless exists $opts->{'shipping_query_id'}
1128 0 0 unless $self->_load(["Net::API::Telegram::ShippingOption"])
1134 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
1148 0 0 unless exists $opts->{'emojis'}
1149 0 0 if length $opts->{'mask_position'} and ref $opts->{'mask_position'} ne "Net::API::Telegram::MaskPosition"
1150 0 0 unless exists $opts->{'name'}
1151 0 0 unless exists $opts->{'png_sticker'}
1152 0 0 unless ref($opts->{'png_sticker'}) =~ /^(?:Net::API::Telegram::InputFile)$/
1153 0 0 unless exists $opts->{'title'}
1154 0 0 unless exists $opts->{'user_id'}
1155 0 0 unless $self->_load(["Net::API::Telegram::MaskPosition", "Net::API::Telegram::InputFile"])
1161 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
1175 0 0 unless exists $opts->{'chat_id'}
1176 0 0 unless length $opts->{'chat_id'}
1182 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
1196 0 0 unless exists $opts->{'chat_id'}
1197 0 0 unless length $opts->{'chat_id'}
1203 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
1217 0 0 unless exists $opts->{'chat_id'}
1218 0 0 unless length $opts->{'chat_id'}
1219 0 0 unless exists $opts->{'message_id'}
1225 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
1239 0 0 unless exists $opts->{'sticker'}
1245 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
1264 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
1278 0 0 if length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne "Net::API::Telegram::InlineKeyboardMarkup"
1279 0 0 unless $self->_load(["Net::API::Telegram::InlineKeyboardMarkup"])
1285 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
1305 0 0 unless exists $opts->{'latitude'}
1306 0 0 unless exists $opts->{'longitude'}
1307 0 0 if length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne "Net::API::Telegram::InlineKeyboardMarkup"
1308 0 0 unless $self->_load(["Net::API::Telegram::InlineKeyboardMarkup"])
1314 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
1334 0 0 unless exists $opts->{'media'}
1335 0 0 if ref $opts->{'media'} ne "Net::API::Telegram::InputMedia"
1336 0 0 if length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne "Net::API::Telegram::InlineKeyboardMarkup"
1337 0 0 unless $self->_load(["Net::API::Telegram::InputMedia", "Net::API::Telegram::InlineKeyboardMarkup"])
1343 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
1363 0 0 if length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne "Net::API::Telegram::InlineKeyboardMarkup"
1364 0 0 unless $self->_load(["Net::API::Telegram::InlineKeyboardMarkup"])
1370 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
1390 0 0 if length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne "Net::API::Telegram::InlineKeyboardMarkup"
1391 0 0 unless exists $opts->{'text'}
1392 0 0 unless $self->_load(["Net::API::Telegram::InlineKeyboardMarkup"])
1398 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
1418 0 0 unless exists $opts->{'chat_id'}
1419 0 0 unless length $opts->{'chat_id'}
1425 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
1439 0 0 unless exists $opts->{'chat_id'}
1440 0 0 unless length $opts->{'chat_id'}
1441 0 0 unless exists $opts->{'from_chat_id'}
1442 0 0 unless length $opts->{'from_chat_id'}
1443 0 0 unless exists $opts->{'message_id'}
1449 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
1465 0 0 unless exists $opts->{'chat_id'}
1466 0 0 unless length $opts->{'chat_id'}
1472 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
1488 0 0 unless exists $opts->{'chat_id'}
1489 0 0 unless length $opts->{'chat_id'}
1495 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
1516 0 0 unless exists $opts->{'chat_id'}
1517 0 0 unless length $opts->{'chat_id'}
1518 0 0 unless exists $opts->{'user_id'}
1524 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
1540 0 0 unless exists $opts->{'chat_id'}
1541 0 0 unless length $opts->{'chat_id'}
1547 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
1561 0 0 unless exists $opts->{'file_id'}
1567 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
1583 0 0 unless exists $opts->{'user_id'}
1589 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
1615 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
1631 0 0 unless exists $opts->{'name'}
1637 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
1653 0 0 if length $opts->{'allowed_updates'} and ref $opts->{'allowed_updates'} ne "ARRAY"
1659 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
1680 0 0 unless exists $opts->{'user_id'}
1686 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
1707 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
1723 0 0 unless exists $opts->{'chat_id'}
1724 0 0 unless length $opts->{'chat_id'}
1725 0 0 unless exists $opts->{'user_id'}
1731 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
1745 0 0 unless exists $opts->{'chat_id'}
1746 0 0 unless length $opts->{'chat_id'}
1752 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
1766 0 0 unless exists $opts->{'chat_id'}
1767 0 0 unless length $opts->{'chat_id'}
1768 0 0 unless exists $opts->{'message_id'}
1774 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
1788 0 0 unless exists $opts->{'chat_id'}
1789 0 0 unless length $opts->{'chat_id'}
1790 0 0 unless exists $opts->{'user_id'}
1796 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
1810 0 0 unless exists $opts->{'chat_id'}
1811 0 0 unless length $opts->{'chat_id'}
1812 0 0 unless exists $opts->{'permissions'}
1813 0 0 if ref $opts->{'permissions'} ne "Net::API::Telegram::ChatPermissions"
1814 0 0 unless exists $opts->{'user_id'}
1815 0 0 unless $self->_load(["Net::API::Telegram::ChatPermissions"])
1821 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
1835 0 0 unless exists $opts->{'animation'}
1836 0 0 unless ref($opts->{'animation'}) =~ /^(?:Net::API::Telegram::InputFile)$/
1837 0 0 unless exists $opts->{'chat_id'}
1838 0 0 unless length $opts->{'chat_id'}
1839 0 0 if length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
1840 0 0 if length $opts->{'thumb'} and not ref($opts->{'thumb'}) =~ /^(?:Net::API::Telegram::InputFile)$/
1841 0 0 unless $self->_load(["Net::API::Telegram::InputFile", "Net::API::Telegram::InlineKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardRemove", "Net::API::Telegram::ForceReply", "Net::API::Telegram::InputFile"])
1847 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
1863 0 0 unless exists $opts->{'audio'}
1864 0 0 unless ref($opts->{'audio'}) =~ /^(?:Net::API::Telegram::InputFile)$/
1865 0 0 unless exists $opts->{'chat_id'}
1866 0 0 unless length $opts->{'chat_id'}
1867 0 0 if length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
1868 0 0 if length $opts->{'thumb'} and not ref($opts->{'thumb'}) =~ /^(?:Net::API::Telegram::InputFile)$/
1869 0 0 unless $self->_load(["Net::API::Telegram::InputFile", "Net::API::Telegram::InlineKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardRemove", "Net::API::Telegram::ForceReply", "Net::API::Telegram::InputFile"])
1875 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
1891 0 0 unless exists $opts->{'action'}
1892 0 0 unless exists $opts->{'chat_id'}
1893 0 0 unless length $opts->{'chat_id'}
1899 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
1913 0 0 unless exists $opts->{'chat_id'}
1914 0 0 unless length $opts->{'chat_id'}
1915 0 0 unless exists $opts->{'first_name'}
1916 0 0 unless exists $opts->{'phone_number'}
1917 0 0 if length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
1918 0 0 unless $self->_load(["Net::API::Telegram::InlineKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardRemove", "Net::API::Telegram::ForceReply"])
1924 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
1940 0 0 unless exists $opts->{'chat_id'}
1941 0 0 unless length $opts->{'chat_id'}
1942 0 0 unless exists $opts->{'document'}
1943 0 0 unless ref($opts->{'document'}) =~ /^(?:Net::API::Telegram::InputFile)$/
1944 0 0 if length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
1945 0 0 if length $opts->{'thumb'} and not ref($opts->{'thumb'}) =~ /^(?:Net::API::Telegram::InputFile)$/
1946 0 0 unless $self->_load(["Net::API::Telegram::InputFile", "Net::API::Telegram::InlineKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardRemove", "Net::API::Telegram::ForceReply", "Net::API::Telegram::InputFile"])
1952 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
1968 0 0 unless exists $opts->{'chat_id'}
1969 0 0 unless exists $opts->{'game_short_name'}
1970 0 0 if length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne "Net::API::Telegram::InlineKeyboardMarkup"
1971 0 0 unless $self->_load(["Net::API::Telegram::InlineKeyboardMarkup"])
1977 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
1993 0 0 unless exists $opts->{'chat_id'}
1994 0 0 unless exists $opts->{'currency'}
1995 0 0 unless exists $opts->{'description'}
1996 0 0 unless exists $opts->{'payload'}
1997 0 0 unless exists $opts->{'prices'}
1998 0 0 if ref $opts->{'prices'} ne "ARRAY"
1999 0 0 unless $self->_param_check_array_object(qr/^(?:Net::API::Telegram::LabeledPrice)$/, @_)
2000 0 0 unless exists $opts->{'provider_token'}
2001 0 0 if length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne "Net::API::Telegram::InlineKeyboardMarkup"
2002 0 0 unless exists $opts->{'start_parameter'}
2003 0 0 unless exists $opts->{'title'}
2004 0 0 unless $self->_load(["Net::API::Telegram::LabeledPrice", "Net::API::Telegram::InlineKeyboardMarkup"])
2010 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
2026 0 0 unless exists $opts->{'chat_id'}
2027 0 0 unless length $opts->{'chat_id'}
2028 0 0 unless exists $opts->{'latitude'}
2029 0 0 unless exists $opts->{'longitude'}
2030 0 0 if length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
2031 0 0 unless $self->_load(["Net::API::Telegram::InlineKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardRemove", "Net::API::Telegram::ForceReply"])
2037 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
2053 0 0 unless exists $opts->{'chat_id'}
2054 0 0 unless length $opts->{'chat_id'}
2055 0 0 unless exists $opts->{'media'}
2056 0 0 if ref $opts->{'media'} ne "ARRAY"
2057 0 0 unless $self->_param_check_array_object(qr/^(?:Net::API::Telegram::InputMediaPhoto|Net::API::Telegram::InputMediaVideo)$/, @_)
2058 0 0 unless $self->_load(["Net::API::Telegram::InputMediaPhoto", "Net::API::Telegram::InputMediaVideo"])
2064 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
2085 0 0 unless exists $opts->{'chat_id'}
2086 0 0 unless length $opts->{'chat_id'}
2087 0 0 if length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
2088 0 0 unless exists $opts->{'text'}
2089 0 0 unless $self->_load(["Net::API::Telegram::InlineKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardRemove", "Net::API::Telegram::ForceReply"])
2095 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
2111 0 0 unless exists $opts->{'chat_id'}
2112 0 0 unless length $opts->{'chat_id'}
2113 0 0 unless exists $opts->{'photo'}
2114 0 0 unless ref($opts->{'photo'}) =~ /^(?:Net::API::Telegram::InputFile)$/
2115 0 0 if length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
2116 0 0 unless $self->_load(["Net::API::Telegram::InputFile", "Net::API::Telegram::InlineKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardRemove", "Net::API::Telegram::ForceReply"])
2122 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
2138 0 0 unless exists $opts->{'chat_id'}
2139 0 0 unless length $opts->{'chat_id'}
2140 0 0 unless exists $opts->{'options'}
2141 0 0 if ref $opts->{'options'} ne "ARRAY"
2142 0 0 unless exists $opts->{'question'}
2143 0 0 if length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
2144 0 0 unless $self->_load(["Net::API::Telegram::InlineKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardRemove", "Net::API::Telegram::ForceReply"])
2150 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
2166 0 0 unless exists $opts->{'chat_id'}
2167 0 0 unless length $opts->{'chat_id'}
2168 0 0 if length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
2169 0 0 unless exists $opts->{'sticker'}
2170 0 0 unless ref($opts->{'sticker'}) =~ /^(?:Net::API::Telegram::InputFile)$/
2171 0 0 unless $self->_load(["Net::API::Telegram::InlineKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardRemove", "Net::API::Telegram::ForceReply", "Net::API::Telegram::InputFile"])
2177 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
2193 0 0 unless exists $opts->{'address'}
2194 0 0 unless exists $opts->{'chat_id'}
2195 0 0 unless length $opts->{'chat_id'}
2196 0 0 unless exists $opts->{'latitude'}
2197 0 0 unless exists $opts->{'longitude'}
2198 0 0 if length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
2199 0 0 unless exists $opts->{'title'}
2200 0 0 unless $self->_load(["Net::API::Telegram::InlineKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardRemove", "Net::API::Telegram::ForceReply"])
2206 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
2222 0 0 unless exists $opts->{'chat_id'}
2223 0 0 unless length $opts->{'chat_id'}
2224 0 0 if length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
2225 0 0 if length $opts->{'thumb'} and not ref($opts->{'thumb'}) =~ /^(?:Net::API::Telegram::InputFile)$/
2226 0 0 unless exists $opts->{'video'}
2227 0 0 unless ref($opts->{'video'}) =~ /^(?:Net::API::Telegram::InputFile)$/
2228 0 0 unless $self->_load(["Net::API::Telegram::InlineKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardRemove", "Net::API::Telegram::ForceReply", "Net::API::Telegram::InputFile", "Net::API::Telegram::InputFile"])
2234 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
2250 0 0 unless exists $opts->{'chat_id'}
2251 0 0 unless length $opts->{'chat_id'}
2252 0 0 if length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
2253 0 0 if length $opts->{'thumb'} and not ref($opts->{'thumb'}) =~ /^(?:Net::API::Telegram::InputFile)$/
2254 0 0 unless exists $opts->{'video_note'}
2255 0 0 unless ref($opts->{'video_note'}) =~ /^(?:Net::API::Telegram::InputFile)$/
2256 0 0 unless $self->_load(["Net::API::Telegram::InlineKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardRemove", "Net::API::Telegram::ForceReply", "Net::API::Telegram::InputFile", "Net::API::Telegram::InputFile"])
2262 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
2278 0 0 unless exists $opts->{'chat_id'}
2279 0 0 unless length $opts->{'chat_id'}
2280 0 0 if length $opts->{'reply_markup'} and not ref($opts->{'reply_markup'}) =~ /^(?:Net::API::Telegram::InlineKeyboardMarkup|Net::API::Telegram::ReplyKeyboardMarkup|Net::API::Telegram::ReplyKeyboardRemove|Net::API::Telegram::ForceReply)$/
2281 0 0 unless exists $opts->{'voice'}
2282 0 0 unless ref($opts->{'voice'}) =~ /^(?:Net::API::Telegram::InputFile)$/
2283 0 0 unless $self->_load(["Net::API::Telegram::InlineKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardMarkup", "Net::API::Telegram::ReplyKeyboardRemove", "Net::API::Telegram::ForceReply", "Net::API::Telegram::InputFile"])
2289 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
2305 0 0 unless exists $opts->{'chat_id'}
2306 0 0 unless length $opts->{'chat_id'}
2312 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
2326 0 0 unless exists $opts->{'chat_id'}
2327 0 0 unless length $opts->{'chat_id'}
2328 0 0 unless exists $opts->{'permissions'}
2329 0 0 if ref $opts->{'permissions'} ne "Net::API::Telegram::ChatPermissions"
2330 0 0 unless $self->_load(["Net::API::Telegram::ChatPermissions"])
2336 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
2350 0 0 unless exists $opts->{'chat_id'}
2351 0 0 unless length $opts->{'chat_id'}
2352 0 0 unless exists $opts->{'photo'}
2353 0 0 if ref $opts->{'photo'} ne "Net::API::Telegram::InputFile"
2354 0 0 unless $self->_load(["Net::API::Telegram::InputFile"])
2360 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
2374 0 0 unless exists $opts->{'chat_id'}
2375 0 0 unless length $opts->{'chat_id'}
2376 0 0 unless exists $opts->{'sticker_set_name'}
2382 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
2396 0 0 unless exists $opts->{'chat_id'}
2397 0 0 unless length $opts->{'chat_id'}
2398 0 0 unless exists $opts->{'title'}
2404 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
2418 0 0 unless exists $opts->{'score'}
2419 0 0 unless exists $opts->{'user_id'}
2425 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
2445 0 0 unless exists $opts->{'errors'}
2446 0 0 if ref $opts->{'errors'} ne "ARRAY"
2447 0 0 unless $self->_param_check_array_object(qr/^(?:Net::API::Telegram::PassportElementError)$/, @_)
2448 0 0 unless exists $opts->{'user_id'}
2449 0 0 unless $self->_load(["Net::API::Telegram::PassportElementError"])
2455 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
2469 0 0 if $opts->{'certificate'} and $self->{'ssl_cert'}
2470 0 0 if length $opts->{'allowed_updates'} and ref $opts->{'allowed_updates'} ne "ARRAY"
2471 0 0 if length $opts->{'certificate'} and ref $opts->{'certificate'} ne "Net::API::Telegram::InputFile"
2472 0 0 unless exists $opts->{'url'}
2473 0 0 unless $self->_load(["Net::API::Telegram::InputFile"])
2479 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
2493 0 0 if length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne "Net::API::Telegram::InlineKeyboardMarkup"
2494 0 0 unless $self->_load(["Net::API::Telegram::InlineKeyboardMarkup"])
2500 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
2520 0 0 unless exists $opts->{'chat_id'}
2521 0 0 unless length $opts->{'chat_id'}
2522 0 0 unless exists $opts->{'message_id'}
2523 0 0 if length $opts->{'reply_markup'} and ref $opts->{'reply_markup'} ne "Net::API::Telegram::InlineKeyboardMarkup"
2524 0 0 unless $self->_load(["Net::API::Telegram::InlineKeyboardMarkup"])
2530 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
2546 0 0 unless exists $opts->{'chat_id'}
2547 0 0 unless length $opts->{'chat_id'}
2548 0 0 unless exists $opts->{'user_id'}
2554 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
2568 0 0 unless exists $opts->{'chat_id'}
2569 0 0 unless length $opts->{'chat_id'}
2575 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
2589 0 0 unless exists $opts->{'png_sticker'}
2590 0 0 if ref $opts->{'png_sticker'} ne "Net::API::Telegram::InputFile"
2591 0 0 unless exists $opts->{'user_id'}
2592 0 0 unless $self->_load(["Net::API::Telegram::InputFile"])
2598 0 0 if (my $t_error = $self->_has_telegram_error($hash)) { }
0 0 elsif ($hash->{'result'}) { }
2617 0 0 if ($self->{'_encode_with_json'})
2627 0 0 if ($pkg and $pkg =~ /^AI::Net::Stripe/ and exists $value->{'id'})
2634 0 0 if ($ref eq 'HASH') { }
0 0 elsif ($ref eq 'ARRAY') { }
2640 0 0 if ref $sv or not length $sv
2649 0 0 if ref $sv
2656 0 0 $value ? :
0 0 ref $value eq 'JSON::PP::Boolean' ? :
2674 0 0 unless exists $hash->{'ok'}
2675 0 0 if $hash->{'ok'}
2680 0 0 if (exists $hash->{'parameters'} and ref $hash->{'parameters'} eq "HASH")
2682 0 0 if ($hash->{'parameters'}{'retry_after'})
2684 0 0 if length $desc
2696 0 0 if exists $self->{$name} and builtin::blessed($self->{$name})
2710 0 0 if ref $arr ne "ARRAY"
2715 0 0 if $@
2724 0 0 unless -e $fpath
2725 0 0 unless -r $fpath
2726 0 0 if -s $fpath > 52428800
2736 0 0 unless (exists $args->{'file'} and exists $args->{'line'})
2753 0 0 if ref $opts ne "HASH"
2759 0 0 if (builtin::blessed($this)) { }
0 0 elsif (ref $this eq 'HASH') { }
0 0 elsif (ref $this eq 'ARRAY') { }
2761 0 0 if ref($this) =~ /Net::API::Telegram::/ and $this->can("debug")
2762 0 0 if ($this->can('as_hash')) { }
0 0 elsif (overload::Overloaded($this)) { }
0 0 elsif ($this->can('as_string')) { }
2782 0 0 if (exists $this->{$opt_anti_loop})
2801 0 0 if length $res
2814 0 0 if (length $opts->{$k})
2826 0 0 if (scalar @_)
2828 0 0 if (ref $_[0] eq 'HASH') { }
0 0 elsif (not scalar(@_) % 2) { }
2849 0 0 if ref $patt ne "Regexp"
2850 0 0 if ref $arr ne "ARRAY"
2853 0 0 unless ref($o) =~ /$patt/
2863 0 0 if $hash and ref $hash ne "HASH"
2864 0 0 unless $self->_load([$class])
2872 0 0 if ($@)
2884 0 0 if $arr and ref $arr ne "ARRAY"
2885 0 0 unless $self->_load([$class])
2890 0 0 if (ref $ref eq 'HASH') { }
2898 0 0 if ($@)