Connecting a VK bot to Wikipedia
Good time of day, I recently tried to connect my vk bot to the wikipedia module, but I didn't figure out how to do it. Here is the source
import vk_api
import wikipedia
from vk_api.longpoll import VkLongPoll, VkEventType
vk_session = vk_api.VkApi(token = 'token')
vk = vk_session.get_api()
longpoll = VkLongPoll(vk_session)
def sender(id, text):
vk.messages.send(user_id = id, message = text, random_id = 0)
def send_vidio(id, vidio):
vk.messages.send(user_id = id)
def send_photo(id, url):
vk.messages.send(user_id = id, attachment = url, random_id = 0)
for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW:
if event.to_me:
msg = event.text.lower()
id = event.user_id
if msg == 'привет':
sender(id, 'Привет, я - бот помощник. Для того чтобы узнать команды напиши "\команды"')
if msg == '\команды':
sender(id, '1 отправить сообщение')
wikipedia.set_lang("RU")
if event.text == 'Википедия' or event.text == 'Вики' or event.text == 'википедия' or event.text == 'вики' or event.text == 'Wikipedia' or event.text == 'wikipedia' or event.text == 'Wiki' or event.text == 'wiki':
if event.from_user:
vk.messages.send(
user_id=event.user_id,
message='Введите запрос'
)
for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW and event.to_me and event.text: #Пинаем longpoll
if event.from_user:
vk.messages.send(
user_id=event.user_id,
message='Вот что я нашёл: \n' + str(wikipedia.summary(event.text))
)
break
0
Author: Роман Ершов, 2020-07-24