TransWikia.com

Connecting a VK bot to Wikipedia

Stack Overflow на русском Asked on January 1, 2022

Доброе время суток, недавно пытался подключить своего vk бота к модулю wikipedia, однако не разобрался как это делать. Вот исходник

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

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP