nonebot-qq机器人-单身狗福利!

Hello!大家好!我是PYmili 

nonebot-qq机器人-单身狗福利!_第1张图片

一个路过的编程小伙,给我记住了!

相信大家都知道一个叫nonebot的库!   nonebot链接:点击我!轻一点!

那是以前的啦!都2021年了!大家都用nonebot2!

nonebot2链接:nonbet2点击我!《--------------------------可以参考其中的官方文档!

今天就教大家怎么去做一个框架!脚架!

也可以参考隔壁川川的链接:川川的教学!点击我!轻一点!

废话不多说,简单明了!不事多!

看图:

nonebot-qq机器人-单身狗福利!_第2张图片

这里官方说了!要安装nonebot2的话就要卸载nonebot之前的版本!因为他们不兼容!而且python版本要等于或大等3.7如:3.8,3.9

命令为:

pip uninstall nonebot

可以去官网下载!链接:点我!

什么?!你不知道你安装的python版本?!(知道的可以跳过)

我教你!win+r 输入:cmd 然后输入以下代码:

python --version

当然,之前没有安装过的小伙伴,可以跳过! 

直接看这个!

nonebot-qq机器人-单身狗福利!_第3张图片

官方推荐,官方推荐那肯定是没问题的呀! 

官方推荐我们通过脚手架安装 那行!我们就通过脚手架安装!

提示!其他的博主或川川都叫用pycharm安装。(博主不会用也不用这个,用自带的解释器就好了!简单快捷!)

nonebot-qq机器人-单身狗福利!_第4张图片

win+r 输入:cmd

再输入图片中的代码,什么?!你懒。。。。。。。。行!我们要学会ctrl+c,ctrl+v!

pip install nb-cli
pip install nonebot-adapter-cqhttp

下一步!引用大佬川川的教学!---(没错我也会粘贴复制!)

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/simple

由于很多所以下载过程很慢......-----(静静期待!或者看看川川的教学)

下载成功!

nonebot-qq机器人-单身狗福利!_第5张图片

接下来干什么当然是搭建了!欧耶! 

win+r 输入:cmd 再输入:

nb create

就会

nonebot-qq机器人-单身狗福利!_第6张图片

当当当! 

nonebot-qq机器人-单身狗福利!_第7张图片

Project Name:    -------(要给机器人取一个名字,如:kuko)

然后.................

到这一步之后按动键盘上下左右键控制,选择  2)In a "kuko" folder

为什么选这个?

因为到时候会创建一个叫kuko的文件夹里面还有一个kuko文件夹打开里面还有一个plugin文件夹

是用于后期你的插件文件夹非常重要!  

然后就会.....

nonebot-qq机器人-单身狗福利!_第8张图片

不用管他,直接输入一个  y  

nonebot-qq机器人-单身狗福利!_第9张图片

又一个新问题出现了! 它在问你,将使用哪一个库,我们用的是cqhttp所以选择它

nonebot-qq机器人-单身狗福利!_第10张图片

 不用管他,直接输入一个  y

nonebot-qq机器人-单身狗福利!_第11张图片

成功以后你可以到 C:\Users\用户名  文件夹中找到你的机器人我的如下:

nonebot-qq机器人-单身狗福利!_第12张图片

什么找不到?仔细找找如果不行,你就另一种方法就是在桌面创建一个文件夹叫什么都可以

nonebot-qq机器人-单身狗福利!_第13张图片

打开,复制文件夹位置如图: 

nonebot-qq机器人-单身狗福利!_第14张图片

win+r 输入cmd 再输入: 

cd C:\xxx\xxx\xxx\xxx

 其中的xxx代表你创建的文件夹位置,先输入cd 再复制位置即可

以上面的操作再走一遍。

然后再下载cq

链接:我是下载地址!

官方教程链接:我是链接!

本次使用go-cqhttp为:1.0.0-beta7-fix2版本

博文更新时间(2021年9月24日)

下载好后就把它解压到你的文件夹中

nonebot-qq机器人-单身狗福利!_第15张图片 运行go-cqhttp.exe文件即可看见如下:

nonebot-qq机器人-单身狗福利!_第16张图片

输入数字12345 

 

 更改其中的文件1,config.yml

更改如下:

# go-cqhttp 默认配置文件

account: # 账号相关
  uin: xxxx # QQ账号
  password: '' # 密码为空时使用扫码登录
  encrypt: false  # 是否开启密码加密
  status: 0      # 在线状态 请参考 https://docs.go-cqhttp.org/guide/config.html#在线状态
  relogin: # 重连设置
    delay: 3   # 首次重连延迟, 单位秒
    interval: 3   # 重连间隔
    max-times: 0  # 最大重连次数, 0为无限制

  # 是否使用服务器下发的新地址进行重连
  # 注意, 此设置可能导致在海外服务器上连接情况更差
  use-sso-address: true

heartbeat:
  # 心跳频率, 单位秒
  # -1 为关闭心跳
  interval: 5

message:
  # 上报数据类型
  # 可选: string,array
  post-format: string
  # 是否忽略无效的CQ码, 如果为假将原样发送
  ignore-invalid-cqcode: false
  # 是否强制分片发送消息
  # 分片发送将会带来更快的速度
  # 但是兼容性会有些问题
  force-fragment: false
  # 是否将url分片发送
  fix-url: false
  # 下载图片等请求网络代理
  proxy-rewrite: ''
  # 是否上报自身消息
  report-self-message: false
  # 移除服务端的Reply附带的At
  remove-reply-at: false
  # 为Reply附加更多信息
  extra-reply-data: false
  # 跳过 Mime 扫描, 忽略错误数据
  skip-mime-scan: false

output:
  # 日志等级 trace,debug,info,warn,error
  log-level: warn
  # 日志时效 单位天. 超过这个时间之前的日志将会被自动删除. 设置为 0 表示永久保留.
  log-aging: 15
  # 是否在每次启动时强制创建全新的文件储存日志. 为 false 的情况下将会在上次启动时创建的日志文件续写
  log-force-new: true
  # 是否启用 DEBUG
  debug: false # 开启调试模式

# 默认中间件锚点
default-middlewares: &default
  # 访问密钥, 强烈推荐在公网的服务器设置
  access-token: ''
  # 事件过滤器文件目录
  filter: ''
  # API限速设置
  # 该设置为全局生效
  # 原 cqhttp 虽然启用了 rate_limit 后缀, 但是基本没插件适配
  # 目前该限速设置为令牌桶算法, 请参考:
  # https://baike.baidu.com/item/%E4%BB%A4%E7%89%8C%E6%A1%B6%E7%AE%97%E6%B3%95/6597000?fr=aladdin
  rate-limit:
    enabled: false # 是否启用限速
    frequency: 1  # 令牌回复频率, 单位秒
    bucket: 1     # 令牌桶大小

database: # 数据库相关设置
  leveldb:
    # 是否启用内置leveldb数据库
    # 启用将会增加10-20MB的内存占用和一定的磁盘空间
    # 关闭将无法使用 撤回 回复 get_msg 等上下文相关功能
    enable: true

# 连接服务列表
servers:
  # 添加方式,同一连接方式可添加多个,具体配置说明请查看文档
  #- http: # http 通信
  #- ws:   # 正向 Websocket
  #- ws-reverse: # 反向 Websocket
  #- pprof: #性能分析服务器
  # HTTP 通信设置
  - http:
      # 服务端监听地址
      host: 0.0.0.0
      # 服务端监听端口
      port: 5700
      # 反向HTTP超时时间, 单位秒
      # 最小值为5,小于5将会忽略本项设置
      timeout: 5
      # 长轮询拓展
      long-polling:
        # 是否开启
        enabled: false
        # 消息队列大小,0 表示不限制队列大小,谨慎使用
        max-queue-size: 2000
      middlewares:
        <<: *default # 引用默认中间件
      # 反向HTTP POST地址列表
      post:
      #- url: '' # 地址
      #  secret: ''           # 密钥
      #- url: 127.0.0.1:5701 # 地址
      #  secret: ''          # 密钥
  # 正向WS设置
  - ws:
      # 正向WS服务器监听地址
      host: 0.0.0.0
      # 正向WS服务器监听端口
      port: 6700
      middlewares:
        <<: *default # 引用默认中间件
  # 反向WS设置
  - ws-reverse:
      # 反向WS Universal 地址
      # 注意 设置了此项地址后下面两项将会被忽略
      universal: ws://127.0.0.1:8080/cqhttp/ws
      # 反向WS API 地址
      api: ws://your_websocket_api.server
      # 反向WS Event 地址
      event: ws://your_websocket_event.server
      # 重连间隔 单位毫秒
      reconnect-interval: 3000
      middlewares:
        <<: *default # 引用默认中间件
  # pprof 性能分析服务器, 一般情况下不需要启用.
  # 如果遇到性能问题请上传报告给开发者处理
  # 注意: pprof服务不支持中间件、不支持鉴权. 请不要开放到公网
  - pprof:
      # pprof服务器监听地址
      host: 127.0.0.1
      # pprof服务器监听端口
      port: 7070
  # LambdaServer 配置
  - lambda:
      type: scf # scf: 腾讯云函数 aws: aws Lambda
      middlewares:
        <<: *default # 引用默认中间件

其中的QQ号uin:xxxxx与密码password: "xxxxxxxx",把xxxxx改成你的QQ和密码

打开kuko文件夹也就是你的机器人文件夹

nonebot-qq机器人-单身狗福利!_第17张图片

然后更改kuko文件夹中的    .env  中内容为

ENVIRONMENT=dev
CUSTOM_CONFIG=common config

.env.dev  为:

HOST=127.0.0.1
PORT=8080
DEBUG=true

注意这里有个  PORT=8080  是端口号默认为8080,如果端口用不了或被使用了就可以改为相近的7070也可以

.env.pord  为:

HOST=127.0.0.1
PORT=8080
SECRET=
ACCESS_TOKEN=

文件夹中有一个bot.py文件打开它!

改为:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
 
import nonebot
from nonebot.adapters.cqhttp import Bot as CQHTTPBot
# 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)
 
nonebot.load_builtin_plugins()
nonebot.load_plugins("src/plugins")
nonebot.init(apscheduler_autostart=True)
nonebot.init(apscheduler_config={
    "apscheduler.timezone": "Asia/Shanghai"
})
 
# 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")

按F5运行

再到 go-cqhttp_windows_amd64文件夹键盘Shift+右键

nonebot-qq机器人-单身狗福利!_第18张图片

在此处打开 Powershell 窗口(s),点击它 

输入.\g按Tab键一下就会这样

回车键再运行bot.py文件 

要查看是否成功?

在QQ对你输入的QQ号发送信息/echo hello

如果回复为hello即为成功!到此框架搭建成功!

喜欢就三联吧!

2021/9/24博主更新config.yml配置文件

我只是一个路过的编程小伙,给我记住了!

聊天交流群:706128290

你可能感兴趣的:(QQ机器人,nonebot2,python,python,qq,聊天机器人)