@RINAMI
Занимаюсь монтажом и дизайном. PSD,AEX,VEG.

В чем заключается ошибка моего кода?

Составлял команду "кика" пользователя из беседы, после отправления команды, Python выдает ошибку мол я не передал chat_id, после того как передаю его, пишет что не передал user_id, хотя, по сути все должно работать.
kerinkick = event.object.message['text']
def get_chat_member(id, group_id, user_name_search):
    members = getting_api.messages.getConversationMembers(peer_id=2000000000 + id, group_id=group_id)['profiles']
    for i in range(len(members)):
        if members[i]['first_name'] == user_name_search:
            user_id = members[i]['id']
            full_name = members[i]['first_name'] + ' ' + members[i]['last_name']
            appeal = '*id' + str(user_id) + '(' + full_name + ')'
            return appeal
def kerin_kick(id):
    vk.method("messages.removeChatUser", {'chat_id': id, 'user_id': chat_member}) 
           elif kerinkick[0:11] == '~~kerinkick':
                user_name_search = kerinkick[12:]
                chat_member = get_chat_member(id, 205491910, user_name_search)
                if chat_member == None:
                    chatsender(id, "❌Такого человека нет в беседе❌")
                else:
                    kerin_kick(chat_member)
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
WolfInChains
@WolfInChains
Вы возвращаете не айди, а строку с упоминанием
appeal = '*id' + str(user_id) + '(' + full_name + ')'
return appeal


Как должно быть
if members[i]['first_name'] == user_name_search:
    return members[i]['id']


А еще это
for i in range(len(members)):
    if members[i]['first_name'] == user_name_search:
        user_id = members[i]['id']


Можно заменить на это
for i in members:
    if i['first_name'] == user_name_search:
        user_id = i['id']
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Idaproject Москва
от 70 000 ₽
Автохолдинг Максимум Санкт-Петербург
от 140 000 до 160 000 ₽
БАРС Груп Санкт-Петербург
от 60 000 до 200 000 ₽