summaryrefslogtreecommitdiff
path: root/libs/tdlib/td/example/python/tdjson_example.py
diff options
context:
space:
mode:
Diffstat (limited to 'libs/tdlib/td/example/python/tdjson_example.py')
-rw-r--r--libs/tdlib/td/example/python/tdjson_example.py106
1 files changed, 0 insertions, 106 deletions
diff --git a/libs/tdlib/td/example/python/tdjson_example.py b/libs/tdlib/td/example/python/tdjson_example.py
deleted file mode 100644
index d7b2e86fbb..0000000000
--- a/libs/tdlib/td/example/python/tdjson_example.py
+++ /dev/null
@@ -1,106 +0,0 @@
-//
-// Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com) 2014-2018
-//
-// Distributed under the Boost Software License, Version 1.0. (See accompanying
-// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-//
-from ctypes.util import find_library
-from ctypes import *
-import json
-import sys
-
-# load shared library
-tdjson_path = find_library("tdjson") or "tdjson.dll"
-if tdjson_path is None:
- print('can\'t find tdjson library')
- quit()
-tdjson = CDLL(tdjson_path)
-
-# load TDLib functions from shared library
-td_json_client_create = tdjson.td_json_client_create
-td_json_client_create.restype = c_void_p
-td_json_client_create.argtypes = []
-
-td_json_client_receive = tdjson.td_json_client_receive
-td_json_client_receive.restype = c_char_p
-td_json_client_receive.argtypes = [c_void_p, c_double]
-
-td_json_client_send = tdjson.td_json_client_send
-td_json_client_send.restype = None
-td_json_client_send.argtypes = [c_void_p, c_char_p]
-
-td_json_client_execute = tdjson.td_json_client_execute
-td_json_client_execute.restype = c_char_p
-td_json_client_execute.argtypes = [c_void_p, c_char_p]
-
-td_json_client_destroy = tdjson.td_json_client_destroy
-td_json_client_destroy.restype = None
-td_json_client_destroy.argtypes = [c_void_p]
-
-td_set_log_file_path = tdjson.td_set_log_file_path
-td_set_log_file_path.restype = c_int
-td_set_log_file_path.argtypes = [c_char_p]
-
-td_set_log_max_file_size = tdjson.td_set_log_max_file_size
-td_set_log_max_file_size.restype = None
-td_set_log_max_file_size.argtypes = [c_longlong]
-
-td_set_log_verbosity_level = tdjson.td_set_log_verbosity_level
-td_set_log_verbosity_level.restype = None
-td_set_log_verbosity_level.argtypes = [c_int]
-
-fatal_error_callback_type = CFUNCTYPE(None, c_char_p)
-
-td_set_log_fatal_error_callback = tdjson.td_set_log_fatal_error_callback
-td_set_log_fatal_error_callback.restype = None
-td_set_log_fatal_error_callback.argtypes = [fatal_error_callback_type]
-
-# initialize TDLib log with desired parameters
-def on_fatal_error_callback(error_message):
- print('TDLib fatal error: ', error_message)
-
-td_set_log_verbosity_level(2)
-c_on_fatal_error_callback = fatal_error_callback_type(on_fatal_error_callback)
-td_set_log_fatal_error_callback(c_on_fatal_error_callback)
-
-# create client
-client = td_json_client_create()
-
-# simple wrappers for client usage
-def td_send(query):
- query = json.dumps(query).encode('utf-8')
- td_json_client_send(client, query)
-
-def td_receive():
- result = td_json_client_receive(client, 1.0)
- if result:
- result = json.loads(result.decode('utf-8'))
- return result
-
-def td_execute(query):
- query = json.dumps(query).encode('utf-8')
- result = td_json_client_execute(client, query)
- if result:
- result = json.loads(result.decode('utf-8'))
- return result
-
-# testing TDLib execute method
-print(td_execute({'@type': 'getTextEntities', 'text': '@telegram /test_command https://telegram.org telegram.me', '@extra': ['5', 7.0]}))
-
-# testing TDLib send method
-td_send({'@type': 'getAuthorizationState', '@extra': 1.01234})
-
-# main events cycle
-while True:
- event = td_receive()
- if event:
- # if client is closed, we need to destroy it and create new client
- if event['@type'] is 'updateAuthorizationState' and event['authorization_state']['@type'] is 'authorizationStateClosed':
- break
-
- # handle an incoming update or an answer to a previously sent request
- print(event)
- sys.stdout.flush()
-
-# destroy client when it is closed and isn't needed anymore
-td_json_client_destroy(client)