# GiftReaper
GiftReaper เป็นแพ็กเกจสำหรับช่วยในการทำธุรกรรมจากการส่งซองทรูมันนี่
## _ความสามารถของแพ็กเกจ_
- ตรวจสอบข้อมูลจากซองทรูมันนี่
- รับเงินจากซองทรูมันนี่
- เปรียบเทียบจำนวนเงินจากซองทรูมันนี่กับราคาสินค้าที่สนใจ
- ตรวจสอบจำนวนเงินจากซองทรูมันนี่
## วิธีติดตั้ง
```sh
pip install GiftReaper
```
#### วิธีตรวจสอบข้อมูลจากซองทรูมันนี่
```sh
verify_voucher(${ลิงก์บัตรกำนัลหรือรหัสบัตรกำนัล}, ${หมายเลขโทรศัพท์ของบัญชีรับเงิน})
```
#### วิธีรับเงินจากซองทรูมันนี่
```sh
redeem_voucher(${ลิงก์บัตรกำนัลหรือรหัสบัตรกำนัล}, ${หมายเลขโทรศัพท์ของบัญชีรับเงิน})
```
#### วิธีเปรียบเทียบจำนวนเงินจากซองทรูมันนี่กับราคาสินค้าที่สนใจ
```sh
is_voucher_balance_sufficient(${ลิงก์บัตรกำนัลหรือรหัสบัตรกำนัล}, ${หมายเลขโทรศัพท์ของบัญชีรับเงิน}, ${ราคาสินค้าที่สนใจ})
```
#### วิธีตรวจสอบจำนวนเงินจากซองทรูมันนี่
```sh
check_voucher_amount_baht(${ลิงก์บัตรกำนัลหรือรหัสบัตรกำนัล}, ${หมายเลขโทรศัพท์ของบัญชีรับเงิน})
```
#### ตัวอย่างรูปแบบข้อมูลต่าง ๆ
```sh
# รูปแบบลิงก์หรือรหัสบัตรกำนัล
voucher_url_first_format: str = 'https://gift.truemoney.com/campaign/?v={รหัสบัตรกำนัล}'
voucher_url_second_format: str = '{รหัสบัตรกำนัล}'
# รูปแบบหมายเลขโทรศัพท์
mobile_number_first_format: str = '08x-xxx-xxxx'
mobile_number_second_format: str = '08xxxxxxxx'
# รูปแบบราคาสินค้า
product_price_500: int = 500
product_price_500_0: float = 500.0
```
#### ตัวอย่าง
```sh
from GiftReaper import verify_voucher, redeem_voucher, is_voucher_balance_sufficient, check_voucher_amount_baht
voucher_url_10_baht: str = '{รหัสบัตรกำนัล}'
mobile_number: str = '08x-xxx-xxxx'
product_price_9_50: float = 9.50
product_price_10: int = 10
product_price_10_50: float = 10.50
if __name__ == '__main__':
# check_voucher_amount_baht()
print(check_voucher_amount_baht(voucher_url_10_baht, mobile_number)) # ผลลัพธ์ 10.0
# is_voucher_balance_sufficient()
print(is_voucher_balance_sufficient(voucher_url_10_baht, mobile_number, product_price_9_50)) # ผลลัพธ์ False
print(is_voucher_balance_sufficient(voucher_url_10_baht, mobile_number, product_price_10)) # ผลลัพธ์ True
print(is_voucher_balance_sufficient(voucher_url_10_baht, mobile_number, product_price_10_50)) # ผลลัพธ์ False
# verify_voucher()
response = verify_voucher(voucher_url_10_baht, mobile_number)
status_code = response['status']['code']
if status_code == 'SUCCESS':
print(response)
elif status_code == 'INVALID_MOBILE_NUMBER':
print('รูปแบบหมายเลขโทรศัพท์ไม่ถูกต้อง')
elif status_code == 'CANNOT_GET_OWN_VOUCHER':
print('เจ้าของซองทรูมันนี่ไม่สามารถรับเงินจากซองของตนเองได้')
elif status_code == 'TARGET_USER_NOT_FOUND':
print('ไม่พบหมายเลขโทรศัพท์นี้ในระบบ')
elif status_code == 'INTERNAL_ERROR':
print('ระบบของทรูมันนี่นี้ขัดข้อง')
elif status_code == 'VOUCHER_OUT_OF_STOCK':
print('เงินจากซองทรูมันนี่นี้มีคนก่อนหน้ารับไปหมดแล้ว')
elif status_code == 'VOUCHER_NOT_FOUND':
print('ไม่พบซองทรูมันนี่นี้ในระบบ')
elif status_code == 'VOUCHER_EXPIRED':
print('ซองทรูมันนี่นี้หมดอายุ')
# redeem_voucher()
response = redeem_voucher(voucher_url_10_baht, mobile_number)
status_code = response['status']['code']
if status_code == 'SUCCESS':
print(response)
elif status_code == 'INVALID_MOBILE_NUMBER':
print('รูปแบบหมายเลขโทรศัพท์ไม่ถูกต้อง')
elif status_code == 'CANNOT_GET_OWN_VOUCHER':
print('เจ้าของซองทรูมันนี่ไม่สามารถรับเงินจากซองของตนเองได้')
elif status_code == 'TARGET_USER_NOT_FOUND':
print('ไม่พบหมายเลขโทรศัพท์นี้ในระบบ')
elif status_code == 'INTERNAL_ERROR':
print('ระบบของทรูมันนี่นี้ขัดข้อง')
elif status_code == 'VOUCHER_OUT_OF_STOCK':
print('เงินจากซองทรูมันนี่นี้มีคนก่อนหน้ารับไปหมดแล้ว')
elif status_code == 'VOUCHER_NOT_FOUND':
print('ไม่พบซองทรูมันนี่นี้ในระบบ')
elif status_code == 'VOUCHER_EXPIRED':
print('ซองทรูมันนี่นี้หมดอายุ')
```
#### คำเตือน
เนื่องจาก GiftReaper อาจมีการคืนค่าเป็น UTF-8 หากเกิดปัญหาด้านการแสดงผลอักขระ (เช่น ภาษาไทยไม่แสดงผล) ให้ลองเพิ่มโค้ดนี้ที่ต้นไฟล์ของคุณ:
```shell
import sys
import io
# ตั้งค่า stdout ให้รองรับ UTF-8
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
```
Raw data
{
"_id": null,
"home_page": null,
"name": "GiftReaper",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "giftreaper, truemoney, angpao, payment, red envelope",
"author": null,
"author_email": "NatchaLatte Official <foxteary@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/66/da/9f5ca3e5efaab4596033524d0a67aea0b84376e290945289c8de73b01c53/giftreaper-0.0.2.tar.gz",
"platform": null,
"description": "# GiftReaper\r\nGiftReaper \u0e40\u0e1b\u0e47\u0e19\u0e41\u0e1e\u0e47\u0e01\u0e40\u0e01\u0e08\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e0a\u0e48\u0e27\u0e22\u0e43\u0e19\u0e01\u0e32\u0e23\u0e17\u0e33\u0e18\u0e38\u0e23\u0e01\u0e23\u0e23\u0e21\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e0b\u0e2d\u0e07\u0e17\u0e23\u0e39\u0e21\u0e31\u0e19\u0e19\u0e35\u0e48\r\n## _\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e02\u0e2d\u0e07\u0e41\u0e1e\u0e47\u0e01\u0e40\u0e01\u0e08_\r\n- \u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e08\u0e32\u0e01\u0e0b\u0e2d\u0e07\u0e17\u0e23\u0e39\u0e21\u0e31\u0e19\u0e19\u0e35\u0e48\r\n- \u0e23\u0e31\u0e1a\u0e40\u0e07\u0e34\u0e19\u0e08\u0e32\u0e01\u0e0b\u0e2d\u0e07\u0e17\u0e23\u0e39\u0e21\u0e31\u0e19\u0e19\u0e35\u0e48\r\n- \u0e40\u0e1b\u0e23\u0e35\u0e22\u0e1a\u0e40\u0e17\u0e35\u0e22\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e08\u0e32\u0e01\u0e0b\u0e2d\u0e07\u0e17\u0e23\u0e39\u0e21\u0e31\u0e19\u0e19\u0e35\u0e48\u0e01\u0e31\u0e1a\u0e23\u0e32\u0e04\u0e32\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32\u0e17\u0e35\u0e48\u0e2a\u0e19\u0e43\u0e08\r\n- \u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e08\u0e32\u0e01\u0e0b\u0e2d\u0e07\u0e17\u0e23\u0e39\u0e21\u0e31\u0e19\u0e19\u0e35\u0e48\r\n## \u0e27\u0e34\u0e18\u0e35\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\r\n```sh\r\npip install GiftReaper\r\n```\r\n#### \u0e27\u0e34\u0e18\u0e35\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e08\u0e32\u0e01\u0e0b\u0e2d\u0e07\u0e17\u0e23\u0e39\u0e21\u0e31\u0e19\u0e19\u0e35\u0e48\r\n```sh\r\nverify_voucher(${\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e1a\u0e31\u0e15\u0e23\u0e01\u0e33\u0e19\u0e31\u0e25\u0e2b\u0e23\u0e37\u0e2d\u0e23\u0e2b\u0e31\u0e2a\u0e1a\u0e31\u0e15\u0e23\u0e01\u0e33\u0e19\u0e31\u0e25}, ${\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e25\u0e02\u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c\u0e02\u0e2d\u0e07\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e23\u0e31\u0e1a\u0e40\u0e07\u0e34\u0e19})\r\n```\r\n#### \u0e27\u0e34\u0e18\u0e35\u0e23\u0e31\u0e1a\u0e40\u0e07\u0e34\u0e19\u0e08\u0e32\u0e01\u0e0b\u0e2d\u0e07\u0e17\u0e23\u0e39\u0e21\u0e31\u0e19\u0e19\u0e35\u0e48\r\n```sh\r\nredeem_voucher(${\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e1a\u0e31\u0e15\u0e23\u0e01\u0e33\u0e19\u0e31\u0e25\u0e2b\u0e23\u0e37\u0e2d\u0e23\u0e2b\u0e31\u0e2a\u0e1a\u0e31\u0e15\u0e23\u0e01\u0e33\u0e19\u0e31\u0e25}, ${\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e25\u0e02\u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c\u0e02\u0e2d\u0e07\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e23\u0e31\u0e1a\u0e40\u0e07\u0e34\u0e19})\r\n```\r\n#### \u0e27\u0e34\u0e18\u0e35\u0e40\u0e1b\u0e23\u0e35\u0e22\u0e1a\u0e40\u0e17\u0e35\u0e22\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e08\u0e32\u0e01\u0e0b\u0e2d\u0e07\u0e17\u0e23\u0e39\u0e21\u0e31\u0e19\u0e19\u0e35\u0e48\u0e01\u0e31\u0e1a\u0e23\u0e32\u0e04\u0e32\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32\u0e17\u0e35\u0e48\u0e2a\u0e19\u0e43\u0e08\r\n```sh\r\nis_voucher_balance_sufficient(${\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e1a\u0e31\u0e15\u0e23\u0e01\u0e33\u0e19\u0e31\u0e25\u0e2b\u0e23\u0e37\u0e2d\u0e23\u0e2b\u0e31\u0e2a\u0e1a\u0e31\u0e15\u0e23\u0e01\u0e33\u0e19\u0e31\u0e25}, ${\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e25\u0e02\u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c\u0e02\u0e2d\u0e07\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e23\u0e31\u0e1a\u0e40\u0e07\u0e34\u0e19}, ${\u0e23\u0e32\u0e04\u0e32\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32\u0e17\u0e35\u0e48\u0e2a\u0e19\u0e43\u0e08})\r\n```\r\n#### \u0e27\u0e34\u0e18\u0e35\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e08\u0e33\u0e19\u0e27\u0e19\u0e40\u0e07\u0e34\u0e19\u0e08\u0e32\u0e01\u0e0b\u0e2d\u0e07\u0e17\u0e23\u0e39\u0e21\u0e31\u0e19\u0e19\u0e35\u0e48\r\n```sh\r\ncheck_voucher_amount_baht(${\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e1a\u0e31\u0e15\u0e23\u0e01\u0e33\u0e19\u0e31\u0e25\u0e2b\u0e23\u0e37\u0e2d\u0e23\u0e2b\u0e31\u0e2a\u0e1a\u0e31\u0e15\u0e23\u0e01\u0e33\u0e19\u0e31\u0e25}, ${\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e25\u0e02\u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c\u0e02\u0e2d\u0e07\u0e1a\u0e31\u0e0d\u0e0a\u0e35\u0e23\u0e31\u0e1a\u0e40\u0e07\u0e34\u0e19})\r\n```\r\n#### \u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e15\u0e48\u0e32\u0e07 \u0e46\r\n```sh\r\n# \u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e2b\u0e23\u0e37\u0e2d\u0e23\u0e2b\u0e31\u0e2a\u0e1a\u0e31\u0e15\u0e23\u0e01\u0e33\u0e19\u0e31\u0e25\r\nvoucher_url_first_format: str = 'https://gift.truemoney.com/campaign/?v={\u0e23\u0e2b\u0e31\u0e2a\u0e1a\u0e31\u0e15\u0e23\u0e01\u0e33\u0e19\u0e31\u0e25}'\r\nvoucher_url_second_format: str = '{\u0e23\u0e2b\u0e31\u0e2a\u0e1a\u0e31\u0e15\u0e23\u0e01\u0e33\u0e19\u0e31\u0e25}'\r\n\r\n# \u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e25\u0e02\u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c\r\nmobile_number_first_format: str = '08x-xxx-xxxx'\r\nmobile_number_second_format: str = '08xxxxxxxx'\r\n\r\n# \u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e23\u0e32\u0e04\u0e32\u0e2a\u0e34\u0e19\u0e04\u0e49\u0e32\r\nproduct_price_500: int = 500\r\nproduct_price_500_0: float = 500.0\r\n```\r\n#### \u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\r\n```sh\r\nfrom GiftReaper import verify_voucher, redeem_voucher, is_voucher_balance_sufficient, check_voucher_amount_baht\r\n\r\nvoucher_url_10_baht: str = '{\u0e23\u0e2b\u0e31\u0e2a\u0e1a\u0e31\u0e15\u0e23\u0e01\u0e33\u0e19\u0e31\u0e25}'\r\nmobile_number: str = '08x-xxx-xxxx'\r\n\r\nproduct_price_9_50: float = 9.50\r\nproduct_price_10: int = 10\r\nproduct_price_10_50: float = 10.50\r\n\r\nif __name__ == '__main__':\r\n # check_voucher_amount_baht()\r\n print(check_voucher_amount_baht(voucher_url_10_baht, mobile_number)) # \u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e18\u0e4c 10.0\r\n\r\n # is_voucher_balance_sufficient()\r\n print(is_voucher_balance_sufficient(voucher_url_10_baht, mobile_number, product_price_9_50)) # \u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e18\u0e4c False\r\n print(is_voucher_balance_sufficient(voucher_url_10_baht, mobile_number, product_price_10)) # \u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e18\u0e4c True\r\n print(is_voucher_balance_sufficient(voucher_url_10_baht, mobile_number, product_price_10_50)) # \u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e18\u0e4c False\r\n\r\n # verify_voucher()\r\n response = verify_voucher(voucher_url_10_baht, mobile_number)\r\n status_code = response['status']['code']\r\n if status_code == 'SUCCESS':\r\n print(response)\r\n elif status_code == 'INVALID_MOBILE_NUMBER':\r\n print('\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e25\u0e02\u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07')\r\n elif status_code == 'CANNOT_GET_OWN_VOUCHER':\r\n print('\u0e40\u0e08\u0e49\u0e32\u0e02\u0e2d\u0e07\u0e0b\u0e2d\u0e07\u0e17\u0e23\u0e39\u0e21\u0e31\u0e19\u0e19\u0e35\u0e48\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e23\u0e31\u0e1a\u0e40\u0e07\u0e34\u0e19\u0e08\u0e32\u0e01\u0e0b\u0e2d\u0e07\u0e02\u0e2d\u0e07\u0e15\u0e19\u0e40\u0e2d\u0e07\u0e44\u0e14\u0e49')\r\n elif status_code == 'TARGET_USER_NOT_FOUND':\r\n print('\u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e25\u0e02\u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c\u0e19\u0e35\u0e49\u0e43\u0e19\u0e23\u0e30\u0e1a\u0e1a')\r\n elif status_code == 'INTERNAL_ERROR':\r\n print('\u0e23\u0e30\u0e1a\u0e1a\u0e02\u0e2d\u0e07\u0e17\u0e23\u0e39\u0e21\u0e31\u0e19\u0e19\u0e35\u0e48\u0e19\u0e35\u0e49\u0e02\u0e31\u0e14\u0e02\u0e49\u0e2d\u0e07')\r\n elif status_code == 'VOUCHER_OUT_OF_STOCK':\r\n print('\u0e40\u0e07\u0e34\u0e19\u0e08\u0e32\u0e01\u0e0b\u0e2d\u0e07\u0e17\u0e23\u0e39\u0e21\u0e31\u0e19\u0e19\u0e35\u0e48\u0e19\u0e35\u0e49\u0e21\u0e35\u0e04\u0e19\u0e01\u0e48\u0e2d\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e23\u0e31\u0e1a\u0e44\u0e1b\u0e2b\u0e21\u0e14\u0e41\u0e25\u0e49\u0e27')\r\n elif status_code == 'VOUCHER_NOT_FOUND':\r\n print('\u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e0b\u0e2d\u0e07\u0e17\u0e23\u0e39\u0e21\u0e31\u0e19\u0e19\u0e35\u0e48\u0e19\u0e35\u0e49\u0e43\u0e19\u0e23\u0e30\u0e1a\u0e1a')\r\n elif status_code == 'VOUCHER_EXPIRED':\r\n print('\u0e0b\u0e2d\u0e07\u0e17\u0e23\u0e39\u0e21\u0e31\u0e19\u0e19\u0e35\u0e48\u0e19\u0e35\u0e49\u0e2b\u0e21\u0e14\u0e2d\u0e32\u0e22\u0e38')\r\n \r\n # redeem_voucher()\r\n response = redeem_voucher(voucher_url_10_baht, mobile_number)\r\n status_code = response['status']['code']\r\n if status_code == 'SUCCESS':\r\n print(response)\r\n elif status_code == 'INVALID_MOBILE_NUMBER':\r\n print('\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e25\u0e02\u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07')\r\n elif status_code == 'CANNOT_GET_OWN_VOUCHER':\r\n print('\u0e40\u0e08\u0e49\u0e32\u0e02\u0e2d\u0e07\u0e0b\u0e2d\u0e07\u0e17\u0e23\u0e39\u0e21\u0e31\u0e19\u0e19\u0e35\u0e48\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e23\u0e31\u0e1a\u0e40\u0e07\u0e34\u0e19\u0e08\u0e32\u0e01\u0e0b\u0e2d\u0e07\u0e02\u0e2d\u0e07\u0e15\u0e19\u0e40\u0e2d\u0e07\u0e44\u0e14\u0e49')\r\n elif status_code == 'TARGET_USER_NOT_FOUND':\r\n print('\u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e2b\u0e21\u0e32\u0e22\u0e40\u0e25\u0e02\u0e42\u0e17\u0e23\u0e28\u0e31\u0e1e\u0e17\u0e4c\u0e19\u0e35\u0e49\u0e43\u0e19\u0e23\u0e30\u0e1a\u0e1a')\r\n elif status_code == 'INTERNAL_ERROR':\r\n print('\u0e23\u0e30\u0e1a\u0e1a\u0e02\u0e2d\u0e07\u0e17\u0e23\u0e39\u0e21\u0e31\u0e19\u0e19\u0e35\u0e48\u0e19\u0e35\u0e49\u0e02\u0e31\u0e14\u0e02\u0e49\u0e2d\u0e07')\r\n elif status_code == 'VOUCHER_OUT_OF_STOCK':\r\n print('\u0e40\u0e07\u0e34\u0e19\u0e08\u0e32\u0e01\u0e0b\u0e2d\u0e07\u0e17\u0e23\u0e39\u0e21\u0e31\u0e19\u0e19\u0e35\u0e48\u0e19\u0e35\u0e49\u0e21\u0e35\u0e04\u0e19\u0e01\u0e48\u0e2d\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e23\u0e31\u0e1a\u0e44\u0e1b\u0e2b\u0e21\u0e14\u0e41\u0e25\u0e49\u0e27')\r\n elif status_code == 'VOUCHER_NOT_FOUND':\r\n print('\u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e0b\u0e2d\u0e07\u0e17\u0e23\u0e39\u0e21\u0e31\u0e19\u0e19\u0e35\u0e48\u0e19\u0e35\u0e49\u0e43\u0e19\u0e23\u0e30\u0e1a\u0e1a')\r\n elif status_code == 'VOUCHER_EXPIRED':\r\n print('\u0e0b\u0e2d\u0e07\u0e17\u0e23\u0e39\u0e21\u0e31\u0e19\u0e19\u0e35\u0e48\u0e19\u0e35\u0e49\u0e2b\u0e21\u0e14\u0e2d\u0e32\u0e22\u0e38')\r\n```\r\n\r\n#### \u0e04\u0e33\u0e40\u0e15\u0e37\u0e2d\u0e19\r\n\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01 GiftReaper \u0e2d\u0e32\u0e08\u0e21\u0e35\u0e01\u0e32\u0e23\u0e04\u0e37\u0e19\u0e04\u0e48\u0e32\u0e40\u0e1b\u0e47\u0e19 UTF-8 \u0e2b\u0e32\u0e01\u0e40\u0e01\u0e34\u0e14\u0e1b\u0e31\u0e0d\u0e2b\u0e32\u0e14\u0e49\u0e32\u0e19\u0e01\u0e32\u0e23\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25\u0e2d\u0e31\u0e01\u0e02\u0e23\u0e30 (\u0e40\u0e0a\u0e48\u0e19 \u0e20\u0e32\u0e29\u0e32\u0e44\u0e17\u0e22\u0e44\u0e21\u0e48\u0e41\u0e2a\u0e14\u0e07\u0e1c\u0e25) \u0e43\u0e2b\u0e49\u0e25\u0e2d\u0e07\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e42\u0e04\u0e49\u0e14\u0e19\u0e35\u0e49\u0e17\u0e35\u0e48\u0e15\u0e49\u0e19\u0e44\u0e1f\u0e25\u0e4c\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13:\r\n```shell\r\nimport sys\r\nimport io\r\n\r\n# \u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 stdout \u0e43\u0e2b\u0e49\u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a UTF-8\r\nsys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')\r\n```\r\n",
"bugtrack_url": null,
"license": null,
"summary": "GiftReaper \u0e40\u0e1b\u0e47\u0e19\u0e41\u0e1e\u0e47\u0e01\u0e40\u0e01\u0e08\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e0a\u0e48\u0e27\u0e22\u0e43\u0e19\u0e01\u0e32\u0e23\u0e17\u0e33\u0e18\u0e38\u0e23\u0e01\u0e23\u0e23\u0e21\u0e08\u0e32\u0e01\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e0b\u0e2d\u0e07\u0e17\u0e23\u0e39\u0e21\u0e31\u0e19\u0e19\u0e35\u0e48",
"version": "0.0.2",
"project_urls": {
"Homepage": "https://github.com/NatchaLatte/GiftReaper",
"Issues": "https://github.com/NatchaLatte/GiftReaper/issues"
},
"split_keywords": [
"giftreaper",
" truemoney",
" angpao",
" payment",
" red envelope"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "3645fd346c1d4e720b83077ee0aef36637914564336092276c8967f59e6b560a",
"md5": "939536d3b75e9dbcd49565f5bb638115",
"sha256": "3cd8d0652897ff985770c70dbd2558bfbbccdcbbba37aaee773807fe0c723e49"
},
"downloads": -1,
"filename": "GiftReaper-0.0.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "939536d3b75e9dbcd49565f5bb638115",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 5202,
"upload_time": "2025-01-26T06:44:42",
"upload_time_iso_8601": "2025-01-26T06:44:42.457212Z",
"url": "https://files.pythonhosted.org/packages/36/45/fd346c1d4e720b83077ee0aef36637914564336092276c8967f59e6b560a/GiftReaper-0.0.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "66da9f5ca3e5efaab4596033524d0a67aea0b84376e290945289c8de73b01c53",
"md5": "11643eadee51481afab1cc42e5efd8ee",
"sha256": "135cb0e2593335206f22257f8ad179de2410277467e2e3d8b8b731aa945940e4"
},
"downloads": -1,
"filename": "giftreaper-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "11643eadee51481afab1cc42e5efd8ee",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 4902,
"upload_time": "2025-01-26T06:44:43",
"upload_time_iso_8601": "2025-01-26T06:44:43.592654Z",
"url": "https://files.pythonhosted.org/packages/66/da/9f5ca3e5efaab4596033524d0a67aea0b84376e290945289c8de73b01c53/giftreaper-0.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-26 06:44:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "NatchaLatte",
"github_project": "GiftReaper",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "cloudscraper",
"specs": [
[
"==",
"1.2.71"
]
]
}
],
"lcname": "giftreaper"
}