things
This commit is contained in:
parent
079592ad83
commit
2cf8156f1c
49
README.md
49
README.md
@ -3,62 +3,25 @@
|
|||||||
|
|
||||||
Der multifunktionale Telegram-Bot.
|
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 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.**
|
**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
|
##Anleitung
|
||||||
|
|
||||||
| Für User | Für Entwickler|
|
| Für User | Für Entwickler|
|
||||||
|:----------------------------------------------|:------------------------------|
|
|:---------------------------------------------|:------------------------------|
|
||||||
| [Setup](#setup) | [Plugins](#plugins) |
|
| [Bot steuern](#bot-steuern) | [Plugins](#plugins) |
|
||||||
| [Bot steuern](#bot-steuern) | [Bindings](#bindings) |
|
| | [Bindings](#bindings) |
|
||||||
| | [Datenbank](#datenbank)
|
| | [Datenbank](#datenbank)
|
||||||
|
|
||||||
* * *
|
* * *
|
||||||
# Für User
|
# 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
|
## Bot steuern
|
||||||
Ein Administrator kann den Bot über folgende Plugins 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