import vk_api
from vk_api.bot_longpoll import VkBotLongPoll, VkBotEventType
# Авторизация через токен группы
vk_session = vk_api.VkApi(token="ВАШ_ТОКЕН_ГРУППЫ")
vk = vk_session.get_api()
# Функция для обработки команды /kick
def kick_user(event, vk):
try:
# Проверяем, ответили ли на сообщение
if not event.object['message'].get('reply_message'):
vk.messages.send(
peer_id=event.object['message']['peer_id'],
message="Используйте команду в ответ на сообщение пользователя, которого хотите удалить.",
random_id=0
)
return
# ID пользователя, которого нужно исключить
user_id = event.object['message']['reply_message']['from_id']
chat_id = event.object['message']['peer_id'] - 2000000000
# Удаление пользователя
vk.messages.removeChatUser(chat_id=chat_id, member_id=user_id)
# Сообщение об успехе
vk.messages.send(
peer_id=event.object['message']['peer_id'],
message=f"Пользователь [id{user_id}|] был исключён из беседы.",
random_id=0
)
except vk_api.exceptions.ApiError as e:
# Обработка ошибок
vk.messages.send(
peer_id=event.object['message']['peer_id'],
message=f"Не удалось исключить пользователя. Ошибка: {e}",
random_id=0
)
# Основной цикл
def main():
longpoll = VkBotLongPoll(vk_session, "ВАШ_ID_ГРУППЫ")
print("Бот запущен!")
for event in longpoll.listen():
if event.type == VkBotEventType.MESSAGE_NEW:
message = event.object['message']['text']
# Если команда /kick
if message.startswith('/kick'):
kick_user(event, vk)
if __name__ == "__main__":
main()