Giter Club home page Giter Club logo

intergram's Introduction

Intergram - Demo

A Free live chat widget that you can easily add to your website. It will let you chat with your website visitors using your Telegram messenger.

🎉 Main Contributors 🎉

How?

You initiate a chat with my Telegram bot and add 2 lines of script to your website to embed the widget. Visitors' messages are sent from the chat widget to my bot server, which sends them to your Telegram messenger where you can answer them. You can also self-host the bot server to get more control of this process.

Why use a Telegram bot to implement a chat widget?

By using a Telegram bot, I delegate all the message routing work and chat state management to Telegram. I don't have to build fancy mobile and desktop apps for several platforms because Telegram already has a great multiplatform chat client. And, I can easily handle a huge amount of load, because my app runs completely stateless (No database) and just serves as a pipe between Telegram and the chat widget users.

Embed Intergram in your website with these 2 simple steps

  1. Open Telegram messenger, search for @Intergram and hit /start to get your unique chat ID. (direct link)

  1. Paste this code snippet right before the closing body tag of every page where you want the chat to appear (Don't forget to add your actual chat ID).
<script> window.intergramId = "Your unique chat id" </script>
<script id="intergram" type="text/javascript" src="https://www.intergram.xyz/js/widget.js"></script>

Note: replying to a specific message should be used to respond to that specific visitor. Sending a standard message will broadcast to all connected chat clients (You might find it easier to use if you have only one active conversation)

Important Notice: I plan to keep the hosted chat service 100% free (no ads also!), but there are some hosting expenses (servers, domain, cdn, etc), so I will soon start bundeling a Loadmill component with the Intergram script. Loadmill is a new concept and still in Beta - If you don't feel comfortable with this, please use your own self hosted version.

Customization - Try It

Currently you can customize all visible texts and the main widget color by setting an optional intergramCustomizations object in the injection script tag. (All its properties are also optional and will fallback to their original values)

<script> 
    window.intergramId = "Your unique chat id";
    window.intergramCustomizations = {
        titleClosed: 'Closed chat title',
        titleOpen: 'Opened chat title',
        introMessage: 'First message when the user opens the chat for the first time',
        autoResponse: 'A message that is sent immediately after the user sends its first message',
        autoNoResponse: 'A message that is sent one minute after the user sends its first message ' +
                        'and no response was received',
        mainColor: "#E91E63", // Can be any css supported color 'red', 'rgb(255,87,34)', etc
        alwaysUseFloatingButton: false // Use the mobile floating button also on large screens
    };
</script>
<script id="intergram" type="text/javascript" src="https://www.intergram.xyz/js/widget.js"></script>

Initial Footprint

  • Using Preact helped creating a pretty minimal js bundle.
  • The widget injection script is about 5KB gziped and executes only after the host page finished loading ('onload' event).
  • The chat iframe will only be loaded if the user interacts with the chat widget (currently about 40KB gziped).

Deploy your own Intergram instance (Self Hosting)

  1. Talk to Telegram @BotFather, create a new bot and get its API Token.

  2. Deploy this repo to your own chat server.

  • Clone it locally and install or if you use Heroku, fork this repository and point the new app to it.
  • Set an .env variable named TELEGRAM_TOKEN with the value you got from @BotFather
  1. Point the bot webhook to your bot server by making a GET request to the following url https://api.telegram.org/bot<TOKEN>/setWebhook?url=<Server url>/hook (Don't forget to replace with your token and server url)

  2. Open a chat with your bot and hit /start to get your unique chat ID

  3. Embed this code snippet in your website

<script> 
    window.intergramId = "Your unique chat ID"
    window.intergramServer = "Server url"
</script>
<script id="intergram" type="text/javascript" src="<Server url>/js/widget.js"></script>
  1. 🎉

intergram's People

Contributors

aslauris avatar dependabot[bot] avatar idoco avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

intergram's Issues

I can't control the click event on the widget, jQuery incompatibility?

Hello, first of all I love this project and thanks a lot for your work.

I would like to emulate the click of a user so that when they click on specific anchor tags around the page the intergram widget pops up. I keep getting jQuery related issues if I use

document.getElementById("intergramRoot").click() and any other method to address that node gives me the same jQuery error in JS console. It reads "Empty string passed to getElementById".

If I test in Chrome I don't get any console error but nothing happens either at element.click()

jQuery version: 1.12.4

Can't deploy Intergram on a HTTPS server

I'm trying to deploy Intergram on a (self-signed?) Let's Encrypt'ed HTTPS server.

I can successfully launch the intergram demo from HTTP (http://:3000/) and it's working, but if I try HTTPS (https://:3000/) it returns a ERR_CONNECTION_CLOSED.

Actually I need the HTTPS thing because I'm trying to deploy it on a website (located on the same server) which is served through HTTPS. Calling Intergram scripts from said website will also throw the ERR_CONNECTION_CLOSED error.

I'm a total noob about node.js so I don't know how to do that. I looked around in Google but I couldn't find some clue - I'm guessing changes should be made on server.js file, but I don't even know where to start.

Offline messages don't work?

To replicate: Try to send message to recently closed window(after '{username} has left' message) then I back to site and open widget again (same user). I don't see offline message in chat. How we can resolve that?

cannot input token telegram

dear ido cohen,

may you advise me, i can not input the token API Telegram to script Intergram in self hosting , how to fix it ? i mean if i inputed it will show error in heroku

.post('https://api.telegram.org/bot' + process.env.------794:AAE4dk66D5OPqHXg0fu2XcvQAFYq4-bIqTg + '/sendMessage')

Installation

Hello
I confused aout howto install it correctly. (Self Hosting i mean )
I try in Linux environment / Enabled SSL on the Domain / Copy repo to my domain root /

Edited server.js file

" .post('https://api.telegram.org/bot' + process.env.538255836:AAHqk2qadasdRYLBlN025sExcmW5koTLxj8 + '/sendMessage') "

Edited chat.html file

<script> window.intergramId = "538255836" window.intergramServer = "https://chat.mydomain.com" </script> <script id="intergram" type="text/javascript" src="https://chat.mydomain.com/src/widget/widget.js"></script>
<title>Tahlilgaran!</title>
<link rel="stylesheet" type="text/css" href="https://chat.mydomain.com/css/chat.css">
<script src="https://chat.smydomain.com/src/chat/chat.js"></script> ----------------------------------BUT------------------ Only a grey screen show me in https://chat.mydomain.com/chat.html

And
SyntaxError: import declarations may only appear at top level of a module
widget.js:1
SyntaxError: import declarations may only appear at top level of a module
chat.js:1
The character encoding of the HTML document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the page must be declared in the document or in the transfer protocol.
chat.html

Self hosting - No Chat id

Hello,

I try to host this good app.
As i am not very familiar with node.js, i think i succeed to go to step 4.

On the webhook, i get :
{"ok":true,"result":true,"description":"Webhook was set"}

Unfortunately when i open my bot with /start, no chat id was delivred.
So i can't embed the snippet...

Is the webhook well related to the bot configuration? Is there a delay with initialisation?
Any idea?

Thank you in advance for the help.
jb

Feature request: hosted web => telegram chat and a JS client that I could make my own interface.

The widget is great, but if you created a more generic saas service that I could just put in allowed domains (for CORS) and then be able to include your javascript and have a live chat however I wanted it, that would be awesome. In work situations I've wanted to have a quick conversation over Telegram (sending secret keys for example), but I have to explain what telegram is, tell them to download the app, set it up, just to send them a secret key.

Make money part 2

Have a page I can point people to, e.g. intergram.com/chat/[username] and they can have an encrypted chat over web (and mobile web), through telegram with whatever client I use. They wouldn't have to really even know what telegram is, but it's encrypted and safe.

I think a decent amount of companies and individuals would pay for this service using a credit card, but considering the service, bitcoin payment might be highly requested too. Course Stripe gives you both, so that's nice!

Get 'em hooked

Free "trial" could be a random chat room like intergram.com/r/abo123h that only lasts for 24 hours instead of a vanity handle that would be mine.

Sorry for the brain dump, but I think this is a great idea with even greater opportunity.

align chat button to left

Can you add this option ?

In my site i already have a float buttons in right side on some pages. So if you add option to position your button on another side, i don't need change a lot of code in my repository.

Best regards ...

widget size on cell phone ( similar to #15 )

On my celphone, i can't see the entire chat using materializedcss fixed nav bar (http://materializecss.com/navbar.html).
I use the follow code:

  <div class="navbar-fixed">
    <nav>
      <div class="nav-wrapper">
        <a href="#!" class="brand-logo">Logo</a>
        <ul class="right hide-on-med-and-down">
          <li><a href="sass.html">Sass</a></li>
          <li><a href="badges.html">Components</a></li>
        </ul>
      </div>
    </nav>
  </div>

So in my moto g cell phone, the Welcome Message is hidden by fixed navbar.

Can I open the chat in another window ? Can I resize the window of widget on mobile ?

Thanks for your attention ...

Regards

Self hosting. Cannot GET /js/widget.js

I have installed on my server and can send message and receive message via my own bot. I start server.js by npm start in project directory. But I cannot access /js/widget.js. I receive this error: Cannot GET /js/widget.js

away mode

HI, any plans to add an away mode?

How to change the operator name

By default Intergram displays your first name in Telegram to the user on the other end.
Is there a possibility to override this name?

(by forwarding a variable, not changing the actual script)

Clearing old chats

Hey! @idoco thanks for this awesome work!
I was interested to know can you implement something so that once the user leaves the conversation, the chat is cleared automatically so that if he/she joins the conversation again previous chats are not there.
Or may be a time limit for storing messages. It will be great!

How to add the requester name

I use intergram into an autenticated website.
I know the username of the requester.
Can I add this information to chat ?
Now I don't recognize who call me

Browser javascript variables sent to admins

Hi, we love your bot and we are starting to testing it.

We added the widget in a Redmine instance, where sometimes the user asking for help is logged in, and we can get this 'username' from the javascript code loading the widget itself... so I was wondering if you could add some param that the widget.js could use to send as internal message(before the first user msg) to the admins on Telegram, so that they can know more info.

Other ideas to profit this parameter:
Get the user browser info / location / username / current url, etc.

Support Telegram channels

Or at least respond with a proper message stating that channels are not supported.
Right now an exception is logged and no response is sent.

  hook error TypeError: Cannot read property 'chat' of undefined 
      at /app/server.js:17:31 
      at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:82:5) 
      at next (/app/node_modules/express/lib/router/route.js:100:13) 
      at Route.dispatch (/app/node_modules/express/lib/router/route.js:81:3) 
      at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:82:5) 
      at /app/node_modules/express/lib/router/index.js:235:24 
      at Function.proto.process_params (/app/node_modules/express/lib/router/index.js:313:12) 
      at /app/node_modules/express/lib/router/index.js:229:12 
      at Function.match_layer (/app/node_modules/express/lib/router/index.js:296:3) 
      at next (/app/node_modules/express/lib/router/index.js:190:10) { update_id: 77942168, 
    edited_channel_post:  
     { message_id: 900, 
       chat:  
        { id: -1234, 
          title: 'Title', 
          username: 'username', 
          type: 'channel' }, 
       date: 1489989251, 
       edit_date: 1489995912, 
       text: '@ChannelName\nThis is a channel message', 
       entities: [ [Object] ] } } 

A nice issue for a first PR 😄

Custom text

Hi,

love the project idea. I don't quite understand the project structure however. Is there are way for me to host only the frontend js so that I can customize the default text, especially the first message that is sent back to the user.
The page I'd love to throw this is hosted via GitHub pages, so it's static only.

Thanks! 😊

Unmodifiable name for visitor

Would be great, if also name for a visitor ('You' @ line 22, /src/chat/message-area.js) would be modifiable via intergramCustomizations object. Everything else is easy to translate for foreign languages when using your server but translating that one word requires deploying own intergram instance.

Let the User enter his Name

Hi there
great piece of code!
Would it be possible to let the user enter his name before the chat starts (notification in telegram could be "%USERNAME% joined the conversation")?

Also, is it possible to make the chat persistent, like adding some sort of key, like e.g. a CASE-No, which identifies the user if he comes back another time?

Also, i10n would be nice. :-)

Regards
Manuel

mainTextColor

mainColor sets Intergram header background color.
An option to set also the header text color may be useful, to change default white if mainColor is a light color, like yellow.
Renaming mainColor in HeaderBackgroundColor + HeaderTextColor can be a good practice.

Thank you. Best regards.

username

Could implement a function to put the mome of the domain and the user has to fill in the name of the user so if you use the telegram to serve more than one site is easier to identify the source and facilitates the conversation, Email (if you need to send a file, since the widget does not yet have this file upload feature)

Query

How can i show another name than my telegram username to my users
capture

here i want to shows something other than sukhmanpreet singh

No chat ids

Hello,

i have try to host in on heroku,

its works good but cannot open chat id, and did install normal on heroku at point of issue #50.
altough i have did to webhook but not shown chatid.

{"ok":true,"result":true,"description":"Webhook is already set"}

please advise , how to show chatid in bot telegram ?

widget in full size window desktop

How do I resize the widget? In my page it covers the entire window and I could not install on the server itself (shared) to make the necessary changes

UI texts localization

Ciao from Italy!
Here's my test implementation in Italian language of intergram on a client website: http://www.istitutotorineseimmobiliare.it/
As you can see, some ui texts (You:, Send a message…, Powered by Intergram) are still in English.
Is it possible to customize them?

Thank you for your wonderful job!
Best regards.

mobile wrapper sometimes appears broken on (latest) iOS

Dear idoco,

as you wished, here are two screenshots of my latest iOS and your demo site. Sometimes everything is ok and you can see the “Type here!” bar, but most of the times I’m not seeing it. I can click at the very bottom of the first screenshot, though, and I am located inside the not visible input field, then …

I did not yet figure out, what’s the problem with the styling. Maybe the height:100% …

img_0311
img_0312

Cannot send messages with odd number of unescaped underscores

Cannot send messages with odd number of unescaped underscores.
Underscores can be escaped with \

input -> output
_text_ -> text
__ ->
____ ->
_text___ -> text
_text_\_ -> text_

This is acceptable, if _ are to be taken as formatting. However, the following inputs send no message at all:
_d__
_werwerwer
qwerwqeqwe_

And, in particular, intergram can't be used to share a lot of wikipedia URLs without escaping the _. Namely, https://en.wikipedia.org/wiki/Astroid#Metric_properties

Tested in Windows 10 (Firefox, Chrome and Edge) and Android (cyanogen browser and Firefox).
Issue happens when sending from the client. Sending from Telegram always works.

socket.io problem

Dear community,

could anyone please tell me, how to configure socket.io when self-hosting this service? And where the files should be located? Because node projects shouldn’t be in the document root.

I’m getting one of these errors:

  1. GET https://server_url/socket.io/?EIO=3&transport=polling&t=LmqFgWp 404 (Not Found)

  2. using a rewrite rule RewriteRule ^socket\.io(.*)? http://localhost:61148%{REQUEST_URI} [P]
    WebSocket connection to 'wss://server_url/socket.io/?EIO=3&transport=websocket&sid=some-ID-foo' failed: Error during WebSocket handshake: Unexpected response code: 400

I’m using this variable: window.intergramServer = window.location.origin + "/hook"; which resolves to my-domain.com/hook—is this correct?

And how does the webhook need to be set up? To e.g. https://api.telegram.org/botxxx:yyy/setWebhook?url=my-domain.com/livechat/hook or do you specify a protocol, too, like in https://api.telegram.org/botxxx:yyy/setWebhook?url=https://my-domain.com/livechat/hook

Multiple chats ids

If I manage multiple websites, I would like to understand from which website the message comes from. So, a custom user prefix, like "[website1] " or "[website2] " can be useful.
So we can receive messages like:
[website1] 6d81a5 has left
[website2] 3f52e3 has left

Thank you.

Can't deploy as new Heroku app

Steps to reproduce -

  1. create a new heroku app and point it to this GitHub repository
  2. Deploy it

The following error is displayed:

-----> Node.js app detected
-----> Creating runtime environment
       
       NPM_CONFIG_LOGLEVEL=error
       NPM_CONFIG_PRODUCTION=true
       NODE_VERBOSE=false
       NODE_ENV=production
       NODE_MODULES_CACHE=true
-----> Installing binaries
       engines.node (package.json):  6.9.1
       engines.npm (package.json):   3.10.8
       
       Downloading and installing node 6.9.1...
       npm 3.10.8 already installed with node
-----> Restoring cache
       Skipping cache restore (new-signature)
-----> Building dependencies
       Installing node modules (package.json)
       
       > [email protected] postinstall /tmp/build_03957e37ab69ddac0ebd604ab6bb8120/idoco-intergram-86d057f
       > npm run build
       
       
       > [email protected] build /tmp/build_03957e37ab69ddac0ebd604ab6bb8120/idoco-intergram-86d057f
       > shx mkdir -p dist && shx cp *.html dist && shx cp -r ./media dist && shx cp -r ./css dist && webpack -p
       
       sh: 1: shx: not found
       
       npm ERR! Linux 3.13.0-112-generic
       npm ERR! argv "/tmp/build_03957e37ab69ddac0ebd604ab6bb8120/idoco-intergram-86d057f/.heroku/node/bin/node" "/tmp/build_03957e37ab69ddac0ebd604ab6bb8120/idoco-intergram-86d057f/.heroku/node/bin/npm" "run" "build"
       npm ERR! node v6.9.1
       npm ERR! npm  v3.10.8
       npm ERR! file sh
       npm ERR! code ELIFECYCLE
       npm ERR! errno ENOENT
       npm ERR! syscall spawn
       npm ERR! [email protected] build: `shx mkdir -p dist && shx cp *.html dist && shx cp -r ./media dist && shx cp -r ./css dist && webpack -p`
       npm ERR! spawn ENOENT
       npm ERR!
       npm ERR! Failed at the [email protected] build script 'shx mkdir -p dist && shx cp *.html dist && shx cp -r ./media dist && shx cp -r ./css dist && webpack -p'.
       npm ERR! Make sure you have the latest version of node.js and npm installed.
       npm ERR! If you do, this is most likely a problem with the intergram package,
       npm ERR! not with npm itself.
       npm ERR! Tell the author that this fails on your system:
       npm ERR!     shx mkdir -p dist && shx cp *.html dist && shx cp -r ./media dist && shx cp -r ./css dist && webpack -p
       npm ERR! You can get information on how to open an issue for this project with:
       npm ERR!     npm bugs intergram
       npm ERR! Or if that isn't available, you can get their info via:
       npm ERR!     npm owner ls intergram
       npm ERR! There is likely additional logging output above.
       
       npm ERR! Please include the following file with any support request:
       npm ERR!     /tmp/build_03957e37ab69ddac0ebd604ab6bb8120/idoco-intergram-86d057f/npm-debug.log
       
       npm ERR! Linux 3.13.0-112-generic
       npm ERR! argv "/tmp/build_03957e37ab69ddac0ebd604ab6bb8120/idoco-intergram-86d057f/.heroku/node/bin/node" "/tmp/build_03957e37ab69ddac0ebd604ab6bb8120/idoco-intergram-86d057f/.heroku/node/bin/npm" "install" "--unsafe-perm" "--userconfig" "/tmp/build_03957e37ab69ddac0ebd604ab6bb8120/idoco-intergram-86d057f/.npmrc"
       npm ERR! node v6.9.1
       npm ERR! npm  v3.10.8
       npm ERR! code ELIFECYCLE
       npm ERR! [email protected] postinstall: `npm run build`
       npm ERR! Exit status 1
       npm ERR!
       npm ERR! Failed at the [email protected] postinstall script 'npm run build'.
       npm ERR! Make sure you have the latest version of node.js and npm installed.
       npm ERR! If you do, this is most likely a problem with the intergram package,
       npm ERR! not with npm itself.
       npm ERR! Tell the author that this fails on your system:
       npm ERR!     npm run build
       npm ERR! You can get information on how to open an issue for this project with:
       npm ERR!     npm bugs intergram
       npm ERR! Or if that isn't available, you can get their info via:
       npm ERR!     npm owner ls intergram
       npm ERR! There is likely additional logging output above.
       
       npm ERR! Please include the following file with any support request:
       npm ERR!     /tmp/build_03957e37ab69ddac0ebd604ab6bb8120/idoco-intergram-86d057f/npm-debug.log
-----> Build failed
       
       We're sorry this build is failing! You can troubleshoot common issues here:
       https://devcenter.heroku.com/articles/troubleshooting-node-deploys
       
       If you're stuck, please submit a ticket so we can help:
       https://help.heroku.com/
       
       Love,
       Heroku
       
 !     Push rejected, failed to compile Node.js app.
 !     Push failed

Architectural observations and thoughts

First of all, great repo 👌 thanks for sharing it, @idoco 👍

There are the following general difficulties at the Telegram site which I don't know how to workaround and which prevent wider adoption on my opinion:

  • Given there are less operators than visitors, handling of the incoming messages with the "REPLY" command is inconvenient, non-intuitive and easy to disregard, but the price for that is high (broken conversations).

  • An operator cannot be always online, and even if he or she receives the message, there's no guarantee of respond. That's OK, but handling that is non-trivial. E.g. Telegram provides "last seen" or "online" statuses, but the bots unfortunately cannot access them. Eventually the visitor has to wait, and everyone hates that.

Please, share your thoughts.

Ability to send files

This would be great if implemented. The bot API allows file uploading up to 50mb in size.

Self Hosting: npm start don't work

Hello.
I using Debian 8.0 without ssl..
Also, I have type: npm start & get this error log:

0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'start' ]
2 info using [email protected]
3 info using [email protected]
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info lifecycle [email protected]~prestart: [email protected]
6 info lifecycle [email protected]~start: [email protected]
7 verbose lifecycle [email protected]~start: unsafe-perm in lifecycle true
8 verbose lifecycle [email protected]~start: PATH: /usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/var/www/chat.xxx.xyz/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
9 verbose lifecycle [email protected]~start: CWD: /var/www/chat.xxx.xyz
10 silly lifecycle [email protected]~start: Args: [ '-c', 'node server.js' ]
11 silly lifecycle [email protected]~start: Returned: code: 1  signal: null
12 info lifecycle [email protected]~start: Failed to exec start script
13 verbose stack Error: [email protected] start: `node server.js`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:301:16)
13 verbose stack     at EventEmitter.emit (events.js:189:13)
13 verbose stack     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:189:13)
13 verbose stack     at maybeClose (internal/child_process.js:978:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:265:5)
14 verbose pkgid [email protected]
15 verbose cwd /var/www/chat.xxx.xyz
16 verbose Linux 2.6.32-042stab127.2
17 verbose argv "/usr/bin/node" "/usr/bin/npm" "start"
18 verbose node v11.4.0
19 verbose npm  v6.4.1
20 error code ELIFECYCLE
21 error errno 1
22 error [email protected] start: `node server.js`
22 error Exit status 1
23 error Failed at the [email protected] start script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

I hope any where can help me..

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.