首頁 >後端開發 >Python教學 >在 Python 上建立 Telegram 機器人

在 Python 上建立 Telegram 機器人

Barbara Streisand
Barbara Streisand原創
2024-09-19 20:16:031155瀏覽

Create a Telegram Bot on Python

目錄:

  1. 什麼是 Telegram 機器人?
  2. 先決條件
  3. 在 Telegram 上建立一個機器人
  4. 設定Python環境
  5. 編寫機器人程式碼
  6. 部署機器人
  7. 結論

1. 什麼是 Telegram 機器人?

機器人是完全在 Telegram 應用程式中運行的小型應用程式。使用者透過靈活的介面與機器人交互,這些介面可以支援任何類型的任務或服務。

您可以在官方文件中閱讀更多關於機器人的資訊:
機器人
Telegram 機器人 API


2. 前提條件

在深入創建機器人之前,您需要以下內容:

  • Telegram 帳戶:您可以透過在手機上下載 Telegram 應用程式輕鬆建立帳戶。
  • 已安裝 Python:我們將使用 Python 3,因此請確保它已安裝在您的電腦上。 下載連結
  • 基本 Python 知識:了解 Python 語法和套件將幫助您瀏覽程式碼。我可以推薦這本書《Automate the Boring Stuff with Python》
  • BotFather 存取:BotFather 是內建的 Telegram 機器人,可協助您管理和建立新機器人。
  • VS Code(可選):我用它來寫我的機器人。但請隨意選擇任何其他編輯器。但我建議使用這個。 在這裡您可以下載最新版本的 VS Code,這裡是有關如何為 Python 設定它的說明。

3. 在 Telegram 上建立一個機器人

要創建自己的機器人,您需要使用BotFather,這是在 Telegram 上註冊和管理機器人的官方工具。

步驟:

  1. 開啟 Telegram 並搜尋 BotFather 機器人。 (在搜尋選單中輸入@botfather)
  2. 輸入 /start 開始與 BotFather 聊天。
  3. 透過輸入 /newbot 來建立一個新機器人。
  4. 系統將提示您提供機器人的名稱。輸入一個唯一的名稱(例如,Hello World)。
  5. BotFather 將詢問機器人的使用者名稱。使用者名稱必須以“bot”結尾(例如 HelloWorldBot)。
  6. 完成這些步驟後,BotFather 會給您一個令牌。這個令牌至關重要,因為它可以驗證您的機器人並允許您與 Telegram 的 API 進行互動。

重要:將您的代幣保密,不要公開分享!


4. 設定Python環境

接下來,我們需要設定 Python 環境來與 Telegram API 互動。我們將使用 python-telegram-bot 函式庫,它提供了一個簡單易用的介面來開發 Telegram 機器人。

步驟:

安裝 python-telegram-bot 函式庫:
執行以下命令來安裝必要的庫:

 pip install python-telegram-bot 

建立一個新的 Python 檔案: 您可以將其命名為 my_bot.py 之類的名稱來保存機器人的程式碼。


5. 編寫機器人程式碼

現在我們的環境已經準備好了,讓我們來編寫機器人程式碼。

範例程式碼

這是一個回應 /start 和 /help 指令的基本機器人:

import logging
from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes

# Enable logging
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
                    level=logging.INFO)
logger = logging.getLogger(__name__)

# Define a start function to respond to the /start command
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    await update.message.reply_text('Hello! I am your bot. How can I help you today?')

# Define a help function to respond to the /help command
async def help_command(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    await update.message.reply_text('You can use the following commands:\n/start - Start the bot\n/help - Get help')

def main():
    # Create the application and pass the bot token
    application = ApplicationBuilder().token('YOUR_BOT_TOKEN_HERE').build()

    # Add command handlers for /start and /help
    application.add_handler(CommandHandler("start", start))
    application.add_handler(CommandHandler("help", help_command))

    # Start the bot and run it until manually stopped
    application.run_polling(allowed_updates=Update.ALL_TYPES)

if __name__ == '__main__':
    main()

解釋:

  • 導入:我們導入 telegram 和 telegram.ext 模組來建造我們的機器人。這些提供了與 Telegram API 互動所需的類別和函數。
  • 日誌記錄:啟用日誌記錄以追蹤事件和錯誤。
  • 啟動和幫助命令:我們定義了兩個函數(start 和 help_command),它們在使用者觸發對應命令時發送訊息。
  • 令牌: 將「YOUR_BOT_TOKEN_HERE」替換為您從 BotFather 收到的令牌。
  • 輪詢: 機器人使用輪詢不斷檢查新訊息並在新訊息到來時做出回應。

運行機器人:

  1. 將程式碼中的佔位符令牌替換為您的機器人的令牌。
  2. 執行你的Python腳本:
 python my_bot.py

您的機器人現已啟動並運行!開啟 Telegram,向機器人發送 /start 或 /help 命令,它就會回應。


6. 部署機器人

在本機電腦上執行機器人非常適合測試,但如果您希望它 24/7 可用怎麼辦?為此,您可以將機器人部署到伺服器或雲端服務。

常見部署選項:

  • Heroku: 一個免費的雲端平台,您可以在其中託管您的機器人。
  • AWS(亞馬遜網路服務):可擴充性更強,但可能需要初學者進行一些設定。
  • VPS(虛擬專用伺服器):讓您完全控制您的伺服器。
  • PythonAnywhere: 適合初學者的免費選項。 每個平台都提供了部署 Python 應用程式的獨特方法。您可以按照特定於您選擇的服務的部署教學課程進行操作。

七、結論

恭喜!您已經使用 Python 成功創建了一個基本的 Telegram 機器人。您學會如何:

  • 使用 BotFather 設定 Telegram 機器人。
  • 編寫Python程式碼來處理指令。
  • 在本地運行機器人並在 Telegram 上與其互動。

接下來,我建議您學習 python-telegram-bot 中的範例機器人


這是一個系列文章。在接下來的文章中,我將解釋如何在 PythonAnywhere 上託管機器人,如何在您自己的 Raspberry PI 伺服器上託管機器人,以及如何創建更複雜的機器人。

以上是在 Python 上建立 Telegram 機器人的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn