我們使您成為一個包裝紙,您無法拒絕
在電報組中,我們有一個充滿活力的開發人員社區。加入我們!
請繼續關注我們的電報頻道上的圖書館更新和新版本。
該庫為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_queue
telegram.ext.ConversationHandler.check/handle_update
telegram.ext.CallbackDataCache
telegram.ext.BasePersistence
telegram.ext.filters
模塊中的所有類,允許在運行時添加/刪除允許的用戶/聊天歡迎各種尺寸的貢獻。請查看我們開始的貢獻指南。您還可以通過報告錯誤或功能請求來提供幫助。
有時我們會被問到我們是否接受捐款來支持這一發展。儘管我們欣賞了這個想法,但保持PTB是我們的愛好,而且我們幾乎沒有運行費用。因此,我們沒有什麼可以接受捐贈的。如果您仍然想捐款,我們會要求您捐贈給您選擇的另一個開源項目/主動性。
您可以在LGPL-3下免費描述和許可修改,並複制,分發和修改軟件。衍生作品(包括修改或與圖書館靜態鏈接的任何內容)只能在LGPL-3下重新分佈,但是使用庫的應用程序不一定是。