summaryrefslogtreecommitdiff
path: root/protocols/Telegram/tdlib/td/example/python
diff options
context:
space:
mode:
authorGeorge Hazan <ghazan@miranda.im>2022-12-08 12:33:42 +0300
committerGeorge Hazan <ghazan@miranda.im>2022-12-08 12:33:42 +0300
commite4a555d8e146994b7fc99c8f0c0f6b4ca8af1495 (patch)
tree310ece548498c4f7862f4ca2bb6fb060f6c5071e /protocols/Telegram/tdlib/td/example/python
parentbaa88cd35d210debe6af6e784466c813e2ebcf58 (diff)
we don't need this code
Diffstat (limited to 'protocols/Telegram/tdlib/td/example/python')
-rw-r--r--protocols/Telegram/tdlib/td/example/python/README.md11
-rw-r--r--protocols/Telegram/tdlib/td/example/python/tdjson_example.py142
2 files changed, 0 insertions, 153 deletions
diff --git a/protocols/Telegram/tdlib/td/example/python/README.md b/protocols/Telegram/tdlib/td/example/python/README.md
deleted file mode 100644
index c3c171d906..0000000000
--- a/protocols/Telegram/tdlib/td/example/python/README.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# TDLib Python example
-
-To run this example you need to [build](https://github.com/tdlib/td#building) TDLib and copy built tdjson shared library to this directory.
-
-Then you can run the example:
-```
-python tdjson_example.py
-```
-
-Description of all available classes and methods can be found at [td_json_client](https://core.telegram.org/tdlib/docs/td__json__client_8h.html)
-and [td_api](https://core.telegram.org/tdlib/docs/td__api_8h.html) documentation.
diff --git a/protocols/Telegram/tdlib/td/example/python/tdjson_example.py b/protocols/Telegram/tdlib/td/example/python/tdjson_example.py
deleted file mode 100644
index ee8a92a158..0000000000
--- a/protocols/Telegram/tdlib/td/example/python/tdjson_example.py
+++ /dev/null
@@ -1,142 +0,0 @@
-#
-# Copyright Aliaksei Levin (levlam@telegram.org), Arseny Smirnov (arseny30@gmail.com),
-# Pellegrino Prevete (pellegrinoprevete@gmail.com) 2014-2022
-#
-# 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:
- sys.exit("Can't find 'tdjson' library")
-tdjson = CDLL(tdjson_path)
-
-# load TDLib functions from shared library
-_td_create_client_id = tdjson.td_create_client_id
-_td_create_client_id.restype = c_int
-_td_create_client_id.argtypes = []
-
-_td_receive = tdjson.td_receive
-_td_receive.restype = c_char_p
-_td_receive.argtypes = [c_double]
-
-_td_send = tdjson.td_send
-_td_send.restype = None
-_td_send.argtypes = [c_int, c_char_p]
-
-_td_execute = tdjson.td_execute
-_td_execute.restype = c_char_p
-_td_execute.argtypes = [c_char_p]
-
-log_message_callback_type = CFUNCTYPE(None, c_int, c_char_p)
-
-_td_set_log_message_callback = tdjson.td_set_log_message_callback
-_td_set_log_message_callback.restype = None
-_td_set_log_message_callback.argtypes = [c_int, log_message_callback_type]
-
-# initialize TDLib log with desired parameters
-@log_message_callback_type
-def on_log_message_callback(verbosity_level, message):
- if verbosity_level == 0:
- sys.exit('TDLib fatal error: %r' % message)
-
-def td_execute(query):
- query = json.dumps(query).encode('utf-8')
- result = _td_execute(query)
- if result:
- result = json.loads(result.decode('utf-8'))
- return result
-
-_td_set_log_message_callback(2, on_log_message_callback)
-
-# setting TDLib log verbosity level to 1 (errors)
-print(str(td_execute({'@type': 'setLogVerbosityLevel', 'new_verbosity_level': 1, '@extra': 1.01234})).encode('utf-8'))
-
-
-# create client
-client_id = _td_create_client_id()
-
-# simple wrappers for client usage
-def td_send(query):
- query = json.dumps(query).encode('utf-8')
- _td_send(client_id, query)
-
-def td_receive():
- result = _td_receive(1.0)
- if result:
- result = json.loads(result.decode('utf-8'))
- return result
-
-# another test for TDLib execute method
-print(str(td_execute({'@type': 'getTextEntities', 'text': '@telegram /test_command https://telegram.org telegram.me', '@extra': ['5', 7.0, 'a']})).encode('utf-8'))
-
-# start the client by sending request to it
-td_send({'@type': 'getAuthorizationState', '@extra': 1.01234})
-
-# main events cycle
-while True:
- event = td_receive()
- if event:
- # process authorization states
- if event['@type'] == 'updateAuthorizationState':
- auth_state = event['authorization_state']
-
- # if client is closed, we need to destroy it and create new client
- if auth_state['@type'] == 'authorizationStateClosed':
- break
-
- # 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',
- '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})
-
- # enter phone number to log in
- if auth_state['@type'] == 'authorizationStateWaitPhoneNumber':
- phone_number = input('Please enter your phone number: ')
- td_send({'@type': 'setAuthenticationPhoneNumber', 'phone_number': phone_number})
-
- # enter email address to log in
- if auth_state['@type'] == 'authorizationStateWaitEmailAddress':
- email_address = input('Please enter your email address: ')
- td_send({'@type': 'setAuthenticationEmailAddress', 'email_address': email_address})
-
- # wait for email authorization code
- if auth_state['@type'] == 'authorizationStateWaitEmailCode':
- code = input('Please enter the email authentication code you received: ')
- td_send({'@type': 'checkAuthenticationEmailCode',
- 'code': {'@type': 'emailAddressAuthenticationCode', 'code' : 'code'}})
-
- # wait for authorization code
- if auth_state['@type'] == 'authorizationStateWaitCode':
- code = input('Please enter the authentication code you received: ')
- td_send({'@type': 'checkAuthenticationCode', 'code': code})
-
- # wait for first and last name for new users
- if auth_state['@type'] == 'authorizationStateWaitRegistration':
- first_name = input('Please enter your first name: ')
- last_name = input('Please enter your last name: ')
- td_send({'@type': 'registerUser', 'first_name': first_name, 'last_name': last_name})
-
- # wait for password if present
- if auth_state['@type'] == 'authorizationStateWaitPassword':
- password = input('Please enter your password: ')
- td_send({'@type': 'checkAuthenticationPassword', 'password': password})
-
- # handle an incoming update or an answer to a previously sent request
- print(str(event).encode('utf-8'))
- sys.stdout.flush()