تطبيق Python بسيط لتسجيل دردشة Twitch إلى قاعدة بيانات postgresql. يقوم بتسجيل ذخيرة تعسفية للقنوات (الافتراضي هو 100) التي تم طلبها من قبل أعداد المشاهدين أو قائمة محددة من القنوات. يبدو أن Twitch لا يحب روبوتًا واحدًا ينضم إلى كمية كبيرة من القنوات ، بحيث يتم تقنية كل روبوت إلى 20 قناة. يقوم هذا التطبيق تلقائيًا بتوسيع عدد الروبوتات وفقًا لعدد القنوات التي سيتم تسجيلها (على سبيل المثال ، سيؤدي تسجيل 100 قناة إلى إنشاء 5 روبوتات). يتم تحديث قائمة القنوات الأكثر شعبية كل 60 ثانية وتنضم الروبوتات وتترك القنوات حسب الحاجة.
يبدو أن تسجيل 100 قناة لمدة 24 ساعة يصل إلى حوالي 4 ملايين خط دردشة (حوالي 400 ميغابايت).
تثبيت هذا الريبو باستخدام git.
git clone https://github.com/bernardopires/twitch-chat-logger.git
مطلوب حساب نشل لتوصيل وتسجيل قنوات الدردشة. قم بإنشاء ملف يسمى settings.py
IRC
يتم توفير مثال مع settings.py.example
الاسم. تلميح: يمكنك الحصول على كلمة مرور Oauth الخاصة بك من مولد Twitch Chat Oauth Password.
IRC = { 'Server': 'irc.twitch.tv' 'Nick': 'Twitch_username' ، 'كلمة المرور': 'your_oauth_password' ، "الميناء": 6667 ، }
يقدم المشروع طلبات لسحب القنوات الأكثر شعبية من API Twitch. للقيام بذلك ، تحتاج إلى الحصول على Client-Id
الخاص بك والذي يمكنك الحصول عليه إلى Twitch> إعدادات الحساب> Conclection` وتسجيل application جديد (في أسفل الصفحة). ثم أضفه إلى ملف الإعدادات في قاموس API.
API = { "ClientId": "هويتك يذهب هنا" }
إذا كنت تستخدم Docker و TIG ، فأنت جميعًا تم تعيينك.
التين تصل
خلاف ذلك ، قم بتثبيت قاعدة بيانات postgreSQL إذا لم تقم بعد وإنشاء قاعدة بيانات تسمى twitch
. قم بتحديث قاموس DATABASE
داخل settings.py
مع بيانات الاعتماد الخاصة بك.
قاعدة البيانات = { "الاسم": "Twitch" ، 'المستخدم': 'database_username' ، 'كلمة المرور': 'database_password' ، "مضيف": "المضيف المحلي" ، }
قم بإنشاء الجداول المطلوبة عن طريق تشغيل create_tables.sql
.
psql twitch -f create_tables.sql -u
تثبيت تبعيات مكتبة Python مع PIP.
PIP تثبيت -r متطلبات. txt
أخيرًا ، أنت مستعد! إذا واجهت أي أخطاء تقوم بتثبيت psycopg2
، فقد تضطر إلى تنفيذ apt-get install libpq-dev python-dev
.
Python Main.py
سيبدأ الأمر أعلاه 5 روبوتات في تسجيل القنوات الأكثر شعبية. لتسجيل مبلغ مختلف ، استخدم المعلمة n
، لتسجيل قائمة محددة من القنوات ، استخدم المعلمة c
ولحفظ الإخراج في ملف استخدم المعلمة f
. على سبيل المثال ، استخدم الأمر أدناه لتسجيل 50 قناة شعبية مع حفظ الإخراج في ملف يسمى log.txt
Python main.py -n 50 -f log.txt
لتسجيل قائمة محددة من القنوات ، افصل اسم القنوات عن طريق المسافة البيضاء.
Python Main.py -C Channel1 Channel2