iT邦幫忙

2023 iThome 鐵人賽

DAY 3
0

1.建立機器人

https://discord.com/developers/applications登入disocrd帳號
按下右上角New Application命名之後按下Create,名字之後可以改
https://ithelp.ithome.com.tw/upload/images/20230916/20161116pIltWx2Hil.png
https://ithelp.ithome.com.tw/upload/images/20230916/20161116XoQFvwbDRb.png
點選左側欄目的Bot,Privileged Gateway Intents三項都要打開,Authorization Flow的REQUIRES OAUTH2 CODE GRANT不建議打開,REQUIRES OAUTH2 CODE GRANT打開會導致OAuth2->URL Genreator無法產出URL,我看完他的discord的文章後的個人見解是原本他會自動產出URL,若勾選這個你就要自己做出一個URL。
https://ithelp.ithome.com.tw/upload/images/20230916/20161116VFI4p677gu.png

下一步點選左側欄目的OAuth2,在SCOPES中點選bot,滑到最下面就會產出一個URL,這個URL就是機器人的邀請連結,可以將機器人邀請到自己的群
https://ithelp.ithome.com.tw/upload/images/20230916/20161116VqpLQlM48z.png

2.編輯機器人

剛剛已經建立好機器人,並且把機器人加到自己的群組裡,下一步就是要來編輯機器人讓他可以開始做事
我的開發環境是VScode(Visual Studio Code)
我們先來寫一個簡單的打招呼機器人,未來幾天會對這隻程式做詳細的介紹,現在先下一些簡單的註解

from discord.ext import commands 

import discord

#第四天會介紹
intents = discord.Intents.all()

#創建一個Bot對象。command_prefix參數是命令的前綴(註一),此處為空。intents參數指定了機器人的Intents。
bot = commands.Bot(command_prefix='',intents=intents)

#使用裝飾器來定義一個新的命令。這個命令的名字是"hello",當用戶在Discord中輸入這個命令時,
#機器人將執行這個函數中的代碼。在這個例子中,機器人將在同一個頻道中發送一條消息,內容是"Hello, World!"。
@bot.command()
async def hello(ctx):
    await ctx.send('Hello, World!')

#使用你的機器人的token來啟動機器人。
bot.run('your-bot-token-here')

註一:
命令的前綴是讓機器人能夠識別哪些消息是指令。例如,如果你的機器人的指令前綴設置為'!',那麼當你在聊天中輸入'!hello',機器人就會識別到這是一個名為'hello'的命令,然後執行對應的操作。
這種機制讓你可以在一個頻道中混合使用普通的聊天消息和機器人指令。只有當消息以特定的前綴開始時,機器人才會將其視為指令進行處理。
同時,使用命令前綴也讓你能夠在同一個聊天環境中使用多個機器人,每個機器人可以有自己獨特的指令前綴,以避免命令之間的衝突。


上一篇
[Day2]建立開發環境
下一篇
[Day4]discord API 介紹(上)
系列文
使用discord.py開發自己的機器人30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言