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
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.
|