(三)Cog結構
哈囉各位
今天要來教一個新的概念: Cog
Cog有點像是模組,可以將一系列的功能分類到一個獨立檔案內
基本結構
1 | import discord |
Cog使用類別方式來儲存觸發條件與指令,所以首先須定義一個類別,名稱自訂
Discord引入Cog時須使用commands.Cog
類別的屬性,所以繼承該類別,並且需初始化bot屬性
最後檔案末端定義如上所示的setup
函數即可完成基本Cog結構
上列的程式碼為必須加入,每個區塊缺一不可
指令
接著來示範如何加入指令
需先閱讀此篇了解如何定義指令
擷取上一部分的程式碼作範例
1 | class MyCog(commands.Cog): |
此處的寫法與主檔案內的寫法稍有不同
bot.command()
需替換成commands.command()
- 由於此為方法而非函數,所以須加上self參數
其餘皆相同
觸發條件
需閱讀此篇了解如何定義觸發條件
1 | class MyCog(commands.Cog): |
與指令相同,此處也須更改一些地方:
bot.event
需更改成commands.Cog.listener()
- 因為是方法所以需要
self
小技巧
到此處基本的Cog就完成了,可根據自己需要做更多應用
Discord機器人預設開啟help指令
至頻道輸入help指令即可看到主檔案和cog檔案內的指令結構
本部落格所有文章除特別聲明外,均採用CC BY-NC-SA 4.0 授權協議。轉載請註明來源 Sharkspeare筆記!
評論