Group Butler hilft Menschen, ihre Gruppen zu verwalten und umfasst viele andere nützliche Tools.
Gruppe Butler wurde als Otouto V3.1 ( @mokubot ) geboren, wurde aber seitdem in einen Verwaltungsbot verwandelt.
@GroupButler_bot
master@GroupButler_ch . @GBReborn_bot
develop@GroupButler_beta . Schauen Sie sich zunächst Ihre Bot -Einstellungen an
- Stellen Sie sicher, dass die Privatsphäre deaktiviert ist (weitere Informationen finden Sie auf der FAQ -Seite der offiziellen Bots). Senden
/setprivacyan @BotFather senden, um den aktuellen Status dieser Einstellung zu überprüfen.
Erstellen Sie eine einfache Textdatei mit dem Namen .env mit Folgendem:
Setzen Sie
TG_TOKENauf das Authentifizierungs -Token, das Sie von@BotFathererhalten haben.Stellen Sie
SUPERADMINSals JSON -Array mit Ihrer numerischen Telegramm -ID ein. Andere Superadmins können ebenfalls hinzugefügt werden. Es ist wichtig, dass Sie die numerische ID und keine Zeichenfolge einfügen.Setzen Sie
LOG_CHAT(die ID des Chats, in der der Bot alle aus Telegramm empfangenen schlechten Anfragen sendet) und IhrLOG_ADMIN(die ID des Benutzers, die Ausführungsfehler erhält).
Ihre .env -Datei sollte jetzt etwas so aussehen:
TG_TOKEN=123456789:ABCDefGhw3gUmZOq36-D_46_AMwGBsfefbcQ
SUPERADMINS=[12345678]
LOG_CHAT=12345678
LOG_ADMIN=12345678
Anforderungen:
Run make dev_polling . Docker wird die erforderlichen Bilder ziehen und erstellen, sodass Sie diesen Befehl zum ersten Mal ausführen sollten. Danach sollte der Bot in Betrieb sein.
Der Code ist auf dem Bot -Container montiert, sodass Sie Änderungen vornehmen und den Bot wie gewohnt neu starten können.
Redis Standard -Port ist zum Host montiert, nur für den Fall, dass Sie etwas mithilfe von Tools, die im Host verfügbar sind, debuggen möchten.
Der Redis -Container ist im Develmodus nicht auf persistische Daten festgelegt .
Es gibt eine Reihe von Möglichkeiten, wie Sie Docker für die Bereitstellung in die Produktion verwenden können.
Dateien mit dem Namen docker-compose.*.yml docker-compose.yml
Der Bot unterstützt auch das Lesen von Docker -Geheimnissen (kann auch mit anderen Gewölben funktionieren). Überprüfen Sie lua/config.lua um zu sehen, welche Variablen aus Geheimnissen gelesen werden können.
Sie können Group Butler durch Ausführen bereitstellen:
make easy_deploy
Angenommen, Sie haben Redis in z. B. staging ( docker stack deploy … oder docker service create … ) eingesetzt und die erforderlichen Umgebungsvariablen (wie $TG_TOKEN …) exportiert, können Sie Group Butler durch Ausführen bereitstellen:
docker stack deploy staging -c docker-compose.yml
Liste der erforderlichen Pakete:
libreadline-devredis-serverlua5.1liblua5.1devlibssl-devgitmakeunzipcurllibcurl4-gnutls-devSie benötigen auch einige andere LuA -Module, die über den Lua -Paketmanager Luarocks installiert werden können (und sollten).
Installation
Sie können Group Butler problemlos installieren, indem Sie die folgenden Befehle ausführen:
# Tested on Ubuntu 16.04
$ wget https://raw.githubusercontent.com/group-butler/GroupButler/master/install.sh
$ bash install.shoder
# Tested on Ubuntu 14.04, 15.04 and 16.04, Debian 7, Linux Mint 17.2
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install libreadline-dev libssl-dev lua5.1 liblua5.1-dev git make unzip redis-server curl libcurl4-gnutls-dev
# We are going now to install LuaRocks and the required Lua modules
$ wget http://luarocks.org/releases/luarocks-2.2.2.tar.gz
$ tar zxpf luarocks-2.2.2.tar.gz
$ cd luarocks-2.2.2
$ ./configure ; sudo make bootstrap
$ sudo luarocks install luasec
$ sudo luarocks install luasocket
$ sudo luarocks install redis-lua
$ sudo luarocks install lua-term
$ sudo luarocks install serpent
$ sudo luarocks install lua-cjson
$ sudo luarocks install Lua-cURL
$ cd ..
# Clone the repository and give the launch script permissions to be executed
# If you want to clone the beta branch, use git clone with the [-b beta] option
$ git clone https://github.com/group-butler/GroupButler.git
$ cd GroupButler
$ sudo chmod +x launch.shBevor Sie den Bot starten, müssen Sie den Redis -Prozess starten.
# Start Redis
$ sudo service redis-server start Um den Bot zu starten, rennen Sie ./launch.sh . Um den Bot zu stoppen, drücken Sie zweimal die Steuerung Strg + C.
Sie können den Bot auch mit ./polling.lua starten, er wird jedoch nicht automatisch neu gestartet. Sie müssen auch eine andere Möglichkeit finden, um die erforderlichen Umgebungsvariablen zu exportieren.
config.lua in der Tabelle bot_settings platziertcache_time.adminlist : Die Beständigkeit in Sekunden der Administratorliste im Cache. Der Bot rehrt die Administratorliste vor, um zu vermeiden, dass Telegrammgrenzen eingehennotify_bug : Wenn true , sendet der Bot eine Nachricht, die benachrichtigt, dass ein Fehler dem aktuellen Benutzer aufgetreten ist, wenn ein Plugin ausgeführt wird und ein Fehler auftrittlog_api_errors : Wenn true , sendet der Bot alle relevanten Fehler in LOG_CHAT , die von einer API -Anfrage nach Telegramm zurückgegeben wurdenstream_commands : Wenn ein Update ein true auslöst, wird das Spiel auf der Konsole gedrucktconfig.lua finden könnenREDIS_DB : Die ausgewählte Redis -Datenbank (wenn Sie Redis mit der Standardkonfiguration ausführen, sind die verfügbaren Datenbanken 16). Die Datenbank wird auf jedem Start/Reload ausgewählt. Standard: 0$ . Sie sind nicht dokumentiert, sehen Sie sich die Auslöser von plugins/admin.lua -Plugin für die gesamte Liste antrue zurückgibt, versucht plugins Bot weiter$backup -Befehl eine Sicherung des Ordners Reißverschluss schickenkickChatMember -Methode immer eine positive Antwort zurück, wenn der user_id mindestens einmal Teil der Gruppe war. Es spielt keine Rolle, ob sich der Benutzer nicht in der Gruppe befindet, wenn Sie diese Methode verwendenunbanChatMember -Methode immer eine positive Antwort zurück, wenn der user_id mindestens einmal Teil der Gruppe war. Es spielt keine Rolle, ob sich der Benutzer nicht in der Gruppe befindet oder nicht in der Gruppe Blacklist ist Alles wird auf Redis gespeichert, und der schnellste Weg, um Ihre Datenbank zu bearbeiten, ist über die Redis CLI.
Sie finden eine Sicherung Ihrer Redis -Datenbank in /etc/redis/dump.rdb . Der Name dieser Datei und die Häufigkeit von Speichern hängen von Ihrer Redis -Konfigurationsdatei ab.
Wenn Sie helfen möchten, den Bot zu übersetzen, befolgen Sie die folgenden Anweisungen. Teile der Gruppe Butler verwenden Tools von GetText. Wir verwenden jedoch kein binäres Format *.mo , um der Einfachheit willen. Der Bot analysiert die *.po -Dateien zur Laufzeit im locales .
Wir empfehlen, Übersetzungen zu unserem Crowdin -Projekt beizutragen.
Hinweis für Entwickler : Aktualisieren Sie die POT -Datei, wenn Sie eine Zeichenfolge ändern, und vergessen Sie nicht, die Funktion i18n() zu verwenden, damit sie übersetzbar ist. Um die POT -Datei zu aktualisieren, müssen Sie GetText installieren und dann ausführen:
make pot
TopKleon für das Original Otouto
Iman Daneshi und Tiago Danin für Jack-Telegram-Bot
Cosmonawt für seine Lua -Bibliothek für die Bot -API
Yago Pérez für seinen Telegrammbot
Die Werwolf -Jungs, um die Ausbreitung des Bots zu unterstützen
Lucas Montuano, weil er mir beim Debuggen des Bots sehr geholfen hat
Alle Admins unserer Diskussionsgruppen über die Gruppe Butler
Alle Leute, die Bugs gemeldet und neue Sachen vorgeschlagen haben
Le laide