Интеграция Telegram-ботов в информационных системах | Статья в журнале «Молодой ученый»

Автор:

Рубрика: Информатика

Опубликовано в Молодой учёный №19 (205) май 2018 г.

Дата публикации: 07.05.2018

Статья просмотрена: 84 раза

Библиографическое описание:

Шафиев Т. Р. Интеграция Telegram-ботов в информационных системах // Молодой ученый. — 2018. — №19. — С. 123-126. — URL https://moluch.ru/archive/205/50050/ (дата обращения: 18.02.2019).



В статье раскрывается понятие о создании Telegram-ботов для автоматизации получения информации с информационных систем. Даются определения информационной системы и интеграции с базой данных. Делается вывод о том, что с помощью ботов можно получить информацию из собственных серверов или облаков, спроектированы запросы для получения конкретных данных и специфики базовых установок.

Автоматизация процессов вузов, как и других отраслей, идет повышенными темпами. Вначале создали маленькие части больших информационных систем, потом их интегрировали друг в друга. Разработка таких систем явилась требованием времени — например, 4–5 тысяч студентов-контрактников должны были каждый семестр стоять в очередях для детализации своих оплаченных денег по контракту. Автоматизация этих процессов улучшила бухгалтерский учет контрактников, но не помогла студентам, они, как и раньше, должны стоять в очереди. Для решения такой проблемы можно воспользоваться Telegram-мессенджером, самым популярным среди студентов.

Telegram-бот может выполнять любые функции, которые может придумать программист. С их помощью можно управлять электронным (умным) домом, регистрировать пользователей для вашей web-страницы, делать рассылку новостей, в целом они имеют неограниченные возможности.

Для создания таких ботов надо иметь Telegram-аккаунт. Напишите в поисковой строке ключевое слово manybot, активируйте бот с отправки командой Start и следуйте инструкциям. Вы создали простой статический бот, теперь его сделаем более умным.

Telegram-бот может читать данные из любых серверов. Для этого нам требуется правильно авторизоваться в нужном сервере и от него получить данные. Первым делом проанализируем структуру базы данных информационной системы, сформируем важные моменты:

– анализируем структуры базы данных информационных систем;

– формируем запросы из базы информационных систем для отображения в боте;

– экспортируем результаты запроса в формат *.csv;

– настроим домен с поддержкой протокола https;

– импортуем данные в базу данных домена;

– с помощю Telegram API сформируем ответ к запросам пользователей.

Вы должны понимать, что с точкей зрения безопасности здесь (в данной статье) невозможно описать структуры информационный системы. Поэтому представим, что в информационный системе вуза есть таблица с данными о платежах студентов-контрактников. Сформируем SQL запрос из базы данных:

SELECT talaba.FIO, talaba.id, guruhlar.guruhnomi, shartnoma.qoldiq,shartnoma.tulov, shartnoma.sana,sharnoma.izoh

FROM talaba INNER JOIN

guruhlar ON talaba.guruh = guruhlar.id INNER JOIN

shartnoma ON talaba.id = shartnoma.talabaid

Экспортируем результаты запроса в табличный формат (можно на *.CSV) и не забываем имена столбцов.

Импортируем результаты в СУБД MySQL. Данные готовы к отправке. Теперь что надо сделать, чтобы эти данные отправились к пользователям?

В процессе создания бота создается специальный токен. Токен — уникальный ключ, по которому Telegram узнает, что это именно вы. То есть это строка, по которой распознается пользователь. После получения токена с помощю Telegram API (Application Programming Interface — прикладной интерфейс программы) вы можете написать программу в следующих языках программирования:

– PHP

– Java

– Node.js

– Python

– C#

– Ruby

Коды API к этим языкам программирования можно получить c портала https://github.com/.

Используя язык программирования PHP, создадим специальный код, который отвечает на запросы пользователей Telegram-бота:

  1. Страница приветствия (telegrambot.php)

include 'database.php';

include 'send.php';

$db=new db();

$send=new send();

$result = json_decode(file_get_contents('php://input'),true);

$chat_id = $result['message']['from']['id'];

$text = $result['message']['text'];

if ($text=='/start')

{

$message="Добро пожаловать в систему. Пожалуйста вводите ваш студенческий код ";

$send->sendmessage($chat_id,$message);

}

else

{

$id=$text;

$message=$db->database($id);

$send->sendmessage($chat_id,$message);

}

?>

  1. Подключение и формирование ответа к запросу(database.php)

class db

{

function database($id){

$link=mysqli_connect(“ваши данные для подключения к базе данных”);

if ($link)

{

// информация для пользователя

return $text;

}

}

?>

  1. Отправка данных (send.php)

class send

{

private $token='your-tokent'; // здесь ваш токен, полученный из Telegram

function sendmessage($chat_id,$text)

{

$url = "https://api.telegram.org/bot".$this->token."/sendMessage?chat_id=".$chat_id."&text=" .urlencode($text)."&parse_mode=html";

file_get_contents($url,true);

}

}

?>

Так выглядит наш рабочий бот:

Рис. 1. Скриншот работы бота

Если вы проанализировали эти коды и имеете общие понятия по базе MySQL и PHP, то вам уже понятен смысл работы бота. Неважно, каким языком программирования вы подключаете бот, важно, как вы будете формировать запросы к базе и отображать эти данные. В заключении можно сказать, если вы знаете структуру базы данных вашей информационной системы, то легко можете создавать такие боты с полезными функциями.

Литература:

  1. Кузнецов М, Симдянов И. PHP 5/6. — Санкт-Петербург: БХБ-Петербург, 2010. — 1024 с.
  2. Шафиев, Т. Р.; Сайгатов, Р. Социальная сеть Телеграм. // Актуальные проблемы преподавания учебного заведения. — Бухара: БухГУ, 2017. — С. 32–35.
Основные термины (генерируются автоматически): API, PHP, INNER, JOIN, данные, язык программирования, структура базы данных, информационная система, CSV, FROM.


Похожие статьи

Асинхронное выполнение SQL-запросов на языке...

Продукт 2, 5€. Для реляционной базы данных мы могли бы написать следующий запрос SQL: SELECT product, SUM(price). Асинхронное выполнение SQL-запросов на языке программирования PHP.

Современные подходы к разработке мобильных приложений для...

База данных: база данных хранения, используемая планировщиком и api. – API — REST API, который предоставляет платформу клиентам.

Асинхронное выполнение SQL-запросов на языке программирования PHP.

Концепция базы данных для системы электронного...

Библиографическое описание: Петухов Р. Н. Концепция базы данных для системы

PL/SQL — это мощный язык программирования, используемый для обращения к базам данных Oracle из различных сред.

select max (COD_PUNKTA_MARCHR) as ma from PUNKT_MARCHRUTA.

Интеграция информационных систем на основе стандартов XML...

WEB, HTTP, PHP, DOS, UNIX, IDS, FTP, пользователь, баз данных, информационная безопасность. Интеграция информационных систем на основе стандартов XML и...

Применение хранимых процедур в Entity Framework

from Student s Inner Join GroupStudent g ON s.GroupId=g.Id. where s.GroupId=@GId.

Контроль изменений в структуре базы данных (БД), с.

– М.: Вильямс, 2008, – 720 с. 2. Виейра Р. Программирование баз данных Microsoft SQL Server 2008.

Использование современных СУБД в информационных...

Структура базы данных для информационной системы была разработана в среде MS Access 2007. Разработанная ИС позволила значительно снизить временные затраты на поиск информации, сократить объем бумажной документации...

Компьютерная технология автоматизирования информационной...

Язык SQL — это язык выполнения запросов для базы данных.

В третьих, в структуре запросов (не только базы данных), больше примуществ, чем в программировании, этому может быть примером технология LINQ — (Language Integrated Query).

Автоматизированная разработка базы данных Oracle с помощью...

При проектировании информационных систем большую часть времени занимает трудоемкий процесс построения модели базы данных, во время которого можно

Программа обладает понятным графическим интерфейсом с наглядным отображением структуры данных модели.

Обсуждение

Социальные комментарии Cackle

Похожие статьи

Асинхронное выполнение SQL-запросов на языке...

Продукт 2, 5€. Для реляционной базы данных мы могли бы написать следующий запрос SQL: SELECT product, SUM(price). Асинхронное выполнение SQL-запросов на языке программирования PHP.

Современные подходы к разработке мобильных приложений для...

База данных: база данных хранения, используемая планировщиком и api. – API — REST API, который предоставляет платформу клиентам.

Асинхронное выполнение SQL-запросов на языке программирования PHP.

Концепция базы данных для системы электронного...

Библиографическое описание: Петухов Р. Н. Концепция базы данных для системы

PL/SQL — это мощный язык программирования, используемый для обращения к базам данных Oracle из различных сред.

select max (COD_PUNKTA_MARCHR) as ma from PUNKT_MARCHRUTA.

Интеграция информационных систем на основе стандартов XML...

WEB, HTTP, PHP, DOS, UNIX, IDS, FTP, пользователь, баз данных, информационная безопасность. Интеграция информационных систем на основе стандартов XML и...

Применение хранимых процедур в Entity Framework

from Student s Inner Join GroupStudent g ON s.GroupId=g.Id. where s.GroupId=@GId.

Контроль изменений в структуре базы данных (БД), с.

– М.: Вильямс, 2008, – 720 с. 2. Виейра Р. Программирование баз данных Microsoft SQL Server 2008.

Использование современных СУБД в информационных...

Структура базы данных для информационной системы была разработана в среде MS Access 2007. Разработанная ИС позволила значительно снизить временные затраты на поиск информации, сократить объем бумажной документации...

Компьютерная технология автоматизирования информационной...

Язык SQL — это язык выполнения запросов для базы данных.

В третьих, в структуре запросов (не только базы данных), больше примуществ, чем в программировании, этому может быть примером технология LINQ — (Language Integrated Query).

Автоматизированная разработка базы данных Oracle с помощью...

При проектировании информационных систем большую часть времени занимает трудоемкий процесс построения модели базы данных, во время которого можно

Программа обладает понятным графическим интерфейсом с наглядным отображением структуры данных модели.

Задать вопрос