[PYTHON] J'ai affiché le chat de YouTube Live et essayé de jouer

Cet article est l'article du 25ème jour de VTuber Tech # 1 Advent Calendar 2019. Je travaille habituellement en tant que Vtuber sous le nom Soki Tamaki.

J'ai eu un chat, je l'ai affiché sur fond vert et j'ai joué

J'ai créé une application qui permet au chat de circuler de droite à gauche. Nous avons également implémenté des commandes pour changer la couleur de la police, lire l'audio et faire pleuvoir.

でも.PNG

Test fonctionnel Utilisation réelle (dernière livraison)

↓ Veuillez l'utiliser comme vous le souhaitez. Code source Celui qui a été converti en exe avec pyinstaller

Comment utiliser (copier-coller de README)

Entrez l'ID de livraison (celui de l'URL) à côté de l'ID de fenêtre qui apparaît lorsque vous le démarrez et appuyez sur le bouton OK. S'il n'y a rien, le commentaire s'affichera sur l'écran vert.

Ce que j'ai fait

  1. Obtenez le chat en direct YouTube en utilisant ** pychat **
  2. Dessinez honnêtement avec pygame

~~ Au début, j'ai été obligé de discuter avec Selenium ~~

Obtenez le chat

J'ai pu me le permettre en utilisant pychat (merci). Cela fonctionnait simplement en passant l'ID dans l'URL de livraison.

Exemple de code


from pytchat import LiveChat
import time

def main()
  chat = LiveChat("Mettez l'identifiant ici", callback = func)
  while chat.is_alive():
    time.sleep(3)
    #Écrivez votre processus préféré
   
#Si vous passez une fonction à l'argument de rappel, vous recevrez des chats régulièrement.
def func(data):
  for c in data.items:
    print(f"{c.datetime} [{c.author.name}]-{c.message} {c.amountString}")
    data.tick()

Cependant, il y avait un bogue que Python n'a pas quitté lorsqu'il a été intégré à l'application.

Quand j'ai appelé chat.terminate (), cela s'est terminé normalement.

Dessiner avec pygame

Il existe une référence de traduction japonaise, donc je l'ai fait en la regardant.

--pygame peut mettre à la fois des chaînes et des images sur des objets Surface --Je suis tombé sur la spécification de la police installée, alors j'ai chargé directement .ttf. --Lorsque l'emoji arrive, il sera tué, alors détruisez l'emoji

Autres caractéristiques

--Fonction de commande

finalement

―― Le plaisir de discuter ――C'est amusant d'augmenter le nombre de commandes autant que vous le souhaitez

Recommended Posts

J'ai affiché le chat de YouTube Live et essayé de jouer
J'ai essayé le serveur asynchrone de Django 3.0
J'ai essayé de jouer avec l'image avec Pillow
J'ai essayé de visualiser la tranche d'âge et la distribution des taux d'Atcoder
J'ai essayé d'extraire et d'illustrer l'étape de l'histoire à l'aide de COTOHA
J'ai essayé de vérifier et d'analyser l'accélération de Python par Cython
J'ai essayé la fonction de tableau croisé dynamique des pandas
J'ai essayé de jouer en connectant PartiQL et MongoDB
J'ai essayé de corriger la forme trapézoïdale de l'image
J'ai essayé l'analyse morphologique et la vectorisation de mots
J'ai lu et implémenté les variantes de UKR
J'ai essayé d'utiliser le filtre d'image d'OpenCV
J'ai essayé de jouer avec la calculatrice avec tkinter
J'ai essayé de vectoriser les paroles de Hinatazaka 46!
J'ai essayé de notifier la mise à jour de "Hameln" en utilisant "Beautiful Soup" et "IFTTT"
[EN DIRECT] J'ai essayé de fournir les heures de lever et de coucher du soleil dans tout le pays chaque jour
[Introduction à AWS] J'ai essayé de porter une application de conversation et de jouer avec text2speech @ AWS ♪
J'ai essayé de résumer la forme de base de GPLVM
J'ai essayé le tutoriel MNIST de tensorflow pour les débutants.
J'ai vérifié le système d'exploitation et le shell par défaut de docker-machine
J'ai essayé d'utiliser l'API de Sakenowa Data Project
J'ai essayé de visualiser les informations spacha de VTuber
J'ai essayé d'effacer la partie négative de Meros
J'ai essayé la méthode la plus simple de classification de documents multi-étiquettes
J'ai essayé de classer les voix des acteurs de la voix
J'ai essayé d'exécuter l'exemple de code du module Ansible
J'ai essayé de résumer les opérations de chaîne de Python
J'ai essayé de notifier la mise à jour de "Devenir romancier" en utilisant "IFTTT" et "Devenir un romancier API"
J'ai essayé d'automatiser la mise à jour de l'article du blog Livedoor avec Python et sélénium.
J'ai essayé de comparer la vitesse de traitement avec dplyr de R et pandas de Python
J'ai essayé de trouver l'entropie de l'image avec python
[Courses de chevaux] J'ai essayé de quantifier la force du cheval de course
J'ai essayé d'obtenir les informations de localisation du bus Odakyu
J'ai essayé de publier automatiquement sur ChatWork au moment du déploiement avec Fabric et ChatWork Api
J'ai essayé de trouver la moyenne de plusieurs colonnes avec TensorFlow
J'ai essayé de refactoriser le modèle CNN de TensorFlow en utilisant TF-Slim
J'ai essayé la reconnaissance faciale du problème du rire en utilisant Keras.
J'ai essayé l'analyse morphologique du commentaire général du putain de jeu de l'année
J'ai essayé d'illustrer le temps et le temps du langage C
J'ai essayé de vérifier la classification yin et yang des membres hololive par apprentissage automatique
J'ai essayé la bibliothèque changefinder!
J'ai essayé de programmer le test du chi carré en Python et Java.
J'ai essayé d'afficher l'heure et la météo d'aujourd'hui w
[Introduction au modèle de maladie infectieuse] J'ai essayé de m'adapter et de jouer
[Python] J'ai essayé de visualiser la relation de suivi de Twitter
J'ai essayé un peu le comportement de la fonction zip
[Apprentissage automatique] J'ai essayé de résumer la théorie d'Adaboost
Je veux connaître la nature de Python et pip
[Python] J'ai essayé de collecter des données en utilisant l'API de wikipedia
J'ai essayé de combattre le minimum local de la fonction Goldstein-Price
J'ai essayé de classer le nom d'utilisateur et le mot de passe de phpMyAdmin ciblés par l'attaque du serveur
Je suis devenu horreur quand j'ai essayé de détecter la quantité de fonctionnalités d'un visage animé en utilisant PCA et NMF.
J'ai essayé de prédire les hauts et les bas du cours de clôture du cours de l'action de Guru Navi en utilisant TensorFlow (progression)
J'ai essayé d'adapter la fonction exponentielle et la fonction logistique au nombre de patients positifs au COVID-19 à Tokyo
J'ai comparé la vitesse de Hash avec Topaz, Ruby et Python