first_mine

This commit is contained in:
2024-02-26 22:52:39 +03:00
parent ca0e371e07
commit 7aba562ad1
2 changed files with 32 additions and 81 deletions

107
main.py
View File

@@ -1,76 +1,31 @@
import vk_api
import time
import os
import chime
import os.path
import pickle
# Введите ваш token и id группы
access_token = 'vk1.a.5QW0di9TmTh9LV2GalJgCbVolvGlRSZ1DgjXU6NizdeMiZUT3HZGdELZsU8AV2-l9gkuLY9Sh85t5x_ohC_Qp2XKBhg5ve25IzlLXPVJs44oTW4vshYkr4fjoZyppcmtiz-B94oiZNY15PlECXOuEfe1Y30AjOVmYoHxnb56g0W_u5w3ekdjqTYuMu-wmsn7ucEwxVxfJXEDaaEagUZWng'
group_id = '58767484'
# Создание сессии ВКонтакте и авторизация пользователя
vk_session = vk_api.VkApi(token=access_token)
vk = vk_session.get_api()
# Получение id группы
group = vk.groups.getById(group_id=group_id)
group_id = group[0]['id']
# Автолайк
count = 1 # количество постов для получения
posts = vk.wall.get(domain=group_id, count=count)['items']
i = 1
# Основной цикл программы
while True:
try:
if not os.path.exists('last_post_id.txt'):
with open('last_post_id.txt', 'w') as f:
f.write('0')
# Получение списка записей в группе
response = vk.wall.get(owner_id=-group_id, count=1)
last_post_id = response['items'][0]['id']
# Сохранение id последней записи
with open('last_post_id.txt', 'r+') as f:
try:
saved_post_id = int(f.read())
except:
saved_post_id = last_post_id
f.write(f"{last_post_id}")
print(f"{i}")
# Проверка наличия новой записи
if last_post_id != saved_post_id:
chime.success()
print(f"Новая запись! https://vk.com/wall{group_id}_{last_post_id}")
# Добавляем лайк и получаем ответ от API
likes_added = vk.likes.add(type='post', owner_id=-group_id, item_id=last_post_id)
if likes_added['likes']:
print(f"Лайк успешно добавлен на запись id {last_post_id}")
else:
print(f"Ошибка при добавлении лайка на запись id {last_post_id}")
with open('last_post_id.txt', 'w') as f:
f.write(f"{last_post_id}")
# Задержка на 10 секунд
time.sleep(15)
except vk_api.exceptions.ApiError as error:
print(f"Ошибка API: {error}")
time.sleep(15)
except Exception as error:
print(f"Неизвестная ошибка: {error}")
time.sleep(15)
i = i + 1
import vk_api
from vk_api.longpoll import VkLongPoll, VkEventType
import threading
TARGET_GROUP_ID = 'ID_целевого_сообщества'
ACCESS_TOKEN = 'ваш_токен'
def like_post(event, vk):
try:
vk.likes.add(type='post', owner_id=event.group_id, item_id=event.wall_id)
print("Пост от {} успешно лайкнут.".format(event.group_id))
except vk_api.exceptions.ApiError as e:
print("Ошибка VK API при лайке поста:", e)
except Exception as e:
print("Необработанная ошибка при лайке поста:", e)
def process_events(vk, longpoll):
print("Бот запущен. Лайкать посты из сообщества {}.".format(TARGET_GROUP_ID))
for event in longpoll.listen():
if event.type == VkEventType.WALL_POST_NEW and str(event.group_id) == TARGET_GROUP_ID:
thread = threading.Thread(target=like_post, args=(event, vk))
thread.start()
def main():
vk_session = vk_api.VkApi(token=ACCESS_TOKEN)
vk = vk_session.get_api()
longpoll = VkLongPoll(vk_session)
process_events(vk, longpoll)
if __name__ == '__main__':
main()