Данный скрипт позволяет автоматически приглашать все друзей в беседу VK.
Инструкция:
1. Установите библиотеку vk_api, если ее еще нет, выполнив команду в терминале:
pip install vk_api
2. Создайте базу данных SQLite и таблицу accounts. Для этого запустите скрипт с помощью команды в терминале:
python script_name.py
3. В меню выберите пункт "Добавить новый аккаунт". Введите токен VK, который будет использоваться для приглашения участников в беседу, и ID беседы, в которую будут приглашаться пользователи.
4. Добавьте необходимое количество аккаунтов VK для приглашения участников. Для этого повторите шаг 3.
5. Выберите пункт "Запустить скрипт" в меню. Скрипт начнет работу, перебирая добавленные аккаунты VK и приглашая пользователей в беседу.
6. Если вы хотите очистить список аккаунтов и начать сначала, выберите пункт "Очистить список аккаунтов" в меню.
Важно отметить, что скрипт использует задержку в 5 секунд между запросами к VK API, чтобы не превышать лимиты на число запросов. Если вы хотите изменить этот параметр, отредактируйте значение переменной time.sleep(5) в строке 55.
Инструкция:
1. Установите библиотеку vk_api, если ее еще нет, выполнив команду в терминале:
pip install vk_api
2. Создайте базу данных SQLite и таблицу accounts. Для этого запустите скрипт с помощью команды в терминале:
python script_name.py
3. В меню выберите пункт "Добавить новый аккаунт". Введите токен VK, который будет использоваться для приглашения участников в беседу, и ID беседы, в которую будут приглашаться пользователи.
4. Добавьте необходимое количество аккаунтов VK для приглашения участников. Для этого повторите шаг 3.
5. Выберите пункт "Запустить скрипт" в меню. Скрипт начнет работу, перебирая добавленные аккаунты VK и приглашая пользователей в беседу.
6. Если вы хотите очистить список аккаунтов и начать сначала, выберите пункт "Очистить список аккаунтов" в меню.
Важно отметить, что скрипт использует задержку в 5 секунд между запросами к VK API, чтобы не превышать лимиты на число запросов. Если вы хотите изменить этот параметр, отредактируйте значение переменной time.sleep(5) в строке 55.
Код:
import vk_api
import time
import sqlite3
conn = sqlite3.connect('accounts.db')
conn.execute('''CREATE TABLE IF NOT EXISTS accounts
(id INTEGER PRIMARY KEY AUTOINCREMENT,
token TEXT NOT NULL,
chat_id INTEGER NOT NULL,
last_friend_id INTEGER DEFAULT NULL);''')
while True:
print("1. Запустить скрипт")
print("2. Добавить новый аккаунт")
print("3. Очистить список аккаунтов")
choice = input("Выберите действие: ")
if choice == "1":
cursor = conn.execute("SELECT * FROM accounts")
accounts = []
for row in cursor:
account = {'token': row[1], 'chat_id': row[2], 'last_friend_id': row[3]}
accounts.append(account)
if not accounts:
print("Список аккаунтов пуст. Добавьте новый аккаунт.")
continue
while True:
try:
for account in accounts:
vk_session = vk_api.VkApi(token=account['token'])
vk = vk_session.get_api()
profile_info = vk.account.getProfileInfo()
first_name = profile_info['first_name']
last_name = profile_info['last_name']
params = {'count': 100, 'fields': 'id', 'offset': 0}
if account['last_friend_id'] is not None:
params['offset'] = friends['items'].index(account['last_friend_id']) + 1
friends = vk.friends.get(**params)
for friend in friends['items']:
try:
vk.messages.addChatUser(chat_id=account['chat_id'], user_id=friend['id'])
print(f"{first_name} {last_name} пригласил(а) пользователя с ID {friend['id']} в беседу {account['chat_id']}")
account['last_friend_id'] = friend['id']
except vk_api.VkApiError as e:
print(f"Ошибка приглашения пользователя с ID {friend['id']} в беседу {account['chat_id']}: {e}")
time.sleep(5) # задержка между запросами к VK API
except Exception as e:
print(f"Ошибка подключения к VK API. Повторная попытка через 30 секунд: {e}")
time.sleep(30)
elif choice == "2":
token = input("Введите токен: ")
chat_id = int(input("Введите ID беседы: "))
conn.execute("INSERT INTO accounts (token, chat_id, last_friend_id) VALUES (?, ?, ?)",
(token, chat_id, None))
conn.commit()
vk_session = vk_api.VkApi(token=token)
vk = vk_session.get_api()
profile_info = vk.account.getProfileInfo()
first_name = profile_info['first_name']
last_name = profile_info['last_name']
print(f"Аккаунт {first_name} {last_name} успешно добавлен.")
elif choice == "3":
conn.execute("DELETE FROM accounts")
conn.commit()
print("Список аккаунтов успешно очищен.")
else:
print("Некорректный выбор. Попробуйте еще раз.")
conn.close()
Последнее редактирование: