DATA is the Argo Discord Server’s custom bot, capable of numerous tasks, big and small. This topic will consolidate updates on any major features changed/added over time. I will also do my best to keep this first post updated with an accurate command list.
/argotime
Get the current time in Argo shift language
/whenis
Look up the time translation for a specific Argo shift (alpha, beta, gamma, delta, epsilon, zeta)
Hello, all. We’ve pushed a couple new discord/discourse integrations, as you’re probably noticing.
All News posts and Mission Briefs posts will now automatically be cross-posted to the “News” channel in Discord. (I’ve noticed that it has a short delay, but it does work. Unfortunately it doesn’t seem to care about edits, so we may look into a different solution for this in the future.)
We have reorganized Discord channels a little bit because we have a new Discord RP lobby feature! This new DATA feature will let people create new channels exclusively for RPing on the fly, which can be private or public or even simply lurkers-welcome. You’ll also have the option for your logs to be automatically crossposted to the forums when you’re done! Please take a look at #lobby-ooc for an explanation of how it works.
As an example of how the lobby can be utilized for Discord RP, we’ll be using it with this year’s Holiday Exchange RP, which is now accepting signups. More details can be found on this post here: https://argo.ex-astris.net/t/argo-holiday-exchange-2020/575
(some of these changes were implemented before .53, but I’m consolidating the announcements of them in this post.)
Lots of hotfixes. :(
Discord.js updated to v13 a while back and that broke a lot of little things that I’ve been slowly discovering and trying to fix as we go. This includes a transcript saving issue that should hopefully be addressed in this version. It’s recommended that if you want to save a log, do so before you close it just to make sure it’s captured in case anything goes wrong, until we’ve proven that it’s working properly.
Added @channelparty feature.
We currently have two systems that create Discord channels for private conversations (tickets and RP scene channels). This command will let you add GROUPS of players to both types of channels, by selecting their role, e.g. !channelparty @ds13 crew or !channelparty @medical. This feature can only be used in tickets and scene channels.
Added ability to leave a scene channel.
The RP lobby emojis have changed to and . With this change comes the ability to actually leave a scene that you previously joined, either by invitation, or because it was public and you clicked in to participate. Leaving a channel can be done by un-reacting the emoji from the RP lobby on the scene you want to leave. (You may need to react and then un-react, if you didn’t have a door react to begin with.)
Previously our News posts and Event posts were being crossposted to Discord via a forum plugin. I have added additional features to DATA and subsequently removed events from the plugin’s care (although news will still be handled the old way).
The new crossposting method integrates better with Discord’s newish “Guild Events” feature by automatically taking information from the calendar/event widgets made in a forum post and creating a Discord event with it. Editing event information on the forum will also update the Discord event accordingly, so things should always be up to date and in sync.
DATA will also post DM notifications for anyone who clicks the “Interested” button on a Discord event. By default, DATA will message interested parties 20 minutes before an event is scheduled to begin.
Event notification preferences
A new !preferences command is available; it is preferred that you use it in #bot-spam. This will prompt DATA to direct message you with a menu of preference options. Use the correct react on the message to get the settings you want and make sure to pin the message, or DATA will not know that this is the correct set of preferences to use.
If no preferences are set, DATA will default to the 20m notification before setting.
–
Feeling relatively confident in regards to the stability of this update, but as always, if you find bugs, let me know via Discord in #suggestions.
Added default duration, so when bot tries to crosspost to Discord events without an end time, it defaults to a 2 hr duration instead, rather than just failing to post anything.
Disabled !channelparty, because role support was added to adduser, both in tickets and scenes, so we don’t need it anymore.
New roles for (primarily) DATA notification purposes!
I overhauled DM notifications so that they are based on server roles, rather than the preferences message from before. This means all DMs from DATA are now OPT-IN, make sure to check the Discord #roles channel to select what you want!
notifs new thread alert: DATA will send you a DM when a new thread is created anywhere on the server!
Event Reminder-based roles:
notifs eventrem 20m: Send a notifcation 20 minutes before the event start time
notifs eventrem 2hrs: Send a notification 2 hours before the event start time
notifs eventrem 1d: Send a notification 24 hours before the event start time
notifs eventrem always: Send me the above-selected notifications, even if I did not click (or forgot to click) thatI'm Interestedin the event.
Please note that if you select to always receive event notifications, you must still select the time intervals that you want to receive them at; selecting ‘always’ by itself will not do anything!
In conjunction with this change to how notifications work, the !preferences command has been removed. (You can unpin that message in your DM with argonaut now. )
Discord → Forum RP Lobby crossposting fixes/improvements.
Added a feature in RP Lobby transcript saving/crossposting where, if you use a particular syntax while RPing in Discord, it will be converted with a unique visual appearance (CSS class) applied. This was primarily implemented for GMing purposes.
Use a blockquote character followed by the newly-added custom emoji, gm to trigger this, i.e. > :gm: (Note that it will not look special in Discord (apart from regular Discord visuals), only on crossposting/saving to the forums.)
Also apparently I did have code to grab attachments/images and add it to the crossposted log originally, and it just broke at some point. Fixed now.
Boring technical notes
discord.js upgrade to v14.3.0. had to migrate/adjust code as necessary to be compatible with new version. I did a faiiirly thorough check of all features to make sure things were working, but if you notice anything wonky, please report it.
fixed an issue with event crossposting not having the right timezone. I don’t think anyone noticed this bug but me, so it’s here in the boring section.
Been a while since I’ve made any changes that people could interact with, so this was kind of a practice commit to re-acquaint myself with my own code. I did take the opportunity to do a couple minor things.
Made a small changed to how adding lurkers works on RP scenes for RP Lobby, to prevent people from accidentally muting themselves, so this should ideally no longer happen.
Removed !vobvote
Implemented VOB Experimental Menu instead. Each day the VOB menu is generated, there is a 33% chance it will also grab 1 flavor off of the experimental menu.
(Yes, I’m aware that Trek Facts is also accessible. Please only contribute actual Trek facts.)
Please note that as of this version, DATA is no longer accepting commands in the previous !command format, as we have formally switched over to supporting slash commands. Most all commands have made the transition, including all the commands used for controlling scenes. The auto-complete should help make things a bit easier when it comes to targeting people to invite.
The one command that underwent a few alterations is !alpha, !beta … etc. /argotime still works, but the others have been bundled into a single /whenis command, which takes the shift you’re interested in as a parameter input instead.
–
Also in this version is two new commands:
/roll - Using DATA’s /roll will, by default, roll a 1d100, since that’s the most commonly used format for us (presumably because it matches STO’s roll.) You can also specify number of dice and sides with the respective inputs, or you can select the q option and then give the regular RPG syntax (i.e. 2d20 to roll two 20-sided dice.)
/rollkd - Roll karmic dice instead of a regular fair-sided dice. This dice is generated based on the history of most recent rolls and will produce unfairly-sided dice that favors the player. (i.e. if everyone’s dice rolls have been terrible, you are more likely to roll something high by using this.) This resets after a high roll is achieved. (I don’t know if anyone plans to use this; I just thought it’d be fun to put in. )