
Show HN: TalkTalkTalk – An easy-to-install small chat room, with chat history - josephernest
https://github.com/josephernest/talktalktalk
======
rpdillon
This is a really good example of how you can obtain 80% of the value of huge,
complex apps with 1% of the code. It feels like the open source/self-
hosted/simple app market it is probably under-served. Chat is one example, but
another is a small, simple 'social network' for a team, group of friends, or
family.

~~~
mentos
ha yea but also an example that the last 20% is 80% of the work

the chat right now needs features to prevent abuse

~~~
josephernest
totally true: abuse/flood control will be the next additions. ideas welcome
about how do to it.

~~~
saint_fiasco
What about ROBOT9000?

[https://blog.xkcd.com/2008/01/14/robot9000-and-xkcd-
signal-a...](https://blog.xkcd.com/2008/01/14/robot9000-and-xkcd-signal-
attacking-noise-in-chat/)

------
alexdumitru
You should add some antispam, at least.

I was able to keep your server down by using only this:

> setInterval( function () { for(i=0;i<=9999; i++) { ws.send(JSON.stringify({
> type: 'message', username: $('#username').text(), message: 'seems like the
> ws server is fucked. stop spamming' })); } }, 1000);

~~~
josephernest
This _small_ chat is intented for a small team, not for global internet usage
like I do here :) Usually in a small team there is no spammer, and if there is
one, he's banned quickly from the team :)

But yes, I'm open to contribution about antispam / flood control. Constructive
additions appreciated :)

~~~
vmorgulis
I like a log the design.

[https://github.com/josephernest/talktalktalk/blob/master/tal...](https://github.com/josephernest/talktalktalk/blob/master/talktalktalk.html#L268)

I think you could escape the text from #writing before sending it.

[http://stackoverflow.com/a/4835406](http://stackoverflow.com/a/4835406)

~~~
josephernest
Well the _real_ cleaning / sanitizing part has to be done on the server...
I'll work on this in the next weeks, after some other more important
projects... This is just a proof-of-concept fun project anyway :)

------
josephernest
everyone is discussing there
[http://185.164.138.19:7311/](http://185.164.138.19:7311/) (live demo), so
nobody is discussing here :/

~~~
fiatjaf
Joseph was very angry because everybody were using the name "joseph"
yesterday.

Don't be angry!

~~~
josephernest
i wasn't angry actually, maybe the angry "joseph" was another one ;) this
troll session helped me to think about flood control, etc.

------
pasbesoin
Thank you. Look forward to playing with / using this.

Reminds me of using Jabber years ago with a couple of friends. Not for the
protocol, but for the clean interface and essentially having "our own place".

Something I've a pretty strong hankering for, these days.

------
ausjke
add abuse control, log archive, image inserting then it will be golden

------
mrjustaine
Is it open for bots?

~~~
josephernest
Yes. You can talk in this chat with JS : ws.send(...).

