
我們使您成為一個包裝紙,您無法拒絕
在電報組中,我們有一個充滿活力的開發人員社區。加入我們!
請繼續關注我們的電報頻道上的圖書館更新和新版本。
該庫為Telegram Bot API提供了一個純淨的Python,異步界面。它與Python版本3.9+兼容。
除了純API實施外,該庫還具有幾種便利方法和快捷方式以及許多高級類,以使機器人的開髮變得輕鬆明了。這些類包含在telegram.ext子模塊中。
安裝庫後,請務必查看有關與PTB合作的部分。
電報機器人API 7.11的所有類型和方法均由此庫內部支持。此外,尚未本地包含的機器人API功能仍然可以如我們的Wiki中所述使用。
您可以python-telegram-bot
$ pip install python-telegram-bot --upgrade要安裝預釋放,請另外使用--pre標誌。
您也可以從源安裝python-telegram-bot ,儘管通常不需要。
$ git clone https://github.com/python-telegram-bot/python-telegram-bot
$ cd python-telegram-bot
$ pip install build
$ python -m build為了使您能夠驗證您下載的發布文件確實由python-telegram-bot團隊提供,我們已經採取了以下措施。
從v21.4開始,所有版本均通過Sigstore簽名。相應的簽名文件將上傳到GitHub版本頁面。要驗證簽名,請安裝Sigstore Python客戶端,並按照說明驗證GitHub Action的簽名。作為--repository參數的輸入,請使用值python-telegram-bot/python-telegram-bot 。
較早的版本用GPG密鑰簽名。簽名將上傳到GitHub版本頁面和PYPI項目,並以後綴.asc結尾。請在這裡找到公共鑰匙。這些鍵以格式<first_version>-<last_version>.gpg命名。
此外,GITHUB發布頁面還包含帶有後綴.sha1的文件中發行文件的SHA1哈希。
python-telegram-bot試圖盡可能使用少數第三方依賴。但是,對於某些功能而言,使用第三方庫比再次實施功能更理智。由於這些功能是可選的,因此默認情況下未安裝相應的第三方依賴關係。相反,它們被列為可選依賴性。這允許對於不需要可選功能的用戶避免不必要的依賴衝突。
唯一需要的依賴關係是httpx〜= 0.27, telegram.request.HTTPXRequest ,默認網絡後端。
與其他庫一起使用時, python-telegram-bot最有用。為了最大程度地減少依賴性衝突,我們試圖在(可選)依賴項上的版本要求方面保持自由。另一方面,我們必須確保python-telegram-bot的穩定性,這就是為什麼我們確實應用版本範圍的原因。如果由於這些界限遇到依賴性衝突,請隨時伸出援手。
可以以可選的依賴項安裝PTB:
pip install "python-telegram-bot[passport]"安裝加密量> = 39.0.1庫。如果要使用電報護照相關功能,請使用此功能。pip install "python-telegram-bot[socks]"安裝HTTPX [Socks]。如果要在Socks5服務器後面工作,請使用此功能。pip install "python-telegram-bot[http2]"安裝HTTPX [HTTP2]。如果要使用HTTP/2,請使用此。pip install "python-telegram-bot[rate-limiter]"安裝Aiolimiter〜= 1.1.0。如果要使用telegram.ext.AIORateLimiter ,請使用此。pip install "python-telegram-bot[webhooks]"安裝龍捲風〜= 6.4庫。如果要使用telegram.ext.Updater.start_webhook / telegram.ext.Application.run_webhook ,請使用此操作。pip install "python-telegram-bot[callback-data]"安裝cachetools> = 5.3.3,<5.6.0庫。如果要使用任意callback_data,請使用此功能。pip install "python-telegram-bot[job-queue]"安裝apscheduler〜= 3.10.4庫並強制執行pytz> = 2018.6,其中pytz是APScheduler的依賴性。如果您想使用telegram.ext.JobQueue ,請使用此功能。要安裝多個可選依賴項,請通過逗號分隔,例如pip install "python-telegram-bot[socks,webhooks]" 。
此外,還提供了兩個快捷方式:
pip install "python-telegram-bot[all]"安裝所有可選依賴性。pip install "python-telegram-bot[ext]"安裝與telegram.ext相關的所有可選依賴項,即[rate-limiter, webhooks, callback-data, job-queue] 。 安裝庫後,您可以開始使用它 - 讓我們開始吧!
我們的Wiki包含API的介紹,解釋瞭如何通過python-telegram-bot訪問純機器人API。此外,教程:您的第一個機器人提供了介紹如何在telegram.ext模塊的幫助下如何輕鬆編程聊天機器人。
python-telegram-bot的技術參考。它包含所有可用類,模塊,方法和參數以及ChangElog的描述。python-telegram-bot和其他有用資源的不同功能的更多詳細介紹,這些功能超出了技術文檔。python-telegram-bot的不同特徵。即使不是您學習的方法,也要查看echobot.py 。這是大多數機器人的事實上的基礎。這些示例的代碼已發佈到公共領域,因此您可以從抓取代碼並在其頂部進行構建開始。如果上面提到的資源沒有回答您的問題或僅僅使您不知所措,則有幾種獲得幫助的方法。
自V20.0以來, python-telegram-bot建立在pythons asyncio模塊的頂部。由於asyncio通常是單線線程, python-telegram-bot當前並不是要成為線程安全。 python-telegram-bots API的值得注意的部分可能會引起問題(例如種族條件),例如,在多線程設置中使用時包括:
telegram.ext.Application/Updater.update_queuetelegram.ext.ConversationHandler.check/handle_updatetelegram.ext.CallbackDataCachetelegram.ext.BasePersistencetelegram.ext.filters模塊中的所有類,允許在運行時添加/刪除允許的用戶/聊天歡迎各種尺寸的貢獻。請查看我們開始的貢獻指南。您還可以通過報告錯誤或功能請求來提供幫助。
有時我們會被問到我們是否接受捐款來支持這一發展。儘管我們欣賞了這個想法,但保持PTB是我們的愛好,而且我們幾乎沒有運行費用。因此,我們沒有什麼可以接受捐贈的。如果您仍然想捐款,我們會要求您捐贈給您選擇的另一個開源項目/主動性。
您可以在LGPL-3下免費描述和許可修改,並複制,分發和修改軟件。衍生作品(包括修改或與圖書館靜態鏈接的任何內容)只能在LGPL-3下重新分佈,但是使用庫的應用程序不一定是。