给你的 Discord 接入一个既能联网又能画画的 ChatGPT
如果有这样一款 Discord 机器人,它既能访问互联网,又能绘画,还能给 YouTube 视频提供摘要。最重要的是,它是完全免费的,不需要提供 OpenAI 的 API Key,我就问你香不香?
现在就有这样一款机器人,你用还是不用?
Discord AI Chatbot
上链接:https://github.com/mishalhossin/Discord-AI-Chatbot
这个机器人是基于 Python 的 discord.py 库写的,除了基本的聊天功能外,还具备以下功能:
① 利用开源项目 Imaginepy 进行绘画

② 提供 YouTube 视频摘要

③ 通过 DuckDuckGo 来访问互联网

④ 发送表情包

⑤ 翻译

⑥ 设定角色
例如:暴躁小哥人设

Sealos 云操作系统介绍
单机操作系统大家应该都知道吧?Windows、macOS、Linux 这些都属于单机操作系统,为什么叫单机操作系统呢?因为他的内存啊,CPU 啊,都在一台机器上,你不可能用其他机器的内存和 CPU。
那么什么是云操作系统呢?就是把一群机器的 CPU 和内存看成一个整体,然后给用户提供一个交互界面,用户可以通过这个交互界面来操作所有的资源。
懂 K8s 的玩家可能要说了:这个我懂,K8s 就可以!
如果我们的目标愿景是一个云操作系统,K8s 充其量只能是这个云操作系统的内核,就像 Linux 内核一样。完整的云操作系统需要一个像 Windows 和 Ubuntu 操作系统那样的交互界面,也就是操作系统发行版。
对于云操作系统来说,Sealos 就是那个发行版。

有人可能会把云操作系统理解成“Web 界面”,但其实不是,Sealos 云操作系统完全是类似于 Windows 和 macOS 桌面的那种逻辑,并不是 Web 界面。我只需要点几下鼠标,一个应用就装好了,老夫并不知道什么容器什么 K8s。
数据库也一样,小鼠标一点,一个分布式数据库就装好了。
我知道,这时候云原生玩家要坐不住了,您别着急,看到桌面上的终端了没?

终端只是这个云操作系统中的一个 App 而已。同理,容器管理界面仍然可以作为云操作系统的 App,我管你是 Kubernetes Dashboard、Rancher、KubeSphere 还是 Kuboard,都可以作为 App 装在这个云操作系统中。这时候对于云原生专家而言,仍然可以命令行咔咔秀操作,也可以通过各种管理界面来管理容器。
云操作系统嘛,就是要什么人都能用才行,不管你是什么角色,都能在这个操作系统里找到你想要的 App 去完成你的使命。
创建 Discord 机器人
首先你需要打开这个页面 https://discord.com/developers/applications 创建一个 Discord Application,然后在这个 Application 中创建一个 Discord 机器人,在 Bot 的设置页面中找到 token 并复制下来。

将 MESSAGE CONTENT INTENT 打开:

通过 OAuth2 URL Generator 将机器人邀请到你的服务器中:

安装 Discord AI Chatbot
前面所有的介绍都是为安装做铺垫,一定要看完前面的内容才能接着往下看
接下来正式进入安装环节。
下面的步骤非常简单,我们公司的行政小姐姐都会,是真的,当时我就在旁边看她操作,还录了视频。
首先进入 Sealos 云操作系统的界面:https://cloud.sealos.io。
然后打开桌面上的应用管理 App:

点击「新建应用」:

在启动参数中,按照以下方式进行设置:
- 应用名称随便写,比如 discord-ai-chatbot。
- 镜像名称是:ghcr.io/yangchuansheng/discord-ai-chatbot:latest。因为原仓库没有构建 Docker 镜像,所以我 Fork 该仓库自己构建了镜像,你可以直接用我的镜像,也可以自己构建。
- CPU 和内存需要根据应用的实际情况来填写。这个应用建议 CPU 选择 0.2C,内存选择 128Mi。
- 只需要一个实例
- 容器暴露端口指定为 3000。
- 不需要打开外网访问。

继续往下,展开高级设置,点击「编辑环境变量」,填入以下环境变量:
DISCORD_TOKEN=<token>
把 <token> 换成上文提到的 Discord 机器人的 token。

然后点击确认。
继续往下,点击「新增 configmap」:

文件名是 /app/config.yaml,将 https://github.com/mishalhossin/Discord-AI-Chatbot/blob/main/config.yml 的内容拷贝下来作为「文件值」。

这里面有些配置需要根据自己的实际需求改一下:
访问互联网
可以将
INTERNET_ACCESS参数设置为true来访问互联网。建议将其关闭,不然响应会很慢。自定义机器人语言
将
LANGUAGE参数设置为cn,就会使用简体中文。预设机器人的人格
通过修改
INSTRUCTIONS参数的值来预设机器人的人格,共有以下几个值可供选择:- DAN:越狱,去除一切限制;
- AIM:去除道德枷锁;
- ivan:这是一个尖酸刻薄、用缩写和单词回答问题的 Z 世代少年;
- luna:Luna 是一个关心他人、富有同理心的朋友,总是愿意伸出援手并参与有意义的对话;
- suzume:Suzume 使每一次对话都充满诱惑性、混乱性、感性、明确,独特而且量身定制,以满足用户的具体需求;
- assist:默认值,不具备任何人格;
自己创造机器人的人格
如果预设的人格不满足自己的需求,还可以自己创造机器人的人格。步骤也很简单,直接点击「新增 configmap」,文件名是
/app/instructions/custom.txt,「文件值」写入你想设定的人格,比如我设置了个“暴躁小哥”人格:
然后点击确认。并将
INSTRUCTIONS参数的值改为custom,就完成了自定义人格。
最终点击右上角的「部署应用」,便完成了机器人的部署。
最终要等待实例处于 Running 状态,才算是启动成功了。

如果遇到问题,可以点击右侧的「三个点」来查看日志:


最后到 Discord 频道里测试一下:

完美,打完收工!
最后,欢迎加入我们的 Discord 频道来体验暴躁 GPT 的快感:https://discord.gg/x9r2RVJg
给你的 Discord 接入一个既能联网又能画画的 ChatGPT的更多相关文章
- APN APN指一种网络接入技术,是通过手机上网时必须配置的一个参数,它决定了手机通过哪种接入方式来访问网络。
apn 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . APN指一种网络接入技术,是通过手机上网时必须配置的一个参数,它决定了手机通过哪种接入方式来访问网络. 对于手机用户来说,可 ...
- 统一SDK接入(U8SDK)——总体思路和架构
题记:很多做游戏开发的人,估计都或多或少地接过渠道SDK,什么UC,当乐,91,小米,360……据统计国内市场当前不下于100家渠道,还包括一些没有SDK的小渠道.每个渠道SDK接入的方法呢,多是大同 ...
- 教你快速高效接入SDK——总体思路和架构
题记:很多做游戏开发的人,估计都或多或少地接过渠道SDK,什么UC,当乐,91,小米,360......据统计国内市场当前不下于100家渠道,还包括一些没有SDK的小渠道.每个渠道SDK接入的方法呢, ...
- [置顶]
基于FPGA的VGA简易显存设计&NIOS ii软核接入
项目简介 本项目基于Altera公司的Cyclone IV型芯片,利用NIOS II软核,2-port RAM与时序控制模块,实现64*48分辨率的显存(再大的显存板载资源m9k不够用) 实现效果如下 ...
- 一个applicationContext 加载错误导致的阻塞解决小结
问题为对接一个sso的验证模块,正确的对接姿势为,接入一个 filter, 然后接入一个 SsoListener . 然而在接入之后,却导致了应用无法正常启动,或者说看起来很奇怪,来看下都遇到什么样的 ...
- SpringBoot接入轻量级分布式日志框架(GrayLog)
我是3y,一年CRUD经验用十年的markdown程序员常年被誉为优质八股文选手 前两天我不是发了一篇数据链路追踪的文章嘛,在末尾也遗留了TODO:运行应用的服务器一般是集群,日志数据会记录到不同的 ...
- 【转】具透 | 你可能不知道,iOS 10 有一个中国「特供」的联网权限功能
9 月底,苹果正式在北京成立了苹果中国研发中心.近几年,我们也在每年更新的 iOS 系统中不断看到,苹果对中国市场的关照.从早前的九宫格输入法,到最近的骚扰电话拦截,都照顾了国内用户的需求. 在 iO ...
- .net做一个基于ChatGpt的微信机器人吧~[全教程]
最近这个ChatGPT很火啊,看了B站上很多视频,自己非常手痒,高低自己得整一个啊,很多人都是把ChatGPT和微信结合在一起,正巧我是Wechaty框架的.net sdk贡献者,这不是一应俱全了吗? ...
- Netty构建分布式消息队列(AvatarMQ)设计指南之架构篇
目前业界流行的分布式消息队列系统(或者可以叫做消息中间件)种类繁多,比如,基于Erlang的RabbitMQ.基于Java的ActiveMQ/Apache Kafka.基于C/C++的ZeroMQ等等 ...
- 浅谈Hybrid技术的设计与实现第二弹
前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术的设计与实现第三弹——落地篇 接上文:浅谈Hybrid技术的设计与实现(阅读本文前,建议阅读这个先) ...
随机推荐
- ChatGPT 开源了第一款插件,都来学习一下源码吧!
3 月 23 日,OpenAI 又投出了一枚重磅炸弹:为 ChatGPT 推出插件系统! 此举意味着 ChatGPT 将迎来"APP Store"时刻,也就是围绕它的能力,形成一个 ...
- Junit环境配置和在IDEA中使用Junit学习记录
Junit环境配置 步骤1:检查电脑中Java环境是否配置成功 因为JUnit 是 Java 的一个框架,所以最根本的需要是在你的机器里装有 JDK. 1.1 进入cmd控制台界面,输入java/ja ...
- JVM常用参数说明
内存相关 通过这些参数可以对JVM的内存分配做调整 Xms 英文解释:Initial heap size(in bytes) 中文释义:堆区初始值 使用方法:-Xms2g 或 -XX:InitialH ...
- OpenGL Mac开发-如何使用imgui(1.89.4)插件进行调试
为了调试我们的OpenGL Demo,可以尝试使用一个成熟的开源GUI插件imgui. 1,首先进入imgui在github上的地址. 在Release中下载最近的版本,可以得到一个Zip压缩包. 现 ...
- VBA GET POST HTTP VBA网络爬虫 最新Excel自动获取股票信息源码 EXCEL自动获取网络数据 最新VBA自动抓取股票数据源码
最新Excel自动获取股票信息源码 EXCEL自动获取网络数据 最新VBA自动抓取股票数据源码 通过接口获取股票数据内容的主要优点包括以下几点: 实时性高:通过访问股票数据接口,可以实时获取到股票的实 ...
- 如何在微信小程序中实现音视频通话
微信小程序的音视频通话可以通过微信提供的实时音视频能力实现.这个能力包括了音视频采集.编码.传输和解码等多个环节,开发者只需要使用微信提供的 API 接口就可以轻松地实现音视频通话功能. 在具体实现上 ...
- C# 根据窗口句柄获取窗口截图
本章介绍如何通过句柄,截取指定窗口内容,以及截取失败的场景 一.根据窗口句柄获取窗口截图 先创建一个测试窗口程序A,显示如下: 同时我们把此窗口的句柄显示到一个文本输入框内. 1 TestBox.Te ...
- [C++核心编程] 5 文件操作
文章目录 5 文件操作 5.1文本文件 5.1.1写文件 5.1.2读文件 5.2 二进制文件 5.2.1 写文件 5.2.2 读文件 5 文件操作 程序运行时产生的数据都属于临时数据,程序一旦运行结 ...
- dos命令、变量、字符编码、注释、用户输入
一.dos命令 1.dos命令 c: 切换盘符 cd c:\pthon 切换路径 dir 查看目录下的文件 cd .. 返回到上一层目录 cd ../.. 返回到上一层的上一层目录 二.环境变量的配置 ...
- 【CSS】画出宽度为1像素的线或边框
由于多倍的设计图在移动设备上显示时会将设计图进行缩小到视口宽度,而1px的边框没有随着页面进行缩小而导致效果太粗,想要还原设计图1px的显示效果,因此需要一些方法来实现边框宽度小于1px. 实现方法很 ...