The-Quill / SE-Chat-Terminal

SE chat in Terminal
MIT License
12 stars 1 forks source link
chat nodejs stackoverflow terminal

SE Chat Terminal

What is this?

This is a chat client that runs in the terminal using SE's improptu chat APIs and the raw power of Node.JS.

It's still in early beta development, but the following commands/features work so far:

How to get started

To get started, build the required plugins by calling:

 npm install

Then, read your username and password in using the command line tool, read:

 read -s PASSWD
 <enter your password>
 read EMAIL
 <enter your email>

and then you can use the email= and password= flags to specify which:

node start email=$EMAIL password=$PASSWD

In the main folder, you'll find a config-SAMPLE.json

Copy this to a config.json file and see the section below on how to setup the config file.

Navigate to the folder in Terminal/CMD, and call

 node start.js

config

In the main folder, you'll find a config-SAMPLE.json

Copy this to a config.json file.

In the sample file, you'll find three variables that you'll need to interact with:

     "room_domains": {
          "stackexchange": {
               // ...
          }
     }

Inside that, you have the rooms object, which contains all the rooms you want to automatically connect to upon startup

They're structured where the room id is the key and inside that, you have


Sample config

Here is a sample config of chat.meta.stackexchange.com, where you connect to Tavern on the Meta upon startup

"MetaStackExchange": {
"rooms": {
"89": {
"name": "Tavern on the Meta",
"room_id": 89
}
}
},

What you need to do to your SE account before you can use this:

There is an error message for this, but I'm still going to say it anyway.


Where to from here?

There's a few crucial things I need to fix before taking this to StackApps, and the attention of more than the beta users.

Specifically, Milestone version 2.

I may convert this entirely to Python, as Python's input handling is so much smoother (and native).


License

This code is licensed under the MIT license.