Телеграм позволяет отправлять от имени вашего бота сообщения, файлы, стикеры и т.д. пользователям, а также публиковать сообщения в группах или телеграм каналах. Для этого нужно чтобы пользователи ранее сами инициировали диалог с ботом, а для публикации в группах или каналах бот должен быть в них добавлен. Так же необходимо знать ID пользователя или канала. ID каналов и групп представляют собой отрицательно число, ID пользователей – положительное число. Пример кода для отправки тестовых сообщений или фалов под спойлером.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
import telegram #ID вашего бота token = '488250768:AAEN_Cfpsgvpisp2Oy3uQHtdxsnss814' bot = telegram.Bot(token=token) #ID пользователя, группы или канала телеграм id = -1234 # Отправка текста bot.sendMessage(chat_id=id, text='Подъем') # Отправка фото cat_pic = "/home/pi/cat.jpg" bot.sendPhoto(chat_id=id, photo=open(cat_pic, 'rb')) # Отправка аудио mp3 = "/home/pi/mozart.mp3" bot.sendAudio(chat_id=chat_id, audio = open(mp3, 'rb')) # Отправка документа doc = "/home/pi/doc.pdf" bot.sendAudio(chat_id=chat_id, doc = open(doc, 'rb')) |
Для отправки сообщений по расписанию добавьте задание в crontab . Например для отправки сообщения в будние дни в 7 утра добавьте в crontab примерно такую строчку.
00 07 * * 1-5 /home/pi/bot/env/bin/python /home/pi/bot/send_alarm_clock.py
Где:
00 07 * * 1-5 – расписание
/home/pi/bot/env/bin/python – расположение интерпритатора Python в виртуальном окружении
/home/pi/bot/send_alarm_clock.py – сам скрипт с отправкой сообщений
115