Skip to content

inertia186/freakazoid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

freakazoid

Freakazoid is a cleverbot integrated bot for Hive.

Changes in v0.0.4

  • Hive / Eclipse Update
  • Gem Update
  • Added optional support for meeseeker.

Features

  • Added account name as Conversation ID so that Cleverbot maintains separate conversations with each account.
  • Now sending a random sub-string for interaction greater than 140 characters. This is so long posts don't flood Cleverbot, but also makes it seem like the bot read a specific part of the post and is reacting to it, just like a typical human.
  • Added except_apps and only_apps config options, which helps avoid endless bot-on-bot conversations.
  • The bot will now follow users who meet certain criteria.
  • Added the ability to vote and self-vote if certain criteria have been met.


This bot will automatically reply to posts and comments that reply to and mention the bot. The replies are provided by the Cleverbot API.

The main reference implementation of Freakazoid is @banjo. For example:


Install

Linux
$ sudo apt-get update
$ sudo apt-get install ruby-full git openssl libssl1.0.0 libssl-dev
$ sudo apt-get upgrade
$ gem install bundler
macOS
$ gem install bundler

I've tested it on various versions of ruby. The oldest one I got it to work was:

ruby 2.0.0p645 (2015-04-13 revision 50299) [x86_64-darwin14.4.0]

You can try the system version of ruby, but if you have issues with that, use this how-to, and come back to this installation at Step 4:

Setup

First, clone this git and install the dependencies:

$ git clone https://github.com/inertia186/freakazoid.git
$ cd freakazoid
$ bundle install
Configure

Edit the config.yml file.

:freakazoid:
  :block_mode: irreversible
  :account_name: <your Hive bot name>
  :posting_wif: <your Hive bot posting key>
  :cleverbot_api_key: <your cleverbot api key>

:chain_options:
  :chain: hive
  :url: https://api.hive.blog

In order to integrate with Cleverbot, you need to register your bot and get a key: https://www.cleverbot.com/api/

Edit the support/reply.md template (optional).

Meeseeker Support

If you are running a meeseeker sync, you can enable this option for streaming by uncommenting the :meeseeker: config group of config.yml. If your meeseeker sync is running on another host, update the :url: line with the correct address.

See: https://github.com/inertia186/meeseeker

Example:

:meeseeker_options:
  :url: redis://127.0.0.1:6379/0
Run Mode

Then run it:

$ rake run

Freakazoid will now do it's thing. Check here to see an updated version of this bot:

https://github.com/inertia186/freakazoid


Upgrade

Typically, you can upgrade to the latest version by this command, from the original directory you cloned into:

$ git pull

Usually, this works fine as long as you haven't modified anything. If you get an error, try this:

$ git stash
$ git pull
$ git stash pop
$ bundle install

If you're still having problems, I suggest starting a new clone.


Troubleshooting

Problem: Everything looks ok, but every time Freakazoid tries to reply, I get this error:
Unable to reply with <account>.  Invalid version
Solution: You're trying to reply with an invalid key.

Make sure the .yml file contains the correct voting key and account name (social is just for testing).

Problem: The node I'm using is down.

Is there a list of nodes?

Solution: Yes, special thanks to @holger80.

https://hive.blog/@fullnodeupdate


Tests

  • Clone the client repository into a directory of your choice:
    • git clone https://github.com/inertia186/freakazoid.git
  • Navigate into the new folder
    • cd freakazoid
  • Basic tests can be invoked as follows:
    • rake
  • To run tests with parallelization and local code coverage:
    • HELL_ENABLED=true rake

Get in touch!

If you're using Freakazoid, I'd love to hear from you. Drop me a line and tell me what you think! I'm @inertia on Hive and Discord.

License

I don't believe in intellectual "property". If you do, consider Freakazoid as licensed under a Creative Commons CC0 License.

About

Cleverbot integration for Hive.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages