Не знаю насколько это возможно, вся задумка ниже.
На данный момент есть две команды (/start, /help) и возможность вести "живой разговор" с ботом. Нужно этот разговор загнать под команду /chat и во время его выполнения запретить пользоваться всеми командами кроме /exit (Выйти из режима чата). После выхода соответственно вернуть эту возможность.
ИИ.
#Artificial intelligence
@bot.message_handler(content_types=['text'])
def send_text(message):
request = apiai.ApiAI('my_token').text_request() # Токен API к Dialogflow
request.lang = 'ru' # На каком языке будет послан запрос
request.session_id = 'BatlabAIBot' # ID Сессии диалога (нужно, чтобы потом учить бота)
request.query = message.text # Посылаем запрос к ИИ с сообщением от юзера
responseJson = json.loads(request.getresponse().read().decode('utf-8'))
response = responseJson['result']['fulfillment']['speech'] # Разбираем Json и вытаскиваем ответ
if response:
bot.send_message(message.chat.id, text=response)
else:
bot.send_message(message.chat.id, text='Я тебя не понимаю.')
Код полностью -
link
Заранее извиняюсь за скудную формулировку, я только начал своё обучение.