Ebben a cikkben a felhasználás példáját vizsgáljuk meg. távirat bot egy Linux CentOS szerverrel, mutassa be, hogyan konfigurálhatja az egyszerű értesítéseket a chat botban a kiszolgáló figyelésére, valamint számos vezérlőparancsot.
A mobil eszköz korszakában fontos lett a különféle hírvivők használata nemcsak az igazi emberekkel való kommunikációhoz, hanem a különféle botok használatához is. Például a távirat A bot széles funkcionalitása elérhető, amelyet különféle célokra lehet felhasználni - információt adhat az ügyfélnek a megrendelésről, a postai szolgáltatótól a csomagról és például a saját szerverének megfigyelésére..
Tartalom:
- Csevegőbot létrehozása a táviratban
- Értesítések küldése a távirat csevegésére a szerverről
- Linux szerver menedzsment a Telegram chatbotban
Csevegőbot létrehozása a táviratban
Csevegési bot létrehozása távirat használt bot @BotFather. A bot létrehozásához meg kell találnia @BotFather a táviratban, és menj beszélgetni vele:
sajtó START. Új bot létrehozásához válassza a menüben / newbot, Írja be a bot nevét a „name_bot” formátumban. A bot létrehozása után megkapja API bot token, amelyre a további konfiguráláshoz szükség lesz.
Most meg kell tudnod user_id - Ez a bot órájának azonosítója, amelyben értesítéseket fog küldeni. Keressen vele csevegni, nyomja meg a Start gombot, és küldjön bármilyen karaktert. Ezután a böngészőben lépjen a következőbe:
https://api.telegram.org/bot/getUpdates
- hol van API amely kiadta a BotFather-t.
Azonosítóját kiemeli a képernyőképe.
Tehát létrehozott egy botot a Telegramban, és megkaptuk az engedélyezési adatokat.
Értesítések küldése a távirat csevegésére a szerverről
Az előzőleg létrehozott bot és a fogadott azonosítók használatával értesítéseket küldhet a Telegram csevegőbe a szerverről, és így bármilyen adatot vagy riasztást megkaphat, amely érdekel minket..
Az üzenet elküldéséhez a csevegőbe a következő URL-t kell használnia:
https://api.telegram.org/bot/sendMessage?chat_id=&text=
ahol:
- ez az az API, amelyet a @BotFather kiadott
- ez a bottal folytatott csevegés azonosítója.
Például:
# curl -s -X POST https://api.telegram.org/bot944496485:AAEtGaGCVrQ7d26Rc3r_cqXPIhrKVokh8e4/sendMessage -d chat_id = 336116180 -d text = "Jó reggelt, ország"
Miért használhatom az ilyen távirat-értesítéseket? Például, amikor biztonsági másolatot készít, értesítést küldhet annak létrehozásáról, vagy linket küldhet a másolat letöltéséhez a botnal való csevegéshez. Küldhet magának értesítéseket a táviratban található rendszer-összeomlásokkal kapcsolatos információkkal. Bármely csekk hozzáadható a koronához, majd elküldhető a Telegramba.
További példa az ilyen értesítések használatára:
# curl -s -X POST https://api.telegram.org/bot944496485:AAEtGaGCVrQ7d26Rc3r_cqXPIhrKVokh8e4/sendMessage -d chat_id = 336116180 -d text = "$ $ (whoami) bejelentkezett a $ (hostname) (echo $ SSH_CLIENT | awk 'print $ 1') "&> / dev / null 2> & 1
Adja hozzá ezt a kódot a / etc / profil és értesítéseket kapunk távirat minden alkalommal, amikor a felhasználó belép a szerverre:
Szeretném emlékeztetni, hogy minden csapatban pontosan meg kell adnia az ön nevét token (API) és ID csevegés.
Linux szerver menedzsment a Telegram chatbotban
Van egy szkriptkészlet, amely lehetővé teszi a Linux szerver vezérlését a Telegram csevegéséből, különféle parancsok küldésével a botmal való csevegéshez. Ehhez telepítse a Python-ot, számos eszközt, és töltsön fel szkripteket a kiszolgálóra.
# wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
# yum install xz -y
# tar -xpJf Python-3.6.0.tar.xz
# cd Python-3.6.0
# yum groupinstall "Fejlesztő eszközök" -y
# yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel -y
# ./konfiguráció
# make
# telepítse
Hozzon létre egy hivatkozást a Python számára:
# ln-us / usr / local / bin / python3 / usr / bin / python3
Telepítse magának a botnak a szoftvert:
# pip3 install python-telegram-bot --upgrade
Most töltse le és csomagolja ki a kiszolgáló könyvtárába root / admin három fájl a telegram_bot.zip archívumból:
- bot.sh
- config.py
- bot.py
Vegye figyelembe a fájlt config.py. Ebben meg kell határoznunk token (API) és ID a csevegés a bottal, valamint a biztonsági másolatokkal ellátott könyvtárak és a könyvtár elérési útja, amelynek méretét tovább ellenőrizheti:
fájl bot.sh nem igényel konfigurálást, abban csak az elérési utat jelöljük bot.py:
És a legalapvetőbb fájl, amely valóban lehetővé teszi számunkra a szerver kezelését bot.py. Leírja azokat a funkciókat, amelyek elérhetők lesznek a botnal folytatott csevegésben, és valójában ott is hozzáadhatjuk saját funkciókat. Például az első blokk leírja a csevegésben elérhető botparancsokat:
Leírja az összes funkciót, amely a parancs beírása után elérhető lesz / help.
Magát a funkciót például az alábbiakban ismertetjük,
# ifconfig parancs funkció def ifconfig (bot, frissítés): újratöltés (config) user = str (update.message.from_user.id), ha a felhasználó a config.admin: # ha a felhasználói azonosító az admin listában van, akkor a parancs a run_command ("ifconfig" ) bot.sendMessage (chat_id = update.message.chat_id, text = textoutput)
És ezt a funkciót parancsként kell leírni:
ifconfig_handler = CommandHandler ('ifconfig', ifconfig) küldő.add_handler (ifconfig_handler)
Vagyis, mint láthatja, ez a standard ifconfig hálózati funkció ellenőrzésének végrehajtása.
A bottal való találkozáskor megpróbáltam hozzáadni a saját parancsomat, például az Apache ellenőrzéséhez:
# szolgáltatás httpd állapota
De csak a fájl konfigurálása révén nem működött. Ahogy megértettem, itt csak egy szóval vagy karakterekkel leírt parancsot hajthat végre. A fájlt fájl létrehozásával oldottam meg apache_status.sh tartalommal:
#! / bin / bash
szolgáltatás httpd állapota
És létrehozott egy hivatkozást rajta:
# ln -s / gyökér/admin/apache_status.sh / usr / local / sbin / apachestatus
Most, amikor meghívjuk a parancsot apachestatus, Megkapom a webszerver állapotát apache:
Aktában bot.py Kitöltöttem mind a három blokkot, más funkciók szerint. A bot működéséhez el kell futtatnia a fájlt bot.sh. Az egyszerűség kedvéért külön szolgáltatást hozunk létre a Telegram bot számára. Készítjük a szükséges fájlt és beállítjuk a jogokat:
# érintse meg az /etc/systemd/system/telegram-bot.service elemet
# chmod 664 /etc/systemd/system/telegram-bot.service
Aztán megyünk a szolgáltatási fájlhoz:
# nano /etc/systemd/system/telegram-bot.service
És adjuk hozzá a tartalmat:
[Egység] Leírás = Telegram bot Után = network.target [Service] ExecStart = / root / admin / bot.sh [Install] WantedBy = multi-user.target
Most adja hozzá a szolgáltatást az automatikus betöltéshez, és futtassa:
# systemctl indítsa el a telegram-bot.service szolgáltatást
# systemctl engedélyezze a telegram-bot.service szolgáltatást
# systemctl status telegram-bot.service
Most, ha a botjával csevegsz, lépj be / help, megkapja az elérhető parancsok listáját.
Például abban a pillanatban, amikor a webszerver le van állítva a szerveremen Apache:
Futtassa a szerveren, és ellenőrizze az állapotot a Telegram segítségével:
Néhány további példa a parancs végrehajtására:
Így figyelemmel kísérheti a Linux szervert vagy akár a részleges adminisztrációt is távirat, ami jelentősen csökkenti a tipikus műveletek elvégzéséhez szükséges időt.
Azt is szeretném megjegyezni, hogy a szerver hitelesítése egy botmal pontosan a ID és token (API) (bármely más személy, aki nem ismeri az Ön adatait, nem lesz képes csatlakozni).
A közzétételkor a tesztbotot eltávolították.