欢迎光临散文网 会员登陆 & 注册

NoneBot2入门的一些小建议

2022-11-13 14:03 作者:MRSlouu  | 我要投稿

(技术向专栏)

        嘛,其实很早之前就想写这样一篇专栏了,但总感觉没这种必要,因为各处的教程都挺完备的。不过最近也看到不少人问了这样那样的一些问题,所以这篇专栏就为一些想入门的萌新指路吧。

本专栏不包含任何教程内容,仅作为引导。

一、最基础的入门教程(Nonebot安装,部署,启动等)

        这个等级的教程适用于只单纯的想搞一个bot加些插件玩玩或者使用成品bot的人(PS:大部分成品bot只要不是作者很懒,都有很详细的部署教程(甚至一键部署脚本))。

        虽然不是强求,但是非常建议在学习Nonebot前去学习Python,因为Nonebot的安装等也涉及到了一些Python的内容,且后续要想将Nonebot玩的好的话Python的知识是必不可少的。不过Python怎么学这里就不说了,毕竟是一门很火的语言,教程多得是。可以去B站搜视频或者去Python官方文档、菜鸟、w3之类的地方去学。

        想要快速上手,追求效率的话可以看Well404大大的视频教程,我当时就是看他的视频入门的

        如果觉得自己有时间有耐心并且有一定Python基础的话也可以直接去看官方文档(咱一般是是用来当字典查东西的):https://v2.nonebot.dev/docs/start/installation

        gocq官方文档(通常用于查阅API等):https://docs.go-cqhttp.org/guide/#go-cqhttp

        此外还有些教程可供查阅:        

        https://github.com/nonebot/nonebot2-tutorial(官方,较推荐)

        https://github.com/Well2333/NoneBot2_NoobGuide(非官方,和上面的其实是一个人写的)

        https://github.com/NCBM/py-nonebot-gocqhttp-tutorial-next(群友的,内容较少)

        https://zhangshier.vip/posts/42735/#Nonebot2-%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%9C%AC%E5%9C%B0%E6%90%AD%E5%BB%BA%E5%8F%8A%E9%83%A8%E7%BD%B2%E6%9C%8D%E5%8A%A1%E5%99%A8

二、进阶(插件编写)

        这个等级的教程适用于想自己写插件来玩转Nonebot的人

        插件编写教程的话目前并不是非常多,都讲的很浅。

        首先是官方文档,里面的教程是最详细的,但部分内容不是特别容易懂:https://v2.nonebot.dev/docs/tutorial/plugin/create-matcher

        well404大大的:https://github.com/nonebot/nonebot2-tutorial

        以及我自己的:https://github.com/MRSlouzk/Nonebot-plugintutorials

      关于编写插件想说的事:如果看文档之类的还不知道怎么搞的话,可以看NB2商店里插件的源码,它们都是开源的。可以将他们的代码思路和形式当做一个很不错的参考资料来编写自己的代码。

三、一些文档

        写插件的时候要养成勤查文档的好习惯,必须有动手能力

        Nonebot2官方文档=>用于查询基础的使用、插件编写格式、一些API

        gocq文档=>用于学习gocq的使用方法、查询qq的各类API调用形式

        Onebot V11、V12文档=>用于查询Onebot的各类API、事件、消息类型、通信方式等:https://github.com/botuniverse/onebot-11

        Nonebot商店=>有大量的优质插件可以直接使用,以及可以作为参考:https://v2.nonebot.dev/store

四、怎么提问

        提问前请先确保你已经查阅了各大文档并且自己去尝试解决过问题(推荐一下群友的nonediag,是一个Nonebot的问题诊断工具,github直接搜),不要一点鸡毛蒜皮的,自己改点东西就能搞定的小问题就来问,一些小问题问多了谁都嫌烦。

        还有一点是:对应板块的问题请尽量去对应的地方去问,比如不要在gocq的地方问nonebot的问题,因为这俩压根不是一个东西。

        提问的艺术:https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way

        (以下排序优先度递减)

        提问渠道1:NB2官群以及gocq官群(群号就不放了,大家自己去找),各个bot对应的群等等(咱建的群也可以(笑),群号在我的教程仓库里)。此渠道提问解决速度通常较快。

        提问渠道2:Nonebot2仓库的discussion(相当于论坛):https://github.com/nonebot/discussions/discussions/ 或者gocq的discussion:https://github.com/Mrs4s/go-cqhttp/discussions。缺点是回复可能会比较慢

        提问渠道3:Nonebot2的QQ频道。优先级低是因为QQ频道还在内测,不一定所有人都有。

        提问渠道4:nonebot2仓库的issues(极不建议):https://github.com/nonebot/nonebot2/issues。特别提醒:issues板块是nb2的源代码技术性问题讨论区(比如源代码里有什么bug之类的或者一些优化建议),不要问一些很基本的问题


        最后想说的一些话:学习一门技术的时候一定要有耐心,其次是动手能力。没有前一个你永远只能学到皮毛,没有后一个你永远只是一个理论家

NoneBot2入门的一些小建议的评论 (共 条)

分享到微博请遵守国家法律