Буквально только что запускал код и он работал, но решил я поменять токен и работать он перестал. Меняю токен обратно и та же фигня
код:
import asyncio
from vkbottle import API
import json
import os
import requests
group_name = 'voentorg42'
token = "vk1.a.gmShTzeR55UwG9GtwOXvlgK_jpqWa_losqw2esm-puflCa1PDuz9WsUqD-S-hoZpnDa13K6Ygh8fGWr7hY0kYAfgtlh5hMAc5y-282srVb0hFKZakOZdm8MhQ0lxRkQexaitx8SrSrt4d6uFAYqXSAVWDLkkMGstCfcBucKAOf-dw68MyyaT_OlQa24xWZ3lWjBH"
# group_name = input("Введите название группы: ")
#
# url = f"https://api.vk.com/method/wall.get?domain={group_name}&count=40&access_token={token}&v=5.52"
# req = requests.get(url)
# print(req.text)
def get_wall_posts(group_name):
url = f"https://api.vk.com/method/wall.get?domain={group_name}&count=40&access_token={token}&v=5.131"
req = requests.get(url)
src = req.json()
# проверяем существует ли директория с именем группы
if os.path.exists(f"{group_name}"):
print(f"Директория с именем {group_name} уже существует!")
else:
os.mkdir(group_name)
# сохраняем данные в json файл, чтобы видеть структуру
with open(f"{group_name}/{group_name}.json", "w", encoding="utf-8") as file:
json.dump(src, file, indent=4, ensure_ascii=False)
# собираем ID новых постов в список
fresh_posts_id = []
posts = src["response"]["items"]
for fresh_post_id in posts:
fresh_post_id = fresh_post_id["id"]
fresh_posts_id.append(fresh_post_id)
"""Проверка, если файла не существует, значит это первый
парсинг группы(отправляем все новые посты). Иначе начинаем
проверку и отправляем только новые посты."""
if not os.path.exists(f"{group_name}/exist_posts_{group_name}.txt"):
print("Файла с ID постов не существует, создаём файл!")
with open(f"{group_name}/exist_posts_{group_name}.txt", "w") as file:
for item in fresh_posts_id:
file.write(str(item) + "\n")
# извлекаем данные из постов
for post in posts:
global post_id
post_id = post["id"]
print(f"Отправляем пост с ID {post_id}")
try:
if "attachments" in post:
post = post["attachments"]
# забираем фото
if post[0]["type"] == "photo":
photo_quality = [
"photo_2560",
"photo_1280",
"photo_807",
"photo_604",
"photo_130",
"photo_75"
]
if len(post) == 1:
for pq in photo_quality:
if pq in post[0]["photo"]:
post_photo = post[0]["photo"][pq]
print(f"Фото с расширением {pq}")
print(post_photo)
break
else:
for post_item_photo in post:
if post_item_photo["type"] == "photo":
for pq in photo_quality:
if pq in post_item_photo["photo"]:
post_photo = post_item_photo["photo"][pq]
print(f"Фото с расширением {pq}")
print(post_photo)
break
else:
print("Линк или аудио пост")
break
except Exception:
print(f"Что-то пошло не так с постом ID {post_id}!")
else:
print("Файл с ID постов найден, начинаем выборку свежих постов!")
def main():
group_name = input("Введите название группы: ")
get_wall_posts(group_name)
if __name__ == '__main__':
main()
async def main():
api = API("vk1.a.gmShTzeR55UwG9GtwOXvlgK_jpqWa_lodfsqw2esm-puflCa1PDuz9WsUqD-S-hoZpnDadb13K6Y8fGWr7hY0kYAtlh5hMAc5y-282srVb0hFKZakOZdm8MhQ0lxRkQexaitx8SrSrt4d6uFAYqXSAVWDLkkMGstCfcBucKAOf-dw68MyyaT_OlQa24xWZ3lWjBH")
await api.wall.create_comment(owner_id=-204439379, post_id=post_id, message="ком")
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
asyncio.run(main())
ошибка:
Traceback (most recent call last):
File "C:\Users\sasha\OneDrive\Рабочий стол\Новая папка (7)\s.py", line 115, in
asyncio.run(main())
File "C:\Users\sasha\AppData\Local\Programs\Python\Python310\lib\asyncio\runners.py", line 44, in run
return loop.run_until_complete(main)
File "C:\Users\sasha\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 646, in run_until_complete
return future.result()
File "C:\Users\sasha\OneDrive\Рабочий стол\Новая папка (7)\s.py", line 112, in main
await api.wall.create_comment(owner_id=-156619651, post_id=post_id, message="ком")
File "C:\Users\sasha\AppData\Local\Programs\Python\Python310\lib\site-packages\vkbottle_types\methods\wall.py", line 94, in create_comment
response = await self.api.request("wall.createComment", params)
File "C:\Users\sasha\AppData\Local\Programs\Python\Python310\lib\site-packages\vkbottle\api\api.py", line 74, in request
return await self.validate_response(method, data, response) # type: ignore
File "C:\Users\sasha\AppData\Local\Programs\Python\Python310\lib\site-packages\vkbottle\api\api.py", line 98, in validate_response
response = await validator.validate(method, data, response, self) # type: ignore
File "C:\Users\sasha\AppData\Local\Programs\Python\Python310\lib\site-packages\vkbottle\api\response_validator\vk_api_error_validator.py", line 51, in validate
raise exception(**error)
TypeError: VKAPIError.__init__() got an unexpected keyword argument 'error_text'