Forwarded from MadelineProto | Official Channel (Daniil Gentili)
This version introduces plugins », bound methods », filters », a built-in cron system », IPC support for the event handler » and automatic static analysis for event handler code ».
See the following post for examples!
Other features:
- Thanks to the many translation contributors @ https://weblate.madelineproto.xyz/, MadelineProto is now localized in Hebrew, Persian, Kurdish, Uzbek, Russian, French and Italian!
- Added simplified
sendMessage, sendDocument, sendPhoto methods that return abstract Message objects with simplified properties and bound methods!- You can now use
Tools::callFork to fork a new green thread!- You can now automatically pin messages broadcasted using
broadcastMessages, broadcastForwardMessages by using the new pin: true parameter!- You can now use
sendMessageToAdmins to send messages to the bot's admin (the peers returned by getReportPeers).- Added
wrapUpdate, wrapMessage, wrapMedia methods to wrap low-level MTProto updates into an abstracted Message object with bound methods!- The
waveform attribute of Voice objects is now automatically encoded and decoded to an array of 100 integer values!- Added a custom
PeerNotInDbException class for "This peer is not present in the internal peer database" errors- Added a
label property to the Button class, directly indicating the button label (instead of manually fetching it as an array key).- Added
isForum method to check whether a given supergroup is a forum- Added an
entitiesToHtml method to convert a message and a set of Telegram entities to an HTML string! - You can now use
reportMemoryProfile() to generate and send a pprof memory profile to all report peers to debug the causes of high memory usage.- Added support for
pay, loginurl, webapp and tg://user?id= buttons in bot API syntax!- Added a
getAdminIds function that returns the IDs of the admin of the bot (equal to the peers returned by getReportPeers in the event handler).- Added a new
ParseMode enum!- Added support for HTML lists in parseMode!
- Fixed parsing of markdown code blocks!
Breaking changes:
- Switched to a custom markdown parser with bot API MarkdownV2 syntax, which differs from the previous Markdown syntax supported by parsedown.
- Markdown text can't contain HTML anymore.
Fixes:
- Fixed file uploads with ext-uv!
- Fixed file re-uploads!
- Improve background broadcasting with the broadcast API using a pre-defined list of
whitelist IDs!- Fixed a bug that caused updates to get paused if an exception is thrown during onStart.
- Broadcast IDs are now unique across multiple broadcasts, even if previous broadcasts already completed their ID will never be re-used.
- Now uploadMedia, sendMedia and upload can upload files from string buffers created using
ReadableBuffer.- Reduced memory usage during flood waits by tweaking config defaults.
- Reduced memory usage by clearing the min database automatically as needed.
- Automatically try caching all dialogs if a peer not found error is about to be thrown.
- Fixed some issues with pure phar installs.
- Fixed splitting of HTML and markdown messages
- Fixed formatting of multiline markdown codeblocks
- And many other performance improvements and bugfixes!
