@dimaserrr5
Разработчик хостинга sweethost

Бот на php Telegram, как сделать форму сбора информации?

Всем привет!

Имеется бот который по запросу выдаёт значение создания ответа

$bot->command("Ответ", function ($message) use ($bot) {
	$bot->sendMessage($message->getChat()->getId(), "тест", false, null,null, $keyboard);
});


Как сделать так, что бы после слова ответ, можно было вписать ID пользователя, а так же сам ответ. Пример
/ответ 1 тестовый ответ

И он передавал эту информацию передавал в базу
  • Вопрос задан
  • 378 просмотров
Пригласить эксперта
Ответы на вопрос 1
@hesy
use Botify\Core\Bot;

require '/vendor/autoload.php';

$config = [
  'database.check_tables'   => true,
  'database.driver'         => 'mysql',
  'database.path'           => '/path/to/database.sqlite',
  'database.host'           => 'localhost',
  'database.database'       => 'botify',
  'database.username'       => 'botify',
  'database.password'       => 'hackme',
  'database.charset'        => 'utf8mb4',
  'database.collation'      => 'utf8mb4_unicode_ci',
  'database.lazy'           => true,
];

$bot = new Bot('1234567890:ABC_TOKEN', $config);

// обработчик команды "/answer"
$bot->command('/\/answer/', function () use ($bot) {
  // для сообщения вида "/command 1 ответ"
  // если сообщение вида "/command 1 тут несколько слов" метод parse() не подойдет
  [$cmd, $number, $answer] = $bot->parse();

  $bot->say("Команда: {$cmd}, номер: {$number}, ответ: {$answer}");

  // добавим ответ в бд
  $insert = [
    'user_id' => $bot->user_id,
    'number' => $number,
    'answer' => $answer,
  ];
  
  $bot->db->table('quiz')->insert($insert);
});

$bot->run();

https://github.com/aethletic/botify#documentation
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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