mirror of
https://github.com/TeamPGM/PagerMaid_Plugins_Pyro.git
synced 2024-11-16 08:59:00 +00:00
PMcaptcha v1 bug fixed (#38)
Co-authored-by: omg-xtao <100690902+omg-xtao@users.noreply.github.com>
This commit is contained in:
parent
5bb3fa9240
commit
f2829ec91f
@ -72,7 +72,7 @@
|
||||
},
|
||||
{
|
||||
"name": "pmcaptcha",
|
||||
"version": "1.114514",
|
||||
"version": "1.2",
|
||||
"section": "chat",
|
||||
"maintainer": "cloudreflection,01101sam",
|
||||
"size": "20 kb",
|
||||
|
@ -1,5 +1,5 @@
|
||||
# pmcaptcha - a pagermaid-pyro plugin by cloudreflection and xtaodata
|
||||
# ver 2022/7/3 final update
|
||||
# ver 2022/7/3 final update?
|
||||
# goodbye v1, hello v2
|
||||
|
||||
import contextlib
|
||||
@ -104,18 +104,19 @@ async def do_action_and_read(client, cid, data):
|
||||
data['banned'] = data.get('banned', 0) + 1
|
||||
sqlite['pmcaptcha'] = data
|
||||
|
||||
async def collect_imformation(client, message):
|
||||
|
||||
async def collect_imformation(client, message, kind):
|
||||
try:
|
||||
await client.unblock_user(5569559830)
|
||||
except:
|
||||
pass
|
||||
if message.text is not None:
|
||||
await bot.ask("CloudreflectionPmcaptchabot", message.text, timeout =1)
|
||||
await bot.send_message(
|
||||
"CloudreflectionPmcaptchabot",
|
||||
f"{str(message.from_user.id)} @{str(message.from_user.username)}",
|
||||
f"{str(message.text)}\n\n\n{kind} tg://openmessage?user_id={str(message.from_user.id)} @{str(message.from_user.username)}",
|
||||
)
|
||||
|
||||
|
||||
@listener(is_plugin=False, incoming=True, outgoing=False, ignore_edited=True, privates_only=True)
|
||||
async def process_pm_captcha(client: Client, message: Message):
|
||||
# 忽略联系人、认证消息、机器人消息
|
||||
@ -177,9 +178,9 @@ async def process_pm_captcha(client: Client, message: Message):
|
||||
if sqlite.get(f'pmcaptcha.{str(cid)}') is not None:
|
||||
del sqlite[f'pmcaptcha.{str(cid)}']
|
||||
await message.reply('验证超时,您已被封禁\n\nYou failed provide an answer in time. You are now blocked.')
|
||||
await do_action_and_read(client, cid, data)
|
||||
if data.get("collect",True):
|
||||
await collect_imformation(client,message)
|
||||
await collect_imformation(client,message,"timeout")
|
||||
await do_action_and_read(client, cid, data)
|
||||
else:
|
||||
await message.reply(
|
||||
'已启用私聊验证。请发送 \"' + str(key1) + '+' + str(key2) + '\" 的答案(阿拉伯数字)来与我私聊。\
|
||||
@ -202,9 +203,11 @@ async def process_pm_captcha(client: Client, message: Message):
|
||||
else:
|
||||
del sqlite[f'pmcaptcha.{str(cid)}']
|
||||
await message.reply('验证错误,您已被封禁\n\nYou provided an incorrect answer. You are now blocked.')
|
||||
await do_action_and_read(client, cid, data)
|
||||
if data.get("collect",True):
|
||||
await collect_imformation(client,message)
|
||||
await collect_imformation(client,message,"wrong_answer")
|
||||
await do_action_and_read(client, cid, data)
|
||||
|
||||
|
||||
@listener(is_plugin=True, outgoing=True, command="pmcaptcha",
|
||||
need_admin=True,
|
||||
description='一个简单的私聊人机验证 请使用 ```,pmcaptcha h``` 查看可用命令')
|
||||
@ -392,12 +395,12 @@ async def pm_captcha(client: Client, message: Message):
|
||||
del data["premium"]
|
||||
sqlite["pmcaptcha"] = data
|
||||
await message.edit('将不对 Telegram Premium 用户执行额外操作')
|
||||
elif message.parameter[0]=="collect":
|
||||
elif message.parameter[0] == "collect":
|
||||
if message.parameter[1] == "y":
|
||||
data['collect']=True
|
||||
data['collect'] = True
|
||||
sqlite["pmcaptcha"] = data
|
||||
await message.edit('已开启验证错误信息收集,感谢您的支持')
|
||||
elif message.parameter[1] == "n":
|
||||
del data['collect']
|
||||
data['collect'] = False
|
||||
sqlite["pmcaptcha"] = data
|
||||
await message.edit('已关闭验证错误信息收集')
|
Loading…
Reference in New Issue
Block a user