multi-stream-chatbot
v1.0.0
Published
Chatbot framework that listens and sends messages to multiple streaming platforms simultaneously
Downloads
9
Maintainers
Readme
multi-stream-chatbot
Chatbot framework that listens and sends messages to multiple live-streaming platforms simultaneously
Documentation
Quick Start
// Create an action
class DiceRollAction extends AbstractSimpleChatAction {
matchesCommand(message, ctx) {
return new MessageParser().parseCommand(message) === "!dice"
}
async makeMessage(message, ctx) {
const num = this.rollDice()
return `You rolled a ${num}`
}
rollDice() {
const sides = 6
return Math.floor(Math.random() * sides) + 1
}
}
const actions = [new DiceRollAction()]
// Configure twitch auth
const twitchAuth = new TwitchAuth({
oauthToken: process.env.TWITCH_BOT_KEY,
botUsername: process.env.TWITCH_BOT_USERNAME,
channel: process.env.TWITCH_CHANNEL
})
// Create a bot
const bot = new StreamBot({
streams: [new TwitchStream(twitchAuth)],
actions
})
// Start the bot
bot.start()
Streams
Supports:
- Youtube
- Twitch
- Dummy (Interval)
Actions
SimpleChatAction
Handles one command. See DiceAction for more details.
var {
AbstractSimpleChatAction,
} = require("multi-stream-chatbot/actions")
StrategyBasedChatAction
Handles multiple commands that share state. See PollActions for more details.
var {
AbstractStrategyBasedChatAction,
AbstractMessageStrategy,
} = require("multi-stream-chatbot/actions")
Test Locally
npm test
npm pretty
Example
See the Hacker Shack livestream chatbot repo to see usage examples.
Donations
Thanks for the support!
Zachary Nawrocki
: Love your videos. I've been working on a chat bot for my personal home assistant project, and these ideas have given me some inspiration. Thanks.