Butler Grup membantu orang mengelola grup mereka, dan mencakup banyak alat berguna lainnya.
Kelompok Butler dilahirkan sebagai Otouto v3.1 ( @mokubot ), tetapi sejak itu telah diubah menjadi bot administrasi.
@GroupButler_bot
master@GroupButler_ch . @GBReborn_bot
develop@GroupButler_beta . Pertama -tama, lihat pengaturan bot Anda
- Pastikan privasi dinonaktifkan (info lebih lanjut dapat ditemukan dengan menuju ke halaman FAQ Bots Resmi). Kirim
/setprivacyke @Botfather untuk memeriksa status pengaturan ini saat ini.
Buat file teks biasa bernama .env dengan yang berikut:
Atur
TG_TOKENke token otentikasi yang Anda terima dari@BotFather.Atur
SUPERADMINSsebagai array JSON yang berisi ID telegram numerik Anda. Superadmin lainnya juga dapat ditambahkan. Penting bagi Anda untuk memasukkan ID numerik dan bukan string.Setel
LOG_CHAT(ID obrolan di mana bot akan mengirim semua permintaan buruk yang diterima dari telegram) danLOG_ADMINAnda (ID pengguna yang akan menerima kesalahan eksekusi).
File .env Anda sekarang harus terlihat seperti ini:
TG_TOKEN=123456789:ABCDefGhw3gUmZOq36-D_46_AMwGBsfefbcQ
SUPERADMINS=[12345678]
LOG_CHAT=12345678
LOG_ADMIN=12345678
Persyaratan:
Jalankan make dev_polling . Docker akan menarik dan membangun gambar yang diperlukan, jadi pertama kali Anda menjalankan perintah ini harus memakan waktu sebentar. Setelah itu, bot harus berjalan dan berjalan.
Kode dipasang pada wadah bot, sehingga Anda dapat membuat perubahan dan memulai kembali bot seperti biasanya.
Redis Default Port dipasang ke host, untuk berjaga -jaga jika Anda ingin men -debug sesuatu menggunakan alat yang tersedia di host.
Wadah Redis diatur untuk tidak bertahan data saat dalam mode dev .
Ada sejumlah cara Anda dapat menggunakan Docker untuk digunakan menjadi produksi.
File bernama docker-compose.*.yml gitgnored, untuk berjaga-jaga jika Anda merasa perlu mengesampingkan docker-compose.yml atau menulis sesuatu yang lain sama sekali.
Bot juga mendukung Recrets Docker Secrets (dapat bekerja dengan lemari besi lainnya juga). Periksa lua/config.lua untuk melihat variabel mana yang dapat dibaca dari rahasia.
Anda dapat menggunakan Butler grup dengan menjalankan:
make easy_deploy
Dengan asumsi Anda telah menggunakan redis ke dalam, misalnya staging ( docker stack deploy … atau docker service create … ) dan mengekspor variabel lingkungan yang diperlukan (seperti $TG_TOKEN ...), Anda dapat menggunakan Butler grup dengan menjalankan:
docker stack deploy staging -c docker-compose.yml
Daftar paket yang diperlukan:
libreadline-devredis-serverlua5.1liblua5.1devlibssl-devgitmakeunzipcurllibcurl4-gnutls-devAnda akan memerlukan beberapa modul LUA lainnya juga, yang dapat (dan seharusnya) diinstal melalui Lua Package Manager Luarocks.
Instalasi
Anda dapat dengan mudah menginstal Butler grup dengan menjalankan perintah berikut:
# Tested on Ubuntu 16.04
$ wget https://raw.githubusercontent.com/group-butler/GroupButler/master/install.sh
$ bash install.shatau
# 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.shSebelum Anda memulai bot, Anda harus memulai proses Redis.
# Start Redis
$ sudo service redis-server start Untuk memulai bot, jalankan ./launch.sh . Untuk menghentikan bot, tekan kontrol Ctrl + C dua kali.
Anda juga dapat memulai bot dengan ./polling.lua , namun itu tidak akan memulai kembali secara otomatis. Anda juga perlu menemukan cara lain untuk mengekspor variabel lingkungan yang diperlukan.
config.lua , di tabel bot_settingscache_time.adminlist : Keabadian di detik -detik dari administrasi dalam cache. Bot menyimpan daftar admin untuk menghindari batas telegramnotify_bug : Jika true , bot akan mengirim pesan yang memberi tahu bahwa bug telah terjadi pada pengguna saat ini, ketika plugin dieksekusi dan kesalahan terjadilog_api_errors : Jika true , bot akan mengirimkan LOG_CHAT semua kesalahan yang relevan yang dikembalikan oleh permintaan API ke telegramstream_commands : Jika true , saat pembaruan memicu plugin, kecocokan akan dicetak di konsolconfig.lua , misalnyaREDIS_DB : Database REDIS yang dipilih (jika Anda menjalankan REDIS dengan konfigurasi default, database yang tersedia adalah 16). Basis data akan dipilih pada setiap start/Reload. Default: 0$ . Mereka tidak didokumentasikan, lihat pemicu plugins/admin.lua untuk seluruh daftartrue , bot akan terus mencoba mencocokkan teks pesan dengan pemicu tabel plugins yang hilang$backupkickChatMember mengembalikan selalu respons positif jika user_id telah menjadi bagian dari grup setidaknya sekali, tidak masalah jika pengguna tidak ada dalam grup saat Anda menggunakan metode iniunbanChatMember mengembalikan selalu merupakan respons positif jika user_id telah menjadi bagian dari grup setidaknya sekali, tidak masalah jika pengguna tidak ada dalam grup atau tidak ada dalam daftar hitam grup Semuanya disimpan di Redis, dan cara tercepat untuk mengedit database Anda adalah melalui Redis CLI.
Anda dapat menemukan cadangan database Redis Anda di /etc/redis/dump.rdb . Nama file ini dan frekuensi penyelamatan tergantung pada file konfigurasi Redis Anda.
Jika Anda ingin membantu menerjemahkan bot, ikuti instruksi di bawah ini. Bagian dari Butler menggunakan alat dari gettext. Namun kami tidak menggunakan format biner *.mo demi kesederhanaan. Bot mem -parsing file *.po di direktori locales saat runtime.
Kami merekomendasikan untuk berkontribusi terjemahan ke proyek Crowdin kami.
Catatan untuk Pengembang : Perbarui file pot setiap kali Anda mengubah string, dan jangan lupa untuk menggunakan fungsi i18n() sehingga dapat diterjemahkan. Untuk memperbarui file pot, Anda perlu menginstal gettext dan kemudian jalankan:
make pot
Topkecleon, untuk oTouto asli
Iman Daneshi dan Tiago Danin, untuk Jack-Telegram-Bot
Cosmonawt, untuk Perpustakaan Lua -nya untuk Bot API
Yago pérez untuk bot telegram-nya
The Werewolf Guys, karena membantu penyebaran bot
Lucas Montuano, karena banyak membantu saya dalam debugging bot
Semua admin grup diskusi kami tentang kelompok Butler
Semua orang yang melaporkan bug dan menyarankan barang baru
Le Laide