Byte Ebi's Logo

Byte Ebi 🍤

每天一小口,蝦米變鯨魚

[Discord 機器人] 01.建立基本機器人

使用 Python3 建立基本的 Discord 聊天機器人

Ray

閒閒沒事,來寫點沒寫過的東西
最近都在 Discord 活動,就決定寫 Discord ChatBot 啦

新增 Discord Application

Discord Developers Applications 登入 Discord 帳號

按下New Application命名之後按下Create,名字之後可以改

create application

左邊Bot進入後點選Add Bot

add bot

點選左邊OAuth2頁籤

  • SCOPES中點選bot
  • Bot Permissions 選擇 Administrator

下面就是機器人的邀請連結,可以將機器人邀請到自己的群

bot invite link

bot coming

安裝 pip 及 Discord .py

使用指令安裝Discord.py套件

python3 -m pip install -U discord.py

pip install package

機器人程式碼

剛剛已經建立機器人,並且把機器人加到自己的群組裡
下一步就是要來啟動機器人,讓他可以開始做事

作為範例,我們先寫一個最簡單的機器人試試看運行結果

roll_dice.py

# 導入 Discord.py 套件
import discord

# 取得 Discord client 物件才能操作
client = discord.Client()

# 調用 event 函式庫
@client.event

# 當機器人完成啟動時在終端機顯示提示訊息
async def on_ready():
    print(f'目前登入身份:{client.user}')

# 調用 event 函式庫
@client.event
# 當有訊息時
async def on_message(message):
    
    # 排除機器人本身發出的訊息,避免機器人自問自答的無限迴圈
    if message.author == client.user:
        return
    
    # 如果我們說了「誰是機器人」,機器人就會回「誰叫我?」
    if message.content == '誰是機器人':
        await message.channel.send('誰叫我?')

client.run('MY APP TOKEN')

程式說明都寫在範例中了,唯一要解釋的就是 token 要去哪裡拿?
廢話不多說,上圖!

bot token

TOKEN 在上面 Discord Developer 的BOT頁面中取得
他不會直接顯示在畫面上,就按Copy就好了,如果堅持要看的話就按下Click to Reveal Token就會顯示
如果覺得 TOKEN 外洩可以使用 Regenerate 重新產生

啟動機器人

開啟你的終端機,執行剛剛的 python 檔案

python roll_dice.py

ChatBot terminal

接著測試指令是不是可以觸發機器人

ChatBot test

看來成功被呼叫了呢!

最新文章

Category

Tag