@pivazik

Как не выполнять команду если в тексте пользователя не найден ID человека?

Здравствуйте, возникла проблема при создании бота для беседы ВК.
Когда администратор беседы вводит команду "кик" без упоминания человека, то скрипт крашиться. Ещё есть проблема когда вводят ту же команду кик, но с упоминанием айди которого в ВК вообще нету или который есть в ВК, но этого пользователя нет в беседе.
Вот сам код (в нём уже есть распределение человека на группы по типу админа и т.д.):
if msg[0:3] == "кик":
		get_user = re.search("\d{1,}", msg)
		user_id = event.obj["from_id"]
		if user_id in admin:
			vk.method("messages.send", {"peer_id": event.object.peer_id, "message": " | @id" + str(get_user[0]) + "(Пользователь) был исключен из беседы.\nДля возврата напишите @id" + str(user_id) + "(администратору).", "random_id": 0})
			vk.method("messages.removeChatUser", {"chat_id": event.chat_id, "user_id": int(get_user[0])})
  • Вопрос задан
  • 83 просмотра
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Для начала было бы неплохо добавить проверку, есть ли ID в сообщении

get_user = re.search("\d{1,}", msg)
# если re.search ничего не найдет, она вернет None
if not get_user:
    return


Затем нужно добавить проверку, если ли этот ID в беседе.
https://vk.com/dev/messages.getChat
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы