голосовой помощник, добавление любого слова

Други, помогите в направление на путь истинный))))

Задача. Прописать в код функционал, что бы программка, при прослушивании микрофона понимала не только шаблонный текст из списка (hello), но и плюс какое то случайное слово сказанное в микрофон.

Например:

В списке hello слово шаблон "Привет", жёсткие рамки, ответ программы так же "Привет"

Хотелось бы:

Сказанное слово "Привет" + случайное произнесённое слово (например: "Привет друг" или "Привет Вася") воспринимался кодом так же, как просто - "Привет", ответ программы так же - "Привет" то есть игнорируем по сути второе сказанное слово, к слову Привет.

Я не волшебник и только учусь, прошу направить хотя бы в нужное русло) Мучал регулярки, но что то всё время идёт не так. Заранее спасибо

import speech_recognition as sr
import pyttsx3
import random

mic = sr.Microphone(device_index=2)

ansver_list = ['здравствуйте', 'приветствую', 'привет', 'рад вас слышать']

def speek(words):
    engine = pyttsx3.init()
    voices = engine.getProperty('voices')
    engine.setProperty('voice', voices[3].id)
    engine.say(words)
    engine.runAndWait()

def command():
    r = sr.Recognizer()
    with mic as source:
        audio = r.listen(source=mic)
    try:
        query = r.recognize_google(audio_data=audio, language='ru-RU').lower()
    except:
        query = command()
    return query


hello = ['привет', 'здравствуй', 'приветствую']

def talking(query):

    if query in hello:
        print(speek(words=random.choice(ansver_list)))
    else:
        print(speek(words='я не понял ваш запрос'))

while True:
    talking(command())

Ответы (1 шт):

Автор решения: CrazyElf

Что-то типа такого:

if query.split()[0].lower() in hello:

То есть делим фразу на слова, берём первое слово, приводим в нижний регистр, после этого ищем в списке.

→ Ссылка