Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

ekkx/yaylib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commits
 
 
 
 
 
 
 
 

Repository files navigation


Logo

yaylib

同世代とつながる通話コミュニティ - Yay!(イェイ)の API ライブラリ
あらゆる操作の自動化や、ボットの開発が可能です。

Node.js 版はこちらから »

Report Bug · Request Feature · Join the discord

利用者の皆様へ
> 2024 年 5 月 1 日をもちまして、「好きでつながるバーチャルワールド Yay!(イェイ)」のライブラリである yaylib 及び yay.js のソースコードは一時的に非公開となります。それに伴い、これらのライブラリのアップデートやメンテナンスも一時停止いたします。
利用者の皆様にはご迷惑をおかけしますがご理解のほどよろしくお願いいたします。

連絡先: nikola.desuga@gmail.com

Table of Contents
  1. Buy me a coffee
  2. インストール
  3. 使用例
  4. yaylib で誕生したロボットたち
  5. 共同開発について
  6. 免責事項
  7. 利用許諾

Buy me a coffee

このライブラリが気に入っていただけたら、リポジトリにスターをお願いします(⭐)
また、Buy Me a Coffee からご支援いただけますと幸いです。

Buy Me A Coffee

Quick Example

✨ 投稿を作成する

import yaylib

client = yaylib.Client()
client.login(email="your_email", password="your_password")

client.create_post("Hello with yaylib!")

✨ 埋め込みリンクの投稿を作成する

import yaylib

client = yaylib.Client()
client.login(email="your_email", password="your_password")

client.create_post("Hello with yaylib!", shared_url="https://github.com/ekkx/yaylib")

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

import yaylib

client = yaylib.Client()
client.login(email="your_email", password="your_password")

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

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

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

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

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

import yaylib

client = yaylib.Client()

timeline = client.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

client = yaylib.Client()
client.login(email="your_email", password="your_password")

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

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

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

import yaylib

client = yaylib.Client()
client.login(email="your_email", password="your_password")

new_users = client.search_users(recently_created=True)

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

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

import yaylib
from yaylib import Message

class MyBot(yaylib.Client):
    def on_ready(self):
        print("ボットがオンラインになりました!")

    def on_chat_request(self, total_count):
        # チャットリクエストはすべて承認する
        chat_requests = self.get_chat_requests()
        for chat_room in chat_requests.chat_rooms:
            self.accept_chat_requests([chat_room.id])

        # 最新のメッセージをon_message_create関数に送信
        message = self.get_messages(chat_requests.chat_rooms[0].id)
        self.on_message_create(message[0])

    def on_message_create(self, message: Message):
        # 「ping」というメッセージに対して「pong」と返信する
        if message.text == "ping":
            self.send_message(message.room_id, text="pong")

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

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

bot = MyBot(intents=intents)
bot.run("your_email", "your_password")

より詳しい使用例については、こちら を参照してください。

(トップに戻る)

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

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

MindReader AI ☀️気象くん☁️ GIGAZINE

開発者: 毛の可能性


開発者: tori


開発者: ぺゅー

免責事項

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

ライセンス

MIT © ekkx

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

(トップに戻る)