apicrypto


Nameapicrypto JSON
Version 0.0.231 PyPI version JSON
download
home_pagehttps://github.com/SartonDev/cryptoapi/
SummarySimple module for Crypto API
upload_time2023-07-15 16:39:14
maintainer
docs_urlNone
authorIvan Shapovalov
requires_python>=3.9
license
keywords crypto cryptoapi vk vkontakte module simple apicrypto api
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # cryptoapi
Модуль для работы с Crypto API | [Официальное приложение](https://vk.com/app51446412_-221070987)
<br>
<br>
## Установка и импорт
Для установки необходимо прописать в консоль (cmd) следующую команду:
```
pip install apicrypto
```

Для импорта модуля в проект использовать:
```python
from cryptoapi import CryptoAPI
```
## Использование
Перед началом необходимо создать экземпляр класса CryptoAPI, который принимает 2 аргумента:

| Аргумент | Тип | Описание                                    |
| -------- |:---:|:------------------------------------------- |
| user_id  | int | ID Пользователя VK, который получил токен   |
| token    | str | Токен, полученный в самом приложении Crypto |

```python
from cryptoapi import CryptoAPI
crypto = CryptoAPI(user_id=ваш_ID, token="Ваш_Токен")
```

### getUserCoins()
Возвращает баланс указанного пользователя.

| Аргумент | Тип | Описание                                                  |
| -------- |:---:|:--------------------------------------------------------- |
| user_id  | int | ID Пользователя VK, баланс которого необходимо получить   |

`Если не указывать user_id, то подставится ID из созданного экземпляра`

```python
crypto.getUserCoins(user_id=498475943)
>>> 1139888
```

### getTransfers()
Возвращает список всех переводов
```python
crypto.getTransfers()
>>> [{'name': 'Алекса...}]
```

### transfer()
Отправляет перевод.

| Аргумент | Тип | Описание                                 |
| -------- |:---:|:---------------------------------------- |
| toId     | int | ID пользователя, кому отправляем перевод |
| amount   | int | Сумма перевода                           |

```python
crypto.transfer(toId=498475943, amount=100)
>>> {"response": {"recipient_id": 498475943, "amount": 100}}
```

### connectServer()
Настраивает отправку callback уведомлений на Ваш сервер / сайт.

| Аргумент | Тип | Описание                                               |
| -------- |:---:|:------------------------------------------------------ |
| url      | str | Адрес сервера / сайта, куда буду приходить уведомления |

```python
crypto.connectServer(url="https://mysite.mydomain")
>>> {"response": {"url": "https://mysite.mydomain", "user_id": 498475943}}
```

**Обратите внимание, что ссылка обязательно должна начинаться с https:// или http://**

После получения перевода, callback возвращает JSON Объект события следующего вида:
```json
{
  "event": "new_transfer",
  "object": {
    "sender_id": 498475943,
    "amount": 1000,
    "create_date": 1687423373784,
    "secretKey": "18e0f585616e1ece62316072a45f64e4"
  }
}
```

### listen()
Запускает встроенный прослушиватель переводов. При получении нового перевода возвращает JSON.

| Аргумент | Тип | Описание                                                             |
| -------- |:---:|:-------------------------------------------------------------------- |
| interval | int | Задает интервал обновления переводов в секундах (По умолчанию: 1) |

```python
for object in crypto.listen(interval=0.1):
  print(object)
>>> {"name": "Иван Шаповалов", "avatar": "https://sun34-2.userapi.com/impg/0MjzdwFu6WRSYod_65kU0BjdVpNcqWyxXmr76g/ZlbXvz3CTSs.jpg?size=720x720&quality=95&sign=ae29a8d9bacfab080534f3f2cb964963&type=album", "sender_id": 498475943, "recipient_id": 487364833, "create_date": 1687416286823, "amount": 1000}
```

### md5()
Генерирует secretKey для проверки callback переводов на честность (Подробней - https://vk.com/@crypto_play-api?anchor=connectserver)

`Имеется два варианта передачи параметров для генерации secretKey`

`Первый вариант`
| Аргумент    | Тип  | Описание                  |
| ----------- |:----:|:------------------------- |
| create_date | int  | Дата перевода в UNIX      |
| sender_id   | int  | ID Отправителя            |

```python
crypto.md5(create_data=1689398602, sender_id=498475943)
>>> '876104e5cee8669f1b89448282215da5'
```

`Второй вариант`
| Аргумент    | Тип         | Описание                  |
| ----------- |:-----------:|:------------------------- |
| json        | dict / json | JSON полученного перевода |

```python
crypto.md5(json=
{
  'event': 'new_transfer', 
  'object': {
    'sender_id': 1, 
    'amount': 10000, 
    'create_date': 1689408602, 
    'secretKey': '1287a00828e7e44ea83b7d90caf938a1'
  }
})
>>> '1287a00828e7e44ea83b7d90caf938a1'
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/SartonDev/cryptoapi/",
    "name": "apicrypto",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "",
    "keywords": "crypto cryptoapi vk vkontakte module simple apicrypto api",
    "author": "Ivan Shapovalov",
    "author_email": "sartondev@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/17/bc/430ff6df49aca89b4b32a84729aaaef863f2076364a97e353fe5e5d2df40/apicrypto-0.0.231.tar.gz",
    "platform": null,
    "description": "# cryptoapi\r\n\u041c\u043e\u0434\u0443\u043b\u044c \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Crypto API | [\u041e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435](https://vk.com/app51446412_-221070987)\r\n<br>\r\n<br>\r\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u0438\u043c\u043f\u043e\u0440\u0442\r\n\u0414\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c (cmd) \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:\r\n```\r\npip install apicrypto\r\n```\r\n\r\n\u0414\u043b\u044f \u0438\u043c\u043f\u043e\u0440\u0442\u0430 \u043c\u043e\u0434\u0443\u043b\u044f \u0432 \u043f\u0440\u043e\u0435\u043a\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c:\r\n```python\r\nfrom cryptoapi import CryptoAPI\r\n```\r\n## \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\r\n\u041f\u0435\u0440\u0435\u0434 \u043d\u0430\u0447\u0430\u043b\u043e\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u043a\u043b\u0430\u0441\u0441\u0430 CryptoAPI, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 2 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430:\r\n\r\n| \u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442 | \u0422\u0438\u043f | \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435                                    |\r\n| -------- |:---:|:------------------------------------------- |\r\n| user_id  | int | ID \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f VK, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0442\u043e\u043a\u0435\u043d   |\r\n| token    | str | \u0422\u043e\u043a\u0435\u043d, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0432 \u0441\u0430\u043c\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 Crypto |\r\n\r\n```python\r\nfrom cryptoapi import CryptoAPI\r\ncrypto = CryptoAPI(user_id=\u0432\u0430\u0448_ID, token=\"\u0412\u0430\u0448_\u0422\u043e\u043a\u0435\u043d\")\r\n```\r\n\r\n### getUserCoins()\r\n\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0431\u0430\u043b\u0430\u043d\u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.\r\n\r\n| \u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442 | \u0422\u0438\u043f | \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435                                                  |\r\n| -------- |:---:|:--------------------------------------------------------- |\r\n| user_id  | int | ID \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f VK, \u0431\u0430\u043b\u0430\u043d\u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c   |\r\n\r\n`\u0415\u0441\u043b\u0438 \u043d\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c user_id, \u0442\u043e \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044f ID \u0438\u0437 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430`\r\n\r\n```python\r\ncrypto.getUserCoins(user_id=498475943)\r\n>>> 1139888\r\n```\r\n\r\n### getTransfers()\r\n\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432\r\n```python\r\ncrypto.getTransfers()\r\n>>> [{'name': '\u0410\u043b\u0435\u043a\u0441\u0430...}]\r\n```\r\n\r\n### transfer()\r\n\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u0435\u0440\u0435\u0432\u043e\u0434.\r\n\r\n| \u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442 | \u0422\u0438\u043f | \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435                                 |\r\n| -------- |:---:|:---------------------------------------- |\r\n| toId     | int | ID \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u043a\u043e\u043c\u0443 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0435\u0440\u0435\u0432\u043e\u0434 |\r\n| amount   | int | \u0421\u0443\u043c\u043c\u0430 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430                           |\r\n\r\n```python\r\ncrypto.transfer(toId=498475943, amount=100)\r\n>>> {\"response\": {\"recipient_id\": 498475943, \"amount\": 100}}\r\n```\r\n\r\n### connectServer()\r\n\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 callback \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439 \u043d\u0430 \u0412\u0430\u0448 \u0441\u0435\u0440\u0432\u0435\u0440 / \u0441\u0430\u0439\u0442.\r\n\r\n| \u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442 | \u0422\u0438\u043f | \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435                                               |\r\n| -------- |:---:|:------------------------------------------------------ |\r\n| url      | str | \u0410\u0434\u0440\u0435\u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 / \u0441\u0430\u0439\u0442\u0430, \u043a\u0443\u0434\u0430 \u0431\u0443\u0434\u0443 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u044c \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f |\r\n\r\n```python\r\ncrypto.connectServer(url=\"https://mysite.mydomain\")\r\n>>> {\"response\": {\"url\": \"https://mysite.mydomain\", \"user_id\": 498475943}}\r\n```\r\n\r\n**\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0441\u0441\u044b\u043b\u043a\u0430 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u043e\u043b\u0436\u043d\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c\u0441\u044f \u0441 https:// \u0438\u043b\u0438 http://**\r\n\r\n\u041f\u043e\u0441\u043b\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430, callback \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 JSON \u041e\u0431\u044a\u0435\u043a\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0432\u0438\u0434\u0430:\r\n```json\r\n{\r\n  \"event\": \"new_transfer\",\r\n  \"object\": {\r\n    \"sender_id\": 498475943,\r\n    \"amount\": 1000,\r\n    \"create_date\": 1687423373784,\r\n    \"secretKey\": \"18e0f585616e1ece62316072a45f64e4\"\r\n  }\r\n}\r\n```\r\n\r\n### listen()\r\n\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u0442\u0435\u043b\u044c \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432. \u041f\u0440\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0438 \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 JSON.\r\n\r\n| \u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442 | \u0422\u0438\u043f | \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435                                                             |\r\n| -------- |:---:|:-------------------------------------------------------------------- |\r\n| interval | int | \u0417\u0430\u0434\u0430\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445 (\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e: 1) |\r\n\r\n```python\r\nfor object in crypto.listen(interval=0.1):\r\n  print(object)\r\n>>> {\"name\": \"\u0418\u0432\u0430\u043d \u0428\u0430\u043f\u043e\u0432\u0430\u043b\u043e\u0432\", \"avatar\": \"https://sun34-2.userapi.com/impg/0MjzdwFu6WRSYod_65kU0BjdVpNcqWyxXmr76g/ZlbXvz3CTSs.jpg?size=720x720&quality=95&sign=ae29a8d9bacfab080534f3f2cb964963&type=album\", \"sender_id\": 498475943, \"recipient_id\": 487364833, \"create_date\": 1687416286823, \"amount\": 1000}\r\n```\r\n\r\n### md5()\r\n\u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 secretKey \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 callback \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u0432 \u043d\u0430 \u0447\u0435\u0441\u0442\u043d\u043e\u0441\u0442\u044c (\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0439 - https://vk.com/@crypto_play-api?anchor=connectserver)\r\n\r\n`\u0418\u043c\u0435\u0435\u0442\u0441\u044f \u0434\u0432\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 secretKey`\r\n\r\n`\u041f\u0435\u0440\u0432\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442`\r\n| \u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442    | \u0422\u0438\u043f  | \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435                  |\r\n| ----------- |:----:|:------------------------- |\r\n| create_date | int  | \u0414\u0430\u0442\u0430 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0432 UNIX      |\r\n| sender_id   | int  | ID \u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u0435\u043b\u044f            |\r\n\r\n```python\r\ncrypto.md5(create_data=1689398602, sender_id=498475943)\r\n>>> '876104e5cee8669f1b89448282215da5'\r\n```\r\n\r\n`\u0412\u0442\u043e\u0440\u043e\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442`\r\n| \u0410\u0440\u0433\u0443\u043c\u0435\u043d\u0442    | \u0422\u0438\u043f         | \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435                  |\r\n| ----------- |:-----------:|:------------------------- |\r\n| json        | dict / json | JSON \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 |\r\n\r\n```python\r\ncrypto.md5(json=\r\n{\r\n  'event': 'new_transfer', \r\n  'object': {\r\n    'sender_id': 1, \r\n    'amount': 10000, \r\n    'create_date': 1689408602, \r\n    'secretKey': '1287a00828e7e44ea83b7d90caf938a1'\r\n  }\r\n})\r\n>>> '1287a00828e7e44ea83b7d90caf938a1'\r\n```\r\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Simple module for Crypto API",
    "version": "0.0.231",
    "project_urls": {
        "Documentation": "https://github.com/SartonDev/cryptoapi/blob/main/README.md",
        "Homepage": "https://github.com/SartonDev/cryptoapi/"
    },
    "split_keywords": [
        "crypto",
        "cryptoapi",
        "vk",
        "vkontakte",
        "module",
        "simple",
        "apicrypto",
        "api"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b1d9be54be8db1456e599f17c6f46cd9e54ab6484e173ace63a0cdb4abf8964e",
                "md5": "a3c6304a92a7f8f249f140e850d5f9a1",
                "sha256": "884e2086bd73624cddd36e0238f62c53415bc6ee20542e4215367d932bbd783f"
            },
            "downloads": -1,
            "filename": "apicrypto-0.0.231-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a3c6304a92a7f8f249f140e850d5f9a1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 3340,
            "upload_time": "2023-07-15T16:39:11",
            "upload_time_iso_8601": "2023-07-15T16:39:11.832725Z",
            "url": "https://files.pythonhosted.org/packages/b1/d9/be54be8db1456e599f17c6f46cd9e54ab6484e173ace63a0cdb4abf8964e/apicrypto-0.0.231-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "17bc430ff6df49aca89b4b32a84729aaaef863f2076364a97e353fe5e5d2df40",
                "md5": "3bc8534ccfffe4f0e9d374616371956a",
                "sha256": "1c336fb9914a4f08b0b289a7228a708db7820e9fe86a84a3c0ee314e69de1a6f"
            },
            "downloads": -1,
            "filename": "apicrypto-0.0.231.tar.gz",
            "has_sig": false,
            "md5_digest": "3bc8534ccfffe4f0e9d374616371956a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 3503,
            "upload_time": "2023-07-15T16:39:14",
            "upload_time_iso_8601": "2023-07-15T16:39:14.979528Z",
            "url": "https://files.pythonhosted.org/packages/17/bc/430ff6df49aca89b4b32a84729aaaef863f2076364a97e353fe5e5d2df40/apicrypto-0.0.231.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-07-15 16:39:14",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "SartonDev",
    "github_project": "cryptoapi",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "apicrypto"
}
        
Elapsed time: 0.85667s