@botoid

Страница 969 из 4042
Карабанов
27.06.2017
18:33:00
Спасибо большое

Fedor
27.06.2017
18:44:37
Товарищи.. Если, допустим, бот запрашивает два числа введи число 1, введи число 2 как бот понимает на какой стадии находится человек?

Serg
27.06.2017
18:45:00
один из параметров - это в json-е массив из массивов параметров
'inline_keyboard' => json( [ ['text' => 'text', 'callback_data' => 'command'], ... ] ) схематично можно так в сообщении задать

Fedor
27.06.2017
18:45:04
то есть как дать понять боту, что вводимое значение - это именно то, чего ожидает бот?

Google
Aztwin LK
27.06.2017
18:45:26
В базе храни состояние пользователя

Sergey
27.06.2017
18:45:27
подскажите вот такую вещь вот я прописал текст допустим на главной бота он(заказчик) хочет чтобы была возможность его менять, подскажите как? типа все эти тексты в базе хранить ?

Serg
27.06.2017
18:45:34
Fedor
27.06.2017
18:45:48
Запоминать стадию юзера
каким образом? вот есть вариант - хранить в базе

Sergey❄️
27.06.2017
18:46:18
можно не в базе

Sergey
27.06.2017
18:46:52
но эт гемор какой то не?

Fedor
27.06.2017
18:46:58
Лучше в базе
и потом проверять if else ??

Google
Aztwin LK
27.06.2017
18:46:59
Создаешь таблицу в базе например "тексты"

Serg
27.06.2017
18:47:09
чтоб понять как писать бота просто попробуйте сначала написать серверную часть любого сайта с активным содержимым (формы, вывод контекстной информации пользователя) По сути бот - это и есть этот сайт

Fedor
27.06.2017
18:48:01
либо в куки

Serg
27.06.2017
18:48:33
но эт гемор какой то не?
гемор??? да ты что ))) к тебе с каждым сообщением приходит ID пользователя. Поднимаешь по нему информацию, что-то считаешь, запоминаешь новое состояние в базе. Отдаешь текст, забываешь про пользователя. Вот весь по сути цикл обработки

Fedor
27.06.2017
18:48:36
post и get массивы. тут этого нет.

в общем, в базу писать его состояние?

Serg
27.06.2017
18:49:24
если ты используешь вебхуки - то к тебе по сути пост запрос приходит

Fedor
27.06.2017
18:49:37
да, вебхуки

Serg
27.06.2017
18:50:13
$message = json_decode(trim(file_get_contents('php://input')),1);

Fedor
27.06.2017
18:50:25
короче, в базу?

а потом состояние проверять через switch (ну или if else) ?

Serg
27.06.2017
18:51:34
ну хочешь в редис, мемкеш, файлкеш

Aztwin LK
27.06.2017
18:52:01
Через if

Зачем тебе тут свитч?

Serg
27.06.2017
18:52:20
что именно через if ???

Google
Aztwin LK
27.06.2017
18:52:22
Чувак давайте я тебе по быстрому объсню

А то никто толком ничего не пишет

Короче смотри

Пользователь отправил команду /start

Fedor
27.06.2017
18:52:46
так

ну я понимаю примерно как это работает



Aztwin LK
27.06.2017
18:53:18
Ты ему в ответ "Отправьте Ваше имя" и состояние в базу этого пользователя меняешь например на "insert_name"

Далее у тебя идет проверка в кодк

Если пользователь отправил текстовое сообщнеи и его состояние в базе insert_name значит это его имя

Записываешь в базу отправленный текс и выводишь новое сообщение "Отправте фамилию" и обновляешь состояние пользователя на insert_lname

Думаю проще некуда

Fedor
27.06.2017
18:54:48
понял

Aztwin LK
27.06.2017
18:54:55
Молодец

Fedor
27.06.2017
18:54:59
спасибо

Aztwin LK
27.06.2017
18:55:11
Рад помочь

Serg
27.06.2017
18:55:46
ток учти... если ты не пользуешь бибилотеки, то /start и команда от кнопки - придут совершенно разные структуры данных

Fedor
27.06.2017
18:56:04
я без либ. фак)

Serg
27.06.2017
18:56:22
на кнопку надо досылать команду answerCallbackQuery

Aztwin LK
27.06.2017
18:56:44
Типы разные это верно один это Message другой CallbackQuery

Google
Serg
27.06.2017
18:56:48
т.е. помимо того, что ты в ответ на вебхук шлешь сообщение и кнопки ты в догонку еще курлом шлешь answerCallbackQuery

Fedor
27.06.2017
18:57:09
это в любой клаве такой ответ придет?

Aztwin LK
27.06.2017
18:57:23
Инлайн

Fedor
27.06.2017
18:57:23
ой, тьфу.

Serg
27.06.2017
18:57:31
гемор канеш сильный.... если весь интерфейс на кнопках - то по сути двойной трафик становится

Aztwin LK
27.06.2017
18:58:12
Зря

У меня все боты на инлайне

Терпеть не могу обычные кнопки

Serg
27.06.2017
18:58:40
ты вообще на каком языке будешь писать?

Fedor
27.06.2017
18:58:47
php

Aztwin LK
27.06.2017
18:58:49
ПХП

Ясно же

Fedor
27.06.2017
18:59:11
пиэйчпи

Aztwin LK
27.06.2017
18:59:15
Он же показывал кусок кода

Fedor
27.06.2017
19:00:10
и еще.. я хочу хранить всех пользователей, которые когда-либо писали боту в базе. для рассылки. это нормально, что каждый раз, когда пользователь пишет сообение я проверяю есть ли он у меня в базе?

Serg
27.06.2017
19:00:26
просто начни писать. создай скрипт бота, создай бебхук, выложи куда нить и просто выводи эхов в бота $message = json_decode(trim(file_get_contents('php://input')),1); print_r($message,1) для начала

Aztwin LK
27.06.2017
19:00:28
Конечно

Serg
27.06.2017
19:00:35
т.е. пойми что ходит

я писал сразу в базу - так проще

Aztwin LK
27.06.2017
19:00:55
Так на оф сайте уже всё расписано

Google
Serg
27.06.2017
19:01:20
этот что ли кусок?

Aztwin LK
27.06.2017
19:02:21
Агась

Видно же пыха

Fedor
27.06.2017
19:03:47
просто начни писать. создай скрипт бота, создай бебхук, выложи куда нить и просто выводи эхов в бота $message = json_decode(trim(file_get_contents('php://input')),1); print_r($message,1) для начала
я выложил на серв, подключил вебхук, новых пользователей добавляет в базу. вопрос в том. нормально ли это, что каждый раз когда юзер пишт боту, я делаю запрос в базу существует ли этот пользователь уже

или это тормозит бота только?

хотя если и тормозит, то даже не заметно

Serg
27.06.2017
19:04:36
это нормально ! для ускорения можешь использовать memcache

Aztwin LK
27.06.2017
19:04:57
Это нормально

Serg
27.06.2017
19:04:59
т.е. положил в базу, положил в мемкеш. а потом просто проверяешь в мемкеше

чтоб уложить твоего бота - надо гнать по 100 сообщений в секунду

Fedor
27.06.2017
19:06:25
иду гуглить про мемкеш)

Aztwin LK
27.06.2017
19:06:53
Больше 30 в секунду хватит

Fedor
27.06.2017
19:06:53
Это нормально
ты на либе делаешь?

Aztwin LK
27.06.2017
19:06:59
Да

Но я либу дописывал под себя

Fedor
27.06.2017
19:07:10
я чет гуглил либы, не разобрался

Aztwin LK
27.06.2017
19:07:17
Да их куча

На офсайт зайди

Там есть ссылку на либу для пыхи

Юзай на здоровье

Там прописано практически всё

Удобно

Страница 969 из 4042