forked from saipo/astrbot_plugin_dajiao
增加时长排行功能
This commit is contained in:
parent
30f7a420cc
commit
c0796d1d45
37
main.py
37
main.py
@ -234,6 +234,43 @@ class MyPlugin(Star):
|
|||||||
conn.close()
|
conn.close()
|
||||||
|
|
||||||
|
|
||||||
|
@filter.command("时长成就排行")
|
||||||
|
async def timerank(self, event: AstrMessageEvent):
|
||||||
|
conn=pymysql.connect(host = '192.168.31.9' # 连接名称,默认
|
||||||
|
,user = 'saipo'
|
||||||
|
,passwd='Grasste0403' # 密码
|
||||||
|
,port= 3306 # 端口,默认为3306
|
||||||
|
,db='saipo' # 数据库名称
|
||||||
|
,charset='utf8' # 字符编码
|
||||||
|
)
|
||||||
|
cur = conn.cursor()
|
||||||
|
sql = "SELECT du.uid, du.nameid, t.max_timelong, MAX(dj.eventTime) AS eventTime FROM dajiaouser du LEFT JOIN (SELECT openid, MAX(timelong) AS max_timelong FROM dajiao GROUP BY openid) t ON du.openid = t.openid LEFT JOIN dajiao dj ON du.openid = dj.openid AND t.max_timelong = dj.timelong GROUP BY du.uid, du.nameid, t.max_timelong;"
|
||||||
|
cur.execute(sql)
|
||||||
|
date = cur.fetchall()
|
||||||
|
ranklist = []
|
||||||
|
for i in range(len(date)):
|
||||||
|
ranklist.append((date[i][0], date[i][1], date[i][2], date[i][3]))
|
||||||
|
ranklist.sort(key=lambda x: x[2], reverse=True)
|
||||||
|
ranklist_str = "时长最长排名\n"
|
||||||
|
for i in range(len(ranklist)):
|
||||||
|
ranklist_str += f"{i+1} uid:{ranklist[i][0]} {ranklist[i][1]} 最长时长:{ranklist[i][2]}ml 打胶时间:{ranklist[i][3]}\n"
|
||||||
|
ranklist_str += "\n"
|
||||||
|
|
||||||
|
sql2 = "SELECT du.uid, du.nameid, t.min_timelong, MAX(dj.eventTime) AS eventTime FROM dajiaouser du LEFT JOIN (SELECT openid, MIN(timelong) AS min_timelong FROM dajiao GROUP BY openid) t ON du.openid = t.openid LEFT JOIN dajiao dj ON du.openid = dj.openid AND t.min_timelong = dj.timelong GROUP BY du.uid, du.nameid, t.min_timelong;"
|
||||||
|
cur.execute(sql2)
|
||||||
|
date2 = cur.fetchall()
|
||||||
|
ranklist2 = []
|
||||||
|
for i in range(len(date2)):
|
||||||
|
ranklist2.append((date2[i][0], date2[i][1], date2[i][2], date2[i][3]))
|
||||||
|
ranklist2.sort(key=lambda x: x[2])
|
||||||
|
ranklist_str += "时长最短排名\n"
|
||||||
|
for i in range(len(ranklist2)):
|
||||||
|
ranklist_str += f"{i+1} uid:{ranklist2[i][0]} {ranklist2[i][1]} 最短时长:{ranklist2[i][2]}ml 打胶时间:{ranklist2[i][3]}\n"
|
||||||
|
yield event.plain_result(ranklist_str)
|
||||||
|
cur.close()
|
||||||
|
conn.close()
|
||||||
|
|
||||||
|
|
||||||
testNumber = 0
|
testNumber = 0
|
||||||
@filter.command("测试")
|
@filter.command("测试")
|
||||||
async def test(self, event: AstrMessageEvent):
|
async def test(self, event: AstrMessageEvent):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user