@botoid

Страница 143 из 4042
Yury
26.09.2016
08:16:19
Но при этом изображение по URL отлично отправляется!
Это сделали недели три назад. Раньше не отправлялось.

Евгений
26.09.2016
08:16:40
Это сделали недели три назад. Раньше не отправлялось.
Замечательная новость! Значит, это не привязано к обновлению инлайн-ботов

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

Евгений
26.09.2016
08:18:09
Более того - там кеш на урл и можно всегда ссылку фигачить, не заморачиваясь на file_id
Как долго валиден кэш? Мы же этого не знаем, зачем мучать сервера?

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
вместо того чтобы из своего питона коннектится к https://api.telegram.org... будешь коннектится к http://localhost/....
А зачем лишний раз нагружать nginx? У меня nginx забирает все вебхуки, отдает локальным серверам-ботам по http, а дальше серверы-боты уже работают с телегой

Походу мы говорим об одном и том же

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
Ракета сломался, завезите нового

Страница 143 из 4042