基于nonebot的QQ群聊机器人制作(一)
藍(lán)多多的小倉(cāng)庫(kù)實(shí)踐記錄博文
目錄
藍(lán)多多的小倉(cāng)庫(kù)實(shí)踐記錄博文
1、使用pip安裝相應(yīng)包
2、在控制臺(tái)輸入指令nb配置相應(yīng)工程
3、go-cqhttp?文件的下載與安裝
4、修改.env文件
5、修改config.yml文件
6、修改bot.py代碼
7、運(yùn)行并測(cè)試
1、使用pip安裝相應(yīng)包
1)配置鏡像源請(qǐng)參考:
Pycharm配置鏡像源(長(zhǎng)期有效)_藍(lán)多多的小倉(cāng)庫(kù)-CSDN博客
2)在Terminal中輸入:
pip install pydantic loguru pygtrie httpx python-dotenv uvicorn fastapi requests selenium aiocqhttp ffmpeg aiohttp nb-cli nonebot2 nonebot-plugin-apscheduler nonebot-adapter-cqhttp -i https://pypi.tuna.tsinghua.edu.cn/simple3)安裝過(guò)程實(shí)例:這里可以使用如下代碼進(jìn)行測(cè)試:
import nonebot from nonebot.adapters.cqhttp import Bot as CQHTTPBot nonebot.init()看看是否安裝成功,若成功,則如下圖右邊所示:
2、在控制臺(tái)輸入指令nb配置相應(yīng)工程
1)輸入nb,回車
2)選擇Create a New NoneBot Plugin,回車并填寫相應(yīng)的工程名
?
3)選擇 In a "src" folder,回車
?
4)選擇cqhttp,回車
?
5)輸入y,回車
?
3、go-cqhttp?文件的下載與安裝
1)下載?go-cqhttp?release文件
go-cqhttp?release文件下載地址:?https://github.com/Mrs4s/go-cqhttp/releases/
如有g(shù)ithub無(wú)法訪問(wèn)的問(wèn)題請(qǐng)參考:關(guān)于Github的隨手記_藍(lán)多多的小倉(cāng)庫(kù)-CSDN博客
鏈接:https://pan.baidu.com/s/1JLpVh9nhTqAszjr9GItnKA? 提取碼:haed2)將下載的壓縮包解壓,放到機(jī)器人工程目錄下(我的是lddrobot)
3)進(jìn)入go-cqhttp_windows_amd64文件,按住shift?+?右鍵?打開(kāi)Powershell,窗口輸入命令:
.\go-cqhttp.exe
?選擇12345,會(huì)生成一個(gè)config.yml文件:
4、修改.env文件
1)修改.env文件的ENVIRONMENT為prod
?2)因?yàn)?080端口容易被占用,所以修改.env.dev的PORT為8081
3)同時(shí),修改.env.prod的PROT為8081
5、修改config.yml文件
1)填寫QQ群機(jī)器人qq及密碼
2)啟用正向ws
3)啟用反向ws
?4)設(shè)置反向ws Universal地址(這里端口號(hào)是8081哈,圖里我沒(méi)改,請(qǐng)改成8081)
6、修改bot.py代碼
1)導(dǎo)入模塊
import nonebot from nonebot.adapters.cqhttp import Bot as CQHTTPBot #導(dǎo)入模塊2)添加插件
nonebot.load_plugins("src/plugins") #添加插件3)注冊(cè)cq
driver.register_adapter("cqhttp",CQHTTPBot) #注冊(cè)cq4)注釋掉nonebot.load_from_toml("pyproject.toml")這行
#nonebot.load_from_toml("pyproject.toml") #注釋掉5)完整代碼
#!/usr/bin/env python3 # -*- coding: utf-8 -*-import nonebot from nonebot.adapters.cqhttp import Bot as CQHTTPBot #導(dǎo)入模塊# Custom your logger # # from nonebot.log import logger, default_format # logger.add("error.log", # rotation="00:00", # diagnose=False, # level="ERROR", # format=default_format)# You can pass some keyword args config to init function nonebot.init() nonebot.load_plugins("src/plugins") #添加插件 app = nonebot.get_asgi()driver = nonebot.get_driver() driver.register_adapter("cqhttp",CQHTTPBot) #注冊(cè)cq nonebot.load_builtin_plugins()# Please DO NOT modify this file unless you know what you are doing! # As an alternative, you should use command `nb` or modify `pyproject.toml` to load plugins #nonebot.load_from_toml("pyproject.toml") #注釋掉# Modify some config / config depends on loaded configs # # config = driver.config # do something...if __name__ == "__main__":nonebot.logger.warning("Always use `nb run` to start the bot instead of manually running!")nonebot.run(app="__mp_main__:app")7、運(yùn)行并測(cè)試
1)運(yùn)行bot.py
2)在Power shell中輸入 .\go-cqhttp.exe 運(yùn)行g(shù)o-cqhttp.exe(如果你之前填了QQ及密碼則會(huì)自動(dòng)登錄,如果沒(méi)填需要掃碼登錄嗷)效果如圖:
2)測(cè)試結(jié)果:(這只是小白機(jī)器人制作的起步,后續(xù)會(huì)有更加復(fù)雜的功能加入)
總結(jié)
以上是生活随笔為你收集整理的基于nonebot的QQ群聊机器人制作(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c语言小项目-使用mysql数据库的图书
- 下一篇: Qt错误汇总