# Kyasher
Kyash APIラッパー Python用
### >> ```pip install kyasher``` <<
## 使い方
#### example.py
```py
from Kyasher import Kyash
kyash=Kyash("メールアドレス","パスワード",proxy=None)#引数にプロキシを設定できる、proxy=dict
otp=input("OTP? :")#SMSに届いた6桁の認証番号
kyash.login(otp)
print(kyash.access_token)#有効期限は1ヶ月
print(kyash.client_uuid)
print(kyash.installation_uuid)#クライアントUUIDとインストレーションUUIDは2つで1セット
kyash=Kyash("メールアドレス","パスワード","登録済みクライアントUUID","登録済みインストレーションUUID")#これでログイン時のOTP認証をスキップできる
kyash=Kyash(access_token="アクセストークン")#またはトークンでログイン
kyash.get_profile()
print(kyash.username)#ユーザーネーム
print(kyash.icon)#アイコン
print(kyash.myouzi)#苗字
print(kyash.namae)#名前
print(kyash.phone)#電話番号
print(kyash.is_kyc)#本人確認されているかどうか、True or False
kyash.get_wallet()
print(kyash.wallet_uuid)#おさいふUUID
print(kyash.all_balance)#合計残高
print(kyash.money)#出金可能なキャッシュマネー
print(kyash.value)#出金不可のキャッシュバリュー
print(kyash.point)#ポイント
kyash.get_history(wallet_uuid=kyash.wallet_uuid,limit=3)#wallet_uuidを入力しなかったらその場で取得するので入力しなくてもOK
print(kyash.timelines)#リスト型、支出入履歴
kyash.get_summary(year=2024,month=6)#何も入力しないと今日の西暦と月になる
print(kyash.summary)#リスト型、支出入のレポート
kyash.create_link(amount=100,message="テストリンク",is_claim=False)#is_claim=True で請求リンクを作成する
print(kyash.created_link)
link_info=kyash.link_check(kyash.created_link)#引数名はURLだけど https://kyash.me/payments/ はなくてもOK
print(kyash.link_amount)#金額
print(kyash.link_uuid)#リンクのUUID、必要
print(kyash.send_to_me)#受け取りリンクなら True、請求リンクなら False
print(kyash.link_public_id)#パブリックID、請求リンクにしか必要ない
print(kyash.link_sender_name)#リンク作成者のユーザーネーム
kyash.link_recieve(url="URL",link_uuid="リンクのUUID")#引数はどちらか1つでOK、リンクのUUIDをいれるとリンクチェックがスキップされる
kyash.link_cancel(url="URL",link_uuid="リンクのUUID")#リンク受け取りと同じ
kyash.send_to_link(url="URL",message="Botが請求に応じました",link_info=link_info)#請求リンクに送金する時にリンクチェックをスキップしたい場合だけlink_info全体が必要、もちろんURLだけいれてもちゃんと機能する
```
#コメントで書いてあることが全部、それ以上は特にない...
## もう少し知る
### ログイン
ログイン時のワンタイムパスワードをスキップするためにはクライアントUUIDとインストレーションUUID両方が合っている必要がある
もちろんトークンがあればUUIDはテキトーでもOK
アクセストークンは1ヶ月経つと失効する
### リンクチェック
なぜかKyashはリンクのID部分ではなくリンクUUIDが重要視されていてIDはほぼ完全に飾り
送金 / 請求URLにアクセスするとHTMLが返ってくるのでそこからリンクUUIDをスクレイピングしてる
json形式で返してくれるAPIもあったけどなぜかそれにもリンクUUIDが必要なためにけっきょくスクレイピングからは逃れられない
### 余談
ユーザーエージェントはiOS 16.7.5のiPhone8だけどトラフィックを確認した実機はiOS 14.8
Kyashが最近iOS 15のサポートを終了するって発表してたけど、僕は永遠にiOS 14
iOSは2,3年落ちになっただけでいろんなアプリに対応を切られてサイドローディングもろくにできないから寿命が短い (+インストールしたことのないアプリはAppStore++でも使わない限り過去バージョンをダウンロードできないから余計に)
Androidなんかがんばればロリポップですらまだ使えるのに (32bitはそろそろちょっときついかなぁ)
## コンタクト
Discord サーバー / https://discord.gg/aSyaAK7Ktm
Discord ユーザー名 / .taka.
Raw data
{
"_id": null,
"home_page": "https://github.com/taka-4602/Kyasher",
"name": "Kyasher",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "kyash",
"author": "taka4602",
"author_email": "shun4602@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/f8/63/a7e5afd93aecf89d5f6294d6da839bdf0b324fff082655cd3ce509e32708/Kyasher-1.3.0.tar.gz",
"platform": null,
"description": "# Kyasher\r\nKyash API\u30e9\u30c3\u30d1\u30fc Python\u7528\r\n### >> ```pip install kyasher``` <<\r\n## \u4f7f\u3044\u65b9\r\n#### example.py \r\n```py\r\nfrom Kyasher import Kyash\r\n\r\nkyash=Kyash(\"\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\",\"\u30d1\u30b9\u30ef\u30fc\u30c9\",proxy=None)#\u5f15\u6570\u306b\u30d7\u30ed\u30ad\u30b7\u3092\u8a2d\u5b9a\u3067\u304d\u308b\u3001proxy=dict\r\notp=input(\"OTP? :\")#SMS\u306b\u5c4a\u3044\u305f6\u6841\u306e\u8a8d\u8a3c\u756a\u53f7\r\nkyash.login(otp)\r\nprint(kyash.access_token)#\u6709\u52b9\u671f\u9650\u306f1\u30f6\u6708\r\nprint(kyash.client_uuid)\r\nprint(kyash.installation_uuid)#\u30af\u30e9\u30a4\u30a2\u30f3\u30c8UUID\u3068\u30a4\u30f3\u30b9\u30c8\u30ec\u30fc\u30b7\u30e7\u30f3UUID\u306f2\u3064\u30671\u30bb\u30c3\u30c8\r\n\r\nkyash=Kyash(\"\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\",\"\u30d1\u30b9\u30ef\u30fc\u30c9\",\"\u767b\u9332\u6e08\u307f\u30af\u30e9\u30a4\u30a2\u30f3\u30c8UUID\",\"\u767b\u9332\u6e08\u307f\u30a4\u30f3\u30b9\u30c8\u30ec\u30fc\u30b7\u30e7\u30f3UUID\")#\u3053\u308c\u3067\u30ed\u30b0\u30a4\u30f3\u6642\u306eOTP\u8a8d\u8a3c\u3092\u30b9\u30ad\u30c3\u30d7\u3067\u304d\u308b\r\nkyash=Kyash(access_token=\"\u30a2\u30af\u30bb\u30b9\u30c8\u30fc\u30af\u30f3\")#\u307e\u305f\u306f\u30c8\u30fc\u30af\u30f3\u3067\u30ed\u30b0\u30a4\u30f3\r\n\r\nkyash.get_profile()\r\nprint(kyash.username)#\u30e6\u30fc\u30b6\u30fc\u30cd\u30fc\u30e0\r\nprint(kyash.icon)#\u30a2\u30a4\u30b3\u30f3\r\nprint(kyash.myouzi)#\u82d7\u5b57\r\nprint(kyash.namae)#\u540d\u524d\r\nprint(kyash.phone)#\u96fb\u8a71\u756a\u53f7\r\nprint(kyash.is_kyc)#\u672c\u4eba\u78ba\u8a8d\u3055\u308c\u3066\u3044\u308b\u304b\u3069\u3046\u304b\u3001True or False\r\n\r\nkyash.get_wallet()\r\nprint(kyash.wallet_uuid)#\u304a\u3055\u3044\u3075UUID\r\nprint(kyash.all_balance)#\u5408\u8a08\u6b8b\u9ad8\r\nprint(kyash.money)#\u51fa\u91d1\u53ef\u80fd\u306a\u30ad\u30e3\u30c3\u30b7\u30e5\u30de\u30cd\u30fc\r\nprint(kyash.value)#\u51fa\u91d1\u4e0d\u53ef\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\u30d0\u30ea\u30e5\u30fc\r\nprint(kyash.point)#\u30dd\u30a4\u30f3\u30c8\r\n\r\nkyash.get_history(wallet_uuid=kyash.wallet_uuid,limit=3)#wallet_uuid\u3092\u5165\u529b\u3057\u306a\u304b\u3063\u305f\u3089\u305d\u306e\u5834\u3067\u53d6\u5f97\u3059\u308b\u306e\u3067\u5165\u529b\u3057\u306a\u304f\u3066\u3082OK\r\nprint(kyash.timelines)#\u30ea\u30b9\u30c8\u578b\u3001\u652f\u51fa\u5165\u5c65\u6b74\r\n\r\nkyash.get_summary(year=2024,month=6)#\u4f55\u3082\u5165\u529b\u3057\u306a\u3044\u3068\u4eca\u65e5\u306e\u897f\u66a6\u3068\u6708\u306b\u306a\u308b\r\nprint(kyash.summary)#\u30ea\u30b9\u30c8\u578b\u3001\u652f\u51fa\u5165\u306e\u30ec\u30dd\u30fc\u30c8\r\n\r\nkyash.create_link(amount=100,message=\"\u30c6\u30b9\u30c8\u30ea\u30f3\u30af\",is_claim=False)#is_claim=True \u3067\u8acb\u6c42\u30ea\u30f3\u30af\u3092\u4f5c\u6210\u3059\u308b\r\nprint(kyash.created_link)\r\n\r\nlink_info=kyash.link_check(kyash.created_link)#\u5f15\u6570\u540d\u306fURL\u3060\u3051\u3069 https://kyash.me/payments/ \u306f\u306a\u304f\u3066\u3082OK\r\nprint(kyash.link_amount)#\u91d1\u984d\r\nprint(kyash.link_uuid)#\u30ea\u30f3\u30af\u306eUUID\u3001\u5fc5\u8981\r\nprint(kyash.send_to_me)#\u53d7\u3051\u53d6\u308a\u30ea\u30f3\u30af\u306a\u3089 True\u3001\u8acb\u6c42\u30ea\u30f3\u30af\u306a\u3089 False\r\nprint(kyash.link_public_id)#\u30d1\u30d6\u30ea\u30c3\u30afID\u3001\u8acb\u6c42\u30ea\u30f3\u30af\u306b\u3057\u304b\u5fc5\u8981\u306a\u3044\r\nprint(kyash.link_sender_name)#\u30ea\u30f3\u30af\u4f5c\u6210\u8005\u306e\u30e6\u30fc\u30b6\u30fc\u30cd\u30fc\u30e0\r\n\r\nkyash.link_recieve(url=\"URL\",link_uuid=\"\u30ea\u30f3\u30af\u306eUUID\")#\u5f15\u6570\u306f\u3069\u3061\u3089\u304b1\u3064\u3067OK\u3001\u30ea\u30f3\u30af\u306eUUID\u3092\u3044\u308c\u308b\u3068\u30ea\u30f3\u30af\u30c1\u30a7\u30c3\u30af\u304c\u30b9\u30ad\u30c3\u30d7\u3055\u308c\u308b\r\nkyash.link_cancel(url=\"URL\",link_uuid=\"\u30ea\u30f3\u30af\u306eUUID\")#\u30ea\u30f3\u30af\u53d7\u3051\u53d6\u308a\u3068\u540c\u3058\r\nkyash.send_to_link(url=\"URL\",message=\"Bot\u304c\u8acb\u6c42\u306b\u5fdc\u3058\u307e\u3057\u305f\",link_info=link_info)#\u8acb\u6c42\u30ea\u30f3\u30af\u306b\u9001\u91d1\u3059\u308b\u6642\u306b\u30ea\u30f3\u30af\u30c1\u30a7\u30c3\u30af\u3092\u30b9\u30ad\u30c3\u30d7\u3057\u305f\u3044\u5834\u5408\u3060\u3051link_info\u5168\u4f53\u304c\u5fc5\u8981\u3001\u3082\u3061\u308d\u3093URL\u3060\u3051\u3044\u308c\u3066\u3082\u3061\u3083\u3093\u3068\u6a5f\u80fd\u3059\u308b\r\n``` \r\n#\u30b3\u30e1\u30f3\u30c8\u3067\u66f8\u3044\u3066\u3042\u308b\u3053\u3068\u304c\u5168\u90e8\u3001\u305d\u308c\u4ee5\u4e0a\u306f\u7279\u306b\u306a\u3044... \r\n## \u3082\u3046\u5c11\u3057\u77e5\u308b\r\n### \u30ed\u30b0\u30a4\u30f3\r\n\u30ed\u30b0\u30a4\u30f3\u6642\u306e\u30ef\u30f3\u30bf\u30a4\u30e0\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u30b9\u30ad\u30c3\u30d7\u3059\u308b\u305f\u3081\u306b\u306f\u30af\u30e9\u30a4\u30a2\u30f3\u30c8UUID\u3068\u30a4\u30f3\u30b9\u30c8\u30ec\u30fc\u30b7\u30e7\u30f3UUID\u4e21\u65b9\u304c\u5408\u3063\u3066\u3044\u308b\u5fc5\u8981\u304c\u3042\u308b \r\n\u3082\u3061\u308d\u3093\u30c8\u30fc\u30af\u30f3\u304c\u3042\u308c\u3070UUID\u306f\u30c6\u30ad\u30c8\u30fc\u3067\u3082OK \r\n\u30a2\u30af\u30bb\u30b9\u30c8\u30fc\u30af\u30f3\u306f1\u30f6\u6708\u7d4c\u3064\u3068\u5931\u52b9\u3059\u308b \r\n### \u30ea\u30f3\u30af\u30c1\u30a7\u30c3\u30af\r\n\u306a\u305c\u304bKyash\u306f\u30ea\u30f3\u30af\u306eID\u90e8\u5206\u3067\u306f\u306a\u304f\u30ea\u30f3\u30afUUID\u304c\u91cd\u8981\u8996\u3055\u308c\u3066\u3044\u3066ID\u306f\u307b\u307c\u5b8c\u5168\u306b\u98fe\u308a \r\n\u9001\u91d1 / \u8acb\u6c42URL\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3068HTML\u304c\u8fd4\u3063\u3066\u304f\u308b\u306e\u3067\u305d\u3053\u304b\u3089\u30ea\u30f3\u30afUUID\u3092\u30b9\u30af\u30ec\u30a4\u30d4\u30f3\u30b0\u3057\u3066\u308b \r\njson\u5f62\u5f0f\u3067\u8fd4\u3057\u3066\u304f\u308c\u308bAPI\u3082\u3042\u3063\u305f\u3051\u3069\u306a\u305c\u304b\u305d\u308c\u306b\u3082\u30ea\u30f3\u30afUUID\u304c\u5fc5\u8981\u306a\u305f\u3081\u306b\u3051\u3063\u304d\u3087\u304f\u30b9\u30af\u30ec\u30a4\u30d4\u30f3\u30b0\u304b\u3089\u306f\u9003\u308c\u3089\u308c\u306a\u3044 \r\n### \u4f59\u8ac7\r\n\u30e6\u30fc\u30b6\u30fc\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306fiOS 16.7.5\u306eiPhone8\u3060\u3051\u3069\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u3092\u78ba\u8a8d\u3057\u305f\u5b9f\u6a5f\u306fiOS 14.8 \r\nKyash\u304c\u6700\u8fd1iOS 15\u306e\u30b5\u30dd\u30fc\u30c8\u3092\u7d42\u4e86\u3059\u308b\u3063\u3066\u767a\u8868\u3057\u3066\u305f\u3051\u3069\u3001\u50d5\u306f\u6c38\u9060\u306biOS 14 \r\niOS\u306f2,3\u5e74\u843d\u3061\u306b\u306a\u3063\u305f\u3060\u3051\u3067\u3044\u308d\u3093\u306a\u30a2\u30d7\u30ea\u306b\u5bfe\u5fdc\u3092\u5207\u3089\u308c\u3066\u30b5\u30a4\u30c9\u30ed\u30fc\u30c7\u30a3\u30f3\u30b0\u3082\u308d\u304f\u306b\u3067\u304d\u306a\u3044\u304b\u3089\u5bff\u547d\u304c\u77ed\u3044 (\uff0b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u305f\u3053\u3068\u306e\u306a\u3044\u30a2\u30d7\u30ea\u306fAppStore++\u3067\u3082\u4f7f\u308f\u306a\u3044\u9650\u308a\u904e\u53bb\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3067\u304d\u306a\u3044\u304b\u3089\u4f59\u8a08\u306b) \r\nAndroid\u306a\u3093\u304b\u304c\u3093\u3070\u308c\u3070\u30ed\u30ea\u30dd\u30c3\u30d7\u3067\u3059\u3089\u307e\u3060\u4f7f\u3048\u308b\u306e\u306b (32bit\u306f\u305d\u308d\u305d\u308d\u3061\u3087\u3063\u3068\u304d\u3064\u3044\u304b\u306a\u3041)\r\n## \u30b3\u30f3\u30bf\u30af\u30c8 \r\nDiscord \u30b5\u30fc\u30d0\u30fc / https://discord.gg/aSyaAK7Ktm \r\nDiscord \u30e6\u30fc\u30b6\u30fc\u540d / .taka. \r\n",
"bugtrack_url": null,
"license": null,
"summary": "An API wrapper for the KyashAPI",
"version": "1.3.0",
"project_urls": {
"Homepage": "https://github.com/taka-4602/Kyasher"
},
"split_keywords": [
"kyash"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f863a7e5afd93aecf89d5f6294d6da839bdf0b324fff082655cd3ce509e32708",
"md5": "c66a30e36f0f368337f47e3358b6ebbc",
"sha256": "71caa228650b70cc3e297ff73847413adcbe0833413ae8ab4717a94698d0cb3d"
},
"downloads": -1,
"filename": "Kyasher-1.3.0.tar.gz",
"has_sig": false,
"md5_digest": "c66a30e36f0f368337f47e3358b6ebbc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 6343,
"upload_time": "2024-06-07T18:13:28",
"upload_time_iso_8601": "2024-06-07T18:13:28.862800Z",
"url": "https://files.pythonhosted.org/packages/f8/63/a7e5afd93aecf89d5f6294d6da839bdf0b324fff082655cd3ce509e32708/Kyasher-1.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-07 18:13:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "taka-4602",
"github_project": "Kyasher",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "kyasher"
}