Depuis le 16 août 2018, l'API de Twitter a changé et UserStream n'est plus disponible. Par conséquent, le code source décrit ci-dessous ne fonctionnera pas correctement. </ font> La réponse actuelle est indécise, mais au lieu de Userstream Il peut être bon d'accéder à l'API List qui peut être utilisée 900 fois / 15 minutes (à partir du 27 septembre).
Il est possible de lire à voix haute même avec le plug-in de lecture stick, ce qui est plus facile. Mais je ne savais pas comment empêcher RT d'être lu à haute voix, alors je l'ai écrit de manière appropriée. ~~ En fait, il serait préférable de l'exécuter sous Linux au lieu de Windows ... ~~
--Installez tweepy http://qiita.com/laco0416/items/f2a8928ef54626a75ae1
La clé API Twitter est requise pour utiliser tweepy http://phiary.me/twitter-api-key-get-how-to/
Installation de Minan ★ TALK http://publish-tool.blogspot.jp/search/label/%E6%B0%91%E5%AE%89%E2%98%85TALK
Achetez votre VOICE ROID + préféré http://www.ah-soft.com/voiceroid/
TimelineVR.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import codecs
import json
from os import path as ospath
import re
import subprocess
import tweepy
# Check Config.json
fpath = '{0}\\Config.json'.format(ospath.dirname(ospath.abspath(__file__)))
if ospath.exists(fpath):
fp = codecs.open(fpath, 'r', 'utf-8')
conf = json.load(fp)
fp.close()
else:
# Initial setting
PATH_VRX = input('Drag and Drop vrx.exe : ')
PATH_VOICEROID = input('Drag and Drop VOICEROID.exe : ')
CK = input("Input Consumer Key (API Key) : ")
CS = input("Input Consumer Secret (API Secret) : ")
AT = input("Input Access Token : ")
AS = input("Input Access Token Secret : ")
conf = {'path': {'vrx': PATH_VRX, 'voiceroid': PATH_VOICEROID},
'api': {'ck': CK, 'cs': CS, 'at': AT, 'as': AS}}
# Save to Config.json
fp = codecs.open(fpath, 'w', 'utf-8')
json.dump(conf, fp, indent=4)
fp.close()
# Call voiceroid.exe and vrx.exe
pvr = subprocess.Popen(conf['path']['voiceroid'])
pvrx = subprocess.Popen(conf['path']['vrx'])
# Set Tweepy api
auth = tweepy.OAuthHandler(conf['api']['ck'], conf['api']['cs'])
auth.set_access_token(conf['api']['at'], conf['api']['as'])
api = tweepy.API(auth)
# Override Listener
class Listener(tweepy.StreamListener):
def on_status(self, status):
# NG word
try:
for word in conf['NG']['word']:
if status.text.find(word) != -1:
return True
except KeyError:
pass
# NG client
try:
if status.source in conf['NG']['client']:
return True
except KeyError:
pass
# NG user_id
try:
if status.user.id in conf['NG']['user_id']:
return True
except KeyError:
pass
# NG user_screen_name
try:
if status.user.screen_name in conf['NG']['user_screen_name']:
return True
except KeyError:
pass
# replace Tweet text
try:
for retxt in conf['re']:
status.text = re.sub(retxt, conf['re'][retxt], status.text)
except KeyError:
pass
#Cela semble aller parce qu'il s'est échappé(?)
cmd = "{0} {1}Tweet.{2}".format(
conf['path']['vrx'], status.user.name, status.text)
subprocess.call(cmd)
return True
listener = Listener()
stream = tweepy.Stream(auth, listener)
try:
stream.userstream()
except:
pvr.kill()
pvrx.kill()
Config.json
{
"path": {
"vrx": "C:\\xxx\\xxx\\vrx.exe",
"voiceroid": "D:\\xxx\\xxx\\X\\VOICEROID.exe"
},
"api": {
"ck": "xxx",
"cs": "xxx",
"at": "xxx",
"as": "xxx"
},
"NG": {
"word": ["RT @"],
"client": ["Pot abandonné Tsui"],
"user_id": ["1919810", "114514"],
"user_screen_name": ["tadokoro", "kouji"]
},
"re": {
"(https?|ftp)(:\/\/[-_\\.!~*\\'()a-zA-Z0-9;\/?:\\@&=\\+\\$,%#]+)": "URL omise"
}
}
Placez le Config.json existant dans le même dossier que TimelineVR.py. Sinon au démarrage, les paramètres initiaux de création de Config.json seront entrés.
-Ajout du mot NG, du client NG, de l'ID utilisateur NG et du nom d'écran de l'utilisateur NG. Écrivez comme vous le souhaitez dans le fichier Config.json créé. En ajoutant "RT @" au mot NG, vous pouvez empêcher RT d'être lu à haute voix.
-Ajout de remplacement d'expression régulière En spécifiant l'expression régulière que vous souhaitez remplacer et la chaîne de caractères pour la remplacer par Vous pouvez remplacer le texte du tweet. Dans l'exemple, l'URL est définie pour être lue comme "URL omise".
Si vous exécutez le script ci-dessus, il sera lu à voix haute, mais il y a quelques problèmes.
~~ -Parfois, il n'est pas lu à haute voix (il sera amélioré si vous réexécutez) Addendum (2017-02-06): corrigé Addendum (2017-11-14): Si subprocess.Popen () est utilisé, il passera au processus suivant avant que le processus ne soit appelé, il semble donc souhaitable d'utiliser subprocess.call (). Addendum (2018-06-14): Modification du code source dans son ensemble.
--Beaucoup de fenêtres ouvertes (au moins 3) À ce sujet, Windows 10 a un bureau virtuel, donc j'espère que cela ne me dérangera pas ~~ .. devrait être ~~
À la fin ... je pense qu'il devrait être mis fin de force (approprié)
Pour le moment, cette fois est réservée aux personnes qui ont juste besoin de bouger. En fait, vous pouvez travailler tout en parlant depuis TL, ce qui réduit considérablement le temps nécessaire à Twitter. ~~ Alors je devrais arrêter Twitter ...? ~~