@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

Заранее спасибо!
  • Вопрос задан
  • 112 просмотров
Решения вопроса 1
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:
          действие()
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ahen
@Ahen
Универсальный дилетант
https://vk.com/dev/messages.getConversationMembers
is_admin (boolean) — является ли пользователь администратором;
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Delta Волгоград
от 60 000 до 100 000 руб.
от 120 000 до 170 000 руб.
Константа Москва
от 140 000 до 250 000 руб.
20 авг. 2019, в 12:42
7000 руб./за проект
20 авг. 2019, в 12:31
500 руб./в час
20 авг. 2019, в 11:47
3000 руб./за проект