-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #227 from DeForce/develop
Release 0.3.5
- Loading branch information
Showing
189 changed files
with
3,223 additions
and
1,615 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
language: generic | ||
sudo: true | ||
|
||
addons: | ||
apt: | ||
packages: | ||
- xvfb | ||
|
||
services: | ||
- docker | ||
|
||
branches: | ||
only: | ||
- develop | ||
|
||
env: | ||
- TEST_SUITE="runtime" | ||
- TEST_SUITE="pylint" | ||
- TEST_SUITE="jslint" | ||
- TEST_SUITE="csslint" | ||
|
||
matrix: | ||
fast_finish: true | ||
allow_failures: | ||
env: | ||
- TEST_SUITE="pylint" | ||
- TEST_SUITE="jslint" | ||
- TEST_SUITE="csslint" | ||
|
||
script: | ||
- ./travis/main.sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
FROM deforce/alpine-wxpython:latest | ||
|
||
MAINTAINER CzT/DeForce <[email protected]> | ||
|
||
ADD . /usr/lib/python2.7/site-packages/LalkaChat | ||
|
||
RUN apk --update add --virtual build-deps build-base bzip2 git \ | ||
libstdc++ openssl-dev py2-pip python2-dev tar wget wxgtk-dev xz && \ | ||
|
||
pip install requests cherrypy ws4py irc semantic_version jinja2 && \ | ||
cd /usr/lib/python2.7/site-packages/LalkaChat && \ | ||
mkdir -p ./conf && \ | ||
mv ./docker/stubs/cefpython3 /usr/lib/python2.7/site-packages/ && \ | ||
mv ./docker/run /usr/local/bin/ && \ | ||
rm -rf ./docker && \ | ||
python ./setup.py build && \ | ||
|
||
mv /usr/lib/python2.7/site-packages/ /usr/lib/python2.7/~site-packages/ && \ | ||
apk del build-deps && \ | ||
mv /usr/lib/python2.7/~site-packages/ /usr/lib/python2.7/site-packages/ && \ | ||
rm -rf /var/cache/* /tmp/* /var/log/* ~/.cache && \ | ||
mkdir -p /var/cache/apk | ||
|
||
VOLUME /usr/lib/python2.7/site-packages/LalkaChat | ||
|
||
CMD /usr/local/bin/run |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
FROM deforce/lalkachat-build-deps:latest | ||
|
||
MAINTAINER CzT/DeForce <[email protected]> | ||
|
||
ADD . /usr/lib/python2.7/site-packages/LalkaChat | ||
|
||
RUN cd /usr/lib/python2.7/site-packages/LalkaChat && \ | ||
mkdir -p ./conf && \ | ||
mv ./docker/stubs/cefpython3 /usr/lib/python2.7/site-packages/ && \ | ||
mv ./docker/run /usr/local/bin/ && \ | ||
rm -rf ./docker && \ | ||
python ./setup.py build | ||
CMD /usr/local/bin/run |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,86 @@ | ||
# LalkaChat | ||
# LalkaChat [![Build Status](https://travis-ci.org/DeForce/LalkaChat.svg?branch=develop)](https://travis-ci.org/DeForce/LalkaChat) | ||
|
||
Thanks to ftpud for fixing IE compatibility | ||
LalkaChat is a program for displaying multiple chats from services is one place. | ||
It's cross-platform and highly configurable. You can set the style of the chat, so it can look differently and you can tweak a lot of the settings. | ||
Writen in modular way so you can easily add or remove any module that you need or do not need or write your own module if you lack available functionality. | ||
Uses wxPython as a GUI interface and CEF as a browser window that renders current style. | ||
HTTP Server backend is using CherryPy to provide ability for modules to use REST API calls to control chat behaviour. | ||
Various modules that enrich the LalkaChat functionality. | ||
Supports multiple languages being English and Russian at the moment, but core is already there | ||
and you can translate to different languages if there is proper translations. | ||
You can see how much viewers you have for each chat in the GUI (You can toggle this function on/off if you desire so). | ||
|
||
## Supported Websites | ||
|
||
* [Peka2tv](http://peka2.tv/) | ||
* [GoodGame](https://goodgame.ru/) | ||
* [Twitch.TV](https://www.twitch.tv/) | ||
|
||
## Architecture | ||
|
||
LalkaChat uses conveyor architecture delivering the messages. | ||
|
||
You configure the "Input" chat modules, such as Twitch/Goodgame and will start sending messages to the central queue | ||
which will push the message to message process modules that are loaded by priority. | ||
Those modules each process the message and pass the message to the next module. | ||
Last one module is WebChat module which is HTTP backend that is responsible for hosting the style/theme and sending it to browser. | ||
|
||
## Available Modules for message processing | ||
|
||
* Blacklist - Allows user to blacklist\hide specific words or chatters. | ||
* Cloud2Butt - Word substitution module. | ||
* Dwarf Fortress - Special module that picks chatters by special keyword and writes them into file. | ||
* Levels - Adds level icons to chatter, allows them to level up in the chat and be awesome by chatting. | ||
* Logger - Logs all the messages that come via LalkaChat pipe. | ||
* Mentions - Allows user to specify different words to be highlighted. | ||
(Example: Your username differs in different chat and you want to highlight it from everywhere) | ||
* Webchat - Core module to allow user to view the chat from browser/GUI | ||
|
||
## Information for Developers | ||
TODO | ||
### Messaging Module Basics | ||
TODO // Code Examples | ||
### Chat Module Basics | ||
TODO // Code Examples | ||
### GUI Module Basics | ||
TODO // Code Examples | ||
|
||
## Installation from Source | ||
|
||
ToDo. Probably will be couple scripts that you can run from python. | ||
|
||
## Installation from Package (Windows) | ||
|
||
Unpack the zip to the folder you want, and run `LalkaChat.exe`. | ||
|
||
## Docker Availability | ||
Docker build is available for testing LalkaChat, uses XPRA to display GUI from browser | ||
|
||
### Usage(GNU/Linux macOS Windows): | ||
- [Install docker](https://docs.docker.com/engine/installation/) | ||
- `docker run -d --name x11-bridge -e MODE="html" -p 10000:10000 -e XPRA_DISPLAY=:14 -e XPRA_PASSWORD=<PASSWORD> jare/x11-bridge` | ||
- `docker run -d --name chat -p 8080:8080 -v <PATH_TO_CONFIG>:/usr/lib/python2.7/site-packages/LalkaChat/conf deforce/lalkachat` | ||
- Open chat config at `http://localhost:10000/index.html?encoding=png&password=<PASSWORD>` | ||
- And chat window at `http://localhost:8080/` | ||
- You can update the chat with `docker rmi -f czt/lalkachat` | ||
- Remove containers with `docker rmi -f x11-bridge chat` | ||
|
||
|
||
#### Production docker build: | ||
|
||
- `docker build -t deforce/alpine-wxpython:latest docker/Dockerfiles/alpine-wxpython` | ||
- `docker build -t deforce/lalkachat:latest .` | ||
|
||
#### Testing docker build: | ||
- `docker build -t deforce/alpine-wxpython:latest docker/Dockerfiles/alpine-wxpython` | ||
- `docker build -t deforce/lalkachat-build-deps:latest docker/Dockerfiles/lalkachat-build-deps` | ||
- `docker run -d --name x11-bridge -e MODE="html" -p 10000:10000 -e XPRA_DISPLAY=:14 -e XPRA_PASSWORD=<PASSWORD> jare/x11-bridge` | ||
- (on source change) | ||
- `docker build -t deforce/lalkachat:testing -f Dockerfile_test .` | ||
- `docker run -rm --name chat-test -p 8080:8080 -v <PATH_TO_CONFIG>:/usr/lib/python2.7/site-packages/LalkaChat/conf deforce/lalkachat:testing` | ||
|
||
## Special Thanks: | ||
ftpud - for fixing IE compatibility (Old problem with IE Browser) | ||
JAre - for being awesome with his docker stuff | ||
ichursin - for deep knowledge in JavaScript and helping me with code | ||
l0stparadis3 - for helping and testing in Linux environment |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
FROM alpine:edge | ||
|
||
MAINTAINER CzT/DeForce <[email protected]> | ||
|
||
# docker build --build-arg WXPY_SRC_URL=http://heanet.dl.sourceforge.net/project/wxpython/wxPython/3.0.1.0/wxPython-src-3.0.1.0.tar.bz2 -t deforce/alpine-wxpython:3.0.1.0 . | ||
ARG WXPY_SRC_URL="http://heanet.dl.sourceforge.net/project/wxpython/wxPython/3.0.2.0/wxPython-src-3.0.2.0.tar.bz2" | ||
|
||
RUN echo "http://nl.alpinelinux.org/alpine/edge/main" \ | ||
>> /etc/apk/repositories && \ | ||
echo "http://nl.alpinelinux.org/alpine/edge/testing" \ | ||
>> /etc/apk/repositories && \ | ||
echo "http://nl.alpinelinux.org/alpine/edge/community" \ | ||
>> /etc/apk/repositories && \ | ||
|
||
apk --update add font-misc-misc libgcc mesa-gl python2 wxgtk && \ | ||
|
||
apk --update add --virtual build-deps build-base \ | ||
bzip2 libstdc++ python2-dev tar wget wxgtk-dev xz && \ | ||
|
||
wget -qO- "${WXPY_SRC_URL}" | tar xj -C /tmp/ && \ | ||
cd /tmp/wxPython-src-* && \ | ||
cd ./wxPython && \ | ||
python ./setup.py build && \ | ||
python ./setup.py install && \ | ||
|
||
apk del build-deps && \ | ||
rm -rf /var/cache/* /tmp/* /var/log/* ~/.cache && \ | ||
mkdir -p /var/cache/apk |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
FROM deforce/alpine-wxpython:latest | ||
|
||
MAINTAINER CzT/DeForce <[email protected]> | ||
|
||
RUN apk --update add build-base bzip2 git libstdc++ \ | ||
openssl-dev py2-pip python2-dev tar wget wxgtk-dev xz && \ | ||
pip install requests cherrypy ws4py irc semantic_version jinja2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
#!/bin/sh | ||
|
||
webchatCF="/usr/lib/python2.7/site-packages/LalkaChat/conf/webchat.cfg" | ||
globCF="/usr/lib/python2.7/site-packages/LalkaChat/conf/config.cfg" | ||
|
||
if [ -f $webchatCF ]; | ||
then | ||
sed -i 's/^host =.*$/host = 0.0.0.0/' $webchatCF | ||
else | ||
cat <<-EOF | tee > ${webchatCF} | ||
[server] | ||
host = 0.0.0.0 | ||
EOF | ||
fi | ||
|
||
if [ -f $globCF ]; | ||
then | ||
sed -i 's/^show_browser =.*$/show_browser = False/' $globCF | ||
else | ||
cat <<-EOF | tee > ${globCF} | ||
[gui] | ||
show_browser = False | ||
EOF | ||
fi | ||
|
||
cd /usr/lib/python2.7/site-packages/LalkaChat | ||
|
||
python ./main.py |
Empty file.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
class ChromeCtrl: #temporary solution https://github.com/DeForce/LalkaChat/issues/154 | ||
def __init__(self, parent, url="", useTimer=True, | ||
timerMillis=0, | ||
browserSettings=None, hasNavBar=True, | ||
*args, **kwargs): | ||
self.stub = True | ||
|
||
def Initialize(settings=None, debug=False): | ||
pass |
Oops, something went wrong.