Всем привет, я пишу бота для ВК на Longpoll и делаю функционал "свадеб" если можно так сказать. Вообщем, если пользователь напишет
!поженится с @123123
, то бот считывает строку после
@
и заносит в переменную, после - берёт имя пользователя и фамилию того человека после
@
и заносит в словарь -
mary = {}
.
То есть я напишу:
!поженится с @1
Мне выведет:
*** поженился с Павел Дуров
И занесет это в словарь.
Теперь он будет выглядеть так:
mary = {'***': 'Дуров'}
Итак, проблема в команде
!развестись
. По идее она сделана так:
name = vkapi.users.get(user_ids = event.user_id)
name_and_surname = name[0]['first_name'] + " " + name[0]['last_name']
write_msg(randint, event.user_id, ":o \n" + name_and_surname + " развёлся с " + mary[name[0]['last_name']])
del mary[name[0]['last_name']]
Подробнее:
1. Я беру имя и фамилию человека который ввёл эту команду
2. Вывожу сообщение о разводе
3. Удаляю элемент из массива по имени человека. ( я потом сделаю проверку есть ли он там вообще )
Но у меня выводит вот такую ошибку:
File "bot.py", line 71, in <module>
write_msg(randint, event.user_id, ":o \n" + name_and_surname + " развёлся с " + mary[name[0]['last_name']])
KeyError: 'My_name'
Почему?? Не могу понять, второй день уже мучаюсь.
Добавлено: Хотя кстате когда я ввожу команду
!кто женат
мне спокойно выводит этот ключ, т.е:
В списке женатых сейчас:
{'My_Name': 'Дуров'}