day 24:
希望瀏覽數可以多點啦,更多人看我的教學後有所增長
Discord機器人是一種在Discord聊天平台上運行的程式。
伺服器管理:機器人可以幫助
總而言之,選擇Pycord
下載pycord
pip install py-cord
再創建一個新的機械人時,你需要先在你的discord帳戶設定到進階中開啟開發者模式
接着便到discord api登入
在New Application中創建一個新的項目,把項目改為你自己喜歡的名字,接着按同意條款。
再在Genral Information中輸入你bot的資料,不多作介紹。
接下來便比較重要,在General Information 的下方尋找OAuth2,按下去。
在OAuth2的下方尋找URL Generator,按下去,在SCOPES中選擇bot
跟application.commands
,這裏為了教學,請選擇Administrator
(管理員身份),接着便去下方複製那個連結。並在瀏覽器中開啟連結,並進行授權。
再回到左方settings中選擇bot,先按Reset Token,接着複製字串。
在第十八行的bot.run放入你之前取得的Token。
import discord
bot = discord.Bot()
@bot.event
async def on_ready():
print(f'Logged in as {bot.user.name} ({bot.user.id})')
print('Bot is ready to receive commands')
@bot.command(description="Sends the bot's latency.")
async def ping(ctx): # 將會建立一個名為「ping」的斜線指令
await ctx.respond(f"Pong! Latency is {bot.latency}")
@bot.command(description="say hi")
async def hello(ctx): #將會建立一個名為「ping」的斜線指令
await ctx.respond(f"Hello, {ctx.author}!")
bot.run("Your token")
執行結果:
Logged in as eeee (1160823090046054432)
Bot is ready to receive commands
在有機械人的server輸入指令(/ping
和/hello
)後:
bot=discord.Bot()
就是建立一個物件,如果不清楚的可以再查看python 類別(class)的簡介
@bot.event
在pycord中可以建立多個事件,類似監聽器,這裏所建立的是機械人成功上線後便在終端機輸出自己的名字。
@bot.command()
就是建立一個斜線指令,讓使用者可以自行輸入,並取得資料。
async def ping(ctx)
async
(非同步)是用於網絡請求,這裏不詳細講解,大概就是更快的運行。ctx
是一個約定,和類別中的self一樣,他儲存了很多關於訊息的資料和函數。
例如ctx.respond
就是其中一個方法來傳送訊息。ctx.author
會顯示誰傳送訊息
bot.latency
bot.latency提供機器人與 Discord 伺服器連線的延遲。
await
就是等上方async
的程式碼執行完成時便會開始執行。
bot.run()
連線你的機械人。是一個循環。
ctx
和bot
中有更多的變數及函數,明天將會介紹部份的,其他的可以自行到它的文檔參考。
今天的有趣內容到這裏,如果覺得我的文章對你有幫助或有更好的建議,可以追蹤我和不妨在留言區提出,我們明天再見。
refernece:
https://guide.pycord.dev/