Здравствуйте! Только начал изучать пайтон, и столкнулся с проблемой: вылетает ошибка KeyError, хотя ключ есть в словаре.
код:
Все время ввожу id который есть в переменных.
код:
Python:
from vk_api.longpoll import VkLongPoll, VkEventType
import vk_api
from datetime import datetime
import random
# вписываем свой токен
token = "токен"
vk_session = vk_api.VkApi(token=token)
# тип авторизация
session_api = vk_session.get_api()
longpoll = VkLongPoll(vk_session)
# все переменные:
balance = {358970681: 0, 457641188: 6000, 590411648: 3000}
nicks = {358970681: 'áåçÍÈÊèé', 457641188: 'áåçÍÈÊèé', 590411648: 'дурак?'}
check = 0
print('Запускаю...')
# все функции:
# отправить сообщение
def send(id, text):
vk_session.method('messages.send', {'user_id': id, 'message': text , 'random_id': 0})
# передача денег
# передать 457641188 128
def pay(x):
# сколько передаем?
if x[19 : ] == 'все':
pay_balance = balance[id]
else:
pay_balance = float(x[19 : ])
print('я зачислил сумму: ' + str(pay_balance))
from_where_pay = id # откуда оплата?
where_to_pay = x[9 : 18] # куда оплата?
print('я зачислил айдишник отправителя: ' + str(from_where_pay) + ', а также получателя: ' + str(where_to_pay))
send(from_where_pay, 'ты отправил ' + str(pay_balance) + '(тест)')
balance[id] -= pay_balance
print('отправил отправителю')
send(where_to_pay, 'ты получил бабки в размере: ' + str(pay_balance) +'(тест)')
balance[where_to_pay] += pay_balance # здесь ошибка
print('отправил получателю')
# если пришло новое сообщение:
for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW:
if check == 0:
msg = event.text.lower()
id = event.user_id
if event.from_user and not (event.from_me):
if msg == "гм":
send(id, '?Ты в главном меню ?\n?Выбирай что ты хочешь делать')
elif "передать " in msg:
pay(msg)
else:
send(id, 'Напиши "помощь", чтобы узнать мои команды')
Все время ввожу id который есть в переменных.