Skip to content

Releases: jacopotediosi/OctoPrint-Telegram

1.10.0

18 Sep 20:33
122b4ef

Choose a tag to compare

♻️ Main changes

✨ Features & improvements

  • Added support for Telegram channels (#367)
  • Added support for uploading models and slicing via the /files command (#58)
  • Multiple improvements to the /files command:
    • Improved performance and error resilience
    • Copy and move operations can now navigate through folders
    • Added object dimensions to file information
    • More detailed error messages (e.g., when a path no longer exists)
  • Complete rewrite of the /filament command:
    • Fixed broken implementations of filamentmanager and SpoolManager plugins
    • Added support for the Spoolman plugin
    • Added ability to select which filament manager plugin to use when multiple are installed
    • Implemented pagination for spool listings
    • Added a "details" sub-operation to display full spool information
    • Added ability to deselect spools
    • Updated the select operation to allow choosing the target tool for spool selection
    • Performed a general refactor to improve code logic and readability
  • Added new notification events: PrusaMMU_Error and PrusaMMU_Status (support for the Prusa MMU plugin)
  • Added new variables for notification messages:
    • {metadata}: access metadata of printing files (#385)
    • {prusammu}: access data from the Prusa MMU plugin
    • {resource_monitor}: access data from the Resource Monitor plugin
    • {display_layer_progress}, {total_height}, {fan_speed}, {change_filament_count}, {change_filament_time_left}, {change_filament_next_time}: access data from the DisplayLayerProgress plugin
  • Organized Variables dialog into sections
  • Fixed spacings when emojis are disabled
  • Improved the /user command: clearer layout, explicitly showing both chat-enabled commands and individually enabled commands
  • Standardized the StatusNotConnected event to match other notifications: now supports full configuration (text, markup, send with camera photos/GIFs, send silently)
  • Added a button to reset all notification messages to defaults
  • Chats where the bot is no longer a member are now deleted at startup
  • Renamed the plugin_pause_for_user_event_notify event to PausedForUser
  • Renamed notification message variables: currentLayercurrent_layer, totalLayertotal_layer
  • Improved logging performance by avoiding f-strings in logger calls

🐛 Bug fixes

  • Multiple improvements to menu button navigation:
    • It is now possible to navigate multiple menu buttons in the same chat simultaneously without messages incorrectly updating each other
    • Message sending no longer crashes when a menu button is pressed and the message is not modified
  • Fixed repeated plugin_pause_for_user_event_notify (now PausedForUser) notifications (#393)
  • Added missing "command sent" reply to the /gcode command
  • Fixed file sorting by name in the /files command (previously broken due to emojis)

ℹ️ More information

Full changelog (commit-level): 1.9.1...1.10.0

1.9.1

25 Aug 16:44
4d8510e

Choose a tag to compare

♻️ Main changes

This is a minor release that addresses urgent bug fixes. If you’re looking for the changelog for version 1.9.0, you can find it here.

🐛 Bug fixes

  • Fix crash TypeError: 'type' object is not subscriptable on Python < 3.9 (#449)

ℹ️ More information

Full changelog (commit-level): 1.9.0...1.9.1

1.9.0

20 Aug 16:27
ba8d07a

Choose a tag to compare

✋ Known bugs

This release contains a known bug that prevents it from working on Python < 3.9 (#449).
Please install release 1.9.1 instead.

✋ Breaking changes

The /on and /off commands have been replaced by the new /power command, which provides more advanced functionality.
Chats that were previously authorized to use /on will automatically be granted access to /power during the plugin update. However, it is recommended to review the permissions for each chat.

♻️ Main changes

✨ Features & improvements

  • Commands are now case-insensitive (#225)
  • New chat enrollment workflow: adding a chat now requires pressing a button, which starts a short countdown period during which enrollment is active (#400)
  • Improvements to the known chats table in plugin settings:
    • The table now updates automatically, so the "Refresh" button and auto-refresh checkbox have been removed.
    • Updates are real-time, efficient, and modular. If a known chat's photo or title changes, only that element of the table is updated.
  • The /on and /off commands have been replaced by the /power command, which allows you to view all plugs connected to OctoPrint, check their status, and turn them on or off.
  • Added support for the following new plugins (#445):
  • Added a "Suggested plugins" section in the plugin settings to help users discover additional compatible plugins (#188)
  • Notification message improvements:
    • Performance improved by calculating only the template variables actually used in the notification message (lazy loading)
    • If a template variable fails to calculate, it is now replaced with [ERROR] instead of crashing the entire notification message
  • Pre/post image action improvements:
    • Added plugin settings to configure the delay between pre/post image actions and webcam captures (#358)
    • Added the ability to trigger an event as a pre/post image action (#114)
  • Added a setting to skip using cpulimit during GIF generation in environments where it's unavailable (e.g., Octo4a, Windows) (#382, #387)
  • General improvements: refactoring and performance enhancements, particularly regarding plugin settings management and saving

🐛 Bug fixes

  • Fixed a bug that caused notification messages to crash when accessing nested keys in template variables, e.g., {temps[bed][actual]}
  • Webcam image retrieval now adheres to the snapshot timeout configured in OctoPrint settings (#421)
  • Uses the FFmpeg path defined in OctoPrint settings before falling back to the system PATH
  • The /tune command now correctly displays only one tool when the nozzle is shared (#223)

ℹ️ More information

Full changelog (commit-level): 1.8.0...1.9.0

1.8.0

18 Jul 17:37

Choose a tag to compare

♻️ Main changes

🔒 Security fixes

  • Fixed a bot token leak where the token could be inadvertently logged under certain conditions.
  • Plugin APIs now return the correct Content-Type headers, preventing MIME type sniffing attacks.

✨ Features & improvements

  • Multiple UI/UX improvements in the plugin settings:
    • Settings reorganized into multiple tabs
    • Replaced buttons with sliding switches (#209)
    • Sensitive fields (e.g., bot token) are now password fields
    • Added "show/hide" toggle buttons for sensitive fields
    • Added “remember to save” warnings where necessary
    • Added descriptions for available commands and notifications
    • Enlarged dialog windows throughout the plugin settings
    • The "Variables" dialog now lists all usable variables in notification messages
    • Added a new "Proxy formats" dialog to clarify supported proxy string formats
    • Improved content of various informational dialogs
    • Added badges and instructions in the wizard and settings screens to inform users whether dependencies needed to generate gifs are correctly installed
  • The /files command now offers to reprint the last printed object (#386)
  • Added support for variables up to 5 extruders in notification messages (#407)
  • Improved GIF compatibility across devices (#406)
  • Allowed adding webcam GIFs to MovieDone notification messages
  • Added ffmpeg preset setting to let users choose webcam video compression levels
  • Automatically sets bot commands on each startup, ensuring the list is always up to date
  • Allow aborting paused prints as well

🐛 Bug fixes

  • Fixed a crash that occurred when the plugin attempted to send an error message after a message delivery failure
  • Webcam image retrieval now bypasses proxy settings (#408)
  • Added safeguards to avoid sending invalid webcam images or videos to Telegram, which previously blocked entire messages
  • Prevent crashes when sending files larger than 50MB (#347)
  • Fixed overestimated print time in the /files command (#418)
  • Fixed incorrect triggering of the PrinterStart notification when opening plugin settings (#439)
  • User name variables now resolve correctly in notifications, even when prints are started from group chats (#228)
  • Automatic escaping of variables and entities in outgoing messages, depending on the selected markup
  • Fixed out-of-sync issues where settings appeared unsaved after a page reload
  • Fixed "unsupported type for timedelta" crash (#257)

ℹ️ More information

Full changelog (commit-level): 1.7.0...1.8.0

1.7.0

23 Jun 14:49
22e8b1c

Choose a tag to compare

⚠️ New maintainer

🎉 This OctoPrint plugin now has a new maintainer: @jacopotediosi

🔗 The repository has also moved to a new location: https://github.com/jacopotediosi/OctoPrint-Telegram

Huge thanks to the previous maintainers for their great work on the project.

Feel free to open issues and pull requests as usual!

⚠️ Major refactors – bugs may be present

This plugin hadn't seen significant changes since 2021.
It was time for a refresh — and this release includes numerous changes and extensive rewrites throughout the codebase.

As a result, new bugs may have been introduced during the refactoring. If you encounter any, please report them via the Issues tab.

If these bugs disrupt your workflow, you can temporarily roll back to the previous version while waiting for the next release.

To do so, go to OctoPrint Settings → Plugin Manager → Get More, and install the plugin from the following URL:

https://github.com/jacopotediosi/OctoPrint-Telegram/archive/refs/tags/1.6.7.zip

⚠️ New compatibility requirements

To support exciting new features and cleaner, more maintainable code, this plugin now requires (at least):

If you’re still using older versions, it's time to update — new plugin versions cannot run in such outdated environments.

✋ Breaking changes

  • Plugin logs are now saved in a dedicated log file (plugin_telegram.log) instead of octoprint.log. You’ll find it under OctoPrint Settings → Logging → plugin_telegram.log

  • The debug logging checkbox has been removed from plugin settings. Logging level is now controlled via OctoPrint Settings → Logging → Logging Levels.

  • Emoji have been updated to the Unicode 16.0 standard. Some emoji names may have changed — please review the emojis used in the plugin’s notification message settings, as some may no longer work.
    👉 For the new names, refer to the official emoji list (see the Description column).

♻️ Main changes

🔒 Security fixes

  • Improved overall API security: stricter permission checks, better input validation, and CSRF risk eliminated.

  • Enabled autoescape for Jinja templates to prevent potential injection vulnerabilities.

✨ Features & improvements

  • Webcam management improved: the plugin now supports the new OctoPrint webcam integration. On older OctoPrint versions (< 1.9.0), it falls back to the Multicam plugin or legacy webcam settings.

  • You can now use relative URLs if your webcam is exposed on the same server as OctoPrint (localhost).

  • Media (images and GIFs) are now grouped using Telegram’s MediaGroup feature. The old "separate media messages" setting has been removed.

  • New commands added: /home, /photo.

  • Emoji updated to Unicode 16.0. Many more emoji available! Improved consistency across bot messages.

  • Added support for Telegram's MarkdownV2.

  • Added support for limitcpu as a fallback when cpulimit is not available. This allows GIF generation even on systems where cpulimit is not available.

  • Removed the (opt-in) command usage tracking used by previous maintainers.

  • Refactored or completely rewritten many parts of the codebase. Fully migrated to Python 3. Naming conventions now follow PEP8. Linter and formatter warnings fixed. Pre-commit hooks coverage improved: replaced isort, black, and flake8 with modern ruff, added standard, djLint, and codespell. Code readability, performance, and exception handling have been significantly revised and improved. In cleaning up spaghetti code, many bugs were likely fixed silently.

🐛 Bug fixes

  • Webcam orientation should now be correct in all scenarios.

  • #13: Fixed duplicate notifications when printing with Octolapse.

  • Telegram chat actions (e.g., "uploading photo", "typing") are now reliably triggered while the plugin is working.

  • Fixed a crash when sorting files via the /files command.

  • Group chat pictures are now properly saved in plugin settings.

  • Deleted chats no longer reappear in the plugin settings after restarting OctoPrint (unless a new message is received from the chat, and the bot is still part of it).

  • Fixed various typos identified by the new codespell pre-commit hook.

ℹ️ More information

Full changelog (commit-level): 1.6.7...1.7.0

1.6.7

08 May 10:15
c3c1971

Choose a tag to compare

Update plugin version...

Full Changelog: 1.6.6...1.6.7

Octoprint Telegram 1.6.6

05 May 19:59
11047f9

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.6.5...1.6.6

Octoprint Telegram 1.6.5

23 Mar 07:54
dddb992

Choose a tag to compare

try to add loop message for when printing from SDcard
add proxy management
fix for writing files from zip files
add possibility to start print from upload message
add option to remove "I do not understand you" message
add option to invert rotation of images
add option to modify date time format for time_finish
add exception management when new event not add to some user yet
add size management for timelapse send
add event Connected,Disconnected,Home,Alert

Version 1.6.4

16 Feb 16:27
f309f37

Choose a tag to compare

add event MovieDone to get notified when a timelapse is done
add management of smartplug with options if getlist don't work
add show of thumbnail in File Information (need to create an api key on imgbb.com to upload the file. You can set the account as private and there is a possibility to auto delete the file. If you don't put an apikey no file will be uploaded but you will not see the thumbnail)
fix upload problem create when we had to save file in local before upload to not break gcode processor
better check before use of thumbnail
fix problem TPlink smartplug to turn on bad copy paste
add the setCommandList from @rlogiacco (will be possible to send the command for the bot from the plugin options)
add UserNotif event that will be read on serial line with a echo:UserNotif so you could send your own message with gcode command like M118 E1 UserNotif XXXXX
change to fix printTime to finish_time error

Octoprint Telegram 1.6.3

05 Feb 09:35
5b3a54a

Choose a tag to compare

add function to send gcode from telegram /gcode_XXX where XXX is the gcode command (will not check or send text in return)
add {currentLayer}, {totalLayer} - the current and total layers number (need the plugin DisplayLayerProgress)
add function to Turns on and off the Printer power. Requires the PSU Control plugin or the tasmota_mqtt or tplinksmartplug or TuyaSmartplug (this one still need to accept the push request)
add possibility to call gcode or system command before and after taking image.
add notification wait for user directly on the telegram plugin without need of a other plugin
add notification on M600 gcode
add notification on Error
add send of thumbnail on start printing (send by prusa slicer or cura when ufp) need external plugin
change the way we upload file to avoid problem with prepossessed hook