AQW Character & Items

AQW Character & Items

Render AQW characters and find items, on Raven-chan and AQWired (not Omni).

9 commands

Running a contest or a tournament

Both are staff events with the same shape: open it, let the field build, run it, close it. The commands in the order you’ll actually use them. The judging table and the full bracket live on this site, because Discord is bad at showing either.

A fashion contest, start to finish

/contest create <title> <mode>
Mods: open it in the contest channel, or from the site’s staff panel, which queues it for the bot to announce. Mode is chosen here and is per contest: voted (a 🗳️ button on every entry) or judged by staff.
/contest submit
Members enter their own images, a render of their character, or both, plus a title and description.
/contest info · /contest withdraw
What’s running and who’s entered · pull your own entry out.
/contest winner <member> <place>
Judged contests: set each placing by hand. Voted ones don’t need it, since the counts decide, but it can still override.
/contest close
Announce the winners in the channel. Entries and results move to the site’s archive.
/contest extend · /contest cancel
Move the closing date when it needs longer · scrap it entirely.

A tournament, start to finish

/tournament create <title> <format>
Mods: open it, here or from the site’s staff panel. Formats: single or double elimination, Swiss, or Swiss into either. Set signups: Staff-entered for a field collected by hand: no sign-up post, no Join button.
/tournament join or /tournament add
Open sign-ups: members join themselves. Staff-entered (or stragglers): you add them, with a user if they’re in the server or an entrant name if they aren’t.
/tournament roster <entrant> <user>
Teams: attach the players behind an entrant. Everyone on a surviving team carries the ping role; elimination strips the whole team. Editable mid-tournament, so subs swap in.
/tournament start
Seed the field (random, or sign-up order) and generate every match, from Discord or the staff panel’s Start button. The shape is fixed from here, so late entries can’t be added.
/tournament result <match> <winner>
Report each match, here or on the site’s staff panel. The bracket advances itself: next pairings announced, ping role pulled off the eliminated.
/tournament drop <user | entrant>
Mid-tournament no-show or DQ: forfeits their live matches to the opponent so the bracket keeps moving.
/tournament close
Finish it and delete the ping role. The bracket stays on the site, and can be embedded on another site with one script tag.
/tournament schedule · format · announce
Move the dates when it overruns · change the format, freely until a result is reported (single elim still converts to double after) · ping everyone still in.

/char

slash
Raven-chanAQWired

Render an AQW character image, a live SWF composite of a player’s gear.

/char [name] [item/format options]
Arguments
  • nameoptional string AQW in-game name (omit if you saved one with /charname).
  • emoteoptional string Freeze the character in an emote or pose. Type to search the full catalog (every animation on the avatar rig, dances and combat stances included); any label typed by hand also works.
Examples
/char name: Artix

Calls the charbot-flash-new render service via an async job API. Rate-limited to 4 renders / 60s per user.

/charname

slash
Raven-chanAQWired

Link your AQW in-game name so /char can omit it.

/charname name:<text> [clear:<bool>]
Arguments
  • nameoptional string Your AQW character name to save.
  • clearoptional boolean Remove your saved name.

Also what ties you to your in-game guild row in the officers' guild ↔ Discord report. Verifying, or a nickname that matches, gets you most of the way; this is the explicit link.

/closet

slash
Raven-chanAQWired

Browse saved /char fashion sets.

/closet [user]
Arguments
  • useroptional member Whose closet to view (defaults to you).

/contest

group
Raven-chanAQWired

Fashion contests: enter a look, vote, win. Everything happens in the channel the contest was created in.

Arguments
  • createoptional group Mods: open a contest. Pick a title, a mode (members vote, or judged by staff), an optional description, the channel it runs in, and optionally the date entries close.
  • submitoptional group Enter with up to four of your own images, a render of your AQW character, or both, plus a title and description if you want.
  • withdrawoptional group Pull your entry out.
  • infooptional group What is running and who has entered. Vote counts stay hidden until it closes.
  • winneroptional group Mods: set a placing by hand. This is how a judged contest is decided, and an override for a voted one.
  • extendoptional group Mods: move (or clear) the date entries close. This is the schedule, not the close itself. The site’s calendar follows it, and /contest close is still what ends the contest.
  • closeoptional group Mods: end it and announce the winners in the contest channel.
  • canceloptional group Mods: scrap it without announcing anything.
Subcommands
  • /contest create
  • /contest submit
  • /contest withdraw
  • /contest info
  • /contest winner
  • /contest extend
  • /contest close
  • /contest cancel

Every entry, and every past contest, is on the site at /contests. Ravens staff can also open a contest from the staff panel (and judge it there, entries side by side). The bot still posts the announcement in the channel, within about half a minute of the form. One contest runs at a time on free servers; premium servers can run several, and every command then gains a contest picker for which one you mean, with one running, nothing changes.

/tournament

group
Raven-chanAQWired

PvP tournaments: sign up, get seeded, play the bracket. The full bracket is drawn on the site.

Arguments
  • createoptional group Mods: open a tournament. Title, format, the channel it runs in, and optionally the entry window and dates. The bot makes a mentionable ping role for entrants. signups picks how the field is built: Open posts a sign-up embed with a Join button; Staff-entered posts nothing, and you build the field with /tournament add or the website, for entries collected by hand.
  • joinoptional group Enter the tournament taking sign-ups, or tap Join on its post. You get the ping role so announcements reach you. Refused, with a pointer, when the field is staff-entered.
  • leaveoptional group Withdraw while sign-ups are still open.
  • formatoptional group Mods: change the format: single elimination, double elimination, Swiss, or Swiss into either. Free to change until a result is reported, even after /tournament start: the draw regenerates under the new shape over the same seeds, and the old pairings post is superseded. Once results are in the shape is fixed, with one exception: a running single elimination can still become double, in place. Every played result stands, the losers bracket and grand final appear under it, everyone already knocked out drops into the losers bracket with the ping role back, and the new pairings post within about 30 seconds.
  • scheduleoptional group Mods: set or move the entry window and the tournament dates. Deliberately allowed at any time, so a tournament that overruns can have its end date pushed back. The site’s calendar follows. A passed entry deadline closes sign-ups on its own: the Join button switches off and late joins are refused, though a mod can still slot someone in with /tournament add until the bracket is drawn.
  • addoptional group Mods: put someone into the field yourself. Give a user if they’re in this server, or an entrant name if they aren’t, for a field collected by hand or a game whose players aren’t all in the Discord. A team missed during registration can still be added while the tournament runs: Swiss takes a late entrant any time (they join the next round’s pairing), a bracket only before any result is reported.
  • redrawoptional group Mods: throw the unplayed pairings away and pair again over everyone active, the remedy for a team missed during hand-registration. Only while nothing has been reported: Swiss re-pairs just the current round (an unplayed round 1 is a fresh draw, with the seeding you pick), a bracket regenerates whole with fresh seeding. Match numbers are kept, not burned.
  • dropoptional group Mods: take someone out, by user or by entrant name. Mid-tournament this is a forfeit: their live matches go to the opponent so the bracket keeps moving.
  • rosteroptional group Mods: attach Discord members to an entrant, meaning a team’s players. The entrant plays the matches; the roster is who the ping role reaches, so announcements hit the whole team and elimination strips the whole team. Editable even mid-tournament (a sub swapping in is the point), also from the site’s staff page.
  • startoptional group Mods: seed the field (random, or sign-up order) and generate every match. pairings: Hold draws the bracket without posting round 1, so the bracket can be public on the site days before play begins; each round then posts with /tournament pairings.
  • pairingsoptional group Mods: post the pending pairings, for a bracket started with pairings held. Optionally switch later rounds back to posting automatically.
  • swapoptional group Mods: trade two entrants’ places between pending matches, the manual matchup edit, and the one that works mid-run. A swap can’t duplicate anyone, can’t drop anyone out of the bracket, and can’t touch a played game; the corrected pairings re-post within about 30 seconds (or wait for /tournament pairings when they’re held). Also on the site’s staff page.
  • unreportoptional group Mods: void a reported result back to unplayed, for a result entered on the wrong match or a game that never happened (correct fixes who won; this fixes that anything was recorded). The seats it filled are emptied and both entrants are back in with the ping role; cascade: True also voids what was played on the strength of it, for replay. Unreporting the forfeit that drop wrote is how a wrongly dropped entrant comes back. A bye has nothing to unreport. Also on the site’s staff page, as the Void button on a decided match.
  • placeoptional group Mods: seat an entrant in an unplayed match (side a or b; a user, or an entrant name). Refused when they are already waiting in another match (that is a swap), when an unplayed match decides that seat (its result would overwrite the placement), and when the seat is taken unless force: True, which names who is displaced: they then sit in no match until placed or dropped. Also on the site’s staff page.
  • scoreoptional group Mods: correct the score on a decided match, never the winner. A lone winner score reads the loser as 0; a transposed score is refused.
  • matchoptional group Everything about one match: the seats, the result and who reported it, where the winner and loser go, what feeds each seat and its status, whether it has been pushed downstream and announced, and which fix applies.
  • correctoptional group Mods: fix a match reported with the wrong winner, which nothing could do before. Allowed while every match that result fed is still unplayed; past that it refuses and names the match in the way, and cascade: True voids the results that flowed from the wrong one, transitively, so they are replayed. The same winner is accepted as a repair when the bracket disagrees with it. The later slots are rewritten, the scores travel with the winner, and whoever the wrong result knocked out is back in with the ping role. Also on the site’s staff page, as a button on the match.
  • resultoptional group Mods: report a match by its number. The bracket advances itself, posts the next pairings, and takes the ping role off whoever went out.
  • matchesoptional group The matches waiting to be played, with their numbers.
  • standingsoptional group The field and who is still in, or the Swiss table during Swiss rounds.
  • announceoptional group Mods: ping everyone still in the tournament with a message.
  • closeoptional group Mods: finish it and delete the ping role. The bracket stays on the site.
  • canceloptional group Mods: scrap it entirely.
Subcommands
  • /tournament create
  • /tournament join
  • /tournament leave
  • /tournament format
  • /tournament schedule
  • /tournament add
  • /tournament drop
  • /tournament roster
  • /tournament start
  • /tournament pairings
  • /tournament redraw
  • /tournament swap
  • /tournament correct
  • /tournament unreport
  • /tournament place
  • /tournament score
  • /tournament match
  • /tournament result
  • /tournament matches
  • /tournament standings
  • /tournament announce
  • /tournament close
  • /tournament cancel

Entrants can be a Discord user or just an entrant name, so a field collected by hand (a spreadsheet, or a game whose players aren’t all in the server) still gets a real bracket. Adding and removing are registration-only on both the bot and the site: once the bracket is drawn the match graph is fixed, so mid-tournament the answer is /tournament drop, which forfeits their live matches to the opponent. The bracket can be embedded on another site with a single script tag; the drop-in is linked from each tournament’s page. Results are reported by staff. The ping role tracks who is still alive, so you lose it when you are knocked out, so an announcement only reaches people with a match left. The bracket is public at /tournaments, and for the Ravens the staff panel can run the whole thing: create a tournament, move its dates, change the format, build the field and start it, as well as report results. The bot still does every Discord half (the ping role, the sign-up post, seeding, the pairings) within about half a minute of each change. One tournament runs at a time on free servers; premium servers can run several, and every command then gains a tournament picker for which one you mean, with one running, nothing changes.

/ioda

slash
Raven-chanAQWired

Time until you can get an IoDA from the Wheel of Doom.

/ioda [name]
Arguments
  • nameoptional string AQW name (defaults to your saved name).

/class

slash
Raven-chanAQWired

The recommended loadout for an AQW class: gear, elixir, tonic and consumable, per Ultra boss.

/class class_name:<text>
Arguments
  • class_namerequired string The class. Start typing for suggestions; initials work too (loo for Lord of Order).
Examples
/class class_name: ArchPaladin/class class_name: loo

Opens on the standard loadout with a button per boss (Ultra Darkon, Gramiel, Dage, Nulgath, Drago, Speaker, Champion Drakath). Read from a community Google Sheet, so a class missing here is missing there. Ported from a friend’s bot.

/relay

slash
Raven-chanAQWired

Open the AQW chat-relay control panel. Bridges in-game chat to Discord.

🔒 Requires Manage Server

/relay

Bidirectional game↔Discord bridge via the AQW-Client relay service. Managing the in-game guild lives on the website, not here: one page per guild, however many relay accounts sit behind it, and each invite, kick, promote or demote goes out from whichever account is logged into the right AQW server. Anyone who can run /relay in a server can reach it. What the relay account may do is its in-game rank: an Officer can kick and promote, and only the guild Leader can demote, so the Demote button appears only when a Leader account is connected. When the game answers, for instance if somebody has guild invites switched off, what it said is shown here and on the site.