A PHP library used to extract JSON data (and auto-generate PHP classes) from Telegram bot API documentation page.
Go to file
2021-08-24 13:12:47 +02:00
.github/workflows Fixed image tag in workflow 2021-08-24 13:12:47 +02:00
bin OpenAPI, changelog, cache package support 2021-08-23 13:12:50 +02:00
docs OpenAPI, changelog, cache package support 2021-08-23 13:12:50 +02:00
src Minor fixes 2021-08-23 14:09:45 +02:00
templates OpenAPI, changelog, cache package support 2021-08-23 13:12:50 +02:00
.dockerignore Automatic Docker build, abstract classes implementation in stubs 2021-07-30 00:25:07 +02:00
.gitignore Added YAML and (partial) Docker support 2021-06-23 17:03:12 +02:00
CHANGELOG.md Fixed image tag in workflow 2021-08-24 13:12:47 +02:00
composer.json OpenAPI, changelog, cache package support 2021-08-23 13:12:50 +02:00
composer.lock OpenAPI, changelog, cache package support 2021-08-23 13:12:50 +02:00
Dockerfile OpenAPI, changelog, cache package support 2021-08-23 13:12:50 +02:00
LICENSE Updated project license 2021-06-17 18:05:04 +02:00
README.md Minor fixes 2021-08-23 14:09:45 +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.

Changelog

Interested in recent changes? Have a look here!

Installation

Install the library with composer:

  $ composer require sysbot/tgscraper --prefer-stable

(Optional) Install the cache package:

  $ composer require sysbot/tgscraper-cache

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

OpenAPI

Extract the latest OpenAPI schema in JSON format:

  $ vendor/bin/tgscraper app:export-schema --openapi botapi_openapi.json

Or, if you prefer YAML:

  $ vendor/bin/tgscraper app:export-schema --openapi --yaml botapi_openapi.yaml

Stubs

Note: since Telegram may change the page format at any time, do NOT rely on the automagically generated stubs from this library, ALWAYS review the code!

TGScraper can also generate class stubs that you can use in your library. A sample implementation is available in the Sysbot Telegram module.

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

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

Custom format

If you're interested in the custom format generated by TGScraper, you can find its schema here.