File Coverage

blib/lib/Net/API/Telegram/ChatPhoto.pm
Criterion Covered Total %
statement 7 10 70.0
branch n/a
condition n/a
subroutine 3 6 50.0
pod 3 3 100.0
total 13 19 68.4


line stmt bran cond sub pod time code
1             # -*- perl -*-
2             ##----------------------------------------------------------------------------
3             ## Net/API/Telegram/ChatPhoto.pm
4             ## Version 0.1
5             ## Copyright(c) 2019 Jacques Deguest
6             ## Author: Jacques Deguest <jack@deguest.jp>
7             ## Created 2019/05/29
8             ## Modified 2020/05/20
9             ## All rights reserved.
10             ##
11             ## This program is free software; you can redistribute it and/or modify it
12             ## under the same terms as Perl itself.
13             ##----------------------------------------------------------------------------
14             package Net::API::Telegram::ChatPhoto;
15             BEGIN
16             {
17 1     1   851 use strict;
  1         2  
  1         28  
18 1     1   4 use parent qw( Net::API::Telegram::Generic );
  1         2  
  1         4  
19 1     1   114 our( $VERSION ) = '0.1';
20             };
21              
22 0     0 1   sub big_file_id { return( shift->_set_get_scalar( 'big_file_id', @_ ) ); }
23              
24 0     0 1   sub download { return( shift->_download( @_ ) ); }
25              
26 0     0 1   sub small_file_id { return( shift->_set_get_scalar( 'small_file_id', @_ ) ); }
27              
28             1;
29              
30             __END__
31              
32             =encoding utf-8
33              
34             =head1 NAME
35              
36             Net::API::Telegram::ChatPhoto - A chat photo
37              
38             =head1 SYNOPSIS
39              
40             my $msg = Net::API::Telegram::ChatPhoto->new( %data ) ||
41             die( Net::API::Telegram::ChatPhoto->error, "\n" );
42              
43             =head1 DESCRIPTION
44              
45             L<Net::API::Telegram::ChatPhoto> is a Telegram Message Object as defined here L<https://core.telegram.org/bots/api#chatphoto>
46              
47             This module has been automatically generated from Telegram API documentation by the script scripts/telegram-doc2perl-methods.pl.
48              
49             =head1 METHODS
50              
51             =over 4
52              
53             =item B<new>( {INIT HASH REF}, %PARAMETERS )
54              
55             B<new>() will create a new object for the package, pass any argument it might receive
56             to the special standard routine B<init> that I<must> exist.
57             Then it returns what returns B<init>().
58              
59             The valid parameters are as follow. Methods available here are also parameters to the B<new> method.
60              
61             =over 8
62              
63             =item * I<verbose>
64              
65             =item * I<debug>
66              
67             =back
68              
69             =item B<big_file_id>( String )
70              
71             File identifier of big (640x640) chat photo. This file_id can be used only for photo download and only for as long as the photo is not changed.
72              
73             =item B<download>( file_id, [ file extension ] )
74              
75             Given a file id like small_file_id or big_file_id, this will call the B<getFile>() method from the parent L<Net::API::Telegram> package and receive a L<Net::API::Telegram::File> object in return, which contains a file path valid for only one hour according to Telegram api here L<https://core.telegram.org/bots/api#getfile>. With this file path, this B<download> method will issue a http get request and retrieve the file and save it locally in a temproary file generated by L<File::Temp>. If an extension is provided, it will be appended to the temproary file name such as C<myfile.jpg> otherwise the extension will be gussed from the mime type returned by the Telegram http server, if any.
76              
77             This method returns undef() on error and sets a L<Net::API::Telegram::Error> or, on success, returns a hash reference with the following properties:
78              
79             =over 8
80              
81             =item I<filepath>
82              
83             The full path to the temporary file
84              
85             =item I<mime>
86              
87             The mime type returned by the server.
88              
89             =item I<response>
90              
91             The L<HTTP::Response>
92              
93             =item I<size>
94              
95             The size in bytes of the file fetched
96              
97             =back
98             =item B<download>( )
99              
100              
101              
102             =item B<small_file_id>( String )
103              
104             File identifier of small (160x160) chat photo. This file_id can be used only for photo download and only for as long as the photo is not changed.
105              
106             =back
107              
108             =head1 COPYRIGHT
109              
110             Copyright (c) 2000-2019 DEGUEST Pte. Ltd.
111              
112             =head1 AUTHOR
113              
114             Jacques Deguest E<lt>F<jack@deguest.jp>E<gt>
115              
116             =head1 SEE ALSO
117              
118             L<Net::API::Telegram>
119              
120             =head1 COPYRIGHT & LICENSE
121              
122             Copyright (c) 2018-2019 DEGUEST Pte. Ltd.
123              
124             You can use, copy, modify and redistribute this package and associated
125             files under the same terms as Perl itself.
126              
127             =cut
128