yeref 0.24.36__py3-none-any.whl → 0.24.37__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
yeref/yeref.py
CHANGED
@@ -15374,6 +15374,113 @@ async def check_sub_pay(chat_id, lz, BOT_TOKEN_E18B, BASE_D):
|
|
15374
15374
|
return is_paid, till_paid
|
15375
15375
|
|
15376
15376
|
|
15377
|
+
async def pay_handler(bot, message, ideas_en, ideas_ru, PROJECT_USERNAME, EXTRA_D, BASE_P):
|
15378
|
+
try:
|
15379
|
+
successful_payment_data = {k: v for k, v in message.successful_payment.model_dump().items() if v is not None}
|
15380
|
+
print(f"successful_payment {successful_payment_data}")
|
15381
|
+
chat_id = message.from_user.id
|
15382
|
+
lz = await lz_code_pg(chat_id, message.from_user.language_code, BASE_P)
|
15383
|
+
total_amount = message.successful_payment.total_amount
|
15384
|
+
payload = message.successful_payment.invoice_payload
|
15385
|
+
# tx_id = message.successful_payment.telegram_payment_charge_id
|
15386
|
+
|
15387
|
+
DT_START = datetime.now(timezone.utc).strftime('%d-%m-%Y_%H-%M-%S')
|
15388
|
+
DT_END = ""
|
15389
|
+
sub_exp_date = message.successful_payment.subscription_expiration_date
|
15390
|
+
if sub_exp_date: DT_END = datetime.fromtimestamp(sub_exp_date, tz=timezone.utc).strftime('%d-%m-%Y_%H-%M-%S')
|
15391
|
+
print(f"{DT_END=}, {payload=}")
|
15392
|
+
# if payload == '-': payload = 'material'
|
15393
|
+
|
15394
|
+
if payload == 'all':
|
15395
|
+
payload_txt = l_sub_to_private_channel[lz]
|
15396
|
+
elif payload == '6':
|
15397
|
+
payload_txt = l_payment_6_months[lz]
|
15398
|
+
elif payload == '1':
|
15399
|
+
payload_txt = l_payment_1_months[lz]
|
15400
|
+
elif payload == 'donate':
|
15401
|
+
payload_txt = l_donate[lz]
|
15402
|
+
elif payload == 'material':
|
15403
|
+
payload_txt = l_material[lz]
|
15404
|
+
else:
|
15405
|
+
payload_txt = str(payload) if payload else ''
|
15406
|
+
|
15407
|
+
await bot.send_message(chat_id=chat_id, text='🎉')
|
15408
|
+
USER_PAYMENTS = []
|
15409
|
+
sql = "SELECT USER_TID, USER_LSTS FROM \"USER\" WHERE USER_TID=$1"
|
15410
|
+
data_usr = await db_select_pg(sql, (chat_id,), BASE_P)
|
15411
|
+
if not len(data_usr):
|
15412
|
+
dt_ = datetime.now(timezone.utc).strftime('%d-%m-%Y_%H-%M-%S')
|
15413
|
+
sql = "INSERT INTO \"USER\" (USER_TID, USER_DT) VALUES ($1, $2) ON CONFLICT DO NOTHING"
|
15414
|
+
await db_change_pg(sql, (chat_id, dt_,), BASE_P)
|
15415
|
+
USER_LSTS = json.loads(USER_LSTS_)
|
15416
|
+
else:
|
15417
|
+
USER_TID, USER_LSTS = data_usr[0]
|
15418
|
+
USER_LSTS = json.loads(USER_LSTS or USER_LSTS_)
|
15419
|
+
USER_PAYMENTS = USER_LSTS.get("USER_PAYMENTS", [])
|
15420
|
+
|
15421
|
+
print(f"{payload=}")
|
15422
|
+
if payload in ['all', '6', '1']:
|
15423
|
+
USER_PAYMENTS.append({
|
15424
|
+
'TYPE': 'SUB',
|
15425
|
+
'LOAD': 'month' if payload == '1' else payload,
|
15426
|
+
'DT_START': DT_START,
|
15427
|
+
'DT_END': DT_END,
|
15428
|
+
'AMOUNT': total_amount
|
15429
|
+
})
|
15430
|
+
elif payload == 'donate':
|
15431
|
+
USER_PAYMENTS.append({
|
15432
|
+
'TYPE': 'DON',
|
15433
|
+
'LOAD': payload,
|
15434
|
+
'DT_START': DT_START,
|
15435
|
+
'DT_END': DT_END,
|
15436
|
+
'AMOUNT': total_amount
|
15437
|
+
})
|
15438
|
+
elif payload in ['material']:
|
15439
|
+
USER_PAYMENTS.append({
|
15440
|
+
'TYPE': 'MAT',
|
15441
|
+
'LOAD': payload,
|
15442
|
+
'DT_START': DT_START,
|
15443
|
+
'DT_END': DT_END,
|
15444
|
+
'AMOUNT': total_amount
|
15445
|
+
})
|
15446
|
+
|
15447
|
+
ideas = ideas_ru if lz == 'ru' else ideas_en
|
15448
|
+
lst = [[i + 1, idea] for i, idea in enumerate(ideas)]
|
15449
|
+
|
15450
|
+
f_name = f"{payload_txt}-{lz}.csv"
|
15451
|
+
output = io.StringIO()
|
15452
|
+
csv_writer = csv.writer(output)
|
15453
|
+
csv_writer.writerow(["#", "i"])
|
15454
|
+
csv_writer.writerows(lst)
|
15455
|
+
|
15456
|
+
async with aiofiles.open(f_name, 'w', newline='') as f:
|
15457
|
+
await f.write(output.getvalue())
|
15458
|
+
thumb = types.FSInputFile(os.path.join(EXTRA_D, 'parse.jpg'))
|
15459
|
+
await bot.send_document(chat_id=chat_id, document=types.FSInputFile(f_name), thumbnail=thumb)
|
15460
|
+
if os.path.exists(f_name): os.remove(f_name)
|
15461
|
+
else:
|
15462
|
+
USER_PAYMENTS.append({
|
15463
|
+
'TYPE': 'EXT',
|
15464
|
+
'LOAD': payload,
|
15465
|
+
'DT_START': DT_START,
|
15466
|
+
'DT_END': DT_END,
|
15467
|
+
'AMOUNT': total_amount
|
15468
|
+
})
|
15469
|
+
|
15470
|
+
USER_LSTS["USER_PAYMENTS"] = USER_PAYMENTS
|
15471
|
+
USER_LSTS = json.dumps(USER_LSTS, ensure_ascii=False)
|
15472
|
+
|
15473
|
+
sql = f"UPDATE \"USER\" SET USER_PAY=$1 WHERE USER_TID=$2"
|
15474
|
+
await db_change_pg(sql, (USER_LSTS, chat_id,), BASE_P)
|
15475
|
+
|
15476
|
+
text = f"{l_payment_success[lz]} ★{total_amount}, {payload_txt}\n\n♥️ @{PROJECT_USERNAME} {l_payment_hashtag[lz]}"
|
15477
|
+
await bot.send_message(chat_id=chat_id, text=text)
|
15478
|
+
except TelegramRetryAfter as e:
|
15479
|
+
logger.info(log_ % f'TelegramRetryAfter {e.retry_after}')
|
15480
|
+
await asyncio.sleep(e.retry_after)
|
15481
|
+
except Exception as e:
|
15482
|
+
logger.info(log_ % str(e))
|
15483
|
+
await asyncio.sleep(round(random.uniform(0, 1), 2))
|
15377
15484
|
# endregion
|
15378
15485
|
|
15379
15486
|
|
@@ -0,0 +1,8 @@
|
|
1
|
+
yeref/__init__.py,sha256=Qpv3o6Xa78VdLcsSRmctGtpnYE9btpAkCekgGhgJyXM,49
|
2
|
+
yeref/l_.py,sha256=LMX_olmJwq-tgoALJCnhV_fGrL_i_43yBLkLIcEVqGo,1176743
|
3
|
+
yeref/tonweb.js,sha256=Jf6aFOQ1OIY4q7fINYz-m5LsI3seMus124M5SYYZmtE,443659
|
4
|
+
yeref/yeref.py,sha256=GNduseJKtIFyUf2MZZEMjkGfolzPGBDmVdc_VS6DGU4,1031251
|
5
|
+
yeref-0.24.37.dist-info/METADATA,sha256=4ZLnS9OGklI7mTkKxrwBXOGkbCh4fWezq8dgSnY9Ev4,119
|
6
|
+
yeref-0.24.37.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
7
|
+
yeref-0.24.37.dist-info/top_level.txt,sha256=yCQKchWHbfV-3OuQPYRdi2loypD-nmbDJbtt3OuKKkY,6
|
8
|
+
yeref-0.24.37.dist-info/RECORD,,
|
yeref-0.24.36.dist-info/RECORD
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
yeref/__init__.py,sha256=Qpv3o6Xa78VdLcsSRmctGtpnYE9btpAkCekgGhgJyXM,49
|
2
|
-
yeref/l_.py,sha256=LMX_olmJwq-tgoALJCnhV_fGrL_i_43yBLkLIcEVqGo,1176743
|
3
|
-
yeref/tonweb.js,sha256=Jf6aFOQ1OIY4q7fINYz-m5LsI3seMus124M5SYYZmtE,443659
|
4
|
-
yeref/yeref.py,sha256=i7z7OyVKV1R2KmZCXRbKYYlmI1VLB7-qLvm3GceVFRc,1026607
|
5
|
-
yeref-0.24.36.dist-info/METADATA,sha256=P_JDpywHrZAwBK2yHt0frOKILRjmIs8f_C5kchdidpU,119
|
6
|
-
yeref-0.24.36.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
7
|
-
yeref-0.24.36.dist-info/top_level.txt,sha256=yCQKchWHbfV-3OuQPYRdi2loypD-nmbDJbtt3OuKKkY,6
|
8
|
-
yeref-0.24.36.dist-info/RECORD,,
|
File without changes
|
File without changes
|