Releases: CaptainApolloo/ASTO-BOT
Releases · CaptainApolloo/ASTO-BOT
Release list
v1.1.05
New
- Chat overlay — ASTO-BOT now serves your chat as a page of its own. Set up a browser source in OBS, paste the link, done: no outside service, no second browser page. It shows the real colours of the viewer names, their badges and their emotes — Twitch, and 7TV, BTTV and FrankerFaceZ as well. It sits in the Overlay area as a fixed entry,
💬 Chat, and cannot be deleted. Position and size come from the red rectangle on the canvas, exactly like the subtitles, and are stored as a percentage, so the same setup holds on 1080p, 1440p and 4K. - Appearance is yours —
Style…covers font, size, outline and its colour, drop shadow, number of lines, hide delay, animation, emote size, row background and corner radius. Every change takes effect immediately; nothing has to be reloaded in OBS.Fit font to linesturns the relationship around: instead of the font size deciding how many lines fit in the box, the number of lines decides the font size, so 25 lines really means 25 visible lines. - Filters only the bot can apply —
Hide bot messageshides whatever your bot account and your ignore list post;Hide commandshides everything starting with!. An external overlay can only guess at both from name lists. ASTO-BOT knows which account is its own and what was a command. - Announcements in the overlay —
/announcearrives overchannel.chat.notification, not over the ordinary message topic, so it needs its own path. It is drawn with a coloured bar down the left in the colour picked when sending. - Switching it from outside — new websocket command
{"chatoverlay": "on"|"off"|"toggle"}, and a Chat Overlay key in the Stream Deck plugin. Off really means off: no new lines are sent and the lines already on screen are cleared, otherwise the chat would stay up after switching it off. %ChatSilenceSec%and%ChatMessages<N>m%— how many seconds since anyone last wrote, and how many messages arrived in the last N minutes, with N free up to 60. A timed advertisement can now check whether anyone is actually there before it fires. Both work in ASTOSCRIPT and reset at stream start. Counting is a deque of timestamps trimmed on write, so the cost does not grow with an active chat.- Real Twitch badges in the dashboard chat card — the same images as in chat, instead of stand-in symbols. They are preloaded in the background from the catalogue the overlay already holds and cached on disk, so they are there from the first line and instant on the next start. Announcements are shown here too, with the same coloured bar.
- Indent guides in the script editor — thin vertical lines mark where a block begins and ends, as in Visual Studio Code. Purely visual: nothing is written into the script, and they stop where the block does.
Fixed
- The script editor indented one step further right on every Enter after an
END. New lines copied the leading whitespace of the current line and then added a step whenever the cursor sat past that whitespace — which is the case at the end of every line, including a closing one. The step is now added only after a line that actually opens a block, and pressing Enter inside the leading whitespace no longer indents at all. - Announcements showed up in the dashboard chat card as the bare word "Announcement". Twitch leaves
system_messageempty for them, so the fallback text built fromnotice_typewas all that was left, and the actual text inmessage.textwas never read. The card now receives the real line, with author, badges and the announcement colour. - Viewer names in dark colours were barely readable in the dashboard chat card. Twitch's default blue
#0000FFhas a perceived brightness of 29 out of 255 on a dark panel. Colours below the threshold are now blended towards white rather than scaled up — scaling cannot brighten a channel that already sits at 255. - The dashboard chat card interpreted messages as HTML.
QTextEdit.append()treats its argument as rich text, so anything a viewer typed went in unescaped — bold at best, an<img>pulling a remote file at worst. Name and text now pass throughhtml.escape(). - The emote and badge catalogue was only fetched when the first chat message arrived. The four network calls take a second or two, and everything that came in during that window was built without badges and without third-party emotes. Loading now starts with the dispatcher, well before EventSub has finished subscribing.
Install: download ASTO-BOT_Installer.exe below and run it.
Existing installations can update from within ASTO-BOT via Settings → About → Check for Update.
Support & news: https://discord.com/invite/n2nstVwspk
v1.1.04
New
- Run state for every action — each action now shows what is happening to it: grey means not run, orange running, green finished, red failed. The colours stay for two seconds after the sequence ends, so you see the whole path instead of a single moment. A branch, a chance or a clip action takes on the worst state of its contents.
- Status dot in the event list — the same dot sits in front of every event and blinks while it runs. Folders take on the worst state of their events, collapsed ones too, so a failure cannot hide inside. This covers every event, not only the one currently open: if something goes wrong mid-stream, you can see which one. Red stays until a run completes cleanly. Blinking is paused whenever the events page is not visible.
%UserInput%on every command — whatever follows a command was lost on!lurkand!watchtime, because their signal format holds only a fixed set of fields. All commands now behave the same. The variable is simply available; nothing is added to your output unless you use it.
Fixed
- Failures were not reported as failures. An action only counted as failed when it actually raised. A Run Script action with no script selected, or an OBS source that does not exist, quietly did nothing and still went green. Fifteen places now report properly, including every OBS action, missing sound files and empty scripts.
- A stuck overlay blocked all following overlays permanently. The playback gate was taken but never released, so everything queued behind it until a restart. A watchdog now releases it after two minutes and writes a line to the log, and an exception during startup releases it immediately.
- Drag handles and status dots disappeared inside nested branches. An unscoped
QFramerule applies to descendants as well, andQLabelinherits fromQFrame— the margin landed on the 12 px wide label and pushed its glyph out. - The folder dot in the event list stayed grey. Group membership lives in the group entry, not on the event itself.
Install: download ASTO-BOT_Installer.exe below and run it.
Existing installations can update from within ASTO-BOT via Settings → About → Check for Update.
Support & news: https://discord.com/invite/n2nstVwspk
v1.1.03
New
- Minimum follow age on giveaways — a number field on the giveaway card sets how many days a viewer must already have been following to join. Following, entering and unfollowing straight away no longer works. Only applies together with Only followers;
0turns it off. Subscriptions are untouched — money was paid there. %GiveawayMinFollowDays%and%GiveawayUserFollowDays%report the setting and the viewer's actual follow age, and%GiveawayResult%gained the valuefollow_too_new, so your event can say exactly what was missing.%FollowDays%— how many days a viewer has been following, available in every event, reward, command and overlay. Empty for non-followers, so "does not follow" stays distinguishable from "started following today". Resolved only when the variable is actually used, then cached for five minutes.- Conditions can compare against variables — the right-hand side of an IF/ELSE no longer has to be a fixed value:
%FollowDays%is greater than or equal%GiveawayMinFollowDays%works. The number then lives in one place only. Only names ASTO-BOT knows are resolved, socontains 50%stays an ordinary text comparison. OBS STREAM START/OBS STREAM STOPin ASTOSCRIPT — start or stop streaming straight from a script.- IF/ELSE cleaned up — the condition reads as a single line and expands into fields on click, THEN and ELSE fold away and remember their state, and nested branches use a guide line instead of boxes inside boxes. Chat texts inside nested branches were simply cut off before.
Fixed
- Moderators were not exempt from the follower check on giveaways. The exemption was documented but never worked — the list it checked against was never filled.
- A viewer who already had an entry was told they had to follow for longer, although that was not the reason.
%GiveawayUserTotal%never worked in overlays — the variable was missing from the overlay's token list.- A non-existent Twitch account triggered a follower request with an empty user id, whose answer was meaningless.
- Drag handles disappeared in nested IF/ELSE blocks and while dragging a row.
- Colours were wrong in several places on the events page — an eight-digit hex value is read as
#AARRGGBBby Qt, which turned green into purple.
Install: download ASTO-BOT_Installer.exe below and run it.
Existing installations can update from within ASTO-BOT via Settings → About → Check for Update.
Support & news: https://discord.gg/n2nstVws