не могу разобраться с киком из беседы
Всем привет, создаю своего бота для администрирования в беседах Вконтакте, но столкнулся с проблемой что не могу разобраться с киком. Помогите пожалуйста.
import vk_api
from vk_api.longpoll import VkLongPoll, VkEventType
import random
# Токен группы
TOKEN = 'ТОКЕН'
ADMIN_FILE = 'admins.txt'
def load_admins():
"""Загружает список администраторов из файла."""
try:
with open(ADMIN_FILE, 'r') as file:
return set(map(int, file.read().splitlines()))
except FileNotFoundError:
return set()
def save_admins(admins):
"""Сохраняет список администраторов в файл."""
with open(ADMIN_FILE, 'w') as file:
for admin in admins:
file.write(f"{admin}\n")
def is_admin(admins, user_id):
"""Проверяет, является ли пользователь администратором."""
return user_id in admins
def add_admin(admins, user_id, admin_id):
"""Добавляет пользователя в список администраторов."""
if not is_admin(admins, admin_id):
return "У вас нет прав для выполнения этой команды."
if user_id not in admins:
admins.add(user_id)
save_admins(admins)
return f"Пользователь {user_id} был добавлен как администратор."
return f"Пользователь {user_id} уже администратор."
def remove_admin(admins, user_id, admin_id):
"""Удаляет пользователя из списка администраторов."""
if not is_admin(admins, admin_id):
return "У вас нет прав для выполнения этой команды."
if user_id in admins:
admins.remove(user_id)
save_admins(admins)
return f"Пользователь {user_id} был удален из администраторов."
return f"Пользователь {user_id} не является администратором."
def main():
vk = vk_api.VkApi(token=TOKEN)
longpoll = VkLongPoll(vk)
admins = load_admins()
for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW and event.to_me:
user_id = event.user_id
command = event.text.lower()
chat_id = event.chat_id
if command.startswith("/addadmin"):
# Обрабатываем команду добавления администратора
user_to_add = int(command.split()[-1])
response = add_admin(admins, user_to_add, user_id)
vk.method('messages.send', {'peer_id': event.peer_id, 'message': response, 'random_id': 0})
elif command.startswith("/removeadmin"):
# Обрабатываем команду удаления администратора
user_to_remove = int(command.split()[-1])
response = remove_admin(admins, user_to_remove, user_id)
vk.method('messages.send', {'peer_id': event.peer_id, 'message': response, 'random_id': 0})
elif command.startswith ("/kick"):
vk.messages.send(
chat_id=chat_id,
message=f"Пользователь |Пользователь> размучен.",
random_id=0
)
if __name__ == "__main__":
main()