使用腾讯云服务器+Nonebot2+go-cqhttp搭建QQ聊天机器人【保姆级教程 2023最新版】

article/2025/11/10 23:05:38

文章目录

    • 一、查看conda版本
    • 二、查看系统版本
    • 三、配置go-cqhttp
      • 1.请切换至同一网络下扫码
      • 2.打包Docker镜像
    • 四、创建NoneBot环境
      • 安装脚手架

一、查看conda版本

请添加图片描述

二、查看系统版本

uname -a
arch
getconf LONG_BIT

请添加图片描述

三、配置go-cqhttp

下载go-cqhttp

这里有不同版本的cqhttp,并且对每个版本都有介绍。但是大家可以看到有arm与adm不同的版本,这两个啥关系呢?

严格来说,AMD和ARM没有任何关系。AMD是桌面级处理器和桌面级GPU的生产厂商,而ARM是移动级处理器的生产厂商。AMD是目前业内唯一一个可以提供高性能CPU、高性能独立显卡GPU芯片、主板芯片组三大组件的半导体公司,AMD提出3A平台的新标志,在笔记本领域有“AMD VISION”标志的就表示该电脑采用3A构建方案(CPU、GPU、主板芯片组均由AMD制造提供)。ARM 主要涉及 IP 的设计和许可,而非生产和销售实际的半导体芯片。ARM向合作伙伴网络(包括世界领先的半导体公司和系统公司)授予 IP 许可证。这些合作伙伴可利用 ARM 的 IP 设计创造和生产片上系统设计,但需要向 ARM 支付原始 IP 的许可费用并为每块生产的芯片或晶片交纳版税。

请添加图片描述

这里我在官网上下载了俩(一个用在linux上一个用在windows上)
请添加图片描述

1.请切换至同一网络下扫码

在云端服务器进行上号的时候,会出现扫码登录,如果手机扫码登录之后出现这种情况有两种快速解决方案(1.将收集ip切至云服务器ip所在地 2.利用windows系统生成的device.json和session.token覆盖云端的这两个文件,因为这两个文件是QQ密钥信息)然后就可以登录成功了。

请添加图片描述
请添加图片描述

2.打包Docker镜像

到此为止咱的linux系统上就可以跑起来一个cqhttp了,那么为啥咱要将其打包进Docker镜像中呢?众所周知Docker随着近几年云原生的火爆也展露了头角

我们将程序打包进Docker容器内更加便于维护,更加便于迁移,当然打包需要同学有一定的Docker基础,感兴趣的小伙伴继续往下看。

第一步:将上述文件整理好之后,做到在本级目录能够运行go-cqhttp可执行文件,安装配置好Docker,我这里是买的腾讯云的服务器,自带了Docker,大家自己装一个,网上应该有教程。

第二步:编写Dockerfile镜像打包文件,这里的文件如下:

按步就班的做就好了,这里的意思就是将本级目录下用到的文件拷贝到小主机alpine内。

FROM alpine:latest
RUN mkdir "/app"
WORKDIR "/app"
COPY go-cqhttp  /app/go-cqhttp
COPY device.json /app/device.json
COPY config.yml /app/config.yml
COPY session.token /app/session.token
COPY LICENSE /app/LICENSE
#ENTRYPOINT ["/user-srv"]
CMD  ["/app/go-cqhttp"]

第三步:打包镜像

我这里起的镜像名字为cqhttps,如果最后结果像截图中展示的那样,就是打包成功了。

docker build -t cqhttps .

请添加图片描述

第四步:起一个Docker容器:

如图可以看到成功将go-cqhttp运行了起来。

docker run cqhttps

请添加图片描述
请添加图片描述

四、创建NoneBot环境

安装脚手架

pip install nb-cli
nb

请添加图片描述
接下来的步骤就与windows上搭建Nonebot2环境没太大差异了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
大工告成!成功创建项目后项目应包含以下文件
在这里插入图片描述
进入项目,创建一个插件

cd twoPyBot
from nonebot.adapters import Bot, Event
from nonebot.plugin import on_message#自定义回复词典
reply_dic = {'您吃了吗': '没吃呢~','早上好'  : '早上好~','晚安'    : '做个好梦',"你是谁":"我叫小Q","你的主人是谁":"秘密不告诉你。","你多大了":"秘密哦","介绍一下自己吧":"我叫小Q"
}#回复部分
# 检测到用户信息
reply = on_message(priority=100)
@reply.handle()
async def reply_handle(bot: Bot, event: Event):# 获取用户发送的信息user_msg = str(event.get_message()).strip()# 在字典内找键值对,找不到的话就回复后面那句话。reply_msg=reply_dic.get(user_msg,"")# 符合条件回复if reply_msg!="":await reply.finish(reply_msg)   #进行回复并结束该事件

运行项目

nb run

在这里插入图片描述
在这里插入图片描述

至此大工告成!


http://chatgpt.dhexx.cn/article/O8Qafl5u.shtml

相关文章

〖毕业季|进击的技术er〗其他人都在缅怀青春、告诉你如何拿到 offer 、提高自己的技术栈、做未来规划路线,我偏要反其道而行、告诉你们一个不一样的技术er的职场成长。

订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我。推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V!说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量4300,购买任意…

用计算机弹怎么会爱上了他,怎么会爱上了他,并决定跟他回家?《纸短情长》...

靠谱吉他官方微信——为您推送靠谱的教学、演奏以及互动话题,专业靠谱、欢迎关注! 《纸短情长》,怎么会爱上了他? 《纸短情长》主要描写了一段他通过写信的形式给已婚前女友的她写情歌,回忆留恋曾经的那段感情的故事。…

cdr怎么把矩形去掉一个边_cdr画矩形怎么把中间弄掉

2020-05-16阅读(27) 本文主要为您介绍手机钢化膜边缘多一块怎么办,内容包括手机钢化膜大一块怎么办,难看死了有没有什么方法可以消除钢化膜白边,手机钢化屏有白边怎么办。手指甲压一下白边的边缘缝隙中把油沾进去,沿着手机一圈弄好之后,用手适当按压边缘将多余的 2020-05-…

Html用表单和列表写一个注册界面

效果图 代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title>表单案例</title><style type"text/css">#box{width: 37.5rem;margin: 0 auto;margin-top: 30px;}body{background-color:…

大数据显示“男人不如狗” 我和几个男同事聊了聊

日前京东公布的一份大数据排行榜上&#xff0c;投资人心目中消费价值从高到低依次是少女>儿童>少妇>老人>狗>男人&#xff0c;换句网络上的话说&#xff0c;男人不如狗。 朋友圈瞬间炸了。 “男人不如狗”这几个字乍一看上去还挺冲击的&#xff0c;男人们心想着…

致自己的一封信

又是一年一度的程序员节&#xff0c;记得上一年的时候还带朋友给他女朋友找房子&#xff01; 找完房子&#xff0c;在楼底下随手拍了一张照片发了个朋友圈&#xff01;拍下的原因是在北京很少看到这样的建筑&#xff0c;所以就拍了下。今天翻了一下照片&#xff0c;不得不感叹…

一个华为人辞职创业后的几个反思

作者是一个在华为工作6年的华为人&#xff0c;2年前&#xff0c;抱着做大事业的愿景&#xff0c;作者与几个朋友离开华为&#xff0c;希望能闯出一个路子来创业。原文来自通信人家园论坛&#xff1a; 时隔两年&#xff0c;笔者的创业经历就像是一出狗血剧&#xff0c;各种电视剧…

你首先是一个人,然后你才是程序员。

引言 写这篇文章&#xff0c;其实是源自于当时在简书上&#xff0c;一个简友简信的内容。 当时这个简友问了群主一个非常少见的问题&#xff0c;“LZ&#xff0c;你平时是如何保养你的皮肤的。” 看完这个&#xff0c;LZ忍不住乐了&#xff0c;过后还拿着手机忍不住给某璐璐炫耀…

java写一个结婚的方法_java完成民政局结婚案例(面向对象)

展开全部 package test_1; import java.util.Scanner; public class Person { private String name; private String gender; private int age; private boolean married;//规定已婚&#xff1a;false.未婚&#xff1a;true public String getName() { 62616964757a686964616fe…

人机交互-7-交互需求定义

1. 背景 无论取代或更新已有系统&#xff0c;还是开发新产品&#xff0c;需求的建立都是非常重要的需求获取是项目设计的第一个阶段 确定和记录现有的工作流程&#xff1a;收集将信息组织起来&#xff0c;整体上涵盖工作的各个方面&#xff1a;描述 产品是不同的&#xff1a;对…

一个人生必做的选择

人要面临很多选择&#xff0c;不同的选择有不同的结果。也许你会说&#xff1a;“我啥选择都不做&#xff0c;我顺其自然&#xff01;” 很抱歉&#xff0c;啥选择都不做也是一种选择。 就好比6年前&#xff0c;我毅然决定来到北京&#xff0c;誓要创出一片天地一样&#xff0c…

英国留学雅思考试如何从听、口语、阅读、写作入手∩

雅思考试是申请英国留学的非常重要成绩&#xff0c;很多留学生想要知道如何高校备考&#xff0c;那么今天小编就给大家介绍英国留学雅思考试如何从听、口语、阅读、写作入手&#xff1f; 雅思的题型和我们经历过的中高考、四六级考试类似&#xff0c;分为听说读写四大类。 听力…

九分达人 雅思听力真题6 test1part1-4练习笔记

一定要静下心来认真复习错题 &#xff08;做的多&#xff0c;但是不消化是没有用的&#xff0c;如果不找到自己的问题所在&#xff0c;那么做题、刷题是毫无意义的&#xff09; 这里的问题&#xff0c;把French拼错成franch了&#xff0c;而且真的很离谱&#xff0c;我之前一直…

新六级阅读通关特训

词汇题&#xff08;55道&#xff09; 1. You should carefully think over_____ the manager said at the meeting. A. that B. which C. what D. whose 1.选C,考察宾语从句连接词&#xff0c;主句谓语动词think over后面缺宾语&#xff0c;后面的宾语从句谓语动…

托福高频真词List04 // 9:40~10:30 |阅读真题 // 11:00~11:50

目录 ​​​​​​​生词 熟词 阅读真题​​​​​​​ inclement adj.天气恶劣的&#xff1b;气候严酷的&#xff1b;狂风暴雨的&#xff1b;潮湿的&#xff1b;寒冷的 ​​​​​​​生词 propertycharacteristicfeaturen 特征substantiallysignificantlylargely…

雅思备考经验!阅读 8.5,听力 8.5!

成绩单 先上热乎乎的成绩单截图&#xff08;2023.5.19 考试&#xff09;&#xff0c;偏科选手出来挨打&#xff01;好在小分都达到了要求~ 英语基础 大概是两三年前考过托福和 GRE&#xff0c;成绩过期了没办法&#xff0c;只能重考&#xff0c;这次试试雅思。 雅思和托福的…

【雅思阅读】王希伟阅读P1(阅读判断题)

判断题做题步骤&#xff1a; 1 勾题目要求&#xff08; YES&#xff0c;NO, NOT GIVEN 还是 TRUE, FALSE, NOT GIVEN&#xff09; 2 勾定位词&#xff0c;考点词 3 两题一组&#xff0c;扫读原文&#xff0c;查找定位词&#xff0c;考点词 4 与题干判断 什么词可以当成定位…

GCSE英语语言考试-对虚构小说的问题作答

How to analyse a fiction extract 如何分析虚构小说节选 In an analytical response, you should show how language and structure create meaning. You could also explore the effect on the reader. An analytical response uses evidence from the text to make clear …

对话丨周伯文:通用大模型如何突破垂直行业场景?

AGI大潮之下&#xff0c;通用大模型会给垂直行业领域带来哪些新的变化&#xff1f; 来源&#xff1a;AI科技评论 作者&#xff1a;王永昂 编辑&#xff1a;董子博 从京东离开后&#xff0c;周伯文已经很久没有这么兴奋了。 ChatGPT横空出世搅动乾坤&#xff0c;如同一声春雷惊醒…

下载huggingface上模型的正确姿势

更多、更及时内容欢迎留意微信公众号&#xff1a; 小窗幽记机器学习 文章目录 背景环境安装模型下载 背景 之前下载huggingface上模型的时候&#xff0c;要么是用类似如下脚本的方式下载&#xff1a; from transformers import AutoTokenizer, AutoModelForMaskedLMtokenizer…