jjzjj

ChatGPT与Discord无缝接入指南,创建自己的聊天机器人(保姆级教程)

柚米汇 2023-05-05 原文

ChatGPT和Discord都非常流行,而在Discord内使用AI绘画也很受欢迎。如何将ChatGPT与Discord对接,在Discord内实现一个聊天机器人。
第一步:获取OpenAI API密钥。请按照以下步骤操作:

  1. 打开此链接 https://platform.openai.com/account/api-keys
  2. 请按照页面上的提示进行身份验证,然后登录您的ChatGPT账号。
  3. 点击“这里创建”以创建一个新的API密钥。
  4. 复制生成的API密钥以备将来使用。

第二步:获取Discord Token。请按照以下步骤操作:

  1. 打开网站https://discord.com/developers/applications。

  2. 登录您的Discord账号。

  3. 点击右上角的“New Application”按钮创建一个新的应用程序。

  4. 在新页面上,输入您的应用程序名称,并点击“Create”按钮。

  5. 选择“Bot”选项卡,并点击“Add Bot”按钮,然后点击“Yes, do it!”以确认添加机器人。

创建完机器人之后,可以编辑一些资料,比如头像、名字,还有各种权限。

Token 这里可能是查看令牌 View Token 或者是重置令牌 Reset Token 的按鈕,点击一些就,复制令牌出来备用。

  1. 往下拉,找到MESSAGE CONTENT INTENT,打开,然后点击Save Change。

  2. 然后设置OAuth2。按照下图步骤设置。

  3. 然后点击复制链接,浏览器打开。

  4. 然后选择要加入的服务器。

请注意,您的Discord Token是私密信息,请勿与他人分享。
第三步:注册GitHub,有账号的可以直接登录。
无账号注册,有账号跳过以下步骤,直接登录即可:

  1. 打开网站https://github.com/。
  2. 如果您已经拥有GitHub账号,请在右上角登录。否则,请单击右上角的“Sign up”按钮创建一个新账号。
  3. 在新页面上,输入您的用户名、电子邮件地址和密码,并完成验证过程。
  4. 点击“Create account”按钮以创建您的GitHub账号。
    请注意,您的GitHub账号可以让您与其他开发者协作,并分享您的代码和项目。

注册/登录,然后请按照以下步骤操作:

  1. 打开网站https://github.com/TheExplainthis/ChatGPT-Discord-Bot。
  2. 点击页面右上角的“Fork”按钮,以将该项目复制到您的GitHub账号下的存储库中。
    请注意,在Forking存储库后,您将在自己的账号下创建一个新的存储库副本,您可以在其中进行更改,而不会影响原始存储库。

第四步:在线开发环境搭建Replit:请按照以下步骤操作
请注意,Replit是一个在线开发环境,它可以让您在浏览器中编写、运行和分享代码,而无需安装本地开发环境。

  1. 打开网站https://replit.com/。
  2. 点击页面右上角的“Sign Up”按钮,用github直接授权登录即可。

  1. 登录之后,选择一下基本的东西。

  1. 进入首页之后点击创建Repi

  2. 跳出选择框之后,选择右上角这个Import from Github。

  3. 然后再点击这个Connect GitHub to import your private repos,

  4. 弹出这个页面,根据下图一样,选择好了就安装。

  5. 然后返回这个页面,可以选择刚刚安装的代码了。

  1. 安装需要一段时间,安装完成之后跳过教程。

  2. 跳过了,点击右侧的tools,然后在里面找到Secrets,再点击右边的Got it。

  3. 然后会弹出一个框,key:OPENAI_API, value填写你的 openai key,sk开头的

  4. 然后继续添加,key:OPENAI_MODEL_ENGINE value:gpt-3.5-turbo

  5. 继续添加,key:SYSTEM_MESSAGE value:You are a helpful assistant.

  6. 再添加最后一个。key:DISCORD_TOKEN value: 前面Discord的令牌 MTA开头的。

  7. 添加完四个之后,点击上面的Run 运行。

  8. 运行等一会,成功之后右边会出现有Hello. I am alive! 的页面,然后我们复制上面的地址出来备用。有效时间一小时,后面的步骤需要一小时内完成。

第五步:注册cron-job.org。请按照以下步骤操作:
请注意,cron-job.org是一个在线计划任务管理工具,它可以让您定期运行代码和脚本。

  1. 注册如下,如有账号可跳过:
    打开网站https://cron-job.org/en/。

如果您已经拥有账号,请在页面右上角登录。否则,请单击页面右上角的“Sign Up”按钮创建一个新账号。

在新页面上,输入您的用户名、电子邮件地址和密码,并完成验证过程。
点击“Create Account”按钮以创建您的cron-job.org账号。
2. 登录之后,点击右边的CREATE CRONJOB。

  1. Title输入ChatGPT-Discord-Bot,网址输入上一步的网址,选择五分钟,然后点击CREATE 创建。

以上步骤完成搭建,然后打开Discord,你就能看到ChatGPT机器人在线了。

/chat 在输入框直接输入会后/chat直接message输入文字,机器人就会回复了。
/reset ChatGPT 会记住前十次的提问记录,调用此指令则会清除。
/imagine 在输入框输入/imagine会prompt后直接输入文字,可以生成图片。

有关ChatGPT与Discord无缝接入指南,创建自己的聊天机器人(保姆级教程)的更多相关文章

  1. ruby - 如何在 Ruby 中顺序创建 PI - 2

    出于纯粹的兴趣,我很好奇如何按顺序创建PI,而不是在过程结果之后生成数字,而是让数字在过程本身生成时显示。如果是这种情况,那么数字可以自行产生,我可以对以前看到的数字实现垃圾收集,从而创建一个无限系列。结果只是在Pi系列之后每秒生成一个数字。这是我通过互联网筛选的结果:这是流行的计算机友好算法,类机器算法:defarccot(x,unity)xpow=unity/xn=1sign=1sum=0loopdoterm=xpow/nbreakifterm==0sum+=sign*(xpow/n)xpow/=x*xn+=2sign=-signendsumenddefcalc_pi(digits

  2. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  3. ruby - 使用 Vim Rails,您可以创建一个新的迁移文件并一次性打开它吗? - 2

    使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta

  4. ruby-on-rails - 无法使用 Rails 3.2 创建插件? - 2

    我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby​​1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在

  5. ruby - 如何使用 RSpec::Core::RakeTask 创建 RSpec Rake 任务? - 2

    如何使用RSpec::Core::RakeTask初始化RSpecRake任务?require'rspec/core/rake_task'RSpec::Core::RakeTask.newdo|t|#whatdoIputinhere?endInitialize函数记录在http://rubydoc.info/github/rspec/rspec-core/RSpec/Core/RakeTask#initialize-instance_method没有很好的记录;它只是说:-(RakeTask)initialize(*args,&task_block)AnewinstanceofRake

  6. ruby - 为什么 SecureRandom.uuid 创建一个唯一的字符串? - 2

    关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion为什么SecureRandom.uuid创建一个唯一的字符串?SecureRandom.uuid#=>"35cb4e30-54e1-49f9-b5ce-4134799eb2c0"SecureRandom.uuid方法创建的字符串从不重复?

  7. ruby - 有人可以帮助解释类创建的 post_initialize 回调吗 (Sandi Metz) - 2

    我正在阅读SandiMetz的POODR,并且遇到了一个我不太了解的编码原则。这是代码:classBicycleattr_reader:size,:chain,:tire_sizedefinitialize(args={})@size=args[:size]||1@chain=args[:chain]||2@tire_size=args[:tire_size]||3post_initialize(args)endendclassMountainBike此代码将为其各自的属性输出1,2,3,4,5。我不明白的是查找方法。当一辆山地自行车被实例化时,因为它没有自己的initialize方法

  8. ruby - 使用多个数组创建计数 - 2

    我正在尝试按0-9和a-z的顺序创建数字和字母列表。我有一组值value_array=['0','1','2','3','4','5','6','7','8','9','a','b','光盘','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','','u','v','w','x','y','z']和一个组合列表的数组,按顺序,这些数字可以产生x个字符,比方说三个list_array=[]和一个当前字母和数字组合的数组(在将它插入列表数组之前我会把它变成一个字符串,]current_combo['0','0','0']

  9. 亚特兰蒂斯的回声(中文版): chatGPT 的杰作 - 2

    英文版英文链接关注公众号在“亚特兰蒂斯的回声”中踏上一段难忘的冒险之旅,深入未知的海洋深处。足智多谋的考古学家AriaSeaborne偶然发现了一件古代神器,揭示了一张通往失落之城亚特兰蒂斯的隐藏地图。在她神秘的导师内森·兰登教授的指导和勇敢的冒险家亚历克斯·默瑟的帮助下,阿丽亚开始了一段危险的旅程,以揭开这座传说中城市的真相。他们的冒险之旅带领他们穿越险恶的大海、神秘的岛屿和充满陷阱和谜语的致命迷宫。随着Aria潜在的魔法能力的觉醒,她被睿智勇敢的QueenNeria的幻象所指引,她让她为即将到来的挑战做好准备。三人组揭开亚特兰蒂斯令人惊叹的隐藏文明,并了解到邪恶的巫师马拉卡勋爵试图利用其古

  10. unity---接入Admob - 2

    目录1.AdmobSDK下载地址2.将下载好的unityPackagesdk导入到unity里​编辑 3.解析依赖到项目中

随机推荐