29
Июн
2017

как отправить фото в телеграмм бота

Не могу получить фото из папки на сервере которую бот должен выгружать мне в чат.. сделал так, но не вышло..

Как сделать чтобы бот отправлял фото сразу же, как только появляется движение?

#!/usr/bin/python
import config #файл с настройками
import telegram
import os
import subprocess
import sys
import shlex
import datetime
from subprocess import Popen, PIPE
from telegram.ext import CommandHandler
from imp import reload #модуль для перезагрузки (обновления) других модулей

from datetime import datetime
from telegram.ext import Updater
updater = Updater(token=config.token)
dispatcher = updater.dispatcher

процедура выполнения скрипта и тот код который пытался внедрить чтобы бот отправлял фото мне в чат из папки, куда motion сохраняет снимки движения объекта в поле зрения камеры.. формат снимков {:%d-%b-%Y-%R}.jpg то есть 29-Jun-2017-18:54.jpg

def camon(bot, update):
    reload(config) 
    user = str(update.message.from_user.id)
    if user in config.admin: #если пользовательский id в списке admin то команда выполняется
        run_command("/home/ignat/bot_serv/scriptcamon.sh")
        photo = '/media/root/server/motion/{:%d-%b-%Y-%R}.jpg'.format(datetime.now())
        bot.sendMessage(chat_id=update.message.chat_id, text=textoutput)
        bot.sendPhoto(chat_id, open(photo, 'rb'))
   

ну вообще, думал реализовать отслеживание нового файла отдельно через watchdog или простым циклом , то есть в другом демоне а не в основном коде бота таким кодом

import telegram

bot = telegram.Bot('TOKEN')

def main():
    # Тут должно быть отслеживание нового файла и вызов коллбэка


def on_new_file_created(new_file_name):
    photo = '/media/root/server/motion/{:%d-%b-%Y-%R}.jpg'.format(new_file_name)
    bot.sendPhoto(chat_id, open(photo, 'rb'))


if __name__ == '__main__':
    main()

Источник: https://ru.stackoverflow.com/questions/685218/%D0%BA%D0%B0%D0%BA-%D0%BE%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C-%D1%84%D0%BE%D1%82%D0%BE-%D0%B2-%D1%82%D0%B5%D0%BB%D0%B5%D0%B3%D1%80%D0%B0%D0%BC%D0%BC-%D0%B1%D0%BE%D1%82%D0%B0

Share

Тебе может это понравится...