Skip to content

Библиотека для взаимодействия с Telegram Bot API

Notifications You must be signed in to change notification settings

pallid/telegrambot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

telegrambot

Библиотека для взаимодействия с Telegram Bot API

Установка telegrambot


Первый способ - установить через opm:

$ opm install telegrambot

Второй способ - скачать нужный релиз (https://github.com/pallid/telegrambot/releasess) и установить вручную:

$ opm install -f "path/to/file.ospx"

где path/to/file.ospx - путь к файлу реализа пакета для onescript.

Пример

Пример реализации telegram bot на oscript-web

Демо бот

Библиотека к вашему проекту подключается с помощью директивы #Использовать telegrambot. После этого в области видимости скрипта будет доступен класс ТелеграмБот и модуль ТелеграмАПИ:


Бот = Новый ТелеграмБот;
Бот.УстановитьТокенАвторизации("ТВОЙ_ТОКЕН_БОТА");
Бот.УстановитьВебхук("ТВОЙ_АДРЕС_ДЛЯ_ХУКОВ");

///

ОбъектЗапрос = ПарсерJSON.ПрочитатьJSON(ТекстТелаЗапроса);
      
Если ОбъектЗапрос["message"] <> Неопределено Тогда
            
    ТекстСообщения = ОбъектЗапрос["message"]["text"];
    ПолучательИД = ОбъектЗапрос["message"]["chat"]["id"];

    Если ТекстСообщения = "/start" тогда
                  
        ТекстСообщения = "Привет, в низу меню для навигации";       
        Сообщение = ТелеграмАПИ.НовоеСообщение(ПолучательИД, ТекстСообщения);
        ТелеграмАПИ.ДобавитьКлавиатуру(Сообщение, ГлавноеМеню());
        Результат = Бот.Отправить(Сообщение); 
            
    КонецЕсли;      
            
КонецЕсли; 

///

Ответ = Новый РезультатДействияСодержимое();
Ответ.КодСостояния = 200;
Ответ.ТипСодержимого = "application/json;charset=UTF-8";
Ответ.Содержимое = Результат["ok"];
      
Возврат Ответ;

Функция ГлавноеМеню()

	КомандаКаталог = ТелеграмАПИ.НоваяКнопка("Каталог");
	КомандаКорзина = ТелеграмАПИ.НоваяКнопка("Корзина");

	ПервыйРяд = ТелеграмАПИ.ПолучитьРядКнопок(КомандаКаталог, КомандаКорзина);

	КомандаНашТелегон 	 = ТелеграмАПИ.НоваяКнопка("Наш телефон");
	КомандаЛичныйКабинет = ТелеграмАПИ.НоваяКнопка("Личный кабинет");

	ВторойРяд = ТелеграмАПИ.ПолучитьРядКнопок(КомандаНашТелегон, КомандаЛичныйКабинет);

	МассивРядов = ТелеграмАПИ.ПолучитьМассивРядовДляКлавиатуры(ПервыйРяд, ВторойРяд);

	Возврат ТелеграмАПИ.ПолучитьКлавиатуру(МассивРядов);

КонецФункции


На текущий момент реализовано получение данных только через WebHooks.

Разработка ведется в репозитории oscript-library/telegrambot по Git Flow. Ждем ваши PR и Issues.

Контрибьюторы:

Andreas Mehlsen Карим Шакиров
Василий Попов Карим Шакиров
Создатель Мейнтейнер