เดเดตเดฟเดเตเดฏเตเด เดเดชเตเดชเตเดณเตเด เดธเตเตผเดตเดฑเดฟเดฒเตเดเตเดเตเดณเตเดณ เดเดเตเดธเดธเต เดเดตเดถเตเดฏเดฎเดพเดฏเดฟ เดตเดฐเตเดฎเตเดชเตเตพ เดชเดฒเดชเตเดชเตเดดเตเด เดธเดพเดนเดเดฐเตเดฏเดเตเดเดณเตเดฃเตเดเต. เดเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด, SSH เดตเดดเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเดคเต เดเดฒเตเดฒเดพเดฏเตโเดชเตเดชเตเดดเตเด เดเดฑเตเดฑเดตเตเด เดธเตเดเดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏ เดฐเตเดคเดฟเดฏเดฒเตเดฒ, เดเดพเดฐเดฃเด เดจเดฟเดเตเดเตพเดเตเดเต เดเดฐเต SSH เดเตเดฒเดฏเดจเตเดฑเต, เดธเตเตผเดตเตผ เดตเดฟเดฒเดพเดธเด เด
เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดชเดฏเตเดเตเดคเต/เดชเดพเดธเตโเดตเตเดกเต เดเตเดฎเตเดชเดฟเดจเตเดทเตป เดเดฃเตเดเดพเดฏเดฟเดฐเดฟเดเตเดเดฟเดฒเตเดฒ. เดคเตเตผเดเตเดเดฏเดพเดฏเตเด เดเดฃเตเดเต
เด
เดคเดฟเดจเดพเตฝ เดฒเดณเดฟเดคเดตเตเด เดเดจเตเดจเดพเตฝ เดฐเดธเดเดฐเดตเตเดฎเดพเดฏ เดเดฐเต เดชเดฐเดฟเดนเดพเดฐเด เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเดพเตป เดเดพเตป เดคเตเดฐเตเดฎเดพเดจเดฟเดเตเดเต. เด
เดคเดพเดฏเดคเต, เดเดฐเต เดเตเดฒเดฟเดเตเดฐเดพเด เดฌเตเดเตเดเต เดเดดเตเดคเตเด, เด
เดคเต เดธเตเตผเดตเดฑเดฟเตฝ เดคเดจเตเดจเต เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดฎเตเดชเตเตพ, เด
เดคเดฟเดฒเตเดเตเดเต เด
เดฏเดเตเด เดเดฎเดพเตปเดกเตเดเตพ เดเดเตเดธเดฟเดเตเดฏเตเดเตเดเต เดเตเดฏเตเดฏเตเดเดฏเตเด เดซเดฒเด เดจเตฝเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเด. เดชเด เดฟเดเตเดเต เดเดดเดฟเดเตเดเต
เดเดฌเตเดฃเตเดเต 16.04-เตฝ เดเดพเตป เด เดชเตเดฐเตเดเดเตโเดฑเตเดฑเต เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเดฟ, เดเดจเตเดจเดพเตฝ เดฎเดฑเตเดฑเต เดตเดฟเดคเดฐเดฃเดเตเดเดณเดฟเตฝ เดชเตเดฐเดถเตโเดจเดฐเดนเดฟเดคเดฎเดพเดฏ เดธเดฎเดพเดฐเดเดญเดคเตเดคเดฟเดจเดพเดฏเดฟ เดเดพเตป เดเดฒเตเดฒเดพเด เดชเตเดคเตเดตเดพเดฏ เดฐเตเดคเดฟเดฏเดฟเตฝ เดเตเดฏเตเดฏเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเต.
เดฌเตเดเตเดเต เดฐเดเดฟเดธเตเดเตเดฐเตเดทเตป
@BotFather-เตฝ เดเดฐเต เดชเตเดคเดฟเดฏ เดฌเตเดเตเดเต เดฐเดเดฟเดธเตเดฑเตเดฑเตผ เดเตเดฏเตเดฏเตเดจเตเดจเต. เดเดเตเดเตพ เด
เดคเต เด
เดตเดจเต เด
เดฏเดฏเตเดเตเดเตเดจเตเดจเต /newbot
เดตเดพเดเดเดคเตเดคเดฟเตฝ เดเตเดเตเดคเตฝ. เดชเตเดคเดฟเดฏ เดฌเตเดเตเดเดฟเดจเตเด เดจเดฟเดเตเดเดณเตเดเต เดเดกเดฟเดเตเดเตเด เดเดเตเดเตพเดเตเดเต เดเดฐเต เดเตเดเตเดเตบ เดเดตเดถเตเดฏเดฎเดพเดฃเต (เดจเดฟเดเตเดเตพเดเตเดเต เดเดคเต เดฒเดญเดฟเดเตเดเตเด, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดเดคเดฟเตฝ เดจเดฟเดจเตเดจเต
เดชเตเดคเตเดคเตบ เดคเดฏเตเดฏเดพเดฑเตเดเตเดชเตเดชเต
เดฌเตเดเตเดเต เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเดเตเดเตพ เดฒเตเดฌเตเดฐเดฑเดฟ เดเดชเดฏเตเดเดฟเดเตเดเตเด telebot
(pip install pytelegrambotapi
). เดฒเตเดฌเตเดฐเดฑเดฟ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเดคเต subprocess
เดเดเตเดเตพ เดธเตเตผเดตเดฑเดฟเตฝ เดเดฎเดพเตปเดกเตเดเตพ เดเดเตเดธเดฟเดเตเดฏเตเดเตเดเต เดเตเดฏเตเดฏเตเด.
เดเดฐเต เดฌเตเดเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต
เดธเตเตผเดตเดฑเดฟเตฝ เดเดเตเดเตพ bot.py เดซเดฏเตฝ เดธเตเดทเตเดเดฟเดเตเดเตเดจเตเดจเต:
nano bot.py
เด เดคเดฟเตฝ เดเตเดกเต เดเดเตเดเดฟเดเตเดเตเด:
from subprocess import check_output
import telebot
import time
bot = telebot.TeleBot("XXXXXXXXX:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")#ัะพะบะตะฝ ะฑะพัะฐ
user_id = 0 #id ะฒะฐัะตะณะพ ะฐะบะบะฐัะฝัะฐ
@bot.message_handler(content_types=["text"])
def main(message):
if (user_id == message.chat.id): #ะฟัะพะฒะตััะตะผ, ััะพ ะฟะธัะตั ะธะผะตะฝะฝะพ ะฒะปะฐะดะตะปะตั
comand = message.text #ัะตะบัั ัะพะพะฑัะตะฝะธั
try: #ะตัะปะธ ะบะพะผะฐะฝะดะฐ ะฝะตะฒัะฟะพะปะฝัะตะผะฐั - check_output ะฒัะดะฐัั exception
bot.send_message(message.chat.id, check_output(comand, shell = True))
except:
bot.send_message(message.chat.id, "Invalid input") #ะตัะปะธ ะบะพะผะฐะฝะดะฐ ะฝะตะบะพััะตะบัะฝะฐ
if __name__ == '__main__':
while True:
try:#ะดะพะฑะฐะฒะปัะตะผ try ะดะปั ะฑะตัะฟะตัะตะฑะพะนะฝะพะน ัะฐะฑะพัั
bot.polling(none_stop=True)#ะทะฐะฟััะบ ะฑะพัะฐ
except:
time.sleep(10)#ะฒ ัะปััะฐะต ะฟะฐะดะตะฝะธั
เดเดเตเดเตพ เด
เดคเดฟเดฒเต เดฌเตเดเตเดเต เดเตเดเตเดเดฃเดฟเดจเต @BotFather เดเดทเตเดฏเต เดเตเดฏเตโเดคเดคเตเด user_id เดจเดฟเดเตเดเดณเตเดเต เด
เดเตเดเตเดฃเตเดเดฟเดจเตเดฑเต เดเดกเดฟ เดฎเตเดฒเตเดฏเดตเตเด เดเดชเดฏเตเดเดฟเดเตเดเต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดเตเดเตเดจเตเดจเต. เดเดชเดฏเตเดเตเดคเต เดเดกเดฟ เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเดฃเตเดเดคเต เด
เดคเตเดฏเดพเดตเดถเตเดฏเดฎเดพเดฃเต, เด
เดคเดฟเดจเดพเตฝ เดฌเตเดเตเดเต เดจเดฟเดเตเดเดณเตเดเต เดธเตเตผเดตเดฑเดฟเดฒเตเดเตเดเต เดจเดฟเดเตเดเตพเดเตเดเต เดฎเดพเดคเตเดฐเด เดเดเตเดธเดธเต เดจเตฝเดเตเดจเตเดจเต. เดซเดเดเตเดทเตป check_output()
เดชเดพเดธเดพเดเตเดเดฟเดฏ เดเดฎเดพเตปเดกเต เดเดเตเดธเดฟเดเตเดฏเตเดเตเดเต เดเตเดฏเตเดฏเตเดเดฏเตเด เดซเดฒเด เดจเตฝเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดจเตเดจเต.
เดฌเตเดเตเดเต เดตเดฟเดเตเดทเตเดชเดฟเดเตเดเตเด เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เด
เดตเดถเตเดทเดฟเดเตเดเตเดจเตเดจเดคเต. เดธเตเตผเดตเดฑเดฟเตฝ เดชเตเดฐเดเตเดฐเดฟเดฏเดเตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดเดพเตป เดเดชเดฏเตเดเดฟเดเตเดเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต screen
(sudo apt-get install screen
):
screen -dmS ServerBot python3 bot.py
(เดเดตเดฟเดเต "เดธเตเตผเดตเตผเดฌเตเดเตเดเต" เดเดจเตเดจเดคเต เดชเตเดฐเตเดธเดธเตเดธเต เดเดกเดฟเดฏเดพเดฃเต)
เดชเดถเตเดเดพเดคเตเดคเดฒเดคเตเดคเดฟเตฝ เดชเตเดฐเดเตเดฐเดฟเดฏ เดฏเดพเดจเตเดคเตเดฐเดฟเดเดฎเดพเดฏเดฟ เดเดฐเดเดญเดฟเดเตเดเตเด. เดจเดฎเตเดเตเดเต เดฌเตเดเตเดเตเดฎเดพเดฏเดฟ เดธเดเดญเดพเดทเดฃเดคเตเดคเดฟเดฒเตเดเตเดเต เดชเตเดเดพเด, เดเดฒเตเดฒเดพเด เดเตเดฏเตเดฏเตเดฃเตเดเดคเต เดชเตเดฒเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเตเดฃเตเดเตเดฏเตเดจเตเดจเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด:
เด
เดญเดฟเดจเดจเตเดฆเดจเดเตเดเตพ! เดฌเตเดเตเดเต เด
เดคเดฟเดฒเตเดเตเดเต เด
เดฏเดเตเด เดเดฎเดพเตปเดกเตเดเตพ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดจเตเดจเต. เดเดชเตเดชเตเตพ, เดธเตเตผเดตเตผ เดเดเตเดธเดธเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเดเตเดเตพ เดฌเตเดเตเดเตเดฎเดพเดฏเดฟ เดเดฐเต เดกเดฏเดฒเตเดเต เดคเตเดฑเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต.
เดเดตเตผเดคเตเดคเดฟเดเตเดเตเดณเตเดณ เดเดฎเดพเตปเดกเตเดเตพ
เดชเดฒเดชเตเดชเตเดดเตเด, เดธเตเตผเดตเดฑเดฟเดจเตเดฑเต เด เดตเดธเตเดฅ เดจเดฟเดฐเตเดเตเดทเดฟเดเตเดเดพเตป, เดจเดฟเดเตเดเตพ เดเดฐเต เดเดฎเดพเตปเดกเตเดเตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต. เด เดคเดฟเดจเดพเตฝ, เดตเตเดฃเตเดเตเด เด เดฏเดฏเตโเดเตเดเดพเดคเต เดคเดจเตเดจเต เดเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เดเดฎเดพเตปเดกเตเดเตพ เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเดจเตเดจเดคเต เดตเดณเดฐเต เดเดเดฟเดคเดฎเดพเดฏเดฟเดฐเดฟเดเตเดเตเด.
เดธเดจเตเดฆเตเดถเดเตเดเตพเดเตเดเต เดคเดพเดดเตเดฏเตเดณเตเดณ เดเตปเดฒเตเตป เดฌเดเตเดเดฃเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดเดเตเดเตพ เดเดคเต เดจเดเดชเตเดชเดฟเดฒเดพเดเตเดเตเด:
from subprocess import check_output
import telebot
from telebot import types #ะะพะฑะฐะฒะปัะตะผ ะธะผะฟะพัั ะบะฝะพะฟะพะบ
import time
bot = telebot.TeleBot("XXXXXXXXX:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")#ะขะพะบะตะฝ ะฑะพัะฐ
user_id = 0 #id ะฒะฐัะตะณะพ ะฐะบะบะฐัะฝัะฐ
@bot.message_handler(content_types=["text"])
def main(message):
if (user_id == message.chat.id): #ะฟัะพะฒะตััะตะผ, ััะพ ะฟะธัะตั ะธะผะตะฝะฝะพ ะฒะปะฐะดะตะปะตั
comand = message.text #ัะตะบัั ัะพะพะฑัะตะฝะธั
markup = types.InlineKeyboardMarkup() #ัะพะทะดะฐะตะผ ะบะปะฐะฒะธะฐัััั
button = types.InlineKeyboardButton(text="ะะพะฒัะพัะธัั", callback_data=comand) #ัะพะทะดะฐะตะผ ะบะฝะพะฟะบั
markup.add(button) #ะดะพะฑะฐะฒะปัะตะผ ะบะฝะพะฟะบั ะฒ ะบะปะฐะฒะธะฐัััั
try: #ะตัะปะธ ะบะพะผะฐะฝะดะฐ ะฝะตะฒัะฟะพะปะฝัะตะผะฐั - check_output ะฒัะดะฐัั exception
bot.send_message(user_id, check_output(comand, shell = True, reply_markup = markup)) #ะฒัะทัะฒะฐะตะผ ะบะพะผะฐะฝะดั ะธ ะพัะฟัะฐะฒะปัะตะผ ัะพะพะฑัะตะฝะธะต ั ัะตะทัะปััะฐัะพะผ
except:
bot.send_message(user_id, "Invalid input") #ะตัะปะธ ะบะพะผะฐะฝะดะฐ ะฝะตะบะพััะตะบัะฝะฐ
@bot.callback_query_handler(func=lambda call: True)
def callback(call):
comand = call.data #ััะธััะฒะฐะตะผ ะบะพะผะฐะฝะดั ะธะท ะฟะพะปั ะบะฝะพะฟะบะธ data
try:#ะตัะปะธ ะบะพะผะฐะฝะดะฐ ะฝะต ะฒัะฟะพะปะฝัะตะผะฐั - check_output ะฒัะดะฐัั exception
markup = types.InlineKeyboardMarkup() #ัะพะทะดะฐะตะผ ะบะปะฐะฒะธะฐัััั
button = types.InlineKeyboardButton(text="ะะพะฒัะพัะธัั", callback_data=comand) #ัะพะทะดะฐะตะผ ะบะฝะพะฟะบั ะธ ะฒ data ะฟะตัะตะดะฐัะผ ะบะพะผะฐะฝะดั
markup.add(button) #ะดะพะฑะฐะฒะปัะตะผ ะบะฝะพะฟะบั ะฒ ะบะปะฐะฒะธะฐัััั
bot.send_message(user_id, check_output(comand, shell = True), reply_markup = markup) #ะฒัะทัะฒะฐะตะผ ะบะพะผะฐะฝะดั ะธ ะพัะฟัะฐะฒะปัะตะผ ัะพะพะฑัะตะฝะธะต ั ัะตะทัะปััะฐัะพะผ
except:
bot.send_message(user_id, "Invalid input") #ะตัะปะธ ะบะพะผะฐะฝะดะฐ ะฝะตะบะพััะตะบัะฝะฐ
if __name__ == '__main__':
while True:
try:#ะดะพะฑะฐะฒะปัะตะผ try ะดะปั ะฑะตัะฟะตัะตะฑะพะนะฝะพะน ัะฐะฑะพัั
bot.polling(none_stop=True)#ะทะฐะฟััะบ ะฑะพัะฐ
except:
time.sleep(10)#ะฒ ัะปััะฐะต ะฟะฐะดะตะฝะธั
เดฌเตเดเตเดเต เดชเตเดจเดฐเดพเดฐเดเดญเดฟเดเตเดเตเด:
killall python3
screen -dmS ServerBot python3 bot.py
เดเดฒเตเดฒเดพเด เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเตเดฃเตเดเตเดจเตเดจเต เดจเดฎเตเดเตเดเต เดตเตเดฃเตเดเตเด เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเดพเด:
เดธเดจเตเดฆเตเดถเดคเตเดคเดฟเดจเต เดคเดพเดดเตเดฏเตเดณเตเดณ เดฌเดเตเดเดฃเดฟเตฝ เดเตเดฒเดฟเดเตเดเต เดเตเดฏเตเดฏเตเดฎเตเดชเตเตพ, เดธเดจเตเดฆเตเดถเด เด
เดฏเดเตเด เดเดฎเดพเตปเดกเต เดฌเตเดเตเดเต เดเดตเตผเดคเตเดคเดฟเดเตเดเดฃเด.
เดชเดเดฐเด เดเดฐเต เดจเดฟเดเดฎเดจเดคเตเดคเดฟเตฝ เดเดจเตเดจ
เดคเตเตผเดเตเดเดฏเดพเดฏเตเด, เด เดฐเตเดคเดฟ เดเตเดฒเดพเดธเดฟเดเตเดเตฝ เดเดฃเดเตเดทเตป เดฐเตเดคเดฟเดเตพเดเตเดเต เดชเดเดฐเดฎเดพเดฏเดฟ เดจเดเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ, เดเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด, เดธเตเตผเดตเดฑเดฟเดจเตเดฑเต เด เดตเดธเตเดฅเดฏเตเดเตเดเตเดฑเดฟเดเตเดเต เดตเตเดเดคเตเดคเดฟเตฝ เดเดฃเตเดเตเดคเตเดคเดพเดจเตเด เดธเดเตเดเตเตผเดฃเตเดฃเดฎเดพเดฏ เดเดเตเดเตเดชเตเดเตเดเต เดเดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเดพเดคเตเดค เดเดฎเดพเตปเดกเตเดเตพ เด เดฏเดฏเตเดเตเดเดพเดจเตเด เดเดคเต เดจเดฟเดเตเดเดณเต เด เดจเตเดตเดฆเดฟเดเตเดเตเดจเตเดจเต.
เด เดตเดฒเดเดฌเด: www.habr.com