
Yury
26.09.2016
08:16:19

Евгений
26.09.2016
08:16:40

Yury
26.09.2016
08:17:14
Более того - там кеш на урл и можно всегда ссылку фигачить, не заморачиваясь на file_id

Евгений
26.09.2016
08:18:09

Google

Rocket
26.09.2016
08:18:55
мне 1 раз и быстро надо разослать файл каждый раз
на 30-70 клиентов
ща быстренько проксирование намучу
это мне сэкономит кучу кода
и сильно ускорит бота
хех, если это сработает и с докумнетами, то ваще будет шоколадно
другое дело, как быстро отработает первый запрос... не получится ли, если я одновременно 70 запросов фигачу, то они все 70 сразу будут файл качать, т.к. стартуют в одно время...
надо будет ждать первого
но все равно это быстрее и лучше чем то, что сейчас

Евгений
26.09.2016
08:22:57
Кто-то из нас делает неправильно

Google

Rocket
26.09.2016
08:23:25
там редирект, тг видимо его тоже не любит
так
ща
скурю доку на nginx побырому

Евгений
26.09.2016
08:24:58
это если через http передать
Как делаю я:
1) Беру file_id фотки
2) Вызываю getFile, он вернет file_path
3) Делаю ссылку вида https://api.telegram.org/file/bot<token>/<file_path>
4) Эта ссылка нормально открывается в браузере, но не отправляется через sendPhoto (ошибка Failed to get HTTP URL content)

Rocket
26.09.2016
08:25:38
так
кажется скурил
ща
КСТАТИ
вот еще классная идея
для ботоводов
надо прокситьва с локалхоста коннекшены к tg-api
чтобы локальный коннект был без ssl
это разгрузит самого бота от работы с ssl

Евгений
26.09.2016
08:26:59
Эм..что? как? зачем?

Rocket
26.09.2016
08:27:33
вместо того чтобы из своего питона коннектится к https://api.telegram.org... будешь коннектится к http://localhost/....
а в nginx рализовать proxy_pass
таким образом твоё приложение на питоне не будет заниматься ssl подключением

Google

Rocket
26.09.2016
08:28:26
это немножко сэкономит ресурсы и(возможно) улучшит реактивность бота

Евгений
26.09.2016
08:28:58
Походу мы говорим об одном и том же

Rocket
26.09.2016
08:29:17
все правильно
это обратный прокси
нжинкс проксирует запросы ОТ телеги К боту

Евгений
26.09.2016
08:29:35
Ну да, proxy_pass

Rocket
26.09.2016
08:29:36
а можно сделать ЕЩЕ и наоборот
чтобы нжинкс проксировал запросы ОТ бота К телеге

Евгений
26.09.2016
08:30:00
И как это настроить?

Rocket
26.09.2016
08:30:02
таким образом боту(питону) не придется заниматсья ssl подключением
ща покажу

Rocket
26.09.2016
08:30:13
ща, докурю с файлами
так
с наскоку не получилось
пошел курить доку внимательнее
йес

Admin
ERROR: S client not available

Rocket
26.09.2016
08:45:17
да блин
location /file/ {
rewrite_log on;
rewrite /file/(.+)/(.*) /file/$1/$2 break;
proxy_set_header Host api.telegram.org;
proxy_pass https://api.telegram.org;
}

Google

Rocket
26.09.2016
08:45:30
во
в location можно file заменить на что угодно

Евгений
26.09.2016
08:46:17
И как это потом использовать? Куда надо ботов посылать?


Rocket
26.09.2016
08:47:19
дальше с этим делать так
изначальная идея была такая
берем у ТГ урл картинки и отправляем так:
https://api.telegram.org/bot000:xxx/sendPhoto?chat_id=0000000&photo=https://api.telegram.org/bot000:xxx/file/bot000:xxx/photo/file_1.jpg
но это не работает, ТГ не хочет сам у себя забирать файло
окей, тогда мы сделаем финт ушами
проксируем У СЕБЯ запросы к телеграму
https://api.telegram.org/bot000:xxx/sendPhoto?chat_id=0000000&photo=https://YOUR_DOMAIN/file/bot000:xxx/photo/file_1.jpg
мы отдаем телеграму урл своего сервера, на котром нжинкс спроксирует запрос назад в телегу
это "не очень красивое решение", но чем оно хорошо - в отличии от метода, когда я сам питоном скачиваю файл(в память), а потом его заливаю, этот метод заставит телеграм самостоятельно пойти и скачать фотографию. И проксировать запрос будет быстрый nginx не занимая ресурсов и время работы нашего бота
теперь мне интересно, сможет ли телеграм залить музло по урлу ;)
проверил - РАБОТАЕТ


Ilya
26.09.2016
08:55:43
Лол
Следовательно и для документов так будет
Только фото наверное

Rocket
26.09.2016
08:56:18
sendDocument - РАБОТАЕТ!

Ilya
26.09.2016
08:56:28
А
Найс

Google

Rocket
26.09.2016
08:56:36
и mp3 приезжает как аудио

Ilya
26.09.2016
08:56:45
Изи катка

Rocket
26.09.2016
08:58:05
ща попробую пдфку какую нибудь
зип файл приехал ок

Ilya
26.09.2016
09:03:14
Ракета сломался, завезите нового