Help:Automation: Difference between revisions
(→See also: minor fix) |
(Final touches I assume unless nougat has anything to add) |
||
Line 1: | Line 1: | ||
{{draft|move=Help:Automation}} | {{draft|move=Help:Automation}} | ||
{{stub}} | {{todo|This page is not a stub but could use some more detail.}} | ||
This article delves into the realm of automation, exploring the scripts and bots in streamlining processes and enhancing efficiency across VDC. | This article delves into the realm of automation, exploring the usage of scripts and bots in streamlining processes and enhancing efficiency across the VDC. | ||
[[File:PyQT6-Entity-List-Script-Skit.png|400px|thumb|A script for generation entity lists from fgd file]] | [[File:PyQT6-Entity-List-Script-Skit.png|400px|thumb|A script for generation entity lists from fgd file]] | ||
==Scripts== | ==Scripts== | ||
Scripts are fundamental to automation, enabling the automation of repetitive tasks and the execution of complex operations. This section will detail the types of scripts used in automation, their applications, and the programming languages most commonly employed for scripting. | Scripts are fundamental to automation, enabling the automation of repetitive tasks and the execution of complex operations. This section will detail the types of scripts used in automation, their applications, and the programming languages most commonly employed for scripting. | ||
{{note|While AI can be used for some automation, it still often makes errors and needs specific prompts. Regular scripts are still recommended for most tasks.}} | |||
{{note| | <br> | ||
The following scripts provide utility for task automation: | |||
===Entity Lists=== | ===Entity Lists=== | ||
Creating lists of entities is not | Creating lists of entities is not difficult task; in fact, it is rather straightforward. | ||
{{warning|This script is useless if the [[FGD]] | {{warning|This script is useless if the format for the [[FGD]] file in the game is modified, for example in games using {{strata|4}}. This script works with standard FGD files for all vanilla {{src|4}} branches.}} | ||
{{note|These scripts utilize a combination of Bash scripting and Unix/Linux command-line tools, such as ''grep'', ''sed'', and ''awk''}} | {{note|These scripts utilize a combination of Bash scripting and Unix/Linux command-line tools, such as ''grep'', ''sed'', and ''awk''}} | ||
Line 18: | Line 18: | ||
==== Issues ==== | ==== Issues ==== | ||
{{bug|Sometimes the script adds entities to the wrong section (with a different prefix)}} | {{bug|Sometimes the script adds entities to the wrong section (with a different prefix)}} | ||
{{bug|Sometimes unnecessary spaces may be | {{bug|Sometimes unnecessary spaces may be added}} | ||
==== For {{src|4}} [[FGD]]s==== | ====For {{src|4}} [[FGD]]'s==== | ||
'''The Script'''{{ref|1}} | '''The Script'''{{ref|1}} | ||
*Uses grep -i '^\(@solidclass\|@pointclass\|@NPCClass\)' "$1" to filter lines from the input file that start with @solidclass, @pointclass, or @NPCClass. | *Uses grep -i '^\(@solidclass\|@pointclass\|@NPCClass\)' "$1" to filter lines from the input file that start with @solidclass, @pointclass, or @NPCClass. | ||
*Creates sections based on the prefixes extracted from the processed lines. It uses an associative array declare -A seen to keep track of prefixes that have already been processed. This ensures that each prefix corresponds to a single section. | *Creates sections based on the prefixes extracted from the processed lines. It uses an associative array declare -A seen to keep track of prefixes that have already been processed. This ensures that each prefix corresponds to a single section. <!-- The grammar in this sentence seems flawed but I since I don't understand what it's talking about I'm not sure how to fix it --> | ||
*Uses <nowiki>*{{ent|$result}}</nowiki> to format the processed lines as wiki entries. | *Uses <nowiki>*{{ent|$result}}</nowiki> to format the processed lines as wiki entries. | ||
*The section headers are formatted as ===%s_*=== where %s is replaced with the prefix. For example, if the prefix is | *The section headers are formatted as ===%s_*=== where %s is replaced with the prefix. For example, if the prefix is foo, the section header will be ===foo_*===. Each processed line is then added under the appropriate section. | ||
* Handles unincluded lines by appending them to a separate "Unincluded" section at the end of the output file. This ensures that all lines are accounted for, even if they don't fit the criteria for the other sections. | *Handles unincluded lines by appending them to a separate "Unincluded" section at the end of the output file. This ensures that all lines are accounted for, even if they don't fit the criteria for the other sections. | ||
===== Usage ===== | ===== Usage ===== | ||
{{code|'''Source-FGD-Ent-List-VDC-2.sh''' ''<input>'' ''<output>''}} | {{code|'''Source-FGD-Ent-List-VDC-2.sh''' ''<input>'' ''<output>''}} | ||
===== | ===== Pages created using this script ===== | ||
* [[List of Fistful of Frags entities]] | * [[List of Fistful of Frags entities]] | ||
* [[List of Heart of Evil: Source entities]] | * [[List of Heart of Evil: Source entities]] | ||
Line 43: | Line 43: | ||
==== For {{gldsrc|4}} [[FGD]]s==== | ==== For {{gldsrc|4}} [[FGD]]s==== | ||
'''The Script'''{{ref|2}} | '''The Script'''{{ref|2}} | ||
* The logic is same | * The logic is the same as the {{src|4}} script | ||
**Uses grep -i '^\(@solidclass\|@pointclass\)' "$1" to filter lines from the input file that start with @solidclass, @pointclass, or @NPCClass. | **Uses grep -i '^\(@solidclass\|@pointclass\)' "$1" to filter lines from the input file that start with @solidclass, @pointclass, or @NPCClass. | ||
** Uses <nowiki>*{{ent|$result_(GoldSrc)|alt=$result}}</nowiki> to format the processed lines as wiki entries. | ** Uses <nowiki>*{{ent|$result_(GoldSrc)|alt=$result}}</nowiki> to format the processed lines as wiki entries. | ||
Line 50: | Line 50: | ||
{{code|'''GoldSrc-FGD-Ent-List-VDC-2.sh''' ''<input>'' ''<output>''}} | {{code|'''GoldSrc-FGD-Ent-List-VDC-2.sh''' ''<input>'' ''<output>''}} | ||
===== | ===== Pages created using this script ===== | ||
* [[List of Counter-Strike: Condition Zero Deleted Scenes entities]] | * [[List of Counter-Strike: Condition Zero Deleted Scenes entities]] | ||
* [[List of James Bond 007: Nightfire entities]] | * [[List of James Bond 007: Nightfire entities]] | ||
Line 57: | Line 57: | ||
== Bots == | == Bots == | ||
Bots are automated software agents designed to perform | Bots are automated software agents designed to perform repetitive or time-consuming tasks, often in response to certain triggers or conditions.<br> | ||
This is a table of bots that currently exist on this site. | This is a table of bots that currently exist on this site. | ||
Line 70: | Line 70: | ||
| {{u|WisdomBot}} || {{u|Wisdurm}} || {{DotNetWikiBot|4.1}} || Updating pages using {{t|lang}} to use {{t|multipage}}, as well as other possible tasks when it becomes functional again. || <p style="color:red;display:inline">Inactive</p> due to permission problems | | {{u|WisdomBot}} || {{u|Wisdurm}} || {{DotNetWikiBot|4.1}} || Updating pages using {{t|lang}} to use {{t|multipage}}, as well as other possible tasks when it becomes functional again. || <p style="color:red;display:inline">Inactive</p> due to permission problems | ||
|- | |- | ||
| {{u|Thunder4ik}}|| {{u|Noug4at}} || {{w|Wikipedia:AutoWikiBrowser|AutoWikiBrowser|icon=hide}}<br>{{pywikibot|4.1}}|| Updating deprecated templates, optimizing pages, categorization & adding templates. See more at user page. | | {{u|Thunder4ik}}|| {{u|Noug4at}} || {{w|Wikipedia:AutoWikiBrowser|AutoWikiBrowser|icon=hide}}<br>{{pywikibot|4.1}}|| Updating deprecated templates, optimizing pages, categorization & adding templates. See more at it's [[User:Thunder4ik#Function|user page]]. <!-- References should be used for references, keep hyperlinks as is since it makes more sense and is easier for the reader --> || <p style="color:yellow;display:inline">Active</p> (intermittently) | ||
|- | |- | ||
|{{u|PeeBot}} || {{u|Pee}} || {{DotNetWikiBot|4.1}} || Fixing redirects, updating templates, helping with template creation and possibly more. || <p style="color:red;display:inline">Inactive</p>, seemingly due to lack of motivation by owner to operate it | |{{u|PeeBot}} || {{u|Pee}} || {{DotNetWikiBot|4.1}} || Fixing redirects, updating templates, helping with template creation and possibly more. || <p style="color:red;display:inline">Inactive</p>, seemingly due to lack of motivation by owner to operate it | ||
Line 76: | Line 76: | ||
===First community bot=== | ===First community bot=== | ||
{{u|WisdomBot}} marks the inaugural creation of an automated bot within the VDC, realized by {{u|Wisdurm}}. Despite the existence of {{u|PIPEbot}} prior to this, there is no evidence to suggest that it operated autonomously or performed any specific functions{{ref|3}}. As of current time, the bot has made a number of edits, including significantly replacing the outdated {{t|entity}} and its derivatives with {{t|this is a}} on pages featuring it,{{ref|4}} as well as having begun the process of moving pages using {{t|lang}} to use {{t|multipage}}. However the bot is current not functional. While the reason for it not working is | {{u|WisdomBot}} marks the inaugural creation of an automated bot within the VDC, realized by {{u|Wisdurm}}. Despite the existence of {{u|PIPEbot}} prior to this, there is no evidence to suggest that it operated autonomously or performed any specific functions{{ref|3}}. As of current time, the bot has made a number of edits, including significantly replacing the outdated {{t|entity}} and its derivatives with {{t|this is a}} on pages featuring it,{{ref|4}} as well as having begun the process of moving pages using {{t|lang}} to use {{t|multipage}}. However the bot is current not functional. While the reason for it not working is not definitely known, it is most likely due to the bot being blocked either by Cloudflare, or the VDC servers themselves. | ||
== See also == | == See also == | ||
Line 94: | Line 94: | ||
{{ref2|cite id=3|1=[[Special:Contributions/PIPEbot|PIPEbot, lack of auto-contributions]]}} | {{ref2|cite id=3|1=[[Special:Contributions/PIPEbot|PIPEbot, lack of auto-contributions]]}} | ||
{{ref2|cite id=4|1=[[Special:Contributions/WisdomBot|WisdomBot, list of auto-contributions]]}} | {{ref2|cite id=4|1=[[Special:Contributions/WisdomBot|WisdomBot, list of auto-contributions]]}} | ||
}} | }} |
Revision as of 11:16, 13 April 2024

A user has proposed this page to be moved to Help:Automation to be finalized and properly integrated into this wiki.
Remember to check for any notes left by the tagger at this article's talk page.
This article delves into the realm of automation, exploring the usage of scripts and bots in streamlining processes and enhancing efficiency across the VDC.
Scripts
Scripts are fundamental to automation, enabling the automation of repetitive tasks and the execution of complex operations. This section will detail the types of scripts used in automation, their applications, and the programming languages most commonly employed for scripting.

The following scripts provide utility for task automation:
Entity Lists
Creating lists of entities is not difficult task; in fact, it is rather straightforward.




Issues


For
Source FGD's
The Script[1]
- Uses grep -i '^\(@solidclass\|@pointclass\|@NPCClass\)' "$1" to filter lines from the input file that start with @solidclass, @pointclass, or @NPCClass.
- Creates sections based on the prefixes extracted from the processed lines. It uses an associative array declare -A seen to keep track of prefixes that have already been processed. This ensures that each prefix corresponds to a single section.
- Uses *{{ent|$result}} to format the processed lines as wiki entries.
- The section headers are formatted as ===%s_*=== where %s is replaced with the prefix. For example, if the prefix is foo, the section header will be ===foo_*===. Each processed line is then added under the appropriate section.
- Handles unincluded lines by appending them to a separate "Unincluded" section at the end of the output file. This ensures that all lines are accounted for, even if they don't fit the criteria for the other sections.
Usage
Source-FGD-Ent-List-VDC-2.sh <input> <output>
Pages created using this script
- List of Fistful of Frags entities
- List of Heart of Evil: Source entities
- List of Grey entities
- List of Wilson Chronicles entities
For
GoldSrc FGDs
The Script[2]
- The logic is the same as the
Source script
- Uses grep -i '^\(@solidclass\|@pointclass\)' "$1" to filter lines from the input file that start with @solidclass, @pointclass, or @NPCClass.
- Uses *{{ent|$result_(GoldSrc)|alt=$result}} to format the processed lines as wiki entries.
Usage
GoldSrc-FGD-Ent-List-VDC-2.sh <input> <output>
Pages created using this script
- List of Counter-Strike: Condition Zero Deleted Scenes entities
- List of James Bond 007: Nightfire entities
- List of Paranoia entities
- List of Cry of Fear entities
Bots
Bots are automated software agents designed to perform repetitive or time-consuming tasks, often in response to certain triggers or conditions.
This is a table of bots that currently exist on this site.
Bot | Operator | Framework | Purpose | Status |
---|---|---|---|---|
VDCBot | ![]() |
N/A | A range of automated cleanup assignments. | Active (intermittently) |
PIPEbot | Mailmanmicky | ![]() |
N/A | Inactive , likely to never become active |
WisdomBot | Wisdurm | ![]() |
Updating pages using {{lang}} to use {{multipage}}, as well as other possible tasks when it becomes functional again. | Inactive due to permission problems |
Thunder4ik | Noug4at | ![]() ![]() |
Updating deprecated templates, optimizing pages, categorization & adding templates. See more at it's user page. | Active (intermittently) |
PeeBot | Pee | ![]() |
Fixing redirects, updating templates, helping with template creation and possibly more. | Inactive , seemingly due to lack of motivation by owner to operate it |
First community bot
WisdomBot marks the inaugural creation of an automated bot within the VDC, realized by Wisdurm. Despite the existence of PIPEbot prior to this, there is no evidence to suggest that it operated autonomously or performed any specific functions[3]. As of current time, the bot has made a number of edits, including significantly replacing the outdated {{entity}} and its derivatives with {{this is a}} on pages featuring it,[4] as well as having begun the process of moving pages using {{lang}} to use {{multipage}}. However the bot is current not functional. While the reason for it not working is not definitely known, it is most likely due to the bot being blocked either by Cloudflare, or the VDC servers themselves.
See also
Bots (Wikipedia)
ChatGPT (Wikipedia)
- Bot operators in the VDC (Category)
- Bot accounts on the VDC (Category)
External links
- Bot (Wikimedia)
- Bot policy (Wikimedia)
- Bots (Mediawiki)
References
References | ||||
---|---|---|---|---|
|