@phpgeeks

Страница 2107 из 8430
f4rt~
05.11.2016
17:27:27
Dmitriy
05.11.2016
17:27:39
Ser
05.11.2016
17:27:56
Просто я не могу получить уже 3 часа ничего вразумительного в ответ, а не хочу построить дом из говна и узнать что глина на острове таки была )

Владимир
05.11.2016
17:28:01
Человеку альяс же нужен и кнопки с событиями, а вы его не понимаете

Google
Ser
05.11.2016
17:28:44
Ну если речь про ХТМЛ пошла значит от этого разработчика вразумительного врядли дождешься )

f4rt~
05.11.2016
17:29:09
Ser
05.11.2016
17:29:25
)))

Ser
05.11.2016
17:29:55
Итого никто ничего подобного никогда не делал, не представляет? Я прав?

Владимир
05.11.2016
17:30:26
Итого никто ничего подобного никогда не делал, не представляет? Я прав?
Хочется ответить "попрошок уходи" и забыть эти мессаги как страшный сон...)

Ser
05.11.2016
17:30:36
Ну я предположил что это сообщество разработчиков тг ботов на php ))

Видимо:

Владимир
05.11.2016
17:31:34
Ну я предположил что это сообщество разработчиков тг ботов на php ))
Вот если без шуток, наверно никто до конца не понял твоего вопроса. Дело в этом.

f4rt~
05.11.2016
17:31:43
Ну я предположил что это сообщество разработчиков тг ботов на php ))
объясни как ты сам видишь, это должно работать? что у тебя такого на сайте, как это должен видить бот, но не видить обычные пользователи!(откуда с сайта? с тг?)

Ser
05.11.2016
17:32:01
У меня ничего на сайте.

Google
Ser
05.11.2016
17:32:09
Пользователь жмет на кнопку в ТГ боте

Которая создается в callback_data

f4rt~
05.11.2016
17:32:31
Пользователь жмет на кнопку в ТГ боте
гугли инлайн клавиатуры и answerCallBack

Ser
05.11.2016
17:32:53
Могу ли я прикрепить еще 1 переменную туда, которая по сути не важна для пользователя, но вернется боту.

f4rt~
05.11.2016
17:32:58
Которая создается в callback_data
тебе нужно создать хандлер на эту самую callback_data что ты отправляешь и делать действие.

Ser
05.11.2016
17:33:08
Либо прикрепить комментарий в text который не виден пользователю, но виден боту.

f4rt~
05.11.2016
17:34:13
$data = $callback_query['data']; switch($data){ case '/test': sendMessage($chat_id,"callback_data return /test"); break;

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

покажи лучше код своей клавиатуры

Ser
05.11.2016
17:36:36
Отлично. Трабл в том что я хочу чтоб было аля /test<button> Где пользователь видит: /test А бот видит /test<button>

f4rt~
05.11.2016
17:37:16
$inline_button2 = array("text"=>"text1","callback_data"=>'/test1'); $inline_button2 = array("text"=>"text2","callback_data"=>'/test2'); хандлер switch($data){ case '/test1': действие 1 break; case '/test2': действие 2 break:

Ser
05.11.2016
17:37:22
Ну, вот либо чтоб была еще одна переменная. Любая

f4rt~
05.11.2016
17:37:45
Отлично. Трабл в том что я хочу чтоб было аля /test<button> Где пользователь видит: /test А бот видит /test<button>
что бы была кнопка, сделей инлайн клавиатуру и в калбеках передавай любое тебе значение

Ser
05.11.2016
17:37:46
Пробовал =\

Косячу чтоли...

Спасибо, буду курить дальше в этом направлении

f4rt~
05.11.2016
17:38:35
<?php $access_token = 'xxx'; $api = 'https://api.telegram.org/bot' . $access_token; $output = json_decode(file_get_contents('php://input'), TRUE); $chat_id = $output['message']['chat']['id']; $first_name = $output['message']['chat']['first_name']; $message = $output['message']['text']; $callback_query = $output['callback_query']; $data = $callback_query['data']; $message_id = ['callback_query']['message']['message_id']; $chat_id_in = $callback_query['message']['chat']['id']; switch($message) { case '/test': $inline_button2 = array("text"=>"text1","callback_data"=>'/plz'); $inline_button2 = array("text"=>"text2","callback_data"=>'/plz'); $inline_keyboard = [[$inline_button1,$inline_button2]]; $keyboard=array("inline_keyboard"=>$inline_keyboard); $replyMarkup = json_encode($keyboard); sendMessage($chat_id, "ok", $replyMarkup); break; } switch($data){ case '/plz': sendMessage($chat_id_in, "plz"); break; } function sendMessage($chat_id, $message, $replyMarkup) { file_get_contents($GLOBALS['api'] . '/sendMessage?chat_id=' . $chat_id . '&text=' . urlencode($message) . '&reply_markup=' . $replyMarkup); } Вот рабочий код in-line клавиатуры, которые реагирует на callback_data в операторе switch($data)

f4rt~
05.11.2016
17:45:51
Ser
05.11.2016
17:46:01
Ну поехали

Google
Ser
05.11.2016
17:46:07
Вот: я строю менюху

Array ( [reply_markup] => {"keyboard":[[{"text":"\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u043e\u0438\u0441\u043a","callback_data":"stop"}],[{"text":"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e\u0438\u0441\u043a\u0430","callback_data":"flats_p"}]],"one_time_keyboard":false,"resize_keyboard":true,"selective":false} [text] => sdfsdf [chat_id] => 38143278 )

callback_data у каждой кнопки присутствует

{"update_id":523519528, "message":{"message_id":498,"from":{"id":38143278,"first_name":"Ser","last_name":"Ser","username":"ser60v"},"chat":{"id":38143278,"first_name":"Ser","last_name":"Ser","username":"ser60v","type":"private"},"date":1478368001,"text":"\u041e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u043e\u0438\u0441\u043a"}}

f4rt~
05.11.2016
17:46:50
Ser
05.11.2016
17:47:01
При нажатии же в инпуте ничего нет

$this->debug(file_get_contents("php://input"),true);

Вот в конструкторе без обработки

f4rt~
05.11.2016
17:47:22
file_get_contents выкинь.
мне контентс с контекстными операторами больше курла нравитсо ?

Ser
05.11.2016
17:47:36
"callback_data":"flats_p" "callback_data":"stop"

f4rt~
05.11.2016
17:47:37
file_get_contents выкинь.
но я уже переписал так то)

Ser
05.11.2016
17:47:38
Разные

Dmitriy
05.11.2016
17:48:02
но я уже переписал так то)
даже с исключениями ?

f4rt~
05.11.2016
17:48:18
"callback_data":"flats_p" "callback_data":"stop"
switch($data){ case 'flats_p': do something break; case 'stop': do nothing break;

Ser
05.11.2016
17:48:50
Так в пакете обратном у меня ни flats_p ни stop

Можешь заметить

Я получаю только text

Dmitriy
05.11.2016
17:49:12
с 2 условиями ?
а мог бы взять норм библиотеку на гитхабе

f4rt~
05.11.2016
17:49:24
Я получаю только text
ага я как раз умею json_decode в голове

Google
f4rt~
05.11.2016
17:49:58
а мог бы взять норм библиотеку на гитхабе
я ж свою пишу по чуть-чуть, заодно и ОПП подтягиваю

Ser
05.11.2016
17:50:38
Ну фиг знает - ничего сложного ) Не так много переменных там

f4rt~
05.11.2016
17:51:00
Ну фиг знает - ничего сложного ) Не так много переменных там
ну так чего ты у меня спрашиваешь, если тебе ничего сложного?

Aleksandr
05.11.2016
18:14:27
ну а slice - Array.prototype.slice()
var args = [].slice.call(arguments, 2); Так сделал

D'
05.11.2016
18:17:55
воу воу палехче

сколько флуда

никто не узнает что я пони

Admin
ERROR: S client not available

Ser
05.11.2016
18:26:59
Так... А теперь пожалуйста поясните, сударь который разбирается в inline_keyboard

Если же такой баттон

$inline_button1 = array("text"=>"text1","callback_data"=>'/plz');

Куда идет пакет, когда совершен клик?

f4rt~
05.11.2016
18:28:07
$inline_button1 = array("text"=>"text1","callback_data"=>'/plz');
я тебе дал код, который работает, тебе лень мозгами посмотреть?

если работает условие switch($data){ case '/plz': sendMessage($chat_id_in, "plz"); break; } смотришь что такое $data = $callback_query['data']; а $callback_query = $output['callback_query']; это твой output что ты дергаешь long poolingom

следовательно объекту message в ответе юзера присваеваетсо

Ser
05.11.2016
18:32:03
Вопроса б не было. Но суть в чем

Строится инлайн меню.

По клику на сервер не прилетает запроса который я бы мог обрабатывать.

f4rt~
05.11.2016
18:32:52
D'
05.11.2016
18:33:14
ты уверен,почему у меня прилетает? я особенный?
а это всегда так. Только избранные получают ответы.

Google
f4rt~
05.11.2016
18:33:15
даже вебхук убрал у бота на минуту, что бы дернуть /getupdates и посмотреть, все работает.

f4rt~
05.11.2016
18:33:25
Спасибо, я ценю

Ser
05.11.2016
18:33:34
Потому и спрашиваю ибо у меня не прилетает )) Буду курить - что я делаю не так.

/getupdates

f4rt~
05.11.2016
18:33:56
/getupdates
это метод api =/

Ser
05.11.2016
18:34:12
мисклик ))

f4rt~
05.11.2016
18:35:27
берешь рабочий код -> ковыряешь его меняя под свою ситуацию -> как начинаешь понимать что к чему -> переписываешь под свой лад -> govnoprofit

Sergey
05.11.2016
18:39:25
Ого, и флуда нет

Dmitriy
05.11.2016
18:39:50
я все удалил

f4rt~
05.11.2016
18:39:53
Ого, и флуда нет
да чот вообще ничего нету(

Sergey
05.11.2016
18:40:21
Диман, ты молодец

А я купил подушку ортопедическую наконец

Сегодня испробую

Sergey
05.11.2016
18:40:55
Под голову )

Артур Евгеньевич
05.11.2016
18:40:59
как подкова по форме

Страница 2107 из 8430