Задать вопрос
@Enot_Star

Как определить является ли пользователь администратором чата вконтакте?

Для хороших программистов и тех, кто работал с vk_api простая проблема

Здравствуйте. У меня есть собственный бот ВК на языке Python. Хочу сделать несколько команд для администрирования беседы. Они должны быть доступны только администраторам чата и создателю беседы.
Но есть 2 проблемы.
Как определить является ли человек администратором?
И как определить является ли группа моего бота администратором.
Так как я еще недостаточно тру-программист я не могу понять как мне это сделать например.
Подскажите как это сделать например через метод getConversationMembers.
Пока-что эта команда работает только для id прописанных в коде.
Вот примерно так выглядит код:
Туть код
if 'кик' in response:
    count_command += 1
    if event.obj.from_id == 'Ну тут типа мой id' or event.obj.from_id == 'Ну тут типа мой id' or event.obj.from_id == 'Ну тут типа мой id':
        try:
            if event.obj.fwd_messages != []:
                i = event.obj.fwd_messages[0]["from_id"]
            elif event.obj.reply_message:
                i = event.obj.reply_message["from_id"]
            else:
                while not response.startswith('['):
                    response = response.lstrip(response[0])
                response = response.strip('[]')
                response = response[::-1]
                while not response.startswith('|'):
                    response = response.lstrip(response[0])
                response = response.strip('|id')
                i = int(response[::-1])
            if i != 'Ну тут типа мой id' and i != 'Ну тут типа мой id':
                session_api.messages.removeChatUser(chat_id = event.obj.peer_id - 2000000000, member_id = i)
            else:
                send_message(vk_session, 'peer_id',event.obj.peer_id, message= 'Ты батюшку решил кикнуть?')
            continue
        except:
            send_message(vk_session, 'peer_id',event.obj.peer_id, message= error_msg, attachment = error_p)
            continue
    else:
        send_message(vk_session, 'peer_id',event.obj.peer_id, message= access_error)
        continue
    continue

Заранее спасибо!
  • Вопрос задан
  • 2875 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 2
total4c
@total4c
Говнокодер
members = session_api.messages.getConversationMembers(peer_id = event.object.peer_id)
for i in members["items"]:
     if i["member_id"] == тут айди:
        admin = i.get('is_admin', False)
       if admin == True:
          действие()
Ответ написан
Ahen
@Ahen
Универсальный дилетант
https://vk.com/dev/messages.getConversationMembers
is_admin (boolean) — является ли пользователь администратором;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект