mtproto 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/.env.example +4 -0
  3. data/lib/mtproto/async/middleware/base.rb +17 -0
  4. data/lib/mtproto/async/middleware/flood_wait.rb +42 -0
  5. data/lib/mtproto/async/request.rb +18 -0
  6. data/lib/mtproto/async/request_queue.rb +63 -0
  7. data/lib/mtproto/async_client.rb +201 -0
  8. data/lib/mtproto/auth_key_generator.rb +21 -21
  9. data/lib/mtproto/client/rpc.rb +44 -20
  10. data/lib/mtproto/client.rb +49 -15
  11. data/lib/mtproto/rpc/get_config.rb +19 -22
  12. data/lib/mtproto/rpc/get_contacts.rb +12 -5
  13. data/lib/mtproto/rpc/get_updates_difference.rb +23 -5
  14. data/lib/mtproto/rpc/get_updates_state.rb +12 -5
  15. data/lib/mtproto/rpc/get_users.rb +12 -5
  16. data/lib/mtproto/rpc/ping.rb +12 -5
  17. data/lib/mtproto/rpc/send_code.rb +19 -22
  18. data/lib/mtproto/rpc/send_message.rb +21 -5
  19. data/lib/mtproto/rpc/sign_in.rb +23 -27
  20. data/lib/mtproto/{tl → type}/auth_key/dh_gen_response.rb +1 -1
  21. data/lib/mtproto/{tl → type}/auth_key/req_dh_params.rb +1 -1
  22. data/lib/mtproto/{tl → type}/auth_key/req_pq_multi.rb +1 -1
  23. data/lib/mtproto/{tl → type}/auth_key/res_pq.rb +1 -1
  24. data/lib/mtproto/{tl → type}/auth_key/server_dh_params.rb +1 -1
  25. data/lib/mtproto/{tl → type}/auth_key/set_client_dh_params.rb +1 -1
  26. data/lib/mtproto/{tl → type}/bad_msg_notification.rb +1 -1
  27. data/lib/mtproto/{tl → type}/client_dh_inner_data.rb +1 -1
  28. data/lib/mtproto/{tl → type}/code_settings.rb +1 -1
  29. data/lib/mtproto/{tl → type}/config.rb +1 -1
  30. data/lib/mtproto/{tl → type}/gzip_packed.rb +1 -1
  31. data/lib/mtproto/{tl → type}/message.rb +1 -1
  32. data/lib/mtproto/{tl → type}/msg_container.rb +1 -1
  33. data/lib/mtproto/{tl → type}/new_session_created.rb +1 -1
  34. data/lib/mtproto/{tl/p_q_inner_data.rb → type/pq_inner_data.rb} +1 -1
  35. data/lib/mtproto/{tl → type}/rpc/auth/authorization.rb +5 -5
  36. data/lib/mtproto/{tl → type}/rpc/auth/send_code.rb +1 -1
  37. data/lib/mtproto/{tl → type}/rpc/auth/sent_code.rb +7 -7
  38. data/lib/mtproto/{tl → type}/rpc/auth/sign_in.rb +1 -1
  39. data/lib/mtproto/{tl → type}/rpc/contacts/contacts.rb +5 -5
  40. data/lib/mtproto/{tl → type}/rpc/contacts/get_contacts.rb +1 -1
  41. data/lib/mtproto/{tl → type}/rpc/help/config.rb +7 -7
  42. data/lib/mtproto/{tl → type}/rpc/help/get_config.rb +1 -1
  43. data/lib/mtproto/type/rpc/init_connection.rb +28 -0
  44. data/lib/mtproto/type/rpc/invoke_with_layer.rb +19 -0
  45. data/lib/mtproto/{tl → type}/rpc/messages/send_message.rb +1 -1
  46. data/lib/mtproto/{tl → type}/rpc/messages/updates.rb +5 -5
  47. data/lib/mtproto/{tl → type}/rpc/ping.rb +1 -1
  48. data/lib/mtproto/{tl → type}/rpc/pong.rb +1 -1
  49. data/lib/mtproto/{tl → type}/rpc/updates/difference.rb +5 -5
  50. data/lib/mtproto/{tl → type}/rpc/updates/get_difference.rb +1 -1
  51. data/lib/mtproto/{tl → type}/rpc/updates/get_state.rb +1 -1
  52. data/lib/mtproto/{tl → type}/rpc/updates/state.rb +5 -5
  53. data/lib/mtproto/{tl → type}/rpc/users/get_users.rb +1 -1
  54. data/lib/mtproto/{tl → type}/rpc/users/users.rb +5 -5
  55. data/lib/mtproto/{tl → type}/rpc_error.rb +1 -1
  56. data/lib/mtproto/{tl → type}/sent_code.rb +1 -1
  57. data/lib/mtproto/{tl → type}/serializer.rb +1 -1
  58. data/lib/mtproto/{tl → type}/server_dh_inner_data.rb +1 -1
  59. data/lib/mtproto/updates_poller.rb +3 -3
  60. data/lib/mtproto/version.rb +1 -1
  61. data/lib/mtproto.rb +18 -13
  62. metadata +59 -39
  63. data/lib/mtproto/tl/method_builder.rb +0 -29
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'serializer'
4
-
5
- module MTProto
6
- module TL
7
- module MethodBuilder
8
- def invoke_with_layer(layer, query)
9
- body = Serializer.serialize_int(0xda9b0d0d)
10
- body += Serializer.serialize_int(layer)
11
- body + query
12
- end
13
-
14
- def init_connection(api_id:, device_model:, system_version:, app_version:, system_lang_code:, lang_pack:, lang_code:, query:)
15
- body = Serializer.serialize_int(0xc1cd5ea9)
16
- flags = 0
17
- body += Serializer.serialize_int(flags)
18
- body += Serializer.serialize_int(api_id)
19
- body += Serializer.serialize_string(device_model)
20
- body += Serializer.serialize_string(system_version)
21
- body += Serializer.serialize_string(app_version)
22
- body += Serializer.serialize_string(system_lang_code)
23
- body += Serializer.serialize_string(lang_pack)
24
- body += Serializer.serialize_string(lang_code)
25
- body + query
26
- end
27
- end
28
- end
29
- end