@HDefalt

Почему python 3 выдает ошибку при использовании vk_api?

Код - тут https://pastebin.com/EnpTEqnN
Ошибка - тут https://pastebin.com/9QcCuLHg

Тестировал на трех машинах - две - винда, один - линукс
Первые 5 минут работает нормально, после чего выдает этот ворох ошибок. Питон -3.5.3.
В интернете советовали сделать задержку (сейчас она в конце кода). Подскажите, что делать, пожалуйста!
  • Вопрос задан
  • 144 просмотра
Пригласить эксперта
Ответы на вопрос 1
Попробуйте это :)
Мне не особо хочется тестить поэтому вот :
# -*- coding: utf-8 -*-
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
import vk_api
import requests
import json
import time
import sys
from random import randint
 
vk = vk_api.VkApi(token="xxxx")
 
vk._auth_token()
 
vk.get_api()
 
longpoll = VkBotLongPoll(vk, xxx)
 
while True:
    for event in longpoll.listen():
        if event.type == VkBotEventType.MESSAGE_NEW:
            # print(event.object.text)
            # print()
            text = event.object.text;
            if text.lower() == "вики":
                wiki_url = 'https://ru.wikipedia.org/w/api.php?action=opensearch&redirects=resolve&limit=1&format=json&search=';
                try:
                    wiki_url = wiki_url + str(event.object.reply_message['text'])
                    wiki_response = requests.get(wiki_url)
                    wiki_json = json.loads(wiki_response.text)
                    wiki_subj = wiki_json[2][0]
                    wiki_link = wiki_json[3][0]
                    if wiki_subj == '':
                        wiki_message = "Нет такого на вики!";
                    else:
                        wiki_message = wiki_subj + "\n Подробнее: " + wiki_link
                except TypeError:
                    wiki_message = 'Что виковать?'
                except IndexError:
                    wiki_message = 'Нет этого на вики!!!'
                vk.method("messages.send", {"peer_id": event.object.peer_id, "message": wiki_message,
                                            "random_id": randint(1, 9999)})
            elif text.lower() == "баш":
                bash_url = "https://api.forismatic.com/api/1.0/?method=getQuote&key=457653&format=json&lang=ru"
                bash_response = requests.get(bash_url)
                bash_json = json.loads(bash_response.text)
                bash_message = bash_json['quoteText']
                try:
                    bash_message = bash_message + "\n Автор: " + bash_json['quoteAuthor']
                except TypeError:
                    bash_message = bash_message + ' '
                vk.method("messages.send", {"peer_id": event.object.peer_id, "message": bash_message,
                                            "random_id": randint(1, 9999)})
            elif text.lower() == "текст":
                text_url = "https://fish-text.ru/get"
                text_response = requests.get(text_url)
                text_json = json.loads(text_response.text)
                text_message = text_json["text"]
                vk.method("messages.send", {"peer_id": event.object.peer_id, "message": text_message,
                                            "random_id": randint(1, 9999)})
            time.sleep(0.01)
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Protoplan Краснодар
от 80 000 до 150 000 руб.
YLab Тольятти
от 90 000 до 150 000 руб.
17 июл. 2019, в 13:20
50000 руб./за проект
17 июл. 2019, в 13:05
750 руб./в час
17 июл. 2019, в 13:02
1000 руб./за проект