Код на проверку переводов yoomoney в определённом месте перестал работать
elif(message.text == "Я оплатил"):
user_id = message.from_user.id
bot.send_message(message.chat.id, text="Проверка оплаты...")
with open('label.json','r') as f:
data = json.load(f)
pas = data[str(user_id)]['pas']
money = data[str(user_id)]['money']
#часть кода не по теме...
token = cfg.ytoken
client = Client(token)
history = client.operation_history(label=pas)
for operation in history.operations: #часть в коде котороя не работает
if operation.status == "success":
with open('SHC.json') as f:
data = json.load(f)
data = add_money(data, user_id, money)
with open('SHC.json', 'w') as f:
json.dump(data, f)
#часть кода не по теме...
bot.send_message(message.chat.id, text=f"Статус оплаты с кодом\n{pas}\n\nОплачено, скоро на ваш счёт поступят деньги",reply_markup=markup)
else:
bot.send_message(message.chat.id, text=f"Статус оплаты с кодом\n{pas}\n\nНе оплачено",reply_markup=markup)
часть кода из телеграмм бота, при проверки оплаты есть 2 варианта:
Оплачено или не оплачено, изначально я запускал команду на создание ссылки на оплату с label="рандомное сочетание латинских букв и цифр" и запускал проверку на оплату, данная часть года, как и должна была, сообщала о том, что оплата не происходила... Потом я так-же запустил команду на создание ссылки с labell="рандомное сочетание латинских букв и цифр" и запускал проверку на оплату(перед этим совершив её) - всё сработала и оплата подтвердилась, но после этого код перестал что-либо выдавать после #часть в коде котороя не работает.
Что могло пойти не так?
Ответы (1 шт):
я конечно не эксперт но у тебя идёт моментальная проверка и возможно что деньги просто так быстро не приходят попробуй зациклить и в случае поступления останавливать цикл и советую не использовать рандомный набор букв и цифр они могут однажды совпасть используй лучше member.id и допустим модуль datetime для получения времени пример : f('{member.id} {datetime.datetime.now().hour:02d}:{datetime.datetime.now().minute:02d}') если не понял могу помочь в дискорде (maloletka777)
while True:
for operation in history.operations:
if operation.status == "success":
with open('SHC.json') as f:
data = json.load(f)
data = add_money(data, user_id, money)
with open('SHC.json', 'w') as f:
json.dump(data, f)
break