PagerMaid_Plugins_Pyro/bin/main.py

67 lines
2.0 KiB
Python
Raw Normal View History

import json
from json.decoder import JSONDecodeError
from pyrogram import Client
from pagermaid.listener import listener
from pagermaid.utils import Message, pip_install
pip_install("requests")
import requests
2023-07-01 12:18:58 +00:00
@listener(command="bin", description="查询信用卡信息", parameters="[bin4到8位数字]")
async def card(_: Client, message: Message):
2023-07-01 12:18:58 +00:00
await message.edit("正在查询中...")
try:
card_bin = message.arguments
except ValueError:
await message.edit("出错了呜呜呜 ~ 无效的参数。")
return
try:
r = requests.get(f"https://lookup.binlist.net/{card_bin}")
except:
await message.edit("出错了呜呜呜 ~ 无法访问到binlist。")
return
if r.status_code == 404:
await message.edit("出错了呜呜呜 ~ 目标卡头不存在")
return
if r.status_code == 429:
await message.edit("出错了呜呜呜 ~ 每分钟限额超过,请等待一分钟再试")
return
try:
bin_json = json.loads(r.content.decode("utf-8"))
except JSONDecodeError:
await message.edit("出错了呜呜呜 ~ 无效的参数。")
return
msg_out = [f"BIN{card_bin}"]
try:
2023-07-01 12:18:58 +00:00
msg_out.extend(["卡品牌:" + bin_json["scheme"]])
except (KeyError, TypeError):
pass
try:
2023-07-01 12:18:58 +00:00
msg_out.extend(["卡类型:" + bin_json["type"]])
except (KeyError, TypeError):
pass
try:
2023-07-01 12:18:58 +00:00
msg_out.extend(["卡种类:" + bin_json["brand"]])
except (KeyError, TypeError):
pass
try:
2023-07-01 12:18:58 +00:00
msg_out.extend(["发卡行:" + bin_json["bank"]["name"]])
except (KeyError, TypeError):
pass
try:
2023-07-01 12:18:58 +00:00
if bin_json["prepaid"]:
msg_out.extend(["是否预付:是"])
else:
msg_out.extend(["是否预付:否"])
except (KeyError, TypeError):
pass
try:
2023-07-01 12:18:58 +00:00
msg_out.extend(["发卡国家:" + bin_json["country"]["name"]])
except (KeyError, TypeError):
pass
await message.edit("\n".join(msg_out))