เราทำให้คุณเป็นเสื้อคลุมที่คุณไม่สามารถปฏิเสธได้
เรามีชุมชนนักพัฒนาที่มีชีวิตชีวาช่วยเหลือซึ่งกันและกันในกลุ่มโทรเลขของเรา เข้าร่วมกับเรา!
คอยติดตามการอัปเดตห้องสมุดและรุ่นใหม่ในช่องโทรเลขของเรา
ไลบรารีนี้มีอินเทอร์เฟซเพดานบริสุทธิ์แบบอะซิงโครนัสสำหรับ Telegram Bot API เข้ากันได้กับรุ่น Python 3.9+
นอกเหนือจากการใช้งาน API บริสุทธิ์ไลบรารีนี้ยังมีวิธีการและทางลัดที่สะดวกสบายหลายวิธีรวมถึงชั้นเรียนระดับสูงจำนวนมากเพื่อให้การพัฒนาบอทง่ายและตรงไปตรงมา คลาสเหล่านี้มีอยู่ใน Submodule telegram.ext
หลังจากติดตั้งไลบรารีให้แน่ใจว่าได้ตรวจสอบส่วนที่ทำงานกับ PTB
ทุกประเภทและวิธีการของ Telegram Bot API 7.11 ได้รับการสนับสนุนโดยห้องสมุดนี้ นอกจากนี้ฟังก์ชั่น Bot API ที่ยังไม่ได้รวมอยู่ในสภาพปกติยังคงสามารถใช้งานได้ตามที่อธิบายไว้ในวิกิของเรา
คุณสามารถติดตั้งหรืออัพเกรด python-telegram-bot
ผ่าน
$ pip install python-telegram-bot --upgrade
ในการติดตั้งการเปิดตัวล่วงหน้าให้ใช้ --pre
FLAG นอกจากนี้
นอกจากนี้คุณยังสามารถติดตั้ง 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 Reasees ในการตรวจสอบลายเซ็นโปรดติดตั้งไคลเอนต์ Sigstore Python และทำตามคำแนะนำสำหรับการตรวจสอบลายเซ็นจากการกระทำของ GitHub เป็นอินพุตสำหรับ --repository
พารามิเตอร์-การทำซ้ำโปรดใช้ค่า python-telegram-bot/python-telegram-bot
รุ่นก่อนหน้านี้ลงนามด้วยคีย์ GPG ลายเซ็นจะถูกอัปโหลดไปยังทั้งหน้า GitHub Reasees และโครงการ PYPI และสิ้นสุดด้วยคำต่อ .asc
โปรดค้นหากุญแจสาธารณะที่นี่ คีย์มีชื่ออยู่ในรูปแบบ <first_version>-<last_version>.gpg
นอกจากนี้หน้า GitHub Release ยังมี sha1 hashes ของไฟล์รีลีสในไฟล์ด้วยคำต่อท้าย .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 [ถุงเท้า] ใช้สิ่งนี้หากคุณต้องการทำงานเบื้องหลังเซิร์ฟเวอร์ Socks5pip install "python-telegram-bot[http2]"
ติดตั้ง httpx [http2] ใช้สิ่งนี้หากคุณต้องการใช้ HTTP/2pip 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 ไลบรารี ใช้สิ่งนี้หากคุณต้องการใช้การเรียกกลับโดยพลการ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]
เมื่อคุณติดตั้งไลบรารีแล้วคุณสามารถเริ่มทำงานได้ - ดังนั้นเริ่มต้นกันเถอะ!
วิกิของเรามีการแนะนำ API เพื่ออธิบายว่าสามารถเข้าถึง API บอทบริสุทธิ์ได้อย่างไรผ่าน python-telegram-bot
ยิ่งไปกว่านั้นการสอน: บอทแรกของคุณให้คำแนะนำเกี่ยวกับวิธีการตั้งโปรแกรมแชทบอทได้อย่างง่ายดายด้วยความช่วยเหลือของโมดูล telegram.ext
python-telegram-bot
มันมีคำอธิบายของคลาสที่มีอยู่ทั้งหมดโมดูลวิธีการและอาร์กิวเมนต์รวมถึงการเปลี่ยนแปลง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 แต่แอปพลิเคชันที่ใช้ห้องสมุดไม่จำเป็นต้องเป็น