mirror of
https://github.com/Sysbot-org/tgscraper.git
synced 2025-01-22 08:37:31 +01:00
63 lines
2.1 KiB
Markdown
63 lines
2.1 KiB
Markdown
# TGScraper
|
|
|
|
[![License](http://poser.pugx.org/sysbot/tgscraper/license)](https://packagist.org/packages/sysbot/tgscraper)
|
|
![Required PHP Version](https://img.shields.io/badge/php-%E2%89%A58.0-brightgreen)
|
|
[![Latest Stable Version](http://poser.pugx.org/sysbot/tgscraper/v)](https://packagist.org/packages/sysbot/tgscraper)
|
|
[![Dependencies](https://img.shields.io/librariesio/github/Sysbot-org/tgscraper)](https://libraries.io/github/Sysbot-org/tgscraper)
|
|
[![Code Quality](https://img.shields.io/scrutinizer/quality/g/Sysbot-org/tgscraper)](https://scrutinizer-ci.com/g/Sysbot-org/tgscraper/?branch=master)
|
|
|
|
A PHP library used to extract JSON data (and auto-generate PHP classes)
|
|
from [Telegram bot API documentation page](https://core.telegram.org/bots/api).
|
|
|
|
**Note: the scraper is, obviously, based on a hack and you shouldn't rely on automagically generated files from it,
|
|
since they are prone to errors. I'll try to fix them ASAP, but manual review is always required (at least for now).**
|
|
|
|
## Installation
|
|
|
|
Install the library with composer:
|
|
|
|
```bash
|
|
$ composer require sysbot/tgscraper
|
|
```
|
|
|
|
## Using from command line
|
|
|
|
Once installed, you can use the CLI to interact with the library.
|
|
|
|
For basic help and command list:
|
|
|
|
```bash
|
|
$ vendor/bin/tgscraper help
|
|
```
|
|
|
|
### JSON
|
|
|
|
Extract the latest schema in a human-readable JSON:
|
|
|
|
```bash
|
|
$ vendor/bin/tgscraper app:export-schema --readable botapi.json
|
|
```
|
|
|
|
Or, if you want a Postman-compatible JSON (thanks to [davtur19](https://github.com/davtur19/TuriBotGen/blob/master/postman.php)):
|
|
|
|
```bash
|
|
$ vendor/bin/tgscraper app:export-schema --postman botapi_postman.json
|
|
```
|
|
|
|
### YAML
|
|
|
|
Extract the latest schema in YAML format:
|
|
|
|
```bash
|
|
$ vendor/bin/tgscraper app:export-schema --yaml botapi.yaml
|
|
```
|
|
|
|
### Stubs
|
|
|
|
TGScraper can also generate class stubs that you can use in your library. A sample implementation is available in the [Sysbot Telegram module](https://github.com/Sysbot-org/Sysbot-tg).
|
|
|
|
Create stubs in the `out/` directory using `Sysbot\Api` as namespace prefix:
|
|
|
|
```bash
|
|
$ vendor/bin/tgscraper app:create-stubs --namespace-prefix "Sysbot\Api" out
|
|
``` |