things
This commit is contained in:
parent
079592ad83
commit
2cf8156f1c
49
README.md
49
README.md
@ -3,62 +3,25 @@
|
||||
|
||||
Der multifunktionale Telegram-Bot.
|
||||
|
||||
[Offizielle Webseite](https://brawlbot.tk) | [Entwickler auf Telegram](http://telegram.me/Brawl) **KEIN SUPPORT!** | [Offizieller Kanal](https://telegram.me/brawlbot_updates)
|
||||
[Offizielle Webseite](https://brawlbot.tk) | [Offizieller Kanal](https://telegram.me/brawlbot_updates)
|
||||
|
||||
Brawlbot ist ein auf Plugins basierender Bot, der die [offizielle Telegram Bot API](http://core.telegram.org/bots/api) benutzt. Ursprünglich wurde er im Dezember 2014 auf Basis von Yagops [Telegram Bot](https://github.com/yagop/telegram-bot/) entwickelt, da aber die Entwicklung von tg-cli [zum Stillstand](https://brawlbot.tk/posts/ein-neuanfang) gekommen ist, wurden alle Plugins des bisher proprietären Brawlbots im Juni 2016 auf die Bot-API portiert und open-sourced.
|
||||
**Brawlbot v2 basiert auf [otouto](https://github.com/topkecleon/otouto) von topkecleon.**
|
||||
|
||||
**HINWEIS::** Ich gebe KEINEN Support für das Aufsetzen des Bots!
|
||||
**HINWEIS::** Es gibt KEINEN Support für das Aufsetzen des Bots!
|
||||
|
||||
Brawlbot v2 ist freie Software; du darfst ihn modifizieren und weiterverbreiten, allerdings musst du dich an die GNU Affero General Public License v3 halten, siehe **LICENSE** für Details.
|
||||
Brawlbot v2 ist freie Software; du darfst ihn modifizieren und weiterverbreiten, allerdings musst du dich an die GNU Affero General Public License v3 halten, siehe **LICENSE** für Details. **Das heißt, du musst den Quellcode veröffentlichen, wenn du den Bot selbst nutzt!**
|
||||
|
||||
##Anleitung
|
||||
|
||||
| Für User | Für Entwickler|
|
||||
|:----------------------------------------------|:------------------------------|
|
||||
| [Setup](#setup) | [Plugins](#plugins) |
|
||||
| [Bot steuern](#bot-steuern) | [Bindings](#bindings) |
|
||||
|:---------------------------------------------|:------------------------------|
|
||||
| [Bot steuern](#bot-steuern) | [Plugins](#plugins) |
|
||||
| | [Bindings](#bindings) |
|
||||
| | [Datenbank](#datenbank)
|
||||
|
||||
* * *
|
||||
# Für User
|
||||
## Setup
|
||||
### Uberspace
|
||||
Der Bot kann mit einem einfachen Installationsskript bei [Uberspace](https://uberspace.de) gehostet werden. Führe einfach `./install-on-uberspace.sh` aus!
|
||||
|
||||
### Ubuntu und Debian
|
||||
Falls du Ubuntu oder Debian verwendest, kannst du einfach `./install-dependencies.sh` ausführen, damit alles installiert wird. Ergänze dann noch den `bot_api_key` und die `admin`-ID (Bekommst du in Telegram mit `@Brawlbot id`) und kopiere die config.lua.example nach config.lua.
|
||||
|
||||
Für eine manuelle Installation musst du LuaRocks für 5.2 [selbst kompilieren](http://stackoverflow.com/a/20359102).
|
||||
|
||||
### Setup
|
||||
Du benötigst **Lua 5.2** (Lua 5.3 funktioniert NICHT!), eine aktive **Redis-Instanz** und die folgenden **LuaRocks-Module**:
|
||||
* luautf8
|
||||
* luasocket
|
||||
* luasec
|
||||
* multipart-post
|
||||
* dkjson
|
||||
* lpeg
|
||||
* redis-lua
|
||||
* fakeredis
|
||||
* oauth
|
||||
* xml
|
||||
* feedparser
|
||||
* serpent
|
||||
|
||||
Klone danach diese Repo. kopiere die `config.lua.example` nach `config.lua` und trage folgendes ein:
|
||||
|
||||
- `bot_api_key`: API-Token vom BotFather
|
||||
- `admin`: Deine Telegram-ID
|
||||
|
||||
Starte danach den Bot mit `./launch.sh`. Um den Bot anzuhalten, führe erst `/halt` über Telegram aus.
|
||||
|
||||
Beim Start werden einige Werte in die Redis-Datenbank unter `telegram:credentials` und `telegram:enabled_plugins` eingetragen. Mit `/plugins enable` kannst du Plugins aktivieren, es sind nicht alle von Haus aus aktiviert.
|
||||
|
||||
Einige Plugins benötigen API-Keys, bitte gehe die einzelnen Plugins durch, bevor du sie aktivierst!
|
||||
|
||||
* * *
|
||||
|
||||
## Bot steuern
|
||||
Ein Administrator kann den Bot über folgende Plugins steuern:
|
||||
|
||||
|
@ -1,29 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Installiert Lua, Luarocks und andere Abhängigkeiten. Sollte auch auf Debian funktionieren.
|
||||
|
||||
rocklist="luasocket luasec multipart-post lpeg dkjson redis-lua fakeredis oauth xml feedparser serpent luautf8"
|
||||
|
||||
echo "Dieses Skript ist für Ubuntu, es wird wahrscheinlich auch für Debian funktionieren."
|
||||
echo "Dieses Skript benötigt Root-Rechte, um folgende Pakete zu installieren:"
|
||||
echo "lua5.2 liblua5.2-dev git libssl-dev fortune-mod fortunes redis-server unzip make"
|
||||
echo "Es werden auch Root-Rechte benötigt, um LuaRocks in /usr/local/"
|
||||
echo "mit den folgenden Rocks zu installieren:"
|
||||
echo $rocklist
|
||||
echo "Drücke ENTER, um fortzufahren, oder Strg-C zum Beenden."
|
||||
read smth
|
||||
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y lua5.2 liblua5.2-dev git libssl-dev fortune-mod fortunes redis-server unzip make
|
||||
git clone http://github.com/keplerproject/luarocks
|
||||
cd luarocks
|
||||
./configure --lua-version=5.2 --versioned-rocks-dir --lua-suffix=5.2
|
||||
make build
|
||||
sudo make install
|
||||
for rock in $rocklist; do
|
||||
sudo luarocks-5.2 install $rock
|
||||
done
|
||||
sudo -k
|
||||
cd ..
|
||||
|
||||
echo "Vorgang beendet! Nutze ./launch.sh, um den Bot zu starten."
|
||||
echo "Setze vorher dein Bot-Token in der config.lua.example und kopiere sie nach config.lua."
|
@ -1,97 +0,0 @@
|
||||
#!/bin/bash
|
||||
# Dieses Skript installiert den Bot auf Uberspace.
|
||||
# Lua 5.2 (falls nicht vorhanden) und LuaRocks werden installiert und Redis wird gestartet,
|
||||
# zudem wird die config.lua des Bots angepasst.
|
||||
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
cd $HOME
|
||||
|
||||
if [ -n "$1" ]; then
|
||||
echo "Überspringe Lua"
|
||||
else
|
||||
# LUA 5.2
|
||||
if [ -d "/package/host/localhost/lua-5.2" ]; then
|
||||
echo "export PATH=/package/host/localhost/lua-5.2/bin:\$PATH" >> $HOME/.bash_profile
|
||||
INSTALLED_DIR="/package/host/localhost/lua-5.2"
|
||||
else
|
||||
echo "Dieser Uberspace hat kein Lua 5.2, kompiliere selbst..."
|
||||
wget https://www.lua.org/ftp/lua-5.2.4.tar.gz
|
||||
tar -xvf lua-5.2.*.tar.gz
|
||||
rm lua-5.2.*.tar.gz
|
||||
cd lua-5.2.*
|
||||
make linux
|
||||
if [ ! -f "src/lua" ]; then
|
||||
echo "Kompilierung nicht erfolgreich. Breche ab..."
|
||||
exit 1
|
||||
fi
|
||||
mkdir -p $HOME/lua5.2
|
||||
make install INSTALL_TOP=$HOME/lua5.2
|
||||
echo "export PATH=\$HOME/lua5.2/bin:\$PATH" >> $HOME/.bash_profile
|
||||
INSTALLED_DIR="$HOME/lua5.2"
|
||||
fi
|
||||
cd $HOME
|
||||
rm -rf lua-5.2.*
|
||||
source $HOME/.bash_profile
|
||||
echo "LUA 5.2 ist installiert!"
|
||||
fi
|
||||
|
||||
cd $HOME
|
||||
|
||||
# LuaRocks
|
||||
if [ -n "$2" ]; then
|
||||
echo "Überspringe LuaRocks"
|
||||
else
|
||||
echo "Installiere LuaRocks"
|
||||
git clone http://github.com/keplerproject/luarocks luarocks-git
|
||||
cd luarocks-git
|
||||
./configure --lua-version=5.2 --versioned-rocks-dir --with-lua=$INSTALLED_DIR --prefix=$HOME/luarocks
|
||||
make build
|
||||
make install
|
||||
if [ ! -f "$HOME/luarocks/bin/luarocks-5.2" ]; then
|
||||
echo "Kompilierung nicht erfolgreich. Breche ab..."
|
||||
exit 1
|
||||
fi
|
||||
echo "export PATH=\$HOME/luarocks/bin:\$PATH" >> $HOME/.bash_profile
|
||||
cd $HOME
|
||||
rm -rf luarocks-git
|
||||
source $HOME/.bash_profile
|
||||
luarocks-5.2 path >> $HOME/.bash_profile
|
||||
source $HOME/.bash_profile
|
||||
echo "Luarocks ist installiert!"
|
||||
fi
|
||||
|
||||
cd $HOME
|
||||
|
||||
# LuaRocks-Module
|
||||
if [ -n "$3" ]; then
|
||||
echo "Überspringe LuaRocks-Module"
|
||||
else
|
||||
echo "Installiere LuaRocks-Module"
|
||||
rocklist="luasocket luasec multipart-post lpeg dkjson redis-lua fakeredis oauth xml feedparser serpent luautf8"
|
||||
for rock in $rocklist; do
|
||||
luarocks-5.2 install $rock --local
|
||||
done
|
||||
echo "Alle LuaRocks-Module wurden installiert!"
|
||||
fi
|
||||
|
||||
cd $SCRIPTDIR
|
||||
|
||||
# Redis
|
||||
if [ -n "$4" ]; then
|
||||
echo "Überspringe Redis"
|
||||
else
|
||||
echo "Setze Redis auf"
|
||||
test -d ~/service || uberspace-setup-svscan
|
||||
uberspace-setup-redis
|
||||
# Passe Config an
|
||||
NAME=$(whoami)
|
||||
sed s/"use_socket = false,"/"use_socket = true,"/ config.lua.example > config.lua
|
||||
sed -i s/"socket_path = 'unix:\/\/\/home\/path\/to\/your\/redis\/sock',"/"socket_path = \'unix:\/\/\/home\/$NAME\/.redis\/sock',"/g config.lua
|
||||
echo "Redis aufgesetzt!"
|
||||
fi
|
||||
|
||||
echo "Alles fertig! Vergiss nicht, noch deinen Bot-Token und deine Telegram-ID in der config.lua zu ergänzen!"
|
||||
echo "Führe bitte vorher noch einmal"
|
||||
echo "source ~/.bash_profile"
|
||||
echo "aus oder melde dich ab und wieder an."
|
||||
|
||||
exit 0
|
Reference in New Issue
Block a user