Задать вопрос

Почему не отправляется документ через vk_api?

Сделал бота, для закрытой группы.

Простые ответы на сообщения работают, но файлы не отправляются.

# -*- coding: utf-8 -*-
import vk_api
import time
import json
import requests

token="Token"
vk = vk_api.VkApi(token=token)

vk._auth_token()


def doc(user_id):
    openFile = open("1_KURS_1.doc", "r")
    uploadFile = vk.method("docs.getMessagesUploadServer", {"type": "doc", "peer_id": user_id})
    requestsFile = requests.post(uploadFile["upload_url"], files={'file': openFile}).json()
    saveFile = vk.method("docs.save", {'file': requestsFile['file'], "title": "docser"})
    file = 'doc_messages{}_{}'.format(saveFile[0] ['owner_id'], saveFile[0]['id'])
    vk.method('messages.send',  {'user_id': user_id, 'attachment': file})

while True:
    try:
        messages = vk.method("messages.getConversations", {"offset": 0, "count": 20, "filter": "unread"})
        if messages["count"] >= 1:
            id = messages["items"][0]["last_message"]["from_id"]
            body = messages["items"][0]["last_message"]["text"]
            if body.lower() == "расписание":
                doc(user_id=id)
            else:
                vk.method("messages.send", {"peer_id": id, "message": "Не понимаю"})
    except Exception as E:
        time.sleep(1)
  • Вопрос задан
  • 853 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
@Helow19274
1. Уберите _auth_token()
2. Используйте VkUpload
https://github.com/python273/vk_api/blob/master/ex...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@StockholmSyndrome
doc{owner_id}_{id}, а не doc_messages{owner_id}_{id}
Ответ написан
Ваш ответ на вопрос

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

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