
Mad
18.09.2017
14:40:12
media объекты тоже не "раскрываются"

Suren
18.09.2017
14:42:24
Молча
Вот это тактика! Продолжай ее придерживаться

Mad
18.09.2017
14:42:33

Google

Mad
18.09.2017
14:42:53
Анализирую молча. А ты проблемы анализируешь с какими-то звуками обычно?

Sergey❄️
18.09.2017
14:43:56
Ну можно жсон дампс делать

Mad
18.09.2017
14:44:04
Пример?

Suren
18.09.2017
14:52:30

Mad
18.09.2017
14:55:07
Да я просто спросил,открыты ли сорцы бота jsoninfobot. СказаЛ, что мне надо структуру сообщения такую же получать. В результате, услышал, что это пиздец как просто, только за 20 минут никто так решения и не показал.

Marlik
18.09.2017
14:58:34

Mad
18.09.2017
14:58:41

Marlik
18.09.2017
14:59:53
Ща
use WWW::Telegram::BotAPI;
use JSON::XS;
use Data::Dumper;
my $api = WWW::Telegram::BotAPI->new(token => 'тут_токен');
my $c = shift;
my $json = $c->req->body;
if( $json ) {
my $hash = decode_json $json;
my $dump = Dumper($hash);
send_from_script_to_me($dump);
}

Mad
18.09.2017
15:05:38
Спасибо, конечно, тока у меня конкретно питон и telebot фреймворк

Marlik
18.09.2017
15:05:54
Вот ты попал))))

b0g3r
18.09.2017
15:06:18

Google

Mad
18.09.2017
15:06:26
Неа

b0g3r
18.09.2017
15:06:43
object.to_dic()

Mad
18.09.2017
15:07:14
(Pdb) msg.to_dict()
(Pdb) *** AttributeError: 'Message' object has no attribute 'to_dict'

b0g3r
18.09.2017
15:07:21
а я разве так написал?

Mad
18.09.2017
15:07:35
нет, бро, ты написал не так
Я хз, что ты написал :)

b0g3r
18.09.2017
15:07:46
ага, вижу
как будто я ей пользуюсь, а не ты

bbm
18.09.2017
15:08:32

Mad
18.09.2017
15:08:54

b0g3r
18.09.2017
15:09:17
Ты чет седня вообще не в настроении

Mad
18.09.2017
15:09:34
@b0g3r я не понял, выше был ЕЩЁ один неправильный ответ, что ли? )

b0g3r
18.09.2017
15:09:41
да, ещё один :)

Mad
18.09.2017
15:09:42
Серьёзно? :(

Marlik
18.09.2017
15:09:45

Mad
18.09.2017
15:09:46
жесть, ребята ))

bbm
18.09.2017
15:10:27
на маке ?
??

Google

bbm
18.09.2017
15:10:43
винда тоже в своём роде удобная

b0g3r
18.09.2017
15:10:44
я чет смотрю, str(message) должно и энтити обрабатывать

Marlik
18.09.2017
15:11:29

Mad
18.09.2017
15:11:51
Честно гря я просто спросил, открыты сорцы бота или нет. Это был единственный мой вопрос ))

b0g3r
18.09.2017
15:12:54
а, бота

Mad
18.09.2017
15:13:09
да, @jsoninfobot

b0g3r
18.09.2017
15:13:16
так там сорцы - без всяких библиотек, просто печатает входящий объект

Mad
18.09.2017
15:13:33
Ну щас покурю, может, я что не понял

b0g3r
18.09.2017
15:13:45
но я не уверен что ты сможешь это выцепить
а обновления как получаешь?

b0g3r
18.09.2017
15:13:57
лонгполлинг? вебхук?

Mad
18.09.2017
15:14:04
поллинг

b0g3r
18.09.2017
15:14:08
https://github.com/eternnoir/pyTelegramBotAPI/blob/master/telebot/types.py#L81 он просто не рекурсивно обходит при преобразовании из объектов в строки
а str() примененный к списку не делает str на внутренние элементы
напиши ишью в репо
поллинг
по поллингу не знаю как умудриться обмануть либу
обколются своими объектными обертками

Mad
18.09.2017
15:16:25
ну str(x) это ок, так-то понятен алгоритм можно даже и полностью в ручном режиме обойти дерево объектов со списком типов и их полей издоков

Google

Mad
18.09.2017
15:16:50
Но если оно само через str() работает это ещё лучше

b0g3r
18.09.2017
15:16:51
как работает pytelegrambotapi:
из пришедшего апдейта оно разбирает каждый кей-валуе пришедшего джсона в заранее сконструированные типы-объекты
когда ты (или принт) делаешь str() к любому объекту, он берет свои аттрибуты и делает из них словарь {attribute: value}, это говно идет рекурсивно - если в value другой объект - к нему тоже применяется str() и идет цепной разбор аттрибутов
в случае, когда value - список, магии не происходит - str() применяется к списку и всё

Sergey
18.09.2017
15:20:26
форкнуть библиотеку, дописать какой нибудь метод который выцепляет данные которые от тг пришли и отдает боту?

Mad
18.09.2017
15:28:03
https://github.com/eternnoir/pyTelegramBotAPI/blob/master/telebot/types.py это, конечно, наркомания
должнен быть конфиг типов, по которому происходят конвертации json object —> python и python object —> json
а там всё в виде последовательных инструкций написано, а python —> json вообще из __dict__строится, в котором может что угодно ещё лежать, если вдруг кто-то положил туда это

Евгений
18.09.2017
15:32:09
О, мамкины критики подтянулись

Admin
ERROR: S client not available

b0g3r
18.09.2017
15:32:31

Mad
18.09.2017
15:32:55
обратная конвертация это то что мне нужно в данный момент:)

b0g3r
18.09.2017
15:33:01
ну это тебе

Евгений
18.09.2017
15:33:23

b0g3r
18.09.2017
15:33:25
какой юзкейс кроме "мне надо печатать исходное сообщение"?

Sergey
18.09.2017
15:33:39

b0g3r
18.09.2017
15:33:43
печатай его до конвертации

Mad
18.09.2017
15:33:48

b0g3r
18.09.2017
15:34:07
Ну, бро, иди почитай исходный код либы которую используешь и попробуй отловить до конвертации в объекты
Если тебе щас надо, конечно

Mad
18.09.2017
15:34:21
Я ваще не понимаю, что вы пишите.

Google

Mad
18.09.2017
15:34:28
У меня нет проблемы конвертаций.
Я зашёл просто про сорцы спросить и всё.

b0g3r
18.09.2017
15:34:45
А, ну пока :)

Mad
18.09.2017
15:34:57
Пока, бро, заходи ещё )

Sergey
18.09.2017
15:35:21

Mad
18.09.2017
15:35:26
Всё, неговорю.

b0g3r
18.09.2017
15:37:00
from flask import Flask, request
import requests
from pprint import pprint
app = Flask()
@app.route('/')
def webhook():
pprint(request.get_json())
requests.get('...setWebhook', ...)
app.run()
не забудь добавить сертификат :)

Sergey❄️
18.09.2017
15:40:09
Вот я с похожей ошибкой в питончат залетал

b0g3r
18.09.2017
15:40:30
с какой

Sergey❄️
18.09.2017
15:41:31
с какой
Ты про app.run(cert=...,key=....)?

b0g3r
18.09.2017
15:41:51
а ты? Оо

Albert
18.09.2017
15:42:05

Alex
18.09.2017
15:42:32
все

b0g3r
18.09.2017
15:43:29
*_file - пути к файлам
но я от этого отказался давно: на сервере я всё равно фласком не решусь запускать, а локально для разработки нгрок в фоне

Sergey❄️
18.09.2017
15:47:01
Хотел постить на самоподписной сертификат