mirror of https://gitlab.com/gpvkt/twitchtts.git
Added !wtoff/!wton commands
This commit is contained in:
parent
83811df8c1
commit
d962bd2570
|
@ -2,12 +2,14 @@
|
||||||
|
|
||||||
All notable changes to this project will be documented in this file. If there is a `Changed` section please read carefully, as this often means that you will need to adapt your `config.yml`.
|
All notable changes to this project will be documented in this file. If there is a `Changed` section please read carefully, as this often means that you will need to adapt your `config.yml`.
|
||||||
|
|
||||||
## [1.8.0]
|
## [1.8.0] - 2022-10-23
|
||||||
|
|
||||||
### Added 1.8.0
|
### Added 1.8.0
|
||||||
|
|
||||||
* Option to disable TTS audio output for !wiki function
|
* Option to disable TTS audio output for !wiki function
|
||||||
* Option to configure the number of sentences fetched by !wiki function
|
* Option to configure the number of sentences fetched by !wiki function
|
||||||
|
* !wikitoff command
|
||||||
|
* !wikiton command
|
||||||
|
|
||||||
### Changed 1.8.0
|
### Changed 1.8.0
|
||||||
|
|
||||||
|
|
16
README.md
16
README.md
|
@ -69,6 +69,8 @@ features:
|
||||||
messages:
|
messages:
|
||||||
toff: "TTS is now inactive."
|
toff: "TTS is now inactive."
|
||||||
ton: "TTS is now active."
|
ton: "TTS is now active."
|
||||||
|
wikitoff: "Wiki TTS is now inactive."
|
||||||
|
wikiton: "Wiki TTS is now active."
|
||||||
too_long: "Sorry, your TTS message is too long."
|
too_long: "Sorry, your TTS message is too long."
|
||||||
disabled: "Sorry, TTS is disabled right now."
|
disabled: "Sorry, TTS is disabled right now."
|
||||||
denied: "Sorry, you are not allowed to use TTS."
|
denied: "Sorry, you are not allowed to use TTS."
|
||||||
|
@ -138,10 +140,22 @@ Please note that the `oauth_token` is valid for approximately 60 days. If it bec
|
||||||
* `version`: Enable/Disable `!version` function
|
* `version`: Enable/Disable `!version` function
|
||||||
* `ping`: Enable/Disable `!ping` function
|
* `ping`: Enable/Disable `!ping` function
|
||||||
|
|
||||||
|
Please note, the text output from `!wiki` might been shorter that the TTS output. This is due to the Twitch chat message length restriction. Therefore the `wikisentences` option might not have any effects, when `wikitts` is set to `False`.
|
||||||
|
|
||||||
|
Please also note that every `.` in the wikipedia result is counted as a sentence. This might cause issues with certain date-formats, e.g. if `wikisentences` is set to `1` and `bot:language` is set to `de` the command `!wiki douglas adams` will only return:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Douglas Noël Adams (* 11.
|
||||||
|
```
|
||||||
|
|
||||||
|
Therefore the recommended minimum value for `wikisentences` is `3`.
|
||||||
|
|
||||||
##### messages
|
##### messages
|
||||||
|
|
||||||
* `toff`: The bots reply when `!toff` is used.
|
* `toff`: The bots reply when `!toff` is used.
|
||||||
* `ton`: The bots reply when `!ton` is used.
|
* `ton`: The bots reply when `!ton` is used.
|
||||||
|
* `wikitoff`: The bots reply when `!wikitoff` is used.
|
||||||
|
* `wikiton`: The bots reply when `!wikiton` is used.
|
||||||
* `too_long`: The bots reply if message exceeds `message_length`
|
* `too_long`: The bots reply if message exceeds `message_length`
|
||||||
* `disabled`: The bots reply if TTS is disabled
|
* `disabled`: The bots reply if TTS is disabled
|
||||||
* `denied`: The bots reply if the user is not allowed to use TTS
|
* `denied`: The bots reply if the user is not allowed to use TTS
|
||||||
|
@ -206,6 +220,8 @@ Additional commands (broadcaster and mods only) are:
|
||||||
* `!version`: Print the bot version
|
* `!version`: Print the bot version
|
||||||
* `!toff`: Turn TTS off (will also empty the current TTS queue)
|
* `!toff`: Turn TTS off (will also empty the current TTS queue)
|
||||||
* `!ton`: Turn TTS back on
|
* `!ton`: Turn TTS back on
|
||||||
|
* `!wton`: Turn on TTS for `!wiki`
|
||||||
|
* `!wtoff`: Turn off TTS for `!wiki`
|
||||||
* `!dtts <username>`: Disable TTS for the given user
|
* `!dtts <username>`: Disable TTS for the given user
|
||||||
* `!ptts <username>`: Allow TTS for the given user
|
* `!ptts <username>`: Allow TTS for the given user
|
||||||
* `!usermap <username> <spoken name>`: Add an entry to the usermapping in `config.yml`
|
* `!usermap <username> <spoken name>`: Add an entry to the usermapping in `config.yml`
|
||||||
|
|
|
@ -30,6 +30,8 @@ features:
|
||||||
messages: # Things the bot can send as chat message
|
messages: # Things the bot can send as chat message
|
||||||
toff: "TTS is now inactive."
|
toff: "TTS is now inactive."
|
||||||
ton: "TTS is now active."
|
ton: "TTS is now active."
|
||||||
|
wikitoff: "TTS is now inactive."
|
||||||
|
wikiton: "TTS is now active."
|
||||||
too_long: "Sorry, your TTS message is too long."
|
too_long: "Sorry, your TTS message is too long."
|
||||||
disabled: "Sorry, TTS is disabled right now."
|
disabled: "Sorry, TTS is disabled right now."
|
||||||
denied: "Sorry, you are not allowed to use TTS."
|
denied: "Sorry, you are not allowed to use TTS."
|
||||||
|
|
29
tts.py
29
tts.py
|
@ -56,6 +56,9 @@ class IRC:
|
||||||
"whitelist": [],
|
"whitelist": [],
|
||||||
"blacklist": []
|
"blacklist": []
|
||||||
}
|
}
|
||||||
|
self.wikitts = {
|
||||||
|
"status": CONF['FEATURE']['WIKITTS']
|
||||||
|
}
|
||||||
self.quickvote = {
|
self.quickvote = {
|
||||||
"status": False,
|
"status": False,
|
||||||
"message": False,
|
"message": False,
|
||||||
|
@ -324,6 +327,24 @@ class IRC:
|
||||||
CONF['MESSAGE']['TON']
|
CONF['MESSAGE']['TON']
|
||||||
)
|
)
|
||||||
|
|
||||||
|
elif msg.startswith('!wton'):
|
||||||
|
logging.info('Wiki TTS is now turned on')
|
||||||
|
self.wikitts['status'] = True
|
||||||
|
self.sendmsg(
|
||||||
|
CONF['IRC_CHANNEL'],
|
||||||
|
"@"+str(user),
|
||||||
|
CONF['MESSAGE']['WIKITON']
|
||||||
|
)
|
||||||
|
|
||||||
|
elif msg.startswith('!wtoff'):
|
||||||
|
logging.info('Wiki TTS is now turned off')
|
||||||
|
self.wikitts['status'] = False
|
||||||
|
self.sendmsg(
|
||||||
|
CONF['IRC_CHANNEL'],
|
||||||
|
"@"+str(user),
|
||||||
|
CONF['MESSAGE']['WIKITOFF']
|
||||||
|
)
|
||||||
|
|
||||||
elif msg.startswith('!pick') and CONF['FEATURE']['PICK']:
|
elif msg.startswith('!pick') and CONF['FEATURE']['PICK']:
|
||||||
logging.debug("!pick command detected")
|
logging.debug("!pick command detected")
|
||||||
self.__pickcmd(msg)
|
self.__pickcmd(msg)
|
||||||
|
@ -693,7 +714,7 @@ class IRC:
|
||||||
"queuetime": datetime.datetime.now(),
|
"queuetime": datetime.datetime.now(),
|
||||||
"timestamp": str(time.time_ns())
|
"timestamp": str(time.time_ns())
|
||||||
}
|
}
|
||||||
if CONF['FEATURE']['WIKITTS']:
|
if self.wikitts['status']:
|
||||||
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:
|
||||||
|
@ -1420,6 +1441,12 @@ def load_config():
|
||||||
CONF['MESSAGE']['TON'] = cfg.get('messages', {}).get(
|
CONF['MESSAGE']['TON'] = cfg.get('messages', {}).get(
|
||||||
'ton', "TTS is now active."
|
'ton', "TTS is now active."
|
||||||
)
|
)
|
||||||
|
CONF['MESSAGE']['WIKITOFF'] = cfg.get('messages', {}).get(
|
||||||
|
'wikitoff', "Wiki TTS is now disabled."
|
||||||
|
)
|
||||||
|
CONF['MESSAGE']['WIKITON'] = cfg.get('messages', {}).get(
|
||||||
|
'wikiton', "Wiki TTS is now active."
|
||||||
|
)
|
||||||
CONF['MESSAGE']['TOO_LONG'] = cfg.get('messages', {}).get(
|
CONF['MESSAGE']['TOO_LONG'] = cfg.get('messages', {}).get(
|
||||||
'too_long', "Sorry, your message is too long."
|
'too_long', "Sorry, your message is too long."
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue