Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.
Зарегистрироваться!# функция отправки сообщений
def send_message(peer_id, text):
vk.messages.send(peer_id=peer_id, message=text, random_id=0)
# обработчик событий для команд
for event in longpoll.listen():
if event.type == VkBotEventType.MESSAGE_NEW and event.from_chat:
message = event.message
chat_id = event.chat_id
# Если команда /kick (прослушиваем вызов команды)
if message['text'].startswith('/kick'):
args = message['text'].split()
if len(args) < 2:
send_message(message['peer_id'], "Укажи юзера для кика")
continue
try:
user_id = int(args[1])
vk.messages.removeChatUser(chat_id=chat_id, user_id=user_id)
send_message(message['peer_id'], f"Пользователь с ID {user_id} был кикнут с чата")
except vk_api.exceptions.ApiError as e:
send_message(message['peer_id'], f"Ошибка: {e}")
def extract_user_id(arg):
if arg.startswith("[id") and "|" in arg:
user_id = arg[3:].split("|")[0]
try:
return int(user_id)
except ValueError:
return None
elif arg.startswith("@"):
return get_user_id(arg[1:])
else:
try:
return int(arg)
except ValueError:
return None
name = args[0].replace('@', '')
user_id = extract_user_id(name)
Для кика по юзернейму используй это :
В команду :Python:def extract_user_id(arg): if arg.startswith("[id") and "|" in arg: user_id = arg[3:].split("|")[0] try: return int(user_id) except ValueError: return None elif arg.startswith("@"): return get_user_id(arg[1:]) else: try: return int(arg) except ValueError: return None
Код:name = args[0].replace('@', '') user_id = extract_user_id(name)
Для кика по юзернейму используй это :
В команду :Python:def extract_user_id(arg): if arg.startswith("[id") and "|" in arg: user_id = arg[3:].split("|")[0] try: return int(user_id) except ValueError: return None elif arg.startswith("@"): return get_user_id(arg[1:]) else: try: return int(arg) except ValueError: return None
Код:name = args[0].replace('@', '') user_id = extract_user_id(name)