V
V
Valentine2018-09-19 21:13:27
Python
Valentine, 2018-09-19 21:13:27

Why is the document not sent via vk_api?

I made a bot for a closed group.
Simple replies to messages work, but no files are sent.

# -*- 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)

Answer the question

In order to leave comments, you need to log in

2 answer(s)
H
Helow19274, 2018-09-19
@val_gr

1. Remove _auth_token()
2. Use VkUpload
https://github.com/python273/vk_api/blob/master/ex...

S
Stockholm Syndrome, 2018-09-19
@StockholmSyndrome

doc{owner_id}_{id}, but notdoc_messages{owner_id}_{id}

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question