PagerMaid_Plugins_Pyro/aff/main.py
2023-07-01 20:18:58 +08:00

52 lines
1.9 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.

import contextlib
from typing import Tuple
from pagermaid.enums import Message
from pagermaid.services import sqlite
from pagermaid.listener import listener
def get_aff() -> Tuple[str, bool]:
return sqlite.get("aff.text", ""), sqlite.get("aff.web_page", False)
def set_aff(text: str, web_page: bool = False) -> None:
sqlite.update({"aff.text": text, "aff.web_page": web_page})
def del_aff() -> None:
text, web_page = get_aff()
if text:
del sqlite["aff.text"]
if web_page:
del sqlite["aff.web_page"]
@listener(
command="aff",
description="在别人要打算买机场的时候光速发出自己的aff信息(请尽量配合短链接)",
parameters="[save|remove] (可选,回复一条消息,用于保存|删除aff信息)",
)
async def aff(message: Message):
if not message.parameter:
msg, web_page = get_aff()
if not msg:
return await message.edit("出错了呜呜呜 ~ Aff消息不存在。\n(你有提前保存好嘛?)")
with contextlib.suppress(Exception):
await message.edit(msg, disable_web_page_preview=not web_page)
elif message.parameter[0] == "save":
if not message.reply_to_message:
return await message.edit("出错了呜呜呜 ~ 请回复一条消息以保存新的Aff信息。")
text = message.reply_to_message.text or message.reply_to_message.caption
web_page = message.reply_to_message.web_page or False
if not text:
return await message.edit("出错了呜呜呜 ~ 请回复一条消息以保存新的Aff信息。")
set_aff(text.html, web_page)
await message.edit("好耶 Aff信息保存成功。")
elif message.parameter[0] == "remove":
del_aff()
await message.edit("好耶 Aff信息删除成功。")
else:
await message.edit("出错了呜呜呜 ~ 无效的参数。")