Customizable Steem bot framework

By @bostrot8/19/2018utopian-io

Repository

https://github.com/bostrot/steembot

What is the project about?

A simple and light steem bot framework in NodeJS where plugins can easily be integrated and managed. It can be used to create a ton of plugins which will split ressources and handle the broadcasting part for you. This concept should show a way to unify development on steem bots and help creating useful and harmonic bots. While keeping the "core" really small, new plugins can easily be added by copying them into the plugins folder and if necessary some custom config strings can be added too.

Added Features

Framework

Altough the core exists of very little code the concept of a bot framework with plugins is very important to me. It primarily imports everything from the plugins folder and tries to use it as standard modules while also adding the predefined main libraries. The core exists of an async function imported from the async package which will handle one request at a time to keep this as light as possible while also not hitting API/Blockchain limits.

Chatbot Plugin

This plugin uses Dialogflow intends (huge lists of predefined messages) to answer most common replies like simple Small Talk. If this fails or cannot find an answer to the message it jumps over to the cleverbot API which then answers the message with it's own algorithm.

rSBetCa.gif

Autovote Plugin

While this plugin is the most basic of those listed here it can be pretty important. With a bit logic written by yourself you can create complex algorithms to vote for e.g. keywords that you like or your favorite authors.

Autofollow Plugin

In some workflows it is necessary to follow people automatically. Here is a little example on how you could do that with custom filters. Currently it is set to follow those who are engaging with the community by creating new posts.

fb9iieO.gif

Technology Stack

Roadmap

  • Add sqlite db for better caching
  • Add some helper functions
  • API to let plugins work with each other
  • Docs for plugin development
  • Add more useful plugin examples

How to contribute?

I am highly active on GitHub so just send a pull request or create an issue if you have suggestions, bugs or just want to contribute. There are still some major parts missing in this project. If you have any idea on how to take care of them feel free to hit me up.

GitHub Account

https://github.com/bostrot

38

comments