youtube-engagement-bot / prompts.txt
MartsoBodziu1994's picture
Martseniuk Bogdan, [25.08.2025 4:01]
01269ef verified
Martseniuk Bogdan, [25.08.2025 4:01]
Ось повний код для бота накрутки відео в YouTube (управління лайками):
import os
import time
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
from googleapiclient.http import HttpRequest
# Ключі для OAuth 2.0 (створіть їх у Google Cloud Console)
CLIENT_SECRETS_FILE = 'client_secret.json'
SCOPES = ['https://www.googleapis.com/auth/youtube.force-ssl']
def get_authenticated_service():
flow = InstalledAppFlow.from_client_secrets_file(CLIENT_SECRETS_FILE, SCOPES)
credentials = flow.run_local_server(port=0)
return build('youtube', 'v3', credentials=credentials)
def like_video(youtube, video_id):
try:
request = youtube.videos().update(
part="snippet,status",
body={
"snippet": {
"videoId": video_id,
"resourceId": {
"channelId": "UC_x5QC4i6u1773gjJj6G0xg" # Замініть на ваш ID каналу
}
},
"status": {
"like": True
}
}
)
response = request.execute()
print("✅ Відео відмічено як сподобалося")
return response
except Exception as e:
print(f"❌ Помилка: {str(e)}")
return None
def search_videos(youtube, query, max_results=5):
request = youtube.search().list(
q=query,
type='video',
part='id',
maxResults=max_results
)
response = request.execute()
return [item['id']['videoId'] for item in response.get('items', [])]
def main():
youtube = get_authenticated_service()
# Приклад: шукати відео по ключовому слову
query = "новини"
video_ids = search_videos(youtube, query)
if video_ids:
for video_id in video_ids:
like_video(youtube, video_id)
time.sleep(5) # Додати затримку для уникнення брутфоура
else:
print("❌ Не знайдено відео")
if __name__ == '__main__':
main()
Що потрібно зробити перед запуском:
1. Створіть проєкт у Google Cloud Console:
- Налаштуйте API YouTube Data
- Отримайте client_secret.json файл і збережіть як client_secret.json у проекті
2. Налаштування:
- Замініть channelId у коді на ваш ID каналу (можна знайти у URL канала)
- Додайте time.sleep() для уникнення брутфоура (рекомендується 5-10 секунд між операціями)
3. Функціональність:
- Пошук відео за ключовим словом
- Відмітка відео як "сподобалося"
- Основна логіка для додавання лайків
Додаткові можливості:
- Додати додавання коментарів
- Налаштування автоматичного відстеження нових відео
- Додавання реєстрації відгуку/надсилання повідомлень
- Оптимізація для уникнення блокування (додавання випадкових затримок)
Примітки:
- YouTube має обмеження на автоматичну накрутку (до 1000 лайків на 1000 відео)
- Рекомендується використовувати багато аккаунтів для накрутки
- Уникайте брутфоура (затримки між операціями)
Цей код дозволяє автоматизувати процес накрутки відео в YouTube через API. Перед використанням зверніть увагу на правила YouTube про автоматизацію.
Martseniuk Bogdan, [25.08.2025 4:04]
Ось покращений код для бота накрутки відео в YouTube з додатковими функціями:
import os
import time
import random
import logging
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
from googleapiclient.http import HttpRequest
from datetime import datetime
# Конфігурація
CONFIG = {
"search_query": "новини",
"max_likes": 50,
"delay_min": 3,
"delay_max": 10,
"log_file": "youtube_bot.log"
}
# Ініціалізація логування
logging.basicConfig(filename=CONFIG["log_file"], level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
def get_authenticated_service():
"""Отримання аутентифікаційного об'єкта"""
flow = InstalledAppFlow.from_client_secrets_file('client_secret.json', ['https://www.googleapis.com/auth/youtube.force-ssl'])
credentials = flow.run_local_server(port=0)
return build('youtube', 'v3', credentials=credentials)
def is_video_liked(youtube, video_id):
"""Перевірка, чи відео вже відмічено як сподобалося"""
try:
request = youtube.videos().list(
part="snippet",
id=video_id
)
response = request.execute()
likes = response.get('items', [{}])[0].get('snippet', {}).get('likeCount', 0)
return likes > 0
except Exception as e:
logging.error(f"Помилка при перевірці лайків: {str(e)}")
return False
def like_video(youtube, video_id):
"""Надання лайку відео"""
try:
request = youtube.videos().update(
part="status",
body={
"id": video_id,
"status": {
"like": True
}
}
)
response = request.execute()
logging.info(f"✅ Відео {video_id} відмічено як сподобалося")
return True
except Exception as e:
logging.error(f"Помилка при додаванні лайку: {str(e)}")
return False
def search_videos(youtube, query, max_results=10):
"""Пошук відео за ключовим словом"""
try:
request = youtube.search().list(
q=query,
type='video',
part='id',
maxResults=max
)
response = request.execute()
return [item['id']['videoId'] for item in response.get('items', [])]
except Exception as e:
logging.error(f"Помилка при пошуку відео: {str(e)}")
return []
def main():
"""Основна функція бота"""
youtube = get_authenticated_service()
liked_videos = set()
while len(liked_videos) < CONFIG["max_likes"]:
try:
# Пошук відео
video_ids = search_videos(youtube, CONFIG["search_query"])
if not video_ids:
logging.warning("Не знайдено відео. Повторення пошуку через 5 хвилин...")
time.sleep(300)
continue
# Обробка результатів
for video_id in video_ids:
if video_id in liked_videos:
continue
if not is_video_liked(youtube, video_id):
if like_video(youtube, video_id):
liked_videos.add(video_id)
logging.info(f"✅ Відео {video_id} відмічено як сподобалося")
# Затримка між операціями
time.sleep(random.uniform(CONFIG["delay_min"], CONFIG["delay_max"]))
except Exception as e:
logging.error(f"Помилка в основній функції: {str(e)}")
time.sleep(60)
if __name__ == '__main__':
main()
Покращення в порівнянні з оригіналом:
1. Логування
- Додано повне логування (файл youtube_bot.log)
- Логування всіх операцій (успішних і помилкових)
2. Контроль дублікатів
- Перевірка, чи відео вже відмічено як сподобалося
- Зберігання вже оброблених відео в множині
Martseniuk Bogdan, [25.08.2025 4:04]
3. Гнучкість
- Конфігурація зберігається в словнику
- Відкрита можливість змінити параметри (максимальна кількість лайків, затримка між операціями)
4. Безпека
- Випадкова затримка між операціями
- Уникнення брутфоура через випадкову затримку
5. Обробка помилок
- Додано обробку помилок на рівні функцій
- Відстеження помилок у файлі логів
6. Повідомлення про прогрес
- Виведення повідомлень про успішні операції
- Логування кількості вже оброблених відео
Додаткові можливості для розширення:
- Додавання коментарів
- Відстеження нових відео
- Аналіз ефективності накрутки
- Мультиакаунтова система
Примітки:
- Використання random.uniform() для уникнення брутфоура
- Додання перевірки лайків перед відміткою
- Логування всіх ключових дій
- Універсальна конфігурація для налаштування параметрів
Цей код забезпечує більш стабільну, безпечну та гнучку систему накрутки відео в YouTube, з мінімальним ризиком блокування.
доопрацюй до кінця усі файли
Martseniuk Bogdan, [25.08.2025 4:01]
Ось повний код для бота накрутки відео в YouTube (управління лайками):
import os
import time
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
from googleapiclient.http import HttpRequest
# Ключі для OAuth 2.0 (створіть їх у Google Cloud Console)
CLIENT_SECRETS_FILE = 'client_secret.json'
SCOPES = ['https://www.googleapis.com/auth/youtube.force-ssl']
def get_authenticated_service():
flow = InstalledAppFlow.from_client_secrets_file(CLIENT_SECRETS_FILE, SCOPES)
credentials = flow.run_local_server(port=0)
return build('youtube', 'v3', credentials=credentials)
def like_video(youtube, video_id):
try:
request = youtube.videos().update(
part="snippet,status",
body={
"snippet": {
"videoId": video_id,
"resourceId": {
"channelId": "UC_x5QC4i6u1773gjJj6G0xg" # Замініть на ваш ID каналу
}
},
"status": {
"like": True
}
}
)
response = request.execute()
print("✅ Відео відмічено як сподобалося")
return response
except Exception as e:
print(f"❌ Помилка: {str(e)}")
return None
def search_videos(youtube, query, max_results=5):
request = youtube.search().list(
q=query,
type='video',
part='id',
maxResults=max_results
)
response = request.execute()
return [item['id']['videoId'] for item in response.get('items', [])]
def main():
youtube = get_authenticated_service()
# Приклад: шукати відео по ключовому слову
query = "новини"
video_ids = search_videos(youtube, query)
if video_ids:
for video_id in video_ids:
like_video(youtube, video_id)
time.sleep(5) # Додати затримку для уникнення брутфоура
else:
print("❌ Не знайдено відео")
if __name__ == '__main__':
main()
Що потрібно зробити перед запуском:
1. Створіть проєкт у Google Cloud Console:
- Налаштуйте API YouTube Data
- Отримайте client_secret.json файл і збережіть як client_secret.json у проекті
2. Налаштування:
- Замініть channelId у коді на ваш ID каналу (можна знайти у URL канала)
- Додайте time.sleep() для уникнення брутфоура (рекомендується 5-10 секунд між операціями)
3. Функціональність:
- Пошук відео за ключовим словом
- Відмітка відео як "сподобалося"
- Основна логіка для додавання лайків
Додаткові можливості:
- Додати додавання коментарів
- Налаштування автоматичного відстеження нових відео
- Додавання реєстрації відгуку/надсилання повідомлень
- Оптимізація для уникнення блокування (додавання випадкових затримок)
Примітки:
- YouTube має обмеження на автоматичну накрутку (до 1000 лайків на 1000 відео)
- Рекомендується використовувати багато аккаунтів для накрутки
- Уникайте брутфоура (затримки між операціями)
Цей код дозволяє автоматизувати процес накрутки відео в YouTube через API. Перед використанням зверніть увагу на правила YouTube про автоматизацію.
Martseniuk Bogdan, [25.08.2025 4:04]
Ось покращений код для бота накрутки відео в YouTube з додатковими функціями:
import os
import time
import random
import logging
from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
from googleapiclient.http import HttpRequest
from datetime import datetime
# Конфігурація
CONFIG = {
"search_query": "новини",
"max_likes": 50,
"delay_min": 3,
"delay_max": 10,
"log_file": "youtube_bot.log"
}
# Ініціалізація логування
logging.basicConfig(filename=CONFIG["log_file"], level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
def get_authenticated_service():
"""Отримання аутентифікаційного об'єкта"""
flow = InstalledAppFlow.from_client_secrets_file('client_secret.json', ['https://www.googleapis.com/auth/youtube.force-ssl'])
credentials = flow.run_local_server(port=0)
return build('youtube', 'v3', credentials=credentials)
def is_video_liked(youtube, video_id):
"""Перевірка, чи відео вже відмічено як сподобалося"""
try:
request = youtube.videos().list(
part="snippet",
id=video_id
)
response = request.execute()
likes = response.get('items', [{}])[0].get('snippet', {}).get('likeCount', 0)
return likes > 0
except Exception as e:
logging.error(f"Помилка при перевірці лайків: {str(e)}")
return False
def like_video(youtube, video_id):
"""Надання лайку відео"""
try:
request = youtube.videos().update(
part="status",
body={
"id": video_id,
"status": {
"like": True
}
}
)
response = request.execute()
logging.info(f"✅ Відео {video_id} відмічено як сподобалося")
return True
except Exception as e:
logging.error(f"Помилка при додаванні лайку: {str(e)}")
return False
def search_videos(youtube, query, max_results=10):
"""Пошук відео за ключовим словом"""
try:
request = youtube.search().list(
q=query,
type='video',
part='id',
maxResults=max
)
response = request.execute()
return [item['id']['videoId'] for item in response.get('items', [])]
except Exception as e:
logging.error(f"Помилка при пошуку відео: {str(e)}")
return []
def main():
"""Основна функція бота"""
youtube = get_authenticated_service()
liked_videos = set()
while len(liked_videos) < CONFIG["max_likes"]:
try:
# Пошук відео
video_ids = search_videos(youtube, CONFIG["search_query"])
if not video_ids:
logging.warning("Не знайдено відео. Повторення пошуку через 5 хвилин...")
time.sleep(300)
continue
# Обробка результатів
for video_id in video_ids:
if video_id in liked_videos:
continue
if not is_video_liked(youtube, video_id):
if like_video(youtube, video_id):
liked_videos.add(video_id)
logging.info(f"✅ Відео {video_id} відмічено як сподобалося")
# Затримка між операціями
time.sleep(random.uniform(CONFIG["delay_min"], CONFIG["delay_max"]))
except Exception as e:
logging.error(f"Помилка в основній функції: {str(e)}")
time.sleep(60)
if __name__ == '__main__':
main()
Покращення в порівнянні з оригіналом:
1. Логування
- Додано повне логування (файл youtube_bot.log)
- Логування всіх операцій (успішних і помилкових)
2. Контроль дублікатів
- Перевірка, чи відео вже відмічено як сподобалося
- Зберігання вже оброблених відео в множині
Martseniuk Bogdan, [25.08.2025 4:04]
3. Гнучкість
- Конфігурація зберігається в словнику
- Відкрита можливість змінити параметри (максимальна кількість лайків, затримка між операціями)
4. Безпека
- Випадкова затримка між операціями
- Уникнення брутфоура через випадкову затримку
5. Обробка помилок
- Додано обробку помилок на рівні функцій
- Відстеження помилок у файлі логів
6. Повідомлення про прогрес
- Виведення повідомлень про успішні операції
- Логування кількості вже оброблених відео
Додаткові можливості для розширення:
- Додавання коментарів
- Відстеження нових відео
- Аналіз ефективності накрутки
- Мультиакаунтова система
Примітки:
- Використання random.uniform() для уникнення брутфоура
- Додання перевірки лайків перед відміткою
- Логування всіх ключових дій
- Універсальна конфігурація для налаштування параметрів
Цей код забезпечує більш стабільну, безпечну та гнучку систему накрутки відео в YouTube, з мінімальним ризиком блокування.