Бот должен пересылать личное сообщение от одного пользователя другому. Простое сообщение отправляется без каких-либо ошибок.
А вот ошибка заключается, в том, что сервер не отправляет приложение к сообщению (в моем случае это фотография). Примечательно, что это зависит от того, с какой страницы отправляется запрос — если это та страница, с которой был выдан ключ-доступа к сообщениям, то все нормально работает и картинка пересылается, а вот со всех остальных страниц — нет. То есть проблема вряд ли должна быть связана с кодом, скорее всего с какими-то правами. API используется последнее, самое актуальное. Вот код ошибки целиком
- One of the parameters specified was missing or invalid: message is empty or invalid. request_params = {‘v’:
‘5.103’, ‘method’: ‘messages.send’, ‘oauth’: ‘1’, ‘random_id’: ‘0’, ‘attachment’:
‘photo582248194_457239051_63093a408ca6ab8d48’, ‘user_id’: ‘мой айди’}
message = str(data['message']['text'])
if data['message']['attachments']==[]:
attachment = []
else:
attach = data['message']['attachments'][0]
attach_type = attach['type']
attachment = "{0}{1}_{2}_{3}".format(
attach_type,
attach[attach_type]['owner_id'],
attach[attach_type]['id'],
attach[attach_type]['access_key']
)
# Отправка
vkapi.send_message(user_id, token, message, attachment)
Может быть у кого-то была похожая проблема? Поддержка вк не отвечает нормально)
Спасибо заранее!
|
KvaksManYT 1 / 0 / 1 Регистрация: 07.08.2018 Сообщений: 80 |
||||
|
1 |
||||
|
18.11.2019, 20:44. Показов 16703. Ответов 3 Метки python, web api (Все метки)
писал бота для ВК
выдаёт ошибку: Код привет
Traceback (most recent call last):
File "H:/Users/Admin/Desktop/del/python/vk_bot/vk_bot.py", line 33, in <module>
write_msg(event.user_id, "Хай")
File "H:/Users/Admin/Desktop/del/python/vk_bot/vk_bot.py", line 5, in write_msg
vk.method('messages.send', {'user_id': user_id, 'message': message})
File "F:Pythonlibsite-packagesvk_apivk_api.py", line 646, in method
raise error
vk_api.exceptions.ApiError: [100] One of the parameters specified was missing or invalid: random_id is a required parameter
__________________
0 |
What did you do?
async function uploadPhoto(title, urlList) { const photoList = urlList.map(link=> { return {value: link}; }); const response = await vk.upload.photoAlbum({ album_id: (await Album.getAlbums()).find(a=>a.title.startsWith(title)).id, source: { values: photoList } }); return response; }; uploadPhoto('albumName', ['img url'])
What did you expect to happen?
Загрузка фотографии в альбом
What was the actual result?
Пустое значение { key: 'photos_list', value: '' }
APIError: Code №100 - One of the parameters specified was missing or invalid: photos_list is invalid at SequentialWorker.execute (D:devvknode_modulesvk-iolibindex.js:1440:39) at processTicksAndRejections (internal/process/task_queues.js:97:5) { code: 100, params: [ { key: 'method', value: 'photos.save' }, { key: 'oauth', value: '1' }, { key: 'v', value: '5.122' }, { key: 'album_id', value: '276855811' }, { key: 'server', value: '856316' }, { key: 'photos_list', value: '' }, { key: 'aid', value: '276855811' }, { key: 'hash', value: 'e00ad5dbaa6dbf172e4da706518ec17d' } ] }
Additional Info
photoList содержит
[ { value: 'https://sun9-59.userapi.com/impf/ПРАВИЛЬНУЮ__ССЫЛКУ.jpg' } ]
Versions
| package | version |
|---|---|
vk-io |
4.0.2 |
node |
12.18.3 |
npm |
6.14.6 |