Skip to content

Releases: WizardLoop/BroadcastManager

bump BroadcastManager to 3.2.2

15 Jun 14:17
f2792a3

Choose a tag to compare

[3.2.2] - 2026-06-15

Changed

  • Reduced default broadcast concurrency from 20 to 10.
  • Reduced the maximum allowed concurrency limit from 50 to 30 to reduce pressure on the MadelineProto event loop during large broadcasts.
  • Progress status messages are now edited every 5 seconds instead of every second.
  • Progress status updates now also perform a final update when the operation reaches completion.
  • Slowed down broadcast workers with a small delay between processed jobs.
  • Added a delay after each media album chunk sent with sendMultiMedia.
  • Added a delay between sequential messages sent to the same peer.
  • Broadcast control buttons are now displayed in English:
    • Pause
    • Resume
    • Cancel

Fixed

  • Reduced the chance of Timeout while waiting for updates.getChannelDifference after heavy broadcasts.
  • Reduced unnecessary progress-message edit calls during active broadcasts.
  • Prevented noisy logs for harmless MESSAGE_NOT_MODIFIED errors during progress updates.
  • Improved progress update stability by ignoring unchanged status edits instead of logging them as failures.

Notes

  • This release keeps the custom BroadcastManager flow, including saved message IDs, edit-last-broadcast, delete-last-broadcast, scheduled broadcasts, and self-destruct broadcasts.
  • This is a stability and load-reduction update; it does not migrate to MadelineProto's official Broadcast API.

v3.2.1 - Saved Media Support for Edit Last Broadcast

13 Jun 18:57
ab90700

Choose a tag to compare

[3.2.1] - 2026-06-13

Added

  • Added support for editing last broadcast messages with media loaded from data/{adminId}/media.txt.
  • Added compatibility for passing saved media values / botApiFileId into editLastBroadcastForAll().

Changed

  • Relaxed the $media parameter in BroadcastManager::editLastBroadcastForAll() so it is no longer limited to ?array.
  • Edit-last-broadcast flow can now reuse the same saved media format used by regular broadcast sending.

Notes

  • Passing null as media keeps the existing media unchanged.
  • Passing a saved media value attempts to update the edited message media/caption.

v3.2.0 - Added new features for editing and managing broadcasts, improved state handling, and fixed various issues.

13 Jun 18:09
1196355

Choose a tag to compare

[3.2.0] - 2026-06-13

Added

  • Edit last broadcast message with editLastBroadcastForAll().
  • Optional broadcastId targeting for editing or deleting the last message of a specific broadcast.
  • Metadata peer loading for targeted edit/delete calls when allUsers is empty and broadcastId is provided.
  • Pause/resume/cancel inline controls on live broadcast status messages.
  • Scheduled broadcasts with durable jobs and runner methods.
  • Self-destruct broadcasts with a 0 to 48 hour delay.
  • Persisted per-broadcast metadata in data/broadcasts/{broadcastId}.json.
  • Scheduled and self-destruct job runners.
  • Internal error logging to data/broadcast-errors.log.

Changed

  • Safer state handling using shared state references by broadcast id.
  • Safer cancel behavior: cancel() now marks cancellation without clearing in-flight requests.
  • progress() now includes edit, scheduled, self-destruct, total, elapsed, and TPS fields.
  • Message IDs are saved during broadcast after each successful peer instead of only at the end.
  • editLastBroadcastForAll() and deleteLastBroadcastForAll() can use persisted broadcast metadata instead of only legacy lastBroadcast.txt.
  • deleteAllBroadcastsForAll() now uses one progress loop instead of concurrent progress edits from workers.

Fixed

  • Pause/resume/cancel state reference issue.
  • Workers not stopping after done.
  • Unsafe watchdog behavior that could duplicate sends.
  • Concurrent progress edits in deleteAllBroadcastsForAll().

v3.1.0

13 Apr 06:37
6d228a0

Choose a tag to compare

[3.1.0] - 2026-04-13

Refactor BroadcastManager for improved functionality

  • Updated BroadcastManager class to improve functionality and code structure.
  • Added support for handling broadcast IDs, enhanced error handling, and refactored methods to accept optional chat IDs.

Added:

  • added isActive() to check active
  • added option to set chatId as null

Fixed:

  • fixed progress() to update progress state from all methods

v3.0.5 - Handle additional RPCErrorException cases

18 Jan 07:43
8a44fe9

Choose a tag to compare

[3.0.5] - 2026-01-18

Added & Fixed:

  • Handle additional RPCErrorException cases

v3.0.4 - Peer filtering is now handled outside of broadcast execution

13 Jan 21:11
31090e0

Choose a tag to compare

[3.0.4] - 2026-01-13

Added & Fixed:

  • Extracted peer filtering from broadcast execution
  • Reduced unnecessary processing during broadcasts

v3.0.3 - Fix getDataDir() to handle uninitialized $dataDir

11 Jan 13:20
c165cba

Choose a tag to compare

[3.0.3] - 2026-01-11

Fixed:

  • Fix getDataDir() to handle uninitialized $dataDir

v3.0.2

11 Jan 12:30
89768c3

Choose a tag to compare

[3.0.2] - 2026-01-11

Added:

  • setDataDir & getDataDir

v3.0.1

11 Jan 11:35
b1ffa4b

Choose a tag to compare

[3.0.1] - 2026-01-11

Fixed:

  • lastBroadcastData

v3.0.0

11 Jan 03:44
e7cc936

Choose a tag to compare

[3.0.0] - 2026-01-11

Version 3.0.0

Added:

  • Added hasAllBroadcast().

Improvements:

  • Watchdog monitors stuck jobs and re-enqueues them.
  • Improved file handling for lastBroadcast.txt and messages.txt.
  • Modularized code structure for readability and maintainability.

Fixed:

  • Better error handling for missing files or blocked users.
  • Proper cleanup of message files after deletion.