Задать вопрос
@Zettt13

Как реализовать Кик пользователя группой по id в беседе?

Необходимо кикнуть пользователя в беседе с помощью группы, например:
/kick 333333
333333 это id пользователя.
Скрипт написан на библиотеке vk_api с использованием LongPoll. Пример скрипта:
import vk_api # Библиотека VK
from datetime import datetime # Библиотека DateTime
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType # Библиотека VK LongPool

# Настройки
token = "токен" # Личный access_token сообщества (Желателен полный доступ)
group_id = "" # ID сообщества
server = "@id4" # Владелец кода
longpool_sleep = "0.5" # Задержка проверки сообщений, зависит от нагрузки на сервер (Рекомендуется значение от 0.1 до 10)

# VK LongPool
vk_session = vk_api.VkApi(token = token) # Обработка access_token
longpoll = VkBotLongPoll(vk_session, group_id) # Данные для работы в сообществе
vk = vk_session.get_api() # Работа с VK API

# Info
version = "release 7.0" # Версия бота
api_version = "5.92" # Версия VK API
system = "LongPoll" # LongPoll или CallBack
language = "Python 3.7.2" # Язык и версия языка

# Time
servertime = str(datetime.strftime(datetime.now(), "%H:%M")) # Время сервера

# Сообщения
for event in longpoll.listen():

    if event.type == VkBotEventType.MESSAGE_NEW and event.obj.text.lower() == "test" or event.obj.text.lower() == "тест":
        vk.messages.send(peer_id = event.obj.peer_id, random_id = 0, message = "Tested!")
        vk.messages.send(peer_id = event.obj.peer_id, random_id = 0, message = "Отправьте команду help для получения списка комманд бота")
 
    if event.type == VkBotEventType.MESSAGE_NEW and event.obj.text.lower() == "help" or event.obj.text.lower() == "помощь":
        vk.messages.send(peer_id = event.obj.peer_id, random_id = 0, message = "Список комманд:\n\ntest или тест\nТестовая проверка\n\nhelp или помощь\nСписок комманд\n\ntime или время\nВремя сервера\n\nserver или сервер\nКто запустил сервер\n\ninfo или инфо\nИнформация о боте")

    if event.type == VkBotEventType.MESSAGE_NEW and event.obj.text.lower() == "time" or event.obj.text.lower() == "время":
        vk.messages.send(peer_id = event.obj.peer_id, random_id = 0, message = "Время сервера: " + servertime)

    if event.type == VkBotEventType.MESSAGE_NEW and event.obj.text.lower() == "server" or event.obj.text.lower() == "сервер":
    	vk.messages.send(peer_id = event.obj.peer_id, random_id = 0, message = "Сервер запустил: " + server)

    if event.type == VkBotEventType.MESSAGE_NEW and event.obj.text.lower() == "info" or event.obj.text.lower() == "инфо":
    	vk.messages.send(peer_id = event.obj.peer_id, random_id = 0, message = "Версия: " + version + "\nVK API: " + api_version + "\nСистема: " + system + "\nЯзык: " + language + "\n\nРазработчики:\nRaven INC (2018 - 2019)\n@inc.raven @valerongf17\n@denis244 @i.abrams\n@id310689532 @id468143118")

time.sleep(longpool_sleep)
  • Вопрос задан
  • 2170 просмотров
Подписаться 2 Простой 6 комментариев
Решения вопроса 1
@Runnin
Беседа по vk_api, вступай - https://vk.cc/8WE9bL
в твоей библе будет вроде так
messages.removeChatUser
vk.method('messages.removeChatUser', {'chat_id': chat_id, 'member_id': member_id})

А если ты про саму реализацию, то когда тебе приходит сообщение - разбиваешь его по пробелу. Если первая часть это /kick, то во второй части будет находится id пользователя которого исключают
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы