Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

twitchbot

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

twitchbot

  • 0.0.5
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

Twitchbot

A plugin-based framework for creating Twitch chat bots, written in Ruby and based on EventMachine and Faye::WebSocket.

Notes:

  • Plugins are first class citizens
  • Helper functions implemented to gate-keep commands
  • Bot can currently only join one channel (it might stay that way)
  • Read the source until I get all the documentation completed

Installation

Add this line to your application's Gemfile:

gem 'twitchbot'

And then execute:

$ bundle

Or install it yourself as:

$ gem install twitchbot

Getting Started

Require Twitchbot

require 'twitchbot'

Create Plugins

# MessagePlugin, which listens for the registered command preceeded by the Bot command_prefix
class HiPlugin
  include Twitchbot::MessagePlugin

  register command: 'hi', method: :say_hi

  def say_hi(message, arg)
    message.respond 'Hello world!'
  end
end

# TimedPlugin, which fires off the registered command periodically
class ShoutOutPlugin
  include Twitchbot::TimedPlugin

  register method: :social, interval: 15 # Time in seconds

  def social(handler)
    handler.send_channel('Hello! Check my social media out!')
  end
end

# Plugin, which listens for registered commands according to the raw IRC command
class PutsPlugin
    include Twitchbot::Plugin
    
    register command: 'PRIVMSG', method: :put_string
    
    def put_string(handler)
        handler.messages.each do |message|
            puts message
        end
    end
end

Create and start Bot

bot = Twitchbot::Bot.new do |bot|
  bot.username = 'bot_name'
  bot.password = 'oauth:password'
  bot.channel = 'channel_name'
  bot.plugins = [HiPlugin, ShoutOutPlugin, PutsPlugin]
  bot.debug = true
  # bot.command_prefix = '$' # Default is '!'
end

bot.start

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/craysiii/twitchbot.

License

The gem is available as open source under the terms of the MIT License.

FAQs

Package last updated on 02 Dec 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc