Twitter plugin for OctoPrint
Octoprint-OctoTweet 1.0.0
OctoTweet is a plugin allowing Octoprint to send notifications to Twitter. This is a fork of the amazing plugin Octorant by @bchanudet.
SETUP
Install the plugin
Install manually using this url : https://github.com/jpg32/OctoPrint-Octotweet/archive/master.zip
Create Twitter App
Login with your Twitter account on developer.twitter.com.
Click on App and then on Create an app:
Select Student:
Follow steps to complete the subscription to Twitter’s Developer Program:
Now you can create a new app:
The next step show you your API Key & API secret keys:
Copy them to the OctoTweet plugin configuration:
Edit app’s permissions:
Go to Keys and tokens :
Generate Access Token & Secret:
Copy generated tokens to Octoprint :
Message Settings
Here you can customize every message handled by Octoprint.
- Toggle the message : by unchecking the checkbox in front of the message title, you can disable the message. It won’t be sent to Twitter.
- Message : you can change the default content here. See the section Message format for more information.
- Include snapshot : if you have a snapshot URL defined in the Octoprint settings, you can choose to upload a snapshot with the message to Twitter.
- Notify every
XX
% : specific to theprinting progress
message, this setting allows you to change the frequency of the notification :10%
means you’ll receive a message at 10%, 20%, 30%, 40% … 80%, 90% of the printing process.5%
means you’ll receive a message at 5%, 10%, 15%, 20% … 80%, 85%, 90%, 95% of the printing process.- etc.
Scripts Settings
Octotweet allows you to launch scripts everytime a message is sent:
- Before sending: perfect for turning some LED on to ensure the webcam will always have enough light when taking the snapshot.
- After sending: perfect for turning the same LED off :smiley:.
Script configuration was deliberately made a little harder, as running scripts exposes much more on the host computer. You can find more indications on the wiki.
Message format
Messages are regular twitter messages, which means you can use:
:emoji:
shortcuts to display emojis.@mentions
to notify someone.
Some events also support variables, here is a basic list:
Printing process : started event
{name}
: name of the file that is being printed{path}
: path of the file in its origin location{origin}
: the origin storage location
Printing process : failed event
{name}
: name of the file that is being printed{path}
: path of the file in its origin location{origin}
: the origin storage location
Printing process : done event
{name}
: name of the file that is being printed{path}
: path of the file in its origin location{origin}
: the origin storage location{time}
: time needed for the print (in seconds){time_formatted}
: same as{time}
, but in a human-readable format (HH:MM:SS
)
Printing process : failed event
{name}
: name of the file that is being printed{path}
: path of the file in its origin location{origin}
: the origin storage location{position}
: position of the hotend
Printing process : paused event
{name}
: name of the file that is being printed{path}
: path of the file in its origin location{origin}
: the origin storage location{position}
: position of the hotend
Printing process : resumed event
{name}
: name of the file that is being printed{path}
: path of the file in its origin location{origin}
: the origin storage location{position}
: position of the hotend
Printing progress event
{progress}
: progress in % of the print{spent}
: time spent since the start of the print (in seconds){spent_formatted}
: same as{spent}
, but in a human-readable format (HH:MM:SS
){remaining}
: time remaining until the end of the print (in seconds){remaining_formatted}
: same as{remaining}
, but in a human-readable format (HH:MM:SS
)
Printer state : error
{error}
: The error received
For more reference, you can go to the Octoprint documentation on Events.