xync-client 0.0.43.dev42__tar.gz → 0.0.43.dev43__tar.gz

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 (114) hide show
  1. {xync_client-0.0.43.dev42/xync_client.egg-info → xync_client-0.0.43.dev43}/PKG-INFO +1 -1
  2. xync_client-0.0.43.dev43/xync_client/Pyrogram/pyro.py +74 -0
  3. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43/xync_client.egg-info}/PKG-INFO +1 -1
  4. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client.egg-info/SOURCES.txt +1 -0
  5. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/.env.sample +0 -0
  6. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/.gitignore +0 -0
  7. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/.pre-commit-config.yaml +0 -0
  8. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/README.md +0 -0
  9. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/makefile +0 -0
  10. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/pyproject.toml +0 -0
  11. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/setup.cfg +0 -0
  12. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/tests/TestAgent.py +0 -0
  13. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/tests/TestAsset.py +0 -0
  14. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/tests/TestEx.py +0 -0
  15. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/tests/TestOrder.py +0 -0
  16. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/tests/_todo_refact/Binance/test_binance.py +0 -0
  17. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/tests/_todo_refact/Bybit/test_bybit.py +0 -0
  18. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/tests/_todo_refact/Bybit/test_bybit_p2p.py +0 -0
  19. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/tests/_todo_refact/Gate/test_gate.py +0 -0
  20. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/tests/_todo_refact/Htx/test_htx_p2p.py +0 -0
  21. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/tests/_todo_refact/Wallet/test_agent.py +0 -0
  22. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/tests/_todo_refact/Wallet/test_ex.py +0 -0
  23. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/tests/_todo_refact/__init__.py +0 -0
  24. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/tests/_todo_refact/_test_ex.py +0 -0
  25. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Abc/Agent.py +0 -0
  26. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Abc/Asset.py +0 -0
  27. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Abc/AuthTrait.py +0 -0
  28. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Abc/Base.py +0 -0
  29. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Abc/BaseTest.py +0 -0
  30. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Abc/Ex.py +0 -0
  31. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Abc/InAgent.py +0 -0
  32. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Abc/Order.py +0 -0
  33. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Abc/types.py +0 -0
  34. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Binance/__init__.py +0 -0
  35. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Binance/binance_async.py +0 -0
  36. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Binance/earn_api.py +0 -0
  37. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Binance/etype/ad.py +0 -0
  38. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Binance/etype/pm.py +0 -0
  39. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Binance/ex.py +0 -0
  40. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Binance/exceptions.py +0 -0
  41. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Binance/sapi.py +0 -0
  42. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Binance/web_c2c.py +0 -0
  43. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/BingX/__init__.py +0 -0
  44. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/BingX/agent.py +0 -0
  45. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/BingX/base.py +0 -0
  46. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/BingX/etype/ad.py +0 -0
  47. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/BingX/etype/pm.py +0 -0
  48. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/BingX/ex.py +0 -0
  49. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/BingX/req.mjs +0 -0
  50. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/BingX/sign.js +0 -0
  51. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/BitGet/__init__.py +0 -0
  52. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/BitGet/agent.py +0 -0
  53. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/BitGet/etype/ad.py +0 -0
  54. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/BitGet/ex.py +0 -0
  55. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/BitGet/req.mjs +0 -0
  56. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/BitPapa/ex.py +0 -0
  57. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Bybit/InAgent.py +0 -0
  58. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Bybit/agent.py +0 -0
  59. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Bybit/etype/ad.py +0 -0
  60. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Bybit/etype/cred.py +0 -0
  61. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Bybit/etype/order.py +0 -0
  62. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Bybit/ex.py +0 -0
  63. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Bybit/web_earn.py +0 -0
  64. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Bybit/web_p2p.py +0 -0
  65. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Bybit/ws.py +0 -0
  66. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Gate/etype/ad.py +0 -0
  67. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Gate/ex.py +0 -0
  68. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Gate/premarket.py +0 -0
  69. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Htx/agent.py +0 -0
  70. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Htx/earn.py +0 -0
  71. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Htx/etype/__init__.py +0 -0
  72. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Htx/etype/ad.py +0 -0
  73. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Htx/etype/cred.py +0 -0
  74. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Htx/etype/pm.py +0 -0
  75. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Htx/etype/test.py +0 -0
  76. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Htx/ex.py +0 -0
  77. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/KuCoin/etype/ad.py +0 -0
  78. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/KuCoin/etype/pm.py +0 -0
  79. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/KuCoin/ex.py +0 -0
  80. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/KuCoin/web.py +0 -0
  81. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Mexc/etype/ad.py +0 -0
  82. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Mexc/etype/pm.py +0 -0
  83. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Mexc/ex.py +0 -0
  84. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Okx/etype/ad.py +0 -0
  85. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Okx/etype/pm.py +0 -0
  86. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Okx/ex.py +0 -0
  87. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Pms/Alfa/__init__.py +0 -0
  88. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Pms/Alfa/state.json +0 -0
  89. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Pms/Sber/__init__.py +0 -0
  90. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Pms/Tinkoff/__init__.py +0 -0
  91. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Pms/Tinkoff/state.json +0 -0
  92. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Pms/Volet/__init__.py +0 -0
  93. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Pms/Volet/_todo_req/req.mjs +0 -0
  94. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Pms/Volet/_todo_req/req.py +0 -0
  95. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Pms/Volet/api.py +0 -0
  96. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Pyrogram/base.py +0 -0
  97. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Pyrogram/bot.py +0 -0
  98. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Pyrogram/file.py +0 -0
  99. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/Pyrogram/user.py +0 -0
  100. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/TgWallet/agent.py +0 -0
  101. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/TgWallet/asset.py +0 -0
  102. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/TgWallet/auth.py +0 -0
  103. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/TgWallet/ex.py +0 -0
  104. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/TgWallet/inAgent.py +0 -0
  105. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/TgWallet/order.py +0 -0
  106. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/TgWallet/pyd.py +0 -0
  107. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/TgWallet/pyro.py +0 -0
  108. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/TgWallet/web.py +0 -0
  109. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/__init__.py +0 -0
  110. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/loader.py +0 -0
  111. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client/pm_unifier.py +0 -0
  112. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client.egg-info/dependency_links.txt +0 -0
  113. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client.egg-info/requires.txt +0 -0
  114. {xync_client-0.0.43.dev42 → xync_client-0.0.43.dev43}/xync_client.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xync-client
3
- Version: 0.0.43.dev42
3
+ Version: 0.0.43.dev43
4
4
  Author-email: Mike Artemiev <mixartemev@gmail.com>
5
5
  Project-URL: Homepage, https://gitlab.com/XyncNet/client
6
6
  Project-URL: Repository, https://gitlab.com/XyncNet/client
@@ -0,0 +1,74 @@
1
+ from asyncio import run, sleep
2
+
3
+ from pyrogram.errors import UserNotParticipant
4
+ from pyrogram.raw.functions.photos import GetUserPhotos
5
+ from pyrogram.raw.types.photos import Photos
6
+ from pyrogram.types import Chat, ChatPrivileges
7
+ from x_model import init_db
8
+
9
+ from xync_client.Pyrogram.client import UserClient, BotClient
10
+ from xync_client.Pyrogram.pg_storage import PgStorage
11
+ from xync_client.loader import TG_API_ID, TG_API_HASH, PG_DSN, TOKEN
12
+ from xync_schema import models
13
+
14
+
15
+ class PyroClient:
16
+ max_privs = ChatPrivileges(
17
+ can_manage_chat=True, # default
18
+ can_delete_messages=True,
19
+ can_delete_stories=True, # Channels only
20
+ can_manage_video_chats=True, # Groups and supergroups only
21
+ can_restrict_members=True,
22
+ can_promote_members=True,
23
+ can_change_info=True,
24
+ can_post_messages=True, # Channels only
25
+ can_post_stories=True, # Channels only
26
+ can_edit_messages=True, # Channels only
27
+ can_edit_stories=True, # Channels only
28
+ can_invite_users=True,
29
+ can_pin_messages=True, # Groups and supergroups only
30
+ can_manage_topics=True, # Supergroups only
31
+ is_anonymous=True,
32
+ )
33
+
34
+ def __init__(self, ss_id: str):
35
+ self.u: UserClient = UserClient(ss_id, TG_API_ID, TG_API_HASH, storage_engine=PgStorage(ss_id))
36
+ self.b: BotClient = BotClient("6806432376", TG_API_ID, TG_API_HASH, storage_engine=PgStorage("6806432376"))
37
+
38
+ async def create_orders_forum(self, uid: str | int) -> tuple[int, bool]:
39
+ chat: Chat = await self.app.create_supergroup("Xync Orders", "Xync Orders")
40
+ if not (await self.app.toggle_forum_topics(chat_id=chat.id, enabled=True)):
41
+ await self.app.delete_channel(chat.id)
42
+ await chat.leave()
43
+ raise Exception(f"Chat {chat.id} for {self.app.me.username} not converted to forum")
44
+ await chat.add_members(["XyncNetBot"]) # , "xync_bot"
45
+ await chat.promote_member("XyncNetBot", self.max_privs)
46
+ added = await chat.add_members([uid])
47
+ try:
48
+ await sleep(1, await chat.get_member(uid))
49
+ except UserNotParticipant:
50
+ added = False
51
+ # await chat.leave()
52
+ return chat.id, added
53
+
54
+ async def get_user_photos(self, uid: str | int) -> Photos:
55
+ try:
56
+ peer = await self.app.resolve_peer(uid)
57
+ except Exception as e:
58
+ raise e
59
+ return await self.app.invoke(GetUserPhotos(user_id=peer, offset=0, limit=1, max_id=-1))
60
+
61
+
62
+ async def main():
63
+ _ = await init_db(PG_DSN, models, True)
64
+ user: models.User = await models.User.filter(status__gt=0).first()
65
+ bot = BotClient(TOKEN)
66
+ await bot.start()
67
+ uc = UserClient(str(user.username_id), bot)
68
+ await uc.start()
69
+ await uc.stop()
70
+ await bot.stop()
71
+
72
+
73
+ if __name__ == "__main__":
74
+ run(main())
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xync-client
3
- Version: 0.0.43.dev42
3
+ Version: 0.0.43.dev43
4
4
  Author-email: Mike Artemiev <mixartemev@gmail.com>
5
5
  Project-URL: Homepage, https://gitlab.com/XyncNet/client
6
6
  Project-URL: Repository, https://gitlab.com/XyncNet/client
@@ -99,6 +99,7 @@ xync_client/Pms/Volet/_todo_req/req.py
99
99
  xync_client/Pyrogram/base.py
100
100
  xync_client/Pyrogram/bot.py
101
101
  xync_client/Pyrogram/file.py
102
+ xync_client/Pyrogram/pyro.py
102
103
  xync_client/Pyrogram/user.py
103
104
  xync_client/TgWallet/agent.py
104
105
  xync_client/TgWallet/asset.py