PTORR-API
Welcome to PTORR-API, a RESTful API for torrents!
NOTE: This Project is just for educational purpose (of mine), It doesn't encourage the pirated content avaiable on the internet!
INDEX
- Hosting API locally
- Setting up development enviornment
- Modules used
- Route Methods
- To contribute to the project
Hosting the API locally:
NOTE: To replicate, you will need CREDENTIALS. Go get yours at by signing up here (If you need help with this step, feel free to ask for help in our Support Server
- Clone this repo using
git clone
- cd into the bot folder.
- Add the token in a
.env
file in the project root as follows:
UNAME=<your username>
PSWRD=<your password>
- Install the
pipenv
viapip install pipenv
and then run:
pipenv install
- Enjoy!
- You may do bug-reporting or ask for help in on the SupportServer... or just open an issue on this repo.
How to set up the development environment
Requirements:
- git
- pip
- python
3.8.6
or higher
-
Fork and clone the repository with
git clone https://github.com/<your-username>/ptorr-api
-
Get to the clone directory using the command
cd ptorr-api
-
Copy the contents of the
.env.sample
file into a new file -.env
and add your DISCORD bot token in there. -
Now follow these steps
(Requires pipenv) - Install pipenv
- Runpipenv sync --dev
to install project dependencies and development dependencies
- Runpipenv run start
to run the bot.
- For downloading more libraries, usepipenv install <package-name>
- If you're adding any development-dependencies, use->pipenv install <package-name> --dev
\
How to contribute
Before contributing, here is some information that might help your PR (Pull Request) get merged.
Note: For more detailed information about how to contribute, please refere to the CONTRIBUTING.md file.
To contribute changes follow these steps:
Note: Make sure you have been assigned the issue to which you are making a PR. If you make PR before being assigned, It will be labeled invalid and closed without merging.
- Add a upstream link to main branch in your cloned repo
git remote add upstream https://github.com/pvcodes/pi_bot.git
- Keep your cloned repo upto date by pulling from upstream (this will also avoid any merge conflicts while committing new changes)
git pull upstream master
- Create your feature branch
git checkout -b <feature-name>
- Commit all the changes
git commit -am "Meaningful commit message"
- Push the changes for review
git push origin <branch-name>
- Create a PR from our repo on Github.
How to report a bug
Submit an issue on GitHub and add as much information as you can about the bug, with screenshots of inputs to the bot and bot response if possible (if the issue is regarding bugs).
Stack:
- python 3
- requests
- BeautifulSoup4
Methods
Response Object Example:
-
SUCCESS RESPONSE
For /key method
{
"_status": "OK",
"result": [
{
"id": "torr-id",
"title": "torr-tile",
}
]
}
For /info method
{
"_status": "OK",
"result": [
{
"title": "torr-tile",
"size": "torr-size",
"imdb": "torr's imdb link",
"plot" : "torr's plot",
"director":[],
"writer":[],
"cast":[]
}
]
}
-
ERROR RESPONSE
{
"_status": "ERROR",
"result": [
"message" : "Error Message"
]
}
➮ Get Torrs :
Returns json data containing the torr id's and title's.
-
URL
/key=keyword&maxCount=max_reponse_object
-
Method:
GET
-
URL Params
Required:
keyword=[string]
ork=[string]
Optional:
maxCount=[integer]
ormx=[integer]
➮ Get Recent Torrs :
Returns json data containing the torr id's and title's.
-
URL
/recent or /r
-
Method:
GET
-
URL Params
- No Params required.
➮ Get Torrs Info :
Returns json data containing the torr details.
-
URL
/info or /i
-
Method:
GET
-
URL Params
Required
torr-id=[string]
➮ Download Torr :
Returns a torrent file to