Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.
Зарегистрироваться!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()
Установка библиотеки
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
Установите библиотеку в Payton
Привет друг! Спасибо тебе большое.
Мог бы еще помочь с командой бана?
Мне нужно сделать команду /ban для блокировки пользователя.
Это последняя просьба)
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 пользователя для бана.")
Ты сукааа блять нахуй оскать
Ты сукааа блять нахуй оскать