Этот вопрос закрыт для ответов, так как повторяет вопрос Как создать функцию random_id в vk_api?

Обновил vk_api и теперь для отправки сообщений требуется random_id, зачем это нужно?

Traceback (most recent call last):
File "", line 93, in
vk.messages.send(peer_id= user_id, message = text)
File "C:\Program Files\Python37\lib\site-packages\vk_api\vk_api.py", line 646, in __call__
return self._vk.method(self._method, kwargs)
File "C:\Program Files\Python37\lib\site-packages\vk_api\vk_api.py", line 615, in method
raise error
vk_api.exceptions.ApiError: [100] One of the parameters specified was missing or invalid: random_id is a required parameter


Нашёл вот такое решение:

def get_random_id():
    return random.getrandbits(31) * random.choice([-1, 1])


и в message.send добавлять random_id=get_random_id(). Это оптимально?

Но больше всего меня интересует то с какой целью выпущен этот апдейт?
  • Вопрос задан
  • 4162 просмотра
Решения вопроса 3
@Helow19274
https://vk.com/dev/versions
Смотрите на версию 5.90
Если не хотите каждый раз указывать random_id, ставьте версию 5.89.
И вообще уже писали про это, в том числе на тостере.
Ответ написан
vadimpopov94
@vadimpopov94
Dev
Валентин
Этот ID необходим для предотвращения повторной отправки одного и того же сообщения. Можешь воспользоваться следующим решением:
Попробуй сгенерировать random_id с помощью библиотеки random, а именно - random.randinit(a,b) и искать сообщения с таким random_id, если не нашел то можно создавать сообщение, если нет то повторять пункт 1.
Ответ написан
@bublik1337
уникальный индентификатор, чтобы предотвратить повторную отправку.
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы