指令介紹與基礎指令
什麼是指令
指令就是在聊天欄輸入一串文字,透過特定開頭與後面的參數來執行動作
可想像在呼叫函式:
在聊天室輸入>hi jack
相當於
1 | def hi(name): |
指令前綴
由前一小節的例子可看出,指令前綴為>
此部分由上周創建機器人時所設定,可自行更改
初始慣例用!
,此處是我的習慣
基本指令
此處想做到的是
輸入>hi Jack
機器人會回你「Hello, Jack」
1 |
|
內容講解
@bot.command()
此語法稱為**裝飾器,**是Python的特殊語法,用途是將裝飾的對象做特殊更改
此概念較複雜,目前不需理解
只須知道此處的@bot.command()
會執行此函式,告知機器人這個函式註冊成為可以使用的指令
async def hi(ctx:commands.Context, name)
此處定義函式的方法可參考異步函式
ctx
的意思是Context上下文,當等待I/O操作跳離協程時,會把目前執行到哪裡的內容存進去
在此處的context為一個物件,類別是commands.Context
,裡面儲存了這個指令被呼叫的所有資訊
包含頻道、伺服器、誰傳的、正在處理這個指令的機器人等等,可供我們進行下一步應用
冒號的意思是代表標註這個參數應該是什麼類別的,此處代表這個參數被標註成commands.Context
name
就與一般的函式參數一樣
await ctx.send()
如上周教的內容,這是一個等待的時候可以跳離的動作
剛剛提到ctx
是一個物件,而send
是其中的一個方法,可以在發送的那個頻道傳送訊息
意即可以以此方法與使用者對話
本部落格所有文章除特別聲明外,均採用CC BY-NC-SA 4.0 授權協議。轉載請註明來源 Discord 機器人教學!