Releases: danog/MadelineProto
editHide, broadcast improvements
Broadcast fixes
This release fixes a broadcast issue, by starting the IPC server immediately when first creating a session, instead of waiting for the next restart.
Bump docker image
This release updates the docker image.
Fix etag generation and update to layer 186
This release fixes etag hash generation (also adding support for string values) and updates to layer 186.
New Methods:
- messages.sendPaidReaction
- messages.togglePaidReactionPrivacy
- payments.getStarsSubscriptions
- payments.changeStarsSubscription
- payments.fulfillStarsSubscription
Changed Methods:
- Added subscription_pricing param to messages.exportChatInvite
- Added subscription_expired param to messages.getChatInviteImporters
- Added paid_enabled param to messages.setChatAvailableReactions
- Added signatures_enabled param to channels.toggleSignatures
- Added profiles_enabled param to channels.toggleSignatures
- Removed enabled param from channels.toggleSignatures
- Added subscription_id param to payments.getStarsTransactions
New Constructors:
- inputFileStoryDocument
- channelAdminLogEventActionToggleSignatureProfiles
- inputInvoiceChatInviteSubscription
- reactionPaid
- starsSubscriptionPricing
- starsSubscription
- messageReactor
Changed Constructors:
- Added signature_profiles param to channel
- Added subscription_until_date param to channel
- Added paid_reactions_available param to channelFull
- Added subscription_expired param to chatInviteExported
- Added subscription_pricing param to chatInviteExported
- Added can_refulfill_subscription param to chatInvite
- Added subscription_pricing param to chatInvite
- Added subscription_form_id param to chatInvite
- Added privacy_policy_url param to botInfo
- Added subscription_until_date param to channelParticipant
- Added subscription_until_date param to channelParticipantSelf
- Added media param to sponsoredMessage
- Added top_reactors param to messageReactions
- Added reaction param to starsTransaction
- Added subscription_period param to starsTransaction
- Added subscriptions param to payments.starsStatus
- Added subscriptions_next_offset param to payments.starsStatus
- Added subscriptions_missing_balance param to payments.starsStatus
Layer 185
New Methods:
- messages.requestMainWebView
- bots.getPopularAppBots
- bots.addPreviewMedia
- bots.editPreviewMedia
- bots.deletePreviewMedia
- bots.reorderPreviewMedias
- bots.getPreviewInfo
- bots.getPreviewMedias
- payments.getStarsRevenueStats
- payments.getStarsRevenueWithdrawalUrl
- payments.getStarsRevenueAdsAccountUrl
- payments.getStarsTransactionsByID
- payments.getStarsGiftOptions
- stories.searchPosts
Changed Methods:
- Added bots_app param to contacts.getTopPeers
- Added effect param to messages.saveDraft
- Added compact param to messages.requestWebView
- Added compact param to messages.requestSimpleWebView
- Added compact param to messages.requestAppWebView
- Added ascending param to payments.getStarsTransactions
- Added limit param to payments.getStarsTransactions
Deleted Methods:
New Constructors:
- inputMediaPaidMedia
- messageMediaPaidMedia
- messageActionPaymentRefunded
- messageActionGiftStars
- updateBusinessBotCallbackQuery
- updateStarsRevenueStatus
- topPeerCategoryBotsApp
- inputStorePaymentStarsTopup
- inputStorePaymentStarsGift
- mediaAreaUrl
- mediaAreaWeather
- starsTransactionPeerAds
- foundStory
- stories.foundStories
- geoPointAddress
- starsRevenueStatus
- payments.starsRevenueStats
- payments.starsRevenueWithdrawalUrl
- payments.starsRevenueAdsAccountUrl
- inputStarsTransaction
- starsGiftOption
- bots.popularAppBots
- botPreviewMedia
- bots.previewInfo
Changed Constructors:
- Added bot_has_main_app param to user
- Added bot_active_users param to user
- Added paid_media_allowed param to channelFull
- Added can_view_stars_revenue param to channelFull
- Added video_start_ts param to documentAttributeVideo
- Added has_preview_medias param to botInfo
- Added play_integrity_project_id param to auth.sentCodeTypeFirebaseSms
- Added effect param to draftMessage
- Added fullsize param to webViewResultUrl
- Added purpose param to inputInvoiceStars
- Removed option param from inputInvoiceStars
- Added radius param to mediaAreaCoordinates
- Added address param to mediaAreaGeoPoint
- Added pending param to starsTransaction
- Added failed param to starsTransaction
- Added gift param to starsTransaction
- Added transaction_date param to starsTransaction
- Added transaction_url param to starsTransaction
- Added bot_payload param to starsTransaction
- Added msg_id param to starsTransaction
- Added extended_media param to starsTransaction
Deleted Constructors:
- simpleWebViewResultUrl
- inputStorePaymentStars
- appWebViewResultUrl
Fixes:
- Add extra validation for getDownloadLink URLs, to make sure only URLs are passed
- Update RPC errors
RPC error classes, default cancellations, IPC fixes
Features:
- Add
\danog\MadelineProto\RPCError\RateLimitError
- Represents a generic rate limiting RPC (FLOOD_WAIT_, FLOOD_PREMIUM_WAIT_, etc) error returned by telegram, extendsRPCErrorException
. - Add
\danog\MadelineProto\RPCError\TimeoutError
- Represents a request timeout RPC error returned by telegram (as opposed to one returned by MadelineProto, which will be an\Amp\TimeoutException
). - Add over 65 more RPC errors in the
danog\MadelineProto\RPCError
namespace that extendRPCErrorException
, to allow usage of specialized catch blocks for the most common RPC errors, instead of just catchingRPCErrorException
and checking$e->rpc
. - Improve docker image defaults.
- Add support for invokeWithBusinessConnection via the
businessConnectionId
parameter on supported methods.
Fixes:
- Handle
FLOOD_PREMIUM_WAIT_
errors during file operations. - Automatically refresh peer info on bot_info_version changes and updatePeerBlocked updates.
- Fix issues with reverse IPC method calls.
- Multiple other bugfixes.
Layer 181
Updated to layer 181 (this is a minor release because new features in the low-level API are not covered by the BC promise).
Features:
- Add chinese translation!
Fixes:
- Fix an issue where some participant flags might not get returned by getPwrChat
- Change error reporting endpoint
New Methods:
- invokeWithGooglePlayIntegrity
- invokeWithApnsSecret
- messages.getAvailableEffects
- messages.editFactCheck
- messages.deleteFactCheck
- messages.getFactCheck
- channels.searchPosts
- payments.getStarsTopupOptions
- payments.getStarsStatus
- payments.getStarsTransactions
- payments.sendStarsForm
- payments.refundStarsCharge
Changed Methods:
- Added reason param to auth.resendCode
- Added play_integrity_token param to auth.requestFirebaseSms
- Added effect param to messages.sendMessage
- Added effect param to messages.sendMedia
- Added effect param to messages.sendMultiMedia
New Constructors:
- updateBroadcastRevenueTransactions
- updateStarsBalance
- payments.paymentFormStars
- payments.paymentReceiptStars
- inputInvoiceStars
- inputStorePaymentStars
- availableEffect
- messages.availableEffectsNotModified
- messages.availableEffects
- factCheck
- starsTransactionPeerUnsupported
- starsTransactionPeerAppStore
- starsTransactionPeerPlayMarket
- starsTransactionPeerPremiumBot
- starsTransactionPeerFragment
- starsTransactionPeer
- starsTopupOption
- starsTransaction
- payments.starsStatus
Changed Constructors:
- Added effect param to message
- Added factcheck param to message
- Added collapsed param to messageEntityBlockquote
- Added play_integrity_nonce param to auth.sentCodeTypeFirebaseSms
Grafana dashboard
This release introduces an official Grafana dashboard for MadelineProto!
See here for more info on how to configure the Prometheus metrics endpoint and Grafana dashboard!
Features:
- Official grafana dashboard, powered by danog/better-prometheus!
- Extract bot API dialog ID handling logic into a separate library, danog/tg-dialog-id!
- Add a previously missing
$deleteHistory
flag todiscardSecretChat
! - Add messages.getEmojiStickerGroups method
Fixes:
- Fix a possible bug in sendVideo
- Fix a possible bug in parseMode parsing
- Fix SecretMessage::delete
- Fix passing of seekable streams to IPC methods
- Other minor bugfixes
- Performance improvements
Entities in polls
Add support for styled text entities in polls, by adding a questionEntities
property and a getQuestionHTML
method to Poll a answerEntities
property and a getHTML
method to PollAnswer.
To avoid confusion with getQuestionHTML
, the inproperly named getHTML
method of QuizPoll was renamed to getSolutionHTML
.
First stable release of MadelineProto v8!
This is the first stable release of MadelineProto v8!
For the full changelog, see the messages on the official MadelineProto channel, starting from https://t.me/MadelineProto/591!
Here are the main highlights:
- Amp v3 & revolt (fibers) support!
- A new simplified, stable and object-oriented event handler API based on filters and plugins!
- New
sendVideo
,sendAudio
,sendDocument
, etc methods with automatic metadata extraction via ffmpeg. - A new getDownloadLink method for files up to 4gb!
- A new broadcast API, that can be used to asynchronously broadcast messages to all users of a bot or userbot in the background, automatically fetching all users of the bot!
- A pure PHP async VoIP implementation to make Telegram voice calls even on limited webhosts!
- An official docker image!
- Built-in static analysis of event handler code!
- Major performance and stability improvements!
- Many other new features and UX improvements, see all messages starting from https://t.me/MadelineProto/591 for more info!
Major parts of the MadelineProto core were split into standalone libraries that can be used without requiring all of MadelineProto:
- https://github.com/danog/AsyncOrm - Async ORM based on AMPHP v3 and fibers.
- https://github.com/danog/telegram-entities - A library to work with Telegram UTF-16 styled text entities.
- https://github.com/danog/tg-file-decoder - A library to work with Telegram bot API file IDs (recently updated).
The next releases will focus on even more features and performance improvements, such as prometheus and grafana statistics, a static TL parser and much, much more!
Cheers!
Daniil Gentili.