Бот ВК не работает в других беседах

У меня есть бот, который кикает, мутит и банит пользователей.

В чате группы бот работает и всё отлично, но если его добавить в другую беседу, дать доступ к переписке и админку, то бот молчит и не реагирует на сообщения.

Вот кусок кода, отвечающий за чтение сообщений и ответов на них:

for event in longpoll.listen():
    if event.type == VkEventType.MESSAGE_NEW and event.from_chat:  

        user_id = event.user_id
        peer_id = event.peer_id  # Получаем peer_id (может быть как chat_id, так и user_id)
        message_text = event.text  # Получаем текст сообщения

        # Выводим сообщение в консоль
        print(f"Получено сообщение от {user_id} в {'личных сообщениях' if peer_id < 2000000000 else 'беседе'}: {message_text}")

        # Определяем chat_id
        if peer_id >= 2000000000:  # Это беседа
            chat_id = peer_id - 2000000000
        else:  # Это личные сообщения
            chat_id = None  # ЛС не имеют chat_id
        # Выводим сообщение в консоль

        # Проверка нажатия кнопки "чеклист"
        if event.text.lower() == "чеклист":
            try:
                if peer_id >= 2000000000:  # Это беседа
                    chat_id = peer_id - 2000000000
                else:  # Это личные сообщения
                    chat_id = None  # ЛС не имеют chat_id

                members = get_chat_members(chat_id) if chat_id is not None else []
                member_info = []

                for member in members:
                    user_info = vk_bot.users.get(user_ids=member['id'])[0]
                    member_info.append(
                        f"ID: {user_info['id']}, Ник: {user_info['first_name']} {user_info['last_name']}")

                # Проверка, есть ли участники
                if not member_info:
                    response_message = "Участники беседы не найдены."
                else:
                    response_message = "\n".join(member_info)

                vk_bot.messages.send(
                    peer_id=peer_id,
                    message=f"Участники беседы:\n{response_message}",
                    random_id=0
                )
            except Exception as e:
                vk_bot.messages.send(
                    peer_id=peer_id,
                    message="Произошла ошибка при получении участников беседы.",
                    random_id=0
                )
            continue

        # Проверка нажатия кнопки "админка"
        if event.text.lower().startswith(
                "админка ") and user_id == 771857583:  # Только главный администратор может добавлять
            try:
                target_user_id = int(event.text.split()[1])
                add_admin(target_user_id)  # Добавляем пользователя в администраторы
                vk_bot.messages.send(
                    peer_id=peer_id,
                    message=f"Пользователь {target_user_id} теперь администратор.",
                    random_id=0
                )
            except (IndexError, ValueError):
                vk_bot.messages.send(
                    peer_id=peer_id,
                    message="Пожалуйста, укажите корректный ID пользователя для добавления в администраторы.",
                    random_id=0
                )
            continue

        # Проверка нажатия кнопки "адмлист"
        if event.text.lower() == "адмлист":
            admin_list = get_admins_list()
            if not admin_list:
                response_message = "Нет администраторов."
            else:
                response_message = "\n".join([f"ID: {admin_id}" for admin_id in admin_list])

            vk_bot.messages.send(
                peer_id=peer_id,
                message=f"Список администраторов:\n{response_message}",
                random_id=0
            )
            continue

        if event.type == VkEventType.MESSAGE_NEW and event.to_me:  # Проверяем, что это новое сообщение
            user_id = event.user_id  # Получаем ID пользователя
            message_id = event.message_id  # Получаем ID сообщения

            # Проверка на мутацию
            if is_user_muted(user_id):
                try:
                    vk_session.method('messages.delete',
                                      {'message_ids': message_id, 'delete_for_all': 1})  # Удаляем сообщение для всех
                    print(f"Сообщение от пользователя {user_id} удалено для всех, так как он замучен.")
                except Exception as e:
                    print(f"Ошибка при удалении сообщения пользователя {user_id}: {e}")

                # Проверка на бан
                if user_id in banned_users:
                    if chat_id is not None:
                        vk_bot.messages.removeChatUser(chat_id=chat_id, user_id=user_id)
                    continue

            # Проверка на бан
        if user_id in banned_users:
            print(f"Пользователь {user_id} (сообщение: '{message_text}') - забанен.")
            if peer_id >= 2000000000:  # Проверяем, что это беседа
                vk_bot.messages.removeChatUser(chat_id=peer_id - 2000000000, user_id=user_id)
            continue  # Пропускаем дальнейшую обработку для забаненного пользователя

            # Вывод информации в консоль
        print(f"Пользователь {user_id} отправил сообщение: '{message_text}'")
        print(f"Пользователь {user_id} не забанен.")


        if event.text.lower().startswith(("мут ", "бан ", "кик ")):
            if is_admin(user_id):  # Если пользователь администратор
                try:
                    target_user_id = int(event.text.split()[1])
                    if not is_user_in_chat(target_user_id, chat_id):
                        vk_bot.messages.send(
                            peer_id=peer_id,
                            message=f"Пользователь {target_user_id} не найден в чате.",
                            random_id=0
                        )
                        continue
                    # Обработка других команд, например, бана
                    if message_text.lower().startswith("бан "):
                        if is_admin(user_id):
                            try:
                                target_user_id = int(message_text.split()[1])
                                banned_users.add(target_user_id)  # Добавляем пользователя в список забаненных
                                save_banned_users(banned_users)  # Сохраняем обновленный список в файл

                                vk_bot.messages.send(
                                    peer_id=peer_id,
                                    message=f"Пользователь {target_user_id} был забанен.",
                                    random_id=0
                                )
                                print(f"Пользователь {target_user_id} был забанен администратором {user_id}.")

                                # Кикаем пользователя из беседы
                                if peer_id >= 2000000000:  # Проверяем, что это беседа
                                    vk_bot.messages.removeChatUser(chat_id=peer_id - 2000000000, user_id=target_user_id)
                            except (IndexError, ValueError):
                                vk_bot.messages.send(
                                    peer_id=peer_id,
                                    message="Пожалуйста, укажите корректный ID пользователя для бана.",
                                    random_id=0
                                )
                            continue

                    # Пример вызова функции мутации
                    if event.text.lower().startswith("мут "):
                        if is_admin(user_id):  # Если пользователь администратор
                            try:
                                parts = event.text.split()
                                target_user_id = int(parts[1])
                                mute_duration = int(parts[2]) * 60  # Переводим минуты в секунды

                                if not is_user_in_chat(target_user_id, chat_id):
                                    vk_bot.messages.send(
                                        peer_id=peer_id,
                                        message=f"Пользователь {target_user_id} не найден в чате.",
                                        random_id=0
                                    )
                                    continue

                                mute_user(target_user_id)  # Добавляем пользователя в файл мутаций
                                vk_bot.messages.send(
                                    peer_id=peer_id,
                                    message=f"Пользователь {target_user_id} замучен на {parts[2]} минут.",
                                    random_id=0
                                )
                                print(f"Пользователь {target_user_id} замучен на {parts[2]} минут.")

                                # Размучивание через mute_duration
                                threading.Timer(mute_duration, unmute_user,
                                                args=(target_user_id,)).start()  # Размучиваем через заданное время
                                continue

                            except (IndexError, ValueError):
                                vk_bot.messages.send(
                                    peer_id=peer_id,
                                    message="Пожалуйста, укажите корректный ID пользователя и время в минутах для выполнения команды.",
                                    random_id=0
                                )
                                continue
                        else:
                            vk_bot.messages.send(
                                peer_id=peer_id,
                                message="У вас нет прав для выполнения этой команды.",
                                random_id=0
                            )
                            continue

                    elif event.text.lower().startswith("кик "):
                        kick_user(target_user_id, chat_id)
                        vk_bot.messages.send(
                            peer_id=peer_id,
                            message=f"Пользователь {target_user_id} был исключен из беседы.",
                            random_id=0
                        )
                        continue
                except (IndexError, ValueError):
                    vk_bot.messages.send(
                        peer_id=peer_id,
                        message="Пожалуйста, укажите корректный ID пользователя для выполнения команды.",
                        random_id=0
                    )
                    continue
            else:
                vk_bot.messages.send(
                    peer_id=peer_id,
                    message="У вас нет прав для выполнения этой команды.",
                    random_id=0
                )
                continue
        # Пример вызова функции размутирования
        if event.text.lower().startswith("размут "):
            if is_admin(user_id):  # Если пользователь администратор
                try:
                    target_user_id = int(event.text.split()[1])

                    if not is_user_in_chat(target_user_id, chat_id):
                        vk_bot.messages.send(
                            peer_id=peer_id,
                            message=f"Пользователь {target_user_id} не найден в чате.",
                            random_id=0
                        )
                        continue

                    unmute_user(target_user_id)  # Убираем пользователя из файла мутаций
                    vk_bot.messages.send(
                        peer_id=peer_id,
                        message=f"Пользователь {target_user_id} размучен.",
                        random_id=0
                    )
                    print(f"Пользователь {target_user_id} размучен.")
                    continue

                except (IndexError, ValueError):
                    vk_bot.messages.send(
                        peer_id=peer_id,
                        message="Пожалуйста, укажите корректный ID пользователя для выполнения команды.",
                        random_id=0
                    )
                    continue
            else:
                vk_bot.messages.send(
                    peer_id=peer_id,
                    message="У вас нет прав для выполнения этой команды.",
                    random_id=0
                )
                continue

Ответы (0 шт):