Можно ли как-то брать пост из сообщества в ВК и отправлять его в группу? Vk-api python

Есть группа, посты в которой должны быть видны и обсуждены в чате каждый раз перекидывать получается не всегда можно ли как-то это автоматизировать с помощью VK-api для python?


Ответы (1 шт):

Автор решения: nomnoms12

Вы можете приложить пост к сообщению и отправить его с помощью метода messages.send.

Пример:

from vk_api import VkApi
from vk_api.utils import get_random_id


ACCESS_TOKEN = ...  # Подставьте свой
PEER_ID = ...       # Подставьте свой

vkSession = VkApi(token=ACCESS_TOKEN)
vk = vkSession.get_api()

vk.messages.send(
    peer_id=PEER_ID,
    message='Test message',
    attachment='wall-225666_403198',
    random_id=get_random_id(),
)

Результат:

Пример сообщения


Получить записи сообщества можно с помощью метода wall.get.

Но обратите внимание на то, что этот метод нельзя вызвать с помощью ключа сообщества. Вам придётся создать сервисный ключ приложения или использовать учётные данные пользователя.

Пример:

post = vk.wall.get(
    domain='b2band',
)['items'][0]
owner_id = post['owner_id']
media_id = post['id']

attachment = f'wall{owner_id}_{media_id}'
print(attachment)

stdout:

wall-225666_403198
→ Ссылка