Понадобилось мне тут импортировать большой mysql-дамп и чтобы не сидеть все время в ожидании окончания импорта, я решил отойти по делам, а когда импорт закончится мне придет уведомление в Telegram, так как смартфон всегда при мне.
Делается это очень просто. Для этого нужно только создать бота. На рабочей машине должен быть python3.
1. Создаем бота.
Идем к @BotFather
/start
/newbot
Получаем токен вида:
311825528:AAE3r8V7iaIiXzJY_s0-9brG6JMWbT126qB
Добавляем бота в список контактов в телеграме.
2. Узнаем свой TelegramID.
Идем к @MyTelegramID_bot
/start
Получаем ID вида:
281724313
3. Создаем скрипт отправки, переменные token и id меняем на свои:
# vim ~/.tgsend.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from urllib.parse import urlparse, urlencode
from urllib.request import urlopen
import argparse
token = '311825528:AAE3r8V7iaIiXzJY_s0-9brG6JMWbT126qB'
id = '281724313'
parser = argparse.ArgumentParser()
parser.add_argument('-m', default='The task is finished', dest='MESSAGE')
namespace = parser.parse_args()
message = namespace.MESSAGE
turl = 'https://api.telegram.org/bot'
tfull = '{0}{1}/sendMessage'.format(turl, token)
tparams = urlencode({'chat_id': id, 'text': message}).encode('utf-8')
urlopen(tfull, tparams)
Делаем файл исполняемым и добавляем алиас:
$ chmod +x ~/.tgsend.py
$ echo alias send="~/.tgsend.py" | tee -a ~/.bashrc
Использовать можно вот так например:
$ какая-то долговыполняющаяся команда ; send -m "Закончил выполнение"
ключ -m можно не использовать, тогда по умолчанию в Telegram придет сообщения с текстом "The task is finished"
Делается это очень просто. Для этого нужно только создать бота. На рабочей машине должен быть python3.
1. Создаем бота.
Идем к @BotFather
/start
/newbot
Получаем токен вида:
311825528:AAE3r8V7iaIiXzJY_s0-9brG6JMWbT126qB
Добавляем бота в список контактов в телеграме.
2. Узнаем свой TelegramID.
Идем к @MyTelegramID_bot
/start
Получаем ID вида:
281724313
3. Создаем скрипт отправки, переменные token и id меняем на свои:
# vim ~/.tgsend.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from urllib.parse import urlparse, urlencode
from urllib.request import urlopen
import argparse
token = '311825528:AAE3r8V7iaIiXzJY_s0-9brG6JMWbT126qB'
id = '281724313'
parser = argparse.ArgumentParser()
parser.add_argument('-m', default='The task is finished', dest='MESSAGE')
namespace = parser.parse_args()
message = namespace.MESSAGE
turl = 'https://api.telegram.org/bot'
tfull = '{0}{1}/sendMessage'.format(turl, token)
tparams = urlencode({'chat_id': id, 'text': message}).encode('utf-8')
urlopen(tfull, tparams)
Делаем файл исполняемым и добавляем алиас:
$ chmod +x ~/.tgsend.py
$ echo alias send="~/.tgsend.py" | tee -a ~/.bashrc
Использовать можно вот так например:
$ какая-то долговыполняющаяся команда ; send -m "Закончил выполнение"
ключ -m можно не использовать, тогда по умолчанию в Telegram придет сообщения с текстом "The task is finished"
Комментариев нет:
Отправить комментарий