
Rocket
26.09.2016
09:03:58
отправил ZIP файл методом sendAudio
и он приехал докумнетом )
короче говоря - я не знаю, это нормальное поведение или нет, но разгрузить своего питона/ноду таким образом можно довольно значительно, особенно, если бот активно работает с файлами
и существенно упростить работу, если бот должен "отмывать" файлы

Google

Rocket
26.09.2016
09:05:47
теперь поехали дальше
по поводу проксирования запросов К телеграму
делаем например так:
location /bot/ {
rewrite_log on;
rewrite /bot/(.+)/(.*) /$1/$2 break;
proxy_set_header Host api.telegram.org;
proxy_pass https://api.telegram.org;
}
теперь вместо
https://api.telegram.org/bot000:xxx/sendPhoto?chat_id=0000000&photo=....
можно делать так:
http://localhost/bot/bot000:xxx/sendPhoto?chat_id=0000000&photo=....
чем это хорошо?
ваш питон/нода/неважночто обращается к вашему же локальному nginx по протоколу http! без использования ssl.
соединение поднимается моментально, nginx тут же значинает принимать данные и дальше уже сам подключится через ssl к телеграму и отдаст данные ему.

Ilya
26.09.2016
09:10:51
Вечером сделаю проксирование через ноду

Rocket
26.09.2016
09:11:06
мое мнение - это разгрузит питон/ноду/ещечтонибудь как минимум за счет того, что соединение будет подниматься моментально и без ssl

Ilya
26.09.2016
09:11:37
Я просто запущу прокси-сервер отдельно
И все

Google

Rocket
26.09.2016
09:12:07
Чего это?
nginx будет быстрее - идея как раз в этом

Ilya
26.09.2016
09:12:16
Ну мб

Rocket
26.09.2016
09:13:21
единственное что, надо четко понимать, что если проксирование /file запросов не критично выставлять на ружу, но тоже не плохо бы защитить... то проксирвоание запросов к api надо ограничить строго локалхостом
иначе, если ктото узнает ваш урл, то сможет попортить вам жизнь

Евгений
26.09.2016
09:14:57
Прямые ссылки работают на zip, pdf, mp3 и картинки. Короче, смотрите доки по инлайн-режиму. Какие типы поддерживаются там, такие и в обычном режиме будут
Можно как-нибудь запатчить вот этот файл модуля, чтобы работать с локалхостом? Например, monkey patch константы API_URL
https://github.com/eternnoir/pyTelegramBotAPI/blob/master/telebot/apihelper.py

Rocket
26.09.2016
09:25:42
import telebot.apihelper
telebot.apihelper.API_URL = "https://myfuckinghost.tld/bot{0}/{1}"

Евгений
26.09.2016
09:27:22
Может, просто http://localhost/bot{0}/{1}?

Rocket
26.09.2016
09:27:50
НЕ ЗАБУДЬ ДОБАВИТЬ:
allow 127.0.0.1;
deny all;
для проксирования api
в nginx

Евгений
26.09.2016
09:28:04

Rocket
26.09.2016
09:28:22
в туда, где проксирование собираешься вставить
проксирование api
location /bot/ {
allow 127.0.0.1;
deny all;
rewrite_log on;
rewrite /bot/(.+)/(.*) /$1/$2 break;
proxy_set_header Host api.telegram.org;
proxy_pass https://api.telegram.org;
}
иначе это дыра

Евгений
26.09.2016
09:29:21
т.е. я в nginx добавляю пункт:
location /bot*/ {
rewrite_log on;
rewrite /bot/(.+)/(.*) /$1/$2 break;
proxy_set_header Host api.telegram.org;
proxy_pass https://api.telegram.org;
allow 127.0.0.1;
deny all;
}
так location/bot/ или location/bot*/ ?
Там же токен идет сразу после слова

Rocket
26.09.2016
09:30:57
в моем случае надо будет вызывать так:
http://127.0.0.1/bot/bot000:xxx/...

Евгений
26.09.2016
09:31:57

Google

Евгений
26.09.2016
09:41:54
Кстати, че-т разницы в скорости не замечено
Но спасибо за идею, на двух ботах пока так сделал

Ilya
26.09.2016
10:09:26

Евгений
26.09.2016
10:09:43
Такое ощущение, что нагрузка только возросла
К тому же, теперь ведь вместо одного запроса https передаётся один http + один https.

Rocket
26.09.2016
11:40:58
гхм
запрос то один
но он проксируется черзе nginx
продолжаем наблюдение
Failed to get HTTP URL content, если пытаюсь загрузить войс, который заканчивается на oga
причем телеграм дёргает мой url который проксирует в телеграм

Rocket
26.09.2016
12:12:19
но почему то грузить не хочет
а вот если его в дропбокс залить как есть - тогда грузит

Евгений
26.09.2016
12:14:38
Я и картинки так пытался обратно залить - ошибка

Rocket
26.09.2016
12:14:58
так это уже выяснили )
я ж прокировал телегу через себя

Евгений
26.09.2016
12:15:23
Ааа

Rocket
26.09.2016
12:16:48
фотки работают нормально

Google

Rocket
26.09.2016
12:16:52
а вот войсы - не хочет
{'ok': False, 'description': 'Failed to get HTTP URL content', 'error_code': 400}
?

Oleg
26.09.2016
12:30:27
Вы знаете что такое UTM-метки?
Да – 95
??????? 70%
Нет – 40
??? 30%
? 135 people voted so far. Poll closed.

Rocket
26.09.2016
12:32:19
все же, видимо, это не самый лучший способ использовать api

Евгений
26.09.2016
12:38:59

Rocket
26.09.2016
12:39:38
угу

Admin
ERROR: S client not available

Rocket
26.09.2016
12:39:44
пока что проксирую изнутри
стало быстрее

Alex
26.09.2016
12:48:43
Ты полную хрень придумал. Это ничего не разгрузит, а наоборот загрузит

Rocket
26.09.2016
12:58:15

Pavel
26.09.2016
12:58:56
по botan.io есть годная инфа на русском?)

Евгений
26.09.2016
13:00:39

Rocket
26.09.2016
13:00:58

Ilya
26.09.2016
13:01:12

Rocket
26.09.2016
13:01:32
другое дело, я не понимаю, почему это не работает с войсами

Евгений
26.09.2016
13:01:55

Rocket
26.09.2016
13:02:05

Ilya
26.09.2016
13:02:17
Чтобы понять выгоду решения, надо сначала понять проблему, а лучше ощутить на практике

Google

Евгений
26.09.2016
13:02:22

Ilya
26.09.2016
13:02:29
Это реально разгрузка

Rocket
26.09.2016
13:02:44
сейчас я вернулся к тому с чего начала
загружаю фотографии в ручную

Евгений
26.09.2016
13:02:53

Rocket
26.09.2016
13:02:57
но, сделал проксирование черзе себя же

Ilya
26.09.2016
13:03:00

Rocket
26.09.2016
13:03:13

Ilya
26.09.2016
13:03:17

Pavel
26.09.2016
13:03:32
А что интересует?
как его впихнуть в бота
ибо с гитхаба прикрутил php библиотеку но при инициализации выдает сходу ошибку
Parse error: syntax error, unexpected '[', expecting ')' in W:\domains\Localhost\botan.php on line 50

Евгений
26.09.2016
13:03:36
Почему часть результатов пропадает, если смешивать инлайн-объекты в AnswerInlineQuery?

Rocket
26.09.2016
13:03:56
nginx быстрее поднимает ssl чем tornado

Ilya
26.09.2016
13:04:05
Как ты думаешь, что лучше, загружать 20мб к себе, а потом еще грузить на сервер тг, или сразу скормить ссылку на файл и Телеграмм сам загрузит?

Rocket
26.09.2016
13:04:20
мало того, исходящее соединение готово к работе тут же
это еще небольшой выйгрыш

Ilya
26.09.2016
13:04:49
nginx никто не перегонит в скорости

Rocket
26.09.2016
13:04:57
другое дело, что файлы, даже проксированные - он подцепляет не всегда