@XenK

Бот Telegram на NodeJS?

Использую библиотеку эту node-telegram-bot-api, через polling.
Возник вопрос, как сделать чтобы после ввода /setname, бот предлагал ввести имя. Если например в течении 30 сек., пользователь ничего не ввел, то команда отменялась. Как это можно сделать?
  • Вопрос задан
  • 2187 просмотров
Пригласить эксперта
Ответы на вопрос 3
В чем именно проблема?, вроде как решение очевидно, предложить юзеру ввести имя и через 30 сек это им не обрабатывать уже и вывести юзеру варнинг, если хочется.
Ответ написан
SPAHI4
@SPAHI4
реактовцы - это не девы, а прокидыватели пропсов
в этой либе есть такой тип
https://github.com/mdibaiee/node-telegram-api/wiki...
Ответ написан
Комментировать
Ni55aN
@Ni55aN
Было бы правильнее вводить имя возле самой команды

Хотя можно и так:
var stateSetName = false;

bot.onText(/\(.*)/, function (msg, match) {

if(!stateSetName)return;

var name = match[1];
});

bot.onText(/\/setname/, function (msg, match) {
  
  var fromId = msg.from.id;
  bot.sendMessage(fromId, "Введите имя");
stateSetName =true;

 setTimeout(function(){   bot.sendMessage(fromId, "Отмена!"); stateSetName =false;},30000);
});

но в идеале подобное с цепочками сообщений нужно делать через состояния
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы