Możesz to zrobić na różne sposoby.
- można przechowywać „stan” użytkownik jest w siebie
- Można użyć wielu poleceń, które będą działać na własną rękę, ale po prostu dać użytkownikowi poczucie prowadzony
- Można użyć
ForceReply
API Bot
porządku. Tak więc dla 1.
powiedziałbym, że masz pewne zalety. Możesz rzeczywiście prowadzić użytkownika i ograniczyć dostęp do niektórych poleceń, gdy nie jest w odpowiednim stanie. Powiedzmy więc, że chce kupić Popcorn, ale jest on w shoestore, którego nie pozwolisz, sprawdzając zapisany stan użytkownika.
Dla użytkownika 2.
użytkownik zawsze będzie mógł używać /buy
i /buy_popcorn
i /buy_shoe
. Ale w zależności od twoich odpowiedzi, dajesz mu określoną ilość możliwych wyborów.
User: /buy
What do you want to buy? /shoes or /food :Bot
User: /food
How about some Popcorn? Use /buy_popcorn :Bot
User: /buy_shoe
Alright. Shoes added to cart :Bot
To byłoby dozwolone, ale użytkownik będzie musiał ręcznie pisać /buy_shoe
3.
możliwym sposobem jest użycie ForceReply. Użytkownik automatycznie otrzyma wiadomość o numerze: answer to
. Więc kiedy użyje /buy_shoe
, odpowie na ostatnią wiadomość wysłaną przez bota. Otrzymasz również wiadomość, na którą użytkownik odpowiedział w wiadomości od api. Możesz sprawdzić, czy wiadomość, na którą odpowiedział użytkownik, to właściwy warunek wstępny/odpowiedni komunikat dla polecenia, a następnie ograniczyć lub zezwolić na polecenie.
User: /buy
What do you want to buy? /shoes or /food :Bot
User: [Answer to: What do you...] /food
How about some Popcorn? Use /buy_popcorn :Bot
User: [Answer to: How about some...] /buy_shoe
Sorry, but you're currently in the Food Store :Bot
Sprowadza się to do osobistych preferencji, tak myślę. Ale wszystko to ma zalety i wady i musisz zdecydować, czy chcesz zezwolić na konkretne polecenia bez warunku.
Ta lista może być niekompletna. Możliwe, że istnieją inne sposoby, o których nie myślałem. Ale te 3 sposoby są znane.
Dzięki za odpowiedzi. –