Skip to content

Repository files navigation

Mind Stack

A powerful and flexible bot framework for building bots without restrictions

Introduction

Read the docs, have a look at our examples, or see the list of repositories that power this project.

Why choose between coding and configuration when you can have both. Configure your services (discord, slack, etc), and code your logic.

This framework provides structuring and guidelines to allow the user to write there own use cases with tools they need readily available.

THIS IS AN ONGOING PROJECT, DOCUMENTATION WILL BE UPDATED AS THE PROJECT PROGRESSES

Getting started

You can take a look at our docker box or CLI tool. Otherwise you will need the following setup and ready to go, then your ready for installation:

Installation

Create a new git repository for your bot instance and setup a node project using npm init inside the repo.

Now create an empty file called bot.js and install Mind Stack:

NPM

 npm i -S mindstack

Yarn

 yarn add mindstack

Now you need to make sure you have a RabbitMQ server setup with a queue/exchange called mindstack:

Fresh install (Ubuntu)

 apt-get install rabbitmq-server
service rabbitmq-server start
rabbitmq-plugins enable rabbitmq_management
rabbitmqadmin declare queue name=mindstack durable=false

Only creating the queue (Preexisting RabbitMQ install)

 rabbitmqadmin declare queue name=mindstack durable=false

Usage

Node (bot.js)

constMindStack=require('mindstack');letbotInstance=newMindStack();

Command line

 node bot.js

See docs for giving your bot functionality and features

Repositories

There are several repositories used to add functionality or work with Mind Stack. They are listed categorically below (send a request if you want to add your own repositories)

Adapters

  • Alexa - Alexa adapter for Mind Stack
  • Discord - Discord adapter for Mind Stack
  • Mail - Mail adapter for Mind Stack
  • Slack - Slack adapter for Mind Stack
  • Terminal - Terminal adapter for Mind Stack

Bot instance

  • Mind Stack - A powerful and flexible bot framework for building bots without restrictions

Data services

  • Data bite - ES6 simplified class for consuming data from an external service

Frameworks

  • High tech - A framework for building skills/applications for bleeding edge tech devices

Lexicon

  • Lemme Lex - A library for creating dictionaries that can be utilised by NLP tools
  • Consent lex - A lexicon for giving or declining consent (yes and no)
  • Salutation lex - A lexicon for arrival and departure salutations

Payment

  • Payment provider - Abstraction class for handling payments from multiple providers using common methods
  • VC PP - Virtual currency payment provider
  • Alexa PP - Alexa Payment provider

Recognisers

  • Eduir - Educated intent recogniser
  • Molir CLI - Molir (A.k.a Most Likely/Obvious Intent Recogniser) command line tool

Scaffolding

Skillsets

  • Basic skillset - A basic skillset for a bot that can say hello and goodbye in many different ways
  • Store skillset - Sell products and services, ecommerce using natural language

Transformers

  • Sanitize mail - A sanitize-html wrapper optimised for sanitising HTML for email clients
  • Strip mentions - Strip @mentions from a string using a default or custom handle style
  • Turndown SSML - A Turndown plugin to convert SSML into markdown files
  • Verbose Utterance - Interprete/compile *.utter files for creating a verbose library of utterances

Virtual machines

  • Brain box - Docker machine for running Mind Stack instance

About

A powerful and flexible framework for building bots without restrictions

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - Truemedia/mindstack: A powerful and flexible framework for building bots without restrictions · GitHub
Skip to content

Repository files navigation

Mind Stack

A powerful and flexible bot framework for building bots without restrictions

Introduction

Read the docs, have a look at our examples, or see the list of repositories that power this project.

Why choose between coding and configuration when you can have both. Configure your services (discord, slack, etc), and code your logic.

This framework provides structuring and guidelines to allow the user to write there own use cases with tools they need readily available.

THIS IS AN ONGOING PROJECT, DOCUMENTATION WILL BE UPDATED AS THE PROJECT PROGRESSES

Getting started

You can take a look at our docker box or CLI tool. Otherwise you will need the following setup and ready to go, then your ready for installation:

Installation

Create a new git repository for your bot instance and setup a node project using npm init inside the repo.

Now create an empty file called bot.js and install Mind Stack:

NPM

 npm i -S mindstack

Yarn

 yarn add mindstack

Now you need to make sure you have a RabbitMQ server setup with a queue/exchange called mindstack:

Fresh install (Ubuntu)

 apt-get install rabbitmq-server
service rabbitmq-server start
rabbitmq-plugins enable rabbitmq_management
rabbitmqadmin declare queue name=mindstack durable=false

Only creating the queue (Preexisting RabbitMQ install)

 rabbitmqadmin declare queue name=mindstack durable=false

Usage

Node (bot.js)

constMindStack=require('mindstack');letbotInstance=newMindStack();

Command line

 node bot.js

See docs for giving your bot functionality and features

Repositories

There are several repositories used to add functionality or work with Mind Stack. They are listed categorically below (send a request if you want to add your own repositories)

Adapters

  • Alexa - Alexa adapter for Mind Stack
  • Discord - Discord adapter for Mind Stack
  • Mail - Mail adapter for Mind Stack
  • Slack - Slack adapter for Mind Stack
  • Terminal - Terminal adapter for Mind Stack

Bot instance

  • Mind Stack - A powerful and flexible bot framework for building bots without restrictions

Data services

  • Data bite - ES6 simplified class for consuming data from an external service

Frameworks

  • High tech - A framework for building skills/applications for bleeding edge tech devices

Lexicon

  • Lemme Lex - A library for creating dictionaries that can be utilised by NLP tools
  • Consent lex - A lexicon for giving or declining consent (yes and no)
  • Salutation lex - A lexicon for arrival and departure salutations

Payment

  • Payment provider - Abstraction class for handling payments from multiple providers using common methods
  • VC PP - Virtual currency payment provider
  • Alexa PP - Alexa Payment provider

Recognisers

  • Eduir - Educated intent recogniser
  • Molir CLI - Molir (A.k.a Most Likely/Obvious Intent Recogniser) command line tool

Scaffolding

Skillsets

  • Basic skillset - A basic skillset for a bot that can say hello and goodbye in many different ways
  • Store skillset - Sell products and services, ecommerce using natural language

Transformers

  • Sanitize mail - A sanitize-html wrapper optimised for sanitising HTML for email clients
  • Strip mentions - Strip @mentions from a string using a default or custom handle style
  • Turndown SSML - A Turndown plugin to convert SSML into markdown files
  • Verbose Utterance - Interprete/compile *.utter files for creating a verbose library of utterances

Virtual machines

  • Brain box - Docker machine for running Mind Stack instance

About

A powerful and flexible framework for building bots without restrictions

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - Truemedia/mindstack: A powerful and flexible framework for building bots without restrictions · GitHub
Skip to content

Repository files navigation

Mind Stack

A powerful and flexible bot framework for building bots without restrictions

Introduction

Read the docs, have a look at our examples, or see the list of repositories that power this project.

Why choose between coding and configuration when you can have both. Configure your services (discord, slack, etc), and code your logic.

This framework provides structuring and guidelines to allow the user to write there own use cases with tools they need readily available.

THIS IS AN ONGOING PROJECT, DOCUMENTATION WILL BE UPDATED AS THE PROJECT PROGRESSES

Getting started

You can take a look at our docker box or CLI tool. Otherwise you will need the following setup and ready to go, then your ready for installation:

Installation

Create a new git repository for your bot instance and setup a node project using npm init inside the repo.

Now create an empty file called bot.js and install Mind Stack:

NPM

 npm i -S mindstack

Yarn

 yarn add mindstack

Now you need to make sure you have a RabbitMQ server setup with a queue/exchange called mindstack:

Fresh install (Ubuntu)

 apt-get install rabbitmq-server
service rabbitmq-server start
rabbitmq-plugins enable rabbitmq_management
rabbitmqadmin declare queue name=mindstack durable=false

Only creating the queue (Preexisting RabbitMQ install)

 rabbitmqadmin declare queue name=mindstack durable=false

Usage

Node (bot.js)

constMindStack=require('mindstack');letbotInstance=newMindStack();

Command line

 node bot.js

See docs for giving your bot functionality and features

Repositories

There are several repositories used to add functionality or work with Mind Stack. They are listed categorically below (send a request if you want to add your own repositories)

Adapters

  • Alexa - Alexa adapter for Mind Stack
  • Discord - Discord adapter for Mind Stack
  • Mail - Mail adapter for Mind Stack
  • Slack - Slack adapter for Mind Stack
  • Terminal - Terminal adapter for Mind Stack

Bot instance

  • Mind Stack - A powerful and flexible bot framework for building bots without restrictions

Data services

  • Data bite - ES6 simplified class for consuming data from an external service

Frameworks

  • High tech - A framework for building skills/applications for bleeding edge tech devices

Lexicon

  • Lemme Lex - A library for creating dictionaries that can be utilised by NLP tools
  • Consent lex - A lexicon for giving or declining consent (yes and no)
  • Salutation lex - A lexicon for arrival and departure salutations

Payment

  • Payment provider - Abstraction class for handling payments from multiple providers using common methods
  • VC PP - Virtual currency payment provider
  • Alexa PP - Alexa Payment provider

Recognisers

  • Eduir - Educated intent recogniser
  • Molir CLI - Molir (A.k.a Most Likely/Obvious Intent Recogniser) command line tool

Scaffolding

Skillsets

  • Basic skillset - A basic skillset for a bot that can say hello and goodbye in many different ways
  • Store skillset - Sell products and services, ecommerce using natural language

Transformers

  • Sanitize mail - A sanitize-html wrapper optimised for sanitising HTML for email clients
  • Strip mentions - Strip @mentions from a string using a default or custom handle style
  • Turndown SSML - A Turndown plugin to convert SSML into markdown files
  • Verbose Utterance - Interprete/compile *.utter files for creating a verbose library of utterances

Virtual machines

  • Brain box - Docker machine for running Mind Stack instance

About

A powerful and flexible framework for building bots without restrictions

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - Truemedia/mindstack: A powerful and flexible framework for building bots without restrictions · GitHub
Skip to content

Repository files navigation

Mind Stack

A powerful and flexible bot framework for building bots without restrictions

Introduction

Read the docs, have a look at our examples, or see the list of repositories that power this project.

Why choose between coding and configuration when you can have both. Configure your services (discord, slack, etc), and code your logic.

This framework provides structuring and guidelines to allow the user to write there own use cases with tools they need readily available.

THIS IS AN ONGOING PROJECT, DOCUMENTATION WILL BE UPDATED AS THE PROJECT PROGRESSES

Getting started

You can take a look at our docker box or CLI tool. Otherwise you will need the following setup and ready to go, then your ready for installation:

Installation

Create a new git repository for your bot instance and setup a node project using npm init inside the repo.

Now create an empty file called bot.js and install Mind Stack:

NPM

 npm i -S mindstack

Yarn

 yarn add mindstack

Now you need to make sure you have a RabbitMQ server setup with a queue/exchange called mindstack:

Fresh install (Ubuntu)

 apt-get install rabbitmq-server
service rabbitmq-server start
rabbitmq-plugins enable rabbitmq_management
rabbitmqadmin declare queue name=mindstack durable=false

Only creating the queue (Preexisting RabbitMQ install)

 rabbitmqadmin declare queue name=mindstack durable=false

Usage

Node (bot.js)

constMindStack=require('mindstack');letbotInstance=newMindStack();

Command line

 node bot.js

See docs for giving your bot functionality and features

Repositories

There are several repositories used to add functionality or work with Mind Stack. They are listed categorically below (send a request if you want to add your own repositories)

Adapters

  • Alexa - Alexa adapter for Mind Stack
  • Discord - Discord adapter for Mind Stack
  • Mail - Mail adapter for Mind Stack
  • Slack - Slack adapter for Mind Stack
  • Terminal - Terminal adapter for Mind Stack

Bot instance

  • Mind Stack - A powerful and flexible bot framework for building bots without restrictions

Data services

  • Data bite - ES6 simplified class for consuming data from an external service

Frameworks

  • High tech - A framework for building skills/applications for bleeding edge tech devices

Lexicon

  • Lemme Lex - A library for creating dictionaries that can be utilised by NLP tools
  • Consent lex - A lexicon for giving or declining consent (yes and no)
  • Salutation lex - A lexicon for arrival and departure salutations

Payment

  • Payment provider - Abstraction class for handling payments from multiple providers using common methods
  • VC PP - Virtual currency payment provider
  • Alexa PP - Alexa Payment provider

Recognisers

  • Eduir - Educated intent recogniser
  • Molir CLI - Molir (A.k.a Most Likely/Obvious Intent Recogniser) command line tool

Scaffolding

Skillsets

  • Basic skillset - A basic skillset for a bot that can say hello and goodbye in many different ways
  • Store skillset - Sell products and services, ecommerce using natural language

Transformers

  • Sanitize mail - A sanitize-html wrapper optimised for sanitising HTML for email clients
  • Strip mentions - Strip @mentions from a string using a default or custom handle style
  • Turndown SSML - A Turndown plugin to convert SSML into markdown files
  • Verbose Utterance - Interprete/compile *.utter files for creating a verbose library of utterances

Virtual machines

  • Brain box - Docker machine for running Mind Stack instance

About

A powerful and flexible framework for building bots without restrictions

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - Truemedia/mindstack: A powerful and flexible framework for building bots without restrictions · GitHub
Skip to content

Repository files navigation

Mind Stack

A powerful and flexible bot framework for building bots without restrictions

Introduction

Read the docs, have a look at our examples, or see the list of repositories that power this project.

Why choose between coding and configuration when you can have both. Configure your services (discord, slack, etc), and code your logic.

This framework provides structuring and guidelines to allow the user to write there own use cases with tools they need readily available.

THIS IS AN ONGOING PROJECT, DOCUMENTATION WILL BE UPDATED AS THE PROJECT PROGRESSES

Getting started

You can take a look at our docker box or CLI tool. Otherwise you will need the following setup and ready to go, then your ready for installation:

Installation

Create a new git repository for your bot instance and setup a node project using npm init inside the repo.

Now create an empty file called bot.js and install Mind Stack:

NPM

 npm i -S mindstack

Yarn

 yarn add mindstack

Now you need to make sure you have a RabbitMQ server setup with a queue/exchange called mindstack:

Fresh install (Ubuntu)

 apt-get install rabbitmq-server
service rabbitmq-server start
rabbitmq-plugins enable rabbitmq_management
rabbitmqadmin declare queue name=mindstack durable=false

Only creating the queue (Preexisting RabbitMQ install)

 rabbitmqadmin declare queue name=mindstack durable=false

Usage

Node (bot.js)

constMindStack=require('mindstack');letbotInstance=newMindStack();

Command line

 node bot.js

See docs for giving your bot functionality and features

Repositories

There are several repositories used to add functionality or work with Mind Stack. They are listed categorically below (send a request if you want to add your own repositories)

Adapters

  • Alexa - Alexa adapter for Mind Stack
  • Discord - Discord adapter for Mind Stack
  • Mail - Mail adapter for Mind Stack
  • Slack - Slack adapter for Mind Stack
  • Terminal - Terminal adapter for Mind Stack

Bot instance

  • Mind Stack - A powerful and flexible bot framework for building bots without restrictions

Data services

  • Data bite - ES6 simplified class for consuming data from an external service

Frameworks

  • High tech - A framework for building skills/applications for bleeding edge tech devices

Lexicon

  • Lemme Lex - A library for creating dictionaries that can be utilised by NLP tools
  • Consent lex - A lexicon for giving or declining consent (yes and no)
  • Salutation lex - A lexicon for arrival and departure salutations

Payment

  • Payment provider - Abstraction class for handling payments from multiple providers using common methods
  • VC PP - Virtual currency payment provider
  • Alexa PP - Alexa Payment provider

Recognisers

  • Eduir - Educated intent recogniser
  • Molir CLI - Molir (A.k.a Most Likely/Obvious Intent Recogniser) command line tool

Scaffolding

Skillsets

  • Basic skillset - A basic skillset for a bot that can say hello and goodbye in many different ways
  • Store skillset - Sell products and services, ecommerce using natural language

Transformers

  • Sanitize mail - A sanitize-html wrapper optimised for sanitising HTML for email clients
  • Strip mentions - Strip @mentions from a string using a default or custom handle style
  • Turndown SSML - A Turndown plugin to convert SSML into markdown files
  • Verbose Utterance - Interprete/compile *.utter files for creating a verbose library of utterances

Virtual machines

  • Brain box - Docker machine for running Mind Stack instance

About

A powerful and flexible framework for building bots without restrictions

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - Truemedia/mindstack: A powerful and flexible framework for building bots without restrictions · GitHub
Skip to content

Repository files navigation

Mind Stack

A powerful and flexible bot framework for building bots without restrictions

Introduction

Read the docs, have a look at our examples, or see the list of repositories that power this project.

Why choose between coding and configuration when you can have both. Configure your services (discord, slack, etc), and code your logic.

This framework provides structuring and guidelines to allow the user to write there own use cases with tools they need readily available.

THIS IS AN ONGOING PROJECT, DOCUMENTATION WILL BE UPDATED AS THE PROJECT PROGRESSES

Getting started

You can take a look at our docker box or CLI tool. Otherwise you will need the following setup and ready to go, then your ready for installation:

Installation

Create a new git repository for your bot instance and setup a node project using npm init inside the repo.

Now create an empty file called bot.js and install Mind Stack:

NPM

 npm i -S mindstack

Yarn

 yarn add mindstack

Now you need to make sure you have a RabbitMQ server setup with a queue/exchange called mindstack:

Fresh install (Ubuntu)

 apt-get install rabbitmq-server
service rabbitmq-server start
rabbitmq-plugins enable rabbitmq_management
rabbitmqadmin declare queue name=mindstack durable=false

Only creating the queue (Preexisting RabbitMQ install)

 rabbitmqadmin declare queue name=mindstack durable=false

Usage

Node (bot.js)

constMindStack=require('mindstack');letbotInstance=newMindStack();

Command line

 node bot.js

See docs for giving your bot functionality and features

Repositories

There are several repositories used to add functionality or work with Mind Stack. They are listed categorically below (send a request if you want to add your own repositories)

Adapters

  • Alexa - Alexa adapter for Mind Stack
  • Discord - Discord adapter for Mind Stack
  • Mail - Mail adapter for Mind Stack
  • Slack - Slack adapter for Mind Stack
  • Terminal - Terminal adapter for Mind Stack

Bot instance

  • Mind Stack - A powerful and flexible bot framework for building bots without restrictions

Data services

  • Data bite - ES6 simplified class for consuming data from an external service

Frameworks

  • High tech - A framework for building skills/applications for bleeding edge tech devices

Lexicon

  • Lemme Lex - A library for creating dictionaries that can be utilised by NLP tools
  • Consent lex - A lexicon for giving or declining consent (yes and no)
  • Salutation lex - A lexicon for arrival and departure salutations

Payment

  • Payment provider - Abstraction class for handling payments from multiple providers using common methods
  • VC PP - Virtual currency payment provider
  • Alexa PP - Alexa Payment provider

Recognisers

  • Eduir - Educated intent recogniser
  • Molir CLI - Molir (A.k.a Most Likely/Obvious Intent Recogniser) command line tool

Scaffolding

Skillsets

  • Basic skillset - A basic skillset for a bot that can say hello and goodbye in many different ways
  • Store skillset - Sell products and services, ecommerce using natural language

Transformers

  • Sanitize mail - A sanitize-html wrapper optimised for sanitising HTML for email clients
  • Strip mentions - Strip @mentions from a string using a default or custom handle style
  • Turndown SSML - A Turndown plugin to convert SSML into markdown files
  • Verbose Utterance - Interprete/compile *.utter files for creating a verbose library of utterances

Virtual machines

  • Brain box - Docker machine for running Mind Stack instance

About

A powerful and flexible framework for building bots without restrictions

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - Truemedia/mindstack: A powerful and flexible framework for building bots without restrictions · GitHub
Skip to content

Repository files navigation

Mind Stack

A powerful and flexible bot framework for building bots without restrictions

Introduction

Read the docs, have a look at our examples, or see the list of repositories that power this project.

Why choose between coding and configuration when you can have both. Configure your services (discord, slack, etc), and code your logic.

This framework provides structuring and guidelines to allow the user to write there own use cases with tools they need readily available.

THIS IS AN ONGOING PROJECT, DOCUMENTATION WILL BE UPDATED AS THE PROJECT PROGRESSES

Getting started

You can take a look at our docker box or CLI tool. Otherwise you will need the following setup and ready to go, then your ready for installation:

Installation

Create a new git repository for your bot instance and setup a node project using npm init inside the repo.

Now create an empty file called bot.js and install Mind Stack:

NPM

 npm i -S mindstack

Yarn

 yarn add mindstack

Now you need to make sure you have a RabbitMQ server setup with a queue/exchange called mindstack:

Fresh install (Ubuntu)

 apt-get install rabbitmq-server
service rabbitmq-server start
rabbitmq-plugins enable rabbitmq_management
rabbitmqadmin declare queue name=mindstack durable=false

Only creating the queue (Preexisting RabbitMQ install)

 rabbitmqadmin declare queue name=mindstack durable=false

Usage

Node (bot.js)

constMindStack=require('mindstack');letbotInstance=newMindStack();

Command line

 node bot.js

See docs for giving your bot functionality and features

Repositories

There are several repositories used to add functionality or work with Mind Stack. They are listed categorically below (send a request if you want to add your own repositories)

Adapters

  • Alexa - Alexa adapter for Mind Stack
  • Discord - Discord adapter for Mind Stack
  • Mail - Mail adapter for Mind Stack
  • Slack - Slack adapter for Mind Stack
  • Terminal - Terminal adapter for Mind Stack

Bot instance

  • Mind Stack - A powerful and flexible bot framework for building bots without restrictions

Data services

  • Data bite - ES6 simplified class for consuming data from an external service

Frameworks

  • High tech - A framework for building skills/applications for bleeding edge tech devices

Lexicon

  • Lemme Lex - A library for creating dictionaries that can be utilised by NLP tools
  • Consent lex - A lexicon for giving or declining consent (yes and no)
  • Salutation lex - A lexicon for arrival and departure salutations

Payment

  • Payment provider - Abstraction class for handling payments from multiple providers using common methods
  • VC PP - Virtual currency payment provider
  • Alexa PP - Alexa Payment provider

Recognisers

  • Eduir - Educated intent recogniser
  • Molir CLI - Molir (A.k.a Most Likely/Obvious Intent Recogniser) command line tool

Scaffolding

Skillsets

  • Basic skillset - A basic skillset for a bot that can say hello and goodbye in many different ways
  • Store skillset - Sell products and services, ecommerce using natural language

Transformers

  • Sanitize mail - A sanitize-html wrapper optimised for sanitising HTML for email clients
  • Strip mentions - Strip @mentions from a string using a default or custom handle style
  • Turndown SSML - A Turndown plugin to convert SSML into markdown files
  • Verbose Utterance - Interprete/compile *.utter files for creating a verbose library of utterances

Virtual machines

  • Brain box - Docker machine for running Mind Stack instance

About

A powerful and flexible framework for building bots without restrictions

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - Truemedia/mindstack: A powerful and flexible framework for building bots without restrictions · GitHub
Skip to content

Repository files navigation

Mind Stack

A powerful and flexible bot framework for building bots without restrictions

Introduction

Read the docs, have a look at our examples, or see the list of repositories that power this project.

Why choose between coding and configuration when you can have both. Configure your services (discord, slack, etc), and code your logic.

This framework provides structuring and guidelines to allow the user to write there own use cases with tools they need readily available.

THIS IS AN ONGOING PROJECT, DOCUMENTATION WILL BE UPDATED AS THE PROJECT PROGRESSES

Getting started

You can take a look at our docker box or CLI tool. Otherwise you will need the following setup and ready to go, then your ready for installation:

Installation

Create a new git repository for your bot instance and setup a node project using npm init inside the repo.

Now create an empty file called bot.js and install Mind Stack:

NPM

 npm i -S mindstack

Yarn

 yarn add mindstack

Now you need to make sure you have a RabbitMQ server setup with a queue/exchange called mindstack:

Fresh install (Ubuntu)

 apt-get install rabbitmq-server
service rabbitmq-server start
rabbitmq-plugins enable rabbitmq_management
rabbitmqadmin declare queue name=mindstack durable=false

Only creating the queue (Preexisting RabbitMQ install)

 rabbitmqadmin declare queue name=mindstack durable=false

Usage

Node (bot.js)

constMindStack=require('mindstack');letbotInstance=newMindStack();

Command line

 node bot.js

See docs for giving your bot functionality and features

Repositories

There are several repositories used to add functionality or work with Mind Stack. They are listed categorically below (send a request if you want to add your own repositories)

Adapters

  • Alexa - Alexa adapter for Mind Stack
  • Discord - Discord adapter for Mind Stack
  • Mail - Mail adapter for Mind Stack
  • Slack - Slack adapter for Mind Stack
  • Terminal - Terminal adapter for Mind Stack

Bot instance

  • Mind Stack - A powerful and flexible bot framework for building bots without restrictions

Data services

  • Data bite - ES6 simplified class for consuming data from an external service

Frameworks

  • High tech - A framework for building skills/applications for bleeding edge tech devices

Lexicon

  • Lemme Lex - A library for creating dictionaries that can be utilised by NLP tools
  • Consent lex - A lexicon for giving or declining consent (yes and no)
  • Salutation lex - A lexicon for arrival and departure salutations

Payment

  • Payment provider - Abstraction class for handling payments from multiple providers using common methods
  • VC PP - Virtual currency payment provider
  • Alexa PP - Alexa Payment provider

Recognisers

  • Eduir - Educated intent recogniser
  • Molir CLI - Molir (A.k.a Most Likely/Obvious Intent Recogniser) command line tool

Scaffolding

Skillsets

  • Basic skillset - A basic skillset for a bot that can say hello and goodbye in many different ways
  • Store skillset - Sell products and services, ecommerce using natural language

Transformers

  • Sanitize mail - A sanitize-html wrapper optimised for sanitising HTML for email clients
  • Strip mentions - Strip @mentions from a string using a default or custom handle style
  • Turndown SSML - A Turndown plugin to convert SSML into markdown files
  • Verbose Utterance - Interprete/compile *.utter files for creating a verbose library of utterances

Virtual machines

  • Brain box - Docker machine for running Mind Stack instance

About

A powerful and flexible framework for building bots without restrictions

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages