【Yay!】ついに API が公開!投稿やいいねを自動化してみた!
こんにちは! p と申します(^^)
公式アカウント
皆さんは、最近 Yay!の API が公開されたことをご存知ですか?
この API が公開されたことによって Yay!を自動化したり、ボットの開発ができるようになりました。
この記事では、API を使用して Yay!を自動化する方法をプログラミング初心者の方にもわかりやすく解説していきます。
そもそもAPIとは?
API とは、外部のアプリケーションが Yay!の機能やデータを利用できるようにする仕組みを指しています。 Yay!のサイトやアプリを利用せずとも、外部のアプリケーションを通じて、投稿する、タイムラインを取得する、いいねする、リツイートするなどの操作を行うことができます。
この Yay!の API を開発、そして公開したのは前回の記事で紹介した、投稿から性格を診断してくれるボット「MindReader AI」の開発者である毛の可能性さんと、プログラマーのKonnさんです。
APIの使い方
Yay!の API を利用するには、「yaylib」というツールをインストールする必要があります。以下が大まかなインストール手順です。
1. GitHub のアカウントを作成する(無料)
2. yaylib のプロジェクトをスターする
3. yaylib をインストールする
それぞれ順を追って解説します。
GitHub のアカウントを作成する(無料)
1.GitHub とは世界中の様々なプログラムが集まる Web サービスです。
既に GitHub のアカウントを所持している方は、「yaylib のプロジェクトをスターする」に進んでください。
GitHub アカウントの登録方法は、以下の記事を参考にしてください。
2. yaylib のプロジェクトをスターする
GitHub のアカウント登録が完了したら、以下のリンクから「yaylib」をスターする必要があります。
https://github.com/qvco/yaylib
スターは画面上部の右側に星ボタン
3. yaylib をインストールする
これで準備が整ったので、さっそく「yaylib」をインストールしていきます。
今回の記事では、難しい環境構築をスキップできる「Repl」というブラウザ上のコーディングツールを使用して解説します。
Repl の登録は以下のリンクから行ってください。
登録が完了したらホーム画面の左上にある「Create Repl」というボタンをクリックします。
すると以下のようなメニューが出てくるので、言語は、① Python を選択し、「Create Repl」をクリックしてプロジェクトを作成します。
そうすると、以下のような画面になると思います。
右側の黒い画面、「Shell」のタブで、pip install yaylib
と入力して「yaylib」のインストールを開始します。
ズラーっと出てきた最後らへんの文字に「Successfully installed」と「yaylib」という文字が表示されていれば、インストール完了です。
Yay!のタイムラインをプログラムから取得してみる
「yaylib」を用いると、とても簡単なコードで Yay!を自動化することができます。
以下のコードでは Yay!のタイムラインを取得して投稿者の名前と、投稿本文を表示します。
右側の黒い画面、「Console」のタブで実行結果を見ることができます。
ちゃんとデータが取得できていますね!
※ コピペ用のコード
import yaylib # yaylibを使用しますという宣言
api = yaylib.Client() # yaylibを使う前のおまじない(yaylibの初期設定)
timeline = api.get_timeline() # タイムラインを取得
for post in timeline.posts: # タイムラインの投稿を一つずつ取り出す
print('投稿者の名前: ' + post.user.nickname)
print('投稿本文: ' + post.text)
ハッシュタグで検索して、「いいね」してみる
タイムラインをもちろん、「yaylib」では情報を取得するだけでなく、アクションを実行することもできます。
以下のコードでは、「いいねでレター」というハッシュタグがついた投稿を取得し、「いいね」します。
先程のコードと違うのは、最初にログインする必要があることです。
「2023-06-25...」と赤く表示されているところが、「いいね」のアクションの実行結果です。
スマホのアプリなどでログインしてみると、いいねできていることが確認できます。
※ コピペ用のコード
import yaylib # yaylibを使用しますという宣言
api = yaylib.Client() # yaylibを使う前のおまじない(yaylibの初期設定)
api.login(email="メールアドレス",
password="パスワード") # ログイン
timeline = api.get_timeline_by_hashtag('いいねでレター') # 「いいねでレター」でハッシュタグを検索
for post in timeline.posts: # タイムラインの投稿を一つずつ取り出す
print('投稿者の名前: ' + post.user.nickname)
print('投稿本文: ' + post.text)
api.like_posts(post.id) # 「いいね」する
自動投稿したり、ボットを作成する方法
他にもたくさん紹介したいところですが、記事が長くなりすぎるので、今回の紹介は以上にさせていただきます。
もっと詳しい機能の種類や内容は、「yaylib」の公式ドキュメントを参考にしてください。
また、「yaylib」のDiscordサーバーに参加すると、使い方がわからない場合には質問したり、開発メンバーの一員として携わることもできるそうです。
まとめ
以上が「yaylib」を使って、Yay!を自動化する方法の解説でした。
「yaylib」を使用する上で気をつけて頂きたい点としては、いいねやレターのやり過ぎや、タイムラインなどの膨大なデータの取得です。一般ユーザーが気持ちよく利用するためにも、そういったことはなるべく避けるようにしましょう。
また、そのようなことが原因でアカウントが Ban されてしまっても、完全に自己責任でお願いします。
「yaylib」は、Yay!の全ての機能を網羅しているので、アイデアさえあれば、どんな面白いボットでも作れてしまいます。
これから Yay!というアプリがユーザーの手によって、どのように進化していくのかすごく楽しみですね!