Files
qqbot/ru2n.py
T

929 lines
38 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.
# -*- coding: utf-8 -*-
import asyncio
import os
from jieba import posseg
import re
import json
import yaml
import jieba
import botpy
from botpy import logging, BotAPI
from botpy.ext.cog_yaml import read
from botpy.message import GroupMessage, Message,C2CMessage
from botpy.manage import C2CManageEvent
from botpy.ext.command_util import Commands
import time
from datetime import datetime, timedelta
import requests
from Player_Query import Character_Query
import csv
from Vechile import Vechile_Character_Query
from Specific_vehicle import Specific_query,sorting
from pathlib import Path
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
jieba.load_userdict(os.path.join(os.path.dirname(__file__), "dict.txt"))
_log = logging.get_logger()
class MyClient(botpy.Client):
async def on_ready(self):
_log.info(f"robot 「{self.robot.name}」 on_ready!")
async def on_group_at_message_create(self, message: GroupMessage):
text = (message.content).strip()
if 'Error' in text or '正常' in text or '维护模式' in text or '当前模式' in text or '测试' in text:
stripped_msg = text.strip()
words = posseg.lcut(stripped_msg)
for word in words:
# 每个元素是一个 pair 对象,包含 word 和 flag 两个属性,分别表示词和词性
if word.flag == "m":
# ns 词性表示地名
Verification = str(int(word.word))
Verification = Verification.zfill(6)
break
Ver = await Fuck_tx().Code_Verifica(Verification)
if Ver == True:
if 'Error' in text:
flag = await Fuck_tx().Error_Mode()
if flag == True:
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
content=f"Reply_Mode修改为1",
)
_log.info(messageResult)
else:
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
content=f"Reply_Mode修改失败",
)
_log.info(messageResult)
elif '正常' in text:
flag = await Fuck_tx().Common_Mode()
if flag == True:
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
content=f"Reply_Mode修改为0",
)
_log.info(messageResult)
else:
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
content=f"Reply_Mode修改失败",
)
_log.info(messageResult)
elif '当前模式' in text:
text = await Fuck_tx().Now_Cfg()
if text['Reply_Mode'] == '0':
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
content=f"当前为普通模式,Reply_Mode为:{text['Reply_Mode']}",
)
_log.info(messageResult)
elif text['Reply_Mode'] == '1':
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
content=f"当前为Error模式,Reply_Mode为:{text['Reply_Mode']}",
)
_log.info(messageResult)
elif '测试' in text:
text = await Fuck_tx().Now_Cfg()
if text['Reply_Mode'] == '0':
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
#不包含message_id为主动发文
content=f"当前为普通模式,Reply_Mode为:{text['Reply_Mode']}",
)
_log.info(messageResult)
elif text['Reply_Mode'] == '1':
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
content=f"当前为Error模式,Reply_Mode为:{text['Reply_Mode']}",
)
_log.info(messageResult)
elif '维护模式' in text:
flag = await Fuck_tx().Server_Mode()
if flag == True:
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
content=f"Reply_Mode修改为2",
)
_log.info(messageResult)
else:
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
content=f"Reply_Mode修改失败",
)
_log.info(messageResult)
else:
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
content=f"你谁啊你",
)
_log.info(messageResult)
elif '投稿' in text:
url = message.attachments[0].url
response = requests.get(url)
image_dir = os.path.join(os.path.dirname(__file__))
if response.status_code == 200:
# 将图片数据写入本地文件
file_base = message.content.replace("投稿", "").strip()
if file_base != '':
image_name = file_base + '.jpg'
image_path = os.path.join(os.path.dirname(__file__),image_name)
else:
image_name = message.id[:-8] + '.jpg'
image_path = os.path.join(os.path.dirname(__file__),image_name)
with open(image_path, 'wb') as file:
file.write(response.content)
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
content=f"图片下载成功!",
)
_log.info(messageResult)
else:
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
content=f"图片下载失败!",
)
_log.info(messageResult)
_log.info(messageResult)
elif '角色查询' in text:
stripped_msg = text.strip()
stripped_msg = stripped_msg.replace("", ",")
cleaned_text = re.sub(r'[,\s]+', ' ', stripped_msg)
user_text = cleaned_text.split()
_log.info(user_text)
words = posseg.lcut(stripped_msg)
msg = { 'ID': '',
'Num':20,
'Mode':'Normal',
"Status":'',
"TimeLine":'',
}
msg['ID'] = user_text[1]
for word in words:
# 每个元素是一个 pair 对象,包含 word 和 flag 两个属性,分别表示词和词性
if word.flag == "que":
msg['Mode'] = (word.word).lower()
break
elif (word.word) == '死亡':
msg['Mode'] = "death"
elif (word.word) == '评分':
msg['Mode'] = "ivi"
elif (word.word) == '时间':
msg['Mode'] = "time"
elif (word.word) == '击杀':
msg['Mode'] = "kill"
#查询数量记录
try:
msg['num'] = user_text[3]
except:
msg['num'] = 20
if msg['ID'] != '' :
#start = await Character_Query().test_re(msg)
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
msg_seq= 1,
content=str('数据检索中...'),
)
_log.info(messageResult)
try:
date = await Character_Query().Character_date(msg['ID'])
except:
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
msg_seq= 2,
content=str('API沟通失败,请重试...'),
)
_log.info(messageResult)
try:
code = date['code']
if code == 10000:
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
msg_seq= 2,
content=str('未找到该玩家数据,请检查ID是否正确'),
)
_log.info(messageResult)
except:
Player_BasicDate = date['basicInfo']
Player_LatestSessionInfo = date['latestSessionInfo']
Character_Id = Player_BasicDate['characterFullName']
if Player_BasicDate['outfitAlias'] == None:
Character_outfitAlias = ''
else:
Character_outfitAlias = '[' + Player_BasicDate['outfitAlias'] + ']'
Online_flag = Player_BasicDate['online']
try:
if Online_flag == True :
logintimeline = int(Player_LatestSessionInfo['latestLoginDate'])
logintime = datetime.fromtimestamp(logintimeline)
formatted_time = logintime.strftime("%Y-%m-%d %H:%M")
elif Online_flag == False :
Logouttimeline = int(Player_LatestSessionInfo['latestLogoutDate'])/1000
Logouttime = datetime.fromtimestamp(int(Logouttimeline))
formatted_time = Logouttime.strftime("%Y-%m-%d %H:%M")
except:
formatted_time = '数据库无记录'
msg['Character_ID'] = Character_outfitAlias + ' ' + Character_Id
msg['ID'] = Character_Id
msg['Status'] = Online_flag
msg['TimeLine'] = formatted_time
web_url = 'https://bot.file.sunderer.games'
if msg['Mode'] == 'Normal':
print(msg['Mode'])
overname = await Character_Query().Date_OverView(msg,date)
url = web_url + '/' + overname
try:
uploadMedia = await message._api.post_group_file(
group_openid=message.group_openid,
file_type=1, # 文件类型要对应上,具体支持的类型见方法说明
url=url # 文件Url
)
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=7,
msg_id=message.id,
msg_seq = 4,
#content=f"收到了消息:{message.content}",
media=uploadMedia,
)
_log.info(messageResult)
except:
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
msg_seq= 3909,
content=str('QQbot接口请求错误,请重试'),
)
_log.info(messageResult)
else:
print(msg['Mode'])
cycle = await Character_Query().Date_list(msg,date)
#web_url = 'http://xm1.dc.sunderer.games:3100/'
for i in range(0,cycle):
img_id = str(Character_Id) + "({}).jpg".format(i)
Character_url = web_url + '/' + img_id
try:
uploadMedia = await message._api.post_group_file(
group_openid=message.group_openid,
file_type=1, # 文件类型要对应上,具体支持的类型见方法说明
url=Character_url # 文件Url
)
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=7,
msg_id=message.id,
msg_seq = 3 + (i-1),
#content=f"收到了消息:{message.content}",
media=uploadMedia,
)
_log.info(messageResult)
except:
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
msg_seq= 3 + (i-1),
content=str('QQbot接口请求错误,请重试'),
)
_log.info(messageResult)
for j in range(0,cycle):
img_id = str(Character_Id) + "({}).jpg".format(j)
file_path = os.path.join('/home/bot/QQbot/Charter_Sundy_Query/Output',img_id)
os.remove(file_path)
#User_Name = 'MMMMMMMMMM'
else:
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
msg_seq= 2,
content=str('请检查是否输入ID'),
)
_log.info(messageResult)
elif '指令帮助' in text:
textt = "查询指令格式为:【角色ID】,【筛选模式】,【数量】\r查询指令通过逗号(,)连接\r例如:MicroYX,击杀,20\r Aokiwasukekdr40\r筛选模式为:\r击杀,死亡,\r 倒地,评分,\r 时间,KDR\r KPMHSR\r ACC IVI\r数量可以任意填写,但数量多会导致生成时间过慢。\r如有不理解或者数据错误,请@群管理。"
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
content=str(textt),
)
elif '在线验证' in text:
stripped_msg = text.strip()
words = posseg.lcut(stripped_msg)
msg = { 'ID': '',
'Num':20,
'Mode':'Normal',
"Status":'',
"TimeLine":'',
}
for word in words:
if word.flag == 'eng':
msg['ID'] = word.word
break
flag = await Fuck_tx().Online_Query(msg['ID'])
print(flag)
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
content=str(flag),
)
_log.info(messageResult)
elif '查询人口' in text:
file_url = 'https://bot.file.sunderer.games/error.png'#'test.png error.png'#
uploadMedia = await message._api.post_group_file(
group_openid=message.group_openid,
file_type=1, # 文件类型要对应上,具体支持的类型见方法说明
url=file_url # 文件Url
)
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=7,
msg_id=message.id,
#content=f"收到了消息:{message.content}",
media=uploadMedia,
)
_log.info(messageResult)
elif '载具总览' in text:
stripped_msg = text.strip()
stripped_msg = stripped_msg.replace("", ",")
cleaned_text = re.sub(r'[,\s]+', ' ', stripped_msg)
user_text = cleaned_text.split()
_log.info(user_text)
words = posseg.lcut(stripped_msg)
msg = { 'ID': '',
'Num':20,
'Mode':'Normal',
"Status":'',
"TimeLine":'',
}
msg['ID'] = user_text[1]
for word in words:
# 每个元素是一个 pair 对象,包含 word 和 flag 两个属性,分别表示词和词性
if word.flag == "que":
msg['Mode'] = (word.word).lower()
break
elif (word.word) == '死亡':
msg['Mode'] = "death"
elif (word.word) == '评分':
msg['Mode'] = "ivi"
elif (word.word) == '时间':
msg['Mode'] = "time"
elif (word.word) == '击杀':
msg['Mode'] = "kill"
if msg['ID'] != '' :
#start = await Character_Query().test_re(msg)
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
msg_seq= 1,
content=str('数据检索中...'),
)
_log.info(messageResult)
try:
date = await Character_Query().Character_date(msg['ID'])
except:
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
msg_seq= 2,
content=str('API沟通失败,请重试...'),
)
_log.info(messageResult)
try:
code = date['code']
if code == 10000:
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
msg_seq= 2,
content=str('未找到该玩家数据,请检查ID是否正确'),
)
_log.info(messageResult)
except:
web_body = await Vechile_Character_Query().Date_Rinse_common(date)
web_url = 'https://bot.file.sunderer.games/'
file_url = web_url + web_body
uploadMedia = await message._api.post_group_file(
group_openid=message.group_openid,
file_type=1, # 文件类型要对应上,具体支持的类型见方法说明
url=file_url # 文件Url
)
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=7,
msg_seq= 3,
msg_id=message.id,
#content=f"收到了消息:{message.content}",
media=uploadMedia,
)
_log.info(messageResult)
file_path = os.path.join('/home/bot/QQbot/Charter_Sundy_Query/Output',web_body)
os.remove(file_path)
elif '载具查询' in text:
stripped_msg = text.strip()
stripped_msg = stripped_msg.replace("", ",")
cleaned_text = re.sub(r'[,\s]+', ' ', stripped_msg)
user_text = cleaned_text.split()
_log.info(user_text)
words = posseg.lcut(stripped_msg)
msg = { 'ID': '',
'Num':20,
'Mode':'kill',
"Status":'',
"TimeLine":'',
'Select':'',
'user_give_faction':''
}
msg['ID'] = user_text[1]
for word in words:
if word.flag == "vea":
msg['Select'] = word.word
if word.word == '蚊子':
msg["Select"] = 'Mosquito'
elif word.word == '镰刀':
msg["Select"] = 'Scythe'
elif word.word == '海盗':
msg["Select"] = 'Reaver'
elif word.word == '电磁':
msg["Select"] = 'Magrider'
elif word.word == '徘徊':
msg["Select"] = 'Prowler'
elif word.word == '决裂':
msg["Select"] = 'Sunderer'
elif word.word == '先驱':
msg["Select"] = 'Vanguard'
elif word.word == '奇美拉':
msg["Select"] = 'Chimera'
elif word.word == '突袭':
msg["Select"] = 'Harasser'
elif word.word == '银河':
msg["Select"] = 'Galaxy'
elif word.word == '女武神':
msg["Select"] = 'Valkyrie'
elif word.word == '解放':
msg["Select"] = 'Liberator'
elif word.word == '北极星':
msg["Select"] = 'Lodestar Prototype'
elif word.word == '火花':
msg["Select"] = 'Flash'
elif word.word == '闪电':
msg["Select"] = 'Lightning'
elif word.word == '巨像':
msg["Select"] = 'Colossus'
elif word.word == '私掠者':
msg["Select"] = 'Corsair'
elif word.word == '标枪':
msg["Select"] = 'Javelin'
elif word.word == '苦行僧':
msg["Select"] = 'Dervish'
if msg['Select'] == 'Mosquito' or msg['Select'] =='Prowler' :
msg['user_give_faction'] = "3"
elif msg['Select'] == 'Scythe' or msg['Select'] == 'Magrider' :
msg['user_give_faction'] = "1"
elif msg['Select'] == 'Reaver' or msg['Select'] == 'Vanguard' :
msg['user_give_faction'] = "2"
elif msg['Select'] == 'Dervish' or msg['Select'] == 'Chimera' :
msg['user_give_faction'] = "4"
_log.info(msg)
for word in words:
# 每个元素是一个 pair 对象,包含 word 和 flag 两个属性,分别表示词和词性
if word.flag == "que":
msg['Mode'] = (word.word).lower()
break
elif word.flag == 'qua':
msg['Mode'] = (word.word)
if msg['Mode']== '击杀':#
msg['Mode'] = "kill"
elif msg['Mode']== '开火次数':#
msg['Mode'] = "fire"
elif msg['Mode']== '命中次数':#
msg['Mode'] = "hit"
elif msg['Mode']== '命中率':#
msg['Mode'] = "acc"
elif msg['Mode']== '击杀平均开火数':#
msg['Mode'] = "spk"
elif msg['Mode']== '击杀平均命中数':#
msg['Mode'] = "hpk"
elif msg['Mode']== '伤害量':#
msg['Mode'] = "dmg"
elif msg['Mode']== '分钟平均得分数':#
msg['Mode'] = "spm"
elif msg['Mode']== '累计使用时间':#
msg['Mode'] = "time"
if msg['ID'] != '' :
#start = await Character_Query().test_re(msg)
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
msg_seq= 1,
content=str('数据检索中...'),
)
_log.info(messageResult)
try:
date = await Character_Query().Character_date(msg['ID'])
except:
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
msg_seq= 2,
content=str('API沟通失败,请重试...'),
)
_log.info(messageResult)
try:
code = date['code']
if code == 10000:
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
msg_seq= 2,
content=str('未找到该玩家数据,请检查ID是否正确'),
)
_log.info(messageResult)
except:
Vechile_BasicDate_ori = date["battleData"]['vehicleData']
airvichile = ['Mosquito','Scythe','Reaver','Dervish']
landvichile = ['Chimera','Vanguard','Magrider','Prowler']
if msg['user_give_faction'] != None:
Chart_faction = str(date["basicInfo"]["factionId"])
_log.info(Chart_faction)
if Chart_faction == msg['user_give_faction']:
_log.info('阵营与查询目标吻合')
else:
_log.info('阵营与查询目标不吻合')
if Chart_faction == '1':
if msg['Select'] in airvichile:
msg['Select'] = 'Scythe'
elif msg['Select'] in landvichile:
msg['Select'] = 'Magrider'
elif Chart_faction == '2':
if msg['Select'] in airvichile:
msg['Select'] = 'Reaver'
elif msg['Select'] in landvichile:
msg['Select'] = 'Vanguard'
elif Chart_faction == '3':
if msg['Select'] in airvichile:
msg['Select'] = 'Mosquito'
elif msg['Select'] in landvichile:
msg['Select'] = 'Prowler'
elif Chart_faction == '4':
if msg['Select'] in airvichile:
msg['Select'] = 'Dervish'
elif msg['Select'] in landvichile:
msg['Select'] = 'Chimera'
else:
_log.info('line 693 error')
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=0,
msg_id=message.id,
msg_seq= 2,
content=str('看起来这个角色并没有敌方阵营的载具,让我帮你换一下。'),
)
_log.info(messageResult)
_log.info(msg)
Vechile_BasicDate = await Specific_query().select_vehicle(Vechile_BasicDate_ori, Select=msg["Select"])
#_log.info(Vechile_BasicDate)
Vechile_weapon_data = Vechile_BasicDate[0]['weaponStat']
sorting_data = await sorting().Data_sorting(Vechile_weapon_data, msg['Mode'])
list_num = len(Vechile_weapon_data)+1
web_body = await Specific_query().vechile_img(date, Vechile_BasicDate, sorting_data, list_num, msg['Mode'])
web_url = 'https://bot.file.sunderer.games/'
file_url = web_url + web_body
uploadMedia = await message._api.post_group_file(
group_openid=message.group_openid,
file_type=1, # 文件类型要对应上,具体支持的类型见方法说明
url=file_url # 文件Url
)
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=7,
msg_seq= 3,
msg_id=message.id,
#content=f"收到了消息:{message.content}",
media=uploadMedia,
)
_log.info(messageResult)
file_path = os.path.join('/home/bot/QQbot/Charter_Sundy_Query/Output',web_body)
os.remove(file_path)
elif '查询' in text:
file_url = await Fuck_tx().Server_query(message)
uploadMedia = await message._api.post_group_file(
group_openid=message.group_openid,
file_type=1, # 文件类型要对应上,具体支持的类型见方法说明
url=file_url # 文件Url
)
messageResult = await message._api.post_group_message(
group_openid=message.group_openid,
msg_type=7,
msg_id=message.id,
#content=f"收到了消息:{message.content}",
media=uploadMedia,
)
_log.info(messageResult)
class Fuck_tx():
async def Server_query(self,message):
text = message.content
web_url = 'https://bot.file.sunderer.games/'
stripped_msg = text.strip()
words = posseg.lcut(stripped_msg)
Server = None
for word in words:
# 每个元素是一个 pair 对象,包含 word 和 flag 两个属性,分别表示词和词性
if word.flag == "ser":
# ns 词性表示地名
Server = word.word
break
if Server != None:
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
if test_config['Reply_Mode'] == '0':
if Server == "索泰克":
web_body = 'error.png'#'/Soltech_Sundy.jpg'#'error.png'#
elif Server == "温怀特":
web_body = 'error.png'#'/Wainwright_Sundy.jpg'#'error.png'#
elif Server == "奥斯普雷":
web_body = 'error.png'#'/Osprey_Sundy.jpg'#'error.png'#
file_url = web_url + web_body
return file_url
elif test_config['Reply_Mode'] == '1':
web_body = 'error.png'
file_url = web_url + web_body
return file_url
elif test_config['Reply_Mode'] == '2':
web_body = 'Server.jpg'
file_url = web_url + web_body
return file_url
async def Error_Mode(self):
try:
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
test_config['Reply_Mode'] = '1'
with open((os.path.join(os.path.dirname(__file__), "config.yaml")), "w") as file:
yaml.dump(test_config, file)
return True
except:
return False
async def Server_Mode(self):
try:
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
test_config['Reply_Mode'] = '2'
with open((os.path.join(os.path.dirname(__file__), "config.yaml")), "w") as file:
yaml.dump(test_config, file)
return True
except:
return False
async def Common_Mode(self):
try:
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
test_config['Reply_Mode'] = '0'
with open((os.path.join(os.path.dirname(__file__), "config.yaml")), "w") as file:
yaml.dump(test_config, file)
return True
except:
return False
async def Now_Cfg(self):
try:
test_config = read(os.path.join(os.path.dirname(__file__), "config.yaml"))
return test_config
except:
return '出错了'
async def Code_Verifica(self,code):
time_now = str(int(time.time()))
time00 = time_now[0:4]
time1 = str(code)[::-1]
time_ver = time00+time1
if int(time_now) < int(time_ver) and (int(time_ver)-300) < int(time_now):
return True
else:
return False
async def Code_Gen(self):
time1 = str(int(time.time())+300)
time3 = time1[::-1][:-4]
return time3
async def Clean_All_Server(self):
url = "https://api.sunderer.games/census/restart"
payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"page_no\"\r\n\r\n1\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"page_size\"\r\n\r\n15\r\n-----011000010111000001101001--\r\n\r\n"
headers = {"content-type": "multipart/form-data; boundary=---011000010111000001101001"}
response = requests.request("POST", url, data=payload, headers=headers)
return response.text
async def Clean_Specific_Server(self,server):
url = "https://api.sunderer.games/census/restart/server"
payload = {"ServerName": ""}
payload['ServerName'] = str(server)
headers = {"content-type": "application/json"}
response = requests.request("POST", url, json=payload, headers=headers)
return response.text
async def Online_Query(self,id):
url = "https://api.sunderer.games/census/character/search"
querystring = {"name": ""}
querystring["name"] = id
response = requests.request("GET", url, params=querystring)
response = response.json()
online_flag = response['basicInfo']['online']
return online_flag
if __name__ == "__main__":
# 通过预设置的类型,设置需要监听的事件通道
# intents = botpy.Intents.none()
# intents.public_messages=True
# 通过kwargs,设置需要监听的事件通道
intents = botpy.Intents(public_messages=True)
client = MyClient(intents=intents)
client.run(appid=test_config["appid"], secret=test_config["secret"])