# Discord.py 機器人初階學習
:::warning
:warning: 注意,若您的機器人通過本文章進行非法行為,我們一概不負責
:::
# 1. 自我介紹
嗨,我叫 **杉杉33**, 我是台灣人, 學過 Unity 及 Python 和一點點的 JavaScript
# 2. 認識 Python 程式語言
Python 是一種廣泛使用的直譯式、進階和通用的程式語言, 吉多·范羅蘇姆於 1980 年代後期開始研發 Python , 他於 1991 年首次釋出 Python 0.9.0, Python 2.0 於 2000 年釋出並引入了新功能, Python 3.0 於 2008 年釋出, 它是該語言的主要修訂版, 並非完全向下相容, Python 2 於 2020 年隨 2.7.18 版停止支援。
Python 直譯器本身幾乎可以在所有的作業系統中執行, 它的官方直譯器 CPython 是用 C 語言編寫的, Python 是一個由社群驅動的自由軟體, 目前由 Python 軟體基金會管理, Python 是目前最受歡迎的程式語言之一。
在 Python 的官方實現 CPython 中, 一般避開不成熟的或者對非重要部位的加快運行速度的優化, 在某些對運行速度要求很高的情況, 可以使用具備 JIT 技術的 Python 實現或安裝 JIT 擴充模組。
適用於 Python 的整合式開發環境 (IDE) 軟體, 除了標準二進位釋出包所附的 IDLE 之外, 還有許多其他選擇, 其中有些軟體設計有語法著色、語法檢查、執行偵錯、自動補全、智慧型感知等便利功能, 由於 Python 的跨平台出身, 這些軟體往往也具備各種作業系統的版本或一定的移植性。
Python 社群提供了大量的功能覆蓋眾多領域的第三方模組, 其使用方式與標準庫類似, 第三方模組可以使用 Python / CPython 或者 C 語言編寫, 軟體工具 SWIG 和 SIP , 通過定義介面檔案或規定檔案的方式, 可以將 C / C++ 編寫的程式庫包裝為 Python 模組, Python 直譯器本身也可以被整合到其它需要手稿語言的程式內。
> 此篇 Python 介紹來自[維基百科](https://zh.wikipedia.org/wiki/Python)
# 3. Discord.py
接下來讓我們一起來學 Discord.py 的一些基礎應用吧!
首先,必須先安裝 Discord.py 在 Visual Studio Code 或你的編輯軟體的終端機(CMD)
```cmd=1
pip install discord.py
```
接著回到 Discord 開發者頁面複製 Bot Token
:::danger
:warning: 機器人的 Token 必須嚴密保管,如 Token 洩漏,查看者可使用 Token 來操控機器人
:::
現在就來寫一個讓機器人上線的 Code 吧
```python=1
# 導入 Discord
import discord
# 導入 Discord.ext 底下的 commands
from discord.ext import commands
# intents 是要求機器人的權限
intents = discord.Intents.all()
# command_prefix 是指令前綴,可以自由選擇,這裡示範(%)
bot = commands.Bot(command_prefix = "%", intents = intents)
@bot.event
# 當機器人成功啟動(on_ready)
async def on_ready():
# 發送訊息至控制台: 登入身分
print(f"登入身份: {bot.user}")
@bot.command()
# 輸入 %hello 呼叫指令
async def hello(ctx):
# 機器人回覆 Hello World!
await ctx.send("Hello World!")
bot.run("剛剛複製的 Token")
```
如果 Code 沒有錯誤的話,終端機(CMD)會顯示:
**登入身分: 機器人名稱**
這時候到 Discord 看,你的機器人應該會是上線狀態,這時就可以輸入以下指令:
```
%hello
```
應該會出現 Hello World! 的文字
# 4. 結束
感謝各位看到這裡! 我是第一次在 HackMD 上寫文章,寫的不好請見諒xD
:::info
💡歡迎加入我的 Discord 伺服器: https://discord.gg/DDJvnb7U4G
:::
Copyright ©️ 杉杉33 2024. All Rights Reserved.