Sdk实现qq机器人编程

 

又在玩机器人(你咋天天都在摸鱼

令则同志今天告诉我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=随便开个就行,没被占用就可以了)

效果大概就是效果