记录一下我磕磕绊绊的 Nonebot2 qq 机器人搭建过程。(多半弃坑了,因为 qq 被风控了)
test_derpy_plugin
获取小马图片。参考了官方文档和 nonebot-plugin-blacklist,使用 requests 和呆站 API 获取图片数据。
可在Well404的妙妙屋中找到大部分常见报错,以下是我的一些白痴问题。
机器人搭好了怎么连接 qq?
还要用 go-cqhttp
作为 qq 客户端
怎么通过 url
发送图片消息?
使用 MessageSegment
注意要导入适配器的 MessageSegment
例如:
pythonfrom nonebot.adapters.onebot.v11 import Message, MessageSegment
实例化 MessageSegment
时无法使用图片(版本相关)
代码应为
pythonMessageSegment(type='image', data={'file':img_url})
# 本应该是下面这样的写法的
MessageSegment(type='image', data={'img':img_url})
还有其他的方法
pythonMessageSegment.image(img_url)
怎么接收图片为参数?
python# 获取包含图像的消息段列表
get("image")
# 获取图像 url
messagesegment.data.get("url", "")
获取呆站图像 url (具体应用场景,与 bot 无关)
呆站 API:API - Derpibooru (trixiebooru.org)API - Derpibooru (trixiebooru.org)
注意 Get
与 Post
权限问题示例
pythonfrom nonebot.adapters.onebot.v11 import (
Bot,
Message,
Event,
GroupMessageEvent,
GROUP_ADMIN,
GROUP_OWNER
)
# @xxx.handle()
async def perssion_test(bot: Bot, event: GroupMessageEvent):
if await SUPERUSER(bot, event):
await xxx.send("识别到超级用户权限")
elif await GROUP_ADMIN(bot, event):
await xxx.send("识别到管理员权限")
elif await GROUP_OWNER(bot, event):
await xxx.send("识别到群主权限")
else:
# await xxx.finish("您没有权限(无慈悲)")
await xxx.send("识别到普通权限")
go-cqhttp
无法执行
在 Releases · Mrs4s/go-cqhttp (github.com) 中选择合适的程序
playwright 失败的解决方法
[Question] Support for CentOS · Issue #5780 · microsoft/playwright (github.com)
下载 chrome 与 chromeDriver
bashyum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
Tmux 后台运行机器人
查看进程信息
bashps -elf
关闭进程
bashkillall -u username
# 或者
pgrep -u ttlsa | xargs kill -9
安装字体
本文作者:Zerol Acqua
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!