NoneBot2入門的一些小建議
(技術(shù)向?qū)?
????????嘛,其實(shí)很早之前就想寫這樣一篇專欄了,但總感覺沒這種必要,因?yàn)楦魈幍慕坛潭纪ν陚涞摹2贿^(guò)最近也看到不少人問(wèn)了這樣那樣的一些問(wèn)題,所以這篇專欄就為一些想入門的萌新指路吧。
本專欄不包含任何教程內(nèi)容,僅作為引導(dǎo)。
一、最基礎(chǔ)的入門教程(Nonebot安裝,部署,啟動(dòng)等)
????????這個(gè)等級(jí)的教程適用于只單純的想搞一個(gè)bot加些插件玩玩或者使用成品bot的人(PS:大部分成品bot只要不是作者很懶,都有很詳細(xì)的部署教程(甚至一鍵部署腳本))。
????????雖然不是強(qiáng)求,但是非常建議在學(xué)習(xí)Nonebot前去學(xué)習(xí)Python,因?yàn)镹onebot的安裝等也涉及到了一些Python的內(nèi)容,且后續(xù)要想將Nonebot玩的好的話Python的知識(shí)是必不可少的。不過(guò)Python怎么學(xué)這里就不說(shuō)了,畢竟是一門很火的語(yǔ)言,教程多得是??梢匀站搜視頻或者去Python官方文檔、菜鳥、w3之類的地方去學(xué)。
????????想要快速上手,追求效率的話可以看Well404大大的視頻教程,我當(dāng)時(shí)就是看他的視頻入門的

????????如果覺得自己有時(shí)間有耐心并且有一定Python基礎(chǔ)的話也可以直接去看官方文檔(咱一般是是用來(lái)當(dāng)字典查東西的):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(非官方,和上面的其實(shí)是一個(gè)人寫的)
????????https://github.com/NCBM/py-nonebot-gocqhttp-tutorial-next(群友的,內(nèi)容較少)
????????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
二、進(jìn)階(插件編寫)
????????這個(gè)等級(jí)的教程適用于想自己寫插件來(lái)玩轉(zhuǎn)Nonebot的人
????????插件編寫教程的話目前并不是非常多,都講的很淺。
????????首先是官方文檔,里面的教程是最詳細(xì)的,但部分內(nèi)容不是特別容易懂:https://v2.nonebot.dev/docs/tutorial/plugin/create-matcher
????????well404大大的:https://github.com/nonebot/nonebot2-tutorial
????????以及我自己的:https://github.com/MRSlouzk/Nonebot-plugintutorials
??????關(guān)于編寫插件想說(shuō)的事:如果看文檔之類的還不知道怎么搞的話,可以看NB2商店里插件的源碼,它們都是開源的??梢詫⑺麄兊拇a思路和形式當(dāng)做一個(gè)很不錯(cuò)的參考資料來(lái)編寫自己的代碼。
三、一些文檔
????????寫插件的時(shí)候要養(yǎng)成勤查文檔的好習(xí)慣,必須有動(dòng)手能力
????????Nonebot2官方文檔=>用于查詢基礎(chǔ)的使用、插件編寫格式、一些API
????????gocq文檔=>用于學(xué)習(xí)gocq的使用方法、查詢qq的各類API調(diào)用形式
????????Onebot V11、V12文檔=>用于查詢Onebot的各類API、事件、消息類型、通信方式等:https://github.com/botuniverse/onebot-11
????????Nonebot商店=>有大量的優(yōu)質(zhì)插件可以直接使用,以及可以作為參考:https://v2.nonebot.dev/store
四、怎么提問(wèn)
????????提問(wèn)前請(qǐng)先確保你已經(jīng)查閱了各大文檔并且自己去嘗試解決過(guò)問(wèn)題(推薦一下群友的nonediag,是一個(gè)Nonebot的問(wèn)題診斷工具,github直接搜),不要一點(diǎn)雞毛蒜皮的,自己改點(diǎn)東西就能搞定的小問(wèn)題就來(lái)問(wèn),一些小問(wèn)題問(wèn)多了誰(shuí)都嫌煩。
????????還有一點(diǎn)是:對(duì)應(yīng)板塊的問(wèn)題請(qǐng)盡量去對(duì)應(yīng)的地方去問(wèn),比如不要在gocq的地方問(wèn)nonebot的問(wèn)題,因?yàn)檫@倆壓根不是一個(gè)東西。
????????提問(wèn)的藝術(shù):https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way
????????(以下排序優(yōu)先度遞減)
????????提問(wèn)渠道1:NB2官群以及gocq官群(群號(hào)就不放了,大家自己去找),各個(gè)bot對(duì)應(yīng)的群等等(咱建的群也可以(笑),群號(hào)在我的教程倉(cāng)庫(kù)里)。此渠道提問(wèn)解決速度通常較快。
??????? 提問(wèn)渠道2:Nonebot2倉(cāng)庫(kù)的discussion(相當(dāng)于論壇):https://github.com/nonebot/discussions/discussions/?或者gocq的discussion:https://github.com/Mrs4s/go-cqhttp/discussions。缺點(diǎn)是回復(fù)可能會(huì)比較慢
????????提問(wèn)渠道3:Nonebot2的QQ頻道。優(yōu)先級(jí)低是因?yàn)镼Q頻道還在內(nèi)測(cè),不一定所有人都有。
????????提問(wèn)渠道4:nonebot2倉(cāng)庫(kù)的issues(極不建議):https://github.com/nonebot/nonebot2/issues。特別提醒:issues板塊是nb2的源代碼技術(shù)性問(wèn)題討論區(qū)(比如源代碼里有什么bug之類的或者一些優(yōu)化建議),不要問(wèn)一些很基本的問(wèn)題。
????????最后想說(shuō)的一些話:學(xué)習(xí)一門技術(shù)的時(shí)候一定要有耐心,其次是動(dòng)手能力。沒有前一個(gè)你永遠(yuǎn)只能學(xué)到皮毛,沒有后一個(gè)你永遠(yuǎn)只是一個(gè)理論家。