[РЕШЕНО] Из python в cpp

Модератор: Модераторы разделов

Ответить
Аватара пользователя
devilr
Сообщения: 3667
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

[РЕШЕНО] Из python в cpp

Сообщение devilr »

Доброго времени суток!
Захотел написать что-то типа своего мини телеграм-клиента.
В репозитории https://github.com/tdlib/td есть пример на питоне.
Собрал библиотеку tdjson - всё нормально. Положил в каталог lib рядом с tdjson_example.py и запускаю с помощью

Код: Выделить всё

LD_LIBRARY_PATH="lib" python tdjson_example.py
Всё работает. Теперь решил переложить на cpp (естественно мой любимый Qt)

Код: Выделить всё

            # set TDLib parameters
            # you MUST obtain your own api_id and api_hash at https://my.telegram.org
            # and use them in the setTdlibParameters call
            if auth_state['@type'] == 'authorizationStateWaitTdlibParameters':
                td_send({'@type': 'setTdlibParameters', 'parameters': {
                                                       'database_directory': 'tdlib',
                                                       'use_message_database': True,
                                                       'use_secret_chats': True,
                                                       'api_id': 94575,
                                                       'api_hash': 'a3406de8d171bb422bb6ddf3bbd800e2',
                                                       'system_language_code': 'en',
                                                       'device_model': 'Desktop',
                                                       'application_version': '1.0',
                                                       'enable_storage_optimizer': True}})
перевожу в

Код: Выделить всё

            // set TDLib parameters
            // you MUST obtain your own api_id and api_hash at https://my.telegram.org
            // and use them in the setTdlibParameters call
            if( auth_state["@type"].toString() == "authorizationStateWaitTdlibParameters")
            {
                QJsonObject parameters;
                parameters["database_directory"] = "tdlib";
                parameters["use_message_database"] = true;
                parameters["use_secret_chats"] = true;
                parameters["api_id"] = 94575;
                parameters["api_hash"] = "a3406de8d171bb422bb6ddf3bbd800e2";
                parameters["system_language_code"] = "en";
                parameters["device_model"] = "Desktop";
                parameters["application_version"] = "1.0",
                parameters["enable_storage_optimizer"] = true;

                QJsonObject param;
                param["@type"] = "setTdlibParameters";
                param["parameters"] = parameters;

                QJsonDocument resultJson;
                resultJson.setObject(param);
                td_send(client_id, resultJson.toJson());
            }
и получаю в логе

Код: Выделить всё

{"@type":"error","code":400,"message":"Invalid TDLib instance specified"}
Что я мог перевести не так?
Последний раз редактировалось devilr 07.06.2021 09:02, всего редактировалось 1 раз.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20793
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Из python в cpp

Сообщение Bizdelnick »

Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3667
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Из python в cpp

Сообщение devilr »

Bizdelnick писал:
06.06.2021 22:19
client_id неправильный?
Может быть. Проверю.
Bizdelnick писал:
06.06.2021 22:19
Собственно, там же и на крестах пример есть, зачем ориентироваться на питон?
Вы не поверите, оттуда и брал. :) Просто на питоне пример готовый и рабочий (если послать сообщение с другого телеграма на этот - сообщение видно в консоли). Вот и решил расписать.
Добавлено (22:40):
Проверил. client_id нормальный. 1 в обоих случаях, хоть на питоне, хоть на cpp.
Но, ошибка та же.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20793
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Из python в cpp

Сообщение Bizdelnick »

Ну тогда отладчик Вам в руки.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3667
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Из python в cpp

Сообщение devilr »

Отладчик отладчиком, просто я питон плохо знаю. Вот и наделся, что тут кто-то имеет опыт.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3667
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Из python в cpp

Сообщение devilr »

Очепятка вкралась незаметно. :( Решено.
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Ответить