@botoid

Страница 87 из 4042
Neekoso
29.08.2016
16:39:31
От такого количество новых вещей голова разрывается

Aliaksei
29.08.2016
16:42:50
а откуда инфа? я когда проверял этого не заметил
Тестировал. Если сервер поддерживает Keep-Alive, то соединение остаётся живо в течение минуты, по нему продолжают приходить апдейты.

Vitaly
29.08.2016
16:43:19
ну так телеграм не шлет 'keep-alive' в хидерах

как?

Google
Aliaksei
29.08.2016
16:50:34
Не шлёт, но и не должен. В HTTP/1.1 keep-alive по умолчанию включен и заголовок нужно добавлять, только если keep-alive не поддерживается.

Vitaly
29.08.2016
16:57:29
Да, но когда я проверял, телеграм слал хидер "close"

сегодня перепроверю и отпишусь

Neekoso
29.08.2016
16:58:12
хэдер*

Богдан
29.08.2016
16:59:12
Много кто говорит «хидер»

Neekoso
29.08.2016
16:59:30
От слова "head"

Заголовок

Andrey ?
29.08.2016
16:59:50
Нескромный вопрос, чем getUpdates лучше вебхуков?

М, cloudflare?

Богдан
29.08.2016
17:01:59
?

Andrey ?
29.08.2016
17:02:43
Я просто ниразу ничего не делал с getUpdates, только с хуками, вот и вопрошаю)

Vitaly
29.08.2016
17:02:50
хэдер*
хуедер )

Богдан
29.08.2016
17:04:36
Я просто ниразу ничего не делал с getUpdates, только с хуками, вот и вопрошаю)
Я часто перезагружаю сервер, и после этого приходилось перезапускать ботов, которые на getUpdates работали И они там через while(1){ работали } А теперь не перезапускаю Но это наверно глупо было, возможно можно было один раз настроить включение ботов при ребуте, но я не знаю как И тогда не гуглил

Google
Neekoso
29.08.2016
17:04:42
)

хуедер )

Богдан
29.08.2016
17:05:36
Он сам перезапускается

Ну это да

Поэтому я его и перезапускал

fox.lua
29.08.2016
17:08:53
а правда, что боты на поллинге пизже тех, что на веб-хуках?

Богдан
29.08.2016
17:08:59
А я могу как-то со стороны бота заблокировать юзера? Чтобы он вообще писать не мог

Богдан
29.08.2016
17:09:38
а правда, что боты на поллинге пизже тех, что на веб-хуках?
если они на php, то нет Мой обрабатывал всех по очереди, используя чужое апи, и при очереди в 100 человек последний в очереди получал сообщение через 50-100 секунд

А если на node то быстро все

Vitaly
29.08.2016
18:03:29
Не шлёт, но и не должен. В HTTP/1.1 keep-alive по умолчанию включен и заголовок нужно добавлять, только если keep-alive не поддерживается.
Странно, может я прошлый раз не так проверял, но хуки умеют в keep-alive Хидеры телеграма 'content-type': 'application/json', 'content-length': '388', connection: 'keep-alive', 'accept-encoding': 'gzip, deflate'

Богдан
29.08.2016
19:01:28
Лол

[Anonymous]
30.08.2016
06:54:15
Доброе утро, народ! Есть кто знакомый с telegram-cli тут? Кто имеет возможность подсказать там по коду, или взяться сделать одну небольшую правку в нем? Нужно самую малость поковыряться в коде и переписать формат в котором приходят сообщения, изменив чуть-чуть schema.tl. Подробнее в личку, спасибо!

[Anonymous]
30.08.2016
07:16:56
Тогда с вашего позволения кратко здесь опишу суть вопроса. https://github.com/vysheng/tgl/blob/ffb04caca71de0cddf28cd33a4575922900a59ed/scheme.tl - вот что использует оригинальный telegram-cli. Собственно интересует нас здесь вот какой кусок: message#c992e15c flags:# unread:flags.0?true out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true id:int from_id:flags.8?int to_id:Peer fwd_from_id:flags.2?Peer fwd_date:flags.2?int via_bot_id:flags.11?int reply_to_msg_id:flags.3?int date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int = Message; а если быть точным то даже вот этот: fwd_from_id:flags.2?Peer fwd_date:flags.2?int К сути проблемы. Как мы видим, забирая пересланное сообщение telegram-cli видит от кого оно, и забирает данные о том когда был опубликован оригинал, но при этом он не забирает никакого id оригинального сообщения. Что по сути делает невозможным идентифицировать как-либо оригинал. Однако такая возможность есть - так например если вы нажмете в своем клиенте на любой пост который вам переслали из канала, вы перейдете в канал именно к этому посту. Покопавшись я обнаружил вот что: https://raw.githubusercontent.com/telegramdesktop/tdesktop/master/Telegram/SourceFiles/mtproto/scheme.tl это версия schema.tl которая используется в tdesktop, и в ней message выглядит иначе: message#c09be45f flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true id:int from_id:flags.8?int to_id:Peer fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?int reply_to_msg_id:flags.3?int date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int edit_date:flags.15?int = Message; как видим тут уже забирается оригинальное сообщение в некий MessageFwdHeader которого вообще в telegram-cli нет. Выглдит он так: messageFwdHeader#c786ddcb flags:# from_id:flags.0?int date:int channel_id:flags.1?int channel_post:flags.2?int = MessageFwdHeader; и в нем как мы видим есть заветный channel_post -> который по всей видимости и хранит тот заветный id оригинального сообщения. Собственно, задача сделать так, чтобы этот channel_post для пересланных сообщений в итоге отдавался в json'е при запросе history, get_message и т.д. вместе с остальными данными. Как-то так.

Vitaly
30.08.2016
07:20:47
Тогда с вашего позволения кратко здесь опишу суть вопроса. https://github.com/vysheng/tgl/blob/ffb04caca71de0cddf28cd33a4575922900a59ed/scheme.tl - вот что использует оригинальный telegram-cli. Собственно интересует нас здесь вот какой кусок: message#c992e15c flags:# unread:flags.0?true out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true id:int from_id:flags.8?int to_id:Peer fwd_from_id:flags.2?Peer fwd_date:flags.2?int via_bot_id:flags.11?int reply_to_msg_id:flags.3?int date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int = Message; а если быть точным то даже вот этот: fwd_from_id:flags.2?Peer fwd_date:flags.2?int К сути проблемы. Как мы видим, забирая пересланное сообщение telegram-cli видит от кого оно, и забирает данные о том когда был опубликован оригинал, но при этом он не забирает никакого id оригинального сообщения. Что по сути делает невозможным идентифицировать как-либо оригинал. Однако такая возможность есть - так например если вы нажмете в своем клиенте на любой пост который вам переслали из канала, вы перейдете в канал именно к этому посту. Покопавшись я обнаружил вот что: https://raw.githubusercontent.com/telegramdesktop/tdesktop/master/Telegram/SourceFiles/mtproto/scheme.tl это версия schema.tl которая используется в tdesktop, и в ней message выглядит иначе: message#c09be45f flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true id:int from_id:flags.8?int to_id:Peer fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?int reply_to_msg_id:flags.3?int date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int edit_date:flags.15?int = Message; как видим тут уже забирается оригинальное сообщение в некий MessageFwdHeader которого вообще в telegram-cli нет. Выглдит он так: messageFwdHeader#c786ddcb flags:# from_id:flags.0?int date:int channel_id:flags.1?int channel_post:flags.2?int = MessageFwdHeader; и в нем как мы видим есть заветный channel_post -> который по всей видимости и хранит тот заветный id оригинального сообщения. Собственно, задача сделать так, чтобы этот channel_post для пересланных сообщений в итоге отдавался в json'е при запросе history, get_message и т.д. вместе с остальными данными. Как-то так.
заведите багу ни гитхабе, может кто сделает

[Anonymous]
30.08.2016
07:21:11
заведите багу ни гитхабе, может кто сделает
Да там проект скорее мертв чем жив, абсолютно бестолку :(

Andrew
30.08.2016
07:24:10
import schedule

Yokai
30.08.2016
09:52:14
Можно ли на python написать что-нибудь на linux и запустить без изменений и установки пакетов через pip на macos?

x3233
30.08.2016
09:52:31
Да

Google
x3233
30.08.2016
09:52:34
Можно

Yokai
30.08.2016
09:52:45
даже если надо делать http-request?

x3233
30.08.2016
09:53:10
Если использовать стандартные либы

UrlLib гапример

Плюшка
30.08.2016
09:53:54
если нужны пакеты, то их скорее всего можно поставлять с комплекте с программой

Yokai
30.08.2016
09:54:31
да так, чтоб оно запустилось

Плюшка
30.08.2016
09:55:39
если они чисто на питоне, без нативных расширений - то их можно тупо скопировать, иначе придется кросс-компилировать расширения

а на macos так туго с pip ?

ах да, можно еще скомпилировать расширения на самой macos

Yokai
30.08.2016
09:57:52
я хочу упростить клиенту жизнь, и усложняю ее себе

Плюшка
30.08.2016
09:59:18
клиенту же еще питон надо ставить :D

Yokai
30.08.2016
09:59:29
хотя да, *установите питон3 с сайта питона, пропишите в консоли pip install a b c d e, и python *путь к файлу**

в макоси какой-то питон вроде даже есть, но по-моему не тот, что я хочу иметь

Плюшка
30.08.2016
10:00:03
можно bash-скрипт написать, который сам все устанавливать будет

Yokai
30.08.2016
10:00:37
а как там в макоси путь к башу? #/bin/env bash ?

опять-таки, чтобы установить python автоматически через bash, этот скрипт надо будет тестировать :< аррр

Плюшка
30.08.2016
10:02:09
Pavel
30.08.2016
10:34:13
Но есть же готовые тулзы, типа pex. https://github.com/pantsbuild/pex

Alex
30.08.2016
10:38:11
A DDoS attack on the Bot API is in progress. Hang on tight, we're fighting back.

Google
Yokai
30.08.2016
11:01:56
Но есть же готовые тулзы, типа pex. https://github.com/pantsbuild/pex
Мои проблемы с pip и python превратятся в проблемы с pex и tox

Решил просто использовать по-максимуму стандартный питон без дополнительных пакетов

Pavel
30.08.2016
11:04:13
Не, ну если вы так заранее все знаете... то зачем спрашивать? )

Yokai
30.08.2016
11:04:35
Не, ну если вы так заранее все знаете... то зачем спрашивать? )
я не знаю, я проанализировал pex после того, как вы его предложили

хотя... Надо поглубже покопать на самом деле, вроде после танцев с pex и tox в продакшн не надо их ставить. Но про продакшн на macos при хосте на linux не уверен

Pavel
30.08.2016
11:06:16
Из стандартной поставки можно попробовать упаковать все в https://docs.python.org/3/library/zipapp.html. Но интерпретатор все равно придется тянуть.

> You can also build pex in a git clone using tox: Никто ж не обязывает.

> Build a standalone pex binary into pex.pex using the pex console_scripts entry point: > $ pex pex -c pex -o pex.pex Я бы сказал, что сам pex на проде тоже не нужен.

Ибо standalone.

Yokai
30.08.2016
11:11:55
интерпретатор у клиента есть, python2.7 по умолчанию в макоси стоит. Я просто не уверен, насколько можно издеваться над клиентом требованиями что-то ставить и консолить

А в своем умении написать bash-скрипт, который безошибочно и 100% запустится на макоси, не уверен

Pavel
30.08.2016
11:12:58
Тогда с минимальными потерями можно попробовать все запаковать в zipapp.

Там идея такая. ZIP-формат пропускает все, что расположено до заголовка ZIP. В начало пишется что-то вроде #!/usr/bin/env python; exit 0, затем все модули, запакованные в ZIP. Интепретатор умеет запускать пакет из архива. Если там будут все зависимости, то скорее всего, прокатит.

Ну и на архив ставится chmod +x.

Тогда оно типа само запускается как бинарник.

Yokai
30.08.2016
11:15:53
ну и linux с макосью бинарно несовместимы

Pavel
30.08.2016
11:16:21
А это к чему?

Yokai
30.08.2016
11:16:36
Тогда оно типа само запускается как бинарник.

если бинарные пакеты вставить в архив, они не станут совместимы со всеми осями

Pavel
30.08.2016
11:17:44
Это да, но без использования сторонних утилит или вынуждения юзера консолить вы кроссплатформенность вряд ли получите.

Google
Yokai
30.08.2016
11:19:54
мда... Значит, только KISS, только хардкор, только (хорошо хоть) установленный у клиента python2.7, установленный у него же pip и всё. А лучше даже без pip

Pavel
30.08.2016
11:21:14
А почему все-таки не pex/py2exe/whatever?

Есть какой-то рациональный аргумент использовать только чистый питон?

Yokai
30.08.2016
12:18:24
Есть какой-то рациональный аргумент использовать только чистый питон?
бинарная часть читстого питона и его стандартной библиотеки есть у клиента

pex не кросскомпилирует

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