เจ
เจเจธเจฐ เจ
เจเจฟเจนเฉเจเจ เจธเจฅเจฟเจคเฉเจเจ เจนเฉเฉฐเจฆเฉเจเจ เจนเจจ เจเจฆเฉเจ เจธเจฐเจตเจฐ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจฆเฉ เจเฉฑเจฅเฉ เจ
เจคเฉ เจนเฉเจฃ เจฒเฉเฉ เจนเฉเฉฐเจฆเฉ เจนเฉเฅค เจนเจพเจฒเจพเจเจเจฟ, 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 เจจเฉเฉฐ เจคเฉเจนเจพเจกเฉ เจเจพเจคเฉ เจฆเฉ id เจฎเฉเฉฑเจฒ เจจเจพเจฒ เจฌเจฆเจฒเจฆเฉ เจนเจพเจเฅค เจเจชเจญเฉเจเจคเจพ เจเจเจกเฉ เจฆเฉ เจเจพเจเจ เจเจฐเจจ เจฆเฉ เจเจผเจฐเฉเจฐเจค เจนเฉ เจคเจพเจ เจเฉ เจฌเฉเจ เจคเฉเจนเจพเจกเฉ เจธเจฐเจตเจฐ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจชเฉเจฐเจฆเจพเจจ เจเจฐเฉ. เจซเฉฐเจเจธเจผเจจ check_output()
เจฆเจฟเฉฑเจคเฉ เจเจฎเจพเจเจก เจจเฉเฉฐ เจเจฒเจพเจเจเจฆเจพ เจนเฉ เจ
เจคเฉ เจจเจคเฉเจเจพ เจตเจพเจชเจธ เจเจฐเจฆเจพ เจนเฉเฅค
เจเจน เจธเจฟเจฐเจซ เจฌเฉเจ เจจเฉเฉฐ เจธเจผเฉเจฐเฉ เจเจฐเจจ เจฒเจ เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉ. เจธเจฐเจตเจฐ 'เจคเฉ เจเฉฑเจฒ เจฐเจนเฉเจเจ เจชเฉเจฐเจเจฟเจฐเจฟเจเจตเจพเจ เจฒเจ, เจฎเฉเจ เจตเจฐเจคเจฃเจพ เจชเจธเฉฐเจฆ เจเจฐเจฆเจพ เจนเจพเจ screen
(sudo apt-get install screen
):
screen -dmS ServerBot python3 bot.py
(เจเจฟเฉฑเจฅเฉ "เจธเจฐเจตเจฐเจฌเฉเจ" เจชเฉเจฐเจเจฟเจฐเจฟเจ ID เจนเฉ)
เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจชเจฃเฉ เจเจช เจฌเฉเจเจเฉเจฐเจพเจเจเจก เจตเจฟเฉฑเจ เจเฉฑเจฒเฉเจเฉเฅค เจเจ เจฌเฉเจ เจจเจพเจฒ เจธเฉฐเจตเจพเจฆ เจคเฉ เจเฉฑเจฒเฉเจ เจ เจคเฉ เจเจพเจเจ เจเจฐเฉเจ เจเจฟ เจธเจญ เจเฉเจ เจเจธเฉ เจคเจฐเฉเจนเจพเจ เจเฉฐเจฎ เจเจฐเจฆเจพ เจนเฉ เจเจฟเจตเฉเจ เจเจน เจเจฐเจจเจพ เจเจพเจนเฉเจฆเจพ เจนเฉ:
เจตเจงเจพเจเจเจ! เจฌเฉเจ เจเจธ เจจเฉเฉฐ เจญเฉเจเฉเจเจ เจเจเจเจ เจเจฎเจพเจเจกเจพเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจฆเจพ เจนเฉเฅค เจนเฉเจฃ, เจธเจฐเจตเจฐ เจคเฉฑเจ เจชเจนเฉเฉฐเจ เจเจฐเจจ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจธเจฟเจฐเจซเจผ เจฌเฉเจ เจจเจพเจฒ เจเฉฑเจ เจตเจพเจฐเจคเจพเจฒเจพเจช เจเฉเจฒเฉเจนเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค
เจนเฉเจเจฎ เจฆเฉเจนเจฐเจพเจ
เจ เจเจธเจฐ, เจธเจฐเจตเจฐ เจฆเฉ เจธเจฅเจฟเจคเฉ เจฆเฉ เจจเจฟเจเจฐเจพเจจเฉ เจเจฐเจจ เจฒเจ, เจคเฉเจนเจพเจจเฉเฉฐ เจเจนเฉ เจเจฎเจพเจเจกเจพเจ เจเจฒเจพเจเจฃเฉเจเจ เจชเฉเจเจฆเฉเจเจ เจนเจจเฅค เจเจธ เจฒเจ, เจเจนเจจเจพเจ เจจเฉเฉฐ เจฎเฉเฉ เจญเฉเจเฉ เจฌเจฟเจจเจพเจ เจฆเฉเจนเจฐเจพเจเจฃ เจตเจพเจฒเฉเจเจ เจเจฎเจพเจเจกเจพเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจเจพ เจฌเจนเฉเจค เจฌเจพเจนเจฐ เจนเฉเจตเฉเจเจพเฅค
เจ เจธเฉเจ เจธเฉเจจเฉเจนเจฟเจเจ เจฆเฉ เจนเฉเจ เจพเจ เจเจจเจฒเจพเจเจจ เจฌเจเจจเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเจธเจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจพเจเจเฉ:
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