начало положено
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
import vk_api
|
||||
from config import Config
|
||||
from db import db, VkPost
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
def publish_vk_posts():
|
||||
vk_session = vk_api.VkApi(token=Config.VK_GROUP_TOKEN)
|
||||
vk = vk_session.get_api()
|
||||
|
||||
posts = VkPost.query.filter(
|
||||
VkPost.published.is_(False), VkPost.publish_at <= datetime.utcnow()
|
||||
).all()
|
||||
|
||||
for post in posts:
|
||||
attachments = []
|
||||
|
||||
if post.image_path:
|
||||
upload = vk_api.VkUpload(vk_session)
|
||||
photo = upload.photo_wall(post.image_path, group_id=Config.VK_GROUP_ID)
|
||||
attachments.append(f"photo{photo[0]['owner_id']}_{photo[0]['id']}")
|
||||
|
||||
vk.wall.post(
|
||||
owner_id=-Config.VK_GROUP_ID,
|
||||
message=post.text,
|
||||
attachments=",".join(attachments),
|
||||
)
|
||||
|
||||
post.published = True
|
||||
db.session.commit()
|
||||
Reference in New Issue
Block a user