Giter Site home page Giter Site logo

sono-bot's Introduction

Sono-Bot

Dev deployment

Since people were starting to ask - here's how you can start the current version of the bot (until I create the dashboard there is really not much to do, but if you ask anyways...)

THIS WILL ALL BE SIMPLIFIED INTO ONE OPERATION IN PRODUCTION

Now that we have this out of the way

Node + packages

First, you'll need to install nodejs (the LTS version)

Go here to do that

NodeJS comes with it's own package manager (called NPM), everything else now will be done with that.

Clone the repo into any folder, open the terminal (console) inside

Now we will install all the dependencies we need

npm install

Gulp

After it was all installed, you'll need to install gulp, to build everything we need

npm install -g gulp-cli

MongoDB

Afterwards we'll need MongoDB, you can grab the installer here

When that's done, you'll want to launch mongo in a separate terminal (console)

mongod --dbapth <any path>

Replace the <any path> with a path you want your DB to be stored in

Twitch auth

And last, but not least - you'll need the required credentials for twitch client to connect.

Go here (on your main account)

Give your app any name you want, in the Redirect URI put localhost

And choose Chat Bot for category

Twitch will give you the Client ID which you'll have to put into the respective field inside credentials.json (in the project's root)

At last - create a new user for your bot to use, log in, and go here to get the oatuh token. When you've done that, paste it into the fields of identity section inside credentials.json (don't worry, we're not tracking changes there and I'll soon move all this stuff to the DB), NEVER COMMIT credentials.json with your data to PUBLIC REPOS

Finally, put your channel's name (starting with #) into the channels array inside credentials.json, you can use any channel for debigging, though.

Launching the bot

Now that you have all of that running, build your UI

gulp build

And then start the server

npm run watch

If you're planning to tinker with ui, enable rebuilding by launching

gulp default

Instead of

gulp build

UI prototypes

Design

Splash

splash

Dashboard

dashboard

Settings

settings

Notification example

notifications

Animations

Topbar signature-block prototypes (codepen)

Loading animation

Notification animation

Source: http://codepen.io/orels/pen/BQMLgB

sono-bot's People

Contributors

orels1 avatar

Stargazers

dinu avatar Christopher Rice avatar  avatar Matt C avatar  avatar  avatar Kowlin avatar

Watchers

James Cloos avatar  avatar  avatar

sono-bot's Issues

Basic dashboard

Mainpage

  • bot status (joined/mod)
  • active timers list
  • followers list
  • chat screen
  • twitter announcer

Sections

  • timers
  • tokens and integrations settings
  • twitter message settings

Add timers triggers

Load from DB
start setInterval for each "active" timer
re-check if timer is in active list on every operation
check if stream is online before posing (with twitchapi module client)

DB

MongoDB

Schemas

Configs

  • name - String
  • value - Mongoose.Mixed

Followers

  • name - String
  • channel - String
  • joindate - Date

Timers

  • text - String
  • created - Date (for sorting)
  • time frequency - Number
  • chat lines - Number

Basic backend

Modules

  • configs (tokens and such)
  • twitch client (tmi)
  • timers
  • followers

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.