Introducing Steem Twitter Bot, a bot that lets you interact with the Steem blockchain through direct messages

in #utopian-io7 years ago (edited)

header.png

Click here to test this bot.

Have you ever wondered what it would be like to interact with the Steem blockchain through Twitter direct messages ? No ? Well, me neither but this idea came to my mind one day and I knew I had to make it real. Some months ago, I realized that I could make a Twitter bot pretty easily thanks to a package named Twit. Since then, I've been thinking about what kind of bot I could make which would be interesting to work on as well as being useful. About a week ago, I was in the train to school and looking at my feed on Busy (an alternative to Steemit) as usual when I got a message from my 4G provider telling me that I had used all the data available for that month. My subscription gives me free unlimited access to data from Twitter and Facebook though so I decided to open Twitter and check my feed since I didn't have much else to do. And then it hit me, since I had free access to Twitter, why not making a bot that interacts with the Steem blockchain ? This way I could keep reading articles from trending, created, hot, my feed, etc... even if I didn't have any data left ! So it's from this crazy idea that Steem Twitter Bot was born (awesome name I know !).

What is Steem Twitter Bot ?

As said above, Steem Twitter Bot is an Open-Source Twitter bot that lets you interact with the Steem blockchain through direct messages. To test it, you can click on the link available at the beginning of this post and send the account a direct message (don't forget to follow the bot first !). Right now, it's quite limited and only allows you to get a list of posts and open one of them.

Here are the available commands:

  • help: prints a list of available commands. You can specify a command to get an in depth description of it.
  • blog: prints the last 10 posts from a specified user's blog. You can also specify the quantity of posts to be printed.
  • feed: prints the last 10 posts from a specified user's feed. You can also specify the quantity of posts to be printed.
  • created: prints the 10 most recent posts. You can also specify a tag and the quantity of posts to be printed.
  • hot: prints the 10 hottest posts. You can also specify a tag and the quantity of posts to be printed.
  • trending: prints the the 10 trendiest posts. You can also specify a tag and the quantity of posts to be printed.

Here are the available subcommands for these commands (except "help"):

  • open: opens a post from a previously printed list of posts. If no post number is specified, the first post from the list will be opened.
  • next: opens the post coming after an opened post on a previously printed list of posts.
  • close: closes an opened post by printing a previously printed list of posts again.

What's coming next ?

  • Posts formatting

Right now, the posts are being printed in their raw state. I will work on formatting them correctly to have them appear somewhat nicely in direct messages.

  • Linking your account

This just means writing a command like "set account ragepeanut" so you only have to write "feed" instead of "feed ragepeanut" when you want to take a look at your feed.

  • Personalized posts formatting

This is related to the first point. Ultimately, my formatting decisions may not be of a good taste to you. I plan on giving users the possibility to set their own formatting in the same fashion as linking their account, through a command like "set line -----".

  • More post informations

Right now, the posts only show their title and content. They will soon show more informations like their comments, their upvotes/downvotes and their value.

  • Comments and replies

An important feature that's missing right now is checking your replies/comments. This will come once I find a free Steem database to use.

  • SteemConnect V2 integration

I still don't know how it would work, probably through a web page. You would have to link your Twitter profile to your Steem profile to be able to upvote, comment, reply, ... through direct messages. This will take more time than the rest to come though.

  • Any idea ?

If you have any idea, be sure to share it below or, if it's a somewhat big idea, make a post about it.


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 wrote there to get it running. My social medias are listed at the end of the README.md file. If you add me on Steam, tell me the reason why on my wall, otherwise I won't accept your friend request.

Language and packages used

This bot is fully written in Node.js. At the moment, it only requires two packages to work. The first one is steem.js which allows it to interact with the Steem blockchain. The second one is Twit which allows it to interact with the Twitter API. This project wouldn't exist without those two packages, if you are a developer looking to make something related to Steem/Twitter, definitely go check them out !



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

This idea sounds interesting. It doesn't seem to be working at the moment. Can you post a status on @SteemBot_ if you are on maintenance or something else?

I allowed anyone to send a private message but it doesn't seem to work as expected, will look into that this week-end. Meanwhile to counter that problem, you can follow the bot and it should work fine.

Sorry for the inconvenience.

Thank you for the contribution. It has been approved.

You can contact us on Discord.
[utopian-moderator]

Hey @ragepeanut I am @utopian-io. I have just upvoted you!

Achievements

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • Seems like you contribute quite often. AMAZING!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x

Coin Marketplace

STEEM 0.19
TRX 0.18
JST 0.034
BTC 89118.52
ETH 3131.33
USDT 1.00
SBD 2.76