mirror of
https://github.com/danog/MadelineProto.git
synced 2024-11-27 10:34:38 +01:00
4.9 KiB
4.9 KiB
MadelineProto was updated (8.0.0-beta101)!
After introducing plugins », bound methods », filters », a built-in cron system », IPC support for the event handler » and automatic static analysis for event handler code » in beta100, beta101 brings some bugfixes and the getDownloadLink
function!
Features:
- Added a
getDownloadLink
function, that can be used to fetch a download link for any file up to 4GB! - Added an
openFileAppendOnly
function, that can be used to asynchronously open a file in append-only mode!
Fixes:
- Improved the
markdownEscape
function! - Translated even more MadelineProto UI elements!
- Improve the static analyzer.
- Made some fixes to simple filters.
- Relax markdown parser.
Introducing MadelineProto's biggest update yet, 8.0.0-beta100!
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 newpin: true
parameter! - You can now use
sendMessageToAdmins
to send messages to the bot's admin (the peers returned bygetReportPeers
). - Added
wrapUpdate
,wrapMessage
,wrapMedia
methods to wrap low-level MTProto updates into an abstracted Message object with bound methods! - The
waveform
attribute ofVoice
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 approf
memory profile to all report peers to debug the causes of high memory usage. - Added support for
pay
,login_url
,web_app
andtg://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!