Софт - Массовое добавление всех друзей в беседу VK | End Way - форум программирования и сливов различных скриптов
  • Присоединяйтесь к нам в телеграм канал! EndWay канал | EndSoft канал | EWStudio канал
  • Хочешь поставить скрипт, но не умеешь?
    А может ты хочешь свой скрипт на основе слитого?

    Тогда добро пожаловать в нашу студию разработки!

    Телеграм бот: EWStudioBot
    Телеграм канал: EWStudio

Софт Массовое добавление всех друзей в беседу VK

onsi

Миддл
Автор темы
16 Июн 2023
20
20
3
Данный скрипт позволяет автоматически приглашать все друзей в беседу 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.

Код:
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()
 
Последнее редактирование:
Like
  • 1
Реакции: 1 user
Активность:
Пока что здесь никого нет