mirror of
https://github.com/N1ngYu/SaltBot.git
synced 2025-09-28 08:42:40 +08:00
Add: Separate Plugin
This commit is contained in:
557
nonebot_plugin_maimai_helper/__init__.py
Normal file
557
nonebot_plugin_maimai_helper/__init__.py
Normal file
@@ -0,0 +1,557 @@
|
||||
from nonebot import on_command, on_regex, on_startswith
|
||||
from nonebot.adapters.onebot.v11 import GroupMessageEvent, Message , MessageSegment, bot
|
||||
from nonebot.params import EventMessage
|
||||
from nonebot.permission import SUPERUSER
|
||||
from nonebot_plugin_maimai_helper.helper.simai import *
|
||||
from nonebot_plugin_maimai_helper.util.utils import *
|
||||
from nonebot_plugin_maimai_helper.helper.diving_fish import *
|
||||
from nonebot_plugin_maimai_helper.update_music_list import *
|
||||
from nonebot_plugin_maimai_helper.helper.download import download_image
|
||||
from nonebot_plugin_maimai_helper.helper.qrcode import *
|
||||
from nonebot_plugin_maimai_helper.helper.convert import *
|
||||
from os import *
|
||||
import subprocess
|
||||
#from nonebot_plugin_maimai_helper.img import *
|
||||
#from time import *
|
||||
|
||||
config = nonebot.get_driver().config
|
||||
TICKET = getattr(config, 'ticket', True)
|
||||
ALLOWGROUP = getattr(config, 'allowgroup', [6324])
|
||||
WHITELIST = getattr(config, 'whitelist', False)
|
||||
USER_IMGPYFILE = 'generate_img.py'
|
||||
|
||||
def check_time() -> bool:
|
||||
|
||||
current_hour = datetime.now().hour
|
||||
if 3 <= current_hour < 7:
|
||||
return False
|
||||
else:
|
||||
return True
|
||||
|
||||
|
||||
def is_ticket_enable() -> bool:
|
||||
return True if TICKET and check_time() else False
|
||||
|
||||
|
||||
#bind_user_id = on_startswith(('SGWCMAID'), ignorecase=False, rule=check_time)
|
||||
bind_user_id = on_command('maibind', aliases={'绑定舞萌','绑定maimaidx','绑定maimai','绑定舞萌id'}, priority=20, rule=check_time)
|
||||
seeme = on_command('seeme', aliases={'看我','kw', '审视党性'}, priority=20, rule=check_time)
|
||||
maihelp = on_command('maihelp', priority=20)
|
||||
g_login = on_command('login', priority=20, rule=check_time)
|
||||
g_logout = on_command('logout', priority=20, rule=check_time)
|
||||
tickets = on_command('ticket',aliases={'查票'}, priority=20, rule=check_time)
|
||||
trick = on_command('舞萌足迹',aliases={'place'}, priority=20, rule=check_time)
|
||||
token_bind = on_command("sybind",aliases={'绑定水鱼'}, priority=20, rule=check_time)
|
||||
gb = on_command("syup",aliases={'更新b50','水鱼更新'}, priority=20, rule=check_time)
|
||||
status = on_command('status',aliases={'华立状态','状态','活着不','活着吗','活着嘛','mai?', 'mai?'}, priority=20, rule=check_time)
|
||||
up_list = on_command('uplist', priority=20, permission=SUPERUSER)
|
||||
user_img = on_command('myimg',aliases={'盒','看看你的'} ,priority=20, rule=check_time)
|
||||
|
||||
'''
|
||||
@user_login_img.handle()
|
||||
async def _(event: GroupMessageEvent, message: Message = EventMessage()):
|
||||
user_qq = event.get_user_id()
|
||||
user_id = None
|
||||
if is_userid_exist(user_qq):
|
||||
user_id = get_userid(user_qq)
|
||||
else:
|
||||
await seeme.send("你还没有绑定舞萌账号~\n请先发送「maibind+你的登录二维码识别后字符串」绑定账号吧~")
|
||||
if user_id != -1:
|
||||
data = get_preview(user_id)
|
||||
if data["is_success"]:
|
||||
await user_login_img.send([MessageSegment.reply(event.message_id), MessageSegment.text("盐巴正在整理你的舞萌资料卡~不要重复请求哦~")])
|
||||
user_name = "\""+data['data']['userName']+"\""
|
||||
with os.popen("python F:/main.py --nickname" +" "+ user_name + " " + " --icon " +" "+ str(data['data']['iconId']) +" "+ "--rating" +" "+ str(data['data']['playerRating']) ) as file:
|
||||
for line in file.readlines():
|
||||
logger.info(line.strip())
|
||||
await user_img.send([MessageSegment.reply(event.message_id), MessageSegment.image("file:///F:/img/passport.png")])
|
||||
else:
|
||||
await user_img.send("用户未获取二维码,请获取后再试。")
|
||||
|
||||
'''
|
||||
@bind_user_id.handle()
|
||||
async def _(event: GroupMessageEvent, message: Message = EventMessage()):
|
||||
await bind_user_id.send(MessageSegment.text("请直接发送您的登录二维码或发送识别后字符串~"))
|
||||
|
||||
@bind_user_id.receive()
|
||||
async def _(event: GroupMessageEvent, message: Message = EventMessage()):
|
||||
user_qq = event.get_user_id()
|
||||
msg = event.get_message()
|
||||
if msg and msg[0].type == "image":
|
||||
image_url = msg[0].data.get("url")
|
||||
logger.info(image_url)
|
||||
image_bytes = download_image(image_url,"F:/img/test.png")
|
||||
# 将字节数据读取为 numpy 数组
|
||||
logger.info(image_bytes)
|
||||
#image_array = np.frombuffer(image_bytes, np.uint8)
|
||||
#logger.info(image_array)
|
||||
|
||||
gray_image = convert_to_grayscale("F:/img/test.png")
|
||||
logger.info(gray_image)
|
||||
qr_code = decode_qr_code(gray_image)
|
||||
|
||||
if not qr_code:
|
||||
logger.warning("没有找到二维码!")
|
||||
await bind_user_id.finish("我好像没有看到二维码呢")
|
||||
|
||||
user_id = None
|
||||
id_result = get_user_id_by_qr(str(qr_code).strip())
|
||||
logger.debug(f'USERID获取结果:{id_result}')
|
||||
errorResult = {
|
||||
1: "ReaderSetupFail(二维码可能已过期)", 2: "二维码可能已过期", 3: "ReaderIncompatible", 4: "DBResolveFail",
|
||||
5: "DBAccessTimeout", 6: "DBAccessFail", 7: "AimeIdInvalid", 8: "NoBoardInfo",
|
||||
9: "LockBanSystemUser", 10: "LockBanSystem", 11: "LockBanUser", 12: "LockBan",
|
||||
13: "LockSystem", 14: "LockUser"
|
||||
}
|
||||
if id_result['errorID'] == 0:
|
||||
user_id = id_result['userID']
|
||||
else:
|
||||
await bind_user_id.finish([MessageSegment.reply(event.message_id), MessageSegment.text(f"查询ID失败:{errorResult[id_result['errorID']]}")])
|
||||
if save_user_id(user_qq, user_id) == 1:
|
||||
await bind_user_id.finish([MessageSegment.reply(event.message_id), MessageSegment.text("绑定成功了喵~")])
|
||||
elif save_user_id(user_qq, user_id) == -1:
|
||||
await bind_user_id.finish([MessageSegment.reply(event.message_id), MessageSegment.text("请先联系机修解绑账号喵~")])
|
||||
elif save_user_id(user_qq, user_id) == -2:
|
||||
await bind_user_id.finish([MessageSegment.reply(event.message_id), MessageSegment.text("绑定发生错误,请联系机修。")])
|
||||
else:
|
||||
await bind_user_id.finish([MessageSegment.reply(event.message_id), MessageSegment.text("绑定未知错误,请联系机修。")])
|
||||
logger.info(qr_code)
|
||||
logger.info(msg)
|
||||
elif msg and msg[0].type == "text" and str(msg).startswith("SGWCMAID") and len(str(msg)) == 84:
|
||||
user_qq = event.get_user_id()
|
||||
user_id = None
|
||||
id_result = get_user_id_by_qr(str(event.message).strip())
|
||||
logger.debug(f'USERID获取结果:{id_result}')
|
||||
errorResult = {
|
||||
1: "ReaderSetupFail(二维码可能已过期)", 2: "二维码可能已过期", 3: "ReaderIncompatible", 4: "DBResolveFail",
|
||||
5: "DBAccessTimeout", 6: "DBAccessFail", 7: "AimeIdInvalid", 8: "NoBoardInfo",
|
||||
9: "LockBanSystemUser", 10: "LockBanSystem", 11: "LockBanUser", 12: "LockBan",
|
||||
13: "LockSystem", 14: "LockUser"
|
||||
}
|
||||
if id_result['errorID'] == 0:
|
||||
user_id = id_result['userID']
|
||||
else:
|
||||
await bind_user_id.finish([MessageSegment.reply(event.message_id), MessageSegment.text(f"查询ID失败:{errorResult[id_result['errorID']]}")])
|
||||
if save_user_id(user_qq, user_id) == 1:
|
||||
await bind_user_id.finish([MessageSegment.reply(event.message_id), MessageSegment.text("绑定成功了喵~")])
|
||||
elif save_user_id(user_qq, user_id) == -1:
|
||||
await bind_user_id.finish([MessageSegment.reply(event.message_id), MessageSegment.text("您已经绑定过了,若需重新绑定请联系机修喵~")])
|
||||
elif save_user_id(user_qq, user_id) == -2:
|
||||
await bind_user_id.finish([MessageSegment.reply(event.message_id), MessageSegment.text("绑定发生错误,请联系机修。")])
|
||||
else:
|
||||
await bind_user_id.finish([MessageSegment.reply(event.message_id), MessageSegment.text("绑定未知错误,请联系机修。")])
|
||||
elif msg and len(str(msg)) == 128:
|
||||
if is_token_exist(user_qq):
|
||||
await token_bind.send([MessageSegment.reply(event.message_id), MessageSegment.text("出错了...请先联系机修解绑Token再试试吧~")])
|
||||
else:
|
||||
if save_user_token(user_qq, msg) == 1:
|
||||
await token_bind.send([MessageSegment.reply(event.message_id), MessageSegment.text("绑定水鱼成功啦~正在尝试撤回Token~若失败请手动撤回!!")])
|
||||
await bot.delete_msg(event.message_id)
|
||||
elif save_user_token(user_qq, msg) == -1:
|
||||
await token_bind.send(
|
||||
[MessageSegment.reply(event.message_id), MessageSegment.text("出错了...请先联系机修解绑Token。\nErr:-1")])
|
||||
elif save_user_token(user_qq, msg) == -2:
|
||||
await token_bind.send(
|
||||
[MessageSegment.reply(event.message_id), MessageSegment.text("出错了...请联系机修。\nErr:-2")])
|
||||
else:
|
||||
await token_bind.send("请发送正确的水鱼Token~")
|
||||
|
||||
|
||||
@user_img.handle()
|
||||
async def _(event: GroupMessageEvent, message: Message = EventMessage()):
|
||||
user_qq = event.get_user_id()
|
||||
user_id = None
|
||||
script_path = 'F:/generate_img.py'
|
||||
if is_userid_exist(user_qq):
|
||||
user_id = get_userid(user_qq)
|
||||
else:
|
||||
await seeme.send("你还没有绑定舞萌账号~\n请先发送「maibind+你的登录二维码识别后字符串」绑定账号吧~")
|
||||
if user_id != -1:
|
||||
data = get_preview_detailed(user_id)
|
||||
if data["is_got_qr_code"]:
|
||||
await user_img.send([MessageSegment.reply(event.message_id), MessageSegment.text("盐巴正在开你的盒,请不要重复请求!!!")])
|
||||
chara_level = str(data['data']['charaLevel'])
|
||||
chara_id = str(data['data']['charaId'])
|
||||
chara_id1 = chara_id.replace("[","")
|
||||
chara_id2 = chara_id1.replace("]","")
|
||||
chara_id3 = chara_id2.replace(","," ")
|
||||
chara_id4 = chara_id3.replace(" "," ")
|
||||
chara_level1 = chara_level.replace("[","")
|
||||
chara_level2 = chara_level1.replace("]","")
|
||||
chara_level3 = chara_level2.replace(","," ")
|
||||
chara_level4 = chara_level3.replace(" "," ")
|
||||
# chara_level = re.sub(r'[\[\]\s,]', '', str(data['data']['charaLevel']))
|
||||
# chara_id = re.sub(r'[\[\]\s,]', '', str(data['data']['charaId']))
|
||||
logger.info(chara_id3)
|
||||
logger.info(chara_level3)
|
||||
logger.info(chara_id4)
|
||||
logger.info(chara_level4)
|
||||
logger.info(chara_id3)
|
||||
logger.info(chara_level3)
|
||||
logger.info(chara_id4)
|
||||
logger.info(chara_level4)
|
||||
user_name = "\""+data['data']['userName']+"\""
|
||||
title_name = "\""+data['data']['titleName']+"\""
|
||||
logger.info(data['data']['courseRank'])
|
||||
logger.info(data['data']['classRank'])
|
||||
with os.popen("python F:/generate_img.py --nickname" +" "+ user_name + " --title " +" "+ title_name + " --icon " +" "+ str(data['data']['iconId']) + " --frame " +" "+ str(data['data']['frameId']) + " --plate " +" "+ str(data['data']['plateId']) + " --rating" +" "+ str(data['data']['playerRating']) + " --titleRare" +" "+ str(data['data']['titleRare']) + " --chara" +" "+ str(chara_id4) +" --charaLevel" +" "+str(chara_level4)+" "+"--classRank"+" "+str(data['data']['classRank'])+" "+"--courseRank"+" "+str(data['data']['courseRank']) ) as file:
|
||||
for line in file.readlines():
|
||||
logger.info(line.strip())
|
||||
await user_img.send([MessageSegment.reply(event.message_id), MessageSegment.image("file:///F:/img/output.png")])
|
||||
os.remove("F:/img/output.png")
|
||||
|
||||
else:
|
||||
await user_img.send("用户未获取二维码,请获取后再试。")
|
||||
|
||||
|
||||
'''
|
||||
@bind_user_id.handle()
|
||||
async def _(event: GroupMessageEvent, message: Message = EventMessage()):
|
||||
user_qq = event.get_user_id()
|
||||
user_id = None
|
||||
id_result = get_user_id_by_qr(str(event.message)[7:].strip())
|
||||
logger.debug(f'USERID获取结果:{id_result}')
|
||||
errorResult = {
|
||||
1: "ReaderSetupFail(二维码可能已过期)", 2: "二维码可能已过期", 3: "ReaderIncompatible", 4: "DBResolveFail",
|
||||
5: "DBAccessTimeout", 6: "DBAccessFail", 7: "AimeIdInvalid", 8: "NoBoardInfo",
|
||||
9: "LockBanSystemUser", 10: "LockBanSystem", 11: "LockBanUser", 12: "LockBan",
|
||||
13: "LockSystem", 14: "LockUser"
|
||||
}
|
||||
if id_result['errorID'] == 0:
|
||||
user_id = id_result['userID']
|
||||
else:
|
||||
await bind_user_id.finish([MessageSegment.reply(event.message_id), MessageSegment.text(f"查询ID失败:{errorResult[id_result['errorID']]}")])
|
||||
if save_user_id(user_qq, user_id) == 1:
|
||||
await bind_user_id.finish([MessageSegment.reply(event.message_id), MessageSegment.text("绑定成功了喵~")])
|
||||
elif save_user_id(user_qq, user_id) == -1:
|
||||
await bind_user_id.finish([MessageSegment.reply(event.message_id), MessageSegment.text("请先联系机修解绑账号喵~")])
|
||||
elif save_user_id(user_qq, user_id) == -2:
|
||||
await bind_user_id.finish([MessageSegment.reply(event.message_id), MessageSegment.text("绑定发生错误,请联系机修。")])
|
||||
else:
|
||||
await bind_user_id.finish([MessageSegment.reply(event.message_id), MessageSegment.text("绑定未知错误,请联系机修。")])
|
||||
'''
|
||||
@seeme.handle()
|
||||
async def _(event: GroupMessageEvent, message: Message = EventMessage()):
|
||||
user_qq = event.get_user_id()
|
||||
user_id = None
|
||||
if is_userid_exist(user_qq):
|
||||
user_id = get_userid(user_qq)
|
||||
else:
|
||||
await seeme.send("你还没有绑定舞萌账号~\n请先发送「maibind+你的登录二维码识别后字符串」绑定账号吧~")
|
||||
if user_id != -1:
|
||||
data = get_preview_detailed(user_id)
|
||||
if data["is_got_qr_code"]:
|
||||
await seeme.send([MessageSegment.reply(event.message_id), MessageSegment.text(
|
||||
f"玩家昵称:\t{data['data']['userName']}\n"
|
||||
f"玩家Rating:\t{data['data']['playerRating']}\n"
|
||||
f"总觉醒数:\t{data['data']['totalAwake']}\n"
|
||||
f"头像:\t{data['data']['iconName']}\n"
|
||||
f"背景板:\t{data['data']['frameName']}\n"
|
||||
f"姓名框:\t{data['data']['plateName']}\n"
|
||||
f"称号:\t{data['data']['titleName']}\n"
|
||||
f"搭档:\t{data['data']['partnerName']}\n"
|
||||
f"最近登录系统号:\t{data['data']['lastRomVersion']}\n"
|
||||
f"最近登录版本号:\t{data['data']['lastDataVersion']}\n"
|
||||
f"上次登陆时间:\t{data['data']['lastLoginDate']}\n"
|
||||
f"最后游玩时间:\t{data['data']['lastPlayDate']}\n"
|
||||
f"玩家注册时间:\t{data['data']['firstPlayDate']}\n"
|
||||
f"游玩次数:\t{data['data']['playCount']}\n"
|
||||
f"当前游玩区域:\t{data['data']['lastSelectCourse']}\n"
|
||||
f"旅行伙伴名称:\t{data['data']['charaName']}\n"
|
||||
f"旅行伙伴等级:\t{data['data']['charaLevel']}\n"
|
||||
f"旅行伙伴觉醒数:\t{data['data']['charaAwakening']}\n"
|
||||
f"banState:\t{data['data']['banState']}"
|
||||
)
|
||||
])
|
||||
else:
|
||||
data1 = get_preview(user_id)
|
||||
if data1['is_success']:
|
||||
await seeme.send([MessageSegment.reply(event.message_id), MessageSegment.text(
|
||||
f"玩家昵称:\t{data1['data']['userName']}\n"
|
||||
f"玩家Rating:\t{data1['data']['playerRating']}\n"
|
||||
f"总觉醒数:\t{data1['data']['totalAwake']}\n"
|
||||
f"头像:\t{data1['data']['iconName']}\n"
|
||||
f"最近登录系统号:\t{data1['data']['lastRomVersion']}\n"
|
||||
f"最近登录版本号:\t{data1['data']['lastDataVersion']}\n"
|
||||
f"上次登陆时间:\t{data1['data']['lastLoginDate']}\n"
|
||||
f"上次游玩时间:\t{data1['data']['lastPlayDate']}\n"
|
||||
f"是否登入:\t{data1['data']['isLogin']}\n"
|
||||
f"banState:\t{data1['data']['banState']}\n"
|
||||
f"在公众号获取二维码后可以查看更多信息哟~"
|
||||
)])
|
||||
else:
|
||||
await seeme.send([MessageSegment.reply(event.message_id), MessageSegment.text("获取失败,请联系机修。")])
|
||||
|
||||
|
||||
@maihelp.handle()
|
||||
async def _(event: GroupMessageEvent, message: Message = EventMessage()):
|
||||
await maihelp.send(
|
||||
"maimai插件帮助 - Ver.1.35-E\n"
|
||||
"绑定舞萌账号 - maibind+你的登录二维码识别后字符串~ 例:「maibind SGWCMAID123456114514」\n"
|
||||
"查询舞萌账号 - 发送「看我」~\n"
|
||||
"发2/3/5/6倍券 - 发送「发券2/3/5/6」~\n"
|
||||
"(发券7 可发送中二·舞萌联合2倍券,是发券,不是发卷,来跟我读 quàn)\n"
|
||||
"查询账户内剩余功能票 - 发送「ticket」~\n"
|
||||
"登入账号 - 发送「login + 时间戳(必选项)」\n"
|
||||
"登出账号 - 发送「logout + 时间戳(必选项)」\n"
|
||||
"游玩足迹 - 发送「舞萌足迹」\n"
|
||||
"绑定水鱼查分器 - 发送「sybind+水鱼查分器Token」\n"
|
||||
"更新b50 - 发送「syup」或「更新b50」;「水鱼更新」\n"
|
||||
"检测服务器状态 - 发送「status」或「活着不」;「mai?」\n"
|
||||
"更新水鱼乐曲列表 - 发送'uplist'(仅限机修)\n"
|
||||
"请勿在凌晨三点至早上七点内使用SaltBot!!\n"
|
||||
"由于华立近期严查发票,请勿频繁使用发票功能!!"
|
||||
)
|
||||
|
||||
|
||||
ticket = on_regex(r"发券(\d+)", priority=20, rule=is_ticket_enable)
|
||||
@ticket.handle()
|
||||
async def _(event: GroupMessageEvent, message: Message = EventMessage()):
|
||||
OPEN = False
|
||||
if WHITELIST:
|
||||
if event.group_id in ALLOWGROUP:
|
||||
OPEN = True
|
||||
else:
|
||||
OPEN = True
|
||||
if OPEN:
|
||||
regex = r"发券(\d+)"
|
||||
user_qq = event.get_user_id()
|
||||
user_id = None
|
||||
ticket_id = None
|
||||
match = re.search(regex, str(event.get_message()))
|
||||
if match:
|
||||
try:
|
||||
ticket_id = int(match.group(1))
|
||||
except ValueError:
|
||||
await ticket.send(
|
||||
[MessageSegment.reply(event.message_id), MessageSegment.text("现在还不支持这种券...换一张试试吧~")])
|
||||
raise ValueError("匹配的不是有效的数字...检查后再试吧~")
|
||||
else:
|
||||
await ticket.send([MessageSegment.reply(event.message_id), MessageSegment.text("你想发什么券呢?")])
|
||||
return
|
||||
if is_userid_exist(user_qq):
|
||||
# 判断是否存在userid
|
||||
user_id = get_userid(user_qq)
|
||||
else:
|
||||
await ticket.send([MessageSegment.reply(event.message_id), MessageSegment.text("你还没有绑定舞萌账号~\n请先发送「maibind+你的登录二维码识别后字符串」绑定账号吧~")])
|
||||
return
|
||||
if ticket_id == 2:
|
||||
result = send_ticket(user_id, 2)
|
||||
if result["is_success"]:
|
||||
await ticket.send([MessageSegment.reply(event.message_id), MessageSegment.text("成功发送了一张跑图2倍+旅行伙伴2倍+紫谱解禁一张~\n最近华立严查发券,请勿频繁使用发票功能!!")])
|
||||
else:
|
||||
await ticket.send(
|
||||
[MessageSegment.reply(event.message_id), MessageSegment.text(f"失败了...{result['msg_body']}")])
|
||||
return
|
||||
elif ticket_id == 3:
|
||||
result = send_ticket(user_id, 3)
|
||||
if result["is_success"]:
|
||||
await ticket.send([MessageSegment.reply(event.message_id), MessageSegment.text("成功发送了一张跑图3倍+旅行伙伴3倍+紫谱解禁一张~\n最近华立严查发券,请勿频繁使用发票功能!!")])
|
||||
else:
|
||||
await ticket.send(
|
||||
[MessageSegment.reply(event.message_id), MessageSegment.text(f"失败了...{result['msg_body']}")])
|
||||
return
|
||||
elif ticket_id == 5:
|
||||
result = send_ticket(user_id, 5)
|
||||
if result["is_success"]:
|
||||
await ticket.send([MessageSegment.reply(event.message_id), MessageSegment.text("成功发送了一张跑图5倍+旅行伙伴5倍+紫谱解禁一张~\n最近华立严查发券,请勿频繁使用发票功能!!")])
|
||||
else:
|
||||
await ticket.send(
|
||||
[MessageSegment.reply(event.message_id), MessageSegment.text(f"失败了...{result['msg_body']}")])
|
||||
return
|
||||
elif ticket_id == 6:
|
||||
result = send_ticket(user_id, 6)
|
||||
if result["is_success"]:
|
||||
await ticket.send([MessageSegment.reply(event.message_id), MessageSegment.text("成功发送了一张跑图6倍+旅行伙伴6倍+紫谱解禁一张~\n最近华立严查发券,请勿频繁使用发票功能!!")])
|
||||
else:
|
||||
await ticket.send(
|
||||
[MessageSegment.reply(event.message_id), MessageSegment.text(f"失败了...{result['msg_body']}")])
|
||||
return
|
||||
elif ticket_id == 7:
|
||||
result = send_ticket(user_id, 20020)
|
||||
if result["is_success"]:
|
||||
await ticket.send([MessageSegment.reply(event.message_id), MessageSegment.text("成功发送了一张跑图2倍+中二节奏2倍券~\n最近华立严查发券,请勿频繁使用发票功能!!")])
|
||||
else:
|
||||
await ticket.send(
|
||||
[MessageSegment.reply(event.message_id), MessageSegment.text(f"失败了...{result['msg_body']}")])
|
||||
else:
|
||||
await ticket.send([MessageSegment.reply(event.message_id), MessageSegment.text("你想发什么券呢?")])
|
||||
return
|
||||
else:
|
||||
await ticket.send([MessageSegment.reply(event.message_id), MessageSegment.text("本群暂无权限,请联系机修授权。")])
|
||||
|
||||
|
||||
@g_login.handle()
|
||||
async def _(event: GroupMessageEvent, message: Message = EventMessage()):
|
||||
user_qq = event.get_user_id()
|
||||
time = str(event.message)[5:].strip()
|
||||
if is_userid_exist(user_qq):
|
||||
user_id = get_userid(user_qq)
|
||||
result = login(user_id, time)
|
||||
if result["data"]:
|
||||
if result["data"]["returnCode"] == 1:
|
||||
await g_login.send([MessageSegment.reply(event.message_id), MessageSegment.text("登入成功啦!")])
|
||||
else:
|
||||
await g_login.send([MessageSegment.reply(event.message_id), MessageSegment.text(f"登入失败了...\nErr: {result['msg_body']}")])
|
||||
else:
|
||||
await g_login.send([MessageSegment.reply(event.message_id), MessageSegment.text(f"登入失败了...\nErr: {result['msg_body']}")])
|
||||
else:
|
||||
await g_login.send([MessageSegment.reply(event.message_id), MessageSegment.text("你还没有绑定舞萌账号~\n请先发送「maibind+你的登录二维码识别后字符串」绑定账号吧~")])
|
||||
|
||||
|
||||
@g_logout.handle()
|
||||
async def _(event: GroupMessageEvent, message: Message = EventMessage()):
|
||||
user_qq = event.get_user_id()
|
||||
time = str(event.message)[6:].strip()
|
||||
if is_userid_exist(user_qq):
|
||||
user_id = get_userid(user_qq)
|
||||
result = logout(user_id, time)
|
||||
if result["data"]:
|
||||
if result["data"]["returnCode"] == 1:
|
||||
await g_logout.send([MessageSegment.reply(event.message_id), MessageSegment.text("登出成功啦~")])
|
||||
else:
|
||||
await g_logout.send([MessageSegment.reply(event.message_id), MessageSegment.text(f"登出失败了...\nErr: {result['msg_body']}")])
|
||||
else:
|
||||
await g_logout.send([MessageSegment.reply(event.message_id), MessageSegment.text(f"登出失败了...\nErr: {result['msg_body']}")])
|
||||
else:
|
||||
await g_logout.send([MessageSegment.reply(event.message_id), MessageSegment.text("你还没有绑定舞萌账号~\n请先发送「maibind+你的登录二维码识别后字符串」绑定账号吧~")])
|
||||
|
||||
|
||||
@tickets.handle()
|
||||
async def _(event: GroupMessageEvent, message: Message = EventMessage()):
|
||||
user_qq = event.get_user_id()
|
||||
if is_userid_exist(user_qq):
|
||||
user_id = get_userid(user_qq)
|
||||
result = query_ticket(user_id)
|
||||
ticketlist = [MessageSegment.reply(event.message_id),]
|
||||
for ticket in result['data']['userChargeList']:
|
||||
if ticket['chargeId'] == 2:
|
||||
ticketlist.append(MessageSegment.text(f"倍券ID: 2 | 当前持有 {ticket['stock']} 张\n"))
|
||||
elif ticket['chargeId'] == 3:
|
||||
ticketlist.append(MessageSegment.text(f"倍券ID: 3 | 当前持有 {ticket['stock']} 张\n"))
|
||||
elif ticket['chargeId'] == 5:
|
||||
ticketlist.append(MessageSegment.text(f"倍券ID: 5 | 当前持有 {ticket['stock']} 张\n"))
|
||||
elif ticket['chargeId'] == 6:
|
||||
ticketlist.append(MessageSegment.text(f"倍券ID: 6 | 当前持有 {ticket['stock']} 张\n"))
|
||||
elif ticket['chargeId'] == 20020:
|
||||
ticketlist.append(MessageSegment.text(f"倍券ID: 7 | 当前持有 {ticket['stock']} 张"))
|
||||
await tickets.send(ticketlist)
|
||||
else:
|
||||
await tickets.send([MessageSegment.reply(event.message_id), MessageSegment.text("你还没有绑定舞萌账号~\n请先发送「maibind+你的登录二维码识别后字符串」绑定账号吧~")])
|
||||
|
||||
|
||||
@trick.handle()
|
||||
async def _(event: GroupMessageEvent, message: Message = EventMessage()):
|
||||
user_qq = event.get_user_id()
|
||||
if is_userid_exist(user_qq):
|
||||
user_id = get_userid(user_qq)
|
||||
USERID = True
|
||||
else:
|
||||
USERID = False
|
||||
await trick.send('你还没有绑定舞萌账号~\n请先发送「maibind+你的登录二维码识别后字符串」绑定账号吧~')
|
||||
if USERID:
|
||||
tricklist = [MessageSegment.reply(event.message_id),MessageSegment.text('数据以机台注册地为准!\n出现了你没有去过的地方就代表你玩的机台被搬运过~\n你曾经在以下地方游玩过舞萌DX:\n=======\n'),]
|
||||
data = get_user_region(user_id)['data']['userRegionList']
|
||||
for test in data:
|
||||
tricklist.append(
|
||||
MessageSegment.text(
|
||||
|
||||
f"- [ {test['regionName']} ] 共勤 {test['playCount']} 次\n"
|
||||
f"- 首次游玩日期: {test['created']}\n"
|
||||
f"=======\n"
|
||||
),
|
||||
)
|
||||
await trick.send(tricklist)
|
||||
|
||||
|
||||
@token_bind.handle()
|
||||
async def _(event: GroupMessageEvent, message: Message = EventMessage()):
|
||||
token = str(event.message)[6:].strip()
|
||||
user_qq = event.get_user_id()
|
||||
if token and len(token) == 128:
|
||||
if is_token_exist(user_qq):
|
||||
await token_bind.send([MessageSegment.reply(event.message_id), MessageSegment.text("出错了...请先联系机修解绑Token再试试吧~")])
|
||||
else:
|
||||
if save_user_token(user_qq, token) == 1:
|
||||
await token_bind.send([MessageSegment.reply(event.message_id), MessageSegment.text("绑定水鱼成功啦~正在尝试撤回Token~若失败请手动撤回!!")])
|
||||
await bot.delete_msg(event.message_id)
|
||||
elif save_user_token(user_qq, token) == -1:
|
||||
await token_bind.send(
|
||||
[MessageSegment.reply(event.message_id), MessageSegment.text("出错了...请先联系机修解绑Token。\nErr:-1")])
|
||||
elif save_user_token(user_qq, token) == -2:
|
||||
await token_bind.send(
|
||||
[MessageSegment.reply(event.message_id), MessageSegment.text("出错了...请联系机修。\nErr:-2")])
|
||||
else:
|
||||
await token_bind.send("请发送正确的水鱼Token~")
|
||||
#12
|
||||
|
||||
@gb.handle()
|
||||
async def _(event: GroupMessageEvent, message: Message = EventMessage()):
|
||||
user_qq = event.get_user_id()
|
||||
if not is_token_exist(user_qq):
|
||||
await gb.send([MessageSegment.reply(event.message_id), MessageSegment.text("你还没有绑定水鱼查分器成绩导入Token~\n请先发送「sybind+Token」绑定Token吧~")])
|
||||
else:
|
||||
if not is_userid_exist(user_qq):
|
||||
await gb.send([MessageSegment.reply(event.message_id), MessageSegment.text("你还没有绑定舞萌账号~\n请先发送「maibind+你的登录二维码识别后字符串」绑定账号吧~")])
|
||||
else:
|
||||
await gb.send([MessageSegment.reply(event.message_id), MessageSegment.text("正在更新你的b50,请耐心等待,不要重复请求哦~")])
|
||||
token = get_token(user_qq)
|
||||
user_id = get_userid(user_qq)
|
||||
old_data = get_user_music(user_id)
|
||||
if not old_data['is_success']:
|
||||
await gb.finish([MessageSegment.reply(event.message_id), MessageSegment.text(f"更新失败了...{old_data['msg_body']}")])
|
||||
else:
|
||||
old_data = old_data['data']['userMusicDetailList']
|
||||
try:
|
||||
print(-1)
|
||||
new_data, n = change_data(old_data)
|
||||
print(0)
|
||||
result = send_user_data(new_data, token)
|
||||
print(1)
|
||||
if result['status'] == 200:
|
||||
await gb.send([MessageSegment.reply(event.message_id), MessageSegment.text(f"更新成功啦!发送了{n}首歌曲,可以直接发送「b50」查询你的b50哦~")])
|
||||
else:
|
||||
await gb.send([MessageSegment.reply(event.message_id), MessageSegment.text(f"更新失败了...请联系机修查看错误信息。\nErr: {result['msg']}")])
|
||||
except Exception as e:
|
||||
await gb.send([MessageSegment.reply(event.message_id), MessageSegment.text(f"更新失败了...请联系机修查看错误信息。\nErr: {e}")])
|
||||
|
||||
|
||||
@up_list.handle()
|
||||
async def _(event: GroupMessageEvent, message: Message = EventMessage()):
|
||||
try:
|
||||
update_music_list()
|
||||
await up_list.send([MessageSegment.reply(event.message_id), MessageSegment.text("更新成功啦!")])
|
||||
except Exception as e:
|
||||
await up_list.send([MessageSegment.reply(event.message_id), MessageSegment.text(f"更新失败了...\nErr: {e}")])
|
||||
|
||||
@status.handle()
|
||||
async def _(event: GroupMessageEvent, message: Message = EventMessage()):
|
||||
result = {'title': '坏...', 'chime': '坏...', 'all_net': '坏...',}#'allnet_delay':'???','chime_delay':'???','title_delay':'???'}
|
||||
title = title_ping()
|
||||
chime = chime_ping()
|
||||
all_net = all_net_ping()
|
||||
if title['is_success']:
|
||||
result['title'] = '好!'
|
||||
# result['title_delay'] = title['delay']
|
||||
if chime['is_success']:
|
||||
result['chime'] = '好!'
|
||||
# result['chime_delay'] = chime['delay']
|
||||
if all_net['is_success']:
|
||||
result['all_net'] = '好!'
|
||||
# result['allnet_delay'] = all_net['delay']
|
||||
await status.send([MessageSegment.reply(event.message_id), MessageSegment.text(
|
||||
f"[Title/标题服务器]:\t{result['title']}\n"
|
||||
f"[Chime/会员服务器]:\t{result['chime']}\n"
|
||||
f"[ALL.Net状态]: \t{result['all_net']}\n"
|
||||
f"[机厅的网络状态]: 不知道\n"
|
||||
f"[你家的网络状态]: 不知道\n"
|
||||
f"[机厅网络运营商状态]:不知道\n"
|
||||
f"[你家网络运营商状态]:不知道"
|
||||
)])
|
||||
|
||||
|
||||
#@runhw.handle()
|
||||
#async def _(event: GroupMessageEvent, message: Message = EventMessage()):
|
||||
# user_qq = event.get_user_id()
|
||||
# if is_userid_exist(user_qq):
|
||||
# for i in range(time):
|
||||
Reference in New Issue
Block a user