.idea | ||
assets | ||
src/TgBotLib | ||
tests | ||
.gitignore | ||
.gitlab-ci.yml | ||
LICENSE | ||
Makefile | ||
project.json | ||
README.md |
TgBotLib
TgBotLib is a library for creating Telegram Bots in PHP, based on the Telegram Bot API.
The approach taken by this library is to be as close as possible to the Telegram Bot API, while providing a simple and easy to use interface that is easy to understand and out of your way, allowing you to use the library as a simple wrapper around the API.
Installation
The library can be installed using ncc:
ncc install -p "nosial/libs.tgbot=latest@n64"
or by adding the following to your project.json file under the build.dependencies
section:
{
"name": "net.nosial.tgbotlib",
"version": "latest",
"source_type": "remote",
"source": "nosial/libs.tgbot=latest@n64"
}
If you don't have the n64 source configured, you can add it by running the following command:
ncc source add --name n64 --type gitlab --host git.n64.cc
Usage
- Import the library using
import('net.nosial.tgbotlib');
- Create a new instance of the
TgBotLib\Bot
class, passing the bot token as the first argument - Profit
require 'ncc';
import('net.nosial.tgbotlib');
$bot = new TgBotLib\Bot('<BOT TOKEN>');
/** @var \TgBotLib\Objects\Telegram\Update $update */
foreach ($bot->getUpdates() as $update)
{
$bot->sendMessage($update->getMessage()->getChat()->getId(), 'Hello World!');
}
Each method of the TgBotLib\Bot
class is named after the corresponding method of the Telegram Bot API, all methods
contains an optional $parameters
argument that can be used to pass additional parameters to the API method.
But for methods that has required parameters, the library provides a more convenient way to pass them, by using
named parameters. For example, the sendMessage
method requires the chat_id
and text
parameters, but instead
of passing them as an array, you can pass them as named parameters:
$bot->sendMessage('<CHAT ID>', 'Hello World!', [
'parse_mode' => 'Markdown',
'disable_web_page_preview' => true,
]);
Documentation
Almost everything in the library has PhpDoc documentation, so you can use your IDE to get documentation for the
library. For example, in PhpStorm, you can press Ctrl+Q
on a method to get the documentation for it:
License
This project is licensed under the MIT License - see the LICENSE file for details