diff --git a/help/help-about.html b/help/help-about.html index eb68b5b..2d282e5 100644 --- a/help/help-about.html +++ b/help/help-about.html @@ -38,6 +38,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.Java-WebSocket (MIT), SLF4J (MIT)
chan
hostedChan
streamstatus
$(1-) -> $join(1-,/)
+ Functions by topic (ones marked with * are not available in every context):
+The following functions are always available:
$if(<identifier>,<output if exists>,[output if not])
$if(<identifier>,<output if exists>,[output if not])
$if(1,$1,nope)
with command parameters cheese cake
turns into cheese
,
with no parameters turns into nope
, the optional [output if not]
function parameter.$ifeq(<identifier>,<comparison>,<output if equal>,[output if not])
$ifeq(<identifier>,<comparison>,<output if equal>,[output if not])
$if
, but instead of just checking for the
existence of a parameter it compares it to a given value
(<comparison>
).cheese cake
turns into an an empty string, since the
optional [output if not]
has not been specified.
- $switch(<identifier>,<case1>:<result1>,..,[casen]:[resultn],[default])
$switch(<identifier>,<case1>:<result1>,..,[casen]:[resultn],[default])
$ifeq()
functions.
Compares the value associated with the identifier with the case values and returns the following
result if it matches. If none of the case values match, it will return the default, or an empty value./set fontSize $switch($get(fontSize),25:50,50:18,25)
when added
as a Custom Command alternates between font sizes 18, 25 and 50.$join(<identifier>,<separator>)
$join(<identifier>,<separator>)
$join(1-,/)
with 1-
referring to
flour sugar eggs
turns into flour/sugar/eggs
$lower(<identifier>)
$lower(<identifier>)
$lower(1)
with 1
referring to Fremily
turns into fremily
.$upper(<identifier>)
$upper(<identifier>)
$upper(1)
with 1
referring to Fremily
turns into FREMILY
.$replace(<input>,<search>,<replace>,[method])
+ $trim(<input>)
$trim( abc )
turns into abc
.$replace(<input>,<search>,<replace>,[method])
\
(\\
) and $
(\$
)
@@ -512,14 +547,14 @@
$replace(Was timed out for 30 seconds,.*?(\\d+) seconds,Number of seconds: \$1,regRef)
turns into Number of seconds: 30
$replace($1-,$"~([a-z]+)~",$replace($(g1),$"(\w)",$"$1+",regRef),regCustom)
adds +
behind every character surrounded by ~
(the inner $replace()
is in the replace
parameter and executed for each match)$rand([output1],[output2],[output3],..)
$rand([output1],[output2],[output3],..)
$rand(cheesecake,strawberry cake,$1-)
with 1-
referring to apple pie
turns into
either cheesecake
, strawberry cake
or
apple pie
.$randnum(<from>,<to>)
or $randnum(<to>)
$randnum(<from>,<to>)
or $randnum(<to>)
$randum($$1)
chooses a random number
between 0 and what is the first parameter.$calc(<simple math expression>)
$calc(<simple math expression>)
* / % + -
) and functions (sqrt() sin() cos() tan()
).//echo $calc(2^3) $calc( (3+4\) / 2)
@@ -540,7 +575,7 @@
(this uses $" "
to specify literal text
instead of escaping the parenthesis with a backslash).$round(<number>,[numDecimalPlaces],[roundingMode],[minNumDecimalPlaces])
$round(<number>,[numDecimalPlaces],[roundingMode],[minNumDecimalPlaces])
ceil
, floor
,
@@ -551,13 +586,13 @@
//echo $round(345.5,3,floor,3)
outputs 345.500
(fills up to 3 decimal places)//echo $round(2.565,2,,2)
outputs 2.57
(uses default rounding mode)$urlencode(<input>)
$urlencode(<input>)
$urlencode($(msg))
in User Dialog
encodes the currently selected message.$sort(<input>,[type],[separator])
$sort(<input>,[type],[separator])
$sort(B c a)
turns into a B c
$sort(B c a,Abc)
turns into B a c
$input([message],[intial],[type])
$input([message],[intial],[type])
message
is shown in the input dialog, the initial
text will already be in the input field when the dialog opens. The
- type
is currently not used and can just be left empty.type
can be set to simple
to use the
+ previously default simple input dialog.
$input()
$input(Enter a number please)
$datetime([format],[timezone],[locale],[unix time])
$datetime([format],[timezone],[locale],[unix time])
$json(<input>,<output>)
<input>
and use in <output>
,
+ where $j(<path>,[default])
can be used to access specific values.
+ The JSON input could e.g. come from the $request()
+ function.<path>
specifies what value to return from
+ the $j(<path>,[default])
function, whereas the optional [default]
+ value will be returned if the path is not valid or points to an empty value.<path>
you specify keys of JSON objects
+ separated by ->
(e.g. key1->key2->key3
) or
+ indices of JSON arrays in brackets [ ]
(e.g. key1[0]
+ for the first element of the array key1). Additionally the brackets [ ]
+ can contain:
+ last
for the last entry of an arraysize
to return the number of elementsfilter:<path>[=regex]
to select only
+ certain array items based on whether a path exists or if a
+ regex is provided the value of the pathcollect:<path>[=regex]
iterates over an
+ array and for each element resolves the path and combines
+ the resulting values into an arraycombine:<path>[=regex]
iterates over an
+ array and for each element resolves the path and for each
+ resulting value that is an array adds all of the array
+ values into a single result arrayunique
removes duplicate elements from an arrayjoin[:delimiter]
turns an array into a string
+ by joining all elements together using the given delimiter
+ (or ",
" if none is provided)+ { + "books":[ + {"title":"book1", "author":"author1", "tags":["tag1","tag2"]}, + {"title":"book2", "author":"author2", "tags":["tag1"]}, + {"title":"book3", "author":"author2", "tags":["tag1", "tag3"]}, + {"title":"book4", "author":"author2"} + ], + "numBooks": 4, + "numAuthors": 2 + }+
$json($get(var,j),There are $j(numBooks) books of $j(numAuthors) authors.)
$json($get(var,j),There are $j(books[size]) books of $j(books->[collect:author][unique][size]) authors.)
There are 4 books of 2 authors.
$json($get(var,j),The last book is called $j(books[last]->title) by $j(books[last]->author).)
The last book is called book4 by author2.
$json($get(var,j),The first book is $j(books[0]))
The first book is {"author":"author1","title":"book1","tags":["tag1","tag2"]}
$json($get(var,j),$j(books[10]->title,Book not found))
Book not found
10
does not exist, the default
+ value Book not found
is returned. If no default
+ value is provided an empty string would be returned.$json($get(var,j),Books of author2: $j(books[filter:author=author2][collect:title]))
Books of author2: ["book2","book3","book4"]
$json($get(var,j),Tags of author2: $j(books[filter:author=author2][combine:tags][unique]))
Tags of author2: ["tag1","tag3"]
$json($get(var,j),Tags of author2: $j(books[filter:author=author2][combine:tags][unique][join]))
Tags of author2: tag1, tag3
/set var j copyJSONfromabove
+ and then use the //echo $json($get(var,j),...)
command
+ in the chat inputbox
+ to output an info message with the result in chat. Pasting the JSON
+ directly into the $json()
function would require
+ escaping the ,
characters to work.
+ The following functions are only available in some contexts:
$is(<match input>)
$is(<match input>)
true
if the match succeeds, nothing otherwise.
The match input
is in the Highlight
format, although what can actually be matched against depends on
@@ -649,7 +771,7 @@
will output I'm a mod
in channels where you are the
broadcaster or a moderator, Not a mod
otherwise.$get(<settingName>,[key])
$get(<settingName>,[key])
$if($get(ontop),ONTOP)
will return
ONTOP
only if "View - Always on top" is enabled.$request(<url>,[options])
$request(<url>,[options])
error
- A request error will return an error
message instead of an empty response.trim
- Remove leading and trailing space from
+ the request result. This may be useful if a request returns
+ any spaces or linebreak characters that cause issues with
+ what you're using it with. Same as the $trim()
+ function.$request()
diff --git a/help/help-releases.html b/help/help-releases.html
index ab23b4b..4b31077 100644
--- a/help/help-releases.html
+++ b/help/help-releases.html
@@ -17,6 +17,7 @@
+ 0.22 | 0.21 | 0.20 | 0.19 | @@ -70,10 +71,52 @@ full list of changes.
Twitch has announced that Twich chat comands will be removed from IRC in +
+### Twitch Features +- Added chat message for outgoing raids with join link (due to API limits only + in at most 10 live channels) +- Show poll start/end messages (broadcaster only) +- Added shield mode commands and display (for moderators) + +### Custom Commands +- Added "Anonymous Custom Command" hotkey action, where a Custom Command can be + entered directly (instead of a the name of a Custom Command) +- Added function `$trim()` to remove leading and trailing whitespace +- Added `trim` option to `$request()` +- Added function `$json()` to parse JSON and access specific values +- Changed `$input()` inputbox to have the same features as the channel inputbox + if run in a channel context +- Added `/exportText` options `-A` and `-L` + +### Other +- Added FlatLaf (new modern Look&Feel, selectable in the "Look" settings) +- Added feature to make a popout with one channel transparent +- Made AutoMod dialog dockable +- Improved Settings Dialog +- Removed SRL menu +- Removed some hosting related stuff, added raid context menu entries +- Added setting whether to hide tab pane when only a single channel is open + (hidden by default, as was the previous behaviour) +- Added local caching to Pronouns for more reliability and faster display +- Added new Chatty icons to img folder +- Added context menu setting to Live Streams list to only show favorites +- Updated help + +### Bugfixes +- Fixed `/color` command not being able to set some default colors +- Fixed error occuring for some commands when no parameter is provided +- Fixed commands `/unvip` and `/unmod` +- Fixed channels sometimes not opening in the correct popout ++ +
Twitch has announced that Twitch chat comands will be removed from IRC in February 2023, so they need to be migrated to the API. You will need to update your login with additional access scopes to be able to use most commands in this update.
diff --git a/help/help-settings.html b/help/help-settings.html index 3490b38..752e87a 100644 --- a/help/help-settings.html +++ b/help/help-settings.html @@ -1376,10 +1376,6 @@user:name chan:tirean,gocnak
name
in channels #tirean
and #gocnak
config:info subscribed to
x has subscribed to y
info messages that
- you get when someone subscribes in the channel that is being hostedcat:ignore !chan:lotsofs,joshimuz
ignore
in all channels,
except #lotsofs
and #joshimuz
/unhost
command to your channel if you started
- your stream session in the last 15 minutes and the stream status
- changes (usually from offline -> live).autoUnhostStreams
setting, via
- /add autoUnhostStreams <streamName>
, in order to
- tell Chatty that you are authorized/want to use the automatic /unhost
- feature in that channel).
@@ -117,11 +117,11 @@
In addition, the titlebar will also show additional information, if enabled:
|
For OS other than Windows (e.g. Linux or MacOS) you will need to download the JAR-Version (.zip) and must have Java 8 or later installed on your system. Extract the .zip into a folder of your choice and start Chatty.jar
.
For OS other than Windows (e.g. Linux or MacOS) you will need to download the JAR-Version (.zip) and must have Java 8 or later installed on your system. Extract the .zip into a folder of your choice and start Chatty.jar
.
If you have any feedback or questions feel free to contact me. You can join the Chatty Discord preferred, write me an E-Mail or use Twitter.