Skip to content

Releases: knkwebservices/ts6-roadie

v0.21.0: Once Human and Icarus lookups

Choose a tag to compare

@knkwebservices knkwebservices released this 03 Oct 03:01

What's new

Once Human (oncehuman cog)

  • !oh <name> (or !oncehuman): look up weapons, armor, mods, attachments, items, deviations, memetics, recipes and more
  • Shows the best match with its stats (damage, fire rate, magazine, rarity and so on), the link, and other matches you can ask for
  • Data from Once Human DB

Icarus (icarus cog)

  • !icarus <name> (or !ic): look up items, creatures, recipes, talents and more
  • Shows the best match, its stats, how to craft it (station and ingredients), the link, and other matches
  • Data from Icarus Database

How it works

Neither site has a public API, so Roadie looks things up live the same way a visitor would, using each site's normal search and entry pages. Both sites allow bots, and Roadie stays a polite visitor: at most one request a second per site, a clear User-Agent, answers remembered for an hour, and it never uses Once Human DB's /api/ folder. Every reply credits the site.

Upgrading

Add "oncehuman" and/or "icarus" to the cogs list in your config and restart (or deploy). No other settings needed.

v0.20.0: Fallout 76 nuke codes and Minerva

Choose a tag to compare

@knkwebservices knkwebservices released this 03 Oct 00:58

What's new

Fallout 76 (fallout76 cog)

For Fallout 76 communities. Add "fallout76" to the cogs list in your config and restart. No other setup needed.

Nuke codes

  • !nukes: this week's Alpha, Bravo and Charlie codes, and when they change
  • !nukes alpha / !nukes bravo / !nukes charlie: just one silo
  • Codes come from NukaCrypt, credited in every reply. Thanks to them for their public API.
  • The bot fetches the codes once a week and keeps them, so NukaCrypt isn't asked every time someone types !nukes
  • After the weekly change, it checks every 15 minutes until the new codes are posted, and says they're on the way instead of showing last week's

Minerva

  • !minerva: where Minerva is right now and when she leaves, or where and when she shows up next
  • !minerva list: her next few visits
  • Her published schedule through January 2027 is built in (noon to noon US Eastern, daylight saving handled)
  • Admins can keep it current: !minerva add 2027-02-01 Foundation 17 and !minerva remove 2026-10-19

Upgrading

Add "fallout76" to cogs in data/config.json and restart (or deploy). See the README's "Fallout 76: nuke codes and Minerva" section.

v0.19.0: Event reminders, announcements, nickname filter

Choose a tag to compare

@knkwebservices knkwebservices released this 03 Oct 00:20

What's new

Event reminders (events cog)

Schedule game nights and community events right from chat.

  • !event add Friday 8pm | Raid night: add an event (admins by default)
  • !event add weekly Tuesday 9pm | Fallout 76 night: repeats every week
  • Understands times like tonight 9pm, tomorrow 7:30pm, 10/15 8pm, in 2h
  • !events lists what's coming up; !event 1 shows who's going
  • !going 1 / !notgoing 1: sign up for an event
  • The bot posts a reminder before the event starts (60 minutes by default), sends a private reminder to everyone going, and pokes them when it starts

Rotating announcements

  • !announce add Join our Discord at ...: add a message
  • !announce every 60: how often to post (minutes)
  • !announce on / !announce off / !announce now
  • Only posts while someone is online

Nickname filter (nickfilter cog)

Keeps names on your server clean. Off by default.

  • !nickfilter add <word> / !nickfilter remove <word>
  • Catches common tricks like l33t spelling and extra symbols
  • Warns the person with a poke and a private message, then after a grace period (60 seconds by default) either tells the admins, moves them to a channel, or kicks them: !nickfilter action warn|move|kick
  • Server groups can be exempted in the config

Other changes

  • !record reset (admin): sets the online record back to the current count
  • The deploy smoke-test client no longer shows up in user lists, counts, or greetings
  • CI updated to the latest GitHub Actions versions

Upgrading

Add "events" and/or "nickfilter" to the cogs list in your config. See config.example.json and the README for every setting.

Posts go to the bot's channel by default (postTo: "channel"), because the TeamSpeak 6 client doesn't currently show server-wide chat.

v0.18.0: Ranks and protected groups

Choose a tag to compare

@knkwebservices knkwebservices released this 28 Sep 05:25

A new opt-in grouptools cog: add "grouptools" to cogs in config.json and restart.

  • Ranks for time online (!ranks, admins): !ranks add 10 9 Regular gives server group 9 after 10 hours online, then !ranks on. Time isn't counted while away or in the AFK Room. Reaching a rank adds its group, takes away the lower rank, and congratulates the person. !ranks give <name> <hours> credits long-time members. Everyone can check progress with !rank.
  • Protected server groups (!protect, admins): only listed people (plus bot admins) may be in a protected group. Starts in warn mode, which only messages the online bot admins; !protect mode remove makes the bot take people out.
  • Every group change is checked against the server's real groups first, because TeamSpeak 6 doesn't report group changes to connected clients.

The bot needs permission to add and remove server group members. Ranks tested on a real TeamSpeak 6 server (6.0.0-beta13.1).

Full details in the README and CHANGELOG.

v0.17.0: Temporary rooms

Choose a tag to compare

@knkwebservices knkwebservices released this 28 Sep 04:12

A new opt-in rooms cog: add "rooms" to cogs in config.json, restart, then !rooms on.

  • Temporary rooms: join a "Create a Room" channel and the bot makes you a private channel of your own ("Ann's Room"), moves you in, and makes you its channel admin so you can rename it or set a password.
  • The server deletes empty rooms by itself after 60 seconds (rooms.deleteDelaySeconds), so cleanup never depends on the bot.
  • Joining again takes you back to your room, and !room moves you there from anywhere.
  • Admins: !rooms on|off, !rooms channel <name>, !rooms under <channel>, !rooms name <template>.
  • Limits: one new room per person every 30 seconds, and at most 25 rooms open at once.

The bot needs permission to create temporary channels, move people, and assign channel groups. Tested on a real TeamSpeak 6 server (6.0.0-beta13.1).

Full details in the README and CHANGELOG.

v0.16.0: Server tools

Choose a tag to compare

@knkwebservices knkwebservices released this 28 Sep 03:53

A new opt-in servertools cog: add "servertools" to cogs in config.json and restart.

  • Support notifier (!notify, admins): when someone joins a chosen channel, the online members of chosen server groups get a private message. !notify add Support Room | 12, then !notify on.
  • Live channel names (!livename, admins): keeps a channel's name up to date, like [cspacer]Online: {online}. Also {record} and {song}. Needs the bot to have permission to change channel names.
  • !seen <name> (everyone): online now and where, or when someone was last seen.
  • !record (everyone): the most people ever online at once.

Also: [cspacer] and other spacer markers are no longer stripped from chat commands, and deploy.mjs --no-service no longer prints misleading service stop/start lines.

Full details in the README and CHANGELOG.

v0.15.0

Choose a tag to compare

@knkwebservices knkwebservices released this 27 Sep 06:39

New twitch cog (opt-in: add "twitch" to cogs and restart): posts in the channel when someone you're tracking goes live on Twitch. Needs a free app from https://dev.twitch.tv/console/apps (twitch.clientId / twitch.clientSecret). !twitch add <channel> [label] tracks a channel, plain !twitch (or !live) lists everyone tracked and who's live, !twitch on|off|interval <seconds>|check (admins) control it. Only goes live is announced — restarting the bot never re-announces a stream already running.

v0.14.0

Choose a tag to compare

@knkwebservices knkwebservices released this 27 Sep 05:58

New analytics cog (opt-in: add "analytics" to cogs and restart): tracks peak times, the busiest channels, the most-played songs, and uptime. !analytics (or !stats) gives everyone a summary; !analytics hours|channels|songs [count] drill into each one; !analytics on|off|interval <seconds>|reset|check (admins) control it. Song counts are pulled from the audio cog's own play history, so they need "audio" loaded too. Uptime is tracked across restarts, so nothing is lost.

0.13.0: Steam status tracking

Choose a tag to compare

@knkwebservices knkwebservices released this 27 Sep 05:11

New steam cog (opt-in): tells the channel when a tracked Steam player starts or switches a game. Add "steam" to cogs, get a free key from https://steamcommunity.com/dev/apikey, and set steam.apiKey. See the README's Steam status section and CHANGELOG for details.

TS6 Roadie v0.12.0

Choose a tag to compare

@knkwebservices knkwebservices released this 21 Sep 07:35

New

  • Community cog (opt-in: add "community" to cogs in config.json and restart):
    • AFK mover (!afk, admins only). Someone who has been away, muted or idle for 30 minutes (configurable) is moved to a channel of your choice (default "AFK Room"), warned by private message a minute before and told afterwards. When they are active again they are moved back to where they were, even after a bot restart. Bot admins, chosen server groups and chosen channels are never moved, and people who choose the AFK channel themselves are left alone.
    • Welcome message (!welcome, admins only): a private message to everyone each time they join, with {name} replaced by their nickname. People already there when the bot connects are not greeted, and quick reconnects are not greeted twice.
    • Both can be switched on from the dashboard's new Community card on the Admin tab, and the settings are remembered.
  • A public widget for your website (!widget on, off by default): /widget is a page to embed and /widget.json is the data. It shows what is playing and who is online by name and channel (or only counts). Anyone can leave their name off with !hideme. Only websites you list in web.widget.origins can embed it or read the data. Read-only, rate limited, and the rest of the dashboard is as closed as before.

Updating an existing install

   node scripts\deploy.mjs --root C:\tsbot --from https://github.com/knkwebservices/ts6-roadie.git --ref v0.12.0

Nothing changes for existing setups until you switch the new features on. To use the AFK mover and welcome message, add "community" to cogs in config.json. Full changes are in CHANGELOG.md.