iT邦幫忙

2021 iThome 鐵人賽

DAY 21
0
Software Development

都是 P 開頭的程式語言,你是在 py 啥啦系列 第 21

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

  • 分享至 

  • xImage
  •  

新增 Discord Application

Discord Developers Applications登入 Discord 帳號

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

左邊Bot進入後點選Add Bot

點選左邊OAuth2頁籤

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

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

安裝 pip 及 Discord .py

使用指令安裝Discord.py套件

python3 -m pip install -U discord.py

機器人程式碼

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

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

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 要去哪裡拿?
廢話不多說,上圖!

TOKEN 在上面 Discord Developer 的BOT頁面中取得
他不會直接顯示在畫面上,就按Copy就好了
如果覺得 TOKEN 外洩可以使用 Reveal 註銷

啟動機器人

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

python roll_dice.py

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

看來成功被呼叫了呢!


上一篇
[20] [燒瓶裡的部落格] 10. 心得
下一篇
[22] [Discord 機器人] 02.擲骰機器人
系列文
都是 P 開頭的程式語言,你是在 py 啥啦30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言