A PHP library used to extract JSON data (and auto-generate PHP classes) from Telegram bot API documentation page.
Go to file
2021-07-24 20:01:43 +02:00
bin CLI refactoring, Postman support, breaking changes 2021-07-24 17:27:47 +02:00
src Fixed broken link 2021-07-24 20:01:43 +02:00
.dockerignore Added YAML and (partial) Docker support 2021-06-23 17:03:12 +02:00
.gitignore Added YAML and (partial) Docker support 2021-06-23 17:03:12 +02:00
composer.json CLI refactoring, Postman support, breaking changes 2021-07-24 17:27:47 +02:00
composer.lock CLI refactoring, Postman support, breaking changes 2021-07-24 17:27:47 +02:00
Dockerfile Added YAML and (partial) Docker support 2021-06-23 17:03:12 +02:00
LICENSE Updated project license 2021-06-17 18:05:04 +02:00
README.md Updated README 2021-07-24 19:07:33 +02:00

TGScraper

License Required PHP Version Latest Stable Version Dependencies Code Quality

A PHP library used to extract JSON data (and auto-generate PHP classes) from Telegram bot API documentation page.

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:

  $ 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:

  $ vendor/bin/tgscraper help

JSON

Extract the latest schema in a human-readable JSON:

  $ vendor/bin/tgscraper app:export-schema --readable botapi.json

Or, if you want a Postman-compatible JSON (thanks to davtur19):

  $ vendor/bin/tgscraper app:export-schema --postman botapi_postman.json

YAML

Extract the latest schema in YAML format:

  $ 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 API module.

Create stubs in the out/ directory using Sysbot\Api as namespace prefix:

  $ vendor/bin/tgscraper app:create-stubs --namespace-prefix "Sysbot\Api" out