diff --git a/list.json b/list.json index 913f636..79b0e8d 100644 --- a/list.json +++ b/list.json @@ -162,7 +162,7 @@ }, { "name": "vip", - "version": "0.72", + "version": "0.721", "section": "chat", "maintainer": "xtaodada", "size": "14.4 kb", diff --git a/vip/main.py b/vip/main.py index 2325782..01dc584 100644 --- a/vip/main.py +++ b/vip/main.py @@ -1,7 +1,5 @@ -from pyrogram import Client from pyrogram.enums import ParseMode -from asyncio import TimeoutError from pagermaid.listener import listener from pagermaid.utils import Message @@ -9,60 +7,52 @@ from pagermaid.utils import Message @listener(command="duckduckgo", description="Duckduckgo 搜索", parameters="") -async def duckduckgo(client: Client, message: Message): +async def duckduckgo(message: Message): text = message.arguments if not text: return await message.edit("请输入查询内容") - try: - answer: Message = await client.ask("PagerMaid_Modify_bot", f"/duckduckgo {text}") # noqa - await client.read_chat_history("PagerMaid_Modify_bot") - except TimeoutError: - return await message.edit("获取时间超时,请稍后再试。") + async with message.bot.conversation("PagerMaid_Modify_bot") as conv: + answer: Message = await conv.ask(f"/duckduckgo {text}") + await conv.mark_as_read() await message.edit(answer.text.html, parse_mode=ParseMode.HTML) @listener(command="caiyun", description="彩云翻译", parameters="") -async def caiyun_translate(client: Client, message: Message): +async def caiyun_translate(message: Message): text = message.arguments if not text: return await message.edit("请输入查询内容") - try: - answer: Message = await client.ask("PagerMaid_Modify_bot", f"/translate {text}") # noqa - await client.read_chat_history("PagerMaid_Modify_bot") - except TimeoutError: - return await message.edit("获取时间超时,请稍后再试。") + async with message.bot.conversation("PagerMaid_Modify_bot") as conv: + answer: Message = await conv.ask(f"/translate {text}") + await conv.mark_as_read() await message.edit(answer.text) @listener(command="weather", description="使用彩云天气 api 查询国内实时天气。", parameters="<位置>") -async def weather(client: Client, message: Message): +async def weather(message: Message): text = message.arguments if not text: return await message.edit("请输入正确的地址") - try: - answer: Message = await client.ask("PagerMaid_Modify_bot", f"/weather_api {text}") # noqa - await client.read_chat_history("PagerMaid_Modify_bot") - except TimeoutError: - return await message.edit("获取时间超时,请稍后再试。") + async with message.bot.conversation("PagerMaid_Modify_bot") as conv: + answer: Message = await conv.ask(f"/weather_api {text}") + await conv.mark_as_read() await message.edit(answer.text) @listener(command="weather_pic", description="使用彩云天气 api 查询国内实时天气,但是显示图片。", parameters="<位置>") -async def weather_pic(client: Client, message: Message): +async def weather_pic(message: Message): text = message.arguments if not text: return await message.edit("请输入正确的地址") - try: - answer: Message = await client.ask("PagerMaid_Modify_bot", f"/weather {text}") # noqa - await client.read_chat_history("PagerMaid_Modify_bot") - except TimeoutError: - return await message.edit("获取时间超时,请稍后再试。") + async with message.bot.conversation("PagerMaid_Modify_bot") as conv: + answer: Message = await conv.ask(f"/weather {text}") + await conv.mark_as_read() await answer.copy(message.chat.id, reply_to_message_id=message.reply_to_message_id) await message.safe_delete() @@ -70,28 +60,24 @@ async def weather_pic(client: Client, message: Message): @listener(command="weather_he", description="使用和风天气 api 查询国内实时天气,但是显示图片。", parameters="<位置>") -async def weather_he(client: Client, message: Message): +async def weather_he(message: Message): text = message.arguments if not text: return await message.edit("请输入正确的地址") - try: - answer: Message = await client.ask("PagerMaid_Modify_bot", f"/weather_he {text}") # noqa - await client.read_chat_history("PagerMaid_Modify_bot") - except TimeoutError: - return await message.edit("获取时间超时,请稍后再试。") + async with message.bot.conversation("PagerMaid_Modify_bot") as conv: + answer: Message = await conv.ask(f"/weather_he {text}") + await conv.mark_as_read() await answer.copy(message.chat.id, reply_to_message_id=message.reply_to_message_id) await message.safe_delete() -async def az_tts(client: Client, message: Message, mode: str): +async def az_tts(message: Message, mode: str): text = message.arguments if not text: return await message.edit("请输入需要 tts 的内容") - try: - answer: Message = await client.ask("PagerMaid_Modify_bot", f"/tts {text} {mode}") # noqa - await client.read_chat_history("PagerMaid_Modify_bot") - except TimeoutError: - return await message.edit("获取时间超时,请稍后再试。") + async with message.bot.conversation("PagerMaid_Modify_bot") as conv: + answer: Message = await conv.ask(f"/tts {text} {mode}") + await conv.mark_as_read() await answer.copy(message.chat.id, reply_to_message_id=message.reply_to_message_id) await message.safe_delete() @@ -99,33 +85,33 @@ async def az_tts(client: Client, message: Message, mode: str): @listener(command="tts_nan", description="通过 Azure 文本到语音 基于字符串生成 简体男声 语音消息。", parameters="<字符串>") -async def az_tts_nan(client: Client, message: Message): - await az_tts(client, message, "") +async def az_tts_nan(message: Message): + await az_tts(message, "") @listener(command="tts_nv", description="通过 Azure 文本到语音 基于字符串生成 简体女声 语音消息。", parameters="<字符串>") -async def az_tts_nv(client: Client, message: Message): - await az_tts(client, message, "nv") +async def az_tts_nv(message: Message): + await az_tts(message, "nv") @listener(command="tts_tw", description="通过 Azure 文本到语音 基于字符串生成 繁体男声 语音消息。", parameters="<字符串>") -async def az_tts_tw(client: Client, message: Message): - await az_tts(client, message, "tw") +async def az_tts_tw(message: Message): + await az_tts(message, "tw") @listener(command="tts_ne", description="通过 Azure 文本到语音 基于字符串生成 简体新闻男声 语音消息。", parameters="<字符串>") -async def az_tts_ne(client: Client, message: Message): - await az_tts(client, message, "ne") +async def az_tts_ne(message: Message): + await az_tts(message, "ne") @listener(command="tts_en", description="通过 Azure 文本到语音 基于字符串生成 英文男声 语音消息。", parameters="<字符串>") -async def az_tts_en(client: Client, message: Message): - await az_tts(client, message, "en") +async def az_tts_en(message: Message): + await az_tts(message, "en")