Files
gitlab-instance-0a899031_sm…/app.py
2023-05-04 13:38:22 +08:00

52 lines
2.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from typing import Union
from fastapi import FastAPI,Header
from urllib.parse import unquote
from flashSMS import sendFlash
from tgMesaage import sendTg
import re
app = FastAPI()
# 正则查找11位手机号
def findPhoneNum(text):
pattern = re.compile(r"1[356789]\d{9}")
# strs = '小明的手机号是13987692110你明天打给他'
result = pattern.findall(text)
print(result)
# ['13987692110']
if len(result)>0:
return result[0]
else:
return None
@app.get("/")
#def read_root():
# return {"Hello": "World"}
def read_items(appid: Union[str, None] = Header(default=None),bid: Union[str, None] = Header(default=None),requestid: Union[str, None] = Header(default=None),uid: Union[str, None] = Header(default=None)):
print("console :,","appid", appid,"bid", bid,"requestid", requestid,"uid", uid)
return {"appid": appid,"bid": bid,"requestid": requestid,"uid": uid}
# 微信对话-用户输入
@app.get("/input")
async def getphonenum(inputArguments: Union[str, None] = None,appid: Union[str, None] = Header(default=None),bid: Union[str, None] = Header(default=None),requestid: Union[str, None] = Header(default=None),uid: Union[str, None] = Header(default=None)):
print('inputArguments',inputArguments)
# 要处理url编码问题decode
try:
inputArguments = unquote(inputArguments, 'utf-8')
except:
inputArguments=''
# 正则获取11位手机号
phonenumber=findPhoneNum(inputArguments)
print('phonenumber',phonenumber)
# # phonenumber='13243889782'
if phonenumber is not None:
warntext='[异度世界],微信加群验证码:3399'
sendTg(f'用户手机号{phonenumber},开始发送验证码')
# 发送闪信
sendFlash(phonenumber,warntext)
else:
sendTg(f'用户输入:{inputArguments},手机号不正确')
# uid:唯一标识用户的openid
print("appid", appid,"bid",bid,"requestid", requestid,"uid", uid)
# 存储uid和手机号
return {"appid": appid,"bid": bid,"requestid": requestid,"uid": uid,'inputArguments':inputArguments}