All Projects → TelegramBot → Api

TelegramBot / Api

Licence: mit
Native PHP Wrapper for Telegram BOT API

Projects that are alternatives of or similar to Api

Core
PHP Telegram Bot based on the official Telegram Bot API
Stars: ✭ 2,899 (+306.02%)
Mutual labels:  bot-api, telegram-bot, sdk
Mypackbot
🤖 Your own unlimited pack of Telegram-stickers
Stars: ✭ 18 (-97.48%)
Mutual labels:  bot-api, telegram-bot
Telegram Bot Sdk
🤖 Telegram Bot API PHP SDK. Lets you build Telegram Bots easily! Supports Laravel out of the box.
Stars: ✭ 2,212 (+209.8%)
Mutual labels:  telegram-bot, sdk
Mattata
A powerful, plugin-based, multi-purpose Telegram bot designed to serve a wide variety of purposes
Stars: ✭ 107 (-85.01%)
Mutual labels:  bot-api, telegram-bot
Jda
Java wrapper for the popular chat & VOIP service: Discord https://discord.com
Stars: ✭ 2,598 (+263.87%)
Mutual labels:  api-wrapper, bot-api
Telegram Api
Complete async capable Telegram bot API implementation for PHP7
Stars: ✭ 650 (-8.96%)
Mutual labels:  bot-api, telegram-bot
grouphelperbot
A Telegram Bot made to help group admins, with Italian/English support.
Stars: ✭ 26 (-96.36%)
Mutual labels:  telegram-bot, bot-api
Pytelegrambotapi
Python Telegram bot api.
Stars: ✭ 4,986 (+598.32%)
Mutual labels:  bot-api, telegram-bot
telegram
📚 Golang bindings for Telegram API
Stars: ✭ 15 (-97.9%)
Mutual labels:  telegram-bot, bot-api
Telegram
✈️ Telegram Notifications Channel for Laravel
Stars: ✭ 450 (-36.97%)
Mutual labels:  bot-api, telegram-bot
Telegraf
Modern Telegram Bot Framework for Node.js
Stars: ✭ 5,178 (+625.21%)
Mutual labels:  bot-api, telegram-bot
Graphql
Simple low-level GraphQL HTTP client for Go
Stars: ✭ 682 (-4.48%)
Mutual labels:  sdk
Telegram Bot
Rust Library for creating a Telegram Bot
Stars: ✭ 633 (-11.34%)
Mutual labels:  telegram-bot
Wechat Php Sdk
PHP微信SDK(微信平台 + 微信支付)
Stars: ✭ 637 (-10.78%)
Mutual labels:  sdk
Botbuilder Dotnet
Welcome to the Bot Framework SDK for .NET repository, which is the home for the libraries and packages that enable developers to build sophisticated bot applications using .NET.
Stars: ✭ 631 (-11.62%)
Mutual labels:  sdk
Itext7 Dotnet
iText 7 for .NET is the .NET version of the iText 7 library, formerly known as iTextSharp, which it replaces. iText 7 represents the next level of SDKs for developers that want to take advantage of the benefits PDF can bring. Equipped with a better document engine, high and low-level programming capabilities and the ability to create, edit and enhance PDF documents, iText 7 can be a boon to nearly every workflow.
Stars: ✭ 698 (-2.24%)
Mutual labels:  sdk
Alexa Skills Kit Sdk For Python
The Alexa Skills Kit SDK for Python helps you get a skill up and running quickly, letting you focus on skill logic instead of boilerplate code.
Stars: ✭ 678 (-5.04%)
Mutual labels:  sdk
Sdk
Evolve the Android notification experience of existing apps, with community-driven plug-ins.
Stars: ✭ 632 (-11.48%)
Mutual labels:  sdk
Webworldwind
The NASA WorldWind Javascript SDK (WebWW) includes the library and examples for creating geo-browser web applications and for embedding a 3D globe in HTML5 web pages.
Stars: ✭ 628 (-12.04%)
Mutual labels:  sdk
Countly Sdk Android
Countly Product Analytics Android SDK
Stars: ✭ 626 (-12.32%)
Mutual labels:  sdk

PHP Telegram Bot Api

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

An extended native php wrapper for Telegram Bot API without requirements. Supports all methods and types of responses.

Bots: An introduction for developers

Bots are special Telegram accounts designed to handle messages automatically. Users can interact with bots by sending them command messages in private or group chats.

You control your bots using HTTPS requests to bot API.

The Bot API is an HTTP-based interface created for developers keen on building bots for Telegram. To learn how to create and set up a bot, please consult Introduction to Bots and Bot FAQ.

Installation

Via Composer

$ composer require telegram-bot/api

Usage

See example DevAnswerBot (russian).

API Wrapper

Send message

$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN');

$bot->sendMessage($chatId, $messageText);

Send document

$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN');

$document = new \CURLFile('document.txt');

$bot->sendDocument($chatId, $document);

Send message with reply keyboard

$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN');

$keyboard = new \TelegramBot\Api\Types\ReplyKeyboardMarkup(array(array("one", "two", "three")), true); // true for one-time keyboard

$bot->sendMessage($chatId, $messageText, null, false, null, $keyboard);

Send message with inline keyboard

$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN');

$keyboard = new \TelegramBot\Api\Types\Inline\InlineKeyboardMarkup(
            [
                [
                    ['text' => 'link', 'url' => 'https://core.telegram.org']
                ]
            ]
        );
        
$bot->sendMessage($chatId, $messageText, null, false, null, $keyboard);

Send media group

$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN');

$media = new \TelegramBot\Api\Types\InputMedia\ArrayOfInputMedia();
$media->addItem(new TelegramBot\Api\Types\InputMedia\InputMediaPhoto('https://avatars3.githubusercontent.com/u/9335727'));
$media->addItem(new TelegramBot\Api\Types\InputMedia\InputMediaPhoto('https://avatars3.githubusercontent.com/u/9335727'));
// Same for video
// $media->addItem(new TelegramBot\Api\Types\InputMedia\InputMediaVideo('http://clips.vorwaerts-gmbh.de/VfE_html5.mp4'));
$bot->sendMediaGroup($chatId, $media);

Client

require_once "vendor/autoload.php";

try {
    $bot = new \TelegramBot\Api\Client('YOUR_BOT_API_TOKEN');
    // or initialize with botan.io tracker api key
    // $bot = new \TelegramBot\Api\Client('YOUR_BOT_API_TOKEN', 'YOUR_BOTAN_TRACKER_API_KEY');
    

    //Handle /ping command
    $bot->command('ping', function ($message) use ($bot) {
        $bot->sendMessage($message->getChat()->getId(), 'pong!');
    });
    
    //Handle text messages
    $bot->on(function (\TelegramBot\Api\Types\Update $update) use ($bot) {
        $message = $update->getMessage();
        $id = $message->getChat()->getId();
        $bot->sendMessage($id, 'Your message: ' . $message->getText());
    }, function () {
        return true;
    });
    
    $bot->run();

} catch (\TelegramBot\Api\Exception $e) {
    $e->getMessage();
}

Botan SDK (not supported more)

Botan is a telegram bot analytics system based on Yandex.Appmetrica. In this document you can find how to setup Yandex.Appmetrica account, as well as examples of Botan SDK usage.

Creating an account

  • Register at http://appmetrica.yandex.com/
  • After registration you will be prompted to create Application. Please use @YourBotName as a name.
  • Save an API key from settings page, you will use it as a token for Botan API calls.
  • Download lib for your language, and use it as described below. Don`t forget to insert your token!

Since we are only getting started, you may discover that some existing reports in AppMetriсa aren't properly working for Telegram bots, like Geography, Gender, Age, Library, Devices, Traffic sources and Network sections. We will polish that later.

SDK usage

Standalone

$tracker = new \TelegramBot\Api\Botan('YOUR_BOTAN_TRACKER_API_KEY');

$tracker->track($message, $eventName);

API Wrapper

$bot = new \TelegramBot\Api\BotApi('YOUR_BOT_API_TOKEN', 'YOUR_BOTAN_TRACKER_API_KEY');

$bot->track($message, $eventName);

You can use method 'getUpdates()'and all incoming messages will be automatically tracked as Message-event.

Client

$bot = new \TelegramBot\Api\Client('YOUR_BOT_API_TOKEN', 'YOUR_BOTAN_TRACKER_API_KEY');

All registered commands are automatically tracked as command name

Change log

Please see CHANGELOG for more information what has changed recently.

Testing

$ composer test

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].