Discord

What’s Discord?

When it became clear that there were much better options for instant chat than the plugin on the old TESRenewal.com Drupal site, team members created a Skywind Discord channel. Since then, then Discord server has become the centre of Skywind’s communication and co-ordination, with tens of thousands of Discord users.

Permissions and Roles

It’s necessary to restrict access to some sensitive information and chat.

Access Restrictions

Most channels are restricted by a simple tiered access scheme:

  • Contributor: a user who contributes to the project. All team members ought to have this role. It grants wide access to departmental channels and off-topic chat.

  • Developer: a user who requires access to the build and the more sensitive channels - most notably dev chat.

  • Server Admin: a user who has full admin access across the server and access to the admin/lead channels. The Department Lead role offers similar access with lessened permissions to manage posts and channels.

Inactive Status

The "Inactive" role is purely a visual indicator that a team member is not currently spending time on Skywind. This can be used short-term or long-term at the department leads' discretion.

The role does not limit access.

Team Colors

The roles beginning with "Color:" are purely to give a visual indication of a user's general purview.

Team leads, co-leads, deputies, etc should have the brighter Lead variant to distinguish them in team chats.

Roles for Actual Roles

Specific roles like "filecutter", "level designer", etc should be used to keep track of who does what and for pings.

Channel access should never normally be governed by team membership. Doing so makes permissions excruciatingly complex and difficult to predict. Please don’t fiddle with permissions unnecessarily.

Applicant Roles

Server admins and department leads can give themselves the "Applicant:" roles to get pinged when new potential recruits send through an application form.

Other

Some channels do have bespoke permissions, but we try to keep these to a minimum, and they should still not use team membership to control access.

There are some additional notable roles:

  • Savant is given to users who use the bot command +osheriad (“I understand” in Dunmeris), which is only discovered by reading the FAQ. It helps give an idea of whether new users have bothered to check the FAQ before asking questions.

  • Ordinator is given manually to a select few public users who hang around and demonstrate that they understand the project. They have access to their own channel and the ability to temporarily mute nuisance users. Think of them as forum moderators. This role very often ends in their recruitment to the team in one role or another.

  • Localization only manages access to the #translation_coordination channel.

Bots

We employ a number of bots to help with functions, and sometimes also for a little entertainment.

Almost all bots are invoked by typing a message with an expected prefix character or phrase. An example to try is "+ping", to get a response of "pong" from Dyno.

Dyno

Dyno (nicknamed Animunculus on our server) is a supremely helpful multifunctional bot that is primarily used for administration and automation. This bot handles:

  • Welcome messages to all new users, helping them find their way around and pushing them to the FAQ.

  • Commands that provide useful snippets of text, such as reminders to keep on-topic and links to resources.

  • Commands that help administrate, such as warning and muting.

  • Logs of most message edits and deletions, as well as administrative actions such as warnings and bans.

  • A few autoresponses and in-jokes, that are sometimes funny and sometimes irritating.

Use the commands +help for help on these other commands.

To manage Dyno, use the web portal: https://dyno.gg/ - but please do be careful and judicious. It's easy to break things, and not so easy to restore them.

Reminder-Bot

ReminderBot can be used to remind channels or users about anything at a given time. Use the commands +reminder or $natural for help.

Integrations

We use webhooks as part of integration with a few outside systems - notably Google Forms, GitHub, and IFTTT.

These are managed externally from Discord, which just provides an endpoint that the services can call. See the Applications page for details on the volunteer application integration.