นี่คือแบ็กเอนด์สำหรับการแชท Google Hangouts (https://chat.google.com) สำหรับ errbot (https://errbot.io)
ช่วยให้คุณใช้ Errbot เพื่อสร้างบอท แต่เช่นเคยมันเป็นงานที่อยู่ระหว่างดำเนินการ
git clone https://github.com/cloudflare/GHC-Errbot
แล้วก็
BACKEND = 'Google-Hangouts-Chat'
BOT_EXTRA_BACKEND_DIR = '/path/to/where/you/cloned/the/repo/'
ไปยัง config.py ของคุณ
สร้างหัวข้อ Google Pub/Sub ในโครงการ GCE
สร้างสมาชิกในหัวข้อนั้นและให้สิทธิ์สมาชิกบัญชีบอทของคุณ
สร้างเครดิต json สำหรับบอทของคุณ
สร้างแอปพลิเคชันด้วย errbot init
จากนั้นสร้าง BOT_IDENTITY
block ใน config.py ของคุณด้วยข้อมูลต่อไปนี้:
BOT_IDENTITY = {
'GOOGLE_CREDS_FILE': '/path/to/bot/creds.json',
'GOOGLE_CLOUD_ENGINE_PROJECT': '<your project name>',
'GOOGLE_CLOUD_ENGINE_PUBSUB_TOPIC': '<your pub/sub topic>',
'GOOGLE_CLOUD_ENGINE_PUBSUB_SUBSCRIPTION': '<your pub/sub subscription name>',
}
ตั้งค่า bot_prefix เป็นชื่อของบอทรวมถึงการกล่าวถึง ( @
)
(ไม่บังคับ) เพื่อเปิดใช้งานตัวชี้วัด Prometheus ให้ตั้งค่าตัวชี้วัด _port เป็นจำนวนเต็ม นี่จะเป็นพอร์ตที่คุณต้องการเปิดสำหรับการวัด
แบ็กเอนด์นี้รองรับไฟล์แนบในเหตุการณ์ข้อความ ในการดาวน์โหลดไฟล์แนบอัพโหลด Google แชทเราจำเป็นต้องใช้ GetAttachment API และ HTTP GET Request พร้อม การตรวจสอบสิทธิ์ของผู้ถือ เนื่องจากแบ็กเอนด์ได้รับการรับรองความถูกต้องแล้วเราจึงจัดเตรียมวัตถุ ดาวน์โหลด พร้อมใช้งานพร้อมบริบทข้อความเพื่อให้ปลั๊กอิน Errbot สามารถใช้งานเพื่อดาวน์โหลดไฟล์แนบได้โดยตรงจึงไม่จำเป็นต้องมีขั้นตอนเพิ่มเติม
นี่คือตัวอย่างโค้ดเกี่ยวกับวิธีการใช้ตัวช่วยดาวน์โหลดในปลั๊กอิน Errbot:
from io import BytesIO
from errbot import BotPlugin , botcmd
@ botcmd ( split_args_with = None )
def upload ( self , msg , args ):
attachments = msg . _extras . get ( 'attachment' , [])
for attachment in attachments :
if attachment [ 'source' ] == 'UPLOADED_CONTENT' :
url = f"""https://chat.googleapis.com/v1/media/ { attachment [ 'attachmentDataRef' ][ 'resourceName' ] } ?alt=media"""
downloader = msg . _extras . get ( 'downloader' )
content = downloader ( url )
if content != None :
d = BytesIO ()
d . write ( content )
# jira.add_attachment(issue=issue, attachment=d, filename=attachment['contentName'])
รหัสใน markdownconverter.py
มาจาก https://github.com/dr-beat/errbot-backend-hangoutschat มันได้รับใบอนุญาต MIT
ได้รับใบอนุญาตภายใต้ใบอนุญาต BSD 3