iT邦幫忙

2021 iThome 鐵人賽

DAY 5
0
AI & Data

建立FF14資訊Discord chatbot系列 第 5

[DAY 05]物品拍賣價格查詢功能(3/4)

接續昨天要做的功能,我們要在discord上直接輸入中文就能查詢到物品的拍賣價格網址,今天主要是介紹怎麼去串discord的chatbot API

建立Discord BOT

  1. Discord Developers,登入你的 Discord 帳號

  1. 點擊New Application,輸入完你想要的名稱後按下Create,名稱之後還可以重新命名可以先隨便取

  1. 左邊側邊欄點選Bot,按下Add Bot


    接著在同樣的頁面往下拉到Privileged Gateway Intents這區塊後點選PRESENCE INTENTPRESENCE INTENT這兩個選項,為何點選這兩個選項日後會說明,點擊Save Changes後BOT基本設定就完成啦~

  1. 回到左邊側邊欄點擊 OAuth2, 在SCOPES 區塊點選 bot,下方連接就是機器人邀請連結,將連結貼到瀏覽器上就可以將機器人邀請進去你自己的群

可以從頻道介面右邊確認BOT是否有進入頻道

用python啟動Discord BOT

  1. 開啟anaconda prompt執行下面指令安裝discord bot的python套件
pip install -U discord.py

以及dotenv

pip install -U python-dotenv

dotenv是將一些重要的資料存在環境變數中的套件,細節可以看這篇文章,比較需要注意的點有兩個:

  • 創建.env的檔案不需要檔名,直接取.env就可以了
  • os.getenv()函式裡的字串是你.env裡的變數名稱
  1. 創建一個py檔後將下列程式碼貼上去,這邊是取discord_test.py,注意不要取discord.py,會出現錯誤:
import os
from dotenv import load_dotenv
import discord

load_dotenv()
TOKEN = os.getenv('DISCORD_TOKEN')

#使用client class
client = discord.Client()

#調用event函式庫
@client.event
#當機器人完成啟動時
async def on_ready():
    print('目前登入身份:', client.user)

@client.event
#當有訊息時
async def on_message(message):
    #排除自己的訊息,避免陷入無限循環
    if message.author == client.user:
        return

    if message.content.startswith('你好'):
        await message.channel.send('你好呀OuO')

client.run(TOKEN)

程式碼裡的DISCORD_TOKEN在Discord Developers左邊側邊欄點選Bot後點擊Copy

執行成功畫面如下:

接著到加入bot的discord頻道測試一下

執行成功~

明天會介紹discord上直接輸入中文就能查詢到物品的拍賣價格網址


上一篇
[DAY 04]物品拍賣價格查詢功能(2/4)
下一篇
[DAY 06]物品拍賣價格查詢功能(4/4)
系列文
建立FF14資訊Discord chatbot30

尚未有邦友留言

立即登入留言