Add type Reaction
This commit is contained in:
@@ -33,6 +33,7 @@ use Teapot::Bot::Object::User ();
|
|||||||
use Teapot::Bot::Object::Chat ();
|
use Teapot::Bot::Object::Chat ();
|
||||||
use Teapot::Bot::Object::ChatMember ();
|
use Teapot::Bot::Object::ChatMember ();
|
||||||
use Teapot::Bot::Object::ChatInviteLink ();
|
use Teapot::Bot::Object::ChatInviteLink ();
|
||||||
|
use Teapot::Bot::Object::MessageReaction ();
|
||||||
|
|
||||||
$Teapot::Bot::Brain::VERSION = '0.026';
|
$Teapot::Bot::Brain::VERSION = '0.026';
|
||||||
|
|
||||||
@@ -938,7 +939,7 @@ sub _process_message {
|
|||||||
$update = Teapot::Bot::Object::PollAnswer->create_from_hash($item->{poll_answer}, $self) if $item->{poll_answer};
|
$update = Teapot::Bot::Object::PollAnswer->create_from_hash($item->{poll_answer}, $self) if $item->{poll_answer};
|
||||||
$update = Teapot::Bot::Object::ChatMemberUpdated->create_from_hash($item->{my_chat_member}, $self) if $item->{my_chat_member};
|
$update = Teapot::Bot::Object::ChatMemberUpdated->create_from_hash($item->{my_chat_member}, $self) if $item->{my_chat_member};
|
||||||
$update = Teapot::Bot::Object::ChatMemberUpdated->create_from_hash($item->{chat_member}, $self) if $item->{chat_member};
|
$update = Teapot::Bot::Object::ChatMemberUpdated->create_from_hash($item->{chat_member}, $self) if $item->{chat_member};
|
||||||
|
$update = Teapot::Bot::Object::MessageReaction->create_from_hash($item->{message_reaction}, self) if $item->{message_reaction};
|
||||||
# if we got to this point without creating a response, it must be a type we
|
# if we got to this point without creating a response, it must be a type we
|
||||||
# don't handle yet
|
# don't handle yet
|
||||||
if (! $update) {
|
if (! $update) {
|
||||||
|
|||||||
61
lib/Teapot/Bot/Object/MessageReaction.pm
Normal file
61
lib/Teapot/Bot/Object/MessageReaction.pm
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
package Teapot::Bot::Object::MessageReaction;
|
||||||
|
# ABSTRACT: The base class for Telegram message 'Reaction' type.
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use 5.018; ## no critic (ProhibitImplicitImport)
|
||||||
|
use utf8;
|
||||||
|
|
||||||
|
use Mojo::Base 'Teapot::Bot::Object::Base';
|
||||||
|
|
||||||
|
$Teapot::Bot::Object::MessageReaction::VERSION = '0.026';
|
||||||
|
|
||||||
|
has 'type'; # Type of the reaction, always “emoji”
|
||||||
|
has 'emoji'; # Reaction emoji. Currently, it can be one of "👍", "👎", "❤", "🔥", "🥰", "👏", "😁", "🤔",
|
||||||
|
# "🤯", "😱", "🤬", "😢", "🎉", "🤩", "🤮", "💩", "🙏", "👌", "🕊", "🤡", "🥱", "🥴", "😍", "🐳", "❤🔥", "🌚", "🌭",
|
||||||
|
# "💯", "🤣", "⚡", "🍌", "🏆", "💔", "🤨", "😐", "🍓", "🍾", "💋", "🖕", "😈", "😴", "😭", "🤓", "👻", "👨💻", "👀",
|
||||||
|
# "🎃", "🙈", "😇", "😨", "🤝", "✍", "🤗", "🫡", "🎅", "🎄", "☃", "💅", "🤪", "🗿", "🆒", "💘", "🙉", "🦄", "😘",
|
||||||
|
# "💊", "🙊", "😎", "👾", "🤷♂", "🤷", "🤷♀", "😡"
|
||||||
|
has 'custom_emoji_id'; # Only for ReactionTypeCustomEmoji. Custom emoji identifier.
|
||||||
|
has 'total_count'; # Only for ReactionCount. Number of times the reaction was added.
|
||||||
|
|
||||||
|
sub fields {
|
||||||
|
return {
|
||||||
|
'scalar' => [qw/type emoji custom_emoji_id total_count/],
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
1;
|
||||||
|
|
||||||
|
__END__
|
||||||
|
|
||||||
|
=pod
|
||||||
|
|
||||||
|
=encoding utf8
|
||||||
|
|
||||||
|
=head1 NAME
|
||||||
|
|
||||||
|
Teapot::Bot::Object::MessageReaction - The base class for Telegram message 'Reaction' type
|
||||||
|
|
||||||
|
=head1 VERSION
|
||||||
|
|
||||||
|
version 0.026
|
||||||
|
|
||||||
|
=head1 DESCRIPTION
|
||||||
|
The base class for Telegram message 'Reaction' type.
|
||||||
|
|
||||||
|
See L<https://core.telegram.org/bots/api#reactiontype> for details of the
|
||||||
|
attributes available for C<Teapot::Bot::Object::MessageReaction> objects.
|
||||||
|
|
||||||
|
=head1 AUTHOR
|
||||||
|
|
||||||
|
Sergei Fedosov <eleksir@gmail.com>
|
||||||
|
|
||||||
|
=head1 LICENSE AND COPYRIGHT
|
||||||
|
|
||||||
|
This software is copyright (c) 2025 Sergei Fedosov <eleksir@gmail.com>.
|
||||||
|
|
||||||
|
This is free software; you can redistribute it and/or modify it under
|
||||||
|
the same terms as the Perl 5 programming language system itself.
|
||||||
|
|
||||||
|
=cut
|
||||||
Reference in New Issue
Block a user