Coder Social home page Coder Social logo

nicefella / qlikbotnode Goto Github PK

View Code? Open in Web Editor NEW

This project forked from qlik-bots/qlikbotnode

0.0 2.0 0.0 3.44 MB

QlikBotNode is a server build in Node.js, Express.js, Enigma.js and MySql that connects to chat and media platforms like Telegram, Skype, MS Teams, Cortana, Slack, Google Assistant and Amazon Alexa.

License: Apache License 2.0

HTML 2.11% JavaScript 97.89%

qlikbotnode's Introduction

Qlik Sense Bot

version node npm MySql

QlikBotNode

  • QlikBotNode is a server build in Node.js, Express.js, Enigma.js and MySql that connects to chat and media platforms like Telegram, Skype, MS Teams, Cortana, Slack, Google Assistant and Amazon Alexa.
  • It connects to MySql and stores the users for a mass messaging at any time
  • Commands are case sensitive

Getting started

Prerequisites

Before continuing, make sure that you have these tools installed:

  • Node.js >= 8.2.1
  • MySql >=14
  • Git bash if on Windows
  • Certificates for running https. If your environment is dev, then you can export from Qlik Sense Enterprise for "localhost" in a "Platform Independent PEM-format". Save them under app/server/certs/localhost/ Exporting Certificates with Sense
  • QVFs needed:
  • Once uploaded to the Qlik Sense Enterprise, get the app ids from the QMC and with the your host DNS put them in the app/server/config.json.
    • Make sure that the apps are published.
    • Make sure that the host name is the same as the folder name under your certs. Enigma.js will read the certs from there to connect to your engine and authenticate users.

And know at least some of these web technologies:

  • JavaScript
  • Promises
  • Websockets

Usage

  • To start, install all necessary packages
npm install -g gulp
npm install
  • Install all the required Environmental variables for each of the chat platforms.

    • For Windows, go to "Control Panel" -> "System" -> "Advanced System Settings" -> "Environment Variables"
    • For Linux, from your directory (~), type "nano .bash_profile" or "vim .bash_profile" and enter the variables there like
      • "export TELEGRAM_BOT_TOKEN=######"
  • For Database storage and mass Instant Messaging, create a database and run the files/sensebot.sql

  • Then,

    • for local testing, type gulp or,
    • for production, run the server with forever.js by typing
     forever start foreverConfig.json
    • Make sure you have the right certificates under app/server/certs/

This will start your server at https://localhost:3000

Features

  • Build with Operating System agnostic, nodejs. It can be installed and run in Windows IIS and desktop, Linux and mac
  • Scalable. Sense-bot has its own models and routes. You can add as many as you want in your api server
  • Professional logging solution that records every step into the log and saves the file based on the date. This gives you more flexibility over debugging.
  • Latest Open Source Enigma.js wrapper for the Qlik Sense Engine API
  • Robust MySql for user storing and mass IM sending.

Messaging Platforms



Files

Version Log

Contributing

  • Make sure you have completed all of the steps in https://github.com/qlik-bots/open-source or https://github.com/qlik-oss/open-source
  • Make sure that your working branch is v1 and not master
  • Run gulp lint and make sure the code is without errors and warnings before committing
  • All variables are camelCase but the database fields are with underscore like user_id
  • All routes are lower case but models are Capitalized
  • No spaces. Set your files to use Tab Size:4
  • Do not declare variables that are not used
  • Do not forget console.log() or any other debugging commands in your code
  • When creating new Modules, add jsDoc syntax for @module {name}, @author {[email protected]} and @description {your_short_description}. Then run gulp jsdoc to generate the new files in the docs/files.md
  • Once committed, do a pull-request for reviewing and merging.

Follow us on

Copyright

Copyright 2018 QlikTech International AB

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

qlikbotnode's People

Contributors

yianni-ververis avatar alturo avatar

Watchers

James Cloos avatar Developer avatar

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.