Just1n
@Just1n
Цифровой воин

Как чат-боту ВКонакте на Python задать префикс?

from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import vk_api
import wikipediaapi

wiki_wiki = wikipediaapi.Wikipedia('ru')

vk_session = vk_api.VkApi(token='мой токен')
vk = vk_session.get_api()

longpoll = VkBotLongPoll(vk_session, id моего бота)

Wiki = ['Википедия', 'Wikipedia', 'Вики','Wiki','википедия','вики','wikipedia','wiki']

while True:
    for event in longpoll.listen():
        if event.type == VkBotEventType.MESSAGE_NEW:
            if event.object.peer_id != event.object.from_id:
                if event.object.text.lower() in Wiki:
                    vk.messages.send(peer_id=event.object.peer_id, message='Введите запрос', random_id=0)
                    for event in longpoll.listen():
                        if event.type == VkBotEventType.MESSAGE_NEW and not event.from_me:
                            if event.object.peer_id != event.object.from_id:
                                page_py = wiki_wiki.page(event.object.text.lower())
                                if page_py.exists() == False:
                                    vk.messages.send(peer_id=event.object.peer_id, message='Ошибка:\nТакой страницы не существует', random_id=0)
                                if page_py.exists() == True:
                                    vk.messages.send(peer_id=event.object.peer_id, message='Обращайтесь\n' + str(page_py.title) + '\n' + str(page_py.summary), random_id=0)
                                break

Я хочу сделать так чтобы бот не запрашивал запрос после первого сообщения. Надо чтобы слово "Вики" было префиксом, и чтобы остальная часть сообщения без префикса стала запросом. Например "Вики интернет" и бот присылает статью интернет. Я не знаю как вывести часть сообщения без префикса в отдельную переменную
  • Вопрос задан
  • 448 просмотров
Решения вопроса 1
kshnkvn
@kshnkvn
yay ✌️ t.me/kshnkvn
for count in range(len(Wiki)):
    if event.object.text.find(Wiki[count]) >= 0:
        True

for event in longpoll.listen() не нужно вставлять в While.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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