ARTIFICER messages

From Commons Wiki
Jump to navigation Jump to search

ARTIFICER is the Discord bot for onboarding new wikis to the platform.

Messages

The following are public message translations used during onboarding:

Default Loadouts

Magic Words

ARTIFICER messages support magic words that can be used to fetch and fill in information as needed

Wiki Information

Magic Word Description
{{USERNAME}} Username used for accessing the wiki while in onboarding
{{PASSWORD}} Password used for accessing the wiki while in onboarding
{{LANGUAGECODE}} Language code used for the wiki, usually en
{{IMPORTSOURCE}} Name of where the wiki has imported from, blank if not imported
{{SITENAME}} Wiki's site name, eg Commons Wiki
{{ALTSITENAME}} Alternate Wiki's site name, adds special handling to the Site name.
  • Will remove A or The from the beginning of the sitename
    • This is so we don't end up with "the The Great Wiki" or "the A Great Wiki"
{{SUBDOMAIN}} Subdomain of .wiki.gg, eg commons
{{WIKIID}} Unique identifier of the wiki, usually equal to {{SUBDOMAIN}}_{{LANGUAGECODE}}
{{INVITEURL}} Invite url to the Discord channel for onboarding the wiki
{{CHANNELID}} Discord channel ID for onboarding the wiki
{{TICKETID}} Ticket ID of the wiki request
Time-based words:
  • {{DUEDATE:format}}
  • {{LASTUSERMESSAGE:format}}
  • {{LASTSTAFFMESSAGE:format}}
  • {{LASTUSEREDIT:format}}
  • {{LASTSTAFFEDIT:format}}
Displays times for the given channel, using format: Full Format Docs
  • d: Day of month, from 1 to 31
  • dd: Day of month, from 01 to 31
  • ddd: Abbreviated day name (Mon)
  • dddd: Full day name (Monday)
  • h: Hours, from 1 to 12
  • hh: Hours, from 01 to 12
  • H: Hours, from 0 to 23
  • HH: Hours, from 00 to 23
  • K: Time zone
  • m: Minutes, from 0 to 59
  • mm: Minutes, from 00 to 59
  • M: Month, from 1 to 12
  • MM: Month, from 01 to 12
  • MMM: Abbreviated month name (Dec)
  • MMMM: Full month name (December)
  • s: Seconds, from 0 to 59
  • ss: Seconds, from 00 to 59
  • t: AM/PM as a single character (A or P)
  • tt: AM/PM
  • y: Year as a two digit number, from 0 to 99
  • yy: Year as a two digit number, from 00 to 99
  • yyy: Year as a three digit number (025)
  • yyyy: Year as a four digit number (2025)
  • yyyyy: Year as a five digit number (02025)
  • O: ISO8601 Format (2025-12-08T15:58:19+00:00)
{{BUTTON:type}} Attaches a button to the output message
  • type
    • promote Will grant PermissionsAdministrator when clicked.
      • (Defaults to label=Promote|style=danger)
    • link Attached a link button.
      • link parameter should also be set for the url to open.
      • Link buttons do not support a style
  • All buttons support for the following named args:
    • style: One of primary, secondary, success, or danger
    • disabled: true/false
    • label: Sets the buttons label. Max supported length is 80.
{{BUTTON: promote
 |label = Claim Permission Admin
 |style = success
}}
{{BUTTON: link
 |label = Open Google
 |link  = https://www.google.com
}}

User Information

User information is available when a localization message pertains to a User

Magic Word Description
{{WIKIUSER|prop}} Details of the wiki user in the context
  • prop specifies which property to print. Defaults to name (Allows name, id)
{{WIKIGROUPS|applylinks|separator=}} Separated list of current user groups in the wiki
  • applylinks takes a truthy value (Any value that isn't 0, no, or false). Defaults to false
    • If true will make the groups formatted as links (Administrators versus Administrators).
  • separator allows setting the separator used between user groups. Defaults to ,
{{DISCORDUSER|prop}} Details of the discord user in the context
  • prop specifies which property to print. Defaults to name (Allows name, id)

Parser Functions

Parser Function Description
{{localurl:page name}} A local url for the wiki, eg /wiki/ARTIFICER_messages
{{canonicalurl:page name}} Full url for the wiki, eg https://commons.wiki.gg/wiki/ARTIFICER_messages
{{formatdate:date|format}} Parses a given date and converts it to a Discord-formatted (localized) time
  • format
    • t: Short Time (16:20)
    • T: Long Time (16:20:30)
    • d: Short Date (20/04/2021)
    • D: Long Date (20 April 2021)
    • f: Short Date/Time (20 April 2021 16:20)
    • F: Long Date/Time (Tuesday, 20 April 2021 16:20)
    • R: Relative time (2 months ago)
{{#if:test|true|false}} Check if value test is considered truthy (Currently only false on empty-string, 0, no, or false), and returns the true value or the false (not required) value
{{#ifeq:a|b|true|false}} Checks if value a equals value a and returns the true value or the false (not required) value
{{#or:...}} Returns the first non-empty value present in the set

Escaped Characters

Escape sequence Output
{{!}} |
{{=}} =
{{!!}} ||
{{!(}} [
{{)!}} ]
{{!((}} [[
{{))!}} ]]
{{(}} {
{{)}} }
{{((}} {{
{{))}} }}
{{(((}} {{{
{{)))}} }}}
{{(!}} {|
{{!-}} !-
{{!)}} |}

Chat Commands

A public ARTIFICER configuration is available at Artificer-config

Custom slash commands can be configured from this config by configuring the "commands" array

{
    "commands": [
	]
}

Command Objects

Each command accepts the following keys:

Required Key Value Description
command String The name of the slash command. Should be lowercased and cannot contain spaces.
description String A description that is shown in the autocomplete for the command. Required by Discord
message String The message key from the wiki to read. Assumes a MediaWiki:Artificer- prefix; MediaWiki:Artificer-mycommand should just be mycommand
  • Not required, will fallback to the value of command; If message and command are the same it can be omitted.
ephemeral Bool When true the command output will only show to the user who ran the command. Defaults to false.