Скрипты на GitHub

Простейший вечный онлайн ВКонтакте

Открыть на Lolzteam
from urllib.request import urlopen
from time import sleep
tokens = ['token1', 'token2']
while True:
    for token in tokens: print(urlopen(f'https://api.vk.com/method/account.setOnline?voip=1&access_token={token}&v=5.131').read().decode())
    sleep(120)

Использование: в список токенов вставить токены. Чтобы онлайн был с ПК, получение токена необходимо делать на ПК. Чтобы с мобильного - соответственно, с телефона. Получать токен можно от абсолютно любого приложения, например: тык
Права доступа никакие не нужны, только "доступ в любое время", если будете ставить на дедик.

Автоматическое приглашение участника в беседу ВК, как только это возможно

Если в беседе 1000 участников, пригласить нового не получится. Зато этот скрипт пригласит участника сразу же, как только их будет 999.

Открыть на Lolzteam
import vk_api
from time import sleep
from random import uniform
chat_id = 123
user_id = 204923959
token = 'token'

api = vk_api.VkApi(token=token).get_api()
while True:
    try:
        chat = api.messages.getChat(chat_id=chat_id)
        print(len(chat['users']))
        if len(chat['users']) < 1000:
            try:
                api.messages.addChatUser(chat_id=chat_id, user_id=chat_id)
                exit()
            except Exception as e:
                print(e)
    except Exception as e:
        print(e)
    sleep(uniform(3.0, 5.0))

Чистка друзей ВК: Удаление всех тех, с кем нет общих друзей

Открыть на Lolzteam
import vk_api
token = 'token'
api = vk_api.VkApi(token=token).get_api()
for friend in api.friends.getMutual(target_uids=','.join([str(uid) for uid in api.friends.get()['items']])):
    if friend['common_count'] == 0:
        friend_name = api.users.get(user_ids=friend['id'])[0]
        api.friends.delete(user_id=friend['id'])
        print('Удалил друга '+friend_name['first_name']+' '+friend_name['last_name'])

Рандомный статус ВК (автоматически меняется на случайный из списка)

Открыть на Lolzteam
import vk_api
from random import choice
from time import sleep
token = 'token'
statuses = ['Статус', 'Автостатус', 'Рандомный статус', 'Мяу']

api = vk_api.VkApi(token=token).get_api()
while True:
    status = choice(statuses)
    api.status.set(text=status)
    print('Статус изменен на '+status)
    sleep(90)

Автостатус ВК с вашими аудиозаписями

Открыть на Lolzteam

Скрипт получит полный список ваших аудиозаписей в случайном порядке и будет по очереди ставить аудиозаписи в статус. Длительность трека в статусе = настоящей длительности трека.

import vk_api

from random import shuffle
from time import sleep
token = 'token' # Токен от приложения VK Admin
api = vk_api.VkApi(token=token, api_version=5.131).get_api()
audios = []
while True:
    try:
        audio = api.audio.get(offset=len(audios))
    except: break
    if audio['items'] == []: break
    else: audios += audio['items']
while True:
    shuffle(audios)
    for audio in audios:
        api.audio.setBroadcast(audio=str(audio['owner_id'])+'_'+str(audio['id']))
        sleep(audio['duration'])

Уведомления о том, что пользователь онлайн в ВК

Открыть на Lolzteam
from requests import get
from time import strftime, localtime, sleep
token = 'token'
group_token = 'token'
user_id = 1
sleep_time = 60
# Больше ничего редактировать не нужно

owner_id = get(f'https://api.vk.com/method/account.getProfileInfo?v=5.131&access_token={token}').json()['response']['id']
last_online_time = get(f'https://api.vk.com/method/users.get?fields=online,last_seen&v=5.131&user_ids={user_id}&access_token={token}').json()['response'][0]['last_seen']['time']
last_online = False

while True:
    online_info = get(f'https://api.vk.com/method/users.get?fields=online,last_seen&v=5.131&user_ids={user_id}&access_token={token}').json()['response'][0]
    if online_info['online'] and not last_online:
        get(f'https://api.vk.com/method/messages.send?peer_id={owner_id}&message=[id{user_id}|{online_info["first_name"]} {online_info["last_name"]}] в сети!&random_id=0&v=5.131&access_token={group_token}')
        last_online = True
    else:
        if last_online:
            get(f'https://api.vk.com/method/messages.send?peer_id={owner_id}&message=[id{user_id}|{online_info["first_name"]} {online_info["last_name"]}] больше не в сети.&random_id=0&v=5.131&access_token={group_token}')
            last_online = False
        if online_info['last_seen']['time'] != last_online_time:
            get(f'https://api.vk.com/method/messages.send?peer_id={owner_id}&message=[id{user_id}|{online_info["first_name"]} {online_info["last_name"]}] был в сети в {strftime("%H:%M", localtime(online_info["last_seen"]["time"]))}&random_id=0&v=5.131&access_token={group_token}')
            last_online_time = online_info['last_seen']['time']
    sleep(sleep_time)

Восстанавление ваших удалённых сообщения ВКонтакте

Открыть на Lolzteam
from requests import get # pip install requests
from time import sleep

token = 'token'

last = get(f'https://api.vk.com/method/messages.send?peer_id={get(f'https://api.vk.com/method/account.getProfileInfo?access_token={token}&v=5.131').json()['response']['id']}&message=Test&random_id=0&access_token={token}&v=5.131').json()['response']
msgs = get(f'https://api.vk.com/method/messages.getById?message_ids={','.join([str(last-i) for i in range(100)])}&access_token={token}&v=5.131').json()['response']['items']
for msg in msgs:
    if msg['out'] == 1 and 'deleted' in msg and msg['deleted'] == 1:
        print(f'Восстанавливаю сообщение {msg["id"]}:', get(f'https://api.vk.com/method/messages.restore?message_id={msg["id"]}&access_token={token}&v=5.131').json())
        sleep(0.5)