{"id":36859814,"url":"https://github.com/ekkx/yaylib","last_synced_at":"2026-01-12T14:49:10.247Z","repository":{"id":153224670,"uuid":"625138180","full_name":"ekkx/yaylib","owner":"ekkx","description":"nanameue, Inc. - Yay!（イェイ）| API ライブラリ 🛠️","archived":false,"fork":false,"pushed_at":"2025-05-16T15:26:51.000Z","size":4372,"stargazers_count":96,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-05-18T09:40:20.263Z","etag":null,"topics":["api","automation","bot","client","framework","library","nanameue","python","sdk","wrapper","yay"],"latest_commit_sha":null,"homepage":"https://ekkx.github.io/yaylib","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ekkx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-04-08T07:17:25.000Z","updated_at":"2025-05-16T16:28:10.000Z","dependencies_parsed_at":"2023-09-07T00:31:44.184Z","dependency_job_id":"c476be26-ef02-475e-9aec-ea0379edd727","html_url":"https://github.com/ekkx/yaylib","commit_stats":null,"previous_names":["qaov/yaybot","qvco/yaybot","4kkx/yaylib","ekkx/yaylib","qvco/yaylib"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/ekkx/yaylib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekkx%2Fyaylib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekkx%2Fyaylib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekkx%2Fyaylib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekkx%2Fyaylib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ekkx","download_url":"https://codeload.github.com/ekkx/yaylib/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekkx%2Fyaylib/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28340410,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T12:22:26.515Z","status":"ssl_error","status_checked_at":"2026-01-12T12:22:10.856Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","automation","bot","client","framework","library","nanameue","python","sdk","wrapper","yay"],"created_at":"2026-01-12T14:49:09.641Z","updated_at":"2026-01-12T14:49:10.231Z","avatar_url":"https://github.com/ekkx.png","language":"Python","readme":"\u003cdiv\u003e\u003ca id=\"readme-top\"\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/ekkx/yaylib?style=for-the-badge\u0026logo=appveyor\u0026color=blue\" /\u003e\n    \u003cimg src=\"https://img.shields.io/github/forks/ekkx/yaylib?style=for-the-badge\u0026logo=appveyor\u0026color=blue\" /\u003e\n    \u003cimg src=\"https://img.shields.io/github/issues/ekkx/yaylib?style=for-the-badge\u0026logo=appveyor\u0026color=informational\" /\u003e\n    \u003cimg src=\"https://img.shields.io/github/issues-pr/ekkx/yaylib?style=for-the-badge\u0026logo=appveyor\u0026color=informational\" /\u003e\n\u003c/div\u003e\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://ekkx.github.io/yaylib\"\u003e\n        \u003cimg src=\"https://github.com/ekkx/yaylib/assets/77382767/45c45b21-d812-4cad-8f27-315ffef53201\" alt=\"Logo\" height=\"300px\"\u003e\n    \u003c/a\u003e\n    \u003ch3 align=\"center\"\u003eyaylib\u003c/h3\u003e\n    \u003cp align=\"center\"\u003e\n        好きでつながるバーチャルワールド - Yay!（イェイ）の API ライブラリ\u003cbr /\u003e\n        あらゆる操作の自動化や、ボットの開発が可能です。\n        \u003cbr /\u003e\n        \u003cbr /\u003e\n        \u003ca href=\"https://github.com/ekkx/yay.js\"\u003e\n            \u003cstrong\u003eNode.js 版はこちらから »\u003c/strong\u003e\n        \u003c/a\u003e\n        \u003cbr /\u003e\n        \u003cbr /\u003e\n        \u003ca href=\"https://ekkx.github.io/yaylib\"\u003eドキュメント\u003c/a\u003e\n        ·\n        \u003ca href=\"https://github.com/ekkx/yaylib/issues/new\"\u003eバグを報告\u003c/a\u003e\n        ·\n        \u003ca href=\"https://discord.gg/MEuBfNtqRN\"\u003eDiscord に参加\u003c/a\u003e\n    \u003c/p\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n\u003c!-- インストール --\u003e\n\n## [\u003cimg src=\"https://github.com/ekkx/yaylib/assets/77382767/2f632349-0cbc-4c81-bc19-11d24c8c142b\" width=\"30\" height=\"30\" /\u003e](https://github.com/ekkx) Installation\n\n**yaylib** は `pip` コマンドからインストールします。\n\n```shell\npip install yaylib\n```\n\n\u003e [!TIP]\n\u003e 動作条件は `Python 3.10` 以上からです。\n\n\u003cbr\u003e\n\n\u003c!-- 使用例 --\u003e\n\n## [\u003cimg src=\"https://github.com/ekkx/yaylib/assets/77382767/dc7dcea0-c581-4039-8fc2-3994884d2ba3\" width=\"30\" height=\"30\" /\u003e](https://github.com/ekkx) Quick Example\n\n#### ✨ 投稿を作成する\n\n```python\nimport yaylib\n\nbot = yaylib.Client()\nbot.login('your_email', 'your_password')\n\nbot.create_post('Hello with yaylib!')\n```\n\n#### ✨ タイムラインを取得する\n\n```python\nimport yaylib\n\nbot = yaylib.Client()\n\ntimeline = bot.get_timeline(number=100)\n\nfor post in timeline.posts:\n    print(post.user.nickname)  # 投稿者名\n    print(post.text)  # 本文\n    print(post.likes_count)  # いいね数\n    print(post.reposts_count)  # (´∀｀∩)↑age↑の数\n    print(post.in_reply_to_post_count)  # 返信の数\n```\n\n#### ✨ タイムラインをキーワードで検索して「いいね」する\n\n```python\nimport yaylib\n\nbot = yaylib.Client()\nbot.login('your_email', 'your_password')\n\ntimeline = bot.get_timeline_by_keyword(\n    keyword='プログラミング',\n    number=15\n)\n\nfor post in timeline.posts:\n    bot.like(post.id)\n```\n\n#### ✨ 画像と一緒に投稿を作成する\n\n```python\nimport yaylib\n\nbot = yaylib.Client()\nbot.login('your_email', 'your_password')\n\n# 画像のパスを指定\nimage_paths = [\n    './test1.jpg',\n    './test2.jpg',\n    './test3.jpg',\n]\n\n# 画像の使い道を指定\nimage_type = yaylib.ImageType.POST\n\n# サーバー上にアップロード\nattachments = bot.upload_image(image_paths, image_type)\n\n# サーバー上のファイル名を指定する\n# attachmentsが一つ飛ばしなのはオリジナル品質の画像のみを指定するため\nbot.create_post(\n    'Hello with yaylib!',\n    attachment_filename=attachments[0].filename,\n    attachment_2_filename=attachments[2].filename,\n    attachment_3_filename=attachments[4].filename,\n)\n```\n\n#### ✨ 新規ユーザーをフォローする\n\n```python\nimport yaylib\n\nbot = yaylib.Client()\nbot.login('your_email', 'your_password')\n\nnew_users = bot.search_users(recently_created=True)\n\nfor new_user in new_users.users:\n    bot.follow_user(new_user.id)\n```\n\n#### ✨ リアルタイムでチャットを取得する\n\n```python\nimport yaylib\n\nclass ChatBot(yaylib.Client):\n    async def on_ready():\n        print('Botがオンラインになりました！')\n\n    async def on_chat_request(self, total_count):\n        # チャットリクエストを承認し on_message() に送信する\n        chat_requests = await self.chat.get_chat_requests()\n        for chat_room in chat_requests.chat_rooms:\n            await self.chat.accept_chat_requests(chat_room_ids=[chat_room.id])\n        message = await self.chat.get_messages(chat_requests.chat_rooms[0].id)\n        await self.on_message(message[0])\n\n    async def on_message(self, message: yaylib.Message):\n        if message.text == 'ping':\n            await self.chat.send_message(\n                message.room_id,\n                text='pong',\n            )\n\n    async def on_chat_delete(self, room_id):\n        print(f'チャットルームが削除されました。{room_id}')\n\nintents = yaylib.Intents.none()\nintents.chat_message = True\n\nbot = ChatBot(intents=intents)\nbot.run('your_email', 'your_password')\n```\n\nより詳しい使用例については、[ドキュメント](https://ekkx.github.io/yaylib/demo.html)を参照してください。\n\n\u003cbr\u003e\n\n\u003c!-- yaylib で誕生したボットの一覧 --\u003e\n\n## 👑 yaylib で誕生したロボットたち\n\n「yaylib」を用いて開発したロボットがある場合は、ぜひ教えてください！\n\n\u003ctable align=\"center\"\u003e\n    \u003cthead\u003e\n        \u003ctr\u003e\n            \u003cth\u003e\u003ca href=\"https://yay.space/user/5855987\"\u003eMindReader AI\u003c/a\u003e\u003c/th\u003e\n            \u003cth\u003e\u003ca href=\"https://yay.space/user/8271084\"\u003eめいく\u003c/a\u003e\u003c/th\u003e\n            \u003cth\u003e\u003ca href=\"https://yay.space/user/7406336\"\u003eGIGAZINE\u003c/a\u003e\u003c/th\u003e\n        \u003c/tr\u003e\n    \u003c/thead\u003e\n    \u003ctbody\u003e\n        \u003ctr\u003e\n            \u003ctd align=\"center\"\u003e\n                \u003cimg src=\"https://github.com/ekkx/yaylib/assets/77382767/cc41ce3c-0e11-4ec5-be99-ff7090a95667\" width=\"200px\"\u003e\n                \u003cbr /\u003e\n                \u003cp\u003e開発者: \u003ca href=\"https://yay.space/user/35152\"\u003e毛の可能性\u003c/a\u003e\u003c/p\u003e\n            \u003c/td\u003e\n            \u003ctd align=\"center\"\u003e\n                \u003cimg src=\"https://github.com/user-attachments/assets/201cb490-29b7-4dd9-a10f-1b27d999787a\" width=\"200px\"\u003e\n                \u003cbr /\u003e\n                \u003cp\u003e開発者: \u003ca href=\"https://yay.space/user/1173972\"\u003eまぐ\u003c/a\u003e\u003c/p\u003e\n            \u003c/td\u003e\n            \u003ctd align=\"center\"\u003e\n                \u003cimg src=\"https://github.com/ekkx/yaylib/assets/77382767/65fcb885-4fbe-4170-9378-6f8d9af61ff8\" width=\"200px\"\u003e\n                \u003cbr /\u003e\n                \u003cp\u003e開発者: \u003ca href=\"https://yay.space/user/1298298\"\u003eぺゅー\u003c/a\u003e\u003c/p\u003e\n            \u003c/td\u003e\n        \u003c/tr\u003e\n    \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003cbr\u003e\n\n\u003c!-- 共同開発について --\u003e\n\n## 🤝 共同開発について\n\n詳しい **yaylib** の開発参加手順については、[こちら](https://github.com/ekkx/yaylib/blob/develop/CONTRIBUTING.md)を参照してください。\n\n\u003cbr\u003e\n\n\u003c!-- 免責事項 --\u003e\n\n## 📜 免責事項\n\nyaylib は、API の公式なサポートやメンテナンスを提供するものではありません。このクライアントを使用する場合、**利用者はリスクや責任を自己負担できるもの**とします。このクライアントによって提供される情報やデータの正確性、信頼性、完全性、適時性について、いかなる保証も行いません。また、このクライアントの使用によって生じた損害や不利益について、一切の責任を負いかねます。利用者は自己の責任において、このクライアントを使用し、API にアクセスするものとします。なお、この免責事項は予告なく変更される場合があります。\n\n\u003cbr\u003e\n\n\u003c!-- ライセンス --\u003e\n\n## ⚖️ ライセンス\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/ekkx\"\u003e\n    \u003cimg src=\"https://github.com/ekkx/yaylib/assets/77382767/5d6aef18-5d98-4c9b-9f54-791308b393af\" width=\"256\" height=\"256\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eMIT © \u003ca href=\"https://github.com/ekkx\"\u003eekkx\u003c/a\u003e\u003c/strong\u003e\n\u003c/p\u003e\n\nフルライセンスは [こちら](https://github.com/ekkx/yaylib/blob/master/LICENSE) からご確認いただけます。  \nこのプロジェクトは、 **【MIT ライセンス】** の条件の下でライセンスされています。\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eトップに戻る\u003c/a\u003e)\u003c/p\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekkx%2Fyaylib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fekkx%2Fyaylib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekkx%2Fyaylib/lists"}