🎉 Happy 20th Birthday to Danbooru! 🎉
Danbooru

[beta] Bot that automatically submits implication requests for costume tags

Posted under Bugs & Features

This bot is now live.

Here's how it works:

  • it runs at scheduled intervals in each topic it's configured for
  • once every interval, it collects all new tags that follow the naming convention charname_<costume_name>_(series_name), and submits implications in the form of charname_<costume_name>_(series) -> charname_(series_name)
    • it will only ever run once for each costume tag
    • if a tag already exists inside a bulk update request somewhere, it's ignored because it assumes someone else's already taking care of it
    • patterns other than qualifiers for costume tags are supported (e.g. kancolle's kai/kai_ni or arknights' character_the_costume), but if you want me to add more patterns you need to post examples in this topic
    • support for series that don't use qualifiers will come soonâ„¢
  • the implications are posted in the corresponding topics, one BUR per character
  • people can vote on them and admins still have to approve them manually, because full automation is just going to cause insane problems (thanks fate/pgr)
  • if it finds tags without wikis, it posts them in batch an extra forum post, and it'll ignore those tags for two weeks. If a wiki is created for one of those tags, it'll submit the implication next time it runs (unless someone already has), otherwise it'll post that tag again in the wikiless notification batch after two weeks have passed. This is subject to change if we see that it's too spammy and people don't take care of those wikis.

Post feedback, false positives, bugs or requests for new series here.

Current config and list of series it's enabled on
Source Code

Old forum post

I've been cooking up a dark evil script that automatically searches for missing implications for specific series and submits them in their corresponding topics. The script's still in an alpha stage right now, and it's more of a proof of concept. You can see how it works on testbooru in the character version and bulk version.
It's meant to be an assist for people creating skin tags and their associated BURs, because I've noticed that there's A LOT of skin tags not implying their parent tags (hundreds in the case of big series like fate), and doing it manually is a gruesome job.

Premises:

  • it has a configured list of series with their own topics
- name: "arknights"
topic_id: 75
- name: "kancolle"
topic_id: 76
    • this is a proof of concept, it could theoretically be extended to automatically run for every series that has more than X posts or more than X tags, working with blacklists instead of whitelists and automatically creating new general topics if it needs them, but it's beyond the scope of this thought exercise. For the sake of arguing, assume it's possible if we actually go forward with this
  • it runs at scheduled intervals (once a day?) in each topic it's configured for
  • once every interval, it collects all new tags that follow the naming convention charname_(costume_name)_(series_name), and submits implications in the form of charname_(costume_name)_(series) -> charname_(series_name)
    • if a tag already exists inside a bulk update request somewhere, it's ignored because it assumes someone else's already taking care of it
    • charnames with more brackets are supported, but I'm probably not going to enable it for series like Fate or PGR because they're a clusterfuck of nested implications
    • it will only ever run once for each costume tag
  • the implications are posted in the corresponding topics, one BUR per character OR in bulk mode, which uses at most 10 lines per character (it's allowed to go beyond this limit to keep characters in the same BUR). See the two above testbooru examples.
  • people can vote on them and admins still have to approve them manually, because full automation is just going to cause insane problems (thanks fate/pgr)
  • if it finds tags without wikis, it posts them in an extra forum post (here's an example), and it'll ignore them until someone makes a wiki. If a wiki is created, it'll request them next time it runs (unless someone already has)

For bulk vs per-character, it probably makes sense to submit the first wave of missing implications as bulk BURs, and then submit the rest per-character. Maybe there should be a threshold, like "if there's more than 3 characters then make a big BUR, otherwise do them one by one".

Is it a good idea? Is it a terrible idea? Feedbacks? Potential improvements? Submit your thoughts here.

I'm not going to actually enable it on the main site until I'm 100% sure it's an actual improvement over the status quo, so let me know what you think.

Paging a bunch of people who've been involved in costume BURs topics recently: @Ylimegirl @WRS @MaskedAvenger @Fenton @Login_to_view @Damian0358 @Obst

Updated

I feel rather conflicted on this. I've spoken at length about how problematic the prevailing maximalist attitude surrounding costume tagging is, ala topic #26611 and topic #31159 for Touhou LostWord, forum #344032 when discussing the trend of default costumes (related forum #350110), forum #330655 on its spread outside of gacha (related topic #31153), etc. While this would just apply to a preselected set of copyrights, I could imagine that if approved and successful, you'd eventually see this being let loose without any restraint and catching any random costume tags made for franchises no one cares enough about (I can't find the topic right now, but you literally critiqued a recent costume implication BUR for being on a one-post character under a ~100 post copytag or similar).

Implementing something like this would be on the same level as implementing the school uniform autoalias (forum #258666), as it would just further enable folks to just dump costume tags without consideration if they're even necessary or not, adding further pressure on evazion to make a costume tag category. It's just problematic.

Damian0358 said:

I feel rather conflicted on this. I've spoken at length about how problematic the prevailing maximalist attitude surrounding costume tagging is, ala topic #26611 and topic #31159 for Touhou LostWord, forum #344032 when discussing the trend of default costumes (related forum #350110), forum #330655 on its spread outside of gacha (related topic #31153), etc. While this would just apply to a preselected set of copyrights, I could imagine that if approved and successful, you'd eventually see this being let loose without any restraint and catching any random costume tags made for franchises no one cares enough about (I can't find the topic right now, but you literally critiqued a recent costume implication BUR for being on a one-post character under a ~100 post copytag or similar).

Implementing something like this would be on the same level as implementing the school uniform autoalias (forum #258666), as it would just further enable folks to just dump costume tags without consideration if they're even necessary or not, adding further pressure on evazion to make a costume tag category. It's just problematic.

This is definitely a concern, and not something I would be willing to implement unchecked. In the OP i mentioned series with threshold based on post count or tag count because of this. There's a fine line between something like this being aid and being a burden. It's one thing if it's a bunch of tags every week, and a very different thing if it's hundreds, created by someone who doesn't care about wiki pages and thus dumping the work on someone else's lap. I suppose in its present incarnation it'd only be enabled on gacha series or series with a lot of alternate costumes, to avoid the very real issue of someone deciding by himself to populate hundreds of tags at once out of the blue.

Limiting it to preexisting general threads would help in keeping it in check.

Sounds great. Though it sounds like it's for bigger copyrights that constantly get new tags, I hope the config eventually is eventually deployed from a public repository so people can open pull requests to add new copyrights, especially if some of them require custom regex.

If smaller copyrights are fine, perhaps those could all go to the same topic ID instead of having a dedicated topic.

I'll describe my involvement with costume chartags for the sake of reference and discussion in case it helps build anyone else's thoughts, opinions or the like.

I almost solely handle the character tagging and wikis for three copyrights: Honkai Impact 3rd, Punishing: Gray Raven and Wuthering Waves. While Wuthering Waves follows the standard naming convention, the former two have weirder requirements that are slightly nonstandard and get screwy the longer time goes on and the more those games introduce. They fall under the "clusterfuck of nested implications" that are better to handle manually, Honkai Impact 3rd more than anything, so the bot won't be helping me too much with those two.

  • Punishing: Gray Raven uses (should use) single-layer implications. The base character is charname_(pgr), each in-game "version" of that character is charname:_variant_name_(pgr) and each costume of a variant is charname:_variant_name_(costume_name)_(pgr). Both a version and a costume for a version are (should be?) implied to the base chartag.
    • I am lightly aware that Snowbreak: Containment Zone is attempting or has done something similar but they decided to use hyphens last I checked, or whatever's going on with them now, in the form charname_-_variant_name_(snowbreak) for versions and charname_-_variant_name_(costume)_(snowbreak). That'll have to be verified because the last topic I read months ago had trouble figuring this out and even had a three-layer implication BUR so I don't know if they resolved this mess or not. I'll also page @Sigewulf here for this.
  • Honkai Impact 3rd has some tangled and dated implications, much like Fate (Series). There are a shit ton of costumes and even untagged ones. Kiana Kaslana has 30 chartags just for her costumes and variants. It gets worse when considering costumes from the older versions that don't follow current conventions and have resulted in wrong implications being accepted before that I had to undo. It's a lot easier for me to tackle manually. Also, there's somewhat of a need I realise to start tagging some defaults because they're getting harder to find. A rare case where going the length to max tag is sort of needed.

For all other purposes besides the tacky copyrights: at a fundamental concept, I do like it as a little helper tool. One thing that does catch my attention though is "it will only ever run once for each costume tag". From personal experience, it's pretty easy to forget to create a wiki especially if you're trying to quickly mass-garden untagged costumes (although it will probably be one of the exempt copyrights, look at how many Honkai Impact chartags don't have wikis). If the bot is set up to notify that it can't create an implication due to no wiki, maybe those could be backlogged to run again later? Though for the sake of argument you could say that anyone reasonable would just submit the implication themselves immediately after making the wiki. Hard to know if we can trust people to remember that though. Mostly an issue with older tags only and there'll definitely be a lot of unfinished tags exposed if it's configured to catch older tags too; just as there are many missing implications, there are many missing wikis.

Maybe an evil idea to support this dark evil script would be to have the bot also create a skeleton wiki so it can make a guaranteed implication request so the first run isn't crapping out a bunch of "unable to imply". My personal go-to is "An official alternate costume for charname." where charname would be antecedent tag. Others would have to weigh in on how safe this to do though as I imagine their copyrights are more straightforward and easier to handle.

I heavily agree with submitting the first wave as bulk requests. Most costume tagging topics that I've seen at least tend to submit catch-up implication requests in bulk that are slam dunks and don't have any disagreements. New costumes vary depending on the copyright; sometimes it's just one, other times (cough gacha games) it can be 2-4 that need to be submitted at once.

So as a concept I do like it, but I don't have much to say besides offering reference if that's any help - I keep very on top of Wuthering Waves so I don't have any leftovers, then HI3 and PGR are a mess so they would fall under the "bot blacklist", so I don't personally benefit from any automation in my circumstances.

Another person I'll page is @Jisadel for Honkai: Star Rail (ETA: and Zenless Zone Zero) who tends to submit implications the most for them and may be able to provide insight if such a thing would be desirable for those two.

LQ said:

Sounds great. Though it sounds like it's for bigger copyrights that constantly get new tags, I hope the config eventually is eventually deployed from a public repository so people can open pull requests to add new copyrights, especially if some of them require custom regex.

Yeah it's all public under my scripts. Don't expect much for now because it's just a proof of concept.

LQ said:

If smaller copyrights are fine, perhaps those could all go to the same topic ID instead of having a dedicated topic.

I dislike the idea of a giant topic for everything because different people have different interests and it doesn't make much sense to ask them to shift through stuff they don't care about just to find and vote on copyrights they follow.

I do like the general concept behind this, especially the part where the bot points out unwritten wikis for new tags. In addition to checking if a series as a whole has enough posts to warrant submitting BURs for costumes I'd also check if an individual character does; Lilith and Metatron Jeanne are probably going to warrant some ascension subtags soon while on the other hand Zhang Jue and Huang Feihu will probably never need subtags unless something drastically changes.

WRS said:

For all other purposes besides the tacky copyrights: at a fundamental concept, I do like it as a little helper tool. One thing that does catch my attention though is "it will only ever run once for each costume tag". From personal experience, it's pretty easy to forget to create a wiki especially if you're trying to quickly mass-garden untagged costumes (although it will probably be one of the exempt copyrights, look at how many Honkai Impact chartags don't have wikis). If the bot is set up to notify that it can't create an implication due to no wiki, maybe those could be backlogged to run again later? Though for the sake of argument you could say that anyone reasonable would just submit the implication themselves immediately after making the wiki. Hard to know if we can trust people to remember that though. Mostly an issue with older tags only and there'll definitely be a lot of unfinished tags exposed if it's configured to catch older tags too; just as there are many missing implications, there are many missing wikis.

Yes, the idea is that if there's no wiki it posts them to the forum, and then they're indefinitely postponed for a BUR until a wiki is created. Next time it runs after the wiki has been created, it'll submit BURs for them.

Maybe an evil idea to support this dark evil script would be to have the bot also create a skeleton wiki so it can make a guaranteed implication request so the first run isn't crapping out a bunch of "unable to imply". My personal go-to is "An official alternate costume for charname." where charname would be antecedent tag. Others would have to weigh in on how safe this to do though as I imagine their copyrights are more straightforward and easier to handle.

I have thought about generating some sort of template, but I don't like to post it directly to the wiki because we're just going to end up with a bunch of wikis that have never been edited.

An idea would be that it creates the skeleton wiki, something like

An alternate costume for [[character_(series)]].

Example image:
!asset #<---- placeholder, replace with asset ID ---->

The bot would then post in the attached reason a list of wikis that need to be properly edited, and these forum posts would be monitored and edited frequently (like the repopulated report) in order to update which wikis are still pending, so that an admin knows not to approve.
If we're configuring which series it runs for manually, we could even have something like automatically linking external sites, if they follow a consistent pattern. For example, https://arknights.wiki.gg/wiki/Texas_the_Omertosa or https://grayravens.com/wiki/Nanami:_Storm. This however reinforces the idea that we need to follow what everyone else uses 1:1 (which we're already doing anyway).

Something like

Automatically submitted BUR.

Wikis in need of fixing:
* [[character (costume1) (series)]] - missing: example asset  <-- if it runs the wiki check on pending BURs once a hour, next time it runs it sees that this wiki has been edited by someone, so it removes it from the comment of the BUR. 
* [[character (costume2) (series)]] - missing: example asset, external wiki link <-- maybe it couldn't match the link for this specific costume, so a human has to fix it

This definitely needs a lot of brainstorming and a more meaty template if we want to make it work.

It occurs to me after writing this that this kind of mechanism also implies that the bot should also add the costume preview to the main character's wiki. Perhaps I could do it so that it checks which preview has been added, and it backlinks it to the main character page, so that someone only has to edit the costume tag.
We should probably run something like this for all of our existing costumes too, because we have no standard at the moment.

A significant downside of taking this route is that this kind of second-party automation means people have to structure the previews or parts of character wikis in a specific way every time if they want the bot to help (because parsing a freeform body of text is REALLY hard), which means everyone has to agree on some basic standards, and new users would not know about it until they become very involved in the forums.

If it does create wikis automatically then we'll also need a master thread with a single post, that it continually edits with a list of pending wikis that need work across all series, that way they can all be found in one place.

Updated

Fair expectation, people will be forced to create wikis anyway whether the bot highlights that for them or they want to submit it ahead of time.

If we want to create skeleton wikis though, I actually realised after posting that sometimes that template could be more than enough and any more might be forcing it. At the very most, the edit that would make the most sense for any of those is to add a picture example so it takes it off from the monitored list, but there may not be much to edit in a simple wiki in formats like the one for Hanying: Solacetune (River Dancer) (PGR).

This probably does mean we might need to create a standard for all copyrights if the bot requires a threshold to know when a wiki has had enough added to take it off its monitoring list prior to admin review. Are we confident enough that automatically handled copyrights don't have a web of costumes (assuming the bot can take care of non-screwed multi-layer implications)? You'll have characters like Lucia (PGR) in stark contrast to one like Teddy (PGR). PGR is just easy to use as an example even though we're excluding it just to visualise how in other copyrights the former character may look like a 3-layered implication.

While I generally don't encounter too many instances where missing implications are a problem (unless someone were to ever start tagging the suit evolutions in Infinity Nikki which are just recolors and easily handled by normal tags), I do notice quite a few copyrights out there missing their implications, which this bot would help catch and reduce the workload for a lot of people.

I personally think having a bot like this has more pros than cons, though I do think excluding some copyrights that are a huge clusterfuck to manage and better dealt with manually is good practice in general lol.

nonamethanks said:

I dislike the idea of a giant topic for everything because different people have different interests and it doesn't make much sense to ask them to shift through stuff they don't care about just to find and vote on copyrights they follow.

I can agree with that; since people already manually make BURs for copyrights that only get a few posts a year, these topics wouldn't be any more disruptive than those anyway. If not better.

Pretty cool, I think it's particularly super useful for franchises where things are pretty straightforward like Arknights or Hoyo copyrights like Honkai Star Rail or Genshin. The deepest they go is like, character <- alter of character <- costume for alter.
It's certainly more of a mess for something like Fate.

Updated

hdk5 said:

I like the idea.
Just want to note that Arknights alters (not skins) mostly (all but 4) follow the character_the_alter_(arknights) format, i.e. lappland_the_decadenza_(arknights), exusiai_the_new_covenant_(arknights).

I started working on custom patterns, and I already found a mess: skadi_the_corrupting_heart_(sublimation)_(arknights) -> skadi_the_corrupting_heart_(arknights) -> skadi_(arknights) (among others). I get it, you can kinda tell it's the variant in the subsubtags, but I hate it.

I'm not sure what the bot should do in this case. The easiest solution is to either just request a single implication to the tag that's farthest up (skadi_the_corrupting_heart_(sublimation)_(arknights) -> skadi (arknights)) or closest match (skadi_the_corrupting_heart_(sublimation)_(arknights) -> skadi_the_corrupting_heart_(arknights)), and let participants of each topic discuss each case among themselves or request counter BURs, but it is messy.

It would probably make sense to request these special cases separately, ie first it submits the cut-and-dry easy BURs, then it submits these ambiguous tags in a separate BUR so that it can be picked apart by our users.

Confetto said:

It's also probably worth mentioning that there are some copyrights which use different formats, like Overwatch (topic #28063) and League of Legends (topic #20958), not sure how those would be handled. Kirby's forms (topic #25128) use a similar format as those two.
L

Crap, you rememinded me how inconsistent Mario implications are (Princess Peach (Wedding) vs. Mermaid Peach, for example.) No idea how that could be maintained, but none are complicated enough to need to be managed manually, I don't think, ideally.

Knowledge_Seeker said:

Crap, you rememinded me how inconsistent Mario implications are (Princess Peach (Wedding) vs. Mermaid Peach, for example.) No idea how that could be maintained, but none are complicated enough to need to be managed manually, I don't think, ideally.

In that case, you're dealing with different things being tagged, with the standard being implicitly decided upon in topic #24393 right before topic #26254 was made. Which is to say, part of that is Kalp's fault (though as I said in forum #269159, it was induced by the actions of others).

This post is going to be brainstorming more than else, so forgive me if it's a bit of a chaotic mess.

I think this would be very useful. With it's downsides for sure, but automatic alt character wikis would be a godsend, especially for things like Fire Emblem Heroes, which has hundreds of alts.

For the template suggestion, I dislike a single template for all games. I think it would be better to make a master thread that proposes templates (plus an attached placeholder BUR so that people may move onto it - something like update fire_emblem_heroes -> check_post_body, so that users browsing the tag see the little "this tag is being discussed in forum #XYZ").
For example, many FEH Alt tag wikis follow this template:

Tag used for Roy in his attire in the 2018 Love Abounds Fire Emblem Heroes banner.

As for the multi-layered characters, as you said, they can be submitted separately.
(I would like to hear @Fenton's opinion since they're the one currently managing the FE implications.)

I also think that running it once a day is kind of overkill. Maybe once every two days to 1 week? It would also help give some time for fanart of upcoming skins to spawn, so that they may be all implied in a single BUR.

Alternatively, give Builder+ the ability to let the bot run on command?
Something like:
-Ping bot in thread
-Bot checks for thread name, which was previously manually matched with a copyright BUR (eg. the FE thread runs the search for Fire Emblem characters, and uses the FE wiki template)
-Bot checks for tags with certain conditions
-If these tags exist, bot compiles BUR (and wiki if needed), then pushes it in the thread

This would help avoid having 4 back to back 1-or-2-tag BURs in the following days of an announcement.

Another option to avoid that would be to make the bot edit an existing BUR, For example, if the implication is simple (not nested), and the last BUR by the bot is not older than 1 week, the bot will update its own BUR with the new tags.

1 2