Бот Telegram - получение ответа (команды) пользователя с клавиатуры без косой черты

Я хочу получить команду с настраиваемой клавиатуры без косой черты.
Я читал в другом выпуске и в документации, что это невозможно, команды всегда должны начинаться с символа '/'.
Но во многих ботах я увидеть, что это возможно.
Например, @TriviaBot
Я думал получить строку перед запуском триггера и добавить к строке «/», но безуспешно.
Другие решения?

PS: я разрабатываю своего бота на php, используя этот API
https://github.com/irazasyed/telegram-bot-sdk.


person frencisdrame    schedule 15.04.2016    source источник


Ответы (1)


Команды Telegram Bot должны начинаться с косой черты /.

Однако они отправляются боту как стандартное сообщение, поэтому эффективное поведение бота полностью делегируется ему.

Если вы хотите использовать строку в качестве команды, вы можете сделать это, просто обработав текстовое сообщение. То есть:

if( $text == 'myCommand' )
{
    // Do Something...
}

Очевидно, вы должны учитывать возможные двусмысленности с сообщением, не являющимся командным.

person fusion3k    schedule 15.04.2016
comment
Спасибо, на данный момент это наиболее эффективное решение. Но не думайте, что @TriviaBot работает таким образом ... и я хотел бы найти это решение. Что вы думаете об этом? - person frencisdrame; 15.04.2016
comment
См. Команды TriviaBot. Другое сообщение - это не команды. Сообщения обрабатываются ботом. Да, так работает. Альтернативы нет. - person fusion3k; 15.04.2016
comment
Здорово! У меня есть способ следовать;) - person frencisdrame; 15.04.2016