v0.25 files

This commit is contained in:
tduva 2023-07-21 20:50:38 +02:00
parent 7ba3713894
commit ec42acc500
No known key found for this signature in database
GPG Key ID: 01EB6B81F18C5128
7 changed files with 179 additions and 11 deletions

View File

@ -42,6 +42,8 @@
<li><a href="#separators">Separators</a></li>
<li><a href="#shortcuts">Shortcuts</a></li>
<li><a href="#positioning">Positioning</a></li>
<li><a href="#label-commands">Dynamic Labels</a></li>
<li><a href="#menu-restrictions">Optional Menu Entries</a></li>
<li><a href="#special-commands">Special Commands</a></li>
</ul>
</li>
@ -915,6 +917,8 @@ $j(
<li><a href="#separators">Separators</a></li>
<li><a href="#shortcuts">Shortcuts</a></li>
<li><a href="#positioning">Positioning</a></li>
<li><a href="#label-commands">Dynamic Labels</a></li>
<li><a href="#menu-restrictions">Optional Menu Entries</a></li>
<li><a href="#special-commands">Special Commands</a></li>
</ul>
@ -1148,6 +1152,118 @@ Spoiler[S]=/timeout $$1 600 No spoilers
positioning is based on the current state of the menu, so it can matter
<em>when</em> you add entries with absolute positioning.</p>
<h3><a name="label-commands">Dynamic Labels using Custom Commands</a></h3>
<p class="note"><em>Note:</em> This feature must be enabled in the Settings
under "Commands" (otherwise replacements in labels have no effect).</p>
<p>You can use Custom Command replacements in the label of <a href="#inline-commands">inline commands</a>
or submenus. The label is updated:</p>
<ul>
<li>For context menus, when opening the menu</li>
<li>For the User Dialog, when performing an action that opens/updates
the dialog, like clicking a user in chat</li>
</ul>
<p>For example if you have a counter command that increases a number, it
could show the current number in the menu entry label by reading it from
the settings via <a href="#func-get"><code>$get()</code></a>:</p>
<div class="codeblock"><pre>
Increase counter ($get(var,c))=/set2 var c $calc($get(var,c) + 1)
</pre></div>
<p>You can also use this to hide an entry, by adding a required replacement,
like <code>$$is(mystatus:M)</code>, which will cause the entire label to
be empty if you are not a mod in the channel and thus will not be added
to the menu. Just adding <code>$$is(mystatus:M)</code> will add <code>true</code>
if you are a mod, so you can wrap it in an <code>$if()</code> (in this
example it's a submenu called "Mod Menu"):</p>
<div class="codeblock"><pre>
@$if($$is(mystatus:M),Mod Menu)
</pre></div>
<p><em>Note:</em> Compared to <a href="#parameters-context">identifiers</a>
for regular commands, some information may be missing in the context of
labels and <a href="#menu-restrictions">restrictions</a>.</p>
<h3><a name="menu-restrictions">Optional Menu Entries (Restrictions)</a></h3>
<p class="note"><em>Note:</em> This feature must be enabled in the Settings
under "Commands" (otherwise added restrictions have no effect).</p>
<p>You can add restrictions to individual menu entries or a group of
entries. The restriction is applied (entries added or removed):</p>
<ul>
<li>For context menus, when opening the menu</li>
<li>For the User Dialog, when performing an action that opens/updates
the dialog, like clicking a user in chat</li>
</ul>
<p>The restriction must always be on it's own line and start and
end with a square bracket, which contain a Custom Command that is
surrounded by spaces. If the Custom Command returns a non-empty value
the menu entries will show up, otherwise they are hidden.</p>
<dl class="defList">
<dt><code>[ &lt;restriction using custom command&gt; ]</code></dt>
<dd>Only affects the following menu entry. A similar effect can be
achieved by using <a href="#label-commands">Label Commands</a>.</dd>
<dt><code>[&lt;name&gt; &lt;restriction using custom command&gt; ]</code></dt>
<dd>Opens up a section, like an HTML tag. The <code>&lt;name&gt;</code>
is used to identify where the section ends. Different restrictions
can be nested inside eachother, causing them all to be applied to
the affected menu entries.</dd>
<dt><code>[/&lt;name&gt;]</code></dt>
<dd>Ends a section that has the given name.</dd>
</dl>
<p>Example:</p>
<div class="codeblock"><pre>
[mod $is(mystatus:M) ]
@Modes
.Emoteonly[E]=/emoteonly
.Emoteonly Off[O]=/emoteonlyoff
.Subsonly[S]=/subscribers
.Subsonly Off[D]=/subscribersoff
Clear[C]=/clear
[ $ifeq($datetime(M),9,true) ]
/Subtember
[/mod]
[ $is(chan:joshimuz\,botimuz) ]
/JoshFAQ /JoshSub
</pre></div>
<p>The "Modes" submenu, the "Clear" command and the "Subtember" command only
show when you are a mod in the channel. The <a href="#func-is"><code>$is()</code></a>
function uses <a href="help-settings.html#Highlight_Matching">Highlight syntax</a>
and returns an empty value if it doesn't match. It's that Custom Command
part that defines the actual restriction, the "mod" in <code>[mod&nbsp;...&nbsp;]</code>
is arbitrarily named, it just has to match the closing <code>[/mod]</code>.</p>
<p>The "Subtember" command has an additional requirement though, defined
directly above it, which uses the functions <a href="#func-ifeq"><code>$ifeq()</code></a> and <a href="#func-datetime"><code>$datetime()</code></a> to
only show the menu entry when the month is September.</p>
<p>The "/JoshFAQ" and "/JoshSub" commands only show in the channel #joshimuz
or #botimuz. Note that the <code>\,</code> between the channel names
requires the backslash to <a href="#escaping">escape</a> the comma,
meaning it tells the Custom Command parser that the comma isn't meant as
a function parameter separator, but rather to separate the channels in
the Highlighting syntax.</p>
<p><em>Note:</em> Compared to <a href="#parameters-context">identifiers</a>
for regular commands, some information may be missing in the context of
<a href="#label-commands">labels</a> and restrictions.</p>
<h3><a name="special-commands">Special Commands</a></h3>
<p>In the User Dialog Buttons setting you can use some special commands:</p>

View File

@ -20,7 +20,7 @@
<p>If you can't fix this problem and there are no other error messages that
may indicate what is going wrong, then you can still proceed with opening the
link by clicking on "Open URL" in the dialog (or <a href="https://id.twitch.tv/oauth2/authorize?response_type=token&client_id=spyiu9jqdnfjtwv6l1xjk5zgt8qb91l&redirect_uri=http://127.0.0.1:61324/token/&force_verify=true&scope=channel:moderate+channel:read:redemptions+channel_commercial+channel_editor+channel_subscriptions+chat:edit+chat:read+chat_login+moderator:manage:announcements+moderator:manage:automod+moderator:manage:blocked_terms+moderator:read:blocked_terms+user:edit:broadcast+user:read:follows+user_read+user_subscriptions+whispers:edit+whispers:read">this link</a>, which has all permissions Chatty needs). Chatty won't be able to
link by clicking on "Open URL" in the dialog (or <a href="https://id.twitch.tv/oauth2/authorize?response_type=token&client_id=spyiu9jqdnfjtwv6l1xjk5zgt8qb91l&redirect_uri=http://127.0.0.1:61324/token/&force_verify=true&scope=channel:manage:broadcast+channel:manage:moderators+channel:manage:polls+channel:manage:raids+channel:manage:vips+channel:moderate+channel:read:redemptions+channel:read:subscriptions+channel_commercial+channel_editor+chat:edit+chat:read+moderator:manage:announcements+moderator:manage:automod+moderator:manage:banned_users+moderator:manage:blocked_terms+moderator:manage:chat_messages+moderator:manage:chat_settings+moderator:manage:shield_mode+moderator:manage:shoutouts+moderator:read:blocked_terms+moderator:read:followers+user:manage:chat_color+user:manage:whispers+user:read:follows+whispers:edit+whispers:read">this link</a>, which has all permissions Chatty needs). Chatty won't be able to
receive the token automatically (your browser will tell you that it can't
load the page when you get to <code>http://127.0.0.1:61324</code>), so you have to
<strong>read on in the next section</strong>, especially

View File

@ -17,6 +17,7 @@
<h1><a name="top">Release Information</a></h1>
<p>
<a href="#0.25">0.25</a> |
<a href="#0.24.1">0.24.1</a> |
<a href="#0.24">0.24</a> |
<a href="#0.23">0.23</a> |
@ -74,7 +75,43 @@
full list of changes.</p>
<h2>
<a name="0.24.1">Version 0.24.1</a> <a name="latest">(This one!)</a> (2023-05-10)
<a name="0.25">Version 0.25</a> <a name="latest">(This one!)</a> (2023-07-21)
<a href="#top" class="top">[back to top]</a>
</h2>
<pre>
### Twitch Features
- Added amount/currency next to Hype Chat messages, added `config:hypechat`
Highlighting prefix
- Switched to new follower API (only allows moderators to see the list of
followers, count is visible for everyone though)
- Added multi-month subs info to subscriber notifications
- Improved badge tooltips based on updated API information
### Custom Commands
- Context Menu/User Dialog custom entries/buttons:
- Added ability to show entries only when they match certain restrictions
(for example based on channel or user status, see the Custom Commands help)
- Entries with empty labels now get removed, so using a required replacement
in a label can also serve to hide it based on certain conditions
- Added more context-specific parameters for use in labels and restrictions
- Added ability to use replacements in User Dialog button labels, like you can
in context menus as well
- Added settings to trigger commands when middle-clicking on user in chat
(equivalent to Ctrl+clicking, in the Settings under "Chat")
### Other
- Select associated message in a few more cases when opening User Dialog
- Improved support for different `.wav` file formats
- Updated Gradle to 8.2.1 (and related build changes)
- Updated Java for the Windows Standalone
- Updated help
### Bugfixes
- Fixed channel status warning appearing in Admin Dialog when it shouldn't
</pre>
<h2>
<a name="0.24.1">Version 0.24.1</a> (2023-05-10)
<a href="#top" class="top">[back to top]</a>
</h2>
<pre>

View File

@ -1085,6 +1085,7 @@
<li><code>config:restricted</code> - Match messages by
restricted users shown only for moderators. Note that
messages by monitored users can not be matched yet.</li>
<li><code>config:hypechat</code> - Match Hype Chat messages.</li>
</ul>
</li>
<li><a name="Highlight_Prefix-blacklist"><code>blacklist:</code></a> to specify one or more text patterns

View File

@ -34,6 +34,7 @@
<li><a href="#known">Known Issues</a></li>
<li><a href="#performance">Bad performance / OutOfMemoryError</a></li>
<li><a href="#log">Debug log</a></li>
<li><a href="#mac">MacOS Issues</a></li>
</ul>
</li>
</ul>
@ -362,6 +363,19 @@
<a href="#top" class="top">[back to menu]</a>
</h2>
<div class="moreInfo">Moved: <a href="help-report_issue.html#log">Report Issue</a></div>
<h2>
<a name="mac">MacOS Issues</a>
<a href="#top" class="top">[back to menu]</a>
</h2>
<h3>Files can't be accessed</h3>
<p>If Chatty can't access some files (e.g. sounds), you may have to give the
JAR Launcher additional access. Go to <code>System Preferences - Security -
Privacy - Full Disk Access</code> and add the <code>Jar Launcher.app</code>
to the list.
<a href="https://stackoverflow.com/a/66762230">More information..</a></p>
</body>
</html>

View File

@ -5,7 +5,7 @@
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<h1><a name="top">Chatty (Version: 0.24.1)</a></h1>
<h1><a name="top">Chatty (Version: 0.25)</a></h1>
<table>
<tr>
<td valign="top">

View File

@ -16,9 +16,9 @@ function loaded() {
{ ceiling: null, text: "$years years ago" }
]
}
document.getElementById("ago").innerHTML = "Version 0.24.1 released "+humanized_time_span("2023/05/10", Date(), custom_date_formats)+"";
document.getElementById("ago").innerHTML = "Version 0.25 released "+humanized_time_span("2023/07/21", Date(), custom_date_formats)+"";
getDownloads("v0.24.1");
getDownloads("v0.25");
slideshow_init("slideshow");
}
@ -158,7 +158,7 @@ function getDownloads(tag) {
<h2 id="download">Download</h2>
<p>Choose one of the following downloads of <strong>Chatty Version 0.24.1</strong><span id="dlCount" style="margin-bottom:7px;"></span>. For older versions or betas go to the <a href="https://github.com/chatty/chatty/releases">GitHub Releases</a>. Checksums for release files are available as <a href="https://tduva.com/chatty/checksums/v0.24.1/">SHA-256 hashes</a>.</p>
<p>Choose one of the following downloads of <strong>Chatty Version 0.25</strong><span id="dlCount" style="margin-bottom:7px;"></span>. For older versions or betas go to the <a href="https://github.com/chatty/chatty/releases">GitHub Releases</a>. Checksums for release files are available as <a href="https://tduva.com/chatty/checksums/v0.25/">SHA-256 hashes</a>.</p>
<p>If this is your first time using Chatty check out the <a href="help/help-getting-started.html"><strong>Getting Started Guide</strong></a>.</p>
<h3>Windows</h3>
@ -170,11 +170,11 @@ function getDownloads(tag) {
<tr>
<td>
<dl>
<dt><a href="https://github.com/chatty/chatty/releases/download/v0.24.1/Chatty_0.24.1_win_standalone_setup.exe"><strong>Download Windows Standalone (Installer)</strong></a> <span class="recommended"><sup>Recommended</sup></span></dt>
<dt><a href="https://github.com/chatty/chatty/releases/download/v0.25/Chatty_0.25_win_standalone_setup.exe"><strong>Download Windows Standalone (Installer)</strong></a> <span class="recommended"><sup>Recommended</sup></span></dt>
<dd>Install into a folder of your choice and start <code>Chatty.exe</code> (or optionally created shortcuts).</dd>
</dl>
<dl>
<dt><a href="https://github.com/chatty/chatty/releases/download/v0.24.1/Chatty_0.24.1_win_standalone.zip">Download Windows Standalone (.zip)</a></dt>
<dt><a href="https://github.com/chatty/chatty/releases/download/v0.25/Chatty_0.25_win_standalone.zip">Download Windows Standalone (.zip)</a></dt>
<dd>Extract the .zip into a folder of your choice and start <code>Chatty.exe</code>.</dd>
</dl>
@ -182,11 +182,11 @@ function getDownloads(tag) {
</td>
<td>
<dl>
<dt><a href="https://github.com/chatty/chatty/releases/download/v0.24.1/Chatty_0.24.1_win_setup.exe">Download JAR-Version (Installer)</a></dt>
<dt><a href="https://github.com/chatty/chatty/releases/download/v0.25/Chatty_0.25_win_setup.exe">Download JAR-Version (Installer)</a></dt>
<dd>Install into a folder of your choice and start <code>Chatty.jar</code> (or optionally created shortcuts).</dd>
</dl>
<dl>
<dt><a href="https://github.com/chatty/chatty/releases/download/v0.24.1/Chatty_0.24.1.zip">Download JAR-Version (.zip)</a></dt>
<dt><a href="https://github.com/chatty/chatty/releases/download/v0.25/Chatty_0.25.zip">Download JAR-Version (.zip)</a></dt>
<dd>Extract the .zip into a folder of your choice and start <code>Chatty.jar</code>.</dd>
</dl>
</td>
@ -194,7 +194,7 @@ function getDownloads(tag) {
</table>
<h3>Non-Windows</h3>
<p>For OS other than Windows (e.g. Linux or MacOS) you will need to download the <a href="https://github.com/chatty/chatty/releases/download/v0.24.1/Chatty_0.24.1.zip">JAR-Version (.zip)</a> and must have Java 8 or later installed on your system. Extract the .zip into a folder of your choice and start <code>Chatty.jar</code>.</p>
<p>For OS other than Windows (e.g. Linux or MacOS) you will need to download the <a href="https://github.com/chatty/chatty/releases/download/v0.25/Chatty_0.25.zip">JAR-Version (.zip)</a> and must have Java 8 or later installed on your system. Extract the .zip into a folder of your choice and start <code>Chatty.jar</code>.</p>
<h2 id="feedback">Contact</h2>
<p>If you have any feedback or questions feel free to contact me. You can <a href="https://discord.gg/WTuqGeJ">join the Chatty Discord</a> <sup>preferred</sup>, write me an <a href="mailto:chattyclient@gmail.com">E-Mail</a> or use <a href="https://twitter.com/chattyclient">Twitter</a>.</p>