
Click here to get redirected to the GitHub repository of Tweem.
It's been a while since the last update post for Tweem. Due to my work on the @checky bot and on another unannounced project, I had to stop bringing updates to Tweem. Now that @checky is a few changes away from its final state I can bring some of my attention back to Tweem. A month ago, @bitcoinparadise suggested to implement a tweet frequency feature which made me start working on this bot again. This suggestion was made in the comment section of his wonderful tutorial on how to install Tweem on Linux which you can read by clicking here. Once again @bitcoinparadise, thank you for this great tutorial ! Now let's talk about Tweem's new features and improvements.
Templating your tweets is less confusing !
The old templating system was too complex compared to what it was capable of and hard to read for users trying to modify it. The new templating system tries to tackle those problems by making everything seem more natural. There are now three different templates, one for resteems, one for posts and one for tweet-like posts (more on that later), this will allow you to have more freedom in the way you want your tweets to appear without having to fit all your logic in one complicated template. Forget about the old template mechanisms, now variables are written between single curly brackets (
{variable}
instead of {{variable}}
) and parts of text can be set as optional by putting them inside square brackets ([optional text]
). The importance indicator has also changed a little, you now have to put it outside the brackets instead of inside ({variable}::1
instead of {variable::1}
, the same applies to square brackets). While we are on the topic of variables, three modifiers have been added to the templating system: "uppercase", "lowercase" and "capitalize". Those modifiers will modify the value of a variable they are assigned to. In order to assign a modifier to a variable just write your variable name followed by the modifier's name like so : {variable,modifier}
. An example of the new templating system can be found by clicking here. (commit)Crosspost your tweet-like posts !
As promised on the last update post, crossposting has been added to Tweem's use cases. Since the bot only posts on Twitter for the moment, posts need to have a tweet-like appearance in order to be crossposted. A tweet-like post is a post that has its status in the title and a body that is either empty, contains only images (in the Markdown format) or a YouTube video link. Zappl's posts are also considered as tweet-like posts. When Tweem has to crosspost a tweet-like post to Twitter, it looks at your template for tweet-like posts and tweets following this template, it also uploads images if there are any attached to your post. Allowing crossposting for users works just like for posts and resteems via the
steem_accounts
property of the configuration file, in this case you will have to put those user's usernames in the tweet_like
array. (pull request - commit 1 - commit 2 - commit 3 - commit 4)Set the frequency of your tweets !
Thanks to @bitcoinparadise for this suggestion. Some of you may have a lot of users in their
steem_accounts
arrays and may not want to spam their Twitter followers too much. Tweem's new frequency setting should help you with that. By setting the frequency to 5 minutes for example, two tweets that should have been sent less than 5 minutes apart will be forced to be sent 5 minutes apart from each other. The tweet frequency can be found in the settings under the name post_frequency_minutes
, it is at 0 by default which means that tweets get sent as soon as possible by default. (commit)Remove useless tags
While they may appear useful on your Steem posts, some of the tags you use may make less sense on Twitter. It would be nice to have a way to remove those tags before tweeting. This is now possible thanks to two new sub-settings added to the
tags
setting. The first one is called remove_app_tags
and, as you may have already guessed from its name, it is used to choose whether or not you want app tags ('utopian-io' for Utopian, 'dsound' for DSound, ...) to be removed from your tweets. The other introduced sub-setting is filtered_out
, it is an array that you can fill with all the tags you don't want to see in your tweets. (commit 1 - commit 2 - commit 3)Propagate tags
When you post on the Steem blockchain most apps restrict you to 4 or 5 tags. This restriction doesn't exist on Twitter though so you should be able to have more than 5 tags on the tweets made with Tweem. This has been made possible thanks to tag propagation. It is pretty easy to understand but may be hard to set for people who don't know JSON, for this reason I've added an explained example after this paragraph. What is referred to as tag propagation in this project is the adding of new tags to a tweet based on the original post's tags. If your post contains a #gaming tag for example, you can set Tweem to automatically add the #games tag on your tweet if it doesn't already exist on your post. Tag propagation happens before tag deletion, this means that you can use those two settings together to replace tags by others. Tag propagation can be set via the
propagate
sub-setting of the tags
setting, here is an example of how to use it. (commit)"tags": { <-- The tags setting
"propagate": { <-- The propagate sub-setting
"gaming": [ <-- The tag to be propagated
"video", <-- ┐
"games", <-- The tags to be added
"indie" <-- ┘
],
"life": [ <-- The tag to be propagated
"vlog" <-- The tag to be added
]
}
}
Other improvements
- The default app is now strictly checked, meaning if the default app specified in the settings can't read posts from any other app Tweem will use Steemit as the default app. (commit)
- Hyphens in tags are now replaced by underscores to create valid hashtags. (commit)
- Any mention of Twitter in the code has been removed to prepare it for other social networks. This doesn't apply to the use of the term "tweet-like" and to the
twitter.js
file. (commit) - The post's link can be accessed in templates as a variable but putting it anywhere else than at the end of a template is not recommended as it hasn't been tested in other positions.
Supported applications (changes)
It had been a while since I hadn't refreshed the applications list so today's list is quite big. Since the last post, 16 applications have been added to this list and 3 have been removed. You can see the exact changes made to that list in the table below.
± | Application | Label | Description | P | V |
---|---|---|---|---|---|
+ | BlockPress | blockpress | Blockchain based content management system. | ✗ | ✓ |
+ | Coogger | coogger | An information sharing network that works with multiple applications. | ✓ | ✓ |
+ | dlike | dlike | Share What You Like. | ✓ | ✓ |
- | DLive | dlive | The first decentralized live streaming and video platform for you to share original content, and earn feeless rewards directly from your viewers. | ✓ | ✓ |
+ | dMania | dmania | Make money with memes, funny pictures and videos. | ✓ | ✓ |
+ | dPoll | dpoll | Decentralized poll app on top of the STEEM blockchain. | ✓ | ✓ |
+ | eSteem | esteem | Blog, vote, share pictures and get paid. | ✓ | ✓ |
+ | Głodni Wiedzy | glodniwiedzy | Dedicated Polish Steem user interface for displaying content of selected users. | ✗ | ✓ |
+ | Knacksteem | knacksteem | Rewarding Talent. | ✓ | ✓ |
- | OnePlace | oneplace | Web-application based on Steem and Golos blockchains. | ✓ | ✓ |
+ | Partiko | partiko | Fast and beautiful Steem on the go. | ✓ | ✓ |
+ | Share2Steem | share2steem | Cross-post your public social publications to a Steemit account. | ✓ | ✗ |
+ | SteemGigs | steemgig | A Revolutionary Decentralized Freelance Marketplace With Its Own Knowledge-Bank. | ✓ | ✓ |
+ | SteemPeak | steempeak | A new way to experience the Steem platform. | ✓ | ✓ |
- | SteemThink | steemthink | You Ask - We Answer - Share Knowledge. | ✓ | ✓ |
+ | Strimi | strimi | An interface for the STEEM blockchain that acts like Reddit. | ✓ | ✓ |
+ | Ulogs | ulogs | "True celebrity-hood" once and for all, for "everyone". | ✓ | ✓ |
+ | Uneeverso | uneeverso | Gestión de automatización STEEM. | ✗ | ✓ |
+ | Vimm.TV | vimm.tv | Live Streaming Made Easy - Monetization Simplified | ✓ | ✓ |
If you are working on an application that you feel should be in this list, let me know through a comment on this post ! I'll add it as soon as possible.
What's coming next ?
- Sharing and crossposting on more websites: Tumblr, Facebook, Instagram, Reddit...
- A GitHub Pages hosted website to generate
config.json
files that fit your need. - Better processing of resteems containing a comment when they will be made available on Steem.
- Frequent updates to support more Steem applications.
You can find a live version of this list on the Projects page of Tweem.
Contributions
If you want to contribute to this project or talk about an issue it has, feel free to visit its GitHub page. You can also clone it and follow the instructions written there to get it running. My social medias are listed at the end of the README file. If you add me on Steam, tell me the reason why on my wall, otherwise I won't accept your friend request.