Skip to main content

同世代と趣味の通話コミュニティ - Yay! (イェイ) で投稿やタイムラインの取得、リツイートやいいねの実行、フォローや投稿の検索など様々な機能をPythonプログラムから利用可能なAPIクライアントツールです。

Project description


Logo

yaylib

好きでつながるバーチャルワールド - Yay!(イェイ)の API ライブラリ
あらゆる操作の自動化や、ボットの開発が可能です。

Node.js 版はこちらから »

ドキュメント · バグを報告 · Discord に参加


Installation

yaylibpip コマンドからインストールします。

pip install yaylib

[!TIP] 動作条件は Python 3.10 以上からです。


Quick Example

✨ 投稿を作成する

import yaylib

bot = yaylib.Client()
bot.login('your_email', 'your_password')

bot.create_post('Hello with yaylib!')

✨ タイムラインを取得する

import yaylib

bot = yaylib.Client()

timeline = bot.get_timeline(number=100)

for post in timeline.posts:
    print(post.user.nickname)  # 投稿者名
    print(post.text)  # 本文
    print(post.likes_count)  # いいね数
    print(post.reposts_count)  # (´∀`∩)↑age↑の数
    print(post.in_reply_to_post_count)  # 返信の数

✨ タイムラインをキーワードで検索して「いいね」する

import yaylib

bot = yaylib.Client()
bot.login('your_email', 'your_password')

timeline = bot.get_timeline_by_keyword(
    keyword='プログラミング',
    number=15
)

for post in timeline.posts:
    bot.like(post.id)

✨ 画像と一緒に投稿を作成する

import yaylib

bot = yaylib.Client()
bot.login('your_email', 'your_password')

# 画像のパスを指定
image_paths = [
    './test1.jpg',
    './test2.jpg',
    './test3.jpg',
]

# 画像の使い道を指定
image_type = yaylib.ImageType.POST

# サーバー上にアップロード
attachments = bot.upload_image(image_paths, image_type)

# サーバー上のファイル名を指定する
# attachmentsが一つ飛ばしなのはオリジナル品質の画像のみを指定するため
bot.create_post(
    'Hello with yaylib!',
    attachment_filename=attachments[0].filename,
    attachment_2_filename=attachments[2].filename,
    attachment_3_filename=attachments[4].filename,
)

✨ 新規ユーザーをフォローする

import yaylib

bot = yaylib.Client()
bot.login('your_email', 'your_password')

new_users = bot.search_users(recently_created=True)

for new_user in new_users.users:
    bot.follow_user(new_user.id)

✨ リアルタイムでチャットを取得する

import yaylib

class ChatBot(yaylib.Client):
    async def on_ready():
        print('Botがオンラインになりました!')

    async def on_chat_request(self, total_count):
        # チャットリクエストを承認し on_message() に送信する
        chat_requests = await self.chat.get_chat_requests()
        for chat_room in chat_requests.chat_rooms:
            await self.chat.accept_chat_requests(chat_room_ids=[chat_room.id])
        message = await self.chat.get_messages(chat_requests.chat_rooms[0].id)
        await self.on_message(message[0])

    async def on_message(self, message: yaylib.Message):
        if message.text == 'ping':
            await self.chat.send_message(
                message.room_id,
                text='pong',
            )

    async def on_chat_delete(self, room_id):
        print(f'チャットルームが削除されました。{room_id}')

intents = yaylib.Intents.none()
intents.chat_message = True

bot = ChatBot(intents=intents)
bot.run('your_email', 'your_password')

より詳しい使用例については、ドキュメントを参照してください。


👑 yaylib で誕生したロボットたち

「yaylib」を用いて開発したロボットがある場合は、ぜひ教えてください!

MindReader AI めいく GIGAZINE

開発者: 毛の可能性


開発者: まぐ


開発者: ぺゅー


🤝 共同開発について

詳しい yaylib の開発参加手順については、こちらを参照してください。


📜 免責事項

yaylib は、API の公式なサポートやメンテナンスを提供するものではありません。このクライアントを使用する場合、利用者はリスクや責任を自己負担できるものとします。このクライアントによって提供される情報やデータの正確性、信頼性、完全性、適時性について、いかなる保証も行いません。また、このクライアントの使用によって生じた損害や不利益について、一切の責任を負いかねます。利用者は自己の責任において、このクライアントを使用し、API にアクセスするものとします。なお、この免責事項は予告なく変更される場合があります。


⚖️ ライセンス

MIT © ekkx

フルライセンスは こちら からご確認いただけます。
このプロジェクトは、 【MIT ライセンス】 の条件の下でライセンスされています。

(トップに戻る)

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yaylib-1.5.4.tar.gz (63.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yaylib-1.5.4-py3-none-any.whl (81.9 kB view details)

Uploaded Python 3

File details

Details for the file yaylib-1.5.4.tar.gz.

File metadata

  • Download URL: yaylib-1.5.4.tar.gz
  • Upload date:
  • Size: 63.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.3 Linux/6.11.0-1014-azure

File hashes

Hashes for yaylib-1.5.4.tar.gz
Algorithm Hash digest
SHA256 efcf671346d26bc80190d028f50bc60c46cde13fff5246768c8f3d5cb25adcba
MD5 d6606e7e448a2110c3002055ed516591
BLAKE2b-256 59cf3876faaebfff4beb24ed3faf59e8ae49634642c842448edb8b9a505cc4ea

See more details on using hashes here.

File details

Details for the file yaylib-1.5.4-py3-none-any.whl.

File metadata

  • Download URL: yaylib-1.5.4-py3-none-any.whl
  • Upload date:
  • Size: 81.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.3 Linux/6.11.0-1014-azure

File hashes

Hashes for yaylib-1.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6763a8acf2e16c3babd000e5724c3c08d9bac0349c753c27599859972cf75bfd
MD5 7490d4798bed48eff050c73ae5cf3219
BLAKE2b-256 3626538bad457cc9a103c3a30128ec09e584c14223704bd515ff16ecf6a3fc31

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page