14 KiB
14 KiB
Changelog
All notable changes to this project will be documented in this file. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[8.0.2] - Ongoing
This update introduces some quality of life improvements.
[8.0.1] - 2024-12-04
This update introduces bug fixes and improvements
Changed
- Refactor PollingBot to use PsyncLib for updates
- Refactor optional parameters in method signatures
- Improve command check with method existence validation
Fixed
- Reposition debug log for event handler execution.
- Improve command check with method existence validation
- Allow nullable type for MessageEntity type
- Encode arrays as JSON in SendAudio parameters
- Refactor fromArray method for null data handling
[8.0.0] - 2024-11-29
This is a new major update which makes the previous versions of this library deprecated
Added
- Added unit tests
- Added
can_connect_to_business
&has_main_web_app
to User object
Changed
- Refactored the way HTTP requests are handled & methods are called
- Refactor enums to use native PHP 8.1 syntax
- Moved Types to their own namespace
- Refactored all Objects & Methods to use a different system
- Refactored the event system to allow for more event types
[6.7.0] - 2023-08-10
This update accompanies the release of the Telegram Bot API 6.7. Additionally, this update includes some bug fixes and improvements such as the ability for some objects to be treated as input objects for methods that require input objects.
Added
- Added object
\TgBotLib\Objects\Telegram\InputMessageContent\InputTextMessageContent
to represent the content of a text message to be sent as the result of an inline query. - Added object
\TgBotLib\Objects\Telegram\InputMessageContent\InputLocationMessageContent
to represent the content of a location message to be sent as the result of an inline query. - Added object
\TgBotLib\Objects\Telegram\InputMessageContent\InputVenueMessageContent
to represent the content of a venue message to be sent as the result of an inline query. - Added object
\TgBotLib\Objects\Telegram\InputMessageContent\InputContactMessageContent
to represent the content of a contact message to be sent as the result of an inline query. - Added object
\TgBotLib\Objects\Telegram\InputMessageContent\InputInvoiceMessageContent
to represent the content of an invoice message to be sent as the result of an inline query. - Added new exception class
NotImplementedException
to represent the case when a method is not implemented yet or the method is not applicable to the current object. - Added object
\TgBotLib\Objects\Telegram\InlineQueryResult\InlineQueryResultArticle
, see InlineQueryResultArticle for more information. - Added object
\TgBotLib\Objects\Telegram\InlineQueryResult\InlineQueryResultPhoto
, see InlineQueryResultPhoto for more information. - Added object
\TgBotLib\Objects\Telegram\InlineQueryResult\InlineQueryResultGif
, see InlineQueryResultGif for more information. - Added abstract class
\TgBotLib\Abstracts\ThumbnailMimeType
to represent the mime type of thumbnail, photo, or a file / sticker thumbnail. - Added object
\TgBotLib\Objects\Telegram\InlineQueryResult\InlineQueryResultMpeg4Gif
, see InlineQueryResultMpeg4Gif for more information. - Added field
via_chat_folder_invite_link
to\TgBotLib\Objects\Telegram\ChatMemberUpdated
to represent the invite link, which was used by the user to join the chat; for joining by invite link events only. - Added object
\TgBotLib\Objects\Telegram\InlineQueryResult\InlineQueryResultVideo
, see InlineQueryResultVideo for more information. - Added object
\TgBotLib\Objects\Telegram\InlineQueryResult\InlineQueryResultAudio
, see InlineQueryResultAudio for more information. - Added object
\TgBotLib\Objects\Telegram\InlineQueryResult\InlineQueryResultVoice
, see InlineQueryResultVoice for more information. - Added object
\TgBotLib\Objects\Telegram\InlineQueryResult\InlineQueryResultDocument
, see InlineQueryResultDocument for more information. - Added object
\TgBotLib\Objects\Telegram\InlineQueryResult\InlineQueryResultLocation
, see InlineQueryResultLocation for more information. - Added object
\TgBotLib\Objects\Telegram\InlineQueryResult\InlineQueryResultVenue
, see InlineQueryResultVenue for more information. - Added object
\TgBotLib\Objects\Telegram\InlineQueryResult\InlineQueryResultContact
, see InlineQueryResultContact for more information. - Added object
\TgBotLib\Objects\Telegram\InlineQueryResult\InlineQueryResultGame
, see InlineQueryResultGame for more information. - Added class
\TgBotLib\Objects\Telegram\InlineQueryResult
which is the base class for all inline query results, additionally added\TgBotLib\Abstracts\InlineQueryResultType
to represent the type of inline query result object. - Added method
\TgBotLib\Bot::answerWebAppQuery
to answer a callback query sent from a web app, which returns the newly added\TgBotLib\Objects\Telegram\SentWebAppMessage
object on success. - Implemented Telegram's currency API
\TgBotLib\Classes\Utilities::getCurrency
to get basic information about the currency of the specified country, see Telegram's currency API for more information.
Changed
- Refactored InputMessageContent types to its own namespace so InputMessageContent can always return the correct InputMessageContent object type when calling
fromArray()
- Added methods
\TgBotLib\Objects\Telegram\InlineKeyboardButton::setUrl
,\TgBotLib\Objects\Telegram\InlineKeyboardButton::setText
,\TgBotLib\Objects\Telegram\InlineKeyboardButton::setCallbackData
,\TgBotLib\Objects\Telegram\InlineKeyboardButton::setWebApp
,\TgBotLib\Objects\Telegram\InlineKeyboardButton::setLoginUrl
,\TgBotLib\Objects\Telegram\InlineKeyboardButton::setSwitchInlineQuery
,\TgBotLib\Objects\Telegram\InlineKeyboardButton::setSwitchInlineQueryCurrentChat
,\TgBotLib\Objects\Telegram\InlineKeyboardButton::setCallbackGame
,\TgBotLib\Objects\Telegram\InlineKeyboardButton::setPay
to\TgBotLib\Objects\Telegram\InlineKeyboardButton
- Added methods
\TgBotLib\Objects\Telegram\InlineKeyboardMarkup::removeRow
&\TgBotLib\Objects\Telegram\InlineKeyboardMarkup::addRow
to\TgBotLib\Objects\Telegram\InlineKeyboardMarkup
- Added method
\TgBotLib\Objects\Telegram\WebAppInfo::setUrl
to\TgBotLib\Objects\Telegram\WebAppInfo
- Added methods
\TgBotLib\Classes\Validate::url
,\TgBotLib\Classes\Validate::length
, &\TgBotLib\Classes\Validate::isHttps
to\TgBotLib\Classes\Validate
- Updated documentation for
\TgBotLib\Bot::editMessageMedia
- Renamed namespace from
\TgBotLib\Abstracts
to\TgBotLib\Enums
- Updated class type to
final class
in\TgBotLib\Enums > BotCommandScopeType
- Updated class type to
final class
in\TgBotLib\Enums > ChatActionType
- Updated class type to
final class
in\TgBotLib\Enums > ChatMemberStatus
- Updated class type to
final class
in\TgBotLib\Enums > ChatType
- Updated class type to
final class
in\TgBotLib\Enums > EventType
- Updated class type to
final class
in\TgBotLib\Enums > InlineQueryResultType
- Updated class type to
final class
in\TgBotLib\Enums > InputMediaType
- Updated class type to
final class
in\TgBotLib\Enums > InputButtonType
- Updated class type to
final class
in\TgBotLib\Enums > MessageEntityType
- Updated class type to
final class
in\TgBotLib\Enums > PassportElementType
- Updated class type to
final class
in\TgBotLib\Enums > PollType
- Updated class type to
final class
in\TgBotLib\Enums > StickerFormat
- Updated class type to
final class
in\TgBotLib\Enums > StickerType
- Updated class type to
final class
in\TgBotLib\Enums > ThumbnailMimeType
- Updated class type to
final class
in\TgBotLib\Enums > UpdateEventType
- Updated method
\TgBotLib > Bot > handleGetUpdates()
to handle exceptions - Updated README.md to reflect the new changes with TamerLib 2.+
Fixed
- Fixed type in
\TgBotLib\Objects\Telegram > Message > fromArray()
whereforum_topic_created
is being parsed for forum_topic_edited instead offorum_topic_edited
[6.6.0] - 2023-04-10
This update accompanies the release of the Telegram Bot API 6.6.
Added
- Added the ability to set different bot descriptions for different user languages using the method
\TgBotLib\Bot\setMyDescription()
see setMyDescription for more information. - Added the ability to get the current bot description in the given language as the class BotDescription
using the method
\TgBotLib\Bot\getMyDescription()
see getMyDescription for more information. - Added the ability to set different bot short descriptions for different user languages using the method
\TgBotLib\Bot\setMyShortDescription()
see setMyShortDescription for more information. - Added the ability to get the current bot short description in the given language as the class BotShortDescription
using the method
\TgBotLib\Bot\getMyShortDescription()
see getMyShortDescription for more information. - Added method
\TgBotLib\Bot\sendSticker()
to send a sticker to a chat. See sendSticker for more information. - Added method
\TgBotLib\Bot\createNewStickerSet()
to create a new sticker set owned by a user. See createNewStickerSet for more information. - Added the field needs_repainting to the Sticker class
which can be obtained via
TgBotLib\Objects\Telegram\Sticker\needsRepainting()
- Added method
\TgBotLib\Bot\addStickerToSet()
to add a new sticker to a set created by the bot. See addStickerToSet for more information. - Added abstract class
\TgBotLib\Abstracts\StickerFormat
to represent a sticker format ("static
", "animated
" or "video
") - Added method
\TgBotLib\Bot\uploadStickerFile()
to upload a sticker file with a sticker for later use increateNewStickerSet
andaddStickerToSet
methods (can be used multiple times). See uploadStickerFile for more information. - Added method
\TgBotLib\Bot\setCustomEmojiStickerSetThumbnail()
to set the thumbnail of a sticker set. See setCustomEmojiStickerSetThumbnail for more information. - Added object
\TgBotLib\Objects\Telegram\StickerSet
to represent a sticker set. - Added method
\TgBotLib\Bot\setStickerSetThumbnail()
to set the thumbnail of a sticker set. See setStickerSetThumbnail for more information. - Added method
\TgBotLib\Bot\setStickerSetTitle()
to set the title of a sticker set. See setStickerSetTitle for more information. - Added method
\TgBotLib\Bot\deleteStickerSet()
to delete a sticker set. See deleteStickerSet for more information. - Added method
\TgBotLib\Bot\setStickerEmojiList()
to set the list of emojis for a sticker set. See setStickerEmojiList for more information. - Added method
\TgBotLib\Bot\setStickerKeywords()
to set the list of emojis for a sticker set. See setStickerKeywords for more information. - Added method
\TgBotLib\Bot\setStickerMaskPosition()
to change the mask position of a mask sticker. See setStickerMaskPosition for more information.
Changed
- Removed unused
__destruct()
method from\TgBotLib\Bot
- Added proper construction for
PollOption[]
objects inTgBotLib\Objects\Telegram\Poll
- Renamed
thumb
field inTgBotLib\Objects\Telegram\Animation
tothumbnail
- Renamed
thumb
field inTgBotLib\Objects\Telegram\Audio
tothumbnail
- Renamed
thumb
field inTgBotLib\Objects\Telegram\Document
tothumbnail
- Renamed
thumb
field inTgBotLib\Objects\Telegram\Sticker
tothumbnail
- Renamed
thumb
field inTgBotLib\Objects\Telegram\Video
tothumbnail
- Renamed
thumb
field inTgBotLib\Objects\Telegram\VideoNote
tothumbnail
Fixed
- Fixed
TgBotLib\Objects\Telegram\Sticker\toArray()
to properly return thepremium_animation
field
[6.5.2] - 2023-02-26
Added
- Added dependency
net.nosial.tempfile
to create temporary files when uploading content from memory. - Added
\TgBotLib\Abstracts\ChatActionType
- Added logging events to
\TgBotLib\Bot\handleUpdate()
Fixed
- Fixed file uploads when trying to upload content from memory.
[6.5.1] - 2023-02-23
Fixed
- Added a null-safe check for
Poll
'sexplanation_entities
field. #1
[6.5.0] - 2023-02-20
Added
- First Release