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

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

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

Зарегистрироваться!
Заблокированный
Регистрация
13 Авг 2024
Сообщения
45
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
Здравствуйте, делаю своего чат менеджера.
Прошу помочь с командой /kick.
ПОЖАЛУЙСТА, подскажите как сделать данную команду, и что бы она работала(исключала пользователя из беседы).
Буду очень благодарен!
 
Пользователь
Регистрация
17 Июл 2024
Сообщения
100
Установка библиотеки
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
Сообщения
45
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.
Установка библиотеки
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
Сообщения
100

Привет друг! Спасибо тебе большое.
Мог бы еще помочь с командой бана?
Мне нужно сделать команду /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
 
Заблокированный
Регистрация
13 Авг 2024
Сообщения
45
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки. Мы не несем ответственности за действия пользователя вне форума.

Да, заметил такое!
 
𝚖𝚘𝚛𝚜 𝚌𝚎𝚛𝚝𝚊, 𝚑𝚘𝚛𝚊 𝚒𝚗𝚌𝚎𝚛𝚝𝚊.
Команда форума
Администратор
Регистрация
21 Янв 2023
Сообщения
1,307
Сверху