Это наверное очень заезжанная тема, но решения я не могу найти.
Хотел бы написать скрипт, который выводит сообщение от людей и фамилию самого этого человека. Примерно так:
Нет, я сегодня не смогу || Иванов
Проблема заключается в том, что запросов на сервер поступает слишком много из-за цикла for. Сама проблема в user = api.users.get(user_ids=id), именно из-за нее выскакивает ошибка "Too many requests per second".
Строка id = messages[z]['uid'] вытаскивает из массива JSON id этого человека, а затем определяется его фамилия и имя. Но т.к. запрос к серверу находится в цикле for сервер выдает ту ошибку.
Каким образом можно реализовать иначе вывод сообщения с именем отправителя?
Сам код работает, но останавливается на 6-м сообщении. 5 запросов в секунду - ограничение сервера.
import vk
session = vk.Session(access_token=' ')
api = vk.API(session)
messages = api.messages.get(count=200, out=0)
try:
z = 200
for message in messages:
message_body = messages[z]['body']
id = messages[z]['uid']
user = api.users.get(user_ids=id)
users = user[0]['last_name']
print(message_body, '|| ', users)
z -= 1
if z == 1:
break
except ValueError as err:
print(err, ' ', 'message')