又在玩机器人(你咋天天都在摸鱼
令则同志今天告诉我BUU出了个WEB api,可以查战队内人的做题情况,于是问我要不要给机器人加一个这个玩玩,我说吼啊。然后就做了。
coolq有http-api插件,这样子的开发就可以不光用cpp,易语言什么的开发,而是几乎所有高级语言都可以做到,有很多大佬专门做了这个的sdk,开发起来非常的方便,比如这次开发我就用了差不多二十行代码就完成了
这次用的是支持python3.7+版本的CQHTTP Python Async SDK,这个SDK是以http-api插件为基础的。按照文档的顺序,装了coolq-http-api插件,以及换上Python3.8以后,很快就搞好了环境,然后写了下就完成了
from aiocqhttp import CQHttp, Event
import requests
import json
bot = CQHttp(api_root='http://127.0.0.1:5700')
@bot.on_message()
async def _(event: Event):
msg = event.message
if msg == "#buu":
r = requests.get('https://buuoj.cn/plugins/new-challenges/affiliation_daily?affiliation=(input you affiliation)')
data = json.loads(r.text)
payload = '近几天刷题情况:\n'
for i in data['data']:
payload = payload + str(i['user_name']) + ' '
payload = payload + '解题'+str(i['count'])+ '道,'
payload = payload + '获得'+ str(i['score']) + '分。\n'
return {'reply': payload}
bot.run(host='127.0.0.1', port=随便开个就行,没被占用就可以了)
效果大概就是