August 13, 2020

Как подключить библиотеку на php по созданию бота для телеграмма?

Как подключить библиотеку на php по созданию бота для телеграмма?

Здравствуйте. Пытаюсь создать антиспамбота для телеграмм-группы. Для этого нужно получить сообщение из группы, проанализировать его кодом-Php и удалить, если он оказывается спамом. Перелопатила гору информации по написанию ботов. Я в этом деле чайник. Мне не понятны самые простые вещи с точки зрения профессионалов. 
Нашла статью на хабре. вот цитата:
"Связываем бота с приложением\сайтом Начинается самое интересное, а также именно тут я столкнулся с первой проблемой.  Первым делом выбираем библиотеку на php по созданию бота. Я свой выбор остановил на этой библиотеке, так как мне она показалась самой удобной. После подключения библиотеки нужно организовать взаимодействие бота с вашим сайтом\приложением."

Вот это "подключения библиотеки" мне совершенно не понятно. КАК подключить библиотеку , которая в ссылке на github-е?
Хотелось бы увидеть конкретную команду этого подключения. И куда команду включать? В код PHP? или куда-то еще?
Прошу помощи.
Заранее спасибо.

Из документации этой библиотеки

Install
Via Composer
$ composer require telegram-bot/api

Что это значит
Автор библиотеки предлагает использовать менеджер зависимостей — composer — для установки его библиотеки.

Вам нужно сделать

1. Изучить как подключаются файлы в php

2. Установить composer. Ссылка

3. Используя composer установить библиотеку. Для этого в консоли, в директории проекта необходимо выполнить команду 

$ composer require telegram-bot/api

4. После этого, в этой же директории у вас появится папка vendor а в ней файл autoload.php

5. В коде вашего бота, в самом начале, вам необходимо подключить этот файл autoload.php используя знания из пункта №1

Смотря что за библиотека (ссылки то нет), как она установлена и где находится на вашей машине. Если установлена через composer — читайте как наротать с ним. Иначе — у библиотеки должен быть корневой файл, который и нужно подключать. В некоторых случаях корневого файла нет, и отдельные функции лежат в отдельных файлах. И тогда нужно подключать соответствующий. А если вам вообще не знакомо как подключать файлы на php — изучите и этот вопрос (команды require и include).

Команды мне знакомы в принципе. Мне не понятен принцип подключения, то есть где что должно находится.
Правильно ли я поняла, что сами файлы библиотеки я должна откуда-то скачать, разместить их на своем сайте , и указывать путь библиотеки , куда помещу эти файлы. ТАК?
И тогда команды require и include будут работать?

В общем вы правы. НО! Именно эту работы выполняет composer. Он скачивает саму библиотеку. Скачивает все дополнительные библиотеки, которые ей нужны для работы. Скачивает весь граф зависимостей. И размещает это всё в папке vendor. После чего генерирует файл autoload.php. Грубо говоря, код в autoload.php выглядит условно так:

include './library-1/main-file.php';
include './library-2/main-file.php';
include './library-3/main-file.php';


Т. е. в autoload.php подключаются все библиотеки, которые вы установили через composer для данного проекта. И вам остаётся подключить только сам autoload.php — и все установленные библиотеки (а в вашем случае только одна) будут подключены автоматически.

Сама папка vendor ни к чему не привязана. Вы вполне можете установить composer на вашей локальной машине, установить в произвольную папку вашу библиотеку, чтобы composer сгенерировал для вас vendor/autoload.php, после чего вы можете взять всю папку vendor, загрузить её на сайт и использовать. В ней просто набор php файлов. Она не будет привязана непосредственно к вашему ПК или к месту установки.

И если ваш проект выглядит вот таким образом


/

- vendor/

- main.php


То подключение будет следующей командой


// main.php

require .'/vendor/autoload.php';