123 lines
3.0 KiB
Markdown
123 lines
3.0 KiB
Markdown
# RYD Client
|
|
Python client library for the **Return YouTube Dislike API**:
|
|
|
|
- [https://returnyoutubedislike.com/](https://returnyoutubedislike.com/)
|
|
- [https://github.com/Anarios/return-youtube-dislike/](https://github.com/Anarios/return-youtube-dislike/)
|
|
|
|
|
|
## Functionality
|
|
- Get votes from a single or a list of YouTube video IDs.
|
|
- Register your user ID by solving the challenge.
|
|
- Cast your vote for a single or a list of YouTube video IDs.
|
|
|
|
## Install
|
|
Download and install the library from [https://pypi.org/project/ryd-client/](https://pypi.org/project/ryd-client/):
|
|
|
|
```shell
|
|
pip install ryd-client
|
|
```
|
|
|
|
## Usage
|
|
Take a look at the command examples below.
|
|
|
|
### Get
|
|
Pass a list of YouTube video IDs and get a list of votes or pass a string of a single YouTube video ID to get a single votes dictionary:
|
|
|
|
```python
|
|
from ryd_client import ryd_client
|
|
|
|
# Examle for a list of IDs
|
|
|
|
result = ryd_client.get(["kxOuG8jMIgI", "CaaJyRvvaq8"])
|
|
|
|
[{'id': 'kxOuG8jMIgI',
|
|
'likes': 27863,
|
|
'dislikes': 509751,
|
|
'rating': 1.2113002641063706,
|
|
'viewCount': 3211800,
|
|
'deleted': False,
|
|
'status': 200},
|
|
{'id': 'CaaJyRvvaq8',
|
|
'likes': 505944,
|
|
'dislikes': 13401,
|
|
'rating': 4.900014260551845,
|
|
'viewCount': 3610078,
|
|
'deleted': False,
|
|
'status': 200}]
|
|
|
|
|
|
# Example for a single ID
|
|
|
|
result = ryd_client.get("kxOuG8jMIgI")
|
|
|
|
{'id': 'kxOuG8jMIgI',
|
|
'likes': 27863,
|
|
'dislikes': 509751,
|
|
'rating': 1.2113002641063706,
|
|
'viewCount': 3211800,
|
|
'deleted': False,
|
|
'status': 200}
|
|
```
|
|
|
|
### Register
|
|
To cast a vote, you need to be registered in the API with your user id. Generate a random user id, one per user, store it in your application and reuse for all future votes from this user.
|
|
|
|
```python
|
|
import ryd_client
|
|
|
|
user_id = ryd_client.generate_user_id()
|
|
|
|
# Returns a random 36 char string of ascii_letters and digits
|
|
'5v3X3mxQOm3fkez8aWsGsEgjpFe0pJNPWIJi'
|
|
|
|
```
|
|
|
|
Register your user_id in the api:
|
|
|
|
```python
|
|
from ryd_client import ryd_client
|
|
|
|
success = ryd_client.register(user_id)
|
|
|
|
# Returns True on success, False on fail
|
|
True
|
|
|
|
```
|
|
|
|
### Post
|
|
Once your `user_id` is registered, you are allowed to vote. Vote on a list or on a single video ID. Pass a list or a single tuple where the first value of the tuple is the video ID and second value is the vote either as `string` or `int`:
|
|
- like: 1
|
|
- dislike: -1
|
|
- neutral: 0 (aka *undo* your previous vote)
|
|
|
|
Strings automatically get converted to the matching number, both are valid:
|
|
|
|
```python
|
|
from ryd_client import ryd_client
|
|
|
|
# Examle for a list of votes
|
|
votes = [
|
|
("kxOuG8jMIgI", "dislike"),
|
|
("CaaJyRvvaq8", 1),
|
|
("CEp5SLT-DJg", 0),
|
|
]
|
|
|
|
response = ryd_client.post(votes, user_id=user_id)
|
|
|
|
[{'id': 'kxOuG8jMIgI', 'status': True, 'vote': -1},
|
|
{'id': 'CaaJyRvvaq8', 'status': True, 'vote': 1},
|
|
{'id': 'CEp5SLT-DJg', 'status': True, 'vote': 0}]
|
|
|
|
# Examle for a single vote
|
|
|
|
vote = ("kxOuG8jMIgI", -1)
|
|
response = ryd_client.post(vote, user_id=user_id)
|
|
|
|
{'id': 'kxOuG8jMIgI', 'status': True, 'vote': -1}
|
|
|
|
```
|
|
|
|
|
|
## Acknowledgement
|
|
If you find this API useful, please consider donating to the [project](https://returnyoutubedislike.com/donate).
|