Чтобы проверить, присутствует ли человек в беседе перед его исключением, вы можете использовать метод API, который возвращает список участников беседы. Затем вы сможете проверить, есть ли ID пользователя в этом списке.
Вот пример, как можно реализовать эту логику:
```python
# Получаем список участников беседы
def get_chat_members(chat_id):
members = authorize.method('messages.getConversationMembers', {'peer_id': chat_id})
return [member['member_id'] for member in members['profiles']]
if msg_lower[1:] == "kick" or msg_lower[1:].startswith("kick "):
if not (id_user_ping or user_id):
write_message(sender, "⚠ Формат команды: /kick <@пользователь> <Причина>")
else:
chat_members = get_chat_members(sender)
if id_user_ping in chat_members:
# Если участник найден в беседе, кикаем его
authorize.method('messages.removeChatUser', {'chat_id': sender,
'user_id': id_user_ping,
'member_id': id_user_ping})
write_message(sender, "✅ Участник кикнут")
else:
# Если участник не найден в беседе
write_message(sender, "❌ Участник не найден в беседе")
```
### Объяснение:
1. **get_chat_members**: Функция, которая получает список участников беседы с помощью метода `messages.getConversationMembers`. Метод возвращает информацию о профилях участников, из которой мы извлекаем `member_id`.
2. **Проверка на присутствие**: После того, как мы собрали список участников в `chat_members`, проверяем, есть ли `id_user_ping` в этом списке.
3. **Кик или сообщение о недоступности**: Если пользователь найден, выполняем кик и отправляем сообщение о результате. Если не найден, отправляем сообщение об ошибке.
Эта логика позволяет перед исключением из беседы проверять, присутствует ли пользователь, и давать соответствующий ответ.