티스토리 뷰

[Python] linux command를 args로 받아 메시지 전송하기



아래는 string 형태의 linux 명령어 실행결과를 텔레그램으로 전송하는 python 코드이다.

#!/usr/bin/python



import telegram

import subprocess

import sys



my_token = '토큰을 입력하세요.' #my bot token





bot = telegram.Bot(token = my_token)



updates = bot.getUpdates()



for u in updates :

        print(u.message)



chat_id = 'chat id를 입력하세요' # my bot chat id



args=sys.argv[1:]

cmd = ' '



for arg in args:

        cmd += " " + arg



#print result

result = subprocess.check_output(cmd, shell=True)

bot.sendMessage(chat_id=chat_id, text=result)

이렇게 하면 리눅스 명령어 결과를 telegram 봇에 전송하게 된다.


예를 들어, df 명령어를 봇에게 전송하고자 한다면,


root@desktop:~/programs/TelegramAlert$ python libraryBot.py "df"



댓글