mirror of https://gitlab.com/gpvkt/twitchtts.git
Fixed too-long-lines
This commit is contained in:
parent
41a7269855
commit
4d8e07f393
237
tts.py
237
tts.py
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/python3
|
#!/usr/bin/python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# pylint: disable=global-statement,broad-except,line-too-long,too-many-lines
|
# pylint: disable=global-statement,broad-except,too-many-lines
|
||||||
|
|
||||||
"""
|
"""
|
||||||
TwitchTTS
|
TwitchTTS
|
||||||
|
@ -566,7 +566,7 @@ class IRC:
|
||||||
try:
|
try:
|
||||||
token = CONF['IRC_OAUTH_TOKEN'].replace('oauth:','')
|
token = CONF['IRC_OAUTH_TOKEN'].replace('oauth:','')
|
||||||
login = CONF['IRC_CHANNEL'].replace('#','')
|
login = CONF['IRC_CHANNEL'].replace('#','')
|
||||||
api_endpoint = "https://api.twitch.tv/helix/users?login="+str(login)
|
api_endpoint = f"https://api.twitch.tv/helix/users?login={login}"
|
||||||
headers = {
|
headers = {
|
||||||
'Content-type': 'application/x-form-urlencoded',
|
'Content-type': 'application/x-form-urlencoded',
|
||||||
'Authorization': 'Bearer '+token,
|
'Authorization': 'Bearer '+token,
|
||||||
|
@ -576,7 +576,7 @@ class IRC:
|
||||||
data = req.json()
|
data = req.json()
|
||||||
user_id = data['data'][0]['id']
|
user_id = data['data'][0]['id']
|
||||||
|
|
||||||
api_endpoint = "https://api.twitch.tv/helix/channels?broadcaster_id="+str(user_id)
|
api_endpoint = f"https://api.twitch.tv/helix/channels?broadcaster_id={user_id}"
|
||||||
headers = {
|
headers = {
|
||||||
'Content-type': 'application/x-form-urlencoded',
|
'Content-type': 'application/x-form-urlencoded',
|
||||||
'Authorization': 'Bearer '+token,
|
'Authorization': 'Bearer '+token,
|
||||||
|
@ -595,7 +595,8 @@ class IRC:
|
||||||
with open("quotes.txt", "ab") as file:
|
with open("quotes.txt", "ab") as file:
|
||||||
file.write(quote.encode('utf-8'))
|
file.write(quote.encode('utf-8'))
|
||||||
|
|
||||||
msg = f"{CONF['MESSAGE']['QUOTE_ADDED_PREFIX']} #{nol} {CONF['MESSAGE']['QUOTE_ADDED_SUFFIX']}"
|
msg = f"{CONF['MESSAGE']['QUOTE_ADDED_PREFIX']} \
|
||||||
|
#{nol} {CONF['MESSAGE']['QUOTE_ADDED_SUFFIX']}"
|
||||||
|
|
||||||
raw_msg = {
|
raw_msg = {
|
||||||
"TTS": True,
|
"TTS": True,
|
||||||
|
@ -645,9 +646,11 @@ class IRC:
|
||||||
msg_queue[raw_msg['timestamp']] = [raw_msg['user'], raw_msg['msg']]
|
msg_queue[raw_msg['timestamp']] = [raw_msg['user'], raw_msg['msg']]
|
||||||
|
|
||||||
except wikipedia.exceptions.DisambiguationError:
|
except wikipedia.exceptions.DisambiguationError:
|
||||||
IRC.sendmsg(self, CONF['IRC_CHANNEL'], "@"+str(user), CONF['MESSAGE']['WIKI_TOO_MANY'])
|
user = f"@{user}"
|
||||||
|
IRC.sendmsg(self, CONF['IRC_CHANNEL'], user, CONF['MESSAGE']['WIKI_TOO_MANY'])
|
||||||
except Exception:
|
except Exception:
|
||||||
IRC.sendmsg(self, CONF['IRC_CHANNEL'], "@"+str(user), CONF['MESSAGE']['WIKI_NO_RESULT'])
|
user = f"@{user}"
|
||||||
|
IRC.sendmsg(self, CONF['IRC_CHANNEL'], user, CONF['MESSAGE']['WIKI_NO_RESULT'])
|
||||||
|
|
||||||
def quote(self, tags, msg = False):
|
def quote(self, tags, msg = False):
|
||||||
""" !smartquote command
|
""" !smartquote command
|
||||||
|
@ -818,7 +821,8 @@ class IRC:
|
||||||
logging.info('Got more than the requested number of participants')
|
logging.info('Got more than the requested number of participants')
|
||||||
else:
|
else:
|
||||||
picks = self.pickme
|
picks = self.pickme
|
||||||
logging.info('Got less than or exactly the requested number of participants')
|
logging.info('Got less than or exactly the \
|
||||||
|
requested number of participants')
|
||||||
|
|
||||||
converted_picks = [str(element) for element in picks]
|
converted_picks = [str(element) for element in picks]
|
||||||
joined_picks = " ".join(converted_picks)
|
joined_picks = " ".join(converted_picks)
|
||||||
|
@ -1111,11 +1115,18 @@ class HTTPserv(BaseHTTPRequestHandler):
|
||||||
for key in list(sorted_tts.keys()):
|
for key in list(sorted_tts.keys()):
|
||||||
if key not in tts_done:
|
if key not in tts_done:
|
||||||
if msg_queue[key][0].lower() in usermap:
|
if msg_queue[key][0].lower() in usermap:
|
||||||
logging.debug('Using usermap for user: %s (%s)', msg_queue[key][0], usermap[msg_queue[key][0].lower()])
|
logging.debug('Using usermap for user: %s (%s)',
|
||||||
tts = {str(key): str(usermap[msg_queue[key][0].lower()]) + " " + str(CONF['MESSAGE']['SAYS']) + ":" + str(msg_queue[key][1])}
|
msg_queue[key][0],
|
||||||
|
usermap[msg_queue[key][0].lower()]
|
||||||
|
)
|
||||||
|
user = usermap[msg_queue[key][0].lower()]
|
||||||
|
tts = {str(key): f"{user} {CONF['MESSAGE']['SAYS']}: {msg_queue[key][1]}"}
|
||||||
else:
|
else:
|
||||||
logging.debug('No usermap entry found for user: %s', msg_queue[key][0])
|
logging.debug('No usermap entry found for user: %s', msg_queue[key][0])
|
||||||
tts = {str(key): str(msg_queue[key][0]) + " " + str(CONF['MESSAGE']['SAYS']) + ":" + str(msg_queue[key][1])}
|
tts = {
|
||||||
|
str(key):
|
||||||
|
f"{msg_queue[key][0]} {CONF['MESSAGE']['SAYS']}: {msg_queue[key][1]}"
|
||||||
|
}
|
||||||
|
|
||||||
tts_json = json.dumps(tts)
|
tts_json = json.dumps(tts)
|
||||||
self.wfile.write(bytes(str(tts_json)+"\n", "utf-8"))
|
self.wfile.write(bytes(str(tts_json)+"\n", "utf-8"))
|
||||||
|
@ -1150,7 +1161,12 @@ class HTTPserv(BaseHTTPRequestHandler):
|
||||||
self.send_response(500)
|
self.send_response(500)
|
||||||
self.send_header('Content-type', 'text/plain')
|
self.send_header('Content-type', 'text/plain')
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
self.wfile.write(bytes("You can only use this function if HTTP_PORT is 80, 8080 or 3000. Please change your port, or use https://www.21x9.org/twitch instead.\n", "utf-8"))
|
self.wfile.write(bytes("You can only use this function \
|
||||||
|
if HTTP_PORT is 80, 8080 or 3000. \
|
||||||
|
Please change your port, or use \
|
||||||
|
https://www.21x9.org/twitch instead.\n",
|
||||||
|
"utf-8")
|
||||||
|
)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -1162,7 +1178,31 @@ class HTTPserv(BaseHTTPRequestHandler):
|
||||||
self.send_response(200)
|
self.send_response(200)
|
||||||
self.send_header('Content-type', 'text/html')
|
self.send_header('Content-type', 'text/html')
|
||||||
self.end_headers()
|
self.end_headers()
|
||||||
self.wfile.write(bytes("<html><head><title>OAuth Token Generator</title></head><body onload=\"displayCode();\"><div id=\"code\"><a href=\""+str(data.geturl())+"\">Click to start the OAuth process.</a></div><script>function displayCode() { var url = window.location.href; var test = url.indexOf(\"access_token\");if (test != -1) { token = url.substring(42,72); document.getElementById(\"code\").innerHTML = \"<p>oauth:\" + token + \"</p><p>Copy the token into your config.yml and restart the bot.</p>\";}}</script></body></html>\n", "utf-8"))
|
self.wfile.write(bytes("<html>\
|
||||||
|
<head>\
|
||||||
|
<title>OAuth Token Generator</title>\
|
||||||
|
</head>\
|
||||||
|
<body onload=\"displayCode();\">\
|
||||||
|
<div id=\"code\">\
|
||||||
|
<a href=\""+str(data.geturl())+"\">\
|
||||||
|
Click to start the OAuth process.\
|
||||||
|
</a>\
|
||||||
|
</div>\
|
||||||
|
<script>\
|
||||||
|
function displayCode() {\
|
||||||
|
var url = window.location.href;\
|
||||||
|
var test = url.indexOf(\"access_token\");\
|
||||||
|
if (test != -1) { \
|
||||||
|
token = url.substring(42,72); \
|
||||||
|
document.getElementById(\"code\").innerHTML = \"\
|
||||||
|
<p>oauth:\" + token + \"</p>\
|
||||||
|
<p>Copy the token into your config.yml and restart \
|
||||||
|
the bot.</p>\";}}\
|
||||||
|
</script>\
|
||||||
|
</body>\
|
||||||
|
</html>\n",
|
||||||
|
"utf-8")
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
self.send_response(500)
|
self.send_response(500)
|
||||||
self.send_header('Content-type', 'text/plain')
|
self.send_header('Content-type', 'text/plain')
|
||||||
|
@ -1192,56 +1232,130 @@ def load_config():
|
||||||
with open("config.yml", "r", encoding="UTF-8") as ymlfile:
|
with open("config.yml", "r", encoding="UTF-8") as ymlfile:
|
||||||
cfg = yaml.load(ymlfile, Loader=yaml.Loader)
|
cfg = yaml.load(ymlfile, Loader=yaml.Loader)
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
logging.fatal('Your config file is missing, please copy config-dist.yml to config.yml and review your settings.')
|
logging.fatal('Your config file is missing, please copy config-dist.yml \
|
||||||
|
to config.yml and review your settings.')
|
||||||
sys.exit(253)
|
sys.exit(253)
|
||||||
|
|
||||||
for section in cfg:
|
for section in cfg:
|
||||||
try:
|
try:
|
||||||
logging.debug('Fetching config: %s', section)
|
logging.debug('Fetching config: %s', section)
|
||||||
CONF['IRC_CHANNEL'] = cfg.get('irc', {}).get('channel', False)
|
CONF['IRC_CHANNEL'] = cfg.get('irc', {}).get(
|
||||||
CONF['IRC_USERNAME'] = cfg.get('irc', {}).get('username', False)
|
'channel', False
|
||||||
CONF['IRC_OAUTH_TOKEN'] = cfg.get('irc', {}).get('oauth_token', False)
|
)
|
||||||
CONF['IRC_SERVER'] = cfg.get('irc', {}).get('server', "irc.chat.twitch.tv")
|
CONF['IRC_USERNAME'] = cfg.get('irc', {}).get(
|
||||||
CONF['IRC_CLEARMSG_TIMEOUT'] = cfg.get('irc', {}).get('clearmsg_timeout', 60)
|
'username', False
|
||||||
|
)
|
||||||
|
CONF['IRC_OAUTH_TOKEN'] = cfg.get('irc', {}).get(
|
||||||
|
'oauth_token', False
|
||||||
|
)
|
||||||
|
CONF['IRC_SERVER'] = cfg.get('irc', {}).get(
|
||||||
|
'server', "irc.chat.twitch.tv"
|
||||||
|
)
|
||||||
|
CONF['IRC_CLEARMSG_TIMEOUT'] = cfg.get(
|
||||||
|
'irc', {}).get('clearmsg_timeout', 60
|
||||||
|
)
|
||||||
|
|
||||||
CONF['IRC_SUBONLY'] = cfg.get('bot', {}).get('subonly', False)
|
CONF['IRC_SUBONLY'] = cfg.get('bot', {}).get(
|
||||||
CONF['IRC_MODONLY'] = cfg.get('bot', {}).get('modonly', False)
|
'subonly', False
|
||||||
CONF['IRC_TTS_LEN'] = cfg.get('bot', {}).get('message_length', 200)
|
)
|
||||||
CONF['TTS_STARTENABLED'] = cfg.get('bot', {}).get('start_enabled', True)
|
CONF['IRC_MODONLY'] = cfg.get('bot', {}).get(
|
||||||
CONF['WIKI_LANG'] = cfg.get('bot', {}).get('language', 'en')
|
'modonly', False
|
||||||
|
)
|
||||||
|
CONF['IRC_TTS_LEN'] = cfg.get('bot', {}).get(
|
||||||
|
'message_length', 200
|
||||||
|
)
|
||||||
|
CONF['TTS_STARTENABLED'] = cfg.get('bot', {}).get(
|
||||||
|
'start_enabled', True
|
||||||
|
)
|
||||||
|
CONF['WIKI_LANG'] = cfg.get('bot', {}).get(
|
||||||
|
'language', 'en'
|
||||||
|
)
|
||||||
|
|
||||||
CONF['LOG_LEVEL'] = cfg.get('log', {}).get('level', "INFO")
|
CONF['LOG_LEVEL'] = cfg.get('log', {}).get(
|
||||||
CONF['HTTP_PORT'] = cfg.get('http', {}).get('port', 80)
|
'level', "INFO"
|
||||||
CONF['HTTP_BIND'] = cfg.get('http', {}).get('bind', "localhost")
|
)
|
||||||
|
CONF['HTTP_PORT'] = cfg.get('http', {}).get(
|
||||||
|
'port', 80
|
||||||
|
)
|
||||||
|
CONF['HTTP_BIND'] = cfg.get('http', {}).get(
|
||||||
|
'bind', "localhost"
|
||||||
|
)
|
||||||
|
|
||||||
CONF['MESSAGE'] = {}
|
CONF['MESSAGE'] = {}
|
||||||
CONF['MESSAGE']['TOFF'] = cfg.get('messages', {}).get('toff', "TTS is now disabled.")
|
CONF['MESSAGE']['TOFF'] = cfg.get('messages', {}).get(
|
||||||
CONF['MESSAGE']['TON'] = cfg.get('messages', {}).get('ton', "TTS is now active.")
|
'toff', "TTS is now disabled."
|
||||||
CONF['MESSAGE']['TOO_LONG'] = cfg.get('messages', {}).get('too_long', "Sorry, your message is too long.")
|
)
|
||||||
CONF['MESSAGE']['DISABLED'] = cfg.get('messages', {}).get('disabled', "Sorry, TTS is disabled.")
|
CONF['MESSAGE']['TON'] = cfg.get('messages', {}).get(
|
||||||
CONF['MESSAGE']['DENIED'] = cfg.get('messages', {}).get('denied', "Sorry, you're not allowed to use TTS.")
|
'ton', "TTS is now active."
|
||||||
CONF['MESSAGE']['SUBONLY'] = cfg.get('messages', {}).get('subonly', "Sorry, TTS is sub-only.")
|
)
|
||||||
CONF['MESSAGE']['MODONLY'] = cfg.get('messages', {}).get('modonly', "Sorry, TTS is mod-only.")
|
CONF['MESSAGE']['TOO_LONG'] = cfg.get('messages', {}).get(
|
||||||
CONF['MESSAGE']['READY'] = cfg.get('messages', {}).get('ready', "TTS bot is ready.")
|
'too_long', "Sorry, your message is too long."
|
||||||
CONF['MESSAGE']['WHITELISTONLY'] = cfg.get('messages', {}).get('whitelist', False)
|
)
|
||||||
CONF['MESSAGE']['SAYS'] = cfg.get('messages', {}).get('says', "says")
|
CONF['MESSAGE']['DISABLED'] = cfg.get('messages', {}).get(
|
||||||
|
'disabled', "Sorry, TTS is disabled."
|
||||||
|
)
|
||||||
|
CONF['MESSAGE']['DENIED'] = cfg.get('messages', {}).get(
|
||||||
|
'denied', "Sorry, you're not allowed to use TTS."
|
||||||
|
)
|
||||||
|
CONF['MESSAGE']['SUBONLY'] = cfg.get('messages', {}).get(
|
||||||
|
'subonly', "Sorry, TTS is sub-only."
|
||||||
|
)
|
||||||
|
CONF['MESSAGE']['MODONLY'] = cfg.get('messages', {}).get(
|
||||||
|
'modonly', "Sorry, TTS is mod-only."
|
||||||
|
)
|
||||||
|
CONF['MESSAGE']['READY'] = cfg.get('messages', {}).get(
|
||||||
|
'ready', "TTS bot is ready."
|
||||||
|
)
|
||||||
|
CONF['MESSAGE']['WHITELISTONLY'] = cfg.get('messages', {}).get(
|
||||||
|
'whitelist', False
|
||||||
|
)
|
||||||
|
CONF['MESSAGE']['SAYS'] = cfg.get('messages', {}).get(
|
||||||
|
'says', "says"
|
||||||
|
)
|
||||||
|
|
||||||
CONF['MESSAGE']['VOTESTART'] = cfg.get('messages', {}).get('votestart', "Quickvote started. Send #yourchoice to participate.")
|
CONF['MESSAGE']['VOTESTART'] = cfg.get('messages', {}).get(
|
||||||
CONF['MESSAGE']['VOTEEND'] = cfg.get('messages', {}).get('voteend', "Quickvote ended. The results are:")
|
'votestart', "Quickvote started. Send #yourchoice to participate."
|
||||||
CONF['MESSAGE']['VOTENOBODY'] = cfg.get('messages', {}).get('votenobody', "Nobody casted a vote. :(")
|
)
|
||||||
CONF['MESSAGE']['VOTERESULT'] = cfg.get('messages', {}).get('voteresult', "Voting has ended. The result is:")
|
CONF['MESSAGE']['VOTEEND'] = cfg.get('messages', {}).get(
|
||||||
CONF['MESSAGE']['VOTES'] = cfg.get('messages', {}).get('votes', "Votes")
|
'voteend', "Quickvote ended. The results are:"
|
||||||
|
)
|
||||||
|
CONF['MESSAGE']['VOTENOBODY'] = cfg.get('messages', {}).get(
|
||||||
|
'votenobody', "Nobody casted a vote. :("
|
||||||
|
)
|
||||||
|
CONF['MESSAGE']['VOTERESULT'] = cfg.get('messages', {}).get(
|
||||||
|
'voteresult', "Voting has ended. The result is:"
|
||||||
|
)
|
||||||
|
CONF['MESSAGE']['VOTES'] = cfg.get('messages', {}).get(
|
||||||
|
'votes', "Votes"
|
||||||
|
)
|
||||||
|
|
||||||
CONF['MESSAGE']['PICKSTART'] = cfg.get('messages', {}).get('pickstart', "Pick started. Send #pickme to participate.")
|
CONF['MESSAGE']['PICKSTART'] = cfg.get('messages', {}).get(
|
||||||
CONF['MESSAGE']['PICKRESULT'] = cfg.get('messages', {}).get('pickresult', "Pick ended. The results are:")
|
'pickstart', "Pick started. Send #pickme to participate."
|
||||||
CONF['MESSAGE']['PICKNONE'] = cfg.get('messages', {}).get('picknone', "Pick ended. Nobody was picked.")
|
)
|
||||||
|
CONF['MESSAGE']['PICKRESULT'] = cfg.get('messages', {}).get(
|
||||||
|
'pickresult', "Pick ended. The results are:"
|
||||||
|
)
|
||||||
|
CONF['MESSAGE']['PICKNONE'] = cfg.get('messages', {}).get(
|
||||||
|
'picknone', "Pick ended. Nobody was picked."
|
||||||
|
)
|
||||||
|
|
||||||
CONF['MESSAGE']['QUOTE_NOT_FOUND'] = cfg.get('messages', {}).get('quotenotfound', "Sorry, no quote found.")
|
CONF['MESSAGE']['QUOTE_NOT_FOUND'] = cfg.get('messages', {}).get(
|
||||||
CONF['MESSAGE']['QUOTE_ADDED_PREFIX'] = cfg.get('messages', {}).get('quoteaddedprefix', "Quote:")
|
'quotenotfound', "Sorry, no quote found."
|
||||||
CONF['MESSAGE']['QUOTE_ADDED_SUFFIX'] = cfg.get('messages', {}).get('quoteaddedsuffix', "added.")
|
)
|
||||||
|
CONF['MESSAGE']['QUOTE_ADDED_PREFIX'] = cfg.get('messages', {}).get(
|
||||||
|
'quoteaddedprefix', "Quote:"
|
||||||
|
)
|
||||||
|
CONF['MESSAGE']['QUOTE_ADDED_SUFFIX'] = cfg.get('messages', {}).get(
|
||||||
|
'quoteaddedsuffix', "added."
|
||||||
|
)
|
||||||
|
|
||||||
CONF['MESSAGE']['WIKI_TOO_MANY'] = cfg.get('messages', {}).get('wiki_too_many', "Sorry, there are too many possible results. Try a more narrow search.")
|
CONF['MESSAGE']['WIKI_TOO_MANY'] = cfg.get('messages', {}).get(
|
||||||
CONF['MESSAGE']['WIKI_NO_RESULT'] = cfg.get('messages', {}).get('wiki_no_result', "Sorry, there was an error fetching the wikipedia answer.")
|
'wiki_too_many', "Sorry, there are too many possible results. \
|
||||||
|
Try a more narrow search."
|
||||||
|
)
|
||||||
|
CONF['MESSAGE']['WIKI_NO_RESULT'] = cfg.get('messages', {}).get(
|
||||||
|
'wiki_no_result', "Sorry, there was an error fetching the wikipedia answer."
|
||||||
|
)
|
||||||
|
|
||||||
CONF['FEATURE'] = {}
|
CONF['FEATURE'] = {}
|
||||||
CONF['FEATURE']['WIKI'] = cfg.get('features', {}).get('wiki', True)
|
CONF['FEATURE']['WIKI'] = cfg.get('features', {}).get('wiki', True)
|
||||||
|
@ -1325,11 +1439,13 @@ def check_oauth_token():
|
||||||
urllib.request.urlopen(request)
|
urllib.request.urlopen(request)
|
||||||
except HTTPError:
|
except HTTPError:
|
||||||
logging.fatal('Twitch rejected your OAuth Token. Please check and generate a new one.')
|
logging.fatal('Twitch rejected your OAuth Token. Please check and generate a new one.')
|
||||||
logging.info('Please open http://%s:%s/token to generate your OAuth-Token.', CONF['HTTP_BIND'], CONF['HTTP_PORT'])
|
logging.info('Please open http://%s:%s/token to generate your OAuth-Token.',
|
||||||
|
CONF['HTTP_BIND'], CONF['HTTP_PORT'])
|
||||||
|
|
||||||
url = get_url("token")
|
url = get_url("token")
|
||||||
webbrowser.open_new_tab(url)
|
webbrowser.open_new_tab(url)
|
||||||
logging.info('Please complete the OAuth process and add the token into your "config.yml" within the next 5 minutes.')
|
logging.info('Please complete the OAuth process and add the token into your "config.yml" \
|
||||||
|
within the next 5 minutes.')
|
||||||
time.sleep(300)
|
time.sleep(300)
|
||||||
CONF = load_config()
|
CONF = load_config()
|
||||||
check_oauth_token()
|
check_oauth_token()
|
||||||
|
@ -1358,7 +1474,13 @@ def main():
|
||||||
logging.info("Starting IRC bot")
|
logging.info("Starting IRC bot")
|
||||||
irc = IRC()
|
irc = IRC()
|
||||||
|
|
||||||
irc.connect(CONF['IRC_SERVER'], 6667, CONF['IRC_CHANNEL'], CONF['IRC_USERNAME'], CONF['IRC_OAUTH_TOKEN'])
|
irc.connect(
|
||||||
|
CONF['IRC_SERVER'],
|
||||||
|
6667,
|
||||||
|
CONF['IRC_CHANNEL'],
|
||||||
|
CONF['IRC_USERNAME'],
|
||||||
|
CONF['IRC_OAUTH_TOKEN']
|
||||||
|
)
|
||||||
irc.sendmsg(CONF['IRC_CHANNEL'], 'MrDestructoid', CONF['MESSAGE']['READY'])
|
irc.sendmsg(CONF['IRC_CHANNEL'], 'MrDestructoid', CONF['MESSAGE']['READY'])
|
||||||
|
|
||||||
logging.info('Connected and joined')
|
logging.info('Connected and joined')
|
||||||
|
@ -1380,7 +1502,11 @@ def main():
|
||||||
|
|
||||||
if irc.quickvote_status and irc.votemsg:
|
if irc.quickvote_status and irc.votemsg:
|
||||||
logging.info('Quickvote is active')
|
logging.info('Quickvote is active')
|
||||||
irc.sendmsg(CONF['IRC_CHANNEL'], "@chat", CONF['MESSAGE']['VOTESTART'] + " (" + str(irc.votemsg) + ")")
|
irc.sendmsg(
|
||||||
|
CONF['IRC_CHANNEL'],
|
||||||
|
"@chat",
|
||||||
|
CONF['MESSAGE']['VOTESTART'] + " (" + str(irc.votemsg) + ")"
|
||||||
|
)
|
||||||
|
|
||||||
if not irc.tts_status:
|
if not irc.tts_status:
|
||||||
continue
|
continue
|
||||||
|
@ -1394,7 +1520,10 @@ def main():
|
||||||
os.kill(os.getpid(), signal.SIGTERM)
|
os.kill(os.getpid(), signal.SIGTERM)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(module)s %(threadName)s %(levelname)s: %(message)s')
|
logging.basicConfig(
|
||||||
|
level=logging.DEBUG,
|
||||||
|
format='%(asctime)s %(module)s %(threadName)s %(levelname)s: %(message)s'
|
||||||
|
)
|
||||||
sys.tracebacklimit = 3
|
sys.tracebacklimit = 3
|
||||||
|
|
||||||
VERSION = "1.7.1"
|
VERSION = "1.7.1"
|
||||||
|
|
Loading…
Reference in New Issue