هذا خلفية لدردشة 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/Sub في مشروع GCE
قم بإنشاء مشترك حول هذا الموضوع ومنح أذونات مشترك حساب BOT الخاص بك
قم بإنشاء creds.json لبروبتك
قم بإنشاء تطبيق مع errbot init
، ثم قم بإنشاء كتلة BOT_IDENTITY
في 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 ، قم بتعيين Metrics_port على عدد صحيح. سيكون هذا هو المنفذ الذي تريد فتحه للحصول على المقاييس.
يدعم هذه الواجهة الخلفية المرفقات في أحداث الرسائل. لتنزيل مرفق تحميل دردشة Google ، نحتاج إلى استخدام طلب Getattachment API و HTTP مع مصادقة حامل . نظرًا لأن الواجهة الخلفية قد تمت مصادقةها بالفعل ، فإننا نقدم بشكل انتهازي كائن تنزيل جاهز للاستخدام مع سياق الرسالة ، بحيث يمكن لـ Errbot Plugins استخدامه لتنزيل المرفقات مباشرةً ، لا توجد خطوات إضافية مطلوبة.
إليك مثال رمز على كيفية استخدام مساعد التنزيل في مكون إضافي 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. هو معهد ماساتشوستس للتكنولوجيا مرخصة.
مرخصة بموجب ترخيص BSD 3.