Skip to content

Instantly share code, notes, and snippets.

View FredrikOseberg's full-sized avatar

Fredrik Strand Oseberg FredrikOseberg

View GitHub Profile
class ActionProvider {
// The action provider receives createChatBotMessage which you can use to define the bots response, and
// the setState function that allows for manipulating the bots internal state.
constructor(createChatBotMessage, setStateFunc, createClientMessage) {
this.createChatBotMessage = createChatBotMessage;
this.setState = setStateFunc;
this.createClientMessage = createClientMessage
}
handleMessageParser = () => {
class MessageParser {
constructor(actionProvider, state) {
this.actionProvider = actionProvider;
// State represents the chatbot state and is passed
// in at initalization. You can use it to read chatbot state
// inside the messageParser
this.state = state
}
parse = (message) => {
import React from "react";
import Chatbot from "react-chatbot-kit";
import config from "./configs/chatbotConfig";
import MessageParser from "./chatbot/MessageParser";
import ActionProvider from "./chatbot/ActionProvider";
function App() {
return (
<div className="App">
@FredrikOseberg
FredrikOseberg / JSdrumkit
Created June 6, 2017 12:48
JS Drumkit My Solution
const keys = document.querySelectorAll('.key');
const audioNodes = document.querySelectorAll('audio');
function getDataKey(key) {
let itemToAddClass;
keys.forEach(dataKeyItem => {
if (Number(dataKeyItem.dataset.key) === key) {
itemToAddClass = dataKeyItem;
}