删除 msgst 插件

This commit is contained in:
c3b2a 2021-06-17 20:39:28 +08:00 committed by GitHub
parent 6da4db8433
commit 63743bd18f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,90 +0,0 @@
import time, asyncio
from pagermaid import bot, redis, redis_status
from pagermaid.listener import listener
from pagermaid.utils import alias_command
def is_num(x: str):
try:
x = int(x)
return isinstance(x, int)
except ValueError:
return False
def get_bot():
data = [1527463252, "msg_schedule_bot"]
if redis_status():
n_id = redis.get("msgst.bot_id")
n_un = redis.get("msgst.bot_un")
if n_id and is_num(str(n_id, "ascii")): data[0] = int(str(n_id, "ascii"))
if n_un: data[1] = str(n_un, "ascii")
return data
async def del_msg(context, t_lim):
await asyncio.sleep(t_lim)
await context.delete()
@listener(is_plugin=True, outgoing=True, command=alias_command("msgst"),
description="消息每天定时发送",
parameters="new 时:分:秒 消息` 或 `del <msg_id>` 或 `list")
async def msgst(context):
params = []
for p in context.parameter:
if len(p.split()) != 0:
params.append(p)
bot_data = get_bot()
if len(params) == 1 and params[0] == "bot":
await context.edit(str(bot_data))
await del_msg(context, 10)
return
if len(params) >= 3 and params[0] == "new": params.insert(2, str(context.chat_id))
async with bot.conversation(bot_data[1]) as conversation:
await conversation.send_message("/" + " ".join(params))
response = await conversation.get_response()
await bot.send_read_acknowledge(conversation.chat_id)
await context.edit(response.text)
if len(params) > 0 and params[0] != "list": await del_msg(context, 10)
@listener(is_plugin=True, outgoing=True, command=alias_command("msgset"),
description="定时发送 bot 服务端设置",
parameters="bot <bot_id> <bot_username>` 或 `bot clear")
async def msgset(context):
if not redis_status():
await context.edit("出错了呜呜呜 ~ Redis 离线,无法运行")
await del_msg(context, 10)
return
params = []
for p in context.parameter:
if len(p.split()) != 0:
params.append(p)
if len(params) > 0 and params[0] == "bot":
if len(params) == 3 and is_num(params[1]):
redis.set("msgst.bot_id", params[1])
redis.set("msgst.bot_un", params[2])
await context.edit("设置成功")
await del_msg(context, 10)
elif len(params) == 2 and params[1] == "clear":
redis.delete("msgst.bot_id")
redis.delete("msgst.bot_un")
await context.edit("清除成功")
await del_msg(context, 10)
else:
await context.edit("参数错误")
await del_msg(context, 10)
@listener(incoming=True, ignore_edited=True)
async def sendmsg(context):
bot_data = get_bot()
if context.sender_id == bot_data[0]:
parse = context.text.split("|")
if parse[0] == "send_msg":
async with bot.conversation(bot_data[1]) as conversation:
await bot.send_read_acknowledge(conversation.chat_id)
s_time = int(time.time() + 1) - time.time()
await asyncio.sleep(s_time)
await bot.send_message(int(parse[1]), "|".join(parse[2:]))