Помогите пожалуйста сделать команду кика в боте

Добро пожаловать!

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

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
Пользователь
Регистрация
13 Авг 2024
Сообщения
22
Здравствуйте, делаю своего чат менеджера.
Прошу помочь с командой /kick.
ПОЖАЛУЙСТА, подскажите как сделать данную команду, и что бы она работала(исключала пользователя из беседы).
Буду очень благодарен!
 
Заблокированный
Регистрация
17 Июл 2024
Сообщения
51
Установка библиотеки
Payton

pip install vk-api

Python:
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()


Требования у бота должны быть права администратора в беседе

Tg/ @fast_ejje777
 
Пользователь
Регистрация
13 Авг 2024
Сообщения
22
Установка библиотеки
Payton

pip install vk-api

Python:
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()


Требования у бота должны быть права администратора в беседе

Tg/ @fast_ejje777

Привет друг! Спасибо тебе большое.
Мог бы еще помочь с командой бана?
Мне нужно сделать команду /ban для блокировки пользователя.
Это последняя просьба)
 
Заблокированный
Регистрация
17 Июл 2024
Сообщения
51

Привет друг! Спасибо тебе большое.
Мог бы еще помочь с командой бана?
Мне нужно сделать команду /ban для блокировки пользователя.
Это последняя просьба)
Установите библиотеку в Payton
pip install vk_api

Python:
import vk_api
from vk_api.longpoll import VkLongPoll, VkEventType

# Токен твоего сообщества
access_token = 'YOUR_ACCESS_TOKEN'
group_id = 'YOUR_GROUP_ID'

# Авторизация через токен сообщества
vk_session = vk_api.VkApi(token=access_token)
vk = vk_session.get_api()

# Создание LongPoll для получения сообщений
longpoll = VkLongPoll(vk_session)

def send_message(user_id, message):
    """Функция для отправки сообщения пользователю."""
    vk.messages.send(user_id=user_id, message=message, random_id=vk_api.utils.get_random_id())

def ban_user(user_id):
    """Функция для бана пользователя."""
    try:
        vk.groups.ban_user(group_id=group_id, user_id=user_id)
        send_message(user_id, "Пользователь заблокирован.")
    except vk_api.exceptions.ApiError as e:
        send_message(user_id, f"Ошибка при блокировке: {e}")

# Основной цикл обработки событий
for event in longpoll.listen():
    if event.type == VkEventType.MESSAGE_NEW:
        message = event.text.strip()
        user_id = event.user_id
        
        # Проверка на команду /ban
        if message.startswith('/ban'):
            # Получаем ID пользователя для бана
            try:
                banned_user_id = int(message.split()[1])
                ban_user(banned_user_id)
            except (IndexError, ValueError):
                send_message(user_id, "Ошибка: Не указан ID пользователя для бана.")

Удачи братух tg/@fast_ejje777
 
Сверху