grozapreriy
@grozapreriy
Начинающий программист

Как получить ответ от Telegram Bot по условию из Access?

Доброго времени суток, коллеги! С PHP я (к сожалению) не знаком и скриптину написать сходу не могу. В корпоративных нуждах мне поставлена непростая задача по написанию Telegram Бота. Пыжусь, тужусь, но выходит совсем криво. Первый раз в жизни решился написать на форум.
Суть такая: может кто-нибудь сказать как по условию (пишем боту номер вагона), получать ответ бота из Access (по введенному номеру вагона бот выдает его местоположение). Есть БД с номерами вагонов и соответствующей дислокацией.
  • Вопрос задан
  • 1069 просмотров
Пригласить эксперта
Ответы на вопрос 1
glebovgin
@glebovgin
Full Stack Web Developer
День добрый.

1. Читайте обязательно документацию https://core.telegram.org/bots/api Без нее никуда.
2. Вот супер-простой бот на php
<?php
$botToken = 'ВАШ_ТОКЕН';
$website = 'https://api.telegram.org/bot' . $botToken;

$content = file_get_contents('php://input');
$update = json_decode($content, TRUE);
$message = $update['message'];

$chat_id = $message['chat']['id'];
$text = $message['text'];

$callback_query = $update['callback_query'];
$cq_data = $callback_query['data'];
$message_id = $callback_query['message']['message_id'];
$chat_id_in = $callback_query['message']['chat']['id'];

$params = array();
$params['chat_id'] = $chat_id;
$params['disable_web_page_preview'] = true;

if ($text === '/start') 
{
	$out_message = 'Привет' . (isset($message['from']['username']) ? ', ' . $message['from']['username'] : '' ) . '!
			     Я очень полезный бот.';
} elseif($text === '/command1') 
{
	$out_message = 'Ответ на вторую команду вот такой';
} elseif($text === '/command2') 
{
	$out_message = 'Я получил от вас команду 2';
} else 
{
	$out_message = 'Эта команда мне пока что непонятна.';
}

if(isset($out_message))
{
	$params['text'] = $out_message;
	$params['parse_mode'] = 'HTML';
	send($website, '/sendMessage', $params);
}

function send($website, $method = '/sendMessage', $params)
{
	$ch = curl_init($website . $method);
	curl_setopt($ch, CURLOPT_HEADER, false);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_POST, 1);
	curl_setopt($ch, CURLOPT_POSTFIELDS, ($params));
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
	$result = curl_exec($ch);
	curl_close($ch);
}

Этот код советую рассматривать только как обучающий. Для боевого бота нужно много чего дописать и изменить. И да, из кода я специально убрал работу с CallbackQuery, но переменные для этого вверху оставил.
Дописывать под ваши нужды этот код только вам. Читайте документацию и экспериментируйте.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы