yeref 0.24.36__tar.gz → 0.24.38__tar.gz

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yeref
3
- Version: 0.24.36
3
+ Version: 0.24.38
4
4
  Summary: desc-f
5
5
  Author: john smith
6
6
  Dynamic: author
@@ -2,7 +2,7 @@ from setuptools import setup
2
2
 
3
3
  setup(
4
4
  name='yeref',
5
- version='0.24.36',
5
+ version='0.24.38',
6
6
  description='desc-f',
7
7
  author='john smith',
8
8
  packages=['yeref'],
@@ -122,8 +122,8 @@ from yeref.l_ import l_inline_demo, l_inline_bot, l_inline_post, l_inline_media,
122
122
  l_web_version, l_payment_of_post, l_payment_check_token, l_podcast_start, l_chn_no_rights_for_media, \
123
123
  l_refund_title, l_refund_already_done, l_refund_success, l_refund_incorrect, \
124
124
  l_tools_has_restricted, l_bot_need_start_add, l_chn_need_boost_for_story, l_bot_need_restart_extra_bot, \
125
- l_bot_pub_with_payment
126
-
125
+ l_bot_pub_with_payment, l_sub_to_private_channel, l_payment_6_months, l_payment_1_months, l_material, \
126
+ l_payment_success, l_payment_hashtag
127
127
 
128
128
  # region group links
129
129
  payment_link = 'http://bagazhznaniy.ru/wp-content/uploads/2014/03/zhivaya-priroda.jpg'
@@ -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_for_all(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
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: yeref
3
- Version: 0.24.36
3
+ Version: 0.24.38
4
4
  Summary: desc-f
5
5
  Author: john smith
6
6
  Dynamic: author
File without changes
File without changes
File without changes
File without changes
File without changes