Make most of processing errors non-critical.
This commit is contained in:
@@ -103,8 +103,18 @@ sub getChatMember {
|
|||||||
my $args = shift || {};
|
my $args = shift || {};
|
||||||
|
|
||||||
my $send_args = {};
|
my $send_args = {};
|
||||||
croak 'No chat_id supplied to getChatMember()' unless $args->{chat_id};
|
|
||||||
croak 'No user_id supplied to getChatMember()' unless $args->{user_id};
|
unless ($args->{chat_id}) {
|
||||||
|
cluck 'No chat_id supplied to getChatMember()';
|
||||||
|
return {'error' => 1};
|
||||||
|
}
|
||||||
|
|
||||||
|
unless ($args->{user_id}) {
|
||||||
|
cluck 'No user_id supplied to getChatMember()';
|
||||||
|
return {'error' => 1};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$send_args->{chat_id} = $args->{chat_id};
|
$send_args->{chat_id} = $args->{chat_id};
|
||||||
$send_args->{user_id} = $args->{user_id};
|
$send_args->{user_id} = $args->{user_id};
|
||||||
|
|
||||||
@@ -127,7 +137,12 @@ sub getChat {
|
|||||||
my $args = shift || {};
|
my $args = shift || {};
|
||||||
|
|
||||||
my $send_args = {};
|
my $send_args = {};
|
||||||
croak 'No chat_id supplied to getChat()' unless $args->{chat_id};
|
|
||||||
|
unless ($args->{chat_id}) {
|
||||||
|
cluck 'No chat_id supplied to getChat()';
|
||||||
|
return {'error' => 1};
|
||||||
|
}
|
||||||
|
|
||||||
$send_args->{chat_id} = $args->{chat_id};
|
$send_args->{chat_id} = $args->{chat_id};
|
||||||
|
|
||||||
my $token = $self->token || croak 'No token supplied to getChat()?';
|
my $token = $self->token || croak 'No token supplied to getChat()?';
|
||||||
@@ -149,10 +164,19 @@ sub sendMessage {
|
|||||||
my $args = shift || {};
|
my $args = shift || {};
|
||||||
|
|
||||||
my $send_args = {};
|
my $send_args = {};
|
||||||
croak 'No chat_id supplied in sendMessage()' unless $args->{chat_id};
|
|
||||||
|
unless ($args->{chat_id}) {
|
||||||
|
cluck 'No chat_id supplied in sendMessage()';
|
||||||
|
return {'error' => 1};
|
||||||
|
}
|
||||||
|
|
||||||
$send_args->{chat_id} = $args->{chat_id};
|
$send_args->{chat_id} = $args->{chat_id};
|
||||||
|
|
||||||
croak 'No text supplied in sendMessage()' unless $args->{text};
|
unless ($args->{text}) {
|
||||||
|
cluck 'No text supplied in sendMessage()';
|
||||||
|
return {'error' => 1};
|
||||||
|
}
|
||||||
|
|
||||||
$send_args->{text} = $args->{text};
|
$send_args->{text} = $args->{text};
|
||||||
|
|
||||||
# these are optional, send if they are supplied
|
# these are optional, send if they are supplied
|
||||||
@@ -169,7 +193,8 @@ sub sendMessage {
|
|||||||
ref($reply_markup) ne 'Teapot::Bot::Object::ReplyKeyboardMarkup' &&
|
ref($reply_markup) ne 'Teapot::Bot::Object::ReplyKeyboardMarkup' &&
|
||||||
ref($reply_markup) ne 'Teapot::Bot::Object::ReplyKeyboardRemove' &&
|
ref($reply_markup) ne 'Teapot::Bot::Object::ReplyKeyboardRemove' &&
|
||||||
ref($reply_markup) ne 'Teapot::Bot::Object::ForceReply' ) {
|
ref($reply_markup) ne 'Teapot::Bot::Object::ForceReply' ) {
|
||||||
croak 'Incorrect reply_markup in sendMessage()';
|
cluck 'Incorrect reply_markup in sendMessage()';
|
||||||
|
return {'error' => 1};
|
||||||
}
|
}
|
||||||
|
|
||||||
$send_args->{reply_markup} = $reply_markup;
|
$send_args->{reply_markup} = $reply_markup;
|
||||||
@@ -192,13 +217,26 @@ sub forwardMessage {
|
|||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $args = shift || {};
|
my $args = shift || {};
|
||||||
my $send_args = {};
|
my $send_args = {};
|
||||||
croak 'No chat_id supplied in forwardMessage()' unless $args->{chat_id};
|
|
||||||
|
unless ($args->{chat_id}) {
|
||||||
|
cluck 'No chat_id supplied in forwardMessage()';
|
||||||
|
return {'error' => 1};
|
||||||
|
}
|
||||||
|
|
||||||
$send_args->{chat_id} = $args->{chat_id};
|
$send_args->{chat_id} = $args->{chat_id};
|
||||||
|
|
||||||
croak 'No from_chat_id supplied in forwardMessage()' unless $args->{from_chat_id};
|
unless ($args->{from_chat_id}) {
|
||||||
|
cluck 'No from_chat_id supplied in forwardMessage()';
|
||||||
|
return {'error' => 1};
|
||||||
|
}
|
||||||
|
|
||||||
$send_args->{from_chat_id} = $args->{from_chat_id};
|
$send_args->{from_chat_id} = $args->{from_chat_id};
|
||||||
|
|
||||||
croak 'No message_id supplied in forwardMessage()' unless $args->{message_id};
|
unless ($args->{message_id}) {
|
||||||
|
cluck 'No message_id supplied in forwardMessage()';
|
||||||
|
return {'error' => 1};
|
||||||
|
}
|
||||||
|
|
||||||
$send_args->{message_id} = $args->{message_id};
|
$send_args->{message_id} = $args->{message_id};
|
||||||
|
|
||||||
# these are optional, send if they are supplied
|
# these are optional, send if they are supplied
|
||||||
@@ -222,14 +260,22 @@ sub sendPhoto {
|
|||||||
my $args = shift || {};
|
my $args = shift || {};
|
||||||
my $send_args = {};
|
my $send_args = {};
|
||||||
|
|
||||||
croak 'No chat_id supplied to sendPhoto()' unless $args->{chat_id};
|
unless ($args->{chat_id}) {
|
||||||
|
cluck 'No chat_id supplied to sendPhoto()';
|
||||||
|
return {'error' => 1};
|
||||||
|
}
|
||||||
|
|
||||||
$send_args->{chat_id} = $args->{chat_id};
|
$send_args->{chat_id} = $args->{chat_id};
|
||||||
|
|
||||||
# photo can be a string (which might be either a URL for telegram servers
|
# photo can be a string (which might be either a URL for telegram servers
|
||||||
# to fetch, or a file_id string) or a file on disk to upload - we need
|
# to fetch, or a file_id string) or a file on disk to upload - we need
|
||||||
# to handle that last case here as it changes the way we create the HTTP
|
# to handle that last case here as it changes the way we create the HTTP
|
||||||
# request
|
# request
|
||||||
croak 'No photo supplied in sendPhoto()' unless $args->{photo};
|
unless ($args->{photo}) {
|
||||||
|
cluck 'No photo supplied in sendPhoto()';
|
||||||
|
return {'error' => 1};
|
||||||
|
}
|
||||||
|
|
||||||
if (-e $args->{photo}) {
|
if (-e $args->{photo}) {
|
||||||
$send_args->{photo} = { file => $args->{photo} };
|
$send_args->{photo} = { file => $args->{photo} };
|
||||||
}
|
}
|
||||||
@@ -255,7 +301,11 @@ sub sendChatAction {
|
|||||||
my $args = shift || {};
|
my $args = shift || {};
|
||||||
my $send_args = {};
|
my $send_args = {};
|
||||||
|
|
||||||
croak 'No chat_id supplied in sendChatAction()' unless $args->{chat_id};
|
unless ($args->{chat_id}) {
|
||||||
|
cluck 'No chat_id supplied in sendChatAction()';
|
||||||
|
return {'error' => 1};
|
||||||
|
}
|
||||||
|
|
||||||
$send_args->{chat_id} = $args->{chat_id};
|
$send_args->{chat_id} = $args->{chat_id};
|
||||||
|
|
||||||
unless (defined $args->{action}) {
|
unless (defined $args->{action}) {
|
||||||
@@ -352,6 +402,7 @@ sub _process_message {
|
|||||||
# don't handle yet
|
# don't handle yet
|
||||||
if (! $update) {
|
if (! $update) {
|
||||||
cluck 'Do not know how to handle this update: ' . Dumper($item);
|
cluck 'Do not know how to handle this update: ' . Dumper($item);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach my $listener (@{ $self->listeners }) {
|
foreach my $listener (@{ $self->listeners }) {
|
||||||
|
|||||||
Reference in New Issue
Block a user