
Fedor
30.06.2017
20:50:37
строка не должна такой быть)
Попробуй json_encode Заменить на http_build_query
Warning: file_get_contents(/sendmessage?chat_id=108757567&text=test_123&parse_mode=&reply_markup=keyboard%5B0%5D%5B0%5D=Text1&keyboard%5B1%5D%5B0%5D=Text2&one_time_keyboard=1&resize_keyboard=1): failed to open stream: No such file or directory in ...../functions.php on line 38
образец нужен, чтобы понять один раз

M
30.06.2017
20:52:03
Так это, у тебя вебсайт пустой и file_get_contents пытается локальный файл прочитать

Google

M
30.06.2017
20:52:12
домен видишь не указан?

Vitaly
30.06.2017
20:52:18
Подними локально телеграм сервер

Serg
30.06.2017
20:52:21

M
30.06.2017
20:52:39
И да, Globals юзать это зашквар дикий с 4 версии легаси

Dmitriy
30.06.2017
20:52:45

M
30.06.2017
20:53:03

Serg
30.06.2017
20:54:23
'reply_markup' => json_encode(['inline_keyboard'=>[ ['text' => 'caption', 'callback_data' => 'command'], ] ])
схематично так

M
30.06.2017
20:54:53
У него домен не указан.

Fedor
30.06.2017
20:55:57

M
30.06.2017
20:56:15
et_contents(/sendmessag
Видишь, он локальный файл пытается прочитать.

Google

Fedor
30.06.2017
20:56:35

Dmitriy
30.06.2017
20:56:55
указан
Нет не указан. По ошибки видно

Fedor
30.06.2017
20:57:04
нет, указан

M
30.06.2017
20:57:09
Мне за него стыдно.

Vitaly
30.06.2017
20:57:10
сука лол
идите в личку

Dmitriy
30.06.2017
20:57:14
Ну окей. разберайся сай

Fedor
30.06.2017
20:57:15
вот функция, которая отправляет обычное текстовое сообщение
и она работает

Yury
30.06.2017
20:58:40
Поэтому умные дяди и говорят не использовать глобальные переменные

Bohdan
30.06.2017
21:01:06

Fedor
30.06.2017
21:01:08
ладно, завтра буду разбираться. спасибо за помощь

Serg
30.06.2017
21:01:15
public function sendCommand($bot, $command, $params)
{
$token = $this->tokens[$bot];
$url = "https://api.telegram.org/bot{$token}/{$command}";
return $this->sendCurl($url, $params);
}
private function sendCurl($url, $params, $post = true)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
return json_decode(curl_exec($ch), 1);
}
$b->sendCommand($bot, 'sendMessage',$msg);
собсна в этих строчках половина всех либ
остальное - правильно заполнить массив $params

M
30.06.2017
21:03:06
Жду бота на ассемблере.

Bohdan
30.06.2017
21:04:28

M
30.06.2017
21:08:12
Зашел в чат к ассемблерщикам, говорят да, уже писали ?

Google

Serg
30.06.2017
21:08:44
не так давно на хабре чел публиковал форум написанный на асме

Alex,
30.06.2017
21:13:58

Fedor
30.06.2017
21:14:59
С началом урла все в порядке. У меня работает функция отправки сообщения с аналогичным началом

Alex,
30.06.2017
21:16:13
Ну как минимум у тебя с синтаксисом по моему траблы

M
30.06.2017
21:17:04
? третий чел говорит где ошибка, аффтор игнорит.

Alex,
30.06.2017
21:18:05

Dmitriy
30.06.2017
21:18:32

Fedor
30.06.2017
21:19:02
Ты не прав!
То есть в одной функции начало урла ок, а дальше не ок?

Yury
30.06.2017
21:19:40

Alex,
30.06.2017
21:19:41
Нафига ты через глобалс вытаскиваешь урл?

Dmitriy
30.06.2017
21:19:52

Yury
30.06.2017
21:20:02
Йеп
Потому что эта переменная задаётся непонятно где и изменяется непонятно где

Fedor
30.06.2017
21:20:11

Yury
30.06.2017
21:20:32

Fedor
30.06.2017
21:20:43

Alex,
30.06.2017
21:20:45

Vitaly
30.06.2017
21:21:10

Alex,
30.06.2017
21:21:15

Google

Fedor
30.06.2017
21:21:51

Alex,
30.06.2017
21:22:20
public function sendCommand($bot, $command, $params)
{
$token = $this->tokens[$bot];
$url = "https://api.telegram.org/bot{$token}/{$command}";
return $this->sendCurl($url, $params);
}
private function sendCurl($url, $params, $post = true)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
return json_decode(curl_exec($ch), 1);
}
$b->sendCommand($bot, 'sendMessage',$msg);
Вот тебе даже код дали, используй его!

Fedor
30.06.2017
21:24:13
Смотивировали своим удивлением по поводу того насколько плохой у меня код

Alex,
30.06.2017
21:24:18
var_dump не пробовал вывести?

Fedor
30.06.2017
21:24:53

Alex,
30.06.2017
21:25:01

Dmitriy
30.06.2017
21:25:10

Alex,
30.06.2017
21:25:30

Dmitriy
30.06.2017
21:26:01
но нормальных 1-2

M
30.06.2017
21:26:08
Тем более их полно!
Поверь, на РНР - нет. Одну взял, костылями и подпорками допиливал)) Есть форки, но надо постараться найти.

Alex,
30.06.2017
21:26:10
Дать пример одной простенькой однофаильной либы?

Dmitriy
30.06.2017
21:26:19

Fedor
30.06.2017
21:26:20
Какие можете посоветовать?

Alex,
30.06.2017
21:26:54

Dmitriy
30.06.2017
21:27:06

Alex,
30.06.2017
21:27:35

Dmitriy
30.06.2017
21:27:53

Google

Alex,
30.06.2017
21:29:46
Было бы неплохо
Я вот это юзаю... https://github.com/erorrov/simple-telegram/blob/master/README.md

Fedor
30.06.2017
21:30:11

Alex,
30.06.2017
21:30:32

M
30.06.2017
21:30:39

Dmitriy
30.06.2017
21:31:09

Alex,
30.06.2017
21:31:34

Dmitriy
30.06.2017
21:31:55

Serg
30.06.2017
21:32:23

Alex,
30.06.2017
21:32:30
Я ж говорю у меня тоже код не лучший, но когда стабильно работает, какая разница какая либа...

Dmitriy
30.06.2017
21:33:12
есть разница. У меня команды реализованны классами и ответы на них
а тут все самому или лапшекод

Alex,
30.06.2017
21:33:34

M
30.06.2017
21:33:52
Дак давайте ссылки, первая либа - днище и я показал хотя бы 1 ишью которое уже сразу заставляет костыль писать.
Вторую что кинули мини обёртка по curl

Alex,
30.06.2017
21:34:13
Это тоже самое, что обсуждать какой язык написания лучше

Dmitriy
30.06.2017
21:36:07

M
30.06.2017
21:36:24
Т.е. для тебя норма, что ты берёшь самое популярное для твоего языка расширение, а оно блин важный функционал тупо из-за архитектурного просчёта не реализует. Чтобы это понять, надо копаться в ишью.

Alex,
30.06.2017
21:36:29